External Recon Methodology

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Ako ste zainteresovani za karijeru hakovanja i hakovanje onoga što se ne može hakovati - mi zapošljavamo! (potrebno je tečno poznavanje poljskog jezika, kako pisano tako i govorno).

Otkriće resursa

Rečeno vam je da sve što pripada nekoj kompaniji spada u opseg, i želite da saznate šta ta kompanija zapravo poseduje.

Cilj ove faze je da se dobiju svi resursi koje poseduje glavna kompanija i zatim svi resursi ovih kompanija. Da bismo to postigli, koristićemo sledeće korake:

  1. Pronaći akvizicije glavne kompanije, što će nam dati kompanije u opsegu.

  2. Pronaći ASN (ako postoji) svake kompanije, što će nam dati IP opsege koje poseduje svaka kompanija.

  3. Koristiti pretrage obrnutog whois-a da bismo pronašli druge unose (nazive organizacija, domene...) povezane sa prvom (ovo se može raditi rekurzivno).

  4. Koristiti druge tehnike poput shodan org i ssl filtera da bismo pronašli druge resurse (trič za ssl se može raditi rekurzivno).

Akvizicije

Prvo što treba da znamo je koje druge kompanije poseduje glavna kompanija. Jedna opcija je posetiti https://www.crunchbase.com/, pretražiti glavnu kompaniju, i kliknuti na "akvizicije". Tamo ćete videti druge kompanije koje je stekla glavna kompanija. Druga opcija je posetiti Vikipedijinu stranicu glavne kompanije i pretražiti akvizicije.

Ok, u ovom trenutku trebalo bi da znate sve kompanije u opsegu. Hajde da saznamo kako da pronađemo njihove resurse.

ASN-ovi

Autonomni sistemski broj (ASN) je jedinstveni broj dodeljen autonomnom sistemu (AS) od strane Internet Assigned Numbers Authority (IANA). AS se sastoji od blokova IP adresa koji imaju jasno definisanu politiku za pristupanje spoljnim mrežama i upravlja ih jedna organizacija, ali može biti sastavljen od više operatera.

Interesantno je saznati da li kompanija ima dodeljen ASN kako bismo pronašli njene IP opsege. Bilo bi korisno izvršiti test ranjivosti protiv svih hostova unutar opsega i tražiti domene unutar ovih IP-ova. Možete pretraživati po imenu kompanije, po IP adresi ili po domenu na https://bgp.he.net/. Zavisno o regionu kompanije, ovi linkovi mogu biti korisni za prikupljanje više podataka: AFRINIC (Afrika), Arin(Severna Amerika), APNIC (Azija), LACNIC (Latinska Amerika), RIPE NCC (Evropa). U svakom slučaju, verovatno su svi korisni podaci (IP opsezi i Whois) već dostupni na prvom linku.

#You can try "automate" this with amass, but it's not very recommended
amass intel -org tesla
amass intel -asn 8911,50313,394161

Takođe, BBOT-ova enumeracija poddomena automatski agregira i sumira ASN-ove na kraju skeniranja.

bbot -t tesla.com -f subdomain-enum
...
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS394161 | 8.244.131.0/24      | 5            | TESLA          | Tesla Motors, Inc.         | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS16509  | 54.148.0.0/15       | 4            | AMAZON-02      | Amazon.com, Inc.           | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS394161 | 8.45.124.0/24       | 3            | TESLA          | Tesla Motors, Inc.         | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS3356   | 8.32.0.0/12         | 1            | LEVEL3         | Level 3 Parent, LLC        | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS3356   | 8.0.0.0/9           | 1            | LEVEL3         | Level 3 Parent, LLC        | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+

Možete pronaći IP opsege organizacije takođe koristeći http://asnlookup.com/ (ima besplatan API). Možete pronaći IP i ASN domena koristeći http://ipv4info.com/.

Traženje ranjivosti

