快速入门web-内网渗透

CTF 里的内网渗透,就是拿下一台机器,从这台机器出发,横向攻击内网里其他机器,最终拿到目标 flag

你可以把内网理解成一个 “封闭的局域网”—— 你一开始只能直接接触到一台 “边界机器”(比如 Web 服务器),但内网里还藏着数据库、其他服务器、甚至存储 flag 的主机,这些机器你没法直接访问,只能靠已经拿下的机器当 “跳板”。

CTF 内网渗透的核心步骤(Web 入口为例)

  1. 拿下边界机器(突破口)

先通过 Web 漏洞(比如 PHP 代码执行、文件上传、SSRF)拿到这台 Web 服务器的权限(比如shell)。

这一步是内网渗透的基础,没有这个跳板就没法继续。

内网信息收集

在跳板机上执行命令,摸清内网情况:

  • 查内网 IP 段:ifconfig/ip a(比如发现内网是192.168.1.0/24);
  • 扫内网存活主机和开放端口:pingnmap(比如发现192.168.1.10开了 MySQL 端口);
  • 找敏感信息:查看服务器里的配置文件(比如数据库账号密码、其他机器的登录凭证)。

横向移动(攻击其他机器)

用收集到的信息攻击内网其他机器:

  • 比如用拿到的 MySQL 密码,登录192.168.1.10的数据库,找里面的 flag;
  • 比如用跳板机的权限,扫描到192.168.1.20有漏洞,直接从跳板机发攻击 payload;
  • 比如找到内网机器的 SSH 账号密码,直接远程登录。

纵向提权(可选)

如果拿到的内网机器权限很低(比如www-data用户),就找漏洞提权到root,这样才能看更多敏感文件(比如/root/flag.txt)。

找最终 flag

  1. 在内网的核心机器上,找到存储 flag 的文件,读取后完成任务。

CTF 里的常见特点

  • 内网机器一般不联网,只能通过跳板机访问;
  • 重点考信息收集能力,比如找配置文件里的密码、扫内网端口;
  • 常用工具:nmap(扫端口)、frp/ew(端口转发,方便本地操作内网机器)、ssh(远程登录)