RID Cycling

原理 RID Cycling是一种允许攻击者通过暴力破解或猜测RID和SID来枚举域对象的攻击方法,其原理基于RID是顺序排列的这一事实。 相关工具 netexec netexec smb <IP> -u 'user' -p 'pass' --rid-brute impacket impacket-lookupsid 'domain'/'username':'password'@'<targetName or address>' ridenum ./ridenum.py 192.168.1.50 500 50000 /root/dict.txt /root/user.txt 参考链接 The Hacker Recipes - RID Cycling

2025/10/15
articleCard.readMore

环境搭建之使用uv管理Python工具包

01. 安装 An extremely fast Python package and project manager, written in Rust. 01.01 安装uv 安装方法参考其官方仓库 01.02 通过uv安装特定版本的python  uv 可以使用 --python 标志来指定 Python 版本,例如 --python 3.11 。如果系统上没有安装这个版本的python,它会下载并安装。 02. 用法 02.01 使用uv安装python软件包 所有能够使用 pipx install 安装的python工具,都可以使用 uv tool install 安装 并且支持以下3种安装方式: 从PyPI安装:uv tool install impacket 从git安装:uv tool install git+https://github.com/Pennyw0rth/NetExec 如果需要安装特定分支,只需要:uv tool install git+https://github.com/dirkjanm/BloodHound.py.git@bloodhound-ce 从本地安装(也就是支持 setup.py 或 setup.cfg 或 pyproject.toml 安装方式的包):uv tool install . 注:如果项目所描述的依赖不全,可以使用 uv tool install --with <package> 手动附加额外的依赖 02.02 使用uv更新python软件包 使用 uv tool list 列出已经安装的软件包。 使用 uv tool upgrade --all 更新所有软件包 使用 uv tool upgrade <package> 更新指定软件包 02.03 使用uv安装普通python脚本 第一步是使用 PEP 723 – Inline script metadata ,将 所需要的依赖添加到python脚本中 uv的add参数可以快速的做到这一点: 添加指定依赖:uv add --script targetedKerberoast.py impacket 添加整个 requirements.txt:uv add --script targetedKerberoast.py -r requirements.txt 然后 uv run targetedKerberoast.py 运行。 uv 会自动安装所需要的依赖,并且未来的运行不需要重新安装。 然后此时我们可以在脚本的头部,添加 #!/usr/bin/env -S uv run --script 然后 chmod +x targetedKerberoast.py 这样就可以将python脚本当作可执行文件直接运行。(注:可以将脚本复制到环境变量支持的路径下,如 ~/.local/bin。这样就可以在任意位置直接运行脚本了) 附:参考链接 Python Tools and Scripts w/ UV CheatSheet

2025/10/15
articleCard.readMore

密码解密工具合集

Cisco Cisco Type 7 Password Decrypt / Decoder / Crack Tool 案例参考:HackTheBox Machines Heist

2025/10/15
articleCard.readMore

在Kali中安装最新版的rustscan

直接使用 apt install 安装的 rust 会存在版本老旧的问题,一些新的工具可能不兼容老版本rust。 按照以下步骤,可以安装最新版的rust,并使用最新版的cargo安装新工具: # 1. 系统更新并安装必要工具 sudo apt update sudo apt install -y build-essential curl # 2. 安装 rustup(会安装 rustc 和 cargo) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y # 3. 让当前 shell 生效(或重开一个终端) source "$HOME/.cargo/env" # 4. 使用 cargo 安装 rustscan(加 --locked 更保险) cargo install --locked rustscan # 5. 确认安装成功 rustscan --version

2025/10/12
articleCard.readMore

非约束性委派

00. 施工中…

2025/9/24
articleCard.readMore

BloodHound使用技巧

当拥有一个账户时,右键将该账户 Mark User as Owned ,然后 Analysis -> Shortest Path from Owned Principals 可以快速发掘可利用路径 自定义查询语句 检索 WinRM 权限 MATCH p1=shortestPath((u1:User)-[r1:MemberOf*1..]->(g1:Group)) MATCH p2=(u1)-[:CanPSRemote*1..]->(c:Computer) RETURN p2 检索 SQLAdmin 账户 MATCH p1=shortestPath((u1:User)-[r1:MemberOf*1..]->(g1:Group)) MATCH p2=(u1)-[:SQLAdmin*1..]->(c:Computer) RETURN p2

2025/9/23
articleCard.readMore

Kerberos认证解读

00. 施工中… Kerberos认证一共经过三个阶段 KDC client AS TGS service -- AS-REQ -> <- AS-REP -- ----- TGS-REQ -----> <---- TGS-REP ------ ----------------------------> 细节如下 S4U2Self S4U2Proxy

2025/9/23
articleCard.readMore

Kerberos之ASREProast攻击

由于某些应用程序不支持 Kerberos 预身份验证,因此常常会发现用户禁用了Kerberos预身份验证。这就允许攻击者为这些用户请求TGT,攻击者拿到TGT之后,可以进行离线破解得到用户的密码。

2025/9/23
articleCard.readMore

Asciinema Player 演示

