搜尋
首頁科技週邊人工智慧ChatGPT 寫 PoC,拿下漏洞!

0×01前言

ChatGPT(Chat Generative Pre-trained Transformer)是當今備受矚目的智慧AI聊天機器人之一。它不僅能夠實現基本的語言交流,還具備許多強大的功能,例如文章撰寫、程式碼腳本編寫、翻譯等等。那我們是否可以利用 ChatGpt 去輔助我們完成一些工作呢?例如當一個產品存在安全風險需要漏洞偵測時,我們就需要編寫對應的POC來實現。目前進行多次驗證,我們初步證實了這個實驗的可行性,可以訓練ChatGPT 去編寫簡單的PoC,但是它對細節的把控並不夠完善,例如對輸出內容進行匹配的正則表達式的編寫和一些複雜邏輯的處理等存在一定的誤差,還需要人工幹預修改處理。另外我們利用比對的方式驗證了 ChatGPT 的一些安全猜想和訓練模型的準確度。如下是將其與 Goby 實戰化網路攻防工具所結合進行利用偵測的實現效果。

ChatGPT 寫 PoC,拿下漏洞!

0×02訓練過程

我們利用ChatGPT 與Goby 結合編寫PoC 與EXP 有兩種方法:半自動編寫和全自動編寫(過程中使用ChatGPT-Plus 帳號)。

半自動編寫利用 ChatGPT 進行語言格式轉換,轉換後產生的程式碼可能有細節問題,需要進一步排錯完善,最後修改對應的語句和函數內容完成 PoC 與 EXP 的編寫。

全自動編寫透過將使用到的程式碼模板、漏洞詳細資訊給到 ChatGPT,讓它自動生成對應模板的 PoC,在給出詳細資訊時需要注意資訊的完整與準確。目前可以實現自動編寫簡單的 PoC,對於EXP來說還需要進一步訓練 ChatGPT 對 Goby 內建函數的使用等。

0×03CVE-2010-2861

Adobe ColdFusion 是一款高效率的網路應用伺服器開發環境。 Adobe ColdFusion 9.0.1 及先前版本的管理控制台中存在多個目錄遍歷漏洞。遠端攻擊者可藉助向 /CFIDE/administrator/enter.cfm 和 /CFIDE/administrator/archives/index.cfm 等發送的 locale 參數讀取任意檔案。

3.1 半自動寫

首先嘗試讓ChatGPT 將CVE-2010-2861 目錄遍歷漏洞的Python 格式EXP 轉換為Go 語言格式的程式碼,這樣可以利用ChatGPT 取代人工完成程式碼解釋及代碼轉換的過程。

我們在漏洞公開平台中選取該漏洞的EXP 程式碼:

ChatGPT 寫 PoC,拿下漏洞!

#在使用ChatGPT 將對應漏洞的EXP 程式碼轉換之前,先示範原始Python 程式碼的執行效果,如下:

ChatGPT 寫 PoC,拿下漏洞!

開始轉換格式:

ChatGPT 寫 PoC,拿下漏洞!

此外,他也提供了該程序的使用方法。然而,每次 ChatGPT 的回答都可能不完全相同。先前的回答中並沒有詳細說明函數的具體用法,但在另一個回答中給出了以下解釋:(如果需要,可在問題中增加“並介紹函數的具體用法”)

ChatGPT 寫 PoC,拿下漏洞!

#最後進行程式碼偵錯後,發現無法立即使用,未能成功讀取所需的檔案內容:

ChatGPT 寫 PoC,拿下漏洞!

那麼就需要開始排沒錯,以下是排錯程序:

檢查正規匹配後字串是否為空:

ChatGPT 寫 PoC,拿下漏洞!

ChatGPT 寫 PoC,拿下漏洞!

檢查傳回包內容是否正常,有無所需內容,如下回傳資料包顯示正常:

ChatGPT 寫 PoC,拿下漏洞!

#判斷正規表示式有問題,無法配對對應內容:

透過排查發現正規表示式中沒有正確匹配,因此無法將檔案的內容正確取出,做出以下修改,修改後內容具體如下:

ChatGPT 寫 PoC,拿下漏洞!

修改前:

ChatGPT 寫 PoC,拿下漏洞!

最終執行結果,完成Python—Go 的轉換:

ChatGPT 寫 PoC,拿下漏洞!

前面我們已經成功將Python 格式的EXP轉換為了Go 語言格式,現在嘗試將其轉換為Goby 格式的PoC 和EXP。

由於Goby 使用的是基於Go 語言開發的自研漏洞框架,為方便用戶使用,其中已有很多內建函數可供用戶使用,所以只需要利用上述部分程式碼即可完成PoC 和EXP ,以下是EXP 修改的大致說明與詳細內容:

ChatGPT 寫 PoC,拿下漏洞!

ChatGPT 寫 PoC,拿下漏洞!

修改import 內容:

ChatGPT 寫 PoC,拿下漏洞!

ChatGPT 寫 PoC,拿下漏洞!