U ovom trenutku znamo sve resurse unutar opsega, pa ako vam je dozvoljeno, možete pokrenuti neki skener ranjivosti (Nessus, OpenVAS) na svim hostovima. Takođe, možete pokrenuti neke skenove portova ili koristiti servise kao što je shodan da pronađete otvorene portove i, u zavisnosti od onoga što pronađete, trebalo bi da pogledate u ovoj knjizi kako da pentestirate nekoliko mogućih servisa koji se izvršavaju. Takođe, vredno je pomenuti da možete pripremiti neke liste podrazumevanih korisničkih imena i lozinki i pokušati da probijete servise sa https://github.com/x90skysn3k/brutespray.

Domeni

Znamo sve kompanije unutar opsega i njihove resurse, vreme je da pronađemo domene unutar opsega.

Molimo, imajte na umu da u sledećim predloženim tehnikama takođe možete pronaći poddomene i te informacije ne bi trebalo potcenjivati.

Prvo biste trebali potražiti glavni domen(e) svake kompanije. Na primer, za Tesla Inc. biće tesla.com.

Obrnuti DNS

Kada ste pronašli sve IP opsege domena, možete pokušati da izvršite obrnute DNS upite na tim IP-ovima kako biste pronašli više domena unutar opsega. Pokušajte da koristite neki DNS server žrtve ili neki dobro poznati DNS server (1.1.1.1, 8.8.8.8)

dnsrecon -r <DNS Range> -n <IP_DNS>   #DNS reverse of all of the addresses
dnsrecon -d facebook.com -r 157.240.221.35/24 #Using facebooks dns
dnsrecon -r 157.240.221.35/24 -n 1.1.1.1 #Using cloudflares dns
dnsrecon -r 157.240.221.35/24 -n 8.8.8.8 #Using google dns

Obrnuti Whois (petlja)

Unutar whois informacija možete pronaći mnogo zanimljivih podataka poput imenа organizacije, adrese, emailova, brojeva telefona... Ali ono što je još interesantnije je da možete pronaći više resursa povezanih sa kompanijom ako izvršite obrnute whois pretrage po bilo kojem od tih polja (na primer, drugi whois registri gde se isti email pojavljuje). Možete koristiti online alate poput:

Možete automatizovati ovaj zadatak koristeći DomLink (zahteva whoxy API ključ). Takođe možete izvršiti automatsko otkrivanje obrnutog whois-a sa amass: amass intel -d tesla.com -whois

Imajte na umu da možete koristiti ovu tehniku da otkrijete više imena domena svaki put kada pronađete novi domen.

Pratitelji (Trackers)

Ako pronađete isti ID istog pratitelja na 2 različite stranice, možete pretpostaviti da obe stranice upravlja isti tim. Na primer, ako vidite isti Google Analytics ID ili isti Adsense ID na nekoliko stranica.

Postoje neke stranice i alati koji vam omogućavaju pretragu po ovim pratiteljima i više:

Favicon

Da li ste znali da možemo pronaći povezane domene i pod-domenove našeg cilja tražeći isti hash ikone favicona? To je upravo ono što alat favihash.py napravljen od strane @m4ll0k2 radi. Evo kako ga koristiti:

cat my_targets.txt | xargs -I %% bash -c 'echo "http://%%/favicon.ico"' > targets.txt
python3 favihash.py -f https://target/favicon.ico -t targets.txt -s

Jednostavno rečeno, favihash će nam omogućiti da otkrijemo domene koje imaju isti heš ikone favicon-a kao naš cilj.

Osim toga, možete takođe pretraživati tehnologije koristeći heš favicon-a kako je objašnjeno u ovom blog postu. To znači da ako znate heš favicon-a ranjive verzije web tehnologije možete pretražiti u shodanu i pronaći više ranjivih mesta:

shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}'

Evo kako možete izračunati heš favicon-a veb stranice:

import mmh3
import requests
import codecs

def fav_hash(url):
response = requests.get(url)
favicon = codecs.encode(response.content,"base64")
fhash = mmh3.hash(favicon)
print(f"{url} : {fhash}")
return fhash

Autorsko pravo / Jedinstveni niz

Pretražite unutar web stranica nizove koji bi mogli biti deljeni između različitih veb lokacija u istoj organizaciji. Niska autorskog prava mogla bi biti dobar primer. Zatim pretražite tu nisku na google-u, u drugim pregledačima ili čak na shodan-u: shodan search http.html:"Niska autorskog prava"

CRT vreme

Uobičajeno je imati cron posao kao što je

# /etc/crontab
37 13 */10 * * certbot renew --post-hook "systemctl reload nginx"

Obnova sertifikata domena

Morate obnoviti sve sertifikate domena na serveru. To znači da čak i ako CA koji se koristi za ovo ne postavlja vreme kada je generisan u Vremenu važnosti, moguće je pronaći domene koje pripadaju istoj kompaniji u logovima transparentnosti sertifikata. Pogledajte ovaj članak za više informacija.

Informacije o DMARC pošti

Možete koristiti veb stranicu poput https://dmarc.live/info/google.com ili alat poput https://github.com/Tedixx/dmarc-subdomains da pronađete domene i poddomene koje dele iste DMARC informacije.

Pasivno preuzimanje

Čini se da je uobičajeno da ljudi dodeljuju poddomene IP adresama koje pripadaju provajderima oblaka i u nekom trenutku izgube tu IP adresu ali zaborave da uklone DNS zapis. Stoga, samo pokretanje virtuelne mašine u oblaku (poput Digital Ocean) zapravo će značiti preuzimanje nekih poddomena.

Ovaj post objašnjava priču o tome i predlaže skriptu koja pokreće virtuelnu mašinu u DigitalOcean-u, dobija IPv4 nove mašine, i traži u Virustotal-u zapise o poddomenima koji na nju pokazuju.

Drugi načini

Imajte na umu da možete koristiti ovu tehniku da otkrijete više imena domena svaki put kada pronađete novi domen.

Shodan

Kako već znate ime organizacije koja poseduje IP prostor, možete pretražiti te podatke u Shodan-u koristeći: org:"Tesla, Inc." Proverite pronađene hostove za nove neočekivane domene u TLS sertifikatu.

Mogli biste pristupiti TLS sertifikatu glavne veb stranice, dobiti ime organizacije i zatim tražiti to ime unutar TLS sertifikata svih veb stranica poznatih od strane Shodan-a sa filterom: ssl:"Tesla Motors" ili koristiti alat poput sslsearch.

Assetfinder

Assetfinder je alat koji traži domene povezane sa glavnim domenom i poddomene od njih, prilično neverovatan.

Traženje ranjivosti

Proverite da li postoji preuzimanje domena. Možda neka kompanija koristi neki domen ali su izgubili vlasništvo. Samo ga registrujte (ako je dovoljno jeftino) i obavestite kompaniju.

Ako pronađete bilo koji domen sa drugačijom IP adresom od onih koje ste već pronašli u otkrivanju resursa, trebalo bi da izvršite osnovno skeniranje ranjivosti (koristeći Nessus ili OpenVAS) i neko skeniranje portova sa nmap/masscan/shodan. Zavisno od toga koje usluge se izvršavaju, možete pronaći u ovoj knjizi neke trikove za "napad" na njih. Napomena da se ponekad domen nalazi unutar IP adrese koja nije pod kontrolom klijenta, pa nije u opsegu, budite oprezni.

Poddomeni

Znamo sve kompanije unutar opsega, sve resurse svake kompanije i sve domene povezane sa kompanijama.

Vreme je da pronađemo sve moguće poddomene svakog pronađenog domena.

Imajte na umu da neki od alata i tehnika za pronalaženje domena takođe mogu pomoći u pronalaženju poddomena!

DNS

