使用Empire自动获取域管理员

 译:backlion

前言

自从EmpireBloodHound被应用来,对AD渗透已经可以获取到内网环境95%的信息量。作者发现自己一遍又一遍地在做同样重复的事情,当发生这种情况时,就应该考虑到自动化,毕竟一个自动获得域管理员的自动化脚本是提高工作效率最好的办法。此外,Empire刚刚推出了一个RESTful API的接口,可以轻松创建与之交互的第三方脚本。

项目目标和实施

最初,作者本来想要的是通过BloodHounds输出信息,并解析它,将其提供输入到Empire中,使其成为流程化。可是,BloodHound并没有使用域特权升级(如SYSVOL中的GPP密码。所以作者想要一个更灵活的BloodHound版本的“攻击模板”。 此外,Empire拥有BloodHound的大部分核心功能,它包含了BloodHound上的所有功能。作者坚持使用Empire,并使用RESTful API自动化所有内容。 这也使得能够自由地解析模块的输出,并且对整体的逻辑和用户反馈有更多的输出控制。

设计流程图

以下展示了DeathStar项目的设计流程:

环境配置

DeathStar - https://github.com/byt3bl33d3r/DeathStar

Empire - https://github.com/EmpireProject/Empire

1.下载empire并且安装运行:

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

cd Empire/setup && ./install.sh && cd ..

# Start the Empire console and RESTful API

python empire --rest --username backlion --password Password@123

2.启动empier的控制台和RESTful API服务,并启动运行DeathStar:

git clone https://github.com/byt3bl33d3r/DeathStar

# Death Star is written in Python3

pip3 install -r requirements.txt

# Supply the username and password you started Empire's RESTful API with

./DeathStar.py -u  backlion -p  Password@123

3.如果一切顺利,DeathStar会创建一个http侦听,应该可以看到"Polling for Agents"状态:这意味着已经通过了empire的RESTful API接口验证,而且DeathStar正在监听第一个代理。这里需要的只是你在代理上加入域主机即可。现在需要的只是域主机连接机器上的代理,如何做到这一点已超出本文的范围。作者建议你使用crackmapexec。

视频演示

一旦得到第一个代理,DeathStar将接管,将开始自动化提权。以下是两个不同情况下获取域管理员的DeathStar视频

1.在第一个视频中,它使用SYSVOL漏洞中的GPP密码来提升域权限,使用解密的凭证横向扩展到应用GPO的机器上,并最终登录到已登录域管理员的计算机上,然后枚举正在运行的进程和 PSInject进入一个在Domain Admin帐户下运行的进程(默认情况下是explorer.exe):

https://www.youtube.com/embed/PTpg_9IgxB0?ecver=2

2.第二个视频,它实际上获得域管理员的凭据是使用Mimikatz和利用本地管理员的关系:

https://www.youtube.com/embed/1ZCkC8FXSzs?ecver=2

小结

DeathStar演示了如何使用现有的开源工具集自动获取Active Directory环境中的域管理员权限.

使用Empire自动获取域管理员的更多相关文章

  1. Active Directory中获取域管理员权限的攻击方法

    Active Directory中获取域管理员权限的攻击方法         译:by  backlion 0x00 前言 攻击者可以通过多种方式在Active Directory中获得域管理员权限, ...

  2. 关于启明星系统移除apppath配置,让系统自动获取路径来设置cookie的解决方法

    启明星系统底层使用统一接口,特别是用户,用户登录后,都会建立一个 userinfo 的cookie.请看下面2个网址: http://120.24.86.232/book http://120.24. ...

  3. 解决:win8.1 oepnvpn客户端 redirect-gateway def1无效,自动获取的IP没有网关问题

    解决:win8.1 oepnvpn客户端 redirect-gateway def1无效,自动获取的IP没有网关问题 该问题是操作系统权限问题,需要将程序设置为以管理员模式运行和以windows7兼容 ...

  4. 自动获取 LDAP 基准 DN 列表

    问题描述 在使用 LDAP 协议从 Active Directory 等目录管理服务获取组织结构数据时,一般总是需要对目录的检索路径进行配置.但是由于实际使用中的目录组织结构通常会比较复杂,往往会出现 ...

  5. 通过AWS的DHCP自动获取的IP地址是否会发生改变?

    针对您的问题,分析如下:1.在一个VPC内,通过AWS的DHCP自动获取的IP地址,在如何情况下会发生改变?例如我把vpc的内所有100个ec2实例全部关闭,再全部重新打开,是否会发生IP地址变化的情 ...

  6. domain admin域管理员

    当计算机加入到域后,默认将"Domain Admins"组赋予了本地系统管理员的权限.也就是说,在计算机添加到域,成为域的成员主机的过程中,系统将会自动把"Domain ...

  7. 设置自动获取IP和DNS

    问题阐述 设置ipv4的自动获取时遇到一个问题,ip和dns自动获取可以确认设置,但是全局时就是报错,回头去看ipv4的ip和dns也还是原来的样子 由于一直使用的都是自动获取,很少会有主动设置ip或 ...

  8. 滥用exchage远程调用域管理员API接口

    0x00 前言 在大多数的Active Directory和Exchange中,Exchange服务器具有很高的权限,即Exchange服务器上的管理员可以很容易地将权限提升到域管理员权限,我在zdi ...

  9. win10 系统怎么获取最高管理员权限删除文件

    http://www.xitongcity.com/jiaocheng/win8_content_3473.html 很多win8.1系统用户在对磁盘文件进行清理时,经常会遇到“文件夹访问被拒绝,您需 ...

随机推荐

  1. APP端测试,常见功能测试点汇总

    除去每个产品和版本不同的业务需求以及功能,针对于大多数的APP的共同点和移动设备的特性,本文总结了一些APP功能测试中经常遇见,需要考虑到的测试点以共参考 一.安装和卸载 应用的安装和卸载在任何一款A ...

  2. java计算工龄

    计算工龄原则:若是2000-10-12作为开始工作时间,则到下一年的2001-10-13算为一年.有个bug,不满一年的工龄是错误的. import java.util.Date;import jav ...

  3. NO--09今天遇到的一点小问题之axios全局注册

    今天用 Vue 写项目的时候,用到 axios ,因为 axios 不能用 Vue.use() ,所以在每个 .vue 文件中使用 axios 时就需要 import , .vue 文件少的话还好说, ...

  4. 网络流dinic模板,邻接矩阵+链式前向星

    //这个是邻接矩阵的#include<iostream> #include<queue> #include<string.h> #include<stdio. ...

  5. Cuteftp连接虚拟机Centos7

    使用Centos7虚拟机时,想要从主机传一些文件到虚拟机,需要使用FTP传输,在主机上装上的CuteFTP的软件,对虚拟机进行配置. 1,首先,要保证虚拟机能够上网 一般装好虚拟机后,只要主机连了网, ...

  6. IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化

    马哥Linux培训视频课程:http://pan.baidu.com/s/1pJwk7dp Oracle.大数据系列课程:http://pan.baidu.com/s/1bnng3yZ 天善智能BI培 ...

  7. mysql中latin1编码中文转utf8

    在mysql中,对应的表字段编码通常默认为lartin1编码,在本地客户端显示的时候看着是乱码,但是通过mysql -u -p -h命令登录后,select查询到数据是正常的,通过jdbc或者php等 ...

  8. oracle时间转换查询

    查询oracle 数据库时要查询某一字段的最大时间或者最小时间,因为oracle的时间点 精确到毫秒 甚至更高精度级别 根据字段来转换成对应的时间格式: SELECT TO_CHAR(MAX(crea ...

  9. rest_framework之渲染器

    渲染器简介 什么是渲染器 根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件. 渲染器的作用 序列化.友好的展示数据 渲染器配置 首先要在settins.py中将rest_framew ...

  10. Chrome 鲜为人知的秘籍(内部协议)&&Chrome功能指令大全

    楼主以 Chrome 版本 39.0.2171.95 m 为例,耗费2小时的记录: chrome://accessibility 用于查看浏览器当前访问的标签,打开全局访问模式可以查看:各个标签页面的 ...