性吧杏吧,手机色情直播破解版,杏杏吧在线

破解工業(yè)通訊協(xié)議的條件及實(shí)戰(zhàn)過(guò)程

2018/11/28 16:31:14 人評(píng)論 次瀏覽 分類(lèi):文化長(zhǎng)廊  文章地址:http://prosperiteweb.com/community/2270.html

昌暉儀表在本文分享破解工業(yè)通訊協(xié)議需要的條件和工具,結(jié)合實(shí)戰(zhàn)講解工業(yè)通訊破解過(guò)程,本破解過(guò)程對(duì)提高工業(yè)通信的信息安全具有很好的參考作用。

在破解工業(yè)通訊協(xié)議之前,先說(shuō)一說(shuō)為什么要破解工業(yè)通訊協(xié)議的原因。

隨著現(xiàn)代工業(yè)化的進(jìn)一步發(fā)展,信息化建設(shè)的需要,工業(yè)智能設(shè)備或系統(tǒng)與上層信息化系統(tǒng)之間的互聯(lián)互通已成為必需的。雖說(shuō)現(xiàn)在的工業(yè)現(xiàn)場(chǎng)各類(lèi)智能設(shè)備都提供了多種行業(yè)標(biāo)準(zhǔn)協(xié)議,但對(duì)工業(yè)通訊較為熟悉的人都應(yīng)該有所了解,工業(yè)現(xiàn)場(chǎng)的一些控制系統(tǒng)如PLC,DCS等用于對(duì)外提供標(biāo)準(zhǔn)協(xié)議通訊的部分屬于選配件,而非原生就支持,而且都需要增加硬件配件+軟件配置才能實(shí)現(xiàn)行業(yè)標(biāo)準(zhǔn)協(xié)議的支持。這樣的方式帶來(lái)的一個(gè)現(xiàn)實(shí)問(wèn)題就是,當(dāng)初購(gòu)買(mǎi)PLC或DCS時(shí),實(shí)施工程的人在開(kāi)發(fā)時(shí)并未實(shí)現(xiàn)行業(yè)標(biāo)準(zhǔn)協(xié)議的支持。經(jīng)過(guò)了多年后,項(xiàng)目都驗(yàn)收了,而企業(yè)又出現(xiàn)了信息化建設(shè)的需求,這時(shí)候矛盾就出現(xiàn)了。企業(yè)的信息化系統(tǒng)需要工業(yè)現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù),但現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)并未配置實(shí)用行業(yè)標(biāo)準(zhǔn)協(xié)議對(duì)外發(fā)布。而現(xiàn)場(chǎng)設(shè)備廠家提供的軟件卻是可以從現(xiàn)場(chǎng)設(shè)備獲取數(shù)據(jù)的。

從現(xiàn)場(chǎng)設(shè)備獲取數(shù)據(jù)的路線就有2種方式了。
1、聯(lián)系現(xiàn)場(chǎng)設(shè)備廠家或者原來(lái)的工程實(shí)施人員,在現(xiàn)場(chǎng)停機(jī)檢修的時(shí)候?qū)F(xiàn)場(chǎng)設(shè)備的配置進(jìn)行修改,使得現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)能以行業(yè)標(biāo)準(zhǔn)協(xié)議對(duì)外提供。這種方式對(duì)數(shù)據(jù)采集來(lái)說(shuō)是最理想的方式,安全性及可靠性最高。但從實(shí)際操作來(lái)說(shuō),不少情況下是很困難的,因?yàn)闀r(shí)間太長(zhǎng),找不到原來(lái)的實(shí)施人員,或者由于需要修改的站點(diǎn)多而導(dǎo)致成本高,現(xiàn)場(chǎng)設(shè)備廠家也不提供現(xiàn)場(chǎng)設(shè)備或系統(tǒng)的私有通訊協(xié)議(歐美系的PLC廠家?guī)缀醵疾粫?huì)提供設(shè)備的私有通訊協(xié)議)。

2、讓上層信息化系統(tǒng)廠家來(lái)解決此問(wèn)題,實(shí)際上也就是讓新系統(tǒng)的廠家自己想盡一切辦法從現(xiàn)場(chǎng)設(shè)備獲取數(shù)據(jù),修改現(xiàn)場(chǎng)設(shè)備(PLC或DCS)配置的方式一般也不會(huì)采用,因?yàn)閾?dān)心帶來(lái)PLC或DCS問(wèn)題而擔(dān)責(zé)任,因此上層系統(tǒng)的廠家能干的就是自己想法或拿到現(xiàn)場(chǎng)設(shè)備的私有通訊協(xié)議或破解其通訊協(xié)議。能想任何辦法去搞到現(xiàn)場(chǎng)設(shè)備的私有通訊協(xié)議資料時(shí)間對(duì)通訊取數(shù)來(lái)說(shuō)也是一種安全性和穩(wěn)定性都很高的方式。而破解私有通訊協(xié)議完全就是通過(guò)抓包工具抓取現(xiàn)場(chǎng)設(shè)備和其上位軟件之間通訊報(bào)文,然后利用相關(guān)工具對(duì)報(bào)文進(jìn)行逐字節(jié)的分析比較,找出其規(guī)律,摸索各個(gè)報(bào)文之間的不同之處和界面配置參數(shù)的關(guān)系。所以從私有通訊協(xié)議的破解來(lái)說(shuō),是一件費(fèi)時(shí)費(fèi)力而且具有較大失敗風(fēng)險(xiǎn)的事情,其中的風(fēng)險(xiǎn)就在也許你已經(jīng)破解了私有協(xié)議的95%,但最后的一點(diǎn)由于廠家使用了加密算法而導(dǎo)致完全的失敗。

