it-swarm.com.de

Verwenden Penetrationstester tatsächlich Tools wie Metasploit?

Ich habe mit Metasploit einfach als Hobby herumgespielt, frage mich aber, ob tatsächliche Pentester und/oder Hacker tatsächlich Metasploit verwenden, um in Systeme zu gelangen, oder schreiben sie ihre eigenen Post-Exploitation-Module oder ihre eigenen Programme vollständig?

Der Grund, den ich frage, ist, dass Metasploit nicht in der Lage zu sein scheint, Windows-Ereignisprotokolle und dergleichen selektiv zu löschen, oder dass ich es einfach nicht finden konnte. (Der nächste, den ich finden kann, ist clearev, aber das löscht einfach alles aus, was nicht sehr ist hinterhältig) Außerdem gibt es, selbst wenn es in der Lage ist, die Ereignisprotokolle selektiv zu löschen, Stellen wie die Prefetch-Warteschlange in Ring 0, an denen die Forensik anhand des Systemabbilds herausfinden kann, was ich getan habe ...

70
shawn

In Bezug auf die Forensik verfügt Metasploit über Nutzdaten, die speziell dafür entwickelt wurden, die Arbeit der forensischen Analyse zu erschweren. Die bekannteste Nutzlast, die standardmäßig mit vielen Exploit-Modulen ausgewählt wird, ist beispielsweise die Nutzlast des Zählerpreters. Es wird vollständig im Arbeitsspeicher ausgeführt und berührt die Festplatte nicht für Vorgänge (es sei denn, der Benutzer fordert dies ausdrücklich an). Dies bedeutet, dass im Prefetch-Ordner oder an einer anderen Stelle auf der Festplatte keine Beweise vorhanden sind.

Sie müssen nicht alle Ereignisprotokolle löschen. Sie können jedes gewünschte Ereignisprotokoll selektiv über das Meterpreter-Skript event_manager löschen.

Meterpreter verfügt über ein Tool namens timestomp , mit dem die Änderungs-, Zugriffs-, Erstellungs- und Ausführungszeit einer Datei auf der Festplatte auf einen beliebigen Wert geändert werden kann. Sie können jede Datei mit dem Modul sdel (sicheres Löschen) sicher löschen, das nicht nur den Dateiinhalt sicher löscht, sondern die Datei vor dem Löschen in eine lange zufällige Zeichenfolge umbenennt, wodurch nicht nur die forensische Wiederherstellung erfolgt Der Inhalt, aber die Datei-Metadaten sind ebenfalls sehr schwierig.

Kommen wir nun zu Ihrem zweiten Teil der Verwendung von Metasploit durch tatsächliche böswillige Angreifer bei Angriffen in der realen Welt. Es gab Berichte , dass Metasploit bei einem der Angriffe auf die iranische Atomanlage eingesetzt wurde. Der Grund, warum Sie Metasploit nicht häufiger sehen, liegt in der Open-Source-Natur des Produkts. Da die Exploits und Nutzdaten für alle verfügbar sind, betrachten standardmäßig alle Sicherheitsprodukte wie Antivirus, IDS/IPS usw. diese Dateien als bösartig. Die Verteidigungsindustrie ist so weit gegangen, dass selbst wenn man mit Metasploit eine völlig harmlose Datei erstellt, diese von fast allen AV-Lösungen erkannt wird. Generieren Sie eine leere Nutzlast wie:

echo -n | msfencode -e generic/none -t exe > myn.exe

Laden Sie es auf VirusTotal hoch und Sie werden feststellen, dass mehr als die Hälfte der AV-Lösungen es als bösartig erkennt. Weitere Details finden Sie im Blog von Matt Weeks hier .