Pokušajmo da dobijemo poddomene iz DNS zapisa. Takođe bismo trebali pokušati za Zone Transfer (Ako je ranjiv, trebalo bi da prijavite).

dnsrecon -a -d tesla.com

OSINT

Najbrži način da dobijete mnogo poddomena je pretraga u eksternim izvorima. Najkorišćeniji alati su sledeći (za bolje rezultate konfigurišite API ključeve):

# subdomains
bbot -t tesla.com -f subdomain-enum

# subdomains (passive only)
bbot -t tesla.com -f subdomain-enum -rf passive

# subdomains + port scan + web screenshots
bbot -t tesla.com -f subdomain-enum -m naabu gowitness -n my_scan -o .
amass enum [-active] [-ip] -d tesla.com
amass enum -d tesla.com | grep tesla.com # To just list subdomains
# Subfinder, use -silent to only have subdomains in the output
./subfinder-linux-amd64 -d tesla.com [-silent]
# findomain, use -silent to only have subdomains in the output
./findomain-linux -t tesla.com [--quiet]
python3 oneforall.py --target tesla.com [--dns False] [--req False] [--brute False] run
assetfinder --subs-only <domain>
# It requires that you create a sudomy.api file with API keys
sudomy -d tesla.com
vita -d tesla.com
theHarvester -d tesla.com -b "anubis, baidu, bing, binaryedge, bingapi, bufferoverun, censys, certspotter, crtsh, dnsdumpster, duckduckgo, fullhunt, github-code, google, hackertarget, hunter, intelx, linkedin, linkedin_links, n45ht, omnisint, otx, pentesttools, projectdiscovery, qwant, rapiddns, rocketreach, securityTrails, spyse, sublist3r, threatcrowd, threatminer, trello, twitter, urlscan, virustotal, yahoo, zoomeye"

Postoje drugi zanimljivi alati/API-ji koji, čak i ako nisu direktno specijalizovani za pronalaženje poddomena, mogu biti korisni za pronalaženje poddomena, kao što su:

# Get list of subdomains in output from the API
## This is the API the crobat tool will use
curl https://sonar.omnisint.io/subdomains/tesla.com | jq -r ".[]"
curl https://jldc.me/anubis/subdomains/tesla.com | jq -r ".[]"
# Get Domains from rapiddns free API
rapiddns(){
curl -s "https://rapiddns.io/subdomain/$1?full=1" \
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
| sort -u
}
rapiddns tesla.com
# Get Domains from crt free API
crt(){
curl -s "https://crt.sh/?q=%25.$1" \
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
| sort -u
}
crt tesla.com
  • gau: prikuplja poznate URL adrese sa AlienVault-ove Open Threat Exchange, Wayback Machine-a i Common Crawl-a za bilo koji dati domen.

# Get subdomains from GAUs found URLs
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
# Get only subdomains from SubDomainizer
python3 SubDomainizer.py -u https://tesla.com | grep tesla.com

# Get only subdomains from subscraper, this already perform recursion over the found results
python subscraper.py -u tesla.com | grep tesla.com | cut -d " " -f
# Get info about the domain
shodan domain <domain>
# Get other pages with links to subdomains
shodan search "http.html:help.domain.com"
export CENSYS_API_ID=...
export CENSYS_API_SECRET=...
python3 censys-subdomain-finder.py tesla.com
python3 DomainTrail.py -d example.com

Ovaj projekat nudi besplatno sve poddomene vezane za programe bug-bounty-a. Možete pristupiti ovim podacima koristeći i chaospy ili pristupiti opsegu korišćenom od strane ovog projekta https://github.com/projectdiscovery/chaos-public-program-list

Možete pronaći poređenje mnogih ovih alata ovde: https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off

DNS Brute force

Pokušajmo da pronađemo nove poddomene grubom silom napadajući DNS servere koristeći moguća imena poddomena.

Za ovu akciju će vam biti potrebne neke uobičajene liste reči za poddomene kao što su:

