一款針對Profinet協議漏洞滲透的工具

2019-05-19 41767人圍觀 ,發現 1 個不明物體 工具

*本文中涉及到的相關漏洞已報送廠商并得到修復,本文僅限技術研究與討論,嚴禁用于非法用途,否則產生的一切后果自行承擔。

PROFINET由IP國際組織推出,是新一代基于工業以太網技術自動化總線標準,PROFINET-DCP是發現和基本配置協議,用于標識與查詢有無指定IP地址節點,然后配置IP地址、默認網關、子網掩碼。DCP是標準的PROFINET功能,可以讀寫設備與網絡地址相關參數。由于只能在一個局域網中使用,通過實時通道傳輸,使用DCP協議可以實現不需要額外組態工程操作就能替換設備。

PROFINET-DCP set ip流程

PROFINET-DCP設置IP地址流程如下圖所示:

image.png

步驟 具體說明
1 控制器在網內以設備名為參數廣播DCP_Identify.req請求,確認設備是否存在
2 設備接收到請求,檢查其中的設備名是否與設備自身名字匹配
3 如果匹配則發送DCP_Identify.rsp響應控制器請求,否則不做處理
4 控制器收到設備回復后,將設備MAC地址作為以太網報文的目標地址
5 控制器將IP地址、子網掩碼與網關作為參數發送報文DCP_Set.req給設備
6 設備設置IP地址等參數完畢后,發送DCP_Set.rsp給控制器

由于PROFINET-DCP為二層協議,本身缺乏鑒權機制,導致攻擊者也是利用這個流程來篡改工控設備IP地址。

ISF工具漏洞利用PROFINET-DCP

工具介紹:

ISF是一款針對工業控制系統的漏洞利用框架,它是一款針對工業控制系統的漏洞利用框架。該工具基于開源項目routersploit,采用Python語言開發。ISF分為兩個模塊:工控協議模塊與工控協議客戶端模塊,分別用于測試工控協議是否存在漏洞與模擬客戶端數據通信。

ISF漏洞利用PROFINET-DCP篡改工控設備IP方法與說明:

使用Profinet set ip module

通過運行pythonisf.py啟動isf,通過search命令來查找profinet的漏洞利用模塊然后用use命令選擇profinet_set_ip漏洞模塊。具體的操作命令如下圖所示:

image.png

設置漏洞利用參數:

首先用show options命令,查看漏洞利用操作選項,如下圖

 image.png

target為要修改目標機的mac地址,target_ip為想要設置的ip地址,nic為通信的網卡

第一步:由于Profinet  dcp是以太網協議,因此我們首先要設置用哪個網口來發送和接收數據包。如下圖所示:

image.png

第二步:設置目標機Mac地址

如果此時不知道目標機的Mac地址,可以運用scan命令來進行局域網設備探測,Device Type為工控設備硬件類型。如下圖所示:

image.png

探測到目標機mac地址后,設置target,如下圖所示:

image.png

第三步:設置想要篡改的ip地址、子網掩碼、網關,如下圖所示:

image.png

第四步:執行漏洞利用:

運行run命令,執行漏洞利用,篡改工控設備IP,如下圖所示:

image.png

測試結論

通過以上ISF漏洞利用測試與分析,發現PROFINET-DCP協議存在安全漏洞,沒有鑒權的識別,讓攻擊者可以掃描局域網內工控設備的IP地址,從而對工控設備IP地址進行篡改。

*本文作者:zoucl123,轉載請注明來自FreeBuf.COM

發表評論

已有 1 條評論

取消
Loading...
zoucl123

北京天地和興科技有限公司 鄒叢林

1 文章數 0 評論數

特別推薦

推薦關注

填寫個人信息

姓名
電話
郵箱
公司
行業
職位
css.php jizzz