Bei diesem Verhalten riskiert kein Angreifer aufgrund der sehr hohen Erkennungsrate, Metasploit für tatsächliche Angriffe zu verwenden. Die Module können einfach angepasst werden und die Umgehung von AV- und anderen Sicherheitskontrollen über Metasploit ist ebenfalls recht einfach. Zu diesem Zeitpunkt ist es jedoch schwierig festzustellen, ob die Nutzdaten von Grund auf neu geschrieben wurden oder ob das Metasploit-Modul geändert wurde. Daher ist es schwierig, mit Sicherheit zu sagen, wie viele Angreifer Metasploit in ihren Operationen verwendet haben oder weiterhin verwenden.

74
void_in

Ich weiß nichts über böswillige Angreifer/Hacker, aber ich kenne mehrere Pentester (ich selbst eingeschlossen), die Metasploit in ihre Toolboxen aufnehmen. Es ist bei weitem nicht das einzige verwendete Werkzeug, aber es hat sicherlich seine Verwendung. Abgesehen davon scheint es bei Ihrer Frage darum zu gehen, "Ihre Spuren zu verwischen", was für den böswilligen Angreifer natürlich nützlicher ist. Bei meinen Pentest-Engagements manipulieren wir Protokolle selten, außer wenn das Erkennen von Protokollmanipulationen eines der Ziele des "blauen Teams" ist. (Dann machen wir es, um zu sehen, ob es erkannt wird.)

33
David

Ja, Pentester verwenden Metasploit. Mit benutzerdefinierten exe-Vorlagen und shikata_ga_nai können Sie nahezu jede AV-Lösung zum Narren halten (Google for AV-Umgehung, um mehr darüber zu erfahren), und die Nutzdaten des Meterpreters sind sehr praktisch, um Berechtigungen in Windows-Domänen zu eskalieren.

Abgesehen davon ist Metasploit nur ein Werkzeug von vielen und ein guter Pentester sollte das richtige Werkzeug für die richtige Aufgabe kennen und verwenden.

Das Löschen bestimmter Einträge aus dem Ereignisprotokoll kann für einen Pentest nützlich sein, wenn das Ziel darin besteht, unentdeckt zu bleiben und SIEM-Systeme zu täuschen. Nur weil diese Funktion in Metasploit (ab sofort) fehlt, bedeutet dies nicht, dass Sie nicht alle nützlichen Module verwenden können, die bereits vorhanden sind.

In Bezug auf benutzerdefinierte Toolkits würde ich mir vorstellen, dass es effektiver wäre, Metasploit zu verzweigen oder einfach nur Ihre eigenen Post-Exploitation-Module zu schreiben (wie das selektive Löschen von Ereignisprotokollen).

Das ist das Schöne an Open Source-Software.

16
Sebastian B.

Die Verwendung von Immunity Security- oder CoreSec-Produkten bietet gegenüber Rapid7 Vorteile (unabhängig davon, ob es sich um kommerzielle Metasploit-Angebote oder das FOSS MetaSploit Framework oder MSF handelt). Sie müssen sie selbst testen, aber es hat hauptsächlich damit zu tun, dass Sie in der Lage sind, Exploits in Dosen auszuführen und Pläne/Ergebnisse zu organisieren. Soweit ich weiß, können alle MSF Exploits) von Core IMPACT ausgeführt werden. Metasploit wird jedoch nicht in absehbarer Zeit irgendwohin gehen und kann zusammen mit anderen Tools verwendet werden. Lassen Sie mich sehen wenn ich zuerst einige seiner Schwächen ansprechen kann.

In Bezug auf die Nutzlast lassen die Fähigkeiten von MSF, einschließlich Meterpreter, zu wünschen übrig. Die meisten MSF-Nutzdaten sind von AV und HIPS verschiedenster Art leicht zu erkennen. Die standardmäßige ausführbare Nutzlast implementiert viele gängige Windowsismen, die ich nicht mag, wie z. B. Standardaufrufe und -abhängigkeiten für W32-Bibliotheken. INNUENDO (und Der frühere MOSDEF) von ImmSec ist besser, aber MOSDEF hat in letzter Zeit auch einige Fingerabdrücke gesehen. Die Whitelist von Apps ist ein weiteres Problem für jede Implantat-Backdoor-Technologie, aber hier ist ein Bypass , der Teile von MSF nutzt. Hier ist ein anderer , der Powershell nutzt. Viele Profis vermeiden die ausführbare Standarddatei und verwenden das generate -t Flag (oder über msfvenom), um psh (Powershell), dll (für die AppInit-Registrierungsinjektion) oder ein anderes ungewöhnliches Format zu löschen.

