hacktricks/generic-methodologies-and-resources/external-recon-methodology
2024-02-23 16:46:32 +00:00
..
github-leaked-secrets.md Translated to Turkish 2024-02-10 18:14:16 +00:00
README.md Translated ['generic-methodologies-and-resources/external-recon-methodol 2024-02-23 16:46:32 +00:00
wide-source-code-search.md Translated to Turkish 2024-02-10 18:14:16 +00:00

Harici Keşif Metodolojisi

Sıfırdan kahraman olmak için AWS hackleme becerilerini öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları:

Eğer hacking kariyerine ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - işe alıyoruz! (akıcı şekilde yazılı ve konuşulan Lehçe gereklidir).

{% embed url="https://www.stmcyber.com/careers" %}

Varlıkların Keşfi

Dolayısıyla, bazı şirkete ait olan her şeyin kapsamda olduğu söylendi ve bu şirketin aslında neye sahip olduğunu anlamak istiyorsunuz.

Bu aşamanın amacı, ana şirkete ait olan tüm şirketleri elde etmek ve ardından bu şirketlerin tüm varlıklarını elde etmektir. Bunun için şunları yapacağız:

  1. Ana şirketin satın almalarını bulmak, bu bize kapsamda olan şirketleri verecektir.
  2. Her şirketin ASN'sini bulmak (varsa), bu bize her şirketin sahip olduğu IP aralıklarını verecektir.
  3. İlkini aramak için ters whois aramalarını kullanarak diğer girişleri (kuruluş adları, alan adları...) aramak (bu rekürsif olarak yapılabilir)
  4. Diğer teknikleri kullanmak, örneğin shodan org ve ssl filtrelerini kullanarak diğer varlıkları aramak (ssl hilesi rekürsif olarak yapılabilir).

Satın Almalar

Öncelikle, ana şirkete ait olan diğer şirketleri bilmemiz gerekiyor.
Bir seçenek, https://www.crunchbase.com/'e gidip ana şirketi aramak ve "satın almalar"ı tıklamak. Orada ana şirket tarafından satın alınan diğer şirketleri göreceksiniz.
Diğer bir seçenek, ana şirketin Wikipedia sayfasını ziyaret etmek ve satın almaları aramaktır.

Tamam, bu noktada kapsamda olan tüm şirketleri bilmelisiniz. Şimdi varlıklarını nasıl bulacağımızı anlayalım.

ASN'ler

Bir otonom sistem numarası (ASN), bir otonom sistem (AS) tarafından Internet Assigned Numbers Authority (IANA) tarafından atanmış benzersiz bir numaradır.
Bir AS, dış ağlara erişim için belirgin bir şekilde tanımlanmış bir politikaya sahip IP adresi bloklarından oluşur ve tek bir kuruluş tarafından yönetilir ancak birkaç operatörden oluşabilir.

Şirketin herhangi bir ASN'ye sahip olup olmadığını bulmak, IP aralıklarını bulmak için ilginç olacaktır. Kapsam içindeki tüm ana bilgisayarlar üzerinde bir zayıflık testi gerçekleştirmek ve bu IP'lerdeki alan adlarını aramak ilginç olacaktır.
https://bgp.he.net/ adresinde şirket adı, IP veya alan adı ile arama yapabilirsiniz.
Şirketin bölgesine bağlı olarak bu bağlantılar daha fazla veri toplamak için yararlı olabilir: AFRINIC (Afrika), Arin(Kuzey Amerika), APNIC (Asya), LACNIC (Latin Amerika), RIPE NCC (Avrupa). Her durumda, muhtemelen tüm yararlı bilgiler (IP aralıkları ve Whois) zaten ilk bağlantıda görünür.

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

Ayrıca, BBOT'un alt alan adı tespiti otomatik olarak taramanın sonunda ASN'leri toplar ve özetler.

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: +----------+---------------------+--------------+----------------+----------------------------+-----------+

Organizasyonun IP aralıklarını http://asnlookup.com/ (ücretsiz API'ye sahiptir) kullanarak bulabilirsiniz.
Bir alanın IP'sini ve ASN'sini http://ipv4info.com/ kullanarak bulabilirsiniz.

Zaafiyet arayışı

Bu noktada kapsamdaki tüm varlıkları bildiğimizden, izin verildiyse tüm ana bilgisayarlarda bir zafiyet taraması (Nessus, OpenVAS) başlatabilirsiniz.
Ayrıca, bazı port taramaları başlatabilir veya shodan gibi hizmetleri kullanarak açık portlar bulabilir ve bulduklarınıza bağlı olarak bu kitapta çeşitli olası hizmetleri nasıl pentest edeceğinize bakabilirsiniz.
Ayrıca, bazı varsayılan kullanıcı adı ve şifreler listeleri hazırlayabilir ve https://github.com/x90skysn3k/brutespray ile hizmetleri brute force edebilirsiniz.

Alanlar

Kapsamdaki tüm şirketleri ve varlıklarını bildiğimize göre, kapsamdaki alanları bulma zamanı geldi.

Lütfen, aşağıda önerilen tekniklerde alt alanlar da bulabileceğinizi unutmayın ve bu bilginin göz ardı edilmemesi gerektiğini unutmayın.

Öncelikle her şirketin ana alanını aramalısınız. Örneğin, Tesla Inc. için tesla.com olacaktır.

Ters DNS

Alanların tüm IP aralıklarını bulduğunuzda, bu IP'ler üzerinde ters DNS aramaları yaparak kapsamdaki daha fazla alanı bulmaya çalışabilirsiniz. Kurbanın DNS sunucusunu veya bazı tanınmış DNS sunucularını (1.1.1.1, 8.8.8.8) kullanmaya çalışın.

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

Bu işlem için yöneticinin PTR'yi manuel olarak etkinleştirmesi gerekmektedir.
Bu bilgiyi almak için çevrimiçi bir araç da kullanabilirsiniz: http://ptrarchive.com/

Ters Whois (döngü)

Whois içinde organizasyon adı, adres, e-postalar, telefon numaraları gibi birçok ilginç bilgi bulabilirsiniz. Ancak daha da ilginç olanı, şirketle ilgili daha fazla varlıkı bulabilirsiniz eğer bu alanlardan herhangi biriyle ters whois aramaları yaparsanız (örneğin aynı e-postanın göründüğü diğer whois kayıtları).
Çevrimiçi araçlar kullanabilirsiniz:

Bu görevi DomLink (whoxy API anahtarı gerektirir) kullanarak otomatikleştirebilirsiniz.
Ayrıca amass ile otomatik ters whois keşfi yapabilirsiniz: amass intel -d tesla.com -whois

Yeni bir alan adı bulduğunuzda her seferinde daha fazla alan adı keşfetmek için bu tekniği kullanabileceğinizi unutmayın.

İzleyiciler

Aynı izleyicinin aynı kimliğini 2 farklı sayfada bulursanız, her iki sayfanın da aynı ekibin tarafından yönetildiğini varsayabilirsiniz.
Örneğin, birkaç sayfada aynı Google Analytics kimliğini veya aynı Adsense kimliğini gördüğünüzde.

Bu izleyiciler ve daha fazlasıyla arama yapmanıza izin veren bazı sayfalar ve araçlar bulunmaktadır:

Favicon

Hedefimize ait ilgili alan adlarını ve alt alan adlarını aynı favicon simgesi karmasını arayarak bulabileceğimizi biliyor muydunuz? İşte bunu yapabilen favihash.py aracı, @m4ll0k2 tarafından yapılmıştır. Nasıl kullanılacağı:

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

favihash - aynı favicon ikonu hash'ine sahip alan adlarını keşfedin

Basitçe söylemek gerekirse, favihash bize hedefimizle aynı favicon ikonu hash'ine sahip alan adlarını keşfetmemize olanak tanıyacak.

Ayrıca, favicon hash'ini kullanarak teknolojileri arayabilirsiniz, bu blog yazısındaıklandığı gibi. Bu, yani, bir web teknolojisinin savunmasız bir sürümünün favicon'unun hash'ini biliyorsanız, shodan'da arayabilir ve daha fazla savunmasız yeri bulabilirsiniz:

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

Bir web sitesinin favicon hash'ini hesaplamanın yolu şöyledir:

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

Telif Hakkı / Benzersiz dize

Aynı kuruluş içinde farklı web siteleri arasında paylaşılabilecek dizeleri arayın. Telif hakkı dizesi iyi bir örnek olabilir. Ardından bu dizeyi Google, diğer tarayıcılarda veya hatta shodan'da arayın: shodan search http.html:"Telif hakkı dizesi"

CRT Zamanı

Genellikle şu gibi bir cron işi olması yaygındır:

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

Harici Keşif Metodolojisi

Sunucudaki tüm alan adı sertifikalarını yenilemek için bir plan yapın. Bu, bu işlem için kullanılan CA'nın Geçerlilik süresinde oluşturulma zamanını belirlemediği durumlarda bile, sertifika şeffaflık günlüklerinde aynı şirkete ait alan adlarını bulmak mümkündür.
Daha fazla bilgi için bu yazıya göz atın.

Pasif Ele Geçirme

Görünüşe göre insanlar, bulut sağlayıcılarına ait IP'ler için alt alan adlarını atamak ve bu IP adresini bir noktada kaybetmek ancak DNS kaydını kaldırmayı unutmak gibi bir durumu sıkça yaşamaktadır. Bu nedenle, sadece bir VM oluşturarak (örneğin Digital Ocean gibi bir bulutta) aslında bazı alt alan adlarını ele geçirebilirsiniz.

Bu yazı bu konu hakkında bir hikaye anlatıyor ve DigitalOcean'da bir VM oluşturan, yeni makinenin IPv4'ünü alan ve buna işaret eden alt alan adı kayıtlarını Virustotal'da arayan bir betik öneriyor.

Diğer Yöntemler

Bu tekniği yeni bir alan adı bulduğunuz her seferinde daha fazla alan adı keşfetmek için kullanabileceğinizi unutmayın.

Shodan

IP alanını sahip olan kuruluşun adını zaten biliyorsunuz. Bu veriyi kullanarak shodan'da şu şekilde arama yapabilirsiniz: org:"Tesla, Inc." Bulunan ana bilgisayarlarda TLS sertifikasında yeni beklenmeyen alan adlarını kontrol edin.

Ana web sayfasının TLS sertifikasına erişebilir, Kuruluş adını alabilir ve ardından shodan tarafından bilinen tüm web sayfalarının TLS sertifikaları içinde bu adı arayabilirsiniz. Filtre olarak: ssl:"Tesla Motors" veya sslsearch gibi bir araç kullanabilirsiniz.

Assetfinder

Assetfinder, ana alan adı ile ilişkili alan adlarını ve bunların alt alan adlarını arayan bir araçtır, oldukça etkileyici.

Zaafiyet Arayışı

Bazı alan ele geçirme durumlarını kontrol edin. Belki bir şirket bir alan adı kullanıyor ancak sahipliğini kaybetmiş. Eğer uygunsa kaydedin ve şirkete bildirin.

Varlıkların keşfinde bulduğunuz IP'lerden farklı bir IP'ye sahip olan herhangi bir alan adını bulursanız, temel bir güvenlik taraması yapmalısınız (Nessus veya OpenVAS kullanarak) ve nmap/masscan/shodan ile bazı port taraması yapmalısınız. Hangi hizmetlerin çalıştığına bağlı olarak, bunları "saldırmak" için bazı ipuçları bu kitapta bulunabilir.
Bazen alan adının, müşteri tarafından kontrol edilmeyen bir IP içinde barındırıldığını unutmayın, bu nedenle bu kapsamda olmayabilir, dikkatli olun.


Hata ödülü ipucu: Intigriti'ye kaydolun, hackerlar tarafından oluşturulan bir premium hata ödülü platformu! Bugün https://go.intigriti.com/hacktricks adresinde bize katılın ve 100.000 $'a kadar ödüller kazanmaya başlayın!

{% embed url="https://go.intigriti.com/hacktricks" %}

Alt Alan Adlar

Kapsamdaki tüm şirketleri, her şirketin tüm varlıklarını ve şirketlerle ilgili tüm alan adlarını biliyoruz.

Her bulunan alan adının tüm olası alt alan adlarını bulma zamanı geldi.

DNS

DNS kayıtlarından alt alan adlarını almaya çalışalım. Ayrıca Zone Transfer için de denemeliyiz (Eğer savunmasızsa, bunu rapor etmelisiniz).

dnsrecon -a -d tesla.com

OSINT

Birçok alt alan adını elde etmenin en hızlı yolu dış kaynaklarda arama yapmaktır. En çok kullanılan araçlar şunlardır (daha iyi sonuçlar için API anahtarlarını yapılandırın):

# 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"

Alt alan adlarını bulmaya doğrudan uzmanlaşmamış olsa da, alt alan adlarını bulmada faydalı olabilecek diğer ilginç araçlar/API'ler bulunmaktadır, örneğin:

# 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: Belirli bir alan adı için AlienVault'ın Açık Tehdit Değişiminden, Wayback Machine'den ve Common Crawl'dan bilinen URL'leri alır.
# 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

Bu proje, hata ödülü programlarıyla ilgili tüm alt alan adlarını ücretsiz olarak sunmaktadır. Bu verilere chaospy kullanarak erişebilir veya bu projenin kullandığı kapsamı da https://github.com/projectdiscovery/chaos-public-program-list adresinden erişebilirsiniz.

Bu araçların bir karşılaştırmasını burada bulabilirsiniz: https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off

DNS Kaba Kuvvet Saldırısı

Mümkün alt alan adı adlarını kullanarak DNS sunucularını kaba kuvvet saldırısı yaparak yeni alt alan adları bulmaya çalışalım.

Bu işlem için şu gibi ortak alt alan adı kelime listelerine ihtiyacınız olacak:

Ayrıca iyi DNS çözücülerin IP'leri de gereklidir. Güvenilir DNS çözücüler listesi oluşturmak için https://public-dns.info/nameservers-all.txt adresinden çözücüleri indirebilir ve bunları filtrelemek için dnsvalidator kullanabilirsiniz. Ya da https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt adresini kullanabilirsiniz.

DNS kaba kuvvet saldırıları için en çok önerilen araçlar:

  • massdns: Bu, etkili bir DNS kaba kuvvet saldırısı gerçekleştiren ilk araçtır. Çok hızlıdır ancak yanlış pozitiflere duyarlıdır.
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: Bence bu sadece 1 çözücü kullanıyor
gobuster dns -d mysite.com -t 50 -w subdomains.txt
  • shuffledns, aktif bruteforce kullanarak geçerli alt alan adlarını numaralandırmanıza ve joker karakterleri işleyerek alt alan adlarını çözmenize olanak tanıyan, go dilinde yazılmış massdns etrafında bir sarmalayıcıdır ve kolay giriş-çıkış desteği sağlar.
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
  • puredns: Ayrıca massdns kullanır.
puredns bruteforce all.txt domain.com
  • aiodnsbrute alan adlarını asenkron olarak kaba kuvvet uygulamak için asyncio kullanır.
aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com

İkinci DNS Kaba Kuvvet Turu

ık kaynaklardan ve kaba kuvvet saldırısı ile bulunan alt alan adlarından sonra, bulunan alt alan adlarının değişikliklerini oluşturarak daha fazlasını bulmaya çalışabilirsiniz. Bu amaçla birkaç araç faydalıdır:

  • dnsgen: Alan adları ve alt alan adları verilerek permutasyonlar oluşturur.
cat subdomains.txt | dnsgen -
  • goaltdns: Alan adları ve alt alan adları verildiğinde permutasyonlar oluşturur.
  • goaltdns permutasyonlarını wordlist'i buradan alabilirsiniz.
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
  • gotator: Alan adları ve alt alan adları verildiğinde permutasyonlar oluşturur. Permutasyon dosyası belirtilmemişse, gotator kendi dosyasını kullanacaktır.
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
  • altdns: Alt alan adı permütasyonları oluşturmanın yanı sıra bunları çözmeye de çalışabilir (ancak önceki yorumlanmış araçları kullanmak daha iyidir).
  • altdns permütasyonları wordlist'ini buradan alabilirsiniz.
altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
  • dmut: Alt alan adlarının permutasyonlarını, mutasyonlarını ve değişikliklerini gerçekleştirmek için başka bir araç. Bu araç sonucu kaba kuvvet uygulayacaktır (dns joker karakterini desteklemez).
  • dmut permutasyon kelime listesine buradan ulaşabilirsiniz.
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
  • alterx: Bir alan adına dayanarak, daha fazla alt alan adı keşfetmek için belirtilen desenlere dayalı olarak yeni potansiyel alt alan adı adları oluşturur.

Akıllı permütasyon oluşturma

  • regulator: Daha fazla bilgi için bu gönderiyi okuyun, ancak temelde keşfedilen alt alan adlarından ana parçaları alacak ve daha fazla alt alan adı bulmak için bunları karıştıracaktır.
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, etkili ancak basit bir DNS yanıt rehberli algoritması ile eşleştirilmiş bir alt alan brute-force fuzzer'dır. Özel bir kelime listesi veya geçmiş DNS/TLS kayıtları gibi sağlanan bir dizi giriş verisini kullanarak daha fazla karşılık gelen alan adını doğru bir şekilde sentezlemek ve DNS taraması sırasında toplanan bilgilere dayanarak bunları daha da genişletmek için bir döngüde kullanır.
echo www | subzuf facebook.com

Alt Alan Adı Keşfi İş Akışı

Bu blog yazımı kontrol et, alan adından alt alan adlarını otomatik olarak keşfetmenin nasıl yapıldığı hakkında. Böylece bilgisayarımda manuel olarak bir sürü aracı başlatmama gerek kalmaz:

{% embed url="https://trickest.com/blog/full-subdomain-discovery-using-workflow/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

{% embed url="https://trickest.com/blog/full-subdomain-brute-force-discovery-using-workflow/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

VHosts / Sanal Sunucular

Eğer bir IP adresi bulduysanız ve bu IP adresi alt alan adlarına ait bir veya birkaç web sayfası içeriyorsa, bu IP'de diğer alt alan adlarını bulmaya çalışabilirsiniz. Bunun için, IP'deki OSINT kaynaklarında alan adları arayabilir veya o IP'deki VHost alan adlarını brute force ile deneyebilirsiniz.

OSINT

Bazı VHost'ları IP'lerde bulabilirsiniz HostHunter veya diğer API'ler kullanarak.

Brute Force

Eğer bir alt alan adının bir web sunucusunda gizli olabileceğinden şüpheleniyorsanız, bunu brute force ile deneyebilirsiniz:

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" %} Bu teknikle, hatta dahili/gizli uç noktalara erişebilme olasılığınız olabilir. {% endhint %}

CORS Brute Force

Bazı durumlarda, yalnızca geçerli bir alan/alt alan adı Origin başlığında ayarlandığında Access-Control-Allow-Origin başlığını döndüren sayfalar bulabilirsiniz. Bu senaryolarda, bu davranışı istismar ederek yeni alt alan adlarını keşfedebilirsiniz.

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

Kovalama Yöntemleri

Alt alan adları ararken, herhangi bir türde bucket'a işaret edip etmediğini kontrol edin ve bu durumda izinleri kontrol edin.
Ayrıca, bu noktada kapsamdaki tüm alan adlarını bildiğinizden, mümkün olan bucket adlarını kaba kuvvet uygulayın ve izinleri kontrol edin.

İzleme

Bir alan adının yeni alt alan adları oluşturulup oluşturulmadığını izleyerek izleyebilirsiniz Sertifika Şeffaflığı Günlükleri tarafından yapılır.

Zaafiyet Arayışı

Mümkün alt alan adı ele geçirmelerini kontrol edin.
Eğer alt alan adı bir S3 bucket'a işaret ediyorsa, izinleri kontrol edin.

Varlık keşfinde bulunduğunuz IP'lerden farklı bir IP'ye sahip herhangi bir alt alan adı bulursanız, temel bir zayıflık taraması yapmalısınız (Nessus veya OpenVAS kullanarak) ve nmap/masscan/shodan ile bazı port taraması yapmalısınız. Hangi hizmetlerin çalıştığını bulabilir ve bu kitapta onlara "saldırmak" için bazı ipuçları bulabilirsiniz.
Not edin ki bazen alt alan adı, müşteri tarafından kontrol edilmeyen bir IP içinde barındırılmış olabilir, bu yüzden kapsamda olmayabilir, dikkatli olun.

IP'ler

Başlangıç adımlarında bazı IP aralıkları, alan adları ve alt alan adları bulmuş olabilirsiniz.
Bu aralıklardan tüm IP'leri ve alan adları/alt alan adlarını (DNS sorguları) toplama zamanı geldi.

Aşağıdaki ücretsiz api'lerin hizmetlerini kullanarak ayrıca alan adları ve alt alan adları tarafından kullanılan önceki IP'leri bulabilirsiniz. Bu IP'ler hala müşteriye ait olabilir (ve size CloudFlare atlatmaları bulmanıza izin verebilir)

Ayrıca, hakip2host aracını kullanarak belirli bir IP adresine işaret eden alan adlarını kontrol edebilirsiniz.

Zaafiyet Arayışı

CDN'lere ait olmayan tüm IP'leri port taraması yapın (muhtemelen orada ilginç bir şey bulamayacaksınız). Keşfedilen çalışan hizmetlerde zayıflıklar bulabilirsiniz.

Ana bilgisayarları nasıl taramanız gerektiği hakkında bir kılavuz bulun.

Web sunucuları avı

Tüm şirketleri ve varlıklarını bulduk ve IP aralıklarını, alan adlarını ve kapsamdaki alt alan adlarını biliyoruz. Artık web sunucularını aramak zamanı geldi.

Önceki adımlarda muhtemelen keşfedilen IP'lerin ve alan adlarının keşfini zaten yapmış olabilirsiniz, bu yüzden muhtemelen tüm olası web sunucuları zaten bulmuş olabilirsiniz. Ancak, bulamadıysanız şimdi kapsam içindeki web sunucularını aramak için bazı hızlı ipuçları göreceğiz.

Lütfen, bu web uygulamaları keşfi için yönlendirilecektir, bu yüzden izin verildiği takdirde zayıflık ve port taraması da yapmalısınız.

Web sunucularıyla ilgili ık portları keşfetmek için hızlı bir yöntem burada masscan bulunabilir.
Başka bir dost araç web sunucularını aramak için httprobe, fprobe ve httpx. Sadece bir alan adları listesi geçirin ve 80 (http) ve 443 (https) bağlanmaya çalışacaktır. Ayrıca, diğer portları denemek için belirtebilirsiniz:

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

Ekran Görüntüleri

Artık kapsamdaki tüm web sunucularını keşfettiğinize göre (şirketin IP'leri ve tüm alan adları ve alt alan adları arasında) muhtemelen nereden başlayacağınızı bilmiyorsunuzdur. Bu yüzden, basit tutarak hepsinin ekran görüntülerini almaya başlayalım. Ana sayfaya bir göz atarak daha garip uç noktalar bulabilir ve bunların daha savunmasız olma olasılığı daha yüksektir.

Önerilen fikri gerçekleştirmek için EyeWitness, HttpScreenshot, Aquatone, Shutter veya webscreenshot** kullanabilirsiniz.**

Ayrıca, daha sonra eyeballer kullanarak tüm ekran görüntülerini tarayarak size olası olarak zafiyet içerenleri ve olmayanları söylemesini sağlayabilirsiniz.

Genel Bulut Varlıkları

Bir şirkete ait potansiyel bulut varlıklarını bulmak için o şirketi tanımlayan anahtar kelimeler listesiyle başlamalısınız. Örneğin, bir kripto şirketi için "kripto", "cüzdan", "dao", "<alan_adı>", <"altalan_adılar"> gibi kelimeler kullanabilirsiniz.

Ayrıca, kovalarda kullanılan yaygın kelimelerin listelerine ihtiyacınız olacak:

Daha sonra, bu kelimelerle permutasyonlar oluşturmalısınız (daha fazla bilgi için İkinci Tur DNS Kaba Kuvvet kontrol edin).

Elde edilen kelime listeleriyle cloud_enum, CloudScraper, cloudlist veya S3Scanner** gibi araçları kullanabilirsiniz.**

Bulut Varlıklarını ararken AWS'deki kovalardan daha fazlasını aramalısınız.

Zafiyetler Aranıyor

ık kovalar veya açığa çıkarılan bulut işlevleri gibi şeyler bulursanız, onlara erişmeli ve size ne sunduklarını ve bunları kötüye kullanıp kullanamayacağınızı görmelisiniz.

E-postalar

Kapsamdaki alan adları ve alt alan adları ile temelde e-posta aramaya başlamak için ihtiyacınız olan her şeye sahipsiniz. Bir şirketin e-postalarını bulmak için en iyi çalışan API'ler ve araçlar şunlardır:

Zafiyetler Aranıyor

E-postalar daha sonra web girişlerini ve kimlik doğrulama hizmetlerini (örneğin SSH) kaba kuvvet saldırıları yapmak için kullanışlı olacaktır. Ayrıca, spear phishing için gereklidirler. Ayrıca, bu API'lar size e-posta arkasındaki kişi hakkında daha fazla bilgi verecektir, bu da phishing kampanyası için faydalıdır.

Kimlik Bilgisi Sızıntıları

Alan adları, alt alan adları ve e-postalar ile o e-postalara ait geçmişte sızdırılan kimlik bilgilerini aramaya başlayabilirsiniz:

Zafiyetler Aranıyor

Eğer geçerli sızdırılmış kimlik bilgileri bulursanız, bu çok kolay bir kazanç olacaktır.

Sır Sızıntıları

Kimlik bilgisi sızıntıları, şirketlerin duyarlı bilgilerin sızdırıldığı ve satıldığı hack'lerle ilgilidir. Ancak, şirketlerin o veritabanlarında olmayan başka sızıntılardan etkilenebileceğini unutmamalısınız:

Github Sızıntıları

Kimlik bilgileri ve API'lar şirketin veya o github şirketinde çalışan kullanıcıların genel depolarında sızdırılmış olabilir.
Leakos aracını kullanarak bir kuruluşun ve geliştiricilerinin tüm genel depolarını indirip otomatik olarak üzerlerinde gitleaks çalıştırabilirsiniz.

Leakos ayrıca bazen web sayfalarının da sırlar içerdiği için tüm URL'leri üzerinden gitleaks çalıştırmak için de kullanılabilir.

Github Dorks

Saldırganlar veya çalışanlar bazen şirket içeriğini bir yapıştırma sitesinde yayınlarlar. Bu duyarlı bilgileri içerebilir veya içermeyebilir, ancak aramak çok ilginç olabilir.
Pastos aracını kullanarak aynı anda 80'den fazla yapıştırma sitesinde arama yapabilirsiniz.

Google Dorks

Eski ama altın google dorks her zaman orada olmamaları gereken bilgileri bulmak için kullanışlıdır. Tek sorun, google-hacking-database'in çalıştıramayacağınız birkaç bin olası sorgu içermesidir. Bu yüzden favori 10 tanesini alabilir veya hepsini çalıştırmak için Gorks gibi bir araç kullanabilirsiniz.

Unutmayın, düzenli Google tarayıcısını kullanarak tüm veritabanını çalıştırmayı bekleyen araçlar çok uzun sürecek ve Google sizi çok kısa sürede engelleyecektir.

Zafiyetler Aranıyor

Eğer geçerli sızdırılmış kimlik bilgileri veya API belirteçleri bulursanız, bu çok kolay bir kazanç olacaktır.

Genel Kod Zafiyetleri

Şirketin ık kaynak koduna sahip olduğunu tespit ettiyseniz, bunu analiz edebilir ve üzerinde zafiyetler arayabilirsiniz.

Dile bağlı olarak farklı araçlar kullanabilirsiniz:

{% content-ref url="../../network-services-pentesting/pentesting-web/code-review-tools.md" %} code-review-tools.md {% endcontent-ref %}

Ayrıca, şunlar gibi ücretsiz hizmetlerle genel depoları tarayabilirsiniz:

Web Uygulama Test Metodolojisi

Çoğu zayıflık, avcılar tarafından bulunan yerlerde web uygulamalarında bulunur, bu nedenle bu noktada bir web uygulama test metodolojisi hakkında konuşmak istiyorum ve bu bilgiyi burada bulabilirsiniz.

Ayrıca, Web Otomatik Tarama Açık Kaynaklı Araçlar bölümüne özel bir vurgu yapmak istiyorum, çünkü çok hassas zayıflıkları bulmalarını beklememelisiniz, ancak bazı başlangıç web bilgilerini elde etmek için iş akışlarına uygulamak için faydalıdırlar.

Özet

Tebrikler! Bu noktada zaten tüm temel numaralandırmayı gerçekleştirdiniz. Evet, temel çünkü daha fazla numaralandırma yapılabilir (daha sonra daha fazla hile göreceğiz).

Şimdiye kadar şunları yaptınız:

  1. Kapsam içindeki tüm şirketleri buldunuz
  2. Şirketlere ait tüm varlıkları buldunuz (ve kapsam içindeyse bazı zayıflık taraması yaptınız)
  3. Şirketlere ait tüm alan adlarını buldunuz
  4. Alan adlarının tüm alt alan adlarını buldunuz (herhangi bir alt alan adı ele geçirme?)
  5. Kapsam içindeki CDN'lerden ve olmayan IP'leri buldunuz.
  6. Tüm web sunucularını buldunuz ve onların ekran görüntüsünü aldınız (derinlemesine bakmaya değer garip bir şey var mı?)
  7. Şirkete ait potansiyel halka açık bulut varlıklarını buldunuz.
  8. Size kolayca büyük bir kazanç sağlayabilecek e-postaları, kimlik bilgileri sızıntılarını ve gizli sızıntıları buldunuz.
  9. Bulduğunuz tüm web sitelerini pentest ettiniz

Tam Kapsamlı Otomatik Araçlar

Verilen bir kapsam için önerilen eylemlerin bir kısmını gerçekleştirecek birçok araç bulunmaktadır.

Referanslar

Eğer hacking kariyerine ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - işe alıyoruz! (akıcı şekilde yazılı ve konuşulan Lehçe gereklidir).

{% embed url="https://www.stmcyber.com/careers" %}

Sıfırdan kahraman olana kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert) ile!

HackTricks'i desteklemenin diğer yolları: