340 lines
8.4 KiB
Markdown
340 lines
8.4 KiB
Markdown
# Domain Analyzer 🔍
|
|
|
|
Ein umfassendes Python-Tool zur Analyse von Domains und Mailservern. Findet heraus, wer wirklich hinter einer Domain steckt!
|
|
|
|
## Features
|
|
|
|
✅ **DNS-Analyse**: Alle wichtigen DNS-Records (A, AAAA, MX, NS, TXT, SOA, CAA, CNAME)
|
|
✅ **WHOIS-Informationen**: Automatische Erkennung von Subdomains und Prüfung der Hauptdomain
|
|
✅ **IP-Analyse**: Reverse DNS, ASN, Organisation, Geolocation
|
|
✅ **Email-Sicherheit**: SPF, DMARC, DKIM-Checks
|
|
✅ **Port-Scanning**: Erkennung offener Ports und Services
|
|
✅ **SSL/TLS-Zertifikate**: Aussteller, Gültigkeit, SANs
|
|
✅ **HTTP-Analyse**: Server-Informationen und Security-Headers
|
|
✅ **Subdomain-Enumeration**: Findet häufige Subdomains
|
|
✅ **Multi-Domain-Support**: Analysiere mehrere Domains gleichzeitig
|
|
✅ **Inhaber-Identifikation**: Klare Anzeige wer für die Domain verantwortlich ist
|
|
|
|
## Installation
|
|
|
|
### Arch Linux
|
|
|
|
```bash
|
|
# System-Pakete
|
|
sudo pacman -S whois
|
|
|
|
# Python-Pakete
|
|
pip install -r requirements.txt --break-system-packages
|
|
```
|
|
|
|
### Debian/Ubuntu
|
|
|
|
```bash
|
|
# System-Pakete
|
|
sudo apt install whois
|
|
|
|
# Python-Pakete
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### Andere Systeme
|
|
|
|
```bash
|
|
# Python-Pakete
|
|
pip install dnspython requests
|
|
```
|
|
|
|
## Verwendung
|
|
|
|
### Einzelne Domain analysieren
|
|
|
|
```bash
|
|
python3 domain_analyzer.py example.com
|
|
```
|
|
|
|
### Mehrere Domains analysieren
|
|
|
|
```bash
|
|
# Als Argumente
|
|
python3 domain_analyzer.py example.com google.com github.com
|
|
|
|
# Aus Datei (eine Domain pro Zeile)
|
|
python3 domain_analyzer.py -f domains.txt
|
|
|
|
# Mit Verzögerung zwischen Domains (empfohlen bei vielen Domains)
|
|
python3 domain_analyzer.py -f domains.txt --delay 2.0
|
|
```
|
|
|
|
### Ergebnisse speichern
|
|
|
|
```bash
|
|
# Einzelne Domain als JSON
|
|
python3 domain_analyzer.py example.com -o result.json
|
|
|
|
# Mehrere Domains in separaten JSON-Dateien
|
|
python3 domain_analyzer.py -f domains.txt --output-dir results/
|
|
```
|
|
|
|
### Weitere Optionen
|
|
|
|
```bash
|
|
# Ohne Farben (für Logs/Pipes)
|
|
python3 domain_analyzer.py example.com --no-color
|
|
|
|
# Hilfe anzeigen
|
|
python3 domain_analyzer.py --help
|
|
```
|
|
|
|
## Domain-Datei Format
|
|
|
|
Erstelle eine Textdatei mit einer Domain pro Zeile:
|
|
|
|
```txt
|
|
example.com
|
|
google.com
|
|
github.com
|
|
# Kommentare werden ignoriert
|
|
subdomain.example.com
|
|
```
|
|
|
|
## Beispiel-Output
|
|
|
|
```
|
|
================================================================================
|
|
DOMAIN ANALYSE: secure-tinyurl.com
|
|
================================================================================
|
|
|
|
[*] DNS Records
|
|
├─ A: 1 Record(s)
|
|
178.22.63.44
|
|
├─ MX: 2 Record(s)
|
|
10 mail.example.com
|
|
20 mail2.example.com
|
|
|
|
[*] WHOIS Information
|
|
├─ Registrant Organization: Awaretrain b.v.
|
|
├─ Registrant Country: NL
|
|
├─ Registrar: Hosting Concepts B.V.
|
|
├─ Creation Date: 2018-06-15
|
|
├─ Expiration Date: 2026-06-15
|
|
|
|
================================================================================
|
|
🔍 DOMAIN-INHABER
|
|
================================================================================
|
|
|
|
✓ Organisation: Awaretrain b.v.
|
|
├─ Land: NL
|
|
├─ Registrar: Hosting Concepts B.V.
|
|
|
|
[*] Email-Sicherheit
|
|
⚠ SPF: Nicht gefunden!
|
|
✓ DMARC: Vorhanden
|
|
✓ DKIM: default, google
|
|
|
|
[*] Port-Scan (häufige Ports)
|
|
✓ Port 80 (HTTP): OFFEN
|
|
✓ Port 443 (HTTPS): OFFEN
|
|
|
|
[*] SSL/TLS-Zertifikate
|
|
├─ Port 443: Zertifikat gefunden
|
|
Aussteller: Let's Encrypt
|
|
Gültig bis: 2025-02-15
|
|
|
|
================================================================================
|
|
📋 ZUSAMMENFASSUNG VERANTWORTLICHKEIT
|
|
================================================================================
|
|
|
|
✓ Domain-Inhaber: Awaretrain b.v.
|
|
├─ Registrar: Hosting Concepts B.V.
|
|
├─ Hosting: BIT BV
|
|
```
|
|
|
|
## Besondere Features
|
|
|
|
### Subdomain-Handling
|
|
|
|
Das Tool erkennt automatisch wenn eine Subdomain eingegeben wird und prüft die WHOIS-Informationen der Hauptdomain:
|
|
|
|
```bash
|
|
# Analysiert jtl-software.secure-tinyurl.com
|
|
# Prüft aber WHOIS von secure-tinyurl.com
|
|
python3 domain_analyzer.py jtl-software.secure-tinyurl.com
|
|
```
|
|
|
|
### Umfassende Inhaber-Recherche
|
|
|
|
Das Tool kombiniert verschiedene Quellen um den Inhaber zu identifizieren:
|
|
- WHOIS-Daten (Registrant Organization/Name)
|
|
- ASN/IP-Informationen (Hosting-Provider)
|
|
- Nameserver-Besitzer
|
|
- SSL-Zertifikat-Informationen
|
|
|
|
### JSON-Export
|
|
|
|
Alle Ergebnisse können als strukturiertes JSON exportiert werden für weitere Verarbeitung:
|
|
|
|
```json
|
|
{
|
|
"domain": "example.com",
|
|
"timestamp": "2025-11-28T10:30:00",
|
|
"dns": {
|
|
"A": ["93.184.216.34"],
|
|
"MX": ["10 mail.example.com"]
|
|
},
|
|
"whois": {
|
|
"registrant_organization": ["Example Inc."],
|
|
"registrar": ["Example Registrar"]
|
|
},
|
|
"ips": [...],
|
|
"ports": {...},
|
|
"ssl_certificates": [...],
|
|
"email_security": {...}
|
|
}
|
|
```
|
|
|
|
## Häufig gescannte Ports
|
|
|
|
Das Tool prüft folgende Ports:
|
|
|
|
| Port | Service |
|
|
|------|---------|
|
|
| 21 | FTP |
|
|
| 22 | SSH |
|
|
| 25 | SMTP |
|
|
| 53 | DNS |
|
|
| 80 | HTTP |
|
|
| 110 | POP3 |
|
|
| 143 | IMAP |
|
|
| 443 | HTTPS |
|
|
| 465 | SMTPS |
|
|
| 587 | SMTP Submission |
|
|
| 993 | IMAPS |
|
|
| 995 | POP3S |
|
|
| 3306 | MySQL |
|
|
| 3389 | RDP |
|
|
| 5432 | PostgreSQL |
|
|
| 8080 | HTTP-Alt |
|
|
| 8443 | HTTPS-Alt |
|
|
|
|
## Email-Sicherheits-Checks
|
|
|
|
### SPF (Sender Policy Framework)
|
|
Prüft ob die Domain einen SPF-Record hat, der angibt welche Server berechtigt sind Emails zu senden.
|
|
|
|
### DMARC (Domain-based Message Authentication)
|
|
Prüft die DMARC-Policy der Domain für Email-Authentifizierung.
|
|
|
|
### DKIM (DomainKeys Identified Mail)
|
|
Testet häufige DKIM-Selektoren: `default`, `google`, `k1`, `k2`, `selector1`, `selector2`, `mail`, `dkim`
|
|
|
|
## Tipps & Best Practices
|
|
|
|
### Rate-Limiting vermeiden
|
|
|
|
Bei der Analyse vieler Domains solltest du eine Verzögerung einbauen:
|
|
|
|
```bash
|
|
python3 domain_analyzer.py -f domains.txt --delay 2.0
|
|
```
|
|
|
|
### Privacy Protection
|
|
|
|
Viele Domains verwenden WHOIS Privacy Protection. In diesen Fällen wird "REDACTED FOR PRIVACY" angezeigt. Das Tool filtert diese automatisch heraus und zeigt nur verfügbare Informationen an.
|
|
|
|
### Subdomain-Enumeration
|
|
|
|
Das Tool testet nur häufige Subdomains. Für umfassende Subdomain-Enumeration empfehlen sich spezialisierte Tools wie:
|
|
- `sublist3r`
|
|
- `amass`
|
|
- `subfinder`
|
|
|
|
### Ergänzende Tools
|
|
|
|
Für noch detailliertere Analysen können folgende Tools ergänzend verwendet werden:
|
|
- `nmap` - Umfassenderer Port-Scan
|
|
- `testssl.sh` - Detaillierte SSL/TLS-Analyse
|
|
- `dig` - Manuelle DNS-Abfragen
|
|
- `mxtoolbox.com` - Online-Tools für Email-Server-Tests
|
|
|
|
## Troubleshooting
|
|
|
|
### WHOIS-Fehler
|
|
|
|
**Problem**: "WHOIS-Abfrage fehlgeschlagen"
|
|
|
|
**Lösung**:
|
|
```bash
|
|
# Prüfe ob whois installiert ist
|
|
which whois
|
|
|
|
# Falls nicht, installieren:
|
|
sudo pacman -S whois # Arch
|
|
sudo apt install whois # Debian/Ubuntu
|
|
```
|
|
|
|
### DNS-Fehler
|
|
|
|
**Problem**: "NXDOMAIN" - Domain existiert nicht
|
|
|
|
**Lösung**: Prüfe die Schreibweise der Domain. Keine `http://` oder `https://` verwenden, nur die Domain selbst.
|
|
|
|
### Timeout-Fehler
|
|
|
|
**Problem**: Timeouts bei Port-Scans oder WHOIS-Abfragen
|
|
|
|
**Lösung**:
|
|
- Prüfe deine Internetverbindung
|
|
- Manche Domains/IPs blockieren Port-Scans
|
|
- Erhöhe die Verzögerung mit `--delay`
|
|
|
|
### Import-Fehler
|
|
|
|
**Problem**: `ModuleNotFoundError: No module named 'dns'`
|
|
|
|
**Lösung**:
|
|
```bash
|
|
pip install dnspython requests --break-system-packages
|
|
```
|
|
|
|
## Rechtliche Hinweise
|
|
|
|
⚠️ **Wichtig**:
|
|
- Verwende dieses Tool nur für Domains, für die du berechtigt bist
|
|
- Respektiere die Nutzungsbedingungen von WHOIS-Servern
|
|
- Exzessive Abfragen können zu IP-Blocks führen
|
|
- Port-Scanning ohne Erlaubnis kann rechtliche Konsequenzen haben
|
|
- Dieses Tool dient der Informationsbeschaffung für legitime Zwecke (Sicherheitsanalyse eigener Domains, Due Diligence, etc.)
|
|
|
|
## Lizenz
|
|
|
|
MIT License - Siehe LICENSE Datei für Details
|
|
|
|
## Beiträge
|
|
|
|
Pull Requests sind willkommen! Für größere Änderungen öffne bitte zuerst ein Issue um zu diskutieren was du ändern möchtest.
|
|
|
|
## Support
|
|
|
|
Bei Problemen oder Fragen öffne ein Issue auf GitHub.
|
|
|
|
## Changelog
|
|
|
|
### Version 1.0.0 (2025-11-28)
|
|
- Initiales Release
|
|
- DNS-Analyse
|
|
- WHOIS-Integration mit automatischer Hauptdomain-Erkennung
|
|
- IP-Analyse mit ASN-Lookup
|
|
- Email-Sicherheitschecks (SPF, DMARC, DKIM)
|
|
- Port-Scanning
|
|
- SSL/TLS-Zertifikat-Analyse
|
|
- HTTP-Header-Analyse
|
|
- Subdomain-Enumeration
|
|
- Multi-Domain-Support
|
|
- JSON-Export
|
|
- Farbiger Terminal-Output
|
|
|
|
---
|
|
|
|
**Autor**: Erstellt mit Claude
|
|
**Sprache**: Python 3.7+
|
|
**Abhängigkeiten**: dnspython, requests, whois (system package) |