破解工業(yè)通訊協(xié)議的條件
①有人能提供給你用做模擬測(cè)試的現(xiàn)場(chǎng)設(shè)備以及盡量多的設(shè)備產(chǎn)品資料。
②對(duì)于現(xiàn)場(chǎng)設(shè)備的配置及配置軟件的操作自己能搞定或者有人全力配置你。
③有軟件能和現(xiàn)場(chǎng)設(shè)備通訊上,一般來(lái)說(shuō),設(shè)備廠家自己的上位軟件都沒(méi)有問(wèn)題,于是你也必須對(duì)設(shè)備廠家的上位軟件知道如何使用或有人協(xié)助你。
④廠家的私有協(xié)議是明文類(lèi)協(xié)議,而不是加密類(lèi)協(xié)議。
⑤足夠多的時(shí)間。

破解工業(yè)通訊協(xié)議所需工具

如果以上條件具備,就可以試一試破解工業(yè)通訊協(xié)議了。開(kāi)始之前,先將協(xié)議分析的相關(guān)工具備好。筆者自己使用的工具如下:

①通訊報(bào)文抓取工具,串口協(xié)議使用AccessPort,以太網(wǎng)上的協(xié)議使用Wireshark。
②文本比較工具Beyond Compare。
③各種類(lèi)型數(shù)據(jù)轉(zhuǎn)16進(jìn)制的工具。
④能對(duì)報(bào)文計(jì)算各種檢驗(yàn)算法的工具。

破解工業(yè)通訊協(xié)議實(shí)戰(zhàn)
本例中,筆者以一個(gè)國(guó)外PLC為例來(lái)破解它的工業(yè)通訊協(xié)議,這里的工業(yè)通訊協(xié)議僅僅設(shè)備到數(shù)據(jù)交換的部分。

1、搭建環(huán)境。這款國(guó)外PLC設(shè)備原生自帶以太網(wǎng)口,默認(rèn)就可使用私有協(xié)議讀取其寄存器中的數(shù)據(jù)。搭建環(huán)境就按照最簡(jiǎn)化的方式,電腦與PLC直連,電腦上除了必須的軟件,不安裝其他任何軟件,這樣可以避免各種干擾信息。我自己習(xí)慣使用干凈的虛擬機(jī)系統(tǒng),在虛擬機(jī)的XP系統(tǒng)中安裝PLC的編程軟件、上位組態(tài)軟件及網(wǎng)絡(luò)轉(zhuǎn)包工具Wireshark。

2、剛開(kāi)始時(shí)先在操作系統(tǒng)中檢測(cè)和PLC之間是否能正常通訊,在使用上位組態(tài)軟件測(cè)試是否能從PLC中獲取到相關(guān)數(shù)據(jù),一切正常后,再開(kāi)始抓包分析工作。


3、前兩步都正常后,下面就開(kāi)始抓包了。在上位組態(tài)軟件中只留下一個(gè)IO點(diǎn),記錄現(xiàn)在IO的配置,一般包含功能區(qū)、開(kāi)始地址,數(shù)據(jù)類(lèi)型等設(shè)置,不同的協(xié)議不一樣。實(shí)際也就是關(guān)注界面上可以設(shè)置的區(qū)域有哪些,待會(huì)兒抓取到多條報(bào)文后,進(jìn)行對(duì)比分析,看同類(lèi)型報(bào)文中哪些區(qū)域在變,哪些區(qū)域不變。同時(shí)在網(wǎng)絡(luò)轉(zhuǎn)包工具Wireshark中設(shè)置好過(guò)濾條件(本來(lái)中我對(duì)目的端口和源端口進(jìn)行過(guò)濾就可完整無(wú)誤的將上位軟件和PLC之間的通訊完整的抓取到而且不會(huì)有垃圾報(bào)文),這是必須的,因?yàn)槿绻由线^(guò)濾條件,抓到的包成百上千,存在大量無(wú)用的信息,那么就無(wú)從下手了。下面是抓取的報(bào)文截圖

破解工業(yè)通訊協(xié)議抓取的報(bào)文1

