Heim > Technologie-Peripheriegeräte > KI > ChatGPT schreibt PoC und erkennt die Schwachstelle!

ChatGPT schreibt PoC und erkennt die Schwachstelle!

WBOY
Freigeben: 2023-04-07 14:59:51
nach vorne
1456 Leute haben es durchsucht

0×01 Vorwort

ChatGPT (Chat Generative Pre-trained Transformer) ist heute einer der am meisten erwarteten intelligenten KI-Chatbots. Es ermöglicht nicht nur die grundlegende Sprachkommunikation, sondern verfügt auch über viele leistungsstarke Funktionen, wie z. B. das Schreiben von Artikeln, Code-Skripterstellung, Übersetzung und mehr. Können wir ChatGpt also nutzen, um uns bei der Erledigung einiger Arbeiten zu unterstützen? Wenn ein Produkt beispielsweise Sicherheitsrisiken aufweist und eine Schwachstellenerkennung benötigt, müssen wir den entsprechenden POC schreiben, um es zu implementieren. Durch mehrere Überprüfungen haben wir zunächst die Machbarkeit dieses Experiments bestätigt. ChatGPT kann zum Schreiben einfacher PoC trainiert werden, aber die Kontrolle über Details ist nicht perfekt genug, z. B. das Schreiben regulärer Ausdrücke, um mit dem Ausgabeinhalt übereinzustimmen Die Verarbeitung komplexer Logik sowie manuelle Eingriffe und Änderungen sind erforderlich. Darüber hinaus haben wir Vergleichsmethoden verwendet, um die Genauigkeit einiger Sicherheitsvermutungen und Trainingsmodelle von ChatGPT zu überprüfen. Das Folgende ist der Implementierungseffekt der Kombination mit den praktischen Netzwerkangriffs- und Verteidigungstools von Goby zur Erkennung von Exploits.

ChatGPT schreibt PoC und erkennt die Schwachstelle!

0×02 Trainingsprozess

Wir verwenden ChatGPT und Goby, um PoC und EXP auf zwei Arten zu schreiben: halbautomatisches Schreiben und vollautomatisches Schreiben (wobei das ChatGPT-Plus-Konto verwendet wird).

Beim halbautomatischen Schreiben wird ChatGPT für die Konvertierung des Sprachformats verwendet. Der generierte Code weist möglicherweise detaillierte Probleme auf und erfordert weitere Fehlerbehebung und Verbesserung. Schließlich werden die entsprechenden Anweisungen und Funktionsinhalte geändert, um das Schreiben von PoC und EXP abzuschließen.

Durch das vollautomatische Schreiben werden ChatGPT die verwendeten Codevorlagen und Schwachstellendetails zur Verfügung gestellt, sodass der PoC entsprechend der Vorlage automatisch generiert werden kann. Bei der Angabe detaillierter Informationen müssen Sie auf die Vollständigkeit und Richtigkeit der Informationen achten. Derzeit ist es möglich, einfaches PoC automatisch zu schreiben. Für EXP ist eine weitere Schulung zur Verwendung der integrierten Funktionen von Goby erforderlich.

0×03CVE-2010-2861

Adobe ColdFusion ist eine effiziente Entwicklungsumgebung für Webanwendungsserver. In der Verwaltungskonsole von Adobe ColdFusion 9.0.1 und früher bestehen mehrere Sicherheitslücken beim Durchsuchen von Verzeichnissen. Ein entfernter Angreifer könnte beliebige Dateien über den an /CFIDE/administrator/enter.cfm, /CFIDE/administrator/archives/index.cfm usw. gesendeten Locale-Parameter lesen.

3.1 Halbautomatisches Schreiben

Versuchen Sie zunächst, ChatGPT das Python-Format EXP der CVE-2010-2861-Verzeichnisdurchquerungsschwachstelle in Code im Go-Sprachformat konvertieren zu lassen. Auf diese Weise kann ChatGPT verwendet werden, um den manuellen Codeprozess zu ersetzen Interpretation und Codekonvertierung.