Takođe, IP adrese dobrih DNS resolvera. Da biste generisali listu pouzdanih DNS resolvera, možete preuzeti resolvere sa https://public-dns.info/nameservers-all.txt i koristiti dnsvalidator da ih filtrirate. Ili možete koristiti: https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt

Najpreporučeniji alati za DNS grubu silu su:

  • massdns: Ovo je prvi alat koji je izveo efikasnu DNS grubu silu. Veoma je brz, međutim sklon je lažnim pozitivima.

sed 's/$/.domain.com/' subdomains.txt > bf-subdomains.txt
./massdns -r resolvers.txt -w /tmp/results.txt bf-subdomains.txt
grep -E "tesla.com. [0-9]+ IN A .+" /tmp/results.txt
  • gobuster: Mislim da ovaj koristi samo 1 rešavač

gobuster dns -d mysite.com -t 50 -w subdomains.txt
  • shuffledns je omotač oko massdns, napisan u go-u, koji vam omogućava da nabrojite validne poddomene korišćenjem aktivnog brute force-a, kao i da rešavate poddomene sa rukovanjem sa džokerima i podrškom za jednostavan unos i izlaz.

shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
puredns bruteforce all.txt domain.com
  • aiodnsbrute koristi asyncio za brute force napade na domenska imena asinhrono.

aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com

Druga runda Brute-Force napada na DNS

Nakon što ste pronašli poddomene korišćenjem otvorenih izvora i brute-force tehnike, možete generisati varijacije pronađenih poddomena kako biste pokušali pronaći još više. Za tu svrhu korisni su neki alati:

  • dnsgen: Na osnovu domena i poddomena generiše permutacije.

cat subdomains.txt | dnsgen -
  • goaltdns: Dati domeni i poddomeni generišu permutacije.

  • Možete dobiti goaltdns permutacije wordlist ovde.

goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
  • gotator: Dati domeni i poddomeni generišu permutacije. Ako nije naznačena datoteka permutacija, gotator će koristiti svoju.

gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
  • altdns: Pored generisanja permutacija poddomena, takođe može pokušati da ih reši (ali je bolje koristiti prethodno komentarisane alate).

  • Možete preuzeti altdns permutacije wordlist ovde.

altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
  • dmut: Još jedan alat za izvođenje permutacija, mutacija i izmena poddomena. Ovaj alat će grubom silom dobiti rezultat (ne podržava dns wildcard).

  • Možete preuzeti dmut permutacije rečnika reči ovde.

cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
  • alterx: Zasnovan na domenu, generiše nove potencijalne poddomene na osnovu naznačenih obrazaca kako bi pokušao da otkrije više poddomena.

Pametna generacija permutacija

  • regulator: Za više informacija pročitajte ovaj post ali će u osnovi uzeti glavne delove otkrivenih poddomena i mešati ih kako bi pronašao više poddomena.

python3 main.py adobe.com adobe adobe.rules
make_brute_list.sh adobe.rules adobe.brute
puredns resolve adobe.brute --write adobe.valid
  • subzuf: subzuf je fuzzer za grubu silu poddomena uparen sa izuzetno jednostalnim, ali efikasnim algoritmom vođenim odgovorima DNS-a. Koristi pruženi set ulaznih podataka, poput prilagođene liste reči ili istorijskih DNS/TLS zapisa, kako bi tačno sintetisao više odgovarajućih imena domena i dalje ih proširio u petlji na osnovu informacija prikupljenih tokom skeniranja DNS-a.

echo www | subzuf facebook.com

Radni tok otkrivanja poddomena

Proverite ovaj blog post koji sam napisao o tome kako automatizovati otkrivanje poddomena sa domena koristeći Trickest radne tokove tako da ne moram ručno pokretati gomilu alata na svom računaru:

VHosts / Virtuelni hostovi

