.. | ||
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 PRIJAVU!
- 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 sve kompanije koje pripadaju glavnoj kompaniji i zatim svi resursi ovih kompanija. Da bismo to postigli, uradićemo sledeće:
- 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 (imenovanja 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 (triik sassl
može se raditi rekurzivno).
Akvizicije
Prvo što treba da znamo je koje druge kompanije pripadaju glavnoj kompaniji.
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 pronaći 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 bilo koji 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-u ili po domenu na https://bgp.he.net/.
Zavisno od regiona 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 skeniranje portova ili koristiti servise kao što je shodan da biste pronašli 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, vredi 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š favikona 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
Moguće je pronaći domene koje pripadaju istoj kompaniji u logovima transparentnosti sertifikata, čak i ako CA koji se koristi za ovo ne postavlja vreme kada je generisan u Vremenu važnosti.
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
Često se dešava 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 pokretanjem virtuelne mašine u oblaku (poput Digital Ocean) zapravo preuzimate neke poddomene.
Ovaj post objašnjava priču o tome i predlaže skriptu koja pokreće virtuelnu mašinu u DigitalOcean-u, dobavlja IPv4 nove mašine i pretražuje Virustotal za poddomenske zapise 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 novu domenu.
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.
Možete pristupiti TLS sertifikatu glavne veb stranice, dobiti ime organizacije i zatim pretraž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 za neko preuzimanje domena. Možda neka kompanija koristi neku domenu ali su izgubili vlasništvo. Samo je registrujte (ako je dovoljno jeftino) i obavestite kompaniju.
Ako pronađete bilo koju domenu 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 svake pronađene domene.
{% 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: preuzima 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 brute-forcing 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 brute-force su:
- massdns: Ovo je prvi alat koji je izveo efikasan DNS brute-force. 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 jednostavnom podrškom za 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 asinhrono grubo pretraživanje imena domena.
aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com
Druga runda DNS Brute-Force napada
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 ovu svrhu korisni su neki alati:
- dnsgen: Generiše permutacije domena i poddomena.
cat subdomains.txt | dnsgen -
- goaltdns: Dati domeni i poddomeni generišu permutacije.
- Možete dobiti goaltdns permutacije wordlist ovde: here.
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, 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 wild card).
- Možete preuzeti listu reči za permutacije dmut-a ovde.
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
- alterx: Na osnovu domena 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 DNS vođenim algoritmom. 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 web 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 imena VHost domena 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 možda čak možete pristupiti internim/skrivenim krajnjim tačkama. {% 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 Buckete
Dok tražite poddomene, obratite pažnju da li se usmerava ka nekoj vrsti bucket-a, i u tom slučaju proverite dozvole.
Takođe, pošto ć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 nove poddomene domena kreirane praćenjem Certificate Transparency Logova što radi sublert .
Traženje ranjivosti
Proverite moguće preuzimanje poddomena.
Ako se poddomena usmerava ka nekom S3 bucket-u, proverite dozvole.
Ako pronađete bilo koju poddomenu 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 poddomena 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 koristeći alat 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 neki recon nad otkrivenim IP adresama i domenima, tako da možda već imate pronađene 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 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 samo 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 pregleda sve snimke ekrana i kaže vam š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 kasnije biti korisni za bruteforce web prijave 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.
Procurene Poverljive Informacije
Sa domenima, poddomenima i emailovima možete početi tražiti procurene poverljive informacije iz prošlosti koje pripadaju tim emailovima:
Traženje ranjivosti
Ako pronađete validne procurene akreditive, ovo je veoma laka pobeda.
Procurene Tajne
Procurene akreditive su povezane sa hakovanjem kompanija gde su poverljive informacije procurene i prodate. Međutim, kompanije mogu biti pogođene i drugim procurama čije informacije nisu u tim bazama podataka:
Github Procure
Akreditivi i API-ji mogu biti procureni u javnim repozitorijumima kompanije ili korisnika koji rade za tu github kompaniju.
Možete koristiti alat Leakos da preuzmete sve javne repozitorijume organizacije i njenih developer-a i pokrenete gitleaks automatski 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 interesantno 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 procurene akreditive ili API tokene, ovo 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 od jezika, 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 spomenem sekciju Alati otvorenog koda za automatsko skeniranje veb aplikacija, jer, iako ne biste trebali očekivati da će pronaći veoma osetljive ranjivosti, oni su korisni za implementaciju u tokove rada kako biste dobili neke početne informacije o vebu.
Rekapitulacija
Čestitam! Do ovog trenutka ste već 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 neko 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 detaljnijeg pregleda?)
- Pronašli sve potencijalne javne resurse u oblaku koji pripadaju kompaniji.
- Email adrese, curenja akreditacija i curenja tajni koje bi vam mogle doneti veliku pobedu veoma lako.
- Testirali sve vebove koje ste pronašli
Alati za potpunu automatsku 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 - Izdanje za rekonstrukciju
Ako ste zainteresovani za karijeru hakovanja i hakovanje nehakovanog - zapošljavamo! (potrebno je tečno poznavanje poljskog jezika u pisanju 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.