《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > S7Comm-Plus協議分析之數據區訪問

S7Comm-Plus協議分析之數據區訪問

2021-04-22
來源: 關鍵基礎設施安全應急響應中心

  概述:西門子PLC使用私有協議進行通信,端口為102。西門子PLC協議有3個版本,S7Comm協議,早期S7CommPlus協議和最新的S7CommPlus協議。S7-200、S7-300、S7-400系列的PLC采用早期的西門子私有協議S7comm進行通信,S7-1200系列v3.0版本之前的通信協議采用早期S7Comm-Plus協議,S7-1200系列v4.0版本、S7-1500系列采用了最新的S7Comm-Plus協議,最新的S7Comm-Plus協議引入了會話ID來防止重放攻擊,且對關鍵流量有加密處理,該部分的內容從2017年以來就有多名研究員進行了闡述,網絡上相關的文章也比較多。但對S7Comm-Plus協議在工控環境下使用最多的業務流量分析較為缺乏,本文以工控常見業務場景為例,分析Wincc V7.4作為上位機對PLC數據區的訪問操作,現實場景中工控流量占比最大的也是上位機的SCADA環境對下位機PLC數據區的一些讀寫操作,而非組態軟件對PLC的啟停、下裝上載操作,只有在調試運維過程中才會使用組態軟件。

  1

  環境配置

  整個協議分析的基本環境配置如下:Win7 x64虛擬機:

  PLC:S7-1200,6ES7214-1AG40-0XB0

  Firmware: V4.2.3

  Software:Wincc V7.4

  S7Comm-Plus Wiresharkdissector plugin: V0.0.8

  配置環境搭建的框架圖如下所示,通過交換機連接SCADA上位機與S7-1214C的PLC,wireshark安裝在連接鏡像端口的PC機中,wireshark中導入S7Comm-Plus的解析插件。

  微信圖片_20210422160729.jpg

  2

  對數據區的讀變量操作

  本文所述的數據區特指S7系列PLC中的DB塊、M區(I區、Q區與M區類似)。Wincc對PLC的讀變量操作,首先需要組態Wincc V7.4在畫面中建立輸出控件,關聯上PLC的對應地址變量,運行系統后在控件中就可讀取對應變量的值,如下所示:

 微信圖片_20210422160744.jpg

  組態讀取MD92地址處的變量值,讀取變量的操作碼Opcode為0X31,Function為CreateObject(0x04ca),尋找第7個Attribute屬性中ID Number字段SubscriptionReferenceList。

 微信圖片_20210422160758.jpg

  展開SubscriptionReferenceList的詳細描述,在SubscriptionList下包含了具體的訪問區域與詳細地址信息,Accessbase-area區域顯示M區(0x52),Blob startoffset為92,表示M區中的訪問地址,讀取字節數Blob bytecount為2,表示讀取兩個字節長度。

  微信圖片_20210422160811.jpg

  組態讀取DB59999.DBW6地址處的變量值(wincc對于DB塊進行讀取操作必須不加入優化,DB塊中的變量必須有確定分配的地址),讀取變量的操作碼Opcode為0X31,Function為CreateObject(0x04ca),尋找第7個Attribute屬性中ID Number字段SubscriptionReferenceList。

微信圖片_20210422160827.jpg  

  展開SubscriptionReferenceList的詳細描述,在SubscriptionList下包含了具體的訪問區域與詳細地址信息,Accessbase-areaa區域經過算法解析后得到0x8a0eea5f,表示DB59999(原始數據幀中字節為0x88 d0 bb d4 5f),Blob startoffset為6,表示DB5999中的訪問地址,讀取字節數Blob bytecount為2,表示讀取兩個字節長度。

  微信圖片_20210422160859.jpg

  備注:VLQ相關編碼算法可參考S7Comm-plus wireshark插件的源碼,源碼地址https://sourceforge.net/p/s7commwireshark/code/HEAD/tree/trunk/src/

  3

  對數據區的寫變量操作

  Wincc對PLC的寫值操作一般會在畫面中建立輸入控件,關聯上PLC的對應地址變量,在控件中寫值,按enter鍵后寫入成功,如下所示:

  微信圖片_20210422160916.jpg

  在MD92寫入變量過程中抓取到請求數據幀

 微信圖片_20210422160930.jpg

  寫入變量的操作碼Opcode為0X31,Function為SetMultiVariables(0x0542),Access base-areaa字段顯示為M區(0x52),寫入地址Blob startoffset為92,寫入字節數Blob bytecount為4,寫入的值為value:0x0001046a。

  微信圖片_20210422160938.jpg

  在DB59999.DBW6地址處寫入變量過程中抓取到請求數據幀,(Wincc寫DB塊必須保證DB塊不優化,有自己的實際地址)

 微信圖片_20210422160950.jpg

  寫入變量的操作碼Opcode為0X31,Function為SetMultiVariables(0x0542),Access base-areaa字段顯示為DB59999(0x8a0eea5f),寫入地址Blob startoffset為6,寫入字節數Blob bytecount為2,寫入的值為value:0x8235。

  微信圖片_20210422160959.jpg

  4

  流量中關鍵點提取

  從以上的分析中可以總結如下表格,不論是工業防火墻還是審計系統,均需要將關鍵字段識別并加入至白名單中,在S7Comm-plus協議的流量中,識別表格中的關鍵信息就能命中各種業務操作,比如讀M區變量、寫Q區變量等。但是想和實際工藝場景結合,比如命中流量中對污水處理加藥間加藥量閥門的操作需要做進一步的工作。

 微信截圖_20210422161017.png

  5

  總結

  本文以Wincc V7.4作為上位機,調用S7Comm-plus的驅動訪問S7-1200系列PLC,具體訪問了PLC的DB塊、M區等,在訪問過程中通過wireshark抓取對應報文,并做了簡單分析,并通過表格形式總結出S7Comm-plus訪問西門子系列PLC常用數據區的關鍵字段,在工業安全產品中要解析或者捕獲流量是需要命中這些字段,通過這些字段關聯到對應的操作區域。但如果想再次區分流量中對M區的哪個地址寫入了什么數據還需要深入解析后續的value字段。如若需要和工藝流程聯動,還需要將工程點表和安全產品中的命中規則聯動和融合,這樣才能更接近工業現場。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美精品在欧美一区二区少妇| 久久精品一本| 欧美一激情一区二区三区| 99精品视频免费观看视频| 欧美三级视频在线| 亚洲一级黄色| 午夜精品成人在线视频| 国产真实乱偷精品视频免| 嫩草影视亚洲| av成人激情| 亚洲一区亚洲二区| 韩国成人福利片在线播放| 欧美成人有码| 亚洲一区在线观看视频| 亚洲女人天堂av| 尤物视频一区二区| 国产精品成人免费| 久久久精品午夜少妇| 亚洲精品视频免费| 亚洲性视频网址| 黄色在线一区| 国内久久婷婷综合| 黄色成人在线| 在线观看一区二区精品视频| 在线不卡亚洲| 亚洲激情综合| 国产欧美一区二区视频| 蜜乳av另类精品一区二区| 在线视频精品| 亚洲成色www8888| 99re6这里只有精品| 亚洲乱亚洲高清| 国产自产2019最新不卡| 国产欧美日韩一区| 国产一区白浆| 欧美日韩直播| 久久人人爽爽爽人久久久| 亚洲美女毛片| 一区二区激情视频| 亚洲午夜电影| 亚洲欧美日韩人成在线播放| 亚洲国产精品久久精品怡红院| 一区二区三区在线高清| 欧美日韩亚洲一区| 欧美日精品一区视频| 欧美午夜电影网| 国产精品有限公司| 欧美日韩国产91| 久久婷婷综合激情| 能在线观看的日韩av| 欧美日本韩国在线| 国产精品免费视频xxxx| 欧美精品久久久久a| 久久久久欧美| 亚洲欧美日韩国产| 亚洲乱码久久| 亚洲视频一区| 亚洲精品一区二区三区樱花| 一区二区三区国产在线| 午夜一区不卡| 亚洲四色影视在线观看| 午夜精品国产更新| 久久性天堂网| 欧美日韩亚洲一区三区| 国产视频一区在线观看一区免费| 欧美国产精品劲爆| 久久久久久香蕉网| 欧美国产免费| 国产精品美女在线观看| 伊人精品在线| 亚洲桃花岛网站| 日韩亚洲精品在线| 欧美一区二区三区精品电影| 亚洲一级网站| 欧美激情网站在线观看| 午夜精品国产| 亚洲一区二区在线看| 久久久久久一区二区| 亚洲一区二区在线视频| 亚洲人成绝费网站色www| 午夜免费日韩视频| 亚洲欧洲日产国产网站| 久久国产婷婷国产香蕉| 在线亚洲观看| 久久色在线观看| 国产精品久久久久秋霞鲁丝| 亚洲高清久久久| 亚洲国产视频直播| 亚洲欧美日韩区| 一区二区三区欧美在线观看| 久久久久免费观看| 国产精品日日摸夜夜添夜夜av| 欧美+日本+国产+在线a∨观看| 欧美日韩国产美女| 极品裸体白嫩激情啪啪国产精品| 99热这里只有成人精品国产| 亚洲第一精品夜夜躁人人爽| 亚洲视频网在线直播| 亚洲国产精品成人| 欧美中文字幕久久| 久久久精彩视频| 欧美日韩一区三区| 亚洲电影在线免费观看| 亚洲日本在线视频观看| 亚洲品质自拍| 久久国产天堂福利天堂| 欧美中文字幕久久| 国产精品日韩久久久| 日韩性生活视频| 亚洲精品一区二区三区av| 另类av导航| 欧美日韩国产一级| 亚洲国产精品一区二区www| 久久se精品一区精品二区| 亚洲欧洲偷拍精品| 欧美一区二区久久久| 欧美日韩专区| 亚洲乱码精品一二三四区日韩在线| 久久精品道一区二区三区| 欧美一级艳片视频免费观看| 欧美私人网站| 99精品福利视频| 一区二区欧美在线| 欧美女同在线视频| 91久久久久久国产精品| 亚洲经典一区| 嫩草成人www欧美| 亚洲高清不卡一区| 亚洲片在线观看| 免费日韩av电影| 亚洲电影中文字幕| 亚洲每日在线| 欧美日韩国产小视频在线观看| 亚洲国产成人一区| 亚洲精品男同| 欧美激情小视频| 最新中文字幕一区二区三区| 亚洲精品在线观| 欧美激情视频在线免费观看 欧美视频免费一 | 在线成人免费视频| 最新日韩av| 欧美精品成人91久久久久久久| 亚洲第一成人在线| 99热免费精品| 国产精品av免费在线观看| 亚洲一区二区三区在线观看视频| 亚洲在线视频观看| 国产精品视频你懂的| 午夜免费在线观看精品视频| 久久精品一区二区国产| 伊人久久婷婷色综合98网| 亚洲免费观看高清完整版在线观看熊 | 国产欧美精品va在线观看| 亚洲欧美日韩国产一区二区| 久久爱www| 一区二区三区在线视频观看| 亚洲日本中文字幕免费在线不卡| 欧美电影免费观看高清完整版| 亚洲激情网站免费观看| 亚洲一区二区久久| 国产日韩欧美在线观看| 亚洲国产日韩一区二区| 欧美日韩一区二区三| 亚洲宅男天堂在线观看无病毒| 欧美一级理论片| 在线观看三级视频欧美| 夜夜嗨网站十八久久| 国产精品乱人伦中文| 亚洲二区视频在线| 欧美日韩一区二区三区免费看| 一区二区欧美视频| 亚洲激情一区二区| 欧美日韩亚洲一区二区| 欧美一区二区成人6969| 亚洲欧美国产一区二区三区| 国产欧美一区二区三区在线老狼| 久久国产精品免费一区| 欧美激情综合在线| 亚洲在线成人| 欧美成人资源网| 午夜精品福利在线| 欧美激情影院| 午夜精品久久久99热福利| 欧美成年人视频网站| 亚洲自拍偷拍福利| 欧美成人日本| 亚洲免费婷婷| 欧美精品999| 欧美一区二区免费| 欧美日韩p片| 久久精品国产亚洲aⅴ| 欧美视频一区在线| 91久久久在线| 国产日产亚洲精品| 亚洲最新在线| 精品成人国产| 欧美亚洲免费电影| 亚洲麻豆视频| 免费久久99精品国产自| 亚洲一区二区在线观看视频|