Empire:PowerShell后期漏洞利用代理工具


发布人:admin分类:网络安全浏览量:32发布时间:2017-12-12

文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用!

Empire是一个纯碎的PowerShell后期漏洞利用代理工具,它建立在密码学、安全通信和灵活的架构之上。Empire实现了无需powershell.exe就可运行PowerShell代理的功能。快速部署后期漏洞利用模块,从键盘记录器到Mimikatz,并且能够适应通信躲避网络检测,所有的这些功能都封装在一个以实用性为重点的框架中。

为什么会选择PowerShell?

PowerShell有很多攻击优势,包括完整的.NET框架的访问,应用程序白名单,可以直接访问Win32 API,在内存中加载恶意的二进制文件,并且默认安装在了Windows 7+中。

2014年是PowerShell发挥攻击优势的转折性的一年。虽说有很多有用的项目,但是很多pentester仍然为将PowerShell以一种安全的方式整合在实际的攻击行为中而在努力。        

初始化安装

运行./setup/install.sh脚本,会安装一些依赖的Python库并执行./setup/setup_database.py脚本。这个setup_database.py文件包含了各种设置,你可以手工修改,之后会初始化./data/empire.db数据库。运行./empire将启动Empire程序。./empire-debug会生成一个详细的调试日志文件./empire.debug。安装目录所包含的./data/reset.sh会重置并初始化数据库,同时会在调试模式下启动Empire。

主菜单

一旦你进入了主菜单,你会看到已激活的代理,已激活的(监听器)Listener,已加载模块的数量。

help命令适用于所有的菜单,使用TAB键可以补全命令行。使用Ctrel+C随时结束程序。

Listeners

首先你要建立一个本地的Listener,listeners命令将跳到listener管理菜单。你可以随时使用list命令列出被激活的listener。Info命令将显示当前listener配置的选项。

使用set命令设置Host/Port参数,可以直接使用域名。

set Host http://192.168.16.130:8081

要设置HTTPS的Listener,首先将CertPath参数设置为一个本地的.pem文件。

执行./data/cert.sh脚本,会生成一个自签名的证书,路径为:./data/empire.pem.也可以为listener设置可选的参数如:WorkingHours, KillDate, DefaultDelay, DefaultJitter。然后输入execute命令启动这个listener。如果这个listener的名称已经被使用,那么将会在名称后面添加数字来进行区别。如果端口被占用,Empire也会提醒你。

Stagers 

了解更多关于可用的stagers的描述信息,可以在here and here获取到。

Empire在./lib/stagers/*里实现了多个模块化的stagers。包含有dlls,macros,one-liners等等。使用usestager <tab>列出所有可用的stagers。

同样,可以使用set/unset/info 命令来设置参数。

对于UserAgent和Proxy选项,默认使用的是系统默认的信息。在Listener菜单中,你可以运行launcher [listener ID/name]别名来给当前这个listener来生成 stage0 发射器。也就是Payload。将生成的命令行在装有powershell的主机上执行,就会得到这个主机的一个powershell。

如下图 :

代理

使用agents命令可以列出当前已激活的代理。指定代理的ID可以批量或者指定主机执行命令。要连接一个代理,可以使用

interact [代理名称]。代理的名称也同样支持TAB键的补全。


连接到代理之后,你可以使用info命令列出当前这个代理的详细信息。使用help命令列出所有的代理命令。如果你输入的命令不是Empire内置的命令,那么将会被解释为一个shell命令。另外,你可以使用upload/download进行上传下载文件,也可以使用rename [新的代理名称]cd命令进入文件夹。

每当有代理注册之后,会新建./downloads/代理名称/ 文件夹(当你重命名代理名称时也会跟着改变)。./agent.log 文件中为代理通信记录着带有时间戳的命令和返回的结果的日志,并在 Downloads/module 里分解成相关的文件。

模块

键入 usemodule <tab> 来查看可用的模块。使用 searchmodule privsec 来搜索模块的名称或描述信息。

要使用一个模块,例如:

usemodule situational_awareness/network/sharefinder

info命令可以显示当前模块的所有信息。

要设置一个选项,例如在域中使用sharefinder模块,使用set命令设置Domain选项为域的名称。也可以设置Agent为其他的代理执行当前模块。

脚本

除了Empire内置的模块外,你也可以用很简单的方式在远程的Empire代理中哦你导入并使用一个.ps1脚本。使用scriptimport ./path/ 命令导入一个脚本。该脚本将被导入并访问脚本中的任何功能。在连接代理后,使用scriptcmd [导入的脚本文件名称]命令,来执行你导入的ps1脚本。
如下图:

我写了一个打开计算器的test.ps1脚本,使用scriptimport ./test.ps1命令,

译者小结

Empire作为一款使用PowerShell脚本作为攻击载荷的渗透攻击框架,它的实用性其实很强,内置的模块有键盘记录,抓Hash/password,绕过UAC,Anti-AV,内网扫描等等。当然,所有的这些功能都得益于PowerShell能够将Shellcode加载到自己的内存中去执行。这款轻量级的渗透攻击框架也是我平时作为内网渗透的工具之一。

*参考来源:kitploit,编译/丝绸之路,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)



被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21265933(PV) 页面执行时间:71.914(MS)
  • xml
  • 网站地图