Documente Academic
Documente Profesional
Documente Cultură
Hacking Web Intelligence
Hacking Web Intelligence
Intelligence
Concepte si tehnici de
Open Source
Intelligence siWeb
Reconnaissance
Sudhanshu
Chauhan
Nutan Kumar Panda
Prefata
Era doar o alt zi la munc i, ca de obicei, trebuia s configurm nite scanri, s
validm o serie de rezultate i s efectum cteva teste manuale.Lucrasem cu echipa noastr
la cteva proiecte de teste de penetrare.Spre deosebire de multe alte job-uri, testul de
penetrare nu este plictisitor, caci sincer, cine nu gasete plcere n a gsi defecte n munca
altuia in timp ce este pltit pentru asta.Aa c urmnd procesul, am fcut puin cercetare si
am gsit nite informaii interesante despre int.Am nceput s spm mai adnc i curnd
aveam suficiente informaii pentru a compromite inta.Am terminat restul procesului i am
trimis rapoartele ctre clieni, care au fost mai mult decat fericii cu rezultatele obtinute.
Mai trziu n acea sear discutam despre testele fcute i am realizat c cea mai mare
parte a informaiei, care ne permisese sa obinem o pozitie favorabila fata de tinta a fost
defapt informatie publica.Tinta dezvaluise deja prea mult despre sine si a fost doar o
chestiune de a unii punctele.Ziua s-a sfarsit aici si aproape ca am uitat-o.Intr-o alta zi buna
lucram la alt proiect si acelasi lucru s-a intamplat din nou.
Asa ca ne-am decis sa documentam toate uneltele si tehnicile cu care eram la current si am
creat un document in comun, la care puteam amandoi sa contribuim.De fiecare data cand am
intalnit o alta metoda de a descoperii informatii publice, am adaugat-o in document.In curand
am realizat ca documentul a devenit prea lung si ca trebuia sa-l impartim in categorii sis a-l
filtram.
Cu toate ca subiectul a fost cunoscut si utilizat foarte mult in testele de penetrare si in
exercitiile echipei rosii, cu toate acestea atunci cand am incercat sa gasim o lucrare
documentara despre el, nu am gasit nimic substantial.Aici este punctul in care am inceput sa
ne gandim la convertirea documentului nostru intr-o carte.
In timpul cercetarii pe acest subiect am inteles ca este prea multa informatie publica,
care este usor accesibila.Cea mai mare parte a ei poate sa nu para foarte folositoare la prima
vedere, dar odata ce a fost colectata si corelata, poate oferi rezultate fenomenale.De
asemenea, am realizat ca nu doar in testul de penetrare este de prima importanta acolo unde
trebuie sa colectam informatii despre tinta, ci sunt multe alte profesii care folosesc aceleasi
metode, ca de exemplu reprezentantii de vanzari gasesc informatii despre potentialii client,
profesionistii in marketing colecteaza informatii relationate cu piata si competitia.Avand
aceasta in minte am incercat sa pastram modul de exprimare si cursul cartii usor de urmarit,
fara sa facem compromisuri in detaliile tehnice.Cartea progreseaza de la elementele de baza
la a invata mai mult despre uneltele cu care suntem familiarizati deja si in final catre mai
multe detalii tehnice.
CUM SA APLICI
Un desktop/laptop cu orice sistem de operare.Diferite browsere ca Firefox, Chrome,
Chromium si conexiune la internet.Cititorii vor fi asistati sa descarce si instaleze utilitare si
bazate pe cerintele capitolului.
Sudhanshu
Chauhan
Consultant Principal, Noida, India Nutan Kumar
Panda
Inginer securitatea informatiei,
Bangalore, India
Despre Autori
SUDHANSHU CHAUHAN
Sudhanshu Chauhan este un profesionist in securitatea informatiei si specialist OSINT.
A lucrat industria securitatii informatiei, anterior ca analist senior in Securitate la iVIZ si
actual ca director si consultant principal la Octogence Tech. Solutions, o consultanta de teste
de penetrare.Anterior a lucrat la Centrul National de Informatica in New Delhi dezvoltand
aplicatii pentru a preveni amenintarile.Are o BTech(CSE) de la Scoala Amithy de Inginerie si
diploma in securitatea cibernetica.A fost listat in numeroase Hall of Fame ca Adobe,
Barracuda, Yandex si Freelancer.Sudhanshu a scris de asemenea numeroase articole pe o
gama larga de subiecte inclusiv Amenintarile Cibernetice,Evaluarea Vulnerabilitatii,Honeypots si Metadata.
Multumiri
SUDHANSHU CHAUHAN
As vrea sa dedic aceasta carte familiei mele,prietenilor, si intregii comunitati de Securitate
care este atat de deschisa in impartasirea cunostintelor.Cativa oameni pe care as vrea sa-I
numesc care m-au incurajat si motivate in aceasta calatorie sunt Shubham, Chandan, Sourav
da, si in special mama mea Kanchan.
Capitolul
Fundamentele:Intelegand bazele
1
Informatia din acest capitol
Supraincarcarea informatiei
Ce este Internet-ul
Cum functioneaza
Ce este World Wide Web
Tehnologii subiacente de baza
Platforma
Introducere
Epoca informatiei.Perioada evolutiei umane in care traim cu totii.Astazi internet-ul este o
parte integrala a vietii noastre.Toti am inceput sa traim vieti duble; una este viata noastra
fizica si cealalta este cea online, unde existam ca o entitate virtuala.
In aceasta viata virtuala avem diferite nume de utilizator,alias-uri,poze de profil, si ce nu in
locuri diferite.Partajam informatia noastra intentionat si cateodata neintentionat in aceasta
lume virtuala a noastra.Daca ne intrebam pen oi insine pe cate website-uri suntem inregistrati,
cel mai probabil nu vom fii in stare sa raspundem la acea intrebare cu un numar exact.
Definitia de a fii social se schimba de la a intalni persoane online la a face hangout pe Google
si a fi online pe diferite retele de socializare.In situatia curenta se pare ca tehnologia
evolueaza atat de rapid incat avem nevoie sa tinem pasul cu ea.
Evolutia puterii de calcul este foarte rapida.De la o era a volumului limitat de date am
ajuns la vremurile in care exista un surplus de informatie.
Tehnologiile de astazi ca Big Data, calculul on Cloud sunt cuvintele sonore ale
industriei IT, ambele avand de-a face cu manipularea unor volume imense de date. Aceasta
evolutie are cu siguranta avantajele si dezavantajele sale, din punctul de vedere al extragerii
Extractia datelor care ar putea conduce catre un rezultat util este ca si cum ai cauta
acul in carul cu fan.Chiar daca cateodata informatia care ar putea juca un rol important este
prezenta libera si gratis de accesat, totusi daca nu stim cum sa o gasim in timp util sau daca se
poate mai rau ar irosi o cantitate uriasa de resurse critice.In timpul cursului acestei carti vom
avea de-a face cu utilitare practice si tehnici care nu numai ar putea sa ne ajute sa gasim
informatia in timp util ci in acelasi timp ne vor ajuta sa analizam aceasta informatie pentru o
mai buna intocmire a deciziei.Aceasta ar putea sa faca o mare diferenta pentru persoanele
care au de-a face cu informatii de acest fel ca parte a activitatii de zi cu zi, precum testerii de
penetrare, analistii de audit intern, profesionisti in informatie competitivi, etc.
Haidem sa sarim direct si sa intelegem internet-ul pe care toti il folosim de atat de
mult timp.
INTERNET-UL
Internet-ul, asa cum il stim a evoluat dintr-un proiect fondat de DARPA in cadrul
Departamentului de Aparare al US. Reteaua initiala a fost folosita pentru a conecta
universitati si laborattoare de cercetare din cadrul US. Acest fenomen s-a dezvoltat incet in
lumea intreaga si astazi a luat forma gigantei retele care ne permite sa ne conectam cu lumea
intreaga in cateva secunde.
DEFINITIE
Simplu spus, internet-ul este o retea globala a computere-lor interconectate folosind routere
dedicate si servere, care permite utilizatorilor sai finali sa acceseze datele imprastiate in toata
lumea.Aceste computere interconectate urmeaza uns et specific de reguli pentru a comunica,
ina cest caz IP-ul sau protocolul de internet pentru trasnmiterea datelor.
CUM FUNCTIONEAZA
Daca ai cumparat aceasta carte si o citesti atunci deja cunosti cum functioneaza internet-ul,
dar inca este datoria noastra sa reinprospatam niste elemente de baza, nu adanci totusi.
Precum am afirmat mai sus, internet-ul este o retea globala de cmputere interconectate si o
multime de dispozitive care in colaborare fac internet-ul sa functioneze, de exemplu, routere,
servere, switch-uri cu alte hardware precum cablurile, antenele, etc. Toate aceste dispozitive
creaza impreuna reteaua retelelor, de-a lungul careia toate transmisiile de date au loc.
Ca in orice comunicatii trebuie sa ai puncte finale, mediu si reguli.Internet-ul de
asemenea lucreaza cu aceste concepte.Punctele finale sunt precum
PC,laptop,tableta,smartphone, sau orice alt dispozitiv pe care un utilizator il foloseste.Mediile
sau nodurile sunt diferitele servere si routere dedicate conectate catre celalalt si protocoalele
sunt seturi de reguli pe care calculatoarele le urmeaza pentru a finaliza sarcini precum
Protocolul de control al transmisiei(TCP/IP).Cateva din modurile de transmitere a datelor
sunt cablurile telefonice, fibra optica, undele radio, etc.
DIFERENTE FUNDAMENTALE
Pentru cei mai multi dintre noi WEB este sinonim cu Internet, insa cu toate ca contribuie la
internet este inca o parte a acestuia.Inernet-ul este clasa parinte a WWW. In WEB, informatia
si documentele sunt unite de Locatorul(detectorul) de Resurse Unificate (URL-Uniform
Resource Locator) al website-ului si de hiperlink-uri.Ele sunt accesate de browser-ul oricarui
dispozitiv final precum PC, smartphone intrebuintand protocolul de transfer hypertext (http)
si mai recent folosind in general https. HTTP este unul dintre diferitele protocoale care sunt
utilizate pe internet de pilda protocolul de transfer al fisierelor (FTP), protocolul de transfer al
mail-urilor simple (SMTP), etc. care vor fi prezentate mai tarziu.
Asa ca acum intrucat intelegem elementele fundamentale ale internetului si web,
putem trece mai departe si sa invatam cate ceva despre terminologiile/tehnologiile de baza pe
care le vom folosi frecvent in cuprinsul acestei carti.
este adresa virtuala a unui computer sau dispozitiv de retea care identifica in mod unic acel
dispozitiv intr-o retea. Daca dispozitivul tau este conectat la o retea putem afla usor adresa sa
IP. In cazul utilizatorului Windows aceasta se poate face simplu deschizand teminalul de
comanda ( CMD) si tastand o comanda ipconfig. Este aproape la fel pentru un utilizator de
Linux sau Mac. Trebuie sa deschidem terminalul si sa tastam ipconfig pentru a afla adresa
IP asociata sistemului.
Adresa IP mai este cunoscuta ca adresa logica si nu este permanenta. Schema de
adresa IP cea mai populara este IPv4, desi noua versiune IPv6 in curand o va ajunge din
urma. Este reprezentata in numere zecimale despartite prin punct. De exemplu,
192.168.0.1. Incepe de la 0.0.0.0 pana la 255.255.255.255. Cand incercam sa aflam adresa
IP asociata sistemului nostru folosind oricare din metodele mentionate mai sus, atunci vom
recunoaste ca adresa va fi in gama amintita mai sus.
In linii mari adresa IP este de doua feluri
1. Adresa IP privata
2. Adresa IP publica
Adresa IP privata este ceva care este folosit pentru a identifica in mod unic un
dispozitiv in interiorul unei retele locale (de proximitate), hai sa spunem cum este
sistemul nostru unic in biroul nostru intre alte sisteme.
Exista seturi de adrese IP care sunt folosite doar pentru adresarea Ip privata:
10.0.0.0-10.255.255.255
172.16.0.0-172.31.255.255
192.168.0.0-192.168.255.255
Procedura mentionata mai sus poate fii folosita pentru a verifica adresa noastra IP.
Adresa IP publica este o adresa care identifica in mod unic un sistem pe internet.
Este furnizata in general de Furnizorul de servicii Internet (ISP-Internet Service Provider).
Putem verifa aceasta doar cand sistemul nostru este conectat la internet. Adresa poate fii
oricare dar in afara gamei de adrese IP private. Putem sa verificam asta in sistemul nostru (in
orice OS) navigand la whatismyipadress.com.
PORTUL
Cu totii suntem in cunostinta de porturi precum portul USB, portul audio, etc. dar aici nu
vorbim despre porturile hardware (fizice), ci despre portul logic. Simplu spus, porturile pot fi
definite ca un punct de comunicare. Mai devreme am discutat cum adresa IP identifica in
mod unic un sistem intr-o retea iar cand un numar de port este adaugat adresei IP atunci
completeaza adresa de destinatie pentru a comunica cu sistemul ce are adresa de destinatie IP
folosind protocolul asociat cu numarul de port furnizat. Vom vorbi in curand despre protocol,
dar pentru moment haide sa presupunem ca acesta este un set de reguli urmate de toate partile
aflate in comunicare pentru schimbul de date. Sa presupunem ca un website ruleaza pe un
sistem cu adresa IP 192.168.0.2 si vrem sa comunicam cu acel server de pe alt sistem
conectat in aceeasi retea cu adresa IP 192.168.0.3. Asa ca trebuie doar sa deschidem
browser-ul si sa tastam 192.168.0.2:80 unde 80 este numarul de port folosit pentru
comunicare care este asociat in general cu protocolul http.Porturile sunt in general specifice
aplicatiei sau procesului. Numerele de port sunt in gama:
0-65535
PROTOCOLUL
Protocolul este un set standard de reglementari si cerinte folosit intr-o comunicare intre
sistemul sursa si destinatar. Acesta specifica cum se conecteaza si se schimba datele intre
unul si altul. Simplu definit, acesta este un set de reguli urmate pentru comunicarea intre
doua entitati printr-un mediu.
Cateva protocoale populare si numerele de porturi asociate acestora:
ADRESA MAC
Adresa MAC este cunoscuta de asemenea ca adresa fizica. Adresa MAC sau media access
control adress (adresa de control de acces media) este o valoare unica alocata interfetei de
retea de catre producator.
Interfata de retea este interfata folosita pentru a conecta cablul de retea. Este reprezentata de
un numar hexadecimal. De exemplu, 00:A2:BA:C1:2B:1C. Unde primele trei seturi a
caracterului hexadecimal este numarul producatorului si restul este numarul de serie.Acum
haidem sa aflam adresa MAC a sistemului nostru.
In cazul utilizatorului Windows putem face asta simplu deschizand terminalul de comanda si
tastand fie comanda ipconfig/all sau getmac. Este aproape la fel pentru un utilizator
Linux si Mac. Trebuie sa deschidem terminalul si sa introducem ipconfig-a pentru a gasi
adresa MAC asociata sistemului. Acum haide sa notam adresa MAC/fizica a interfetei de
retea a sistemului nostru si sa aflam numele producatorului. Cauta pentru primele trei seturi
ale carcterului hexadecimal in Google pentru a obtine numele producatorului.
E-MAIL
E-mail este abrevierea scrisorii electronice, una dintre cele mai larg folosite tehnologii pentru
comunicatia digitala. Este o solutie de doar un click pentru transmiterea mesajului digital de
la emitator la destinatar. O structura generala a adresei email este numeutilizator@domainname.com.Prima parte care vine inainte de simbolul @ este numele de
utilizator al oricarui user care s-a inregistrat pentru a folosi acel serviciu de email.
Unul dintre celelalte clase populare de sufix este domeniul de nivel inalt cod de tara
(ccTLD). Cateva exemple sunt:
in:India
us:United States
uk:United Kingdom
DNS este o parte integrala a internet-ului deoarece se comporta ca paginile aurii pentru el.
Trebuie doar sa ne amintim numele resursei si DNS il va transpune intr-o adresa virtuala care
poate fii accesata cu usurinta pe internet. De exemplu Google.com transpune catre adresa IP
74.125.236.137 pentru o regiune anume pe internet.
URL
Un URL sau uniform resource locator (localizator uniform de resurse) poate fi facil inteles ca
o adresa folosita pentru a accesa resursele WEB. Este in esenta o adresa WEB.
De exemplu, http://www.example.com/test.jpg. Aceasta poate fii impartita in cinci
parti, care sunt:
1.
2.
3.
4.
5.
http
www
example
com
/test.jpg
Prima parte precizeaza protocolul folosit pentru comunicatie, si ina cest caz este
HTTP. Dar pentru alte cazuri pot fi folosite alte protocoale precum https sau ftp.
A doua parte este folosita pentru a specifica daca URL-ul este folosit pentru domeniul
principal sau pentru un subdomeniu. WWW este folosit in general pentru domeniul
principal, cateva subdomenii populare fiind blog,mail,career, etc. A treia si a patra
parte sunt asociate cu numele domeniului si tipul numelui domeniului peste care am
trecut in subcapitolul DNS. Ultima parte specifica un fisier test.jpg care trebuie sa
fie accesat.
SERVER
Un server este un program-masina care furnizeaza un anumit tip de serviciu catre alte programe. Aceste programe, cunoscute ca si clienti pot sa ruleze pe acelasi sistem sau in aceeasi
retea. Exista o multime de tipuri de servere si au diferite cerinte hardware depinzand de
factori ca numarul de clienti,latimea de banda, etc.Cateva dintre felurile de servere sunt:
Web server: Folosit pentru a administra website-uri.
E-mail server: Folosit pentru a gazdui si administra e-mail-uri
File server: Folosit pentru a gazdui si gestiona distributia de fisiere
alte portaluri inchise (necesita logare). Unele motoare de cautare colecteaza de asemenea
rezultate din numeroase alte motoare de cautare si le pun la dispozitie intr-o singura interfata.
BROWSER WEB
Un browser web este o aplicatie pe partea clientului care asigura userului final capabilitatea
de a interactiona cu web-ul. Un browser contine o bara de adresa, unde user-ul trebuie sa
introduca adresa web (URL), aceasta cerere este trimisa mai departe la serverul de destinatie
si continutul este afisat in interiorul interfetei browser-ului. Raspunsul pentru cererea trimisa
de client se compune din date neprelucrate cu formatul asociat pentru acestea.
Browser-ele anterioare au avut functionalitate limitata, dar in zilele noastre cu
numeroase caracteristici precum descarcarea continutului, insemnarea resurselor (semne de
carte), salvarea credentialelor, etc. si noi add-on-uri ce apar in fiecare zi, browser-ele devin
foarte puternice.Aparitia aplicatiilor bazate pe cloud deasemnea a contribuit enorm in a face
browser-ele cele mai considerabil folosite software.
VIRTUALIZAREA
Virtualizarea poate fii definita ca tehnica abstractizarii resurselor fizice, cu scopul simplificarii si utilizarii cu usurinta a resurselor. Se poate compune din orice de la o platforma
hardware pana la un dispozitiv de stocare sau OS, etc. Cateva din clasificarile virtualizarii
sunt:
Hardware/platforma: Crearea unei masini virtuale care lucreaza ca un computer
original cu un sistem de operare. Masina pe care are loc virtualizarea este masina
gazda si masina virtuala este masina oaspete.
Desktop: Conceptul separarii desktopului logic de pe masina fizica. User-ul
interactioneaza cu masina gazda printr-o retea folosind un alt dispozitiv.
Software: Virtualizarea la nivel de OS poate fi definita gazduirea multiplelor medii
de virtualizare in cadrul unei singure instante OS. Virtualizarea aplicatie este gazduirea aplicatiilor individuale intr-un mediu separat de OS-ul de baza. In virtualizarea
serviciilor comportarea componentei dependenta de sistem este imitata.
Network: Crearea unui spatiu de adresare virtualizat de retea in sau de-a lungul
subretelelor de internet.
In paragraful care contine detalii despre DNS am explicat deja ca acesta este folosit
pentru a transpune numele de domeniu intr-o adresa IP dar cum mai exact? Depinde daca
vizitam un site pentru prima oara sau vizitam des acest site. Dar totusi pentru ambele cazuri
procedura ramane aproape aceeasi. Prima cautare DNS incepe cu cu cache-ul browser-ului
pentru a verifica daca exista niste stocari sau nu sau verifica daca fie am vizitat acest site mai
devreme sau este prima oara. Daca cache-ul browser-ului nu contine nicio informatie
browser-ul face un apel de sistem pentru a verifica daca sistemul are vreun record in cahe-ul
sau sau nu. In mod similar daca nu este gasit atunci cauta aceasi informatie DNS in cache-ul
router-ului daca nu este gasit cache-ul DNS al ISP-ului (furnizorului de internet) iar in final
daca nu gaseste nici-un record DNS in aceste locuri incepe o cautare recursiva de la serverul
nume de radacina pana la serverele TLDs pentru a transforma numele de domeniu. Lucrul la
care trebuie sa ne gandim este ca unele nume de domeniu sunt asociate cu mai multe adrese
IP de exemplu google.com. In acel caz se intoarce doar cu o singura adresa IP bazata pe
locatia geografica a user-ului care a intentionat sa foloseasca acea resursa. Tehnica mai este
cunoscuta ca DNS geographic.
Figura 1.1
Navigarea web-in spatele cortinei