Wir wählen den EXP-Code der Schwachstelle in der Plattform zur Offenlegung von Schwachstellen aus:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Bevor Sie ChatGPT zum Konvertieren des EXP-Codes der entsprechenden Schwachstelle verwenden, demonstrieren Sie zunächst den Ausführungseffekt des ursprünglichen Python-Codes wie folgt:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Formatkonvertierung starten:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Darüber hinaus erklärt er auch, wie man das Programm nutzt. Allerdings sind die Antworten von ChatGPT möglicherweise nicht jedes Mal genau gleich. Die konkrete Verwendung der Funktion wurde in der vorherigen Antwort nicht ausführlich erläutert, die folgende Erklärung wurde jedoch in einer anderen Antwort gegeben: (Bei Bedarf können Sie der Frage „und die spezifische Verwendung der Funktion vorstellen“ hinzufügen)

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Abschließend fortfahren. Nach dem Debuggen des Codes wurde festgestellt, dass er nicht sofort verwendet werden konnte und der erforderliche Dateiinhalt nicht erfolgreich gelesen werden konnte:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Anschließend müssen Sie mit der Fehlerbehebung beginnen:

Überprüfen Sie, ob die Zeichenfolge nach dem regulären Abgleich leer ist:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Überprüfen Sie, ob der Inhalt des zurückgegebenen Pakets normal ist und ob der folgende zurückgegebene Datenpaket normal angezeigt wird:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Urteil dass ein Problem mit dem regulären Ausdruck vorliegt und der entsprechende Inhalt nicht abgeglichen werden kann:

Durch die Fehlerbehebung wurde festgestellt, dass es keine korrekte Übereinstimmung im regulären Ausdruck gab, sodass der Inhalt der Datei nicht korrekt abgerufen werden konnte Es wurden Änderungen vorgenommen. Die geänderten Inhalte sind wie folgt:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Vor der Änderung:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Endgültiges Ausführungsergebnis, vollständige Python-Go-Konvertierung:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Wir haben das EXP im Python-Format erfolgreich in das Go-Sprachformat konvertiert. Versuchen Sie nun, es in Goby PoC und zu konvertieren EXP im Format.

Da Goby ein selbst entwickeltes Schwachstellen-Framework verwendet, das auf der Go-Sprache basiert, stehen den Benutzern zur Vereinfachung viele integrierte Funktionen zur Verfügung, sodass Sie nur den obigen Teil des Codes verwenden müssen, um den PoC abzuschließen und EXP. Im Folgenden finden Sie die allgemeine EXP-Beschreibung und den detaillierten Inhalt der Änderung:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Änderung des Importinhalts:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Da der generierte EXP eine manuelle Eingabe von Parametern erfordert, wenn die Befehlszeile verwendet wird :

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Wenn PoC dann konvertiert wird, müssen Sie die Konstanten neu definieren und httpclient.FixUrl.IP und httpclient.FixUrl.Port in Goby verwenden, um die Test-IP und die Portnummer zu erhalten und den Pfad der Testdatei zu bestimmen :

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Fügen Sie dann bedingte Beurteilungsanweisungen im PoC hinzu, bestimmen Sie die Merkmale der Schwachstelle und geben Sie true zurück (es liegt eine Schwachstelle vor):

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Löschen Sie abschließend den redundanten Ausgabedruckcode, um die PoC-Konvertierung abzuschließen. Zum Beispiel:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

EXP Während der Konvertierung müssen Sie die Variablen neu definieren und Goby verwenden. Die expResult.HostInfo.IP und expResult.HostInfo.Port erhalten die Test-IP und die Portnummer und verwenden ss.Params["filePath "]. (Zeichenfolge), um den vom Benutzer eingegebenen EXP-Parameter abzurufen - den Testdateipfad filePath:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Fügen Sie dann eine bedingte Beurteilungsanweisung zum EXP-Code hinzu, um zu bestimmen, ob die EXP-Ausführung erfolgreich ist, und geben Sie den EXP aus Ausführungsergebnis zum Abschluss der EXP-Konvertierung:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

3.2 Vollautomatisches Schreiben

Nach der Verwendung von ChatGPT in Kombination mit manuellem Schreiben haben wir weitere Versuche unternommen, damit einen PoC im Goby-Format zu schreiben.

Geben Sie zunächst die Vorlage im Goby-Format an:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Geben Sie dann die Schwachstellennummer, das Produkt, den Typ, die URL, die Schwachstellendatei, die Parameter und die Erfolgsbedingungen für die Beurteilung an und erklären Sie das relevante Feldformat. Wir haben schließlich den folgenden Code erhalten kann vom Goby-Frontend kompiliert werden und erfolgreich einen einfachen PoC generieren:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Das Modelltraining ist zunächst abgeschlossen. Verwenden Sie weiterhin den zweiten Fall, um die Modellperfektion zu überprüfen:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Entdecken Sie das Feld „Name“. Wenn immer noch ein Formatfehler vorliegt, trainieren Sie erneut und ändern Sie ihn (wenn das Feld „Name“ und andere Ausgaben in der Überprüfung korrekt sind, können Sie diesen Fehlerkorrekturschritt überspringen):

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Verwenden Sie abschließend den dritten Fall, um zu überprüfen endgültige Trainingsergebnisse und das Training ist erfolgreich:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Fügen Sie den Code in Goby ein und geben Sie die fehlenden Informationen zur Schwachstellenbeschreibung ein (Sie können später weiter ausführlich trainieren:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

0×04 Selbststudium

Wenn wir verwenden ChatGPT, um einen PoC zur Erkennung neuer 0day-Schwachstellen oder anderer vertraulicher Schwachstellen zu schreiben. Wird dieser Prozess zu Problemen wie Programminjektion oder Informationslecks führen? Das heißt, wenn das Modelltraining abgeschlossen ist und andere Benutzer entsprechende Fragen stellen, wird ChatGPT dann das trainierte Modell oder die trainierten Daten direkt ausgeben?

Um zu überprüfen, ob die Vermutung des ChatGPT-Selbstlernens besteht, wurde das Training über „verschiedene Sitzungen“ und „verschiedene Konten“ durchgeführt. Nach der folgenden Übung kommt man zu dem Schluss, dass ChatGPT kein sitzungs- und kontoübergreifendes Selbstlernen durchführt. Die trainierten Modelle und Daten liegen in den Händen von OpenAI und andere Benutzer erhalten die relevanten Modelle nicht Es bestehen noch Sicherheitsrisiken im Zusammenhang mit der Datenleckage relevanter Informationen, aber zukünftige Situationen müssen immer noch auf der Grundlage der von OpenAI getroffenen Entscheidungen beurteilt werden.

4.1 Vergleich verschiedener Sitzungen

Die verwendete Vorlage (schematische Darstellung wird hier weggelassen) und Schwachstelleninformationen werden angegeben. Es ist ersichtlich, dass die Felder „Name“ und „Beschreibung“ im PoC nicht entsprechend dem Trainingsmodus in der vorherigen Sitzung ausgefüllt sind . Daher lernt ChatGPT nicht von selbst in verschiedenen Sitzungen und das Trainingsmodell zwischen den einzelnen Sitzungen ist unabhängig:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

4.2 Vergleich verschiedener Konten

Geben Sie auch die Vorlage (das schematische Diagramm wird hier weggelassen) und Schwachstelleninformationen an. oder Sie können sehen, dass die relevanten Felder im PoC gemäß dem vorherigen Trainingsmodell nicht ausgefüllt sind. Wir können wissen, dass ChatGPT nicht über Konten hinweg selbstlernt:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

0×05 ChatGPT3 und 4

ChatGPT4 waren Was ist also der Unterschied zwischen der Verwendung von ChatGPT4 zur Durchführung desselben vollautomatischen Schreibtrainings und dem von ChatGPT3 trainierten Modell? Die Antwort ist, dass ChatGPT4 „intelligenter und flexibler“ als ChatGPT 3 ist und die Modellgenerierung genauer ist.

Wir haben die verschiedenen Informationen gegeben, die wir brauchten, und nach einem Training (ein Teil des schematischen Diagramms ist hier weggelassen) haben wir den richtigen Effekt im Bild unten erzielt:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

Darüber hinaus haben wir 10 Trainingsrunden durchgeführt Ziel des Modellvergleichs beim Vergleich der Namensfelder in ChatGPT3 und 4 zur Bestimmung der PoC-Schreibgenauigkeit von ChatGPT3 und 4. Es wurde festgestellt, dass in beiden Fällen Wahrscheinlichkeitsfehler auftreten. Unter diesen ist die Modellausgabegenauigkeit von 3 geringer als die von 4. und unter bestimmten Umständen muss noch eine Korrektur vorgenommen werden, wie in der folgenden Tabelle dargestellt:

ChatGPT schreibt PoC und erkennt die Schwachstelle!

0×06 Zusammenfassung

Im Allgemeinen kann ChatGPT tatsächlich dabei helfen, einen Teil der Arbeit zu erledigen, z Beim Schreiben von Schwachstellen-PoC können Sie die Codekonvertierungsfunktion nutzen, um das Schreiben zu beschleunigen. Sie können auch detaillierte Informationen über die Schwachstelle bereitstellen, mit ChatGPT ein geeignetes Modell trainieren und direkt einen einfachen PoC-Code zur Schwachstellenüberprüfung ausgeben, was bequemer und schneller ist. Der bereitgestellte Antwortinhalt kann jedoch nicht unbedingt direkt kopiert und verwendet werden, und es sind einige manuelle Korrekturen erforderlich, um ihn zu verbessern. Darüber hinaus können wir ChatGPT derzeit relativ beruhigt verwenden. Es gibt die Trainingsmodelldaten eines einzelnen Benutzers nicht zur Verwendung an andere Benutzer aus (nicht verwirrende Sitzungen können auf Bedenken hinsichtlich einer gegenseitigen Kontamination der Benutzerdaten zurückzuführen sein). In Zukunft müssen wir Entscheidungen auf der Grundlage der Entscheidungen der OpenAI-Zentrale treffen, um weitere Entscheidungen zu treffen. Daher kann der sinnvolle Einsatz von ChatGPT dazu beitragen, ein gewisses Maß an Arbeitseffizienz zu verbessern, wenn beispielsweise in Zukunft weitere Schulungen und Entwicklungen durchgeführt werden können, ob es zum Schreiben standardisierter und komplexerer PoC oder sogar EXP verwendet werden kann Entwickeln Sie es, um Inhalte stapelweise zu vervollständigen, um weitere Anwendungsszenarien und -potenziale zu erkunden.

Referenz

[1] https://gobysec.net/exp

[2] https://www.exploit-db.com/exploits/14641

[3] https://zhuanlan.zhihu. com/p/608738482?utm_source=wechat_session&utm_medium=social&utm_oi=1024775085344735232

[4] Verwenden Sie ChatGPT, um den Encoder zu generieren und Webshell zu unterstützen

  • Der Artikel stammt von einem Goby-Community-Mitglied: LPuff@白hathui Security Research Institute, bitte geben Sie an Quelle zum Nachdruck.
  • Version herunterladen: https://gobysec.net

Der Autor dieses Artikels: GobySec, bitte geben Sie an, dass die Quelle des Nachdrucks von FreeBuf.COM stammt

Das obige ist der detaillierte Inhalt vonChatGPT schreibt PoC und erkennt die Schwachstelle!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage