README.md aktualisiert

This commit is contained in:
2025-11-28 09:16:31 +01:00
parent 109eada058
commit 9f13ee4f96

341
README.md
View File

@@ -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)