破解工業(yè)通訊協(xié)議抓取的報(bào)文2
4、通過(guò)對(duì)上位軟件的多次停止然后又啟動(dòng)進(jìn)行多次抓包后,先對(duì)多次抓包的報(bào)文發(fā)送順序和報(bào)文長(zhǎng)度進(jìn)行對(duì)比,尋找其規(guī)律。通過(guò)上面兩次的抓包(其后只是改變了配置界面的一項(xiàng)配置)可以發(fā)現(xiàn)一些規(guī)律,首先是每次開(kāi)始都是3個(gè)固定長(zhǎng)度的包,如你對(duì)TCP/IP熟悉的話,可以看到這是TCP連接的3此握手。然后再看截圖中的第4個(gè)包和第5個(gè)包,發(fā)現(xiàn)兩張圖上這兩個(gè)包的長(zhǎng)度完全一樣,這時(shí)候可以對(duì)比這兩次抓包中的第4個(gè)包和第5個(gè)包的應(yīng)用層數(shù)據(jù)是否完全一樣,如果一樣,再多次抓包后看每次在TCP連接建立后發(fā)送的包和回來(lái)的包的應(yīng)用層數(shù)據(jù)是否都一樣,如果完全一樣,基本可以確定是PLC登錄驗(yàn)證的報(bào)文。


5、接下來(lái)繼續(xù)看后面的報(bào)文,通過(guò)截圖可以看見(jiàn)后面的包都很有規(guī)律了,在本次場(chǎng)景的抓包中,基本是每4個(gè)包一個(gè)循環(huán),很有規(guī)律。而且每次抓包看到的都一樣,同時(shí)我們?cè)偃z查PLC中提供數(shù)據(jù)的地址和上位軟件中對(duì)應(yīng)的IO點(diǎn)的數(shù)據(jù),看看是否一樣,而且是否更隨PLC中的數(shù)據(jù)變化而變化。如果是這么回事,那就恭喜了,破解有向前進(jìn)了一步?,F(xiàn)在進(jìn)入到對(duì)這很有規(guī)律的4條報(bào)文的分析比較。我將3次分別轉(zhuǎn)包得到的報(bào)文的第6條報(bào)文的應(yīng)用層數(shù)據(jù)分別復(fù)制到記事本中,由于這段16進(jìn)制的報(bào)文不長(zhǎng),就沒(méi)有使用專(zhuān)門(mén)的分析工具了,從對(duì)3條報(bào)文的應(yīng)用層數(shù)據(jù)的對(duì)比分析,我找到了其中的差異部分。如下圖所示,前面部分完全一樣,不同的部分已經(jīng)用紅框標(biāo)注。然后再把每次抓包前對(duì)上位組態(tài)軟件的設(shè)置參數(shù)列出來(lái),看看是否能找到這個(gè)十六進(jìn)制和設(shè)置參數(shù)的關(guān)系。

破解工業(yè)通訊協(xié)議抓取的報(bào)文3
很幸運(yùn),報(bào)文紅框中十六進(jìn)制和上層組態(tài)軟件的設(shè)置參數(shù)的關(guān)系基本已經(jīng)確定,按照這種理解,再次在改變上層組態(tài)軟件的設(shè)置參數(shù),然后再次抓包,就可以確定所找到的規(guī)則是否正確。本例中的這個(gè)報(bào)文是從上位組態(tài)軟件發(fā)給PLC的,報(bào)文中變化的區(qū)域是上層組態(tài)軟件的設(shè)置參數(shù)開(kāi)始地址和請(qǐng)求的數(shù)據(jù)長(zhǎng)度。


6、接下來(lái)的分析方法和第5條中的一樣,如遇到應(yīng)用層數(shù)據(jù)完全相同的報(bào)文,那么應(yīng)該是協(xié)議中的確認(rèn)幀一類(lèi)的,如果遇到由于上層組態(tài)軟件的設(shè)置參數(shù)變化而變化的,那么就和數(shù)據(jù)有很大關(guān)系了。有關(guān)后續(xù)報(bào)文的分析就不一一詳述了。最終的結(jié)果算是對(duì)向PLC讀取數(shù)據(jù)的私有通訊協(xié)議有了較為全面的了解。


最后想說(shuō)的是,對(duì)工業(yè)訊協(xié)議破解是一個(gè)繁瑣且需要極大耐心的事情。能不能破解工業(yè)訊協(xié)議主要還是看此私有協(xié)議的復(fù)雜程度及是否存在不可逆的加密算法,如是明文類(lèi)通訊協(xié)議,一般都可破解,需要的是時(shí)間和耐心,而對(duì)于加密的通訊協(xié)議,一般就選擇放棄工業(yè)訊協(xié)議破解吧。

相關(guān)儀表推薦

共有訪客發(fā)表了評(píng)論 網(wǎng)友評(píng)論

  客戶姓名:
郵箱或QQ:
驗(yàn)證碼: 看不清楚?