cwbe coordinatez:
101
63540
63542
1098481
1543750

ABSOLUT
KYBERIA
permissions
you: r,
system: public
net: yes

neurons

stats|by_visit|by_K
source
tiamat
K|my_K|given_K
last
commanders
polls

total descendants::
total children::5
4 ❤️


show[ 2 | 3] flat


no potreboval som rozbehat sftp/scp v chroote pre virtual userov, problem je v tom ze existuju 2 shelly ktore toto riesia (scponly,rssh) ale funguju takym sposobom ze v chroote potrebuju mat binarky sftp-server,scp,.. a to je u mna problem

tak som si zobral rssh, lebo sa mi pozdavalo lepsie nez scponly
chroot riesi takym sposobom, ze rssh execne rssh_chroot_helper, ktory je suid root (callnut chroot() treba z uid 0)

1. najskor som si skompiloval sftp-server a scp a pri linkovani dal -pie (gcc 3.4+ only)
pie je position independed executable (shared objekt, ktory sa da executnut, ako napr. /lib/libc.so), tym padom ho viem naloadovat cez dlopen
2. v rssh_chroot_helper v main som nahodil pred chrootom dlopen na tieto dve binarky, cez dlsym som zistil funkciu main obidvoch a ulozil do premennych
3. zmenil exec za chrootom za svoju vlastnu funkciu, ktora iba callne main uz z naloadovanej "kniznice"

no a funguje to takym sposobom ze dlopen mmapne tie binarky do pamete a po chroote su stale pristupne
v rssh.conf som jebol chroot=".", takze sa chrootne kazdy user do aktualneho adresara po prihlaseni, ktory je homedir

este jedna vec, z -shared to nepojde, neviem preco

a len tak pomimo, userov virtualnych mam v mysql, autentifikaciu v openssh som zriesil cez libku, ktory preloadujem cez LD_PRELOAD env a potom spustam sshd
pam nepouzivam, je to openssh zo slackwaru, takze stacili funkcie getpwnam, getspnam a getpwuid
najskor sa skusia zavolat povodne, ked vratia neexistujuci user, tak ceknu v sqlku
sshd po forknuti odjebe cely svoj env, takze normalnym userom to nerobi bordel v env po prihlaseni
zopar problemov robilo to scp ktore calluje rssh_chroot_helper, lebo chcelo existujuceho usera a este nieco, ale stacilo odkomentovat zo 3,4 riadky

patch na rssh_chroot_helper keby niekdo chcel tu http://websupport.sk/~stanojr/projects/stuff/rssh-2.2.3-roxor/rssh_chroot_helper.patch
pri linkovani to spicuje nieco, treba do makefile jebnut -ldl :)





000001010006354000063542010984810154375001546077
nudzo
 nudzo      09.04.2005 - 00:00:10 , level: 1, UP   NEW
Dobra finta... takymto stylom by ma to nenapadlo...
Asi by som to skor dal rovno do helpera a iba by som zmenil main() funkcie sftp a scp na cojaviem sftp_main() a scp_main()... zalinkoval to dokopy a v helperi by bolo tym padom setko potrebne... menej obstrukcii ako s dlopen a dlsym... mensia binarka a bola by iba jedna... A pokial by som potreboval nutne aj sftp a scp extra, tak iba by som spravil linky na ten helper a v jeho main() niekde na zaciatku ez chech ci je argv[0] sftp, alebo scp a podla to zavolat sftp_main() alebo scp_main()...

Comments:
1. -pie je parameter pre linker, nie gcc
2. pre gcc v tomto pripade treba davat -fpie (obdobne ako pre .so -fpic) inac mozu binakry zahadne padat... to bol asi aj ten prob, ze ti -shared neficalo...
3. LD_PRELOAD libky by mali preplacavat symboly z libc rovno... mozno este neprazdne LD_BIND_NOW treba exportnut...

000001010006354000063542010984810154375001545079
ooo
 ooo      08.04.2005 - 16:11:23 , level: 1, UP   NEW
piiicovinaaa :)))


000001010006354000063542010984810154375001545052
jakub
 jakub      08.04.2005 - 16:00:52 , level: 1, UP   NEW
ristekpa stano ,zaujimavo si to zriesil

000001010006354000063542010984810154375001544171
dominee
 dominee      08.04.2005 - 10:55:30 , level: 1, UP   NEW
prakticka vychytavka =]

000001010006354000063542010984810154375001543862
maniac
 maniac      08.04.2005 - 08:22:27 , level: 1, UP   NEW
tak akoze cool, ale nechcel by som v tomto systeme nieco upgradovat ;)