Ako pronađete IP adresu koja sadrži jednu ili više veb stranica koje pripadaju poddomenima, možete pokušati pronaći druge poddomene sa veb stranicama na toj IP adresi tražeći u OSINT izvorima domene na IP adresi ili brute-force metodom proveravajući VHost domene na toj IP adresi.

OSINT

Možete pronaći neke VHostove na IP adresama koristeći HostHunter ili druge API-je.

Brute Force

Ako sumnjate da se neka poddomena može sakriti na veb serveru, možete pokušati da je brute-force metodom otkrijete:

ffuf -c -w /path/to/wordlist -u http://victim.com -H "Host: FUZZ.victim.com"

gobuster vhost -u https://mysite.com -t 50 -w subdomains.txt

wfuzz -c -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-20000.txt --hc 400,404,403 -H "Host: FUZZ.example.com" -u http://example.com -t 100

#From https://github.com/allyshka/vhostbrute
vhostbrute.py --url="example.com" --remoteip="10.1.1.15" --base="www.example.com" --vhosts="vhosts_full.list"

#https://github.com/codingo/VHostScan
VHostScan -t example.com

Pomoću ove tehnike čak možda možete pristupiti internim/skrivenim endpointima.

CORS Brute Force

Ponekad ćete pronaći stranice koje vraćaju samo zaglavlje Access-Control-Allow-Origin kada je validna domena/poddomena postavljena u zaglavlju Origin. U ovim scenarijima, možete zloupotrebiti ovu ponašanje da otkrijete nove poddomene.

ffuf -w subdomains-top1million-5000.txt -u http://10.10.10.208 -H 'Origin: http://FUZZ.crossfit.htb' -mr "Access-Control-Allow-Origin" -ignore-body

Brute Force za Buckets

Prilikom traženja poddomena obratite pažnju da li je usmeren ka nekoj vrsti bucket-a, i u tom slučaju proverite dozvole. Takođe, s obzirom da ćete u ovom trenutku znati sve domene unutar opsega, pokušajte brute force mogućih imena bucket-a i proverite dozvole.

Monitorisanje

Možete pratiti da li su novi poddomeni domena kreirani praćenjem Certificate Transparency zapisa što radi sublert .

Traženje ranjivosti

Proverite moguće preuzimanje poddomena. Ako poddomen usmerava ka nekom S3 bucket-u, proverite dozvole.

Ako pronađete bilo koji poddomen sa IP adresom različitom od onih koje ste već pronašli u otkrivanju resursa, trebalo bi da izvršite osnovno skeniranje ranjivosti (korišćenjem Nessus-a ili OpenVAS-a) i neko skeniranje portova sa nmap/masscan/shodan. Zavisno od toga koje usluge se izvršavaju, možete pronaći u ovoj knjizi neke trikove za "napad" na njih. Napomena da se ponekad poddomen nalazi na IP adresi koja nije pod kontrolom klijenta, pa nije u opsegu, budite oprezni.

IP adrese

U početnim koracima možda ste pronašli neke opsege IP adresa, domene i poddomene. Vreme je da prikupite sve IP adrese iz tih opsega i za domene/poddomene (DNS upiti).

Korišćenjem usluga sledećih besplatnih API-ja takođe možete pronaći prethodne IP adrese korišćene od strane domena i poddomena. Ove IP adrese možda i dalje pripadaju klijentu (i možda vam omoguće da pronađete CloudFlare zaobilaze)

Takođe možete proveriti domene koje usmeravaju ka određenoj IP adresi korišćenjem alata hakip2host

Traženje ranjivosti

Skenirajte portove svih IP adresa koje ne pripadaju CDN-ovima (jer verovatno nećete pronaći ništa zanimljivo tamo). U otkrivenim pokrenutim uslugama možda ćete biti u mogućnosti da pronađete ranjivosti.

Pronađite vodič o tome kako skenirati hostove.

Lov na web servere

Pronašli smo sve kompanije i njihove resurse i znamo opsege IP adresa, domene i poddomene unutar opsega. Vreme je da tražimo web servere.

U prethodnim koracima verovatno ste već izvršili neku rekognosciranje otkrivenih IP adresa i domena, tako da možda već imate pronašli sve moguće web servere. Međutim, ako niste, sada ćemo videti neke brze trikove za traženje web servera unutar opsega.

Molimo vas, imajte na umu da će ovo biti usmereno na otkrivanje web aplikacija, pa biste trebali takođe izvršiti skeniranje ranjivosti i portova takođe (ako je dozvoljeno u opsegu).

Brz metod za otkrivanje otvorenih portova vezanih za web servere korišćenjem masscan možete pronaći ovde. Još jedan prijateljski alat za traženje web servera je httprobe, fprobe i httpx. Jednostavno prosledite listu domena i pokušaće da se poveže na port 80 (http) i 443 (https). Dodatno, možete naznačiti da pokuša i druge portove:

cat /tmp/domains.txt | httprobe #Test all domains inside the file for port 80 and 443
cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 and 8080 and 8443

Screenshots

Sada kada ste otkrili sve veb servere prisutne u opsegu (među IP adresama kompanije i svim domenima i poddomenima) verovatno ne znate odakle da počnete. Dakle, hajde da to učinimo jednostavnim i počnemo tako što ćemo napraviti snimke ekrana svih njih. Samo pogledom na glavnu stranicu možete pronaći čudne krajnje tačke koje su više sklone da budu ranjive.

Da biste sproveli predloženu ideju, možete koristiti EyeWitness, HttpScreenshot, Aquatone, Shutter, Gowitness ili webscreenshot.

Osim toga, zatim možete koristiti eyeballer da pregledate sve snimke ekrana i da vam kaže šta je verovatno da sadrži ranjivosti, a šta ne.

Javna Cloud Sredstva

Da biste pronašli potencijalna cloud sredstva koja pripadaju kompaniji, trebalo bi da počnete sa listom ključnih reči koje identifikuju tu kompaniju. Na primer, za kripto kompaniju možete koristiti reči kao što su: "kripto", "novčanik", "dao", "<ime_domena>", <"imeni_poddomena">.

Takođe će vam biti potrebne liste reči koje se često koriste u bucketima:

Zatim, sa tim rečima trebalo bi da generišete permutacije (proverite Drugo kolo DNS Brute-Force za više informacija).

Sa rezultirajućim listama reči možete koristiti alate kao što su cloud_enum, CloudScraper, cloudlist ili S3Scanner.

Zapamtite da prilikom traženja Cloud Sredstava treba tražiti više od samo bucketa u AWS.

Traženje ranjivosti

Ako pronađete stvari poput otvorenih bucketa ili izloženih cloud funkcija, trebalo bi da im pristupite i pokušate da vidite šta vam nude i da li ih možete zloupotrebiti.

Emailovi

Sa domenima i poddomenima unutar opsega, praktično imate sve što vam je potrebno da počnete tražiti emailove. Ovo su API-ji i alati koji su najbolje funkcionisali za mene u pronalaženju emailova kompanije:

Traženje ranjivosti

Emailovi će vam kasnije dobro doći za bruteforce web prijava i autentikacione servise (kao što je SSH). Takođe su potrebni za phishing. Osim toga, ovi API-ji će vam pružiti još više informacija o osobi iza emaila, što je korisno za kampanju phishinga.

Procurele Poverljive Informacije

Sa domenima, poddomenima i emailovima možete početi tražiti procurele poverljive informacije iz prošlosti koje pripadaju tim emailovima:

Traženje ranjivosti

Ako pronađete validne procurele poverljivih informacija, to je veoma laka pobeda.

Procurele Tajne

Procurele poverljive informacije su povezane sa hakovanjem kompanija gde su poverljive informacije procurene i prodate. Međutim, kompanije bi mogle biti pogođene i drugim procurama čije informacije nisu u tim bazama podataka:

Github Procure

