aclpwn.py实战案例从普通用户到域管理员权限提升完整过程【免费下载链接】aclpwn.pyActive Directory ACL exploitation with BloodHound项目地址: https://gitcode.com/gh_mirrors/ac/aclpwn.pyaclpwn.py是一款与BloodHound集成的Active Directory ACL权限提升工具它能够利用Neo4j图数据库的路径查找算法识别并利用基于ACL的权限提升路径。本文将通过一个完整的实战案例展示如何使用aclpwn.py从普通用户权限逐步提升至域管理员权限。工具简介什么是aclpwn.pyaclpwn.py是一款用Python编写的工具兼容Python 2.7和3.5版本。它通过与BloodHound和Neo4j数据库直接集成实现了高效的路径查找功能支持任何可逆的基于ACL的攻击链。其核心特性包括与BloodHound和Neo4j无缝集成实现快速路径查找支持NTLM哈希传递pass-the-hash进行利用高级路径查找算法Dijkstra寻找最有效路径保存恢复状态便于轻松回滚更改可通过SOCKS隧道运行支持跨网络环境操作工具的主要代码逻辑位于aclpwn/exploitation.py和aclpwn/pathfinding.py文件中分别负责权限提升的具体实施和路径查找算法。准备工作环境搭建与依赖安装在开始实战之前需要完成以下准备工作1. 安装aclpwn.py可以通过pip直接安装aclpwn.pypip install aclpwn对于Python 3用户还需要安装impacket的python36分支git clone https://github.com/SecureAuthCorp/impacket.git cd impacket git checkout python36 python setup.py install2. 准备BloodHound数据确保已经使用BloodHound收集了目标域的信息并将数据导入Neo4j数据库。aclpwn.py将直接与Neo4j交互因此需要知道Neo4j的连接信息主机、端口、用户名和密码。3. 收集必要信息在开始攻击前需要收集以下信息起始用户的凭证用户名和密码/NTLM哈希目标域的名称Neo4j数据库的连接信息实战步骤从普通用户到域管理员步骤1连接到Neo4j数据库首先使用aclpwn.py连接到Neo4j数据库验证与BloodHound数据的连接aclpwn -u neo4j -p password -dburi bolt://neo4j-host:7687步骤2查找权限提升路径使用find命令查找从普通用户到域管理员的权限提升路径aclpwn find -s DOMAIN\user1 -d DOMAIN.LOCALaclpwn.py将使用Dijkstra算法在BloodHound数据中寻找最优路径。路径查找功能由aclpwn/pathfinding.py中的dijkstra_find函数实现该函数通过Neo4j的REST API进行路径查询并根据预定义的关系成本如AddMember成本为1WriteOwner成本为3计算最优路径。步骤3执行权限提升攻击找到合适的路径后使用exploit命令执行权限提升aclpwn exploit -s DOMAIN\user1 -d DOMAIN.LOCAL -t DOMAIN\admin -p path-id攻击过程中aclpwn.py会执行一系列操作如修改ACL、添加用户到特权组等。这些操作的具体实现位于aclpwn/exploitation.py中主要包括add_user_to_group: 将用户添加到目标组add_domain_sync: 添加DCSync权限add_addmember_privs: 添加添加成员权限write_owner: 修改对象所有者步骤4获取域管理员权限成功执行攻击后普通用户将获得域管理员权限。可以使用以下命令验证权限impacket-psexec DOMAIN/user1dc01.DOMAIN.LOCAL -hashes :ntlm-hash步骤5清理与恢复完成测试后使用restore命令回滚所有更改aclpwn restore -f aclpwn-20230520-153045.restore恢复功能由aclpwn/restore.py实现它会根据攻击过程中保存的历史记录撤销所有对Active Directory的修改。防御与检测建议aclpwn.py利用的是Active Directory中配置不当或不安全的默认ACL而非漏洞。因此防御这类攻击需要定期使用BloodHound审计Active Directory中的ACL配置遵循最小权限原则避免过度授予权限监控关键事件日志如事件ID 4670权限更改事件ID 5136目录服务对象修改事件ID 4728添加用户到安全组更多防御和检测建议可以参考官方文档。总结aclpwn.py是一款功能强大的Active Directory权限提升工具它通过与BloodHound的深度集成能够快速识别并利用基于ACL的权限提升路径。本文通过一个完整的实战案例展示了从普通用户到域管理员的权限提升过程包括环境准备、路径查找、攻击执行和清理恢复等步骤。在实际渗透测试中aclpwn.py可以帮助测试人员快速发现并验证Active Directory中的权限配置问题同时也为防御方提供了改进安全配置的方向。正确使用和理解这款工具对于提升Active Directory的安全性具有重要意义。参考资料工具源码aclpwn/安装说明requirements.txt项目许可LICENSE【免费下载链接】aclpwn.pyActive Directory ACL exploitation with BloodHound项目地址: https://gitcode.com/gh_mirrors/ac/aclpwn.py创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考