.. | ||
github-leaked-secrets.md | ||
README.md | ||
wide-source-code-search.md |
Metodologija spoljnog istraživanja
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite svoju kompaniju reklamiranu na HackTricks-u ili da preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJEM!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte Porodičnu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @hacktricks_live.
- Podelite svoje hakovanje trikova slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
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).
{% embed url="https://www.stmcyber.com/careers" %}
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:
- Pronaći akvizicije glavne kompanije, što će nam dati kompanije u opsegu.
- Pronaći ASN (ako postoji) svake kompanije, što će nam dati IP opsege koje poseduje svaka kompanija.
- Koristiti pretrage obrnutog whois-a da bismo pronašli druge unose (nazive organizacija, domene...) povezane sa prvom (ovo se može raditi rekurzivno).
- Koristiti druge tehnike poput shodan
org
issl
filtera da bismo pronašli druge resurse (trič zassl
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:
- https://viewdns.info/reversewhois/ - Besplatno
- https://domaineye.com/reverse-whois - Besplatno
- https://www.reversewhois.io/ - Besplatno
- https://www.whoxy.com/ - Besplatno web, nije besplatan API.
- http://reversewhois.domaintools.com/ - Nije besplatno
- https://drs.whoisxmlapi.com/reverse-whois-search - Nije besplatno (samo 100 besplatnih pretraga)
- https://www.domainiq.com/ - Nije besplatno
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.
Savet za bug bounty: Prijavite se za Intigriti, premijum platformu za bug bounty kreiranu od hakera, za hakere! Pridružite nam se na https://go.intigriti.com/hacktricks danas, i počnite da zarađujete nagrade do $100,000!
{% embed url="https://go.intigriti.com/hacktricks" %}
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.
{% hint style="success" %} Imajte na umu da neki od alata i tehnika za pronalaženje domena takođe mogu pomoći u pronalaženju poddomena! {% endhint %}
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:
- Crobat: Koristi API https://sonar.omnisint.io za dobijanje poddomena
# 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 ".[]"
- RapidDNS besplatni API
# 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
- SubDomainizer & subscraper: Oni pretražuju web u potrazi za JS fajlovima i iz njih izvlače poddomene.
# 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
- securitytrails.com ima besplatnu API za pretragu poddomena i istoriju IP adresa
- chaos.projectdiscovery.io
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:
- https://gist.github.com/jhaddix/86a06c5dc309d08580a018c66354a056
- https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt
- https://localdomain.pw/subdomain-bruteforce-list/all.txt.zip
- https://github.com/pentester-io/commonspeak
- https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS
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: Takođe koristi
massdns
.
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:
{% embed url="https://trickest.com/blog/full-subdomain-discovery-using-workflow/" %}
{% embed url="https://trickest.com/blog/full-subdomain-brute-force-discovery-using-workflow/" %}
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
{% hint style="info" %} Pomoću ove tehnike čak možda možete pristupiti internim/skrivenim endpointima. {% endhint %}
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:
- https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt
- https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt
- https://raw.githubusercontent.com/jordanpotti/AWSBucketDump/master/BucketNames.txt
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:
- theHarvester - sa API-ima
- API od https://hunter.io/ (besplatna verzija)
- API od https://app.snov.io/ (besplatna verzija)
- API od https://minelead.io/ (besplatna verzija)
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:
{% content-ref url="github-leaked-secrets.md" %} github-leaked-secrets.md {% endcontent-ref %}
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:
{% content-ref url="../../network-services-pentesting/pentesting-web/code-review-tools.md" %} code-review-tools.md {% endcontent-ref %}
Postoje i besplatne usluge koje vam omogućavaju da skenirate javne repozitorijume, kao što su:
Metodologija testiranja veb aplikacija
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:
- Pronašli sve kompanije unutar opsega
- Pronašli sve resurse koji pripadaju kompanijama (i obavili skeniranje ranjivosti ako je u opsegu)
- Pronašli sve domene koje pripadaju kompanijama
- Pronašli sve poddomene domena (bilo preuzimanja poddomena?)
- Pronašli sve IP adrese (iz i ne iz CDN-a) unutar opsega.
- Pronašli sve veb servere i napravili screenshot (ima li nešto čudno vredno dubljeg pregleda?)
- Pronašli sve potencijalne javne cloud resurse koji pripadaju kompaniji.
- Email adrese, procurele akreditive i procurele tajne koje bi vam mogle doneti veliku pobedu veoma lako.
- 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.
- https://github.com/yogeshojha/rengine
- https://github.com/j3ssie/Osmedeus
- https://github.com/six2dez/reconftw
- https://github.com/hackerspider1/EchoPwn - Malo zastareo i nije ažuriran
Reference
- Svi besplatni kursevi od @Jhaddix poput Metodologija lovca na bagove v4.0 - Recon izdanje
Ako ste zainteresovani za karijeru hakovanja i hakovanje neuhvatljivog - zapošljavamo! (potrebno je tečno poznavanje poljskog jezika u pismu i govoru).
{% embed url="https://www.stmcyber.com/careers" %}
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite svoju kompaniju reklamiranu na HackTricks-u ili da preuzmete HackTricks u PDF formatu Proverite PLANOVE ZA PRIJAVU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @hacktricks_live.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.