
Beseitigen Sie ungenutzte Elastic IPs, indem Sie eine Analyse Ihrer Ressourcen in allen Ihren AWS-Konten durchführen.
Beseitigen Sie herrenlose elastische IPs, indem Sie eine Analyse Ihrer Ressourcen in allen Ihren AWS-Konten durchführen.
Ghostbuster ruft alle DNS-Einträge ab, die in all Ihren AWS-Konten (Route53) vorhanden sind, und kann optional Einträge über CSV-Eingabe oder über Cloudflare aufnehmen.
Nachdem diese Einträge gesammelt wurden, durchläuft Ghostbuster alle Ihre AWS-Elastic-IPs und öffentlichen IPs von Netzwerkschnittstellen und sammelt diese Daten.
Durch ein vollständiges Bild der DNS-Einträge (von Route53, Dateieingabe oder Cloudflare) und ein vollständiges Bild der Ihrem Unternehmen gehörenden AWS-IPs kann dieses Tool Subdomains erkennen, die auf herrenlose elastische IPs verweisen (IPs, die Sie nicht mehr besitzen).
Wenn Sie Infrastruktur auf AWS bereitstellen, starten Sie möglicherweise EC2-Instanzen, denen eine IP zugeordnet ist. Wenn Sie DNS-Einträge erstellen, die auf diese IPs verweisen, aber vergessen, die DNS-Einträge zu entfernen, nachdem die EC2-Instanz eine neue IP erhalten oder gelöscht wurde, sind Sie anfällig für Subdomain-Übernahmeangriffe.
Es gab eine große Menge an Forschung zu Elastic-IP-Übernahmen, bei denen Angreifer kontinuierlich elastische IPs beanspruchen können, bis sie eine IP erhalten, die mit einer Subdomain des von ihnen anvisierten Unternehmens verbunden ist.
Während AWS häufig Konten sperrt, die versuchen, dieses Angriffsmuster durchzuführen, wurde von AWS keine langfristige Lösung veröffentlicht.
Die Auswirkungen von Subdomain-Übernahmeangriffen durch herrenlose elastische IPs sind schwerwiegender als bei einer typischen Subdomain-Übernahme, bei der Sie nur den ausgelieferten Inhalt kontrollieren können. Bei Elastic-IP-Übernahmen ist es einem Angreifer möglich, Folgendes zu tun:
*.domain.com beschränkt sind.aws/config konfigurierte AWS-ProfilWichtig:
Damit dieses Tool effektiv ist, muss es ein vollständiges Bild Ihrer AWS-Umgebung haben. Wenn es kein vollständiges Bild hat, führt dies zu Fehlalarmen.
Ghostbuster zu installieren ist so einfach wie das Ausführen von: pip install ghostbuster. Das CLI-Tool ist dann über den Befehl ghostbuster verfügbar.
Dies erfordert eine Python 3.x-Umgebung.
❯ ghostbuster scan aws --help
Usage: ghostbuster scan aws [OPTIONS]
Scan for dangling elastic IPs inside your AWS accounts.
Options:
--profile TEXT Specify a specific AWS profile to run ghostbuster
on.
--skipascii Skip printing the ASCII art when starting up
Ghostbuster.
--json Only return a JSON object.
--slackwebhook TEXT Specify a Slack webhook URL to send notifications
about potential takeovers.
--records PATH Manually specify DNS records to check against.
Ghostbuster will check these IPs after checking
retrieved DNS records. See records.csv for an
example.
--cloudflaretoken TEXT Pull DNS records from Cloudflare, provide a CF API
token.
--allregions Run on all regions.
--exclude TEXT Comma delimited list of profile names to exclude.
--regions TEXT Comma delimited list of regions to run on.
--help Show this message and exit.
Beispielbefehle
Ghostbuster mit Zugriff auf Cloudflare-DNS-Einträge ausführen, Benachrichtigungen an einen Slack-Webhook senden, jedes in .aws/config oder .aws/credentials konfigurierte AWS-Profil für alle AWS-Regionen durchlaufen:
❯ ghostbuster scan aws --cloudflaretoken APIKEY --slackwebhook https://hooks.slack.com/services/KEY --allregions
Ghostbuster mit einer manuell eingegebenen Liste von Subdomain-A-Einträgen ausführen (siehe records.csv in diesem Repository für eine Beispieldatei):
❯ ghostbuster scan aws --records records.csv
Sie können mit --regions bestimmte Regionen angeben, die auf eine kommagetrennte Liste von Regionen gesetzt werden, z.B. us-east-1,us-west-1.