ChatGPT 寫 PoC,拿下漏洞!

ChatGPT 寫 PoC,拿下漏洞!

ChatGPT 寫 PoC,拿下漏洞!

ChatGPT 寫 PoC,拿下漏洞!##由於產生的EXP 在命令列使用時需要手動輸入參數:

ChatGPT 寫 PoC,拿下漏洞!#那麼在PoC 轉換時,需要重新定義常數,並利用Goby 中的httpclient.FixUrl.IP 與httpclient.FixUrl.Port 取得測試的IP 與埠號,決定測試的檔案路徑path:

##接著在PoC 中加入條件判斷語句,判斷漏洞存在的特徵,並回傳true(有漏洞):

ChatGPT 寫 PoC,拿下漏洞!最後刪除多餘的輸出列印程式碼即可完成PoC 轉化,如:

ChatGPT 寫 PoC,拿下漏洞!EXP 轉換時,需重新定義變量,利用Goby 中的expResult.HostInfo.IP 與expResult.HostInfo.Port 取得測試的IP和連接埠號,利用ss.Params["filePath"] . (string) 取得使用者輸入的EXP 參數-測試檔案路徑filePath:

ChatGPT 寫 PoC,拿下漏洞!#接著在EXP 程式碼中加入條件判斷語句,判斷EXP 是否執行成功,並輸出EXP 執行結果,完成EXP 轉換:

ChatGPT 寫 PoC,拿下漏洞!3.2 全自動寫

在使用ChatGPT 與人工結合撰寫後,我們進一步嘗試使用它來撰寫Goby 格式的PoC。

###首先將Goby 格式的範本給出:###############接著將漏洞的編號、產品、類型、Url、漏洞檔案、參數和判斷成功條件給出,說明相關的字段格式,我們最終得到了下面的程式碼,它已經可以通過Goby 前端的編譯,並且可以成功地生成簡單的PoC:##############模型訓練初步完成,繼續使用第二個案例驗證模型完善程度:###############發現Name 欄位還是存在格式錯誤,再次訓練修改(若驗證中Name 欄位等輸出正確,那麼即可跳過此糾錯步驟):###############最後使用第三個案例進行驗證最終的訓練結果,訓練成功:###

ChatGPT 寫 PoC,拿下漏洞!

將程式碼放入Goby 中,並填入缺少的漏洞描述資訊(後續還可繼續深入訓練),運行效果如下:

ChatGPT 寫 PoC,拿下漏洞!

0×04 自我學習

當我們在利用ChatGPT 去幫助編寫一個新鮮出爐的0day 漏洞或其他機密漏洞的檢測PoC 這個過程當中,是否會導致程式註入或資訊外洩等問題呢?也就是說當模型訓練完成後,其他使用者提問相關的內容,ChatGPT 是否會直接將訓練好的模型或資料直接輸出呢?

為了驗證 ChatGPT 自我學習的猜想是否存在,分別透過「不同會話」與「不同帳戶」來進行訓練。經過以下實踐,得到的結論是ChatGPT 並不會進行跨會話與跨帳號的自我學習,訓練好的模型與資料是掌握在OpenAI 手中的,其他使用者並不會得到相關的模型,所以目前還不存在相關資訊資料外洩的安全風險,但日後的情況也需要根據OpenAI 採取的決策來做判斷。

4.1 不同會話比對

將使用的模板(此處省略示意圖)和漏洞資訊給出,可以看到PoC 中的Name 和Desc ription 欄位並沒有按照上一個會話中的訓練模式來進行填充,因此在不同會話當中ChatGPT 並不會自我學習,每個會話間的訓練模型獨立:

ChatGPT 寫 PoC,拿下漏洞!

4.2 不同帳號比對

同樣將模板(此處省略示意圖)和漏洞資訊給出,也可以看到PoC 中的相關字段並沒有按照先前的訓練模型來進行填充,由此可得知ChatGPT 並不會跨帳號自我學習:

ChatGPT 寫 PoC,拿下漏洞!

0×05 ChatGPT3與4

ChatGPT4 已經更新上線,那麼去使用ChatGPT4 進行同樣的全自動編寫訓練和ChatGPT3 訓練出來的模型有什麼差別呢?答案是 ChatGPT4 比 3 更「聰明靈動」一些,模型的生成更為準確。

我們將所需的各種資訊給出,經過一次訓練後(此處省略部分示意圖),達到了下圖中正確的效果:

ChatGPT 寫 PoC,拿下漏洞!

另外我們進行了10 輪的訓練,針對模型中的Name字段進行比對,來判斷ChatGPT3 與4 的PoC 編寫準確率,發現均會出現概率性的出錯情況,其中3 的模型輸出準確率要比4 低一些,在一定情況下仍需進行糾錯訓練,如下表格所示:

ChatGPT 寫 PoC,拿下漏洞!

#0×06 總結

總的來說,ChatGPT 確實能夠幫助完成一部分的工作,對於日常的工作例如編寫漏洞PoC,可以利用它的代碼轉換能力加速編寫;也可以將漏洞的詳細信息給出,利用ChatGPT 訓練合適的模型,直接輸出一份簡單的漏洞驗證PoC 程式碼,更加方便快速。但它所提供的回答內容不一定能直接複製使用,還需要進行一些人工的修正來完善。另外目前我們也可以相對放心使用ChatGPT,它不會將單一使用者的訓練模型資料輸出給其他使用者來使用(不混淆會話可能是擔心使用者資料互相污染),但日後還需要針對OpenAI 總部所做的決策來進一步判斷。因此ChatGPT 的合理使用,可以輔助提高一定的工作效率,若日後可以再延續進一步的訓練開發,例如是否可以利用其編寫資訊描述規範且較為複雜的PoC 甚至是EXP,或者將其工程化批量完成內容去探索更多的應用場景和潛力。

參考

[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##>

文章來自Goby社群成員:LPuff@白帽匯安全研究院,轉載請註明出處。

    取得版本:https://gobysec.net
  • 本文作者:GobySec, 轉載請註明來自FreeBuf.COM
  • #

以上是ChatGPT 寫 PoC,拿下漏洞!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
META的新AI助手:生產力助推器還是時間下沉?META的新AI助手:生產力助推器還是時間下沉?May 01, 2025 am 11:18 AM

Meta攜手Nvidia、IBM和Dell等合作夥伴,拓展了Llama Stack的企業級部署整合。在安全方面,Meta推出了Llama Guard 4、LlamaFirewall和CyberSecEval 4等新工具,並啟動了Llama Defenders計劃,以增強AI安全性。此外,Meta還向10個全球機構(包括致力於改善公共服務、醫療保健和教育的初創企業)發放了總額150萬美元的Llama Impact Grants。 由Llama 4驅動的全新Meta AI應用,被設想為Meta AI

80%的Zers將嫁給AI:研究80%的Zers將嫁給AI:研究May 01, 2025 am 11:17 AM

公司開創性的人類互動公司Joi AI介紹了“ AI-Iatsionship”一詞來描述這些不斷發展的關係。 Joi AI的關係治療師Jaime Bronstein澄清說,這並不是要取代人類C

AI使互聯網的機器人問題變得更糟。這家耗資20億美元的創業公司在前線AI使互聯網的機器人問題變得更糟。這家耗資20億美元的創業公司在前線May 01, 2025 am 11:16 AM

在線欺詐和機器人攻擊對企業構成了重大挑戰。 零售商與機器人ho積產品,銀行戰斗帳戶接管以及社交媒體平台與模仿者鬥爭。 AI的興起加劇了這個問題,Rende

賣給機器人:將創造或破壞業務的營銷革命賣給機器人:將創造或破壞業務的營銷革命May 01, 2025 am 11:15 AM

AI代理人有望徹底改變營銷,並可能超過以前技術轉變的影響。 這些代理代表了生成AI的重大進步,不僅是處理諸如chatgpt之類的處理信息,而且還採取了Actio

計算機視覺技術如何改變NBA季后賽主持人計算機視覺技術如何改變NBA季后賽主持人May 01, 2025 am 11:14 AM

人工智能對關鍵NBA遊戲4決策的影響 兩場關鍵遊戲4 NBA對決展示了AI在主持儀式中改變遊戲規則的角色。 首先,丹佛的尼古拉·喬基奇(Nikola Jokic)錯過了三分球,導致亞倫·戈登(Aaron Gordon)的最後一秒鐘。 索尼的鷹

AI如何加速再生醫學的未來AI如何加速再生醫學的未來May 01, 2025 am 11:13 AM

傳統上,擴大重生醫學專業知識在全球範圍內要求廣泛的旅行,動手培訓和多年指導。 現在,AI正在改變這一景觀,克服地理局限性並通過EN加速進步

Intel Foundry Direct Connect 2025的關鍵要點Intel Foundry Direct Connect 2025的關鍵要點May 01, 2025 am 11:12 AM

英特爾正努力使其製造工藝重回領先地位,同時努力吸引無晶圓廠半導體客戶在其晶圓廠製造芯片。為此,英特爾必須在業界建立更多信任,不僅要證明其工藝的競爭力,還要證明合作夥伴能夠以熟悉且成熟的工作流程、一致且高可靠性地製造芯片。今天我聽到的一切都讓我相信英特爾正在朝著這個目標前進。 新任首席執行官譚立柏的主題演講拉開了當天的序幕。譚立柏直率而簡潔。他概述了英特爾代工服務的若干挑戰,以及公司為應對這些挑戰、為英特爾代工服務的未來規劃成功路線而採取的措施。譚立柏談到了英特爾代工服務正在實施的流程,以更以客

AI出了問題嗎?現在在那里為此保險AI出了問題嗎?現在在那里為此保險May 01, 2025 am 11:11 AM

全球專業再保險公司Chaucer Group和Armilla AI解決了圍繞AI風險的日益嚴重的問題,已聯手引入了新型的第三方責任(TPL)保險產品。 該政策保護業務不利

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。