README.md aktualisiert
This commit is contained in:
341
README.md
341
README.md
@@ -1,3 +1,340 @@
|
||||
# domain_analyzer
|
||||
# Domain Analyzer 🔍
|
||||
|
||||
Findet alles mögliche über eine Domain herraus.
|
||||
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)
|
||||
Reference in New Issue
Block a user