学习笔记-Metasploit
Metasploit模块
exploits(渗透攻击/漏洞利用模块)
利用已发现的安全漏洞或配置弱点对远程目标进行攻击,为Metsaploit框架中最核心的功能组件。
payloads(攻击载荷模块)
成功渗透目标后,用于在目标系统上运行任意命令或者执行特定的代码
auxiliary(辅助模块)
负责执行扫描,嗅探,指纹识别等相关功能
nops(空指令模块)
用来在攻击载荷中添加空指令区,以提高攻击可靠性的组件
encoders(编码器模块)
编码器模块对攻击载荷进行各种不同形式的编码,确保攻击载荷中不会出现渗透攻击过程中应避免的坏字符,对攻击载荷进行免杀处理
post(后渗透攻击模块)
在受控系统中进行各式各样的后渗透攻击动作
evasion(规避模块)
规避Windows防火墙等检查
不是太理解,先记录下来
Metasploit常用命令
msfdb init //msf数据库初始化
msfconsole //打开msf终端
db_status //查看msf数据库链接状态
db_nmap //调用namp扫描,并将扫描结果存入数据库
search //搜索含有关键字的模块
use //选择使用一个模块
show payload //显示该模块支持的payload、
show optons //显示该模块需要设置的参数
set //使用模块后,设置模块所需要的参数的值(unset取消设置的值)
exploit / run //运行攻击模块
利用Metasploit进行渗透测试的一般流程
扫描目标系统,寻找可用漏洞
选择并配置一个渗透攻击模块(exploits)
选择并配置一个攻击载荷(payloads)
选择一种编码技术(encoders),用来绕过杀毒软件的查杀
执行渗透攻击
后渗透阶段的操作
auxiliary模块的利用
网络主机存活扫描:auxiliary/scanner/discovery/arp_sweep
wed目录扫描:auxiliary/scanner/http/dir_scanner
FTP登录密码爆破:auxiliary/scanner/ftp/ftp_login
(还有很多。。。ms12-020漏洞利用)
meterpreter模块
pwd //打印当前工作目录
sysinfo //查看系统信息
getuid //获取当前权限的用户id
ps //查看当前目标机上运行的进程列表和pid
getsystem //获取system权限
screenshot //截取目标主机当前屏幕
hashdump //获取用户名与hash口令
shell //获取主机shell
upload //上传一个文件
download //下载一个文件
execute //执行目标系统中的文件(-f指定文件,-i执行可交互模式,-H隐藏窗口)
clearev //清除日志
background //将meterpreter放入后台(使用sessions -i重新连接到会话)
meterpreter脚本使用
run vnc 查看目标机的屏幕
arp_scanner 检测所在局域网存活的主机
scraper 可以列举目标系统信息,包括用户名和密码,下载全部注册表,挖掘密码hash值,输出HKEY_CURRENT_USER(HKCU)等
persistence 在目标机注入meterpreter代理,确保系统重启后meterpreter还能运行