External Recon Methodology

HackTricks'i Destekleyin

Hacking kariyerine ilgi duyuyorsanız ve hacklenemez olanı hack etmek istiyorsanız - işe alıyoruz! (akıcı yazılı ve sözlü Lehçe gereklidir).

Varlık keşifleri

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

Bu aşamanın amacı, ana şirketin sahip olduğu tüm şirketleri ve ardından bu şirketlerin varlıklarını elde etmektir. Bunu yapmak için:

  1. Ana şirketin satın almalarını bulmak, bu bize kapsam içindeki şirketleri verecektir.

  2. Her şirketin ASN'sini (varsa) bulmak, bu bize her şirketin sahip olduğu IP aralıklarını verecektir.

  3. İlkine bağlı diğer girişleri (organizasyon adları, alan adları...) aramak için ters whois sorgulamaları kullanmak (bu yinelemeli olarak yapılabilir).

  4. Diğer varlıkları aramak için shodan org ve ssl filtreleri gibi diğer teknikleri kullanmak (bu ssl hilesi yinelemeli olarak yapılabilir).

Satın Almalar

Öncelikle, ana şirketin sahip olduğu diğer şirketleri bilmemiz gerekiyor. Bir seçenek, https://www.crunchbase.com/ adresini ziyaret etmek, ana şirketi arama yapmak ve "satın almalar" sekmesine 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 kapsam içindeki tüm şirketleri bilmelisiniz. Şimdi varlıklarını nasıl bulacağımızı anlamaya çalışalım.

ASNs

Otonom sistem numarası (ASN), Internet Assigned Numbers Authority (IANA) tarafından bir otonom sisteme (AS) atanan benzersiz bir numaradır. Bir AS, dış ağlara erişim için belirgin bir politikaya sahip olan ve tek bir organizasyon tarafından yönetilen IP adresleri blokları içerir, ancak birden fazla operatörden oluşabilir.

Şirketin herhangi bir ASN atayıp atamadığını bulmak, IP aralıklarını bulmak için ilginçtir. Kapsam içindeki tüm hostlar üzerinde bir zafiyet testi gerçekleştirmek ve bu IP'ler içindeki alan adlarını aramak ilginç olacaktır. https://bgp.he.net/** adresinde şirket adı, IP veya alan adı ile arama yapabilirsiniz. Şirketin bulunduğu bölgeye bağlı olarak bu bağlantılar daha fazla veri toplamak için faydalı olabilir: AFRINIC (Afrika), Arin(Kuzey Amerika), APNIC (Asya), LACNIC (Latin Amerika), RIPE NCC (Avrupa). Her neyse, muhtemelen tüm faydalı bilgiler (IP aralıkları ve Whois) zaten ilk bağlantıda görünmektedir.

#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'nin alt alan adlarını belirleme işlemi, taramanın sonunda ASN'leri otomatik olarak 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: +----------+---------------------+--------------+----------------+----------------------------+-----------+

You can find the IP ranges of an organisation also using http://asnlookup.com/ (it has free API). You can fins the IP and ASN of a domain using http://ipv4info.com/.

Zafiyetleri Arama

Bu noktada kapsam içindeki tüm varlıkları biliyoruz, bu yüzden izin verilirse tüm hostlar üzerinde bazı zafiyet tarayıcıları (Nessus, OpenVAS) başlatabilirsiniz. Ayrıca, bazı port taramaları başlatabilir veya shodan gibi hizmetleri kullanarak açık portları bulabilirsiniz ve bulduklarınıza bağlı olarak bu kitapta çeşitli hizmetleri nasıl pentest edeceğinize bakmalısınız. Ayrıca, bazı varsayılan kullanıcı adı ve şifre listeleri hazırlamanın da faydalı olabileceğini ve https://github.com/x90skysn3k/brutespray ile hizmetleri** brute force denemeyi düşünebileceğinizi belirtmek gerekir.

Alan Adları

Kapsam içindeki tüm şirketleri ve varlıklarını biliyoruz, şimdi kapsam içindeki alan adlarını bulma zamanı.

Lütfen, aşağıda önerilen tekniklerde alt alan adlarını da bulabileceğinizi ve bu bilginin küçümsenmemesi gerektiğini unutmayın.

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

Ters DNS

Alan adlarının tüm IP aralıklarını bulduğunuzda, kapsam içindeki daha fazla alan adı bulmak için bu IP'ler üzerinde ters dns sorgulamaları yapmayı deneyebilirsiniz. Kurbanın bazı dns sunucularını veya bazı iyi bilinen 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

For this to work, the administrator has to enable manually the PTR. You can also use a online tool for this info: http://ptrarchive.com/

Reverse Whois (loop)

Inside a whois you can find a lot of interesting information like organisation name, address, emails, phone numbers... But which is even more interesting is that you can find more assets related to the company if you perform reverse whois lookups by any of those fields (for example other whois registries where the same email appears). You can use online tools like:

You can automate this task using DomLink (requires a whoxy API key). You can also perform some automatic reverse whois discovery with amass: amass intel -d tesla.com -whois

Note that you can use this technique to discover more domain names every time you find a new domain.

Trackers

If find the same ID of the same tracker in 2 different pages you can suppose that both pages are managed by the same team. For example, if you see the same Google Analytics ID or the same Adsense ID on several pages.

There are some pages and tools that let you search by these trackers and more:

Favicon

Did you know that we can find related domains and sub domains to our target by looking for the same favicon icon hash? This is exactly what favihash.py tool made by @m4ll0k2 does. Here’s how to use it:

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

Basitçe söylemek gerekirse, favihash hedefimizle aynı favicon simgesi hash'ine sahip alanları keşfetmemizi sağlar.

Ayrıca, favicon hash'ini kullanarak teknolojileri arayabilirsiniz, bu blog yazısında açıklandığı gibi. Yani, eğer bir web teknolojisinin savunmasız bir sürümünün favicon hash'ini biliyorsanız, shodan'da arama yapabilir ve daha fazla savunmasız yer bulabilirsiniz:

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

Bu, bir web'in favicon hash'ini nasıl hesaplayabileceğinizdir:

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

Web sayfalarında aynı organizasyondaki farklı webler arasında paylaşılabilecek dizgiler arayın. Telif hakkı dizgisi iyi bir örnek olabilir. Ardından o dizgiyi google, diğer tarayıcılar veya hatta shodan'da arayın: shodan search http.html:"Copyright string"

CRT Time

Bir cron job'a sahip olmak yaygındır.

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

to renew the all the domain certificates on the server. This means that even if the CA used for this doesn't set the time it was generated in the Validity time, it's possible to aynı şirkete ait alan adlarını sertifika şeffaflık kayıtlarında bulmak. Check out this writeup for more information.

Mail DMARC information

You can use a web such as https://dmarc.live/info/google.com or a tool such as https://github.com/Tedixx/dmarc-subdomains to find aynı dmarc bilgilerini paylaşan alan adları ve alt alan adları.

Passive Takeover

Apparently is common for people to assign subdomains to IPs that belongs to cloud providers and at some point o IP adresini kaybetmek ama DNS kaydını silmeyi unutmak. Therefore, just bir VM oluşturmak in a cloud (like Digital Ocean) you will be actually bazı alt alan adlarını ele geçirmiş olacaksınız.

This post explains a store about it and propose a script that DigitalOcean'da bir VM oluşturur, yeni makinenin IPv4'ünü alır ve Virustotal'da ona işaret eden alt alan adı kayıtlarını arar.

Other ways

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

Shodan

As you already know the name of the organisation owning the IP space. You can search by that data in shodan using: org:"Tesla, Inc." Check the found hosts for new unexpected domains in the TLS certificate.

You could access the TLS certificate of the main web page, obtain the Organisation name and then search for that name inside the TLS certificates of all the web pages known by shodan with the filter : ssl:"Tesla Motors" or use a tool like sslsearch.

Assetfinder

Assetfinder is a tool that look for ana alan adı ile ilişkili alan adları ve onların alt alan adları, pretty amazing.

Looking for vulnerabilities

Check for some domain takeover. Maybe some company is bir alan adı kullanıyor ama sahipliğini kaybetti. Just register it (if cheap enough) and let know the company.

If you find any alan adı farklı bir IP ile bulduğunuz varlık keşfindeki IP'lerden, you should perform a basic vulnerability scan (using Nessus or OpenVAS) and some port scan with nmap/masscan/shodan. Depending on which services are running you can find in this book some tricks to "attack" them. Not edin ki bazen alan adı, müşteri tarafından kontrol edilmeyen bir IP içinde barındırılır, bu yüzden kapsamda değildir, dikkatli olun.

Subdomains

We know all the companies inside the scope, all the assets of each company and all the domains related to the companies.

It's time to find all the possible subdomains of each found domain.

Bazı araçların ve tekniklerin alan adlarını bulmak için kullanılabileceğini ve aynı zamanda alt alan adlarını bulmaya da yardımcı olabileceğini unutmayın!

DNS

Let's try to get alt alan adlarını from the DNS records. We should also try for Zone Transfer (If vulnerable, you should report it).

dnsrecon -a -d tesla.com

OSINT

Birçok alt alan adı elde etmenin en hızlı yolu, dış kaynaklarda arama yapmaktır. En çok kullanılan tools ş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"

Diğer ilginç araçlar/API'ler doğrudan alt alan bulmaya özel olmasalar da alt alanları bulmak için faydalı olabilir, ö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: Verilen bir alan adı için AlienVault'un Açık Tehdit Değişimi, Wayback Machine 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, bug-bounty programlarıyla ilgili tüm alt alanları ücretsiz olarak sunmaktadır. Bu verilere chaospy kullanarak da erişebilirsiniz veya bu projenin kullandığı kapsamı https://github.com/projectdiscovery/chaos-public-program-list adresinden de erişebilirsiniz.

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

DNS Kaba Kuvvet

Yeni alt alanları bulmak için olası alt alan adlarını kullanarak DNS sunucularını kaba kuvvetle deneyelim.

Bu işlem için bazı yaygın alt alan kelime listelerine ihtiyacınız olacak:

Ayrıca iyi DNS çözümleyicilerin IP'lerine de ihtiyacınız var. Güvenilir DNS çözümleyicilerin bir listesini oluşturmak için https://public-dns.info/nameservers-all.txt adresinden çözümleyicileri indirebilir ve bunları filtrelemek için dnsvalidator kullanabilirsiniz. Ya da şunu kullanabilirsiniz: https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt

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

  • massdns: Bu, etkili bir DNS kaba kuvvet gerçekleştiren ilk araçtır. Çok hızlıdır ancak yanlış pozitiflere eğilimlidir.

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ümleyici kullanıyor.

gobuster dns -d mysite.com -t 50 -w subdomains.txt
  • shuffledns massdns etrafında yazılmış bir go sarmalayıcısıdır ve aktif brute force kullanarak geçerli alt alan adlarını listelemenizi sağlar, ayrıca alt alan adlarını wildcard yönetimi ile çözümleyebilir ve kolay girdi-çıktı desteği sunar.

shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
  • puredns: Ayrıca massdns kullanır.

puredns bruteforce all.txt domain.com
  • aiodnsbrute asenkron olarak alan adlarını zorlamak için asyncio kullanır.

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

İkinci DNS Kaba Kuvvet Turu

Açık kaynaklar ve kaba kuvvet kullanarak alt alan adlarını bulduktan sonra, bulunan alt alan adlarının varyasyonlarını oluşturarak daha fazlasını bulmayı deneyebilirsiniz. Bu amaç için birkaç araç faydalıdır:

  • dnsgen: Alan adları ve alt alan adları verildiğinde permütasyonlar oluşturur.

cat subdomains.txt | dnsgen -
  • goaltdns: Alan adları ve alt alan adları verildiğinde permutasyonlar oluşturur.

  • goaltdns permutasyonlarını kelime listesi olarak buradan alabilirsiniz.

goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
  • gotator: Verilen alan adları ve alt alan adları için permutasyonlar oluşturur. Eğer permutasyon dosyası belirtilmemişse, gotator kendi dosyasını kullanacaktır.

gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
  • altdns: Alt alan adlarının permütasyonlarını oluşturmanın yanı sıra, bunları çözmeye de çalışabilir (ancak daha önce bahsedilen araçları kullanmak daha iyidir).

  • altdns permütasyonlarını wordlist olarak buradan alabilirsiniz.

altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
  • dmut: Alt alan adlarının permütasyonlarını, mutasyonlarını ve değişikliklerini gerçekleştirmek için başka bir araç. Bu araç sonucu brute force ile deneyecektir (dns wild card'ı desteklemez).

  • dmut permütasyonları kelime listesini buradan alabilirsiniz.

cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
  • alterx: Belirtilen kalıplara dayanarak bir alan adı temelinde yeni potansiyel alt alan adı isimleri üretir ve daha fazla alt alan adı keşfetmeye çalışır.

Akıllı permütasyonlar üretimi

  • regulator: Daha fazla bilgi için bu yazıyı okuyun, ancak temelde keşfedilen alt alan adlarının ana kısımlarını 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, son derece basit ama etkili bir DNS yanıtına dayalı algoritma ile birleştirilmiş bir alt alan brute-force fuzzer'dır. Özelleştirilmiş bir kelime listesi veya tarihsel DNS/TLS kayıtları gibi sağlanan bir girdi veri setini kullanarak, daha fazla ilgili alan adı sentezlemek ve DNS taraması sırasında toplanan bilgilere dayalı olarak bunları daha da genişletmek için döngü içinde doğru bir şekilde kullanır.

echo www | subzuf facebook.com

Alt Alan Keşif İş Akışı

Bir alan adından alt alan keşfini otomatikleştirme hakkında yazdığım bu blog yazısını kontrol edin, böylece bilgisayarımda bir dizi aracı manuel olarak başlatmama gerek kalmaz:

VHosts / Sanal Ana Bilgiler

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

OSINT

Bazı VHosts'ları IP'lerde bulmak için HostHunter veya diğer API'leri kullanabilirsiniz.

Brute Force

Eğer bazı alt alanların bir web sunucusunda gizli olabileceğinden şüpheleniyorsanız, brute force denemesi yapabilirsiniz:

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

Bu teknikle, dahili/gizli uç noktalara erişim sağlayabilirsiniz.

CORS Brute Force

Bazen, yalnızca geçerli bir alan/ad alanı Origin başlığında ayarlandığında Access-Control-Allow-Origin başlığını döndüren sayfalar bulabilirsiniz. Bu senaryolarda, bu davranışı keşfetmek için yeni alt alanlar bulmak amacıyla kötüye kullanabilirsiniz.

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

Buckets Brute Force

Alt alanlar ararken, herhangi bir tür bucket'a işaret edip etmediğine dikkat edin ve bu durumda izinleri kontrol edin. Ayrıca, bu noktada kapsam içindeki tüm alan adlarını bildiğiniz için, mümkün olan bucket isimlerini brute force yapmayı ve izinleri kontrol etmeyi deneyin.

Monitorization

Bir alan adının yeni alt alanları oluşturulup oluşturulmadığını Sertifika Şeffaflığı Loglarını izleyerek izleyebilirsiniz sublert .

Looking for vulnerabilities

Mümkün olan alt alan devralmalarını kontrol edin. Eğer alt alan bazı S3 bucket'larına işaret ediyorsa, izinleri kontrol edin.

Eğer keşif sırasında bulduğunuz varlıkların IP'lerinden farklı bir IP ile bir alt alan bulursanız, temel bir güvenlik açığı taraması (Nessus veya OpenVAS kullanarak) ve bazı port taramaları nmap/masscan/shodan ile gerçekleştirmelisiniz. Hangi hizmetlerin çalıştığına bağlı olarak, bu kitapta "onlara saldırmak" için bazı ipuçları bulabilirsiniz. Bazı durumlarda alt alanın, müşterinin kontrolünde olmayan bir IP içinde barındırıldığını unutmayın, bu nedenle kapsamda değildir, dikkatli olun.

IPs

Başlangıç adımlarında bazı IP aralıkları, alan adları ve alt alanlar bulmuş olabilirsiniz. Artık bu aralıklardan tüm IP'leri toplama ve alan adları/alt alanlar için (DNS sorguları) zamanı.

Aşağıdaki ücretsiz API'lerden hizmetler kullanarak, alan adları ve alt alanlar tarafından kullanılan önceki IP'leri de bulabilirsiniz. Bu IP'ler hala müşteri tarafından sahiplenilmiş olabilir (ve CloudFlare bypass'larını bulmanıza yardımcı olabilir)

