Bir Domain’in Arkasında Neler Var? Bash ile Otomatik OSINT
Açık kaynak istihbaratı (OSINT), bir hedef hakkında yalnızca herkese açık kaynakları kullanarak bilgi toplama sürecidir. Güvenlik…
Bir Domain’in Arkasında Neler Var? Bash ile Otomatik OSINT
Açık kaynak istihbaratı (OSINT), bir hedef hakkında yalnızca herkese açık kaynakları kullanarak bilgi toplama sürecidir. Güvenlik araştırmalarında alan adı analizleri genellikle WHOIS kayıtları, DNS bilgileri, HTTP başlıkları ve alt alan adlarının (subdomain) incelenmesiyle başlar.
Bu projede Kali Linux üzerinde Bash scripting kullanarak belirli bir domain hakkında otomatik veri toplayan ve sonuçları okunabilir bir rapora dönüştüren “Gölge Avcısı” isimli bir araç geliştirdim.
Proje Neler Yapıyor?
- WHOIS kayıtlarını toplar.
- DNS kayıtlarını analiz eder.
- Ters DNS (PTR) sorgusu gerçekleştirir.
- HTTP başlıklarını inceler.
- Temel subdomain keşfi yapar.
- crt.sh üzerinden sertifika tabanlı subdomain keşfi gerçekleştirir.
- Tarih damgalı rapor üretir.
- Sonuçları TXT formatında saklar.
Gerekli Araçları Kur
Terminali aç ve şu komutu çalıştır:
sudo apt update && sudo apt install -y whois dnsutils curl nmap
Her aracın çalıştığını tek satırda kontrol et:
whois --version && dig -v &&
nslookup -version && curl --version
Çalışma Klasörü Oluştur
mkdir -p ~/osint-tool && cd ~/osint-tool
touch golge_avci.sh && chmod +x osınt-test.sh
Bash Scriptinin Oluşturulması
nano veya vim ile dosyayı aç:
nano ~/osint-tool/ osınt-test.sh
İlk bölümü yaz:
#!/bin/bash
# ================================================
# Otomatik OSINT Aracı
# Kullanim: ./ osınt-test.sh <domain>
# ================================================
DOMAIN=$1
TARIH=$(date +%Y-%m-%d_%H-%M)
RAPOR="osint_${DOMAIN}_${TARIH}.txt"
if [ -z "$DOMAIN" ]; then
echo "[!] Kullanim: $0 <domain>"
exit 1
fi
Banner Fonksiyonu
banner() {
echo "========================================" >> $RAPOR
echo " $1" >> $RAPOR
echo "========================================" >> $RAPOR
}
WHOIS Taraması
banner '[ 1 ] WHOIS KAYITLARI'
whois $DOMAIN 2>/dev/null | grep -E \
"Registrar|Creation|Expiry|Name Server|DNSSEC" >> $RAPOR
DNS Kayıtları (dig)
banner '[ 2 ] DNS KAYITLARI'
for TIP in A AAAA MX NS TXT SOA CNAME; do
echo "--- $TIP ---" >> $RAPOR
dig $DOMAIN $TIP +short 2>/dev/null >> $RAPOR
done
Ters DNS Sorgusu (nslookup)
banner '[ 3 ] TERS DNS (PTR)'
IP=$(dig $DOMAIN A +short | head -1)
if [ -n "$IP" ]; then
nslookup $IP 2>/dev/null >> $RAPOR
fi
HTTP Başlık Bilgisi (curl)
banner '[ 4 ] HTTP BASLIKLARI'
curl -sI --max-time 10 https://$DOMAIN 2>/dev/null \
| grep -iE 'server|x-powered|content-type|strict' >> $RAPOR
Subdomain Keşfi (DNS Bruteforce)
banner '[ 5 ] SUBDOMAIN KESFI'
SUBLAR="www mail ftp ssh admin api dev test vpn staging"
for SUB in $SUBLAR; do
SONUC=$(dig ${SUB}.${DOMAIN} A +short 2>/dev/null)
if [ -n "$SONUC" ]; then
echo "[+] ${SUB}.${DOMAIN} -> $SONUC" >> $RAPOR
fi
done
Özet ve Bitiş Mesajı
banner '[ TARAMA TAMAMLANDI ]'
echo "Alan Adi : $DOMAIN" >> $RAPOR
echo "Tarih : $(date)" >> $RAPOR
echo "Rapor : $RAPOR" >> $RAPOR
echo ""
echo "[✓] Tarama bitti! Rapor: $RAPOR"
crt.sh — Sertifika Tabanlı Subdomain Keşfi
Mevcut brute-force subdomain taramaının yanına aşağıdaki bloğu ekle. Bu yöntem, sertifika şeffaflık loglarını sorgulayarak tahmine dayalı listeden çok daha fazla subdomain bulur.
banner '[ 6 ] CRT.SH - SERTIFIKA TABANLI SUBDOMAIN KESFI'
echo "[*] crt.sh sorgulanıyor: $DOMAIN" >> $RAPOR
CRTSH=$(curl -s "https://crt.sh/?q=%25.$DOMAIN&output=json" 2>/dev/null)
if [ -n "$CRTSH" ]; then
echo "$CRTSH" \
| grep -oP '"name_value":"\K[^"]+' \
| sed 's/\\n/\n/g' | sort -u | grep -v "^\*\." >> $RAPOR
COUNT=$(echo "$CRTSH" | grep -oP '"name_value":"\K[^"]+' \
| sort -u | grep -v "^\*\." | wc -l)
echo "[+] $COUNT adet subdomain bulundu (crt.sh)" >> $RAPOR
else
echo "[-] crt.sh'e ulaşılamadı." >> $RAPOR
fi
Renk Kodlu Terminal Çıktısı
Aşağıdaki renk tanımlarını scriptin en başına (DOMAIN= satırından önce) ekle:
# === RENK TANIMLARI ===
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
BOLD='\033[1m'
NC='\033[0m' # Rengi sıfırla
Scripti Çalıştırma
Çalıştırma İzni Ver
chmod +x ~/osint-tool/osınt-test.sh
Bir Domain Tara
cd ~/osint-tool
./ osınt-test.sh example.com
Raporu Oku
cat osint_example.com_*.txt
# veya sayfalı okuma için:
less osint_example.com_*.txt

⚠ ÖNEMLİ:
- Bu aracı yalnızca kendi sahip olduğunuz veya yazılı izin aldığınız sistemlerde kullanın.
- OSINT araçları legal olmakla birlikte, izinsiz sistemlere yönelik kullanım yasadışıdır.
- Öğrenme amacıyla: example.com, testphp.vulnweb.com gibi test hedeflerini kullanın.
메타데이터
- post_id
- 8be70bcfadf6
- slug
- bir-domainin-arkasında-neler-var-bash-ile-otomatik-osint-8be70bcfadf6
- url
- https://medium.com/@znurkiraz/bir-domainin-arkas%C4%B1nda-neler-var-bash-ile-otomatik-osint-8be70bcfadf6
- canonical_url
- https://medium.com/@znurkiraz/bir-domainin-arkas%C4%B1nda-neler-var-bash-ile-otomatik-osint-8be70bcfadf6
- author_url
- https://medium.com/@znurkiraz
- status
- ok
- fetched_at
- 2026-06-14 11:28:49