Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ipmi — IPMI-Zeug aus der DARPA-Arbeit | Kitploit
Tools/GitHubGitHub/zenfish/ipmi
Passwort-CrackingAufklärungNetzwerkkartierungPort-ScanningSchwachstellenanalyseKonfigurationsprüfungInformationsbeschaffungPenetrationstestsHardware-SicherheitAuthentifizierung
GitHub
76637vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
zenfish/ipmi

ipmi

IPMI-Zeug aus der DARPA-Arbeit

Repository anzeigen

Ich habe einige Programme geschrieben, um IPMI zu erkunden; hier sind einige der Ergebnisse. Ich dachte, ich mache den üblichen Zyklus aus Erkennen, Daten abrufen und Auditieren. Jeder dieser Schritte erwies sich als ein ziemlich interessantes Problem für sich, zumindest für mich.

Übrigens/zur Info – Ich habe ein neues Tool zur Erkundung von IPMI veröffentlicht – https://github.com/zenfish/zipmi – sowie eine Sammlung von Qemu-Rezepten/Images/usw., um BMCs als virtuelle Systeme unter Qemu unter https://github.com/zenfish/zbmc auszuführen.

IPMI-Webseite

Die Papers und Dinge von http://fish2.com/ipmi

html

Passwort-Cracking

Hier ist ein kleines Perl-Programm, das versucht, ein Konto auf einem entfernten BMC zu erraten, dessen Hash zu extrahieren und dann zu versuchen, dessen (HMAC-gehashtes) Passwort zu knacken. Ich habe für Neugierige ein wenig darüber geschrieben. Es ist stark kommentiert und könnte von einigem Nutzen sein.

Cipher abrufen

Die IPMI-Spezifikation besagt, dass man die Cipher eines entfernten Systems ohne jegliche Authentifizierung abrufen kann, aber mir ist kein Tool bekannt, das dies tatsächlich tut (sie alle erfordern Authentifizierung, obwohl man natürlich die rohen Hex-Bytes eingeben könnte, wenn man wollte!). Also habe ich dieses kleine Programm geschrieben, das dies tut; es versucht weitgehend, der Ausgabe von ipmitool zu folgen; dabei glaube ich, einen Bug in diesem Utility gefunden zu haben (in der letzten Zeile geben Systeme manchmal etwas Müll aus, der offenbar falsch interpretiert wird), aber wer weiß, ich habe nicht genügend Systeme zum Testen. Wie auch immer... ipmi-get-ciphers.py.

Wenn nichts anderes, so ist es nützlich, um Cipher0-Systeme zu erkennen (Hinweis – dies zeigt lediglich Cipher an, die unterstützt werden – es bedeutet nicht, dass sie tatsächlich aktiviert sind), aber da draußen gibt es interessante Dinge.

Authentifizierungsdetails abrufen

Zwei Programme hier, eines ist ein einfacher Python- Remote-Prober (ich fange an, Perl zu hassen, das sage ich euch) und ein zweites, das Utilities von FreeIPMI verwendet, um Konfigurationsdaten mit Anmeldedaten abzurufen.

Ein kleines Python-Programm (über 50 % Inline-Kommentare, 2,5k gzip-komprimiert), das ein einzelnes Paket an ein BMC sendet und die Antwort analysiert. Was kann man mit nur einem einzigen Paket tun, mag man sich fragen? 10+ verschiedene Sicherheitstests für IPMI, zum Beispiel. Nun, zum Beispiel und zum Schluss, es ist nur ein Paket :) Erfordert Python, ein BMC und einen offenen Pfad zu UDP-Port 623, um zu funktionieren. Die Verwendung ist einfach „ipmi-get-auth.py target“.

ipmi-get-auth.py / Eine sehr kurze Beschreibung

Auf die Spitze getrieben... nun, hier ist eine Art Mega-Version des Obigen, die es für alle Kanäle, alle Privilegien, alle... nun, ihr versteht schon, macht. Für die Monomanen (lest die Kommentare oder den Beitrag, den ich darüber geschrieben habe, um zu sehen, warum es tut, was es tut!)

mega_chan.py / Mega mega mega ... chan chan chan...

Device ID (GUID) abrufen

Und hier ist ein einfaches Programm, das ein Get Device ID-Paket (siehe S. 250 der IPMI v 2-Spezifikation) an ein System sendet. Dies sollte theoretisch ohne Authentifizierung funktionieren. In einer kleinen Umfrage antworteten etwa 90 % der Systeme darauf (allerdings nicht alle mit gültigen Informationen!) Man kann manchmal den Hersteller und andere Informationen wie Modellnummern und dergleichen erhalten, aber interessanter ist tatsächlich das Erhalten einer eindeutigen ID, traditionell eine schwierige Sache über das Netz.

get-ipmi-guid.py / Get Device ID

Passwörter aus einer binären Passwortdatei von SuperMicro auslesen

Supermicro hatte einige Probleme mit der Offenlegung von Passwortdateien aus seinem BMC – siehe zum Beispiel dies und andere Berichte:

a-penetration-testers-guide-to-ipmi

Um dieses Skript zu verwenden, geben Sie einfach Folgendes ein:

dump_SM.py password_file

Bei mir funktioniert es, ohne Gewähr, Garantie usw.

Erkennung

Nun, wenn Sie mit UDP-Port 623 kommunizieren können, ist es ziemlich einfach herauszufinden, ob ein entferntes System IPMI ausführt. Es sei denn, Sie befinden sich in einem Rechenzentrum, blockieren jedoch die meisten Leute UDP. Und selbst wenn sie es nicht tun... UDP-Scans sind so langsam, wie man es sich nur vorstellen kann. Daher verwende ich derzeit zwei grundlegende Methoden und setze dabei auf das bewährte Nmap und ipmiping (aus den FreeIPMI-GNU-Tools). Das Einfachste ist:

  • Verwenden Sie ipmiping, um ein entferntes System zu fragen, ob es IPMI spricht oder nicht. Eine positive Antwort ist der stärkste Hinweis darauf, dass ein System IPMI spricht (aber nichts ist sicher!) Technisch gesehen sendet es zwei IPMI- Get Channel Authentication Capabilities-Aufrufe über ein Get Channel Authentication Capabilities-Anfrage-Datagramm auf UDP-Port 623 (zwei Anfragen, da UDP verwendet wird und Verbindungen nicht garantiert sind.)
    </p> <p>
    
    Da Nmap beim Scannen großer Netzwerke weitaus effizienter ist
    als ipmiping, wird diese Methode nur verwendet, wenn Nmap meldet, dass ein Host
    UDP 623 geöffnet hat.
    
    </p> <p>
    
    Ob zum Guten oder Schlechten, dieser Port ist oft blockiert, sodass
    andere Methoden häufig eher indirekt herausfinden, ob
    IPMI ausgeführt wird oder nicht.
    
  • Die zweite Methode ist etwas schwammig und beruht auf ein wenig Induktion (auch Raten genannt). Nmap scannt Ports, von denen bekannt ist, dass sie mit IPMI und herstellerspezifischen Ergänzungen zusammenhängen; UDP 623 ist offensichtlich (der Standard-IPMI-Port), aber es gibt eine Vielzahl von Ports (sowohl UDP als auch TCP), die für sich genommen möglicherweise nicht sofort eine Antwort liefern, die aber in ihrer Gesamtheit stark auf seine Anwesenheit hinweisen können. TFTP, SNMP, SSH/SMASH, VNC und viele andere gehören dazu.
    </p> <p>
    
    Ports werden nach ihrer Aussagekraft gewichtet und danach, ob
    Nmap sie als offen, gefiltert oder in anderen Zuständen vorfindet.
    
    </p> <p>
    
    Nmap kann auch die Banner der verbundenen Dienste anzeigen.  Ich verwende
    reguläre Ausdrücke, um nach Zielen zu suchen – zum Beispiel sind die Zeichenfolgen
    "iLO" und "DRAC" gute Hinweise darauf, dass ein System möglicherweise
    HPs Integrated Lights Out-Dienst oder iLO ausführt.
    
    </p> <p>
    
Tool herunterladen