这篇文章演示了如何在Hugo博客中使用asciinema player来播放终端录制文件。 基本用法 最简单的用法,只需要指定cast文件路径: 带主题的播放器 你可以指定不同的主题: Marker点功能 普通Marker点 在特定时间点添加标记,用于导航: 带标签的Marker点 在特定时间点添加带标签的标记: 混合Marker点 在同一个参数中混合使用普通marker和带标签的marker: 空格处理测试 测试各种空格情况,确保解析正确: 自定义播放设置 你可以调整播放速度等: 自动播放和循环 完整配置示例 高级示例 - Node.js项目设置 这是一个更复杂的示例,展示了如何设置一个Node.js项目: 使用方法 在你的Markdown文件中,使用以下语法: {{< asciinema file="your-file.cast" >}} 可用参数 file: cast文件路径(必需) theme: 主题名称(默认:asciinema) speed: 播放速度(默认:1) autoplay: 是否自动播放(默认:false) loop: 是否循环播放(默认:false) poster: 海报图片URL markers: marker点,支持混合格式: 普通marker:2.0,4.0,6.0 带标签marker:2.0:ls命令,4.0:查看文件 混合格式:2.0,4.0,6.0,1.0:开始,3.0:执行,5.0:结束 支持空格:2.0 , 4.0 , 1.0 : 开始 , 3.0 : 执行 支持的主题 asciinema(默认) dracula monokai solarized-dark solarized-light tango tomorrow-night tomorrow-night-bright tomorrow-night-blue tomorrow-night-eighties tomorrow white

2025/8/21
articleCard.readMore

HackTheBox提速指南

方案一: Clash 优点: 简单,成本较低(可以选择买一个好梯子强行提速) 缺点: 稳定性一般,延迟较高(日常120ms左右),多机器协作麻烦 1. 本机作为攻击机(openvpn开在本机上) 直接在 openvpn 文件中添加 socks-proxy 127.0.0.1 7890 注: 7890代表 Clash 的端口 2. kali虚拟机作为攻击机(openvpn开在kali上) 在本机上打开 Clash,并打开Clash设置中的 Allow LAN 然后找到本机和kali虚拟机同网段的ip地址,如 本机ip: 192.168.40.1 kali ip: 192.168.40.128 然后在 openvpn 文件中添加 socks-proxy 192.168.40.1 7890 3. 注意事项 HackThebox在提供openvpn配置文件时,可以选择 UDP 协议或者 TCP 协议。对于大多数梯子来说,对于UDP协议的支持都比较一般,所以更推荐 TCP 协议(虽然相对来说会慢一点点) 如果使用的是TCP协议的配置文件,则将上文中提到的 socks-proxy 修改为 http-proxy 即可: http-proxy 192.168.40.1 7890 方案二: Zerotire组网 优点: 足够稳定(3个月期间从未出现断连情况),延迟低(日常70ms左右,几乎只剩下物理距离导致的延迟),多机器协作方便 缺点: 成本比clash高一点,需要vps,操作上比Clash方案麻烦一点(但是弄好之后一劳永逸) 首先整一个英国伦敦的vps(离HackTheBox机房近) 在vps上运行openvpn(这时会看到多出来一张网卡 tun0 记住这个网卡名字) 在vps上安装 Zerotire 并设置为 exitnode # 安装 $ curl -s https://install.zerotier.com | sudo bash # 在Zerotire网页端创建一个网络,然后记下这个网络的nwid,将vps加入这个网络 $ sudo zerotier-cli join <nwid> # 启用ipv4转发,在 /etc/sysctl.conf 添加一行 net.ipv4.ip_forward = 1 $ sudo nano /etc/sysctl.conf # 重新加载sysctl.conf $ sudo sysctl -p # 验证是否启用成功 $ sudo sysctl net.ipv4.ip_forward # 查看网卡信息,记下Zerotire网卡的名称,假设这里是叫 zthnhhqofq $ export ZT_IF=zthnhhqofq $ export WAN_IF=tun0 # 配置iptables $ sudo iptables -t nat -A POSTROUTING -o $WAN_IF -j MASQUERADE $ sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT $ sudo iptables -A FORWARD -i $ZT_IF -o $WAN_IF -j ACCEPT # 保存iptables设置 $ sudo apt-get install iptables-persistent $ sudo netfilter-persistent save 然后到 Zerotire 控制面板处 Add Routes Destination: 10.10.0.0/16 Via: [vps 的 zerotire接口ip] 最后只需要把攻击机加入这个Zerotire网络就行了(无所谓本机还是kali,只要加入这个Zerotire网络就都能使用) $ sudo zerotier-cli join <nwid> 附录一: 如何设置Openvpn自行启动 按照以下步骤操作即可: # 确保 /etc/openvpn/client/ 目录存在 sudo mkdir -p /etc/openvpn/client # 将你的 HTB ovpn 文件复制过去,并重命名为 htb.conf sudo cp ~/Downloads/your_user.ovpn /etc/openvpn/client/htb.conf # 立即启动 HTB VPN 连接 sudo systemctl start openvpn-client@htb.service # 将该服务设置为开机时自动启动 sudo systemctl enable openvpn-client@htb.service

2024/10/18
articleCard.readMore

2001/1/1
articleCard.readMore

2001/1/1
articleCard.readMore