Ayrıca, belirli bir IP adresine işaret eden alan adlarını kontrol etmek için hakip2host aracını kullanabilirsiniz.

Looking for vulnerabilities

CDN'lere ait olmayan tüm IP'leri port taraması yapın (çünkü burada ilginç bir şey bulma olasılığınız çok düşük). Keşfedilen çalışan hizmetlerde güvenlik açıkları bulma şansınız olabilir.

Host'ları tarama hakkında bir rehber bulun.

Web sunucuları avı

Tüm şirketleri ve varlıklarını bulduk ve kapsam içindeki IP aralıklarını, alan adlarını ve alt alanları biliyoruz. Web sunucularını arama zamanı.

Önceki adımlarda muhtemelen keşfedilen IP'ler ve alan adları üzerinde bazı keşifler yaptınız, bu nedenle mümkün olan tüm web sunucularını zaten bulmuş olabilirsiniz. Ancak, bulmadıysanız, şimdi kapsam içinde web sunucularını aramak için bazı hızlı ipuçlarını göreceğiz.

Lütfen, bunun web uygulamaları keşfine yönelik olacağını unutmayın, bu nedenle güvenlik açığı ve port taraması da yapmalısınız (kapsam tarafından izin verilirse).

Web sunucularıyla ilgili açık portları keşfetmek için masscan kullanarak hızlı bir yöntem** bulabilirsiniz. Web sunucularını aramak için başka bir kullanıcı dostu araç httprobe, fprobe ve httpxdir. Sadece bir alan adı listesi geçiyorsunuz ve 80 (http) ve 443 (https) portlarına bağlanmaya çalışıyor. Ayrıca, diğer portları denemesi 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 kapsamda bulunan tüm web sunucularını (şirketin IP'leri ve tüm alan adları ve alt alan adları arasında) keşfettiğinize göre, muhtemelen nereden başlayacağınızı bilmiyorsunuz. Bu yüzden, bunu basit tutalım ve hepsinin ekran görüntülerini alarak başlayalım. Sadece ana sayfaya bakarak daha savunmasız olabilecek garip uç noktalar bulabilirsiniz.

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

Ayrıca, eyeballer kullanarak tüm ekran görüntülerini tarayabilir ve hangi noktaların muhtemelen zafiyet içerebileceğini öğrenebilirsiniz.

Kamu Bulut Varlıkları

Bir şirkete ait potansiyel bulut varlıklarını bulmak için o şirketi tanımlayan anahtar kelimelerle bir listeye başlamalısınız. Örneğin, bir kripto şirketi için şu kelimeleri kullanabilirsiniz: "crypto", "wallet", "dao", "<domain_name>", <"subdomain_names">.

Ayrıca, kova içinde kullanılan yaygın kelimelerin kelime listelerine ihtiyacınız olacak:

Sonra, bu kelimelerle permutasyonlar oluşturmalısınız (daha fazla bilgi için İkinci Tur DNS Kaba Kuvvet bölümüne bakın).

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

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

Zafiyet Arama

Açık kova veya bulut fonksiyonları gibi şeyler bulursanız, onlara erişmeli ve size ne sunduklarını görmeli ve bunları kötüye kullanıp kullanamayacağınızı denemelisiniz.

E-postalar

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

Zafiyet Arama

E-postalar, daha sonra web girişlerini ve kimlik doğrulama hizmetlerini (SSH gibi) kaba kuvvetle kırmak için faydalı olacaktır. Ayrıca, phishing için de gereklidir. Dahası, bu API'ler, e-posta arkasındaki kişi hakkında daha fazla bilgi sağlayacaktır, bu da phishing kampanyası için faydalıdır.

Kimlik Bilgisi Sızıntıları

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

Zafiyet Arama

Geçerli sızdırılmış kimlik bilgileri bulursanız, bu çok kolay bir kazanımdır.

Gizli Bilgiler Sızıntıları

Kimlik bilgisi sızıntıları, hassas bilgilerin sızdırıldığı ve satıldığı şirketlerin hacklenmesiyle ilgilidir. Ancak, şirketler, bu veritabanlarında yer almayan diğer sızıntılardan da etkilenebilir:

Github Sızıntıları

Kimlik bilgileri ve API'ler, şirketin veya o github şirketinde çalışan kullanıcıların açık havuzlarında sızdırılabilir. Leakos adlı aracı kullanarak bir kuruluşun ve onun geliştiricilerinin tüm açık havuzlarını indirmek ve bunlar üzerinde otomatik olarak gitleaks çalıştırabilirsiniz.

Leakos, bazen web sayfalarının da gizli bilgiler içerebileceği için, kendisine sağlanan URL'ler üzerinden gitleaks çalıştırmak için de kullanılabilir.

Github Dorks

Ayrıca, saldırdığınız kuruluşta arayabileceğiniz potansiyel github dorks için bu sayfayı kontrol edin:

Github Dorks & Leaks

Paste Sızıntıları

Bazen saldırganlar veya sadece çalışanlar, şirket içeriğini bir paste sitesinde yayınlayabilir. Bu, hassas bilgiler içerebilir veya içermeyebilir, ancak aramak için çok ilginçtir. Birden fazla paste sitesinde aynı anda arama yapmak için Pastos aracını kullanabilirsiniz.

Google Dorks

Eski ama altın değerinde google dorks, orada olmaması gereken açık bilgileri bulmak için her zaman faydalıdır. Tek sorun, google-hacking-database içinde çalıştırılamayacak binlerce olası sorgu bulunmasıdır. Bu yüzden, en sevdiğiniz 10 tanesini alabilir veya hepsini çalıştırmak için Gorks gibi bir araç kullanabilirsiniz.

Not edin ki, tüm veritabanını düzenli Google tarayıcısını kullanarak çalıştırmayı bekleyen araçlar asla bitmeyecek, çünkü Google sizi çok kısa sürede engelleyecektir.

Zafiyet Arama

Geçerli sızdırılmış kimlik bilgileri veya API token'ları bulursanız, bu çok kolay bir kazanımdır.

Kamu Kod Zafiyetleri

Eğer şirketin açık kaynak kodu olduğunu bulursanız, bunu analiz edebilir ve üzerinde zafiyetler arayabilirsiniz.

Dile bağlı olarak, kullanabileceğiniz farklı araçlar vardır:

Source code Review / SAST Tools

Ayrıca, açık havuzları taramanıza olanak tanıyan ücretsiz hizmetler de vardır, örneğin:

Hata avcıları tarafından bulunan zafiyetlerin çoğunluğu web uygulamalarında yer almaktadır, bu yüzden bu noktada bir web uygulaması test metodolojisi hakkında konuşmak istiyorum ve bu bilgiyi burada bulabilirsiniz.

Ayrıca, Web Otomatik Tarayıcıları açık kaynak araçları bölümüne özel bir atıfta bulunmak istiyorum, çünkü, çok hassas zafiyetleri bulmalarını beklememelisiniz, ancak ilk web bilgilerini elde etmek için iş akışlarına entegre etmekte faydalıdırlar.

Tekrar

Tebrikler! Bu noktada tüm temel numaraları gerçekleştirmişsinizdir. Evet, bu temel çünkü daha fazla numara yapılabilir (daha fazla hile göreceğiz).

Yani, zaten şunları buldunuz:

  1. Kapsamdaki tüm şirketleri buldunuz

  2. Şirketlere ait tüm varlıkları buldunuz (ve kapsamda bazı zafiyet taramaları gerçekleştirdiniz)

  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 devralma durumu var mı?)

  5. Kapsamdaki tüm IP'leri (CDN'lerden ve CDN'lerden olmayan) buldunuz.

  6. Tüm web sunucularını buldunuz ve bunların ekran görüntülerini aldınız (daha derin bir incelemeyi gerektiren garip bir şey var mı?)

  7. Şirkete ait tüm potansiyel kamu bulut varlıklarını buldunuz.

  8. E-postalar, kimlik bilgisi sızıntıları ve gizli sızıntılar size çok kolay bir büyük kazanç sağlayabilir.

  9. Bulduğunuz tüm web sitelerini pentest ettiniz

Tam Recon Otomatik Araçlar

Belirli bir kapsamda önerilen eylemlerin bir kısmını gerçekleştirecek birçok araç bulunmaktadır.

Referanslar

Hackleme kariyerine ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - işe alıyoruz! (akıcı Lehçe yazılı ve sözlü gereklidir).

HackTricks'i Destekleyin

Last updated