亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Arduino的改良型云木馬設(shè)計(jì)與實(shí)現(xiàn)

        2023-09-15 13:05:50王東海
        無(wú)線互聯(lián)科技 2023年13期
        關(guān)鍵詞:公網(wǎng)輸入法木馬

        王東海,張 昊

        (蘇州工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 蘇州 215104)

        0 引言

        隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和網(wǎng)絡(luò)的普及,給人們的生活帶來(lái)極大便捷的同時(shí),網(wǎng)絡(luò)攻擊也日益增多,大量的企業(yè)和個(gè)人都面臨被攻擊和入侵的風(fēng)險(xiǎn)。在2014年DerbyCon的黑客大會(huì)上[1],柏林的安全研究人員公布了Badusb的危害,這種漏洞會(huì)危及大部分帶有USB接口的主機(jī),而現(xiàn)在使用USB接口的設(shè)備越來(lái)越多[2],含有惡意代碼的USB設(shè)備一旦插入電腦,可控制電腦并傳播事先準(zhǔn)備好的USB病毒[3]。因此,Badusb的攻擊手段引起了各個(gè)企業(yè)和研究人員的重視,研究其防范措施也變得十分重要。

        1 開(kāi)發(fā)工具

        1.1 Arduino

        Arduino是一款操作方便、易于學(xué)習(xí)的開(kāi)源電子平臺(tái)。電子板上的微處理器可以通過(guò)Arduino的編程語(yǔ)言進(jìn)行程序編寫(xiě),生成編譯出的hex文件燒錄進(jìn)電子板,就可以通過(guò)微處理器來(lái)控制電路板上的各種硬件。

        1.2 Cobalt Strike

        Cobalt Strike是一款用來(lái)進(jìn)行滲透測(cè)試的工具,可以控制木馬,主要功能有端口轉(zhuǎn)發(fā)、端口掃描、生成木馬、克隆站點(diǎn)等。

        1.3 Arduino Leonardo芯片

        Arduino Leonardo芯片是Atmel ATmega32u4型微控制器,可以提供20個(gè)數(shù)字IO(其中7個(gè)可以用來(lái)PWM輸出,12個(gè)用作模擬輸入)、一個(gè)16 MHz晶體振蕩器、一個(gè)微型USB連接、一個(gè)電源插孔、一個(gè)ICSP接頭盒和一個(gè)復(fù)位開(kāi)關(guān)。ATmega32U4 MCU內(nèi)置了USB的通信模塊,不需要輔助處理器,允許Leonardo作為HID設(shè)備連接計(jì)算機(jī)[4]。

        2 木馬設(shè)計(jì)

        一般情況下,普通的木馬都是通過(guò)互聯(lián)網(wǎng)進(jìn)入目標(biāo)主機(jī),但要入侵主機(jī),需要滿(mǎn)足的條件比較苛刻,主要有以下幾個(gè)因素:

        (1)需要在互聯(lián)網(wǎng)上偽裝成正常軟件,誘導(dǎo)用戶(hù)下載。

        (2)需要通過(guò)瀏覽器的安全檢測(cè)。

        (3)需要通過(guò)殺毒軟件的安全檢測(cè)。

        (4)在運(yùn)行時(shí),需要通過(guò)殺毒軟件的行為偵查檢測(cè)。

        可以看出,普通木馬想要大展身手,最關(guān)鍵的就是如何進(jìn)入被控制的主機(jī),這種攻擊手法無(wú)法針對(duì)某臺(tái)特定主機(jī)進(jìn)行攻擊。因此,通過(guò)具有社會(huì)工程學(xué)性的攻擊(即直接對(duì)物理設(shè)備)是一種比較好的選擇,將Shellcode放在服務(wù)器上,利用Badusb觸發(fā)下載Shellcode,并運(yùn)行Shellcode,由于這個(gè)過(guò)程沒(méi)有文件落地,目標(biāo)主機(jī)即使發(fā)現(xiàn)了入侵行為,也無(wú)法將木馬清除。

        2.1 設(shè)計(jì)思路

        本設(shè)計(jì)選擇采用病毒免殺技術(shù),即通過(guò)修改源碼,避免殺毒軟件通過(guò)檢測(cè)MD5值進(jìn)行查殺。具體步驟如下:

        (1)將主要函數(shù)內(nèi)容復(fù)制出來(lái)。

        (2)將內(nèi)容加密成Base64編碼。

        (3)將編碼分別賦值給函數(shù)$a1-$a5。

        (4)設(shè)置函數(shù)$a6,即將$a1-$a5賦值給它,base64解碼并運(yùn)行。

        2.2 Arduino程序設(shè)計(jì)

        2.2.1 中文輸入法繞過(guò)

        Badusb搭載Arduino驅(qū)動(dòng),通過(guò)Arduino IDE接收到Arduino代碼后,調(diào)用Arduino官方的鍵盤(pán)庫(kù),進(jìn)行模擬鍵盤(pán)操作控制主機(jī),調(diào)用Keyboard.h庫(kù)后,啟動(dòng)鍵盤(pán)模擬,用Keyboard.println函數(shù)對(duì)主機(jī)發(fā)送鍵盤(pán)的指令。

        Keyboard.println函數(shù)向連接的主機(jī)發(fā)送一個(gè)鍵盤(pán)按鍵動(dòng)作,以換行符和回車(chē)符結(jié)束。但在仿真環(huán)境測(cè)試中,由于中文輸入法的原因,影響到該函數(shù)的回車(chē)符,回車(chē)會(huì)變成中文輸入法,從而導(dǎo)致運(yùn)行失敗。為了防止這種情況發(fā)生,用Keyboard.press(KEY_CAPS_LOCK)函數(shù)調(diào)用KEY_CAPS_LOCK后,可以打開(kāi)大寫(xiě)狀態(tài),繞過(guò)中文輸入法,在輸入完成后再將大寫(xiě)狀態(tài)關(guān)閉。實(shí)現(xiàn)的關(guān)鍵代碼如下:

        Keyboard.press(KEY_CAPS_LOCK);//利用打開(kāi)大寫(xiě)繞過(guò)輸入法

        Keyboard.release(KEY_CAPS_LOCK);

        2.2.2 敏感程序繞過(guò)

        由于殺毒軟件會(huì)對(duì)某些函數(shù)進(jìn)行行為探測(cè),例如火絨、360安全衛(wèi)士、騰訊管家等,他們會(huì)對(duì)-w hidden隱藏窗口進(jìn)行檢測(cè)。因此,設(shè)計(jì)過(guò)程中使用CMD窗口打開(kāi)PowerShell,并將CMD的窗口大小cols設(shè)置為15,lines設(shè)置為1,命令為:CMD/t:01/k @ECHO OFF &&MODE CON:cols=15 lines=1。使用這種方法可以有效避免彈出警告窗口。

        2.2.3 云木馬攻擊設(shè)計(jì)

        主機(jī)一般都安裝了殺毒軟件,木馬存放在磁盤(pán)里非常容易被查殺,因此將木馬放置在云服務(wù)器上,在本地下載執(zhí)行,可以避免被殺毒軟件查殺。云木馬攻擊實(shí)現(xiàn)的關(guān)鍵代碼如下:

        Delay(1000)

        Keyboard.begin();

        delay(1500);

        Keyboard.press(KEY_LEFT_GUI);

        delay(500);

        Keyboard.press(‘r’)

        delay(500);

        Keyboard.release(KEY_LEFT_GUI);

        Keyboard.release(‘r’);

        delay(500);

        Keyboard.press(KEY_CAPS_LOCK);

        Keyboard.release(KEY_CAPS_LOCK);

        Keyboard.println(“CMD/t:01/k @ECHO OFF &&MODE CON:cols=15 lines=1”);

        delay(500);

        Keyboard.press(KEY_RETURN);

        Keyboard.release(KEY_RETURN);

        3 測(cè)試

        由于云木馬需要存放在公網(wǎng)服務(wù)器上,所以必須先搭建一臺(tái)公網(wǎng)服務(wù)器。在公網(wǎng)服務(wù)器上安裝Java環(huán)境,使用CS框架實(shí)現(xiàn)云木馬攻擊。

        3.1 搭建公網(wǎng)服務(wù)器

        搭建公網(wǎng)服務(wù)器的具體步驟如下:

        (1)在阿里云上購(gòu)買(mǎi)一臺(tái)主機(jī)。

        (2)選擇輕量級(jí)服務(wù)器。

        (3)將系統(tǒng)配置為Centos7。

        (4)遠(yuǎn)程連接設(shè)置服務(wù)器密碼。

        (5)使用SSH連接工具登錄服務(wù)器。

        3.2 設(shè)置Java環(huán)境

        (1)在安裝Java環(huán)境之前需要先更新Yum源,Yum源是Centos的軟件包管理器,主要功能是自動(dòng)升級(jí)。只有更新完Yum源之后,安裝的Java環(huán)境才會(huì)是最新的。執(zhí)行命令如下:

        [root@iZ2ze1e64qek16ztlp1f3tZ~]# yum install update。

        (2)安裝Java庫(kù)。

        執(zhí)行命令如下:

        [root@iZ2ze1e64qek16ztlp1f3tZ~]# yum-y list java*。

        (3)安裝Java11。

        執(zhí)行命令如下:

        [root@iZ2ze1e64qek16ztlp1f3tZ~]#yum-y install java-11-openjdk.x86_64。

        (4)查看Java版本。

        安裝好Java后,測(cè)試Java命令是否可以使用,執(zhí)行命令如下:

        [root@iZ2ze1e64qek16ztlp1f3tZ~]# java-version。

        3.3 安裝Cobalt strike

        (1)使用FTP工具將Cobalt strike上傳到阿里云服務(wù)器。

        (2)給Teamserver增加執(zhí)行權(quán)限。

        具體操作步驟如下:

        [root@iZ2ze1e64qek16ztlp1f3tZ~]# cd/cobaltstrike4.0-cracked/

        [root@iZ2ze1e64qek16ztlp1f3tZ cobaltstrike4.0-cracked]# chmod +x teamserver

        (3)執(zhí)行Teamserver服務(wù)。

        設(shè)置阿里云的服務(wù)器IP地址和密碼。

        (4)使用Cobalt Strike 客戶(hù)端連接服務(wù)端。

        在阿里云的安全組中打開(kāi)50050端口,在Windows上打開(kāi)Start-cn.bat,然后在主機(jī)上輸入服務(wù)器IP地址,使用默認(rèn)端口號(hào),輸入用戶(hù)名和服務(wù)器的密碼,單擊連接按鈕即可登錄。配置界面如圖1所示。

        圖1 CS登錄界面

        3.4 木馬查殺測(cè)試

        對(duì)設(shè)計(jì)的木馬通過(guò)常用的殺毒軟件進(jìn)行測(cè)試,主要包括360安全衛(wèi)士、騰訊管家和火絨。

        目前測(cè)試方式主要有兩種,一種是靜態(tài)掃描,將木馬存放在磁盤(pán)中,用殺毒軟件進(jìn)行掃描,看能否識(shí)別;另一種是動(dòng)態(tài)掃描,即木馬運(yùn)行時(shí),用殺毒軟件進(jìn)行掃描,看是否檢測(cè)到。在此采用靜態(tài)掃描的方式,測(cè)試結(jié)果如表1所示。

        表1 殺毒軟件測(cè)試結(jié)果

        通過(guò)對(duì)測(cè)試結(jié)果進(jìn)行比較,木馬的設(shè)計(jì)選擇采用PowerShell繞過(guò)的方式。

        4 Badusb燒錄

        燒錄是對(duì)一次性可編程只讀存儲(chǔ)器進(jìn)行一次寫(xiě)入操作。燒錄時(shí)需要注意以下幾個(gè)方面:

        (1)芯片類(lèi)型的選擇。若芯片類(lèi)型選錯(cuò),燒錄時(shí)會(huì)對(duì)存儲(chǔ)器造成不可逆的傷害。

        (2)燒錄指令。若不小心給Badusb燒錄了一個(gè)關(guān)機(jī)的指令,插入Badusb就會(huì)關(guān)機(jī),無(wú)法對(duì)Badusb再進(jìn)行編程,從而進(jìn)入一種死循環(huán)。因此,在燒錄的時(shí)候必須仔細(xì)檢查代碼,確認(rèn)代碼無(wú)誤后,再進(jìn)行燒錄。

        燒錄的具體步驟如下:

        (1)在Arduino IDE的工具欄中,選擇項(xiàng)目,編譯二進(jìn)制文件后,編譯器會(huì)要求再次編譯,編譯后會(huì)產(chǎn)生2個(gè)hex文件。編譯后界面如圖2所示,其中powershell_360.ino.with_bootloader.leonardo.hex文件帶有bootloader固件,包含有引導(dǎo)裝載程序,會(huì)在操作系統(tǒng)運(yùn)行內(nèi)核之前運(yùn)行,初始化系統(tǒng)的軟硬件,Badusb不需要這個(gè)功能,所以選擇不攜帶bootloade固件的powershell_360.ino.leonardo.hex文件。

        圖2 hex文件生成界面

        (2)在Progisp中,主控選擇Atmega32U4,在Parogisp的右側(cè)選中“調(diào)入flash”,在彈出的窗口中,選擇hex文件。設(shè)置好之后單擊“自動(dòng)”按鈕,進(jìn)入自動(dòng)燒錄狀態(tài)。

        5 結(jié)語(yǔ)

        Badusb是一種滲透能力非常強(qiáng)的攻擊方式,對(duì)安全防范不到位的主機(jī)威脅非常大。本文設(shè)計(jì)了一種改良型的木馬,在設(shè)計(jì)Arduino程序和Cobaltstrike木馬過(guò)程中,將木馬的特征碼進(jìn)行分割加密,再組合起來(lái)解密,用Shellcode編譯器對(duì)文件進(jìn)行編譯,將改良的木馬通過(guò)殺毒軟件進(jìn)行測(cè)試,結(jié)果表明,Arduino增加了Badusb的執(zhí)行能力,可以繞過(guò)更多殺毒軟件的安全防護(hù),達(dá)到了設(shè)計(jì)的預(yù)期效果。但本測(cè)試也有一些不足,主要是選擇的殺毒軟件種類(lèi)偏少。

        猜你喜歡
        公網(wǎng)輸入法木馬
        淺析大臨鐵路公網(wǎng)覆蓋方案
        小木馬
        騎木馬
        要命的輸入法
        公網(wǎng)鐵路應(yīng)急通信質(zhì)量提升的技術(shù)應(yīng)用
        小木馬
        旋轉(zhuǎn)木馬
        百度被訴侵犯商標(biāo)權(quán)和不正當(dāng)競(jìng)爭(zhēng)
        基于公網(wǎng)短信的河北省高速公路數(shù)據(jù)傳輸應(yīng)用
        我國(guó)警用通信專(zhuān)網(wǎng)與公網(wǎng)比較研究
        国农村精品国产自线拍| 日本人妻三级在线观看| 日本办公室三级在线看| 一区二区三区国产精品乱码| 大又大又粗又硬又爽少妇毛片| 男人j进女人j啪啪无遮挡| 亚洲国产理论片在线播放| 国产成品精品午夜视频| 久久亚洲av午夜福利精品西区| 国产亚洲av一线观看| 亚洲国产丝袜久久久精品一区二区| 国产精品免费观看调教网| 自拍偷自拍亚洲精品情侣| 免费国产黄线在线播放| 青青青伊人色综合久久| 亚洲国产精品国自产拍性色 | 一区二区三区字幕中文| 在线看无码的免费网站| 亚洲熟女少妇一区二区| 亚洲AV无码日韩一区二区乱| 中文字幕精品久久一区二区三区| 人人人妻人人人妻人人人| 欧美又大又色又爽aaaa片| 国产乱理伦片在线观看| 无码一区久久久久久久绯色AV| 99视频偷拍视频一区二区三区| 日本一区二区在线高清观看| 国产97在线 | 日韩| 国产婷婷一区二区三区| 亚洲AV伊人久久综合密臀性色| 日本第一区二区三区视频| 熟女一区二区国产精品| 无码国产成人午夜电影在线观看| 丰满人妻熟妇乱又伦精品软件| 国产一区二区三区小说| 国产大片在线观看91| 国产精品成熟老女人| 欧美情侣性视频| 国产精品乱子伦一区二区三区 | 精品熟女少妇免费久久| 久久久精品国产三级精品|