Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!
BTPS-SecPack — PowerShell-basiertes Sicherheitstoolkit für kleine bis mittelständische Unternehmen, das automatisierte Warnmeldungen, Active Directory-Härtung, Windows Event Forwarding, Sysmon-Integration und Skripte zur Incident Response bereitstellt, um die Transparenz und Verteidigung zu verbessern. | Kitploit
PowerShell-basiertes Sicherheitstoolkit für kleine bis mittelständische Unternehmen, das automatisierte Warnmeldungen, Active Directory-Härtung, Windows Event Forwarding, Sysmon-Integration und Skripte zur Incident Response bereitstellt, um die Transparenz und Verteidigung zu verbessern.
Teilen
Das Blue Team PowerShell Security Package
Verwendung von Microsoft Teams für Benachrichtigungen anstelle von E-Mail
Wenn Sie Microsoft Teams für das Senden von Benachrichtigungen anstelle von E-Mails verwenden möchten, laden Sie den microsoft-teams Zweig dieses Repositorys herunter, der die Teams-Benachrichtigungsänderungen enthält. Es wird eine Weile dauern, bis ich dies als Konfigurationsoption im Installationsskript implementiert habe. Die Verwendung von Microsoft Teams für Benachrichtigungen hebt die Notwendigkeit bestimmter E-Mail-Benachrichtigungen in diesem Repository nicht auf. E-Mails werden weiterhin für einige Aktionen verwendet. Diese Teams-Beiträge können erstellt werden, nachdem Sie zuerst einen Webhook erstellt haben. Sogenannte Webhooks bieten die Möglichkeit, Benachrichtigungen oder andere Mitteilungen an einen Microsoft Teams-Kanal zu senden. Ich persönlich bevorzuge nach wie vor E-Mails, da sie meiner Meinung nach einfacher zu sortieren sind.
Sie können einen Webhook mit den folgenden Schritten erstellen (wenn Sie ein Admin sind)
Öffnen Sie die Microsoft Teams-Anwendung
Klicken Sie im linken Bereich auf "Teams"
Klicken Sie auf das Optionssymbol, das durch drei Punkte "..." dargestellt wird, neben einem der gewünschten Teams-Kanäle. Beispiel-Kanalname: General
Durch Klicken auf diese drei Punkte wird ein Dropdown-Menü angezeigt. Klicken Sie auf "Connectors"
Klicken Sie auf die Schaltfläche "Add" neben "Incoming Webhook"
Klicken Sie im Popup-Fenster des eingehenden Webhooks auf "Add"
Führen Sie auf dem Bildschirm des eingehenden Webhooks die folgenden Aktionen aus:
a. Definieren Sie einen Namen für Ihren Webhook. Im untenstehenden Bild ist dieser Wert "PowerShell-TeamsMessagePost"
b. Klicken Sie auf "Create"
c. Optional können Sie auch "Upload Image" verwenden, um ein Bild für den eingehenden Webhook auszuwählen. Im untenstehenden Bild habe ich das Standard-Symbol belassen, das das hellblaue Dreieck auf weißem Hintergrund ist.
d. Klicken Sie auf "Create"
Die URL des eingehenden Webhooks wird erstellt. Kopieren Sie die URL und klicken Sie auf "Done"
Sie können nun die obige URL in den von mir bereitgestellten B.T.P.S. Security Package Skripten verwenden. Sie können den Wert in den Skripten schnell aktualisieren, indem Sie die folgenden Befehle ausführen
root@kitploit:~
$WebHook = Read-Host -Prompt "Paster your Webhook URL here: "
$SIEM = Read-Host -Prompt "If you have a SIEM in your environment enter the link here: "
$BTPSHome = Read-Host -Prompt "Where did you save the BTPS Security Pacakge git repo? EXAMPLE: C:\Users\Administrator\Downloads\BTPS-SecPack-microsoft-teams"
$Files = (Get-ChildItem -Path $BTPSHome -Include "AttemptedPasswordChange.ps1","AttemptedPasswordReset.ps1","Failed.Username.and.Password.ps1","User.Account.Created.ps1 ","User.Account.Locked.ps1","User.Account.Unlocked.ps1","DNSZoneTransferAlert.ps1","NewComputerAlert.ps1","Query-InsecureLDAPBinds.ps1","UnusualUserSignInAlert.ps1","Watch-PortScan.ps1 " -Recurse -ErrorAction SilentlyContinue -Force).FullName
ForEach ($File in $Files) {
((Get-Content -Path $File -Raw) -Replace "WEBHOOK_URL_REPLACE","$WebHook") | Set-Content -Path $File -Force
((Get-Content -Path $File -Raw) -Replace "SIEM TOOL LINK","$SIEM") | Set-Content -Path $File -Force
} # End ForEach
Ihre Benachrichtigung in Microsoft Teams wird ungefähr so aussehen
BEITRAG ZUM PROJEKT
Wenn Sie zum Inhalt dieses Projekts beitragen möchten, können Sie mich gerne unter [email protected] mit Ihren Gedanken und Ideen kontaktieren. Für allgemeinere Informationen zu diesem Thema können Sie auf die CONTRIBUTING Dokumentation verweisen.
SPENDEN
Wenn Sie dieses Projekt unterstützen möchten, um mir zu helfen, eine ansprechende Website für die Dokumentation zu erhalten, werden Ihre Spenden dankbar angenommen.
ETHERUM SENDEN AN: 0xBeDbCfA5366fF1187957BB3ed8811c51B4dBe4D4
Das B.T.P.S. Sec Pack
Dieses Repository enthält eine Sammlung von PowerShell-Tools, die zum Schutz und zur Verteidigung einer Umgebung auf Basis der Microsoft-Empfehlungen verwendet werden können.
Dieses Repository setzt außerdem voraus, dass Sie das Windows Event Logging Cheat Sheet für das Logging in Ihrer Umgebung referenziert haben. Verwenden Sie LOG-MD oder CIS-CAT, um sicherzustellen, dass das empfohlene Logging konfiguriert ist.
Installer.ps1
Ich habe ein erstes Installationsskript geschrieben, um automatisch so viele dieser Schutzmaßnahmen wie möglich einzurichten. Die meisten dieser Skripte sind E-Mail-Benachrichtigungen. Beim Ausführen von Installer.ps1 werden Sie gefragt, wie Sie sich bei Ihrem SMTP-Server authentifizieren möchten. Dies kann durch die Verwendung einer Anmeldedatendatei oder die IP-Adressauthentifizierung erfolgen. Dieses Skript sollte auf einem Domänencontroller ausgeführt werden, da sich dort viele der Benachrichtigungen befinden. Ich empfehle die Verwendung von WinRM über HTTPS in Ihrer Umgebung. Ich habe ein Video und Setup-Anleitungen für WinRM über HTTPS auf der Projektseite HIER. Dieses Skript informiert Sie, ob LDAP über SSL in Ihrer Umgebung verwendet wird. Wenn Sie LDAP über SSL in Ihrer Umgebung konfigurieren möchten, was ich sehr empfehle, habe ich ein Video darüber gemacht, wie dies sicher und geschützt durchgeführt wird HIER. Das Installer.ps1-Skript hilft Ihnen, jeden Abschnitt dieses Pakets einzurichten, mit Pausen im Skript, die darauf warten, dass Sie eine Aufgabe abschließen, falls eine erforderlich ist. Ein solcher Wartezustand ist beispielsweise, dass Sie eine Gruppenrichtlinie konfigurieren, die ausgerollt werden soll. Nach der Ausführung werden die meisten der unten aufgeführten Schutzmaßnahmen auf Ihre Umgebung angewendet. Die "Unusual Sign In Alert" erfordert, dass Sie die Datei UserComputerList.csv ändern, damit sie den Inhalt enthält, welche Benutzer sich auf welchen Geräten in Ihrer Umgebung anmelden sollen.
Welche Schutzmaßnahmen sind nach dem Ausführen von Installer.ps1 enthalten?
Canary Executable Decoys Ich habe einige ausführbare Dateien beigefügt, die ein Angreifer möglicherweise nicht widerstehen kann auszuführen. Diese ausführbaren Dateien sind gefälschte Binärdateien, die die Hilfemeldung der ursprünglichen ausführbaren Datei anzeigen, um den Eindruck zu erwecken, dass die Datei beim Ausführen legitim ist. Diese ausführbaren Dateien sollen auf Canary Tokens hochgeladen werden, die Ihnen eine E-Mail-Benachrichtigung senden, sobald die Datei ausgeführt wird. Anleitungen hierzu finden Sie HIER
RemediateCompromisedOfficeAccount.ps1VIEW wird verwendet, um auf einen Benutzer zu reagieren, dessen Office365-Passwort kompromittiert wurde. Dies setzt das Passwort zurück (was die Sitzung beendet), entfernt Postfachdelegierte, entfernt Weiterleitungsregeln an externe Domänen, entfernt die globale Weiterleitungseigenschaft des Postfachs, setzt die Passwortkomplexität des Kontos auf hoch, aktiviert die Postfachüberwachung und erstellt ein Prüfprotokoll für den Administrator zur Überprüfung.
Erhalten Sie Warnungen, wenn ein Konto in 2 Wochen oder weniger abläuft
Erhalten Sie eine Warnung mit einer Tabelle aller Benutzer, deren Passwörter in zwei Wochen oder weniger ablaufen
Erhalten Sie eine Warnung, wenn ein Benutzer versucht, sein Passwort zu ändern
Erhalten Sie eine Warnung, wenn ein Konto versucht, das Passwort eines anderen Kontos zu ändern
Erhalten Sie eine Warnung, wenn ein Konto die Anmeldung an einem Server nicht schafft
Erhalten Sie eine Warnung, wenn ein neues Benutzerkonto erstellt wird
Erhalten Sie eine Warnung, wenn ein Benutzerkonto gesperrt wird
Erhalten Sie eine Warnung, wenn ein Benutzerkonto entsperrt wurde
Erhalten Sie eine Warnung, wenn Administratoranmeldeinformationen verwendet werden, um einen Prozess mit erhöhten Rechten auszuführen. Dies dient wirklich nur zur Überwachung von Benutzern, denen möglicherweise Administratoranmeldeinformationen gegen die IT-Empfehlungen gegeben wurden. Es kann auch verwendet werden, um einen Administrator auf böswillige Aktivitäten zu überwachen, falls gewünscht. Vermutlich werden Sie MonitorAdminEscalation.ps1 nicht implementieren müssen.
Dies erstellt im Wesentlichen einen Ereignisprotokolleintrag in der Ereignisanzeige, der AutoRuns-Hashes enthält. Ich bin nicht der Autor davon. Ich füge dies nur in das Paket ein, da es wichtig ist, dies im Auge zu behalten.
Tägliche Informationen zu Azure-Anmeldungen Ihrer Benutzer erhalten
Schwache TLS- und SSL-Protokolle auf einem Client oder IIS-Server deaktivieren
DNS über HTTPS aktivieren, wenn verfügbar
HSTS auf einem lokalen IIS-Server aktivieren
Beheben von Dienstpfaden, die Leerzeichen in den Verzeichnisnamen enthalten, aber keine Anführungszeichen verwenden, um die Ausführung eingeschleuster Payloads zu verhindern
PowerShell Version 2 von einem entfernten oder lokalen Rechner(n) deinstallieren
Eine als Spam gemeldete E-Mail aus allen Postfächern entfernen, die die E-Mail erhalten
Die Kerberos-Schlüssel rotieren, die in einer Online-Exchange-Umgebung verwendet werden
SMB-Signierung auf einem Gerät aktivieren oder deaktivieren sowie SMBv1 oder SMBv2 und SMBv3 deaktivieren oder aktivieren
RDP-Netzwerkebenenauthentifizierung aktivieren, um zu verhindern, dass nicht der Domäne beigetretene Computer per RDP auf einen Client zugreifen
Verfügbare Treiberaktualisierungen auf einem lokalen oder entfernten Rechner installieren
Ein Benachrichtigungsbanner zu E-Mails hinzufügen, die Benutzer in Outlook erhalten, wenn der Absendername mit einem Namen im Unternehmen übereinstimmt, die E-Mail-Adresse jedoch nicht von der internen Domäne stammt
Eine Transportregel erstellen, die Microsoft Exchange-Server dazu veranlasst, fehlgeschlagene DMARC-E-Mail-Nachrichten abzulehnen
Erhalten Sie eine Warnung, wenn ein Port-Scan auf einem lokalen Gerät erkannt wird
Erhalten Sie eine Warnung, wenn eine Bind-Shell geöffnet wird, und führen Sie ein Protokoll aller bestehenden Verbindungen zu einem Gerät, einschließlich des verwendeten Ports und Protokolls
Sysmon-Protokollierung in einer Umgebung mit einer standardmäßig angepassten Sysmon-Konfigurationsdatei aktivieren
WHOIS-Domänensuche verwenden, um Domänen zu entdecken, die vor weniger als 2 Jahren verbunden wurden, und eine Warnung erhalten, wenn eine Clientverbindung stattfindet
Eine Blacklist-Prüfung für IP-Adressen durchführen, die ebenfalls verbunden wurden, und Warnungen erhalten, wenn eine Clientverbindung stattfindet
Eine Hash-Validierung für Windows-Prozesse durchführen, um MD5-Hashes zu entdecken, für die Virus Total Ergebnisse liefert
Cmdlets, die verwendet werden können, um alle verfügbaren Windows-Updates zu installieren
Cmdlet, das ein einzelnes KB-Update entfernen kann, das aus irgendeinem Grund nicht aktualisiert wird. Nach dem Entfernen können Sie Update-Windows verwenden, um das ausstehende Update erneut zu installieren.
Dies ist ein Cmdlet, das ich verwenden werde, wenn ich die Datei Install.ps1 fertigstelle, mit der all die oben genannten konfiguriert werden können. Verwenden Sie vorerst die von mir bereitgestellten READMEs, um die gewünschten Funktionen zu installieren.