
Exploração de ACL do Active Directory com BloodHound
Aclpwn.py é uma ferramenta que interage com o BloodHound para identificar e explorar caminhos de escalada de privilégios baseados em ACL. Ela recebe um ponto inicial e um ponto final e utiliza algoritmos de roteamento do Neo4j para encontrar o caminho de escalada de privilégios baseado em ACL mais eficiente. Aclpwn.py é semelhante ao Invoke-Aclpwn baseado em PowerShell, sobre o qual você pode ler em nosso blog.
Aclpwn.py é compatível com Python 2.7 e 3.5+. Requer as bibliotecas neo4j-driver, impacket e ldap3. Você pode instalar o aclpwn.py via pip: pip install aclpwn. Para Python 3, você precisará do branch python36 do impacket, já que o branch master (e as versões publicadas no PyPI) são atualmente apenas para Python 2.
Para uso e documentação, consulte a wiki, por exemplo, a página de início rápido.
Atualmente, o aclpwn.py possui as seguintes funcionalidades:
O aclpwn.py não explora nenhuma vulnerabilidade, mas depende de ACLs mal configuradas (geralmente devido a privilégios delegados) ou padrões inseguros. Para resolver esses problemas, é importante identificar ACLs potencialmente perigosas no seu ambiente Active Directory com o BloodHound. Para detecção, os Logs de Eventos do Windows podem ser usados. Os IDs de eventos relevantes estão descritos em nosso blog.