acltoolkit:一款针对ACL的多功能安全工具

admin 2023年8月20日23:54:09评论25 views字数 3692阅读12分18秒阅读模式
acltoolkit:一款针对ACL的多功能安全工具

acltoolkit:一款针对ACL的多功能安全工具

关于acltoolkit

acltoolkit是一款针对ACL(访问控制列表)的多功能安全工具,该工具实现了多种针对ACL的滥用技术,可以帮助广大研究人员更好地研究ACL安全。

工具安装

由于该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地,并构建项目代码:

git clone https://github.com/zblurx/acltoolkit.git
cd acltoolkit
make

除此之外,我们也可以直接使用pip工具安装acltoolkit:

pip install acltoolkit-ad

工具使用

usage: acltoolkit [-h] [-debug] [-hashes LMHASH:NTHASH] [-no-pass] [-k] [-dc-ip ip address] [-scheme ldap scheme]
                  target {get-objectacl,set-objectowner,give-genericall,give-dcsync,add-groupmember,set-logonscript} ...
 
ACL abuse swiss-army knife
 
positional arguments:
  target                [[domain/]username[:password]@]<target name or address>
  {get-objectacl,set-objectowner,give-genericall,give-dcsync,add-groupmember,set-logonscript}
                        Action
    get-objectacl       获取对象ACL
    set-objectowner     修改对象拥有者
    give-genericall      在目标对象上授权对象GENERIC_ALL
    give-dcsync         在域上授予对象DCSync功能
    add-groupmember     向组中添加成员
    set-logonscript       修改用户登录脚本
 
options:
  -h, --help            显示工具帮助信息和退出
  -debug                开启调试模式输出
  -no-pass              不询问密码(适用于-k选项)
  -k                    使用Kerberos验证,从ccache文件获取凭证信息。如果没有找到有效凭证,则需要在命令行参数中直接指定
  -dc-ip ip address     目标域控制器的IP地址
  -scheme ldap scheme
 
authentication:
  -hashes LMHASH:NTHASH
                        NTLM哈希,格式为LMHASH:NTHASH

命令使用

get-objectacl

$ acltoolkit get-objectacl -h
usage: acltoolkit target get-objectacl [-h] [-object object] [-all]
 
options:
  -h, --help       显示帮助信息和退出
  -object object   转储对象ACL,参数可以是一个sAMAccountName、一个名称、一个DN或一个objectSid
  -all            枚举对象ACE

get-objectacl将使用一个sAMAccountName、一个名称、一个DN或一个objectSid作为-object的输入,并将列出它的Sid、name、DN、Class、adminCount、配置的LogonScript、PrimaryGroup、Owner和DACL。如果没有提供参数,则将列出有关用于身份验证的帐户的信息:

$ acltoolkit waza.local/jsmith:Password#[email protected] get-objectacl
Sid                 : S-1-5-21-267175082-2660600898-836655089-1103
Name                : wazaJohn Smith
DN                  : CN=John Smith,CN=Users,DC=waza,DC=local
Class               : top, person, organizationalPerson, user
adminCount          : False
 
Logon Script
  scriptPath        : \WAZZAAAAAAOCDtest.bat
  msTSInitialProgram: \WAZZAAAAAAOCDtest.bat
 
PrimaryGroup
  Sid               : S-1-5-21-267175082-2660600898-836655089-513
  Name              : wazaDomain Users
  DN                : CN=Domain Users,OU=Builtin Groups,DC=waza,DC=local
 
[...]
 
OwnerGroup
  Sid               : S-1-5-21-267175082-2660600898-836655089-512
  Name              : wazaDomain Admins
 
Dacl
  ObjectSid         : S-1-1-0
  Name              : Everyone
  AceType           : ACCESS_ALLOWED_OBJECT_ACE
  AccessMask        : 256
  ADRights          : EXTENDED_RIGHTS
  IsInherited       : False
  ObjectAceType     : User-Change-Password
 
[...]
 
  ObjectSid         : S-1-5-32-544
  Name              : BUILTINAdministrator
  AceType           : ACCESS_ALLOWED_ACE
  AccessMask        : 983485
  ADRights          : WRITE_OWNER, WRITE_DACL, GENERIC_READ, DELETE, EXTENDED_RIGHTS, WRITE_PROPERTY, SELF, CREATE_CHILD
  IsInherited       : True

set-objectowner

$ acltoolkit set-objectowner -h
usage: acltoolkit target set-objectowner [-h] -target-sid target_sid [-owner-sid owner_sid]
 
options:
  -h, --help            显示帮助信息和退出
  -target-sid target_sid  设置目标对象SID
  -owner-sid owner_sid   新拥有者的SID

set-objectowner需要提供一个目标SID和拥有者SID,并修改目标对象的拥有者。

give-genericall

$ acltoolkit give-genericall -h
usage: acltoolkit target give-genericall [-h] -target-sid target_sid [-granted-sid owner_sid]
 
options:
  -h, --help             显示帮助信息和退出
  -target-sid target_sid
                        设置目标对象SID
  -granted-sid owner_sid
                        对象SID授权GENERIC_ALL

give-dcsync

$ acltoolkit give-dcsync -h
usage: acltoolkit target give-dcsync [-h] [-granted-sid owner_sid]
 
options:
  -h, --help            显示帮助信息和退出
  -granted-sid owner_sid
                       对象SID授权DCSync功能

add-groupmember

$ acltoolkit add-groupmember -h
usage: acltoolkit target add-groupmember [-h] [-user user] -group group
 
options:
  -h, --help    显示帮助信息和退出
  -user user    向一个组添加用户
  -group group  要添加用户的目标组

set-logonscript

$ acltoolkit set-logonscript -h
usage: acltoolkit target set-logonscript [-h] -target-sid target_sid -script-path script_path [-logonscript-type logonscript_type]
 
options:
  -h, --help            显示帮助信息和退出
  -target-sid target_sid
                        目标用户的对象SID
  -script-path script_path
                        针对目标用户设置脚本路径
  -logonscript-type logonscript_type
                        要修改的登录脚本变量(默认为scriptPath)

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

acltoolkithttps://github.com/zblurx/acltoolkit

FreeBuf粉丝交流群招新啦!

在这里,拓宽网安边界

甲方安全建设干货;

乙方最新技术理念;

全球最新的网络安全资讯;

群内不定期开启各种抽奖活动;

FreeBuf盲盒、大象公仔......

扫码添加小蜜蜂微信回复“加群”,申请加入群聊

acltoolkit:一款针对ACL的多功能安全工具

acltoolkit:一款针对ACL的多功能安全工具

原文始发于微信公众号(FreeBuf):acltoolkit:一款针对ACL的多功能安全工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月20日23:54:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   acltoolkit:一款针对ACL的多功能安全工具http://cn-sec.com/archives/1957366.html

发表评论

匿名网友 填写信息