8.1.1 Footprinting
Definisi
Footprinting adalah teknik mengumpulkan informasi publik tentang target tampa melakukan kontak langsung dengan sistem target. Ini adalah langkah paling awal dalam reconnaissance passive - data dikumpulkan dari sumber-sumber terbuka (Open Source Intelligence/OSINT) sehingga target tidak menyadari bahwa mereka sedang dipetakan.
Tujuan utama footprinting:
- Mengidentifikasi IP range dan subnet milik target
- Mengetahui nama domain, subdomain, dan DNS records
- Mendapatkan informasi teknologi web (CMS, framework, server)
- Menemukan email, nomor telepon, lokasi fisik, dan struktur organisasi
- Mengumpulkan metadata dari dokumen publik
1. WHOIS Lookup
WHOIS adalah protokol query yang mengembalikan informasi kepemilikan domain - siapa pemilik, kapan didaftarkan, kapan kedaluwarsa, dan siapa registrarnya.
Tools WHOIS
whois (CLI)
whois example.com
Output menampilkan:
- Registrar: Nama perusahaan tempat domain didaftarkan
- Name Servers: ns1.example.com, ns2.example.com
- Creation/Expiry Date: Rentang waktu kepemilikan domain
- Registrant Organization: Nama organisasi pemilik
- Registrant Email: Alamat email pendaftar (sering menggunakan privacy protection)
- Admin/Technical Contact: Informasi kontak teknis
WHOIS via Web
- whois.domaintools.com - Antarmuka grafis dengan historical WHOIS
- who.is - WHOIS sederhana
- viewdns.info - Reverse WHOIS, WHOIS historical
Reverse WHOIS
Jika target menggunakan privacy protection, lakukan reverse WHOIS untuk mencari domain lain yang dimiliki oleh nama/email yang sama:
whois 1.2.3.4
Contoh Analisis WHOIS
$ whois nsa.gov
...
Domain Name: NSA.GOV
Created On: 01-Nov-1989
Expiration Date: 01-Nov-2026
Registrar: DOTGOV Registry
Registrant Organization: National Security Agency
Registrant State/Province: MD
Registrant Country: US
Name Servers: ns1.nsa.gov, ns2.nsa.gov
Domain yang baru didaftarkan (kurang dari 1 tahun) dan memiliki registrant organization berbeda dengan ekspektasi bisa menjadi indikasi typosquatting atau domain parkir.
2. DNS Reconnaissance
DNS menyimpan banyak informasi tentang infrastruktur target. Tiap record DNS memberi petunjuk berbeda.
Types of DNS Records
| Record | Fungsi | Contoh |
|---|---|---|
| A | IPv4 address | 93.184.216.34 |
| AAAA | IPv6 address | 2606:2800:220:1:248:1893:25c8:1946 |
| MX | Mail server | mail.example.com |
| NS | Name server | ns1.example.com |
| CNAME | Canonical/alias | www ke domain utama |
| TXT | Text (SPF, DKIM, DMARC, verifikasi) | "v=spf1 include:_spf.google.com ~all" |
| SOA | Start of Authority | Informasi zona |
| SRV | Service location | _sip._tcp.example.com |
Dig (Domain Information Groper)
dig adalah tool DNS paling powerfull di Linux.
# Query A record
dig example.com
# Query specific record type
dig example.com MX
dig example.com NS
dig example.com TXT
dig example.com ANY
# Short output
dig example.com +short
# Trace dari root
dig example.com +trace
# Query ke DNS server tertentu
dig @8.8.8.8 example.com
Contoh output dig MX:
$ dig google.com MX +short
10 smtp.google.com
20 alt1.smtp.google.com
30 alt2.smtp.google.com
Nslookup
Alternatif sederhana untuk query DNS.
# Query default
nslookup example.com
# Query spesifik
nslookup -type=mx example.com
nslookup -type=ns example.com
nslookup -type=txt example.com
# Gunakan server DNS berbeda
nslookup example.com 8.8.8.8
DNS Brute Force Subdomain
Mencari subdomain tersembunyi dengan wordlist:
# Menggunakan dig loop - format alternatif tanpa \$( )
for sub in `cat subdomains.txt`; do
result=`dig "$sub.example.com" +short`
if [ -n "$result" ]; then
echo "$sub.example.com -> $result"
fi
done
Tool khusus: dnsrecon, dnsenum, subfinder
3. IP Range & ASN Enumeration
Setelah mengetahui domain, langkah berikutnya adalah memetakan seluruh IP range yang digunakan target.
WhoIS untuk IP
whois 8.8.8.8
ASN (Autonomous System Number)
ASN adalah identitas unik jaringan di internet. Dengan mengetahui ASN, kita bisa menemukan semua IP range milik organisasi yang sama.
# Cari ASN dari IP
whois -h whois.radb.net 8.8.8.8
# Daftar prefix dari ASN
whois -h whois.radb.net -- '-i origin AS15169'
Tool ASN:
- bgp.he.net - Hurricane Electric BGP Toolkit
- ipinfo.io - Informasi IP + ASN
- asnlookup.com - Lookup ASN berdasarkan organisasi
IP Range CIDR Calculator
# Di Linux
ipcalc 192.168.1.0/24
sipcalc 10.0.0.0/8
4. Web Technology Stack Detection
Teknologi apa yang digunakan target? Ini penting untuk menentukan attack surface.
Wappalyzer
Ekstensi browser yang otomatis mendeteksi:
- CMS: WordPress, Joomla, Drupal
- Framework: Laravel, React, Angular, Django
- Web Server: Nginx, Apache, IIS
- CDN: Cloudflare, Akamai, Fastly
- Analytics: Google Analytics, Hotjar
- Libraries: jQuery, Bootstrap, Font Awesome
BuiltWith
builtwith.com - Profil teknologi website secara detail termasuk:
- Framework JavaScript
- Library CSS
- Widget dan plugin
- Hosting provider
- SSL/TLS certificate authority
whatweb (CLI)
whatweb example.com
Output:
http://example.com [200 OK] Apache[2.4.41], Country[UNITED STATES][US],
HTML5, HTTPServer[Apache/2.4.41 (Ubuntu)],
IP[93.184.216.34], JQuery, Script[text/javascript],
Title[Example Domain], UncommonHeaders[last-modified,etag]
curl Headers
curl -I https://example.com
Perhatikan header:
- Server: Apache/2.4.41 (Ubuntu) - menunjukan web server dan OS
- X-Powered-By: PHP/7.4 - menunjukan bahasa backend
- Set-Cookie: PHPSESSID - sesi PHP aktif
- X-Generator: Drupal 7 - CMS yang digunakan
5. Google Dorking
Google Dorking adalah teknik menggunakan operator pencarian lanjutan Google untuk menemukan informasi sensitif yang terekspos di publik.
Operator Dasar
| Operator | Fungsi | Contoh |
|---|---|---|
site: |
Batasi ke domain tertentu | site:example.com |
intitle: |
Cari di judul halaman | intitle:"index of" |
inurl: |
Cari di URL | inurl:admin |
filetype: |
Filter tipe file | filetype:pdf |
cache: |
Lihat versi cache Google | cache:example.com |
link: |
Cari backlink | link:example.com |
inanchor: |
Cari di anchor text | inanchor:login |
* |
Wildcard | site:*.example.com |
Dork Praktis untuk Pentest
File konfigurasi ekspos:
site:example.com filetype:env DB_PASSWORD
site:example.com filetype:xml config
site:example.com filetype:sql "INSERT INTO" password
site:example.com ext:cfg "db_password"
Direktori terbuka:
site:example.com intitle:"index of" /admin
site:example.com intitle:"index of" /backup
site:example.com intitle:"index of" /config
site:example.com intitle:"index of" /logs
Halaman login & admin:
site:example.com inurl:admin login
site:example.com intitle:"login" "password"
site:example.com inurl:wp-admin
site:example.com inurl:8080 OR inurl:8443
File ekspos (PDF, DOC, XLS):
site:example.com filetype:xls password
site:example.com filetype:pdf confidential
site:example.com filetype:csv "nama" "alamat" "telepon"
site:example.com filetype:docx "rahasia"
GHDB (Google Hacking Database): Koleksi dork siap pakai dari exploit-db.com:
site:exploit-db.com "GHDB"
6. Email & Employee Reconnaissance
Menemukan alamat email karyawan dan struktur organisasi.
theHarvester
theHarvester -d example.com -b google,linkedin,bing,yahoo
Output: email addresses, subdomains, IPs, virtual hosts.
hunter.io
https://hunter.io - Cari alamat email berdasarkan
domain dengan pola: {first}.{last}@example.com
Phonebook.cz
Crawler yang mengumpulkan email, domain, dan URL dari sumber publik.
7. Metadata Extraction
File publik (PDF, DOC, XLS, gambar) sering menyimpan metadata seperti nama penulis, software version, path folder, dan bahkan username.
ExifTool
exiftool dokumen.pdf
exiftool foto.jpg
FOCA (Windows)
Tool GUI untuk mengekstrak metadata dari dokumen publik - sangat powerfull untuk menemukan struktur folder internal perusahaan.
Contoh Workflow Footprinting Lengkap
Target: example.com
1. WHOIS -> Dapatkan registrant, name server, expiry date
$ whois example.com
2. DNS -> Dapatkan A, MX, NS, TXT records
$ dig example.com ANY +short
$ dig example.com MX +short
3. Subdomain -> Cari subdomain tersembunyi
$ dnsrecon -d example.com -D subdomains.txt -t brt
4. IP Range -> Dapatkan ASN dan semua prefix IP
$ IP=`dig example.com +short` && whois -h whois.radb.net "$IP"
5. Teknologi -> Identifikasi stack teknologi
$ whatweb example.com
6. Google dork -> Cari file ekspos dan login pages
$ site:example.com filetype:pdf
7. Email -> Kumpulkan alamat email publik
$ theHarvester -d example.com -b google
Kesimpulan
Footprinting adalah fondasi pentest. Tanpa footprinting yang baik, pentester buta terhadap target. Semakin banyak informasi yang terkumpul di fase ini, semakin besar peluang menemukan celah keamanan di fase exploitation. Semua teknik di atas legal digunakan terhadap target yang sudah mendapatkan izin tertulis (written authorization).