Während MSF teilweise in Cobalt Strikes Beacon eingebettet ist, gehen die Funktionen weit über das hinaus, was Meterpreter alleine kann. Sehr zu empfehlen!

Ich habe auch von anderen gehört, die Tools wie Throwback verwenden, um die Einfachheit zu gewährleisten. Es ist gut, Alternativen zu haben. Eine andere, die ich gefunden habe, ist ClickOnce .

MSF selbst scheint sogar einen neuen Weg zu gehen, wenn moderne Windows-Versionen (Win7 und höher, Win Server 2k8r2 oder höher) über Powershell mit web_delivery angegriffen werden. Ein Angreifer kann auf diesem Framework aufbauen, um viel zu injizieren mehr Powershell-Aktion für Aufgaben nach der Ausbeutung , wie zum Beispiel:

Das Modul MSF, web_delivery kann auch eine Python oder PHP Nutzlast und möglicherweise) liefern Möglicherweise geändert, um andere Interpreter wie Ruby zu unterstützen. Wenn Sie alles zusammenstellen möchten, um besser zu verstehen, warum Powershell über MSF funktioniert, lesen Sie diesen Blog-Beitrag - http://www.labofapenetrationtester.com) /2015/04/pillage-the-village-powershell-version.html

Eine zusätzliche Sorge für Powershell ist, wenn Sie in Windows 10 auf Device Guard stoßen.

[UPDATE] Laut einem der folgenden Kommentare kann Metasploit Pro stärkere Nutzdaten verwenden, die auch in die Open-Source-Version von MSF integriert werden. Wenn Sie über Metasploit Pro verfügen, überprüfen Sie das Auxiliary/Pro-Modul Verbesserungen , z. B. generate_dynamic_stager. Wenn nicht, lesen Sie die stageless meterpreter payloads .

Tools, die TCP (zusammen mit DNS)) verwenden, können mithilfe des Befehls msfconsole route , proxychains und - einfach über Meterpreter übertragen werden socks4a Servermodul. Richten Sie nach dem Erstellen einer Sitzung eine Route zu ihrem Netzwerk (oder sogar zu localhost, wie im ersten Link in diesem Absatz zu sehen) über die Sitzungs-ID ein. Führen Sie dann das Modul socks4a aus und übergeben Sie es Sogar DNS sollte ordnungsgemäß durchlaufen werden. Es gibt wahrscheinlich mehr als eine Möglichkeit, externe Tools über Metasploit auszuführen. Wie Ruby (und Perl davor) ist Metasploit Ein Framework, in dem "es mehr als einen Weg gibt". Es liegt an Ihnen als Entwickler, Ihre Ideen zu integrieren. Nutzen Sie die Leistungsfähigkeit von Open-Source-Software, tragen Sie Ihre Änderungen bei und beteiligen Sie sich an der Community.

13
atdre

Ja, Metasploit wird sehr häufig von Branchenfachleuten verwendet.

Siehe zum Beispiel dieser Link .

8
Fairlight

Ja, ich verwende Metasploit, um bekannte Schwachstellen auszunutzen, die in Metasploit geschrieben wurden. In meinem Fall haben wir Metasploit ausgenutzt, um das Risiko der Sicherheitsanfälligkeit zu beweisen. Zeigen Sie dem Kunden das Risiko. Grundsätzlich weiß der Client, wann wir diese Sicherheitsanfälligkeit ausnutzen möchten.

6
zakiakhmad