Poverljive informacije i API-ji mogu biti procureni u javnom repozitorijumu kompanije ili korisnika koji rade za tu github kompaniju. Možete koristiti alat Leakos da preuzmete sve javne repozitorijume organizacije i njenih razvijalaca i automatski pokrenete gitleaks nad njima.

Leakos takođe može biti korišćen da pokrene gitleaks nad svim tekstualnim URL-ovima koje mu prosledite jer ponekad veb stranice takođe sadrže tajne.

Github Dorks

Takođe proverite ovu stranicu za potencijalne github dorks koje takođe možete tražiti u organizaciji koju napadate:

pageGithub Dorks & Leaks

Paste Procure

Ponekad napadači ili samo radnici će objaviti sadržaj kompanije na sajtu za paste. To može ili ne mora sadržati poverljive informacije, ali je veoma zanimljivo tražiti ih. Možete koristiti alat Pastos da pretražujete više od 80 sajtova za paste istovremeno.

Google Dorks

Stari, ali zlatni google dorks uvek su korisni za pronalaženje izloženih informacija koje ne bi trebalo da budu tamo. Jedini problem je što google-hacking-database sadrži nekoliko hiljada mogućih upita koje ne možete pokrenuti ručno. Dakle, možete odabrati svojih 10 omiljenih ili možete koristiti alat kao što je Gorks da ih pokrenete sve.

Napomena da alati koji očekuju da pokrenu celu bazu podataka koristeći obični Google pretraživač nikada neće završiti jer će vas Google vrlo brzo blokirati.

Traženje ranjivosti

Ako pronađete validne procurele poverljivih informacija ili API tokena, to je veoma laka pobeda.

Ranjivosti Javnog Koda

Ako ste otkrili da kompanija ima otvoren kod, možete ga analizirati i tražiti ranjivosti na njemu.

Zavisno o jeziku, postoje različiti alati koje možete koristiti:

pageSource code Review / SAST Tools

Postoje i besplatne usluge koje vam omogućavaju da skenirate javne repozitorijume, kao što su:

Većina ranjivosti otkrivenih od strane lovaca na bagove nalazi se unutar veb aplikacija, pa bih u ovom trenutku želeo da govorim o metodologiji testiranja veb aplikacija, a možete pronaći ove informacije ovde.

Takođe želim da posebno pomenem sekciju Alati otvorenog koda za automatsko skeniranje veb aplikacija, jer, iako ne treba očekivati da će pronaći veoma osetljive ranjivosti, korisni su za implementaciju u tokove rada radi dobijanja početnih informacija o vebu.

Rekapitulacija

Čestitam! Do ovog trenutka već ste obavili svu osnovnu enumeraciju. Da, osnovnu, jer se može obaviti mnogo više enumeracije (videćemo više trikova kasnije).

Dakle, već ste:

  1. Pronašli sve kompanije unutar opsega

  2. Pronašli sve resurse koji pripadaju kompanijama (i obavili skeniranje ranjivosti ako je u opsegu)

  3. Pronašli sve domene koje pripadaju kompanijama

  4. Pronašli sve poddomene domena (bilo preuzimanja poddomena?)

  5. Pronašli sve IP adrese (iz i ne iz CDN-a) unutar opsega.

  6. Pronašli sve veb servere i napravili screenshot (ima li nešto čudno vredno dubljeg pregleda?)

  7. Pronašli sve potencijalne javne cloud resurse koji pripadaju kompaniji.

  8. Email adrese, procurele akreditive i procurele tajne koje bi vam mogle doneti veliku pobedu veoma lako.

  9. Testirali sve veb stranice koje ste pronašli

Alati za automatsku potpunu rekonstrukciju

Postoji nekoliko alata koji će obaviti deo predloženih akcija protiv datog opsega.

Reference

Ako ste zainteresovani za karijeru hakovanja i hakovanje neuhvatljivog - zapošljavamo! (potrebno je tečno poznavanje poljskog jezika u pismu i govoru).

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated