to get subdomain :
curl -s https://crt.sh/?Identity=%.domain.com | grep ">*.domain.com" | sed 's/<[/]*[TB][DR]>/\n/g' | grep -vE "<|^[\*]*[\.]*domain.com" | sort -u | awk 'NF'
to get headers from each subdomain :
# get an header using
curl -I domain.com
# get headers from each subdomain using
for i in `cat subdomain.txt`; do
curl -I -s $i;
done | vim -
to get ip address :
# get an ip address
dig +short domain.com
# looping for discover all ip address's subdomain
for i in `cat subdomain.txt`; do
echo `dig +short $i`, $i
done | vim -
usage :
./getSubdomain.sh example.com | vim subdomain.txt
./getHeaders.sh subdomain.txt
Hal yang perlu diperhatikan disaat melakukan Reconnaissance
No | Title |
---|---|
1. | Security.txt |
2. | Robots.txt |
3. | 404 Not Found |
4. | Directory Listing (Index of) |
5. | Interesting Directories |
6. | Bruteforce Directories |
7. | Covers Default Vhost |
8. | Covers Aliases In TLS Certificates |
9. | Check Headers |
10. | Visual Reconnaissance |
Untuk memudahkan bagi para security researchers untuk melakukan pentest pada website, contohnya scope yang dapat dilakukan pentest, policy, contact, etc. source securitytxt.org,
/.well-known/security.txt
Digunakan untuk memberitahu web spiders bagaimana cara untuk scraping website tersebut, source Robots Exclusion Standard
/robots.txt
Cari tau bagaimana website mengatasi page yang not found mungkin saja ada informasi bocor pada website tersebut, cara ini digunakan sebelum kita bruteforce directory.
404/Not Found
Pada sebuah website hal yang pertama kali ditampilkan adalah index
dari website tersebut, sedangkan jika index
itu tidak ditemukan maka akan tampil directory listing
yang dimana biasanya menyimpan informasi penting. untuk menemukan directory listing kita buka source codenya kemudian cari directory tempat menyimpan sebuah file. source Directory Listing Information Disclosure
Directory Listing
Check beberapa directory yang menarik sebelum melakukan bruteforcing, seperti /admin/
Interesting directories
Gunakan FFUF, Wfuzz, dan tools sejenisnya untuk bruteforce directories webserver, saya disini menggunakan FFUF berikut penggunaan sederhananya :
ffuf -w /path/to/wordlist.txt -u http://127.0.0.1:8080/FUZZ -o output.txt -replay-proxy http://127.0.0.1:8080/
> -w : untuk memanggil wordlist
> -u : target host dan FUZZ merupakan parameter untuk bruteforce
> -o : untuk output
> -replay-proxy : untuk mereplay proxy
cara menggunakan FFUF : InsiderPhD
wordlist : SecList
Ketika kita pertama kali mengakses webserver, sering kali kita mengganti nama host menggunakan IP atau host acak untuk melakukan request/permintaan pada Host Headers untuk mendapatkan informasi target, caranya yaitu dengan mengganti request pada web proxy atau bisa gunakan ini :
# NO SSL/TLS
curl -H "Host: ...." http://127.0.0.1/
# SSL/TLS
curl -H "Host: ...." https://127.0.0.1/
source : Possible virtual host found, or Headers Attack
Kita juga pada tahap Reconnisee ini mencaritahu tentang SANs (Subject Alternative Names), disini kita tahu sia saja yang menggunakan Ssl/TLS tersebut, ada 2 cara kita bisa pakai manual dengan pilih tanda gembok dipojok kiri atas, atau bisa kita gunakan Openssl dengan perintah berikut :
openssl s_client -connect website.com:443 | openssl x509 -noout -text | grep DNS:
Source : How To Check Subject Alternative Names
Dalam headers juga biasanya terdapat informasi penting, cara check suatu header pada website kita bisa gunakan perintah berikut :
curl -I websitename.com
source : MDN Headers
Visual Reconnaissance digunakan ketika kita ingin mengetahui web aplikasi apa saja yang dihosting dibawah nama targetnya contohnya example.com yaitu *.example.com, caranya bisa kita gunakan aquatone :
aquatone-discovery --domain example.com
aquatone-scan --domain example.com
aquatone-gather --domain example.com
aquatone-takeover --domain example.com
source : How To Use Aquatone