如何使用ADSI接口和反射型DLL枚举活动目录
摘要:您正在使用TIBER-EU,CBEST和其他红队安全评估框架,并最终成功地渗透到目标网络,并使用有效负载和C2通道成功绕过了目标网络的安全保护措施。我们的Active Directory枚举工具不会触发安全警报
C/C++
如果使用传统的PowerShell / C#,则可能需要将编写的脚本放置在目标设备的磁盘上,安全产品可能会检测到该脚本。 在这里,我们可以选择使用Assembly.load等方法将工具直接加载到内存中,而C / C可以帮助我们实现类似的功能。 在这里,我们可以使用反射方法将已编译的C / C恶意程序注入到目标设备的内存中。 以下是一些较流行的方法:
1. DonutPE装载机(参考)
2.反射式DLL注入(原始版本)(改进版本)
3,Shellcode反射DLL注入
Active Directory服务接口(ADSI)
好的,让我们回到主题,即如何实现Active Directory枚举。 我们希望枚举AD信息时,不会触发AMSI或不会留下明显的事件日志(这可以通过伪造事件日志的内容来实现)。 要与Active Directory交互并枚举其对象属性,我们需要到Active Directory服务接口(ADSI)。
Active Directory接口(ADSI)简介
Active Directory服务接口ADSI是Microsoft引入的一项新技术。 它统一了许多底层服务的编程接口,程序员可以使用一致的对象技术来访问这些底层服务。 ADSI提取这些服务的公共部分,并同时隔离不同部分。 程序员可以使用统一的界面来访问基础服务的公共部分,并将它们扩展到基础服务的私有部分。 ADSI提供了一组COM接口,可用于访问来自不同网络提供商的目录服务功能。 独立的软件供应商和开发人员可以使用ADSI对产品和应用程序进行目录启用。
很好,所以我们的重点是如何通过C / C构建您自己的Active Directory枚举工具。在这里,我们实际上不需要自己重新创建轮子,因为Microsoft的GitHub库为我们提供了很好的参考。 sample-QueryUsers。 我们可以使用此示例来开发自己的客户。
QueryUsers
QueryUsers:[GitHub门户]
QueryUsers可以在Active Directory域中实现分区查询,并可以指定与过滤器匹配的用户对象。 该工具使用IDirectorySearch来实现搜索功能。
借助QueryUsers,我们可以搜索特定用户或所有用户,并返回标识该用户的所有属性。 QueryUsers的工作方式如下:
1. ADSI是基于COM构建的,因此我们需要使用CoInitialize()函数在程序中初始化COM;
2.我们需要使用ADsOpenObject()绑定LDAProotDSE,这样我们就可以收集有关Active Directory的信息,并使用返回的IADsCOM对象获取defaultNamingContext信息;
3.获得defaultNamingContext之后,我们可以再次使用ADsOpenObject()绑定Domain容器,它将返回IDirectorySearchCOM接口,该接口可用于查询和搜索Active Directory;
4.调用FindUsers()函数时,它将基于函数参数和以下字符串构造一个LDAP过滤器-“(&(objectClass=user)(objectCategory=person)%s)”。如果我们为改程序提供以下搜索过滤器参数“(sAMAccountName=Administrator)”,那么我们的LDAP过滤器实则为(&(objectClass=user)(objectCategory=person) (sAMAccountName=Administrator))”;
5、使用ADS_SEARCHPREF_INFO结构体作为搜索参数的首选项;
6、执行IDirectorySearch对象中的ExecuteSearch()方法,该方法将根据我们的 LDAP 过滤器返回所有结果;
7、最后,使用GetFirstRow()、GetNextColumnName()、GetColumn()和 GetNextRow()方法遍历结果,并输出特定的用户属性;
集成到常用的C2框架&PoC
Cobalt Strike具有用于代码/DLL注入的多种功能选项,并且有功能非常强大的嵌入脚本语言支持,因此开发人员可以根据自己的需要来扩展Cobalt Strike的功能。
为了验证该技术的可行性,我们开发了一种基于ADSI和反射型DLL的活动目录枚举工具,该工具可以直接在Cobalt Strike中使用。我们的PoC工具名叫Recon-AD,该工具目前由其中反射型DLL以及对应的AggressorScript脚本构成。
其主要功能如下:
1、Recon-AD-Domain: 查询域信息(包括域名、GUID、站点名称、密码策略、域控列表等);
2、Recon-AD-Users: 查询用户对象和相应的属性;
3、Recon-AD-Groups: 查询组对象和相应的属性;
4、Recon-AD-Computers: 查询计算机对象和相应的属性;
5、Recon-AD-SPNs: 查询配置了服务主体名称(SPN)的用户对象并显示有用的属性;
6、Recon-AD-AllLocalGroups: 在计算机是上查询所有本地组和组成员;
7、Recon-AD-LocalGroups: 在计算机上查询特定的本地组和组成员(默认 Administrators 组);
工具运行截图
用Recon-AD-Domain显示本地机器的域信息:
使用Recon-AD-Groups Domain Admins命令例举域管理员组的属性信息:
使用Recon-AD-User username命令为指定用户的输出属性信息:
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了