External Recon Methodology

Support HackTricks

If you are interested in hacking career and hack the unhackable - we are hiring! (вимагається вільне володіння польською мовою в усній та письмовій формі).

Assets discoveries

Отже, вам сказали, що все, що належить якійсь компанії, знаходиться в межах сфери, і ви хочете з'ясувати, що насправді належить цій компанії.

Мета цього етапу - отримати всі компанії, що належать головній компанії, а потім всі активи цих компаній. Для цього ми будемо:

  1. Знайти придбання головної компанії, це дасть нам компанії в межах сфери.

  2. Знайти ASN (якщо є) кожної компанії, це дасть нам діапазони IP, що належать кожній компанії.

  3. Використовувати зворотні whois запити для пошуку інших записів (імен організацій, доменів...) пов'язаних з першим (це можна робити рекурсивно).

  4. Використовувати інші техніки, такі як фільтри shodan org та ssl, щоб шукати інші активи (трик ssl можна робити рекурсивно).

Acquisitions

По-перше, нам потрібно знати, які інші компанії належать головній компанії. Один з варіантів - відвідати https://www.crunchbase.com/, шукати головну компанію і натиснути на "придбання". Там ви побачите інші компанії, придбані головною. Інший варіант - відвідати сторінку Вікіпедії головної компанії та шукати придбання.

Добре, на цьому етапі ви повинні знати всі компанії в межах сфери. Давайте з'ясуємо, як знайти їх активи.

ASNs

Номер автономної системи (ASN) - це унікальний номер, присвоєний автономній системі (AS) Управлінням Інтернету (IANA). AS складається з блоків IP-адрес, які мають чітко визначену політику доступу до зовнішніх мереж і адмініструються однією організацією, але можуть складатися з кількох операторів.

Цікаво дізнатися, чи компанія має призначений ASN, щоб знайти її діапазони IP. Було б цікаво провести тест на вразливість проти всіх хостів в межах сфери та шукати домени в цих IP. Ви можете шукати за назвою компанії, за IP або за доменом на https://bgp.he.net/. Залежно від регіону компанії, ці посилання можуть бути корисними для збору додаткових даних: AFRINIC (Африка), Arin(Північна Америка), APNIC (Азія), LACNIC (Латинська Америка), RIPE NCC (Європа). В будь-якому випадку, ймовірно, вся корисна інформація (діапазони IP та Whois) вже з'являється за першим посиланням.

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

Також, BBOT's перерахунок піддоменів автоматично агрегує та підсумовує ASN в кінці сканування.

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

Ви можете знайти IP-діапазони організації також за допомогою http://asnlookup.com/ (він має безкоштовний API). Ви можете знайти IP та ASN домену, використовуючи http://ipv4info.com/.

Шукання вразливостей

На цьому етапі ми знаємо всі активи в межах обсягу, тому, якщо вам дозволено, ви можете запустити деякі сканери вразливостей (Nessus, OpenVAS) на всіх хостах. Також ви можете запустити деякі сканування портів або використовувати сервіси, такі як shodan для знаходження відкритих портів і в залежності від того, що ви знайдете, вам слід ознайомитися з цією книгою, щоб дізнатися, як провести пентест кількох можливих сервісів. Також варто згадати, що ви можете підготувати деякі списки стандартних імен користувачів та паролів і спробувати брутфорсити сервіси за допомогою https://github.com/x90skysn3k/brutespray.

Домені

Ми знаємо всі компанії в межах обсягу та їх активи, час знайти домени в межах обсягу.

Зверніть увагу, що в наступних запропонованих техніках ви також можете знайти піддомени, і цю інформацію не слід недооцінювати.

Перш за все, вам слід шукати основний домен(и) кожної компанії. Наприклад, для Tesla Inc. це буде tesla.com.

Зворотний DNS

Оскільки ви знайшли всі IP-діапазони доменів, ви можете спробувати виконати зворотні DNS-запити на цих IP, щоб знайти більше доменів в межах обсягу. Спробуйте використовувати деякий DNS-сервер жертви або деякий відомий DNS-сервер (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

Для цього, адміністратор повинен вручну увімкнути PTR. Ви також можете використовувати онлайн-інструмент для цієї інформації: http://ptrarchive.com/

Зворотний Whois (loop)

Всередині whois ви можете знайти багато цікавої інформації, такої як назва організації, адреса, електронні листи, номери телефонів... Але що ще цікавіше, так це те, що ви можете знайти більше активів, пов'язаних з компанією, якщо ви виконаєте зворотні whois запити за будь-яким з цих полів (наприклад, інші реєстрації whois, де з'являється той же електронний лист). Ви можете використовувати онлайн-інструменти, такі як:

Ви можете автоматизувати це завдання, використовуючи DomLink (потрібен ключ API whoxy). Ви також можете виконати деяке автоматичне виявлення зворотного whois за допомогою amass: amass intel -d tesla.com -whois

Зверніть увагу, що ви можете використовувати цю техніку, щоб виявити більше доменних імен щоразу, коли ви знаходите новий домен.

Трекери

Якщо ви знайдете той же ID того ж трекера на 2 різних сторінках, ви можете припустити, що обидві сторінки управляються тією ж командою. Наприклад, якщо ви бачите той же ID Google Analytics або той же ID Adsense на кількох сторінках.

Є кілька сторінок і інструментів, які дозволяють вам шукати за цими трекерами та іншими:

Favicon

Чи знали ви, що ми можемо знайти пов'язані домени та піддомени нашої цілі, шукаючи той же хеш значка favicon? Це саме те, що робить інструмент favihash.py, створений @m4ll0k2. Ось як його використовувати:

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 дозволить нам виявити домени, які мають однаковий хеш значка favicon, як у нашої цілі.

Більше того, ви також можете шукати технології, використовуючи хеш значка, як пояснено в цьому блозі. Це означає, що якщо ви знаєте хеш значка favicon вразливої версії веб-технології, ви можете шукати в shodan і знайти більше вразливих місць:

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

Це те, як ви можете обчислити хеш фавікону веб-сайту:

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

Шукайте на веб-сторінках рядки, які можуть бути спільними для різних веб-сайтів в одній організації. Авторське право може бути хорошим прикладом. Потім шукайте цей рядок у google, в інших браузерах або навіть у shodan: shodan search http.html:"Copyright string"

CRT Time

Зазвичай є завдання cron, таке як

# /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 find domains belonging to the same company in the certificate transparency logs. 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 domains and subdomain sharing the same dmarc information.

Passive Takeover

Apparently is common for people to assign subdomains to IPs that belongs to cloud providers and at some point lose that IP address but forget about removing the DNS record. Therefore, just spawning a VM in a cloud (like Digital Ocean) you will be actually taking over some subdomains(s).

This post explains a store about it and propose a script that spawns a VM in DigitalOcean, gets the IPv4 of the new machine, and searches in Virustotal for subdomain records pointing to it.

Other ways

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

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 domains related with a main domain and subdomains of them, pretty amazing.

Looking for vulnerabilities

Check for some domain takeover. Maybe some company is using some a domain but they lost the ownership. Just register it (if cheap enough) and let know the company.

If you find any domain with an IP different from the ones you already found in the assets discovery, 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. Зверніть увагу, що іноді домен розміщений на IP, який не контролюється клієнтом, тому це не в межах обсягу, будьте обережні.

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.

Note that some of the tools and techniques to find domains can also help to find subdomains!

DNS

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

dnsrecon -a -d tesla.com

OSINT

Найшвидший спосіб отримати багато піддоменів - це пошук у зовнішніх джерелах. Найбільш використовувані інструменти такі (для кращих результатів налаштуйте API ключі):

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

Є інші цікаві інструменти/API, які, навіть якщо не спеціалізуються безпосередньо на знаходженні піддоменів, можуть бути корисними для їх знаходження, такі як:

# 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: отримує відомі URL-адреси з Open Threat Exchange від AlienVault, Wayback Machine та Common Crawl для будь-якого заданого домену.

# Get subdomains from GAUs found URLs
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
  • SubDomainizer & subscraper: Вони сканують веб, шукаючи JS файли та витягують піддомени звідти.

# 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

Цей проект пропонує безкоштовно всі піддомени, пов'язані з програмами bug-bounty. Ви також можете отримати доступ до цих даних, використовуючи chaospy або навіть отримати доступ до обсягу, використаного цим проектом https://github.com/projectdiscovery/chaos-public-program-list

Ви можете знайти порівняння багатьох з цих інструментів тут: https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off

DNS Brute force

Спробуємо знайти нові піддомени, брутфорсуючи DNS-сервери, використовуючи можливі імена піддоменів.

Для цієї дії вам знадобляться деякі загальні списки слів піддоменів, такі як:

А також IP-адреси хороших DNS-резолверів. Щоб згенерувати список надійних DNS-резолверів, ви можете завантажити резолвери з https://public-dns.info/nameservers-all.txt і використовувати dnsvalidator для їх фільтрації. Або ви можете використовувати: https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt

Найбільш рекомендовані інструменти для брутфорсу DNS:

  • massdns: Це був перший інструмент, який виконував ефективний брутфорс DNS. Він дуже швидкий, однак схильний до хибнопозитивних результатів.

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: Я думаю, що цей інструмент використовує лише 1 резолвер.

gobuster dns -d mysite.com -t 50 -w subdomains.txt
  • shuffledns є обгорткою навколо massdns, написаною на go, яка дозволяє вам перераховувати дійсні піддомени, використовуючи активний брутфорс, а також вирішувати піддомени з обробкою підстановочних знаків та простим підтримкою вводу-виводу.

shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
  • puredns: Він також використовує massdns.

puredns bruteforce all.txt domain.com
  • aiodnsbrute використовує asyncio для асинхронного брутфорсу доменних імен.

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

Другий раунд брутфорсу DNS

Після того, як ви знайшли піддомени, використовуючи відкриті джерела та брутфорс, ви можете згенерувати варіації знайдених піддоменів, щоб спробувати знайти ще більше. Для цієї мети корисні кілька інструментів:

  • dnsgen: Задані домени та піддомени генерують перестановки.

cat subdomains.txt | dnsgen -
  • goaltdns: Задані домени та піддомени генерують перестановки.

  • Ви можете отримати перестановки goaltdns wordlist тут.

goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
  • gotator: Дано домени та піддомени, генерує перестановки. Якщо файл перестановок не вказано, gotator використає свій власний.

gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
  • altdns: Окрім генерації пермутацій піддоменів, він також може спробувати їх розв'язати (але краще використовувати попередньо згадані інструменти).

  • Ви можете отримати пермутації altdns wordlist тут.

altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
  • dmut: Ще один інструмент для виконання перестановок, мутацій та змін піддоменів. Цей інструмент буде брутфорсити результат (він не підтримує dns wild card).

  • Ви можете отримати список слів для перестановок dmut тут.

cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
  • alterx: На основі домену він генерує нові потенційні імена піддоменів на основі вказаних шаблонів, щоб спробувати виявити більше піддоменів.

Генерація розумних перестановок

  • regulator: Для отримання додаткової інформації прочитайте цей пост, але в основному він отримає основні частини з виявлених піддоменів і змішає їх, щоб знайти більше піддоменів.

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 — це фузер для брутфорсу піддоменів, поєднаний з надзвичайно простим, але ефективним алгоритмом, що керується відповідями DNS. Він використовує наданий набір вхідних даних, таких як спеціально підібраний список слів або історичні записи DNS/TLS, щоб точно синтезувати більше відповідних доменних імен і розширювати їх ще більше в циклі на основі інформації, зібраної під час сканування DNS.

echo www | subzuf facebook.com

Робочий процес виявлення піддоменів

Перегляньте цей блог-пост, який я написав про те, як автоматизувати виявлення піддоменів з домену, використовуючи Trickest workflows, щоб мені не потрібно було вручну запускати купу інструментів на моєму комп'ютері:

VHosts / Віртуальні хости

Якщо ви знайшли IP-адресу, що містить одну або кілька веб-сторінок, що належать піддоменам, ви можете спробувати знайти інші піддомени з веб-сайтами на цій IP-адресі, шукаючи в OSINT джерелах домени на IP або брутфорсити доменні імена VHost на цій IP-адресі.

OSINT

Ви можете знайти деякі VHosts на IP-адресах, використовуючи HostHunter або інші API.

Брутфорс

Якщо ви підозрюєте, що деякий піддомен може бути прихований на веб-сервері, ви можете спробувати його брутфорсити:

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

Ця техніка може дозволити вам отримати доступ до внутрішніх/прихованих кінцевих точок.

CORS Brute Force

Іноді ви знайдете сторінки, які повертають заголовок Access-Control-Allow-Origin лише тоді, коли дійсний домен/піддомен встановлений у заголовку Origin. У цих сценаріях ви можете зловживати цією поведінкою, щоб виявити нові піддомени.

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

Під час пошуку субдоменів звертайте увагу, чи вказують вони на будь-який тип бакету, і в такому випадку перевірте дозволи. Також, оскільки на цьому етапі ви будете знати всі домени в межах обсягу, спробуйте зламати можливі імена бакетів і перевірити дозволи.

Моніторинг

Ви можете моніторити, якщо нові субдомени домену створюються, моніторячи Журнали прозорості сертифікатів sublert .

Пошук вразливостей

Перевірте на можливі взяття субдоменів під контроль. Якщо субдомен вказує на якийсь S3 бакет, перевірте дозволи.

Якщо ви знайдете будь-який субдомен з IP, відмінним від тих, що ви вже знайшли під час виявлення активів, вам слід виконати базове сканування вразливостей (використовуючи Nessus або OpenVAS) і деяке сканування портів з nmap/masscan/shodan. Залежно від того, які сервіси працюють, ви можете знайти в цьому посібнику деякі хитрощі для "атаки" на них. Зверніть увагу, що іноді субдомен розміщений на IP, який не контролюється клієнтом, тому він не входить в обсяг, будьте обережні.

IP-адреси

На початкових етапах ви могли знайти деякі діапазони IP, домени та субдомени. Час зібрати всі IP з цих діапазонів та для доменів/субдоменів (DNS запити).

Використовуючи сервіси з наступних безкоштовних API, ви також можете знайти попередні IP, які використовувалися доменами та субдоменами. Ці IP можуть все ще належати клієнту (і можуть дозволити вам знайти обхідні шляхи CloudFlare)

Ви також можете перевірити домени, що вказують на конкретну IP-адресу, використовуючи інструмент hakip2host

Пошук вразливостей

Скануйте порти всіх IP, які не належать CDN (оскільки ви, ймовірно, не знайдете нічого цікавого там). У виявлених запущених сервісах ви можете знайти вразливості.

Знайдіть посібник про те, як сканувати хости.

Полювання на веб-сервери

Ми знайшли всі компанії та їх активи, і ми знаємо діапазони IP, домени та субдомени в межах обсягу. Час шукати веб-сервери.

На попередніх етапах ви, ймовірно, вже виконали деяке розвідку виявлених IP та доменів, тому ви могли вже знайти всі можливі веб-сервери. Однак, якщо ви цього не зробили, ми зараз розглянемо деякі швидкі хитрощі для пошуку веб-серверів в межах обсягу.

Зверніть увагу, що це буде орієнтовано на виявлення веб-додатків, тому вам слід виконати сканування вразливостей та сканування портів також (якщо дозволено обсягом).

Швидкий метод для виявлення відкритих портів, пов'язаних з веб серверами, використовуючи masscan можна знайти тут. Ще один зручний інструмент для пошуку веб-серверів - це httprobe, fprobe та httpx. Ви просто передаєте список доменів, і він спробує підключитися до порту 80 (http) та 443 (https). Додатково, ви можете вказати спробувати інші порти:

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

Скриншоти

Тепер, коли ви виявили всі веб-сервери, що входять до сфери (серед IP-адрес компанії та всіх доменів і піддоменів), ви, напевно, не знаєте, з чого почати. Тож давайте спростимо і просто почнемо з того, щоб зробити скриншоти всіх з них. Просто подивившись на головну сторінку, ви можете знайти незвичайні кінцеві точки, які більш схильні до того, щоб бути вразливими.

Для реалізації запропонованої ідеї ви можете використовувати EyeWitness, HttpScreenshot, Aquatone, Shutter, Gowitness або webscreenshot.

Більше того, ви можете використовувати eyeballer, щоб переглянути всі скриншоти і дізнатися, що, ймовірно, міститиме вразливості, а що ні.

Публічні хмарні активи

Щоб знайти потенційні хмарні активи, що належать компанії, вам слід почати зі списку ключових слів, які ідентифікують цю компанію. Наприклад, для криптокомпанії ви можете використовувати такі слова: "crypto", "wallet", "dao", "<domain_name>", <"subdomain_names">.

Вам також знадобляться списки слів загальних слів, що використовуються в бакетах:

Потім, з цими словами, ви повинні згенерувати пермутації (перевірте Другий раунд DNS брутфорсу для отримання додаткової інформації).

З отриманими списками слів ви можете використовувати такі інструменти, як cloud_enum, CloudScraper, cloudlist або S3Scanner.

Пам'ятайте, що, шукаючи хмарні активи, вам слід шукати більше, ніж просто бакети в AWS.

Шукання вразливостей

Якщо ви знайдете такі речі, як відкриті бакети або хмарні функції, вам слід доступитися до них і спробувати подивитися, що вони вам пропонують і чи можете ви їх зловживати.

Електронні листи

З доменами та піддоменами в межах сфери у вас, по суті, є все, що вам потрібно, щоб почати шукати електронні листи. Ось API та інструменти, які найкраще працювали для мене, щоб знайти електронні листи компанії:

Шукання вразливостей

Електронні листи знадобляться пізніше для брутфорсу веб-логінів та авторизаційних сервісів (таких як SSH). Крім того, вони потрібні для фішингу. Більше того, ці API нададуть вам ще більше інформації про особу, що стоїть за електронною поштою, що корисно для фішингової кампанії.

Витоки облікових даних

З доменами, піддоменами та електронними листами ви можете почати шукати облікові дані, які були витікали в минулому і належать цим електронним листам:

Шукання вразливостей

Якщо ви знайдете дійсні витіклі облікові дані, це дуже легка перемога.

Витоки секретів

Витоки облікових даних пов'язані з злом компаній, де конфіденційна інформація була витікала та продавалася. Однак компанії можуть бути піддані впливу інших витоків, інформація про які не міститься в цих базах даних:

Витоки Github

Облікові дані та API можуть бути витікали в публічних репозиторіях компанії або користувачів, які працюють на цю компанію в GitHub. Ви можете використовувати інструмент Leakos, щоб завантажити всі публічні репозиторії організації та її розробників і автоматично запустити gitleaks на них.

Leakos також можна використовувати для запуску gitleaks проти всього тексту, наданого URL-адресами, оскільки іноді веб-сторінки також містять секрети.

Dorks Github

Перевірте також цю сторінку на предмет потенційних github dorks, які ви також могли б шукати в організації, яку ви атакуєте:

Github Dorks & Leaks

Витоки Pastes

Іноді зловмисники або просто працівники публікують вміст компанії на сайті паст. Це може або не може містити конфіденційну інформацію, але це дуже цікаво шукати. Ви можете використовувати інструмент Pastos, щоб шукати більш ніж на 80 сайтах паст одночасно.

Dorks Google

Старі, але золоті dorks Google завжди корисні для знаходження викритої інформації, якої там не повинно бути. Єдина проблема в тому, що google-hacking-database містить кілька тисяч можливих запитів, які ви не можете виконати вручну. Тож ви можете взяти свої улюблені 10 або ви можете використовувати інструмент, такий як Gorks, щоб запустити їх усі.

Зверніть увагу, що інструменти, які очікують запустити всю базу даних, використовуючи звичайний браузер Google, ніколи не закінчаться, оскільки Google заблокує вас дуже-дуже швидко.

Шукання вразливостей

Якщо ви знайдете дійсні витіклі облікові дані або токени API, це дуже легка перемога.

Публічні вразливості коду

Якщо ви виявили, що компанія має відкритий код, ви можете проаналізувати його та шукати вразливості в ньому.

Залежно від мови існують різні інструменти, які ви можете використовувати:

Source code Review / SAST Tools

Існують також безкоштовні сервіси, які дозволяють вам сканувати публічні репозиторії, такі як:

Більшість вразливостей, виявлених мисливцями за помилками, знаходиться всередині веб-додатків, тому на цьому етапі я хотів би поговорити про методологію тестування веб-додатків, і ви можете знайти цю інформацію тут.

Я також хочу зробити особливе посилання на розділ Веб автоматизовані сканери з відкритим кодом, оскільки, якщо ви не повинні очікувати, що вони знайдуть вам дуже чутливі вразливості, вони стануть у нагоді для впровадження їх у робочі процеси, щоб отримати деяку початкову веб-інформацію.

Рекапітуляція

Вітаємо! На цьому етапі ви вже виконали всі основні перерахування. Так, це базове, оскільки можна виконати ще багато перерахувань (пізніше побачимо більше трюків).

Отже, ви вже:

  1. Знайшли всі компанії в межах сфери

  2. Знайшли всі активи, що належать компаніям (і виконали деяке сканування вразливостей, якщо це в межах сфери)

  3. Знайшли всі домени, що належать компаніям

  4. Знайшли всі піддомени доменів (чи є якісь захоплення піддоменів?)

  5. Знайшли всі IP-адреси (з і не з CDN) в межах сфери.

  6. Знайшли всі веб-сервери та зробили скриншот з них (чи є щось незвичайне, що варто більш детального розгляду?)

  7. Знайшли всі потенційні публічні хмарні активи, що належать компанії.

  8. Електронні листи, витоки облікових даних та витоки секретів, які можуть дати вам велику перемогу дуже легко.

  9. Пентестинг всіх веб-сайтів, які ви знайшли

Повні автоматизовані інструменти розвідки

Існує кілька інструментів, які виконують частину запропонованих дій проти заданої сфери.

Посилання

Якщо ви зацікавлені в кар'єрі в хакерстві та зломі незламного - ми наймаємо! (вимагається вільне володіння польською мовою в письмовій та усній формі).

Підтримка HackTricks

Last updated