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