news 2026/7/7 4:48:51

内网渗透第一步——信息收集决定了你能走多远

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
内网渗透第一步——信息收集决定了你能走多远

上个月的真实场景

凌晨两点,我拿到了一台边界Web服务器的shell。

目标是一家中型企业的外网门户,一个存在了七八年的老PHP系统。通过一次SQL注入拿到了RDP用户密码,顺利登陆了这台WIndows Server 2012。

习惯性ipconfig看了一眼IP——172.16.1.105,妥妥的内网段。

我心想:"好,挖进去了。但然后呢?"

绝大多数安全从业者都卡在这一步——你突破边界进了内网,但面前是一片纯黑的网络海洋。你不知道旁边有哪些机器,不知道域控在哪,不知道哪些端口开着,更不知道哪些机器等你横向移动。

这一步,叫内网信息收集。90%的内网渗透成败,取决于信息收集做得够不够细。


第一章:为什么要做信息收集?

很多人觉得"我都进去了,直接扫呗"。

但真实场景下:

扫描行为会产生流量 → 可能触发IDS/EDR告警 → 蓝队把你扼杀在内网门口

信息收集的目的不是扫一圈IP列表,而是回答以下几个问题:

  • 我是谁——当前漏洞机的角色、域环境、网络配置
  • 旁边是谁——同一个网段有哪些邻居、网关在哪
  • 目标是谁——域控在哪、文件服务器在哪、数据库在哪
  • 我能去哪——还有哪些网段可以路由到达
  • 怎么不被发现——哪些流量会被监控

这五个问题,前四个回答的是"怎么打",第五个回答的是"怎么活"。


第二章:侦察第一轮——本地信息收集

拿到shell后,我做了这么几件事。

2.1 网络配置摸底

不管Windows还是Linux,第一件事永远是确认网络拓扑:

# Windows必查 ipconfig /all route print netstat -ano arp -a
# Linux必查 ifconfig ip route netstat -tunlp arp -n

为什么要查ARP表?

机器之间的通信只要在同一个二层网络,通信过的IP会短暂留在ARP表里。一个活跃的ARP表,基本就等于"隔壁有人的机器列表"。

我在这台Win Server上看到:

接口: 172.16.1.105 --- 0x0b Internet 地址 物理地址 类型 172.16.1.1 00-50-56-b3-12-aa 动态 ← 网关 172.16.1.10 00-50-56-b3-33-bb 动态 ← 有机器! 172.16.1.20 00-50-56-b3-44-cc 动态 ← 有机器! 172.16.1.50 00-50-56-b3-55-dd 动态 ← 有机器! 172.16.1.100 00-50-56-b3-66-ee 动态 ← 有机器! 172.16.2.15 00-50-56-b3-77-ff 动态 ← 跨网段?!

关键发现:172.16.1/24网段至少有4台活跃机器,而且还有一台172.16.2.15出现在ARP表里——这意味着这台机器的路由表里有通往别的网段的路径,或者这台机器本身是多网卡。

# 验证是否多网卡 ipconfig /all | findstr "IPv4"

果然,这台机器有两块网卡:

IPv4 Address: 172.16.1.105 IPv4 Address: 172.16.2.105

结论:这台机器是通往172.16.2/24的跳板机。大部分内网渗透都从这里开始——找"连接多网段的机器"。

2.2 域环境探测

确认域环境是信息收集中最关键的一步:

# 判断是否加域 systeminfo | findstr "Domain" # 看到的结果 Domain: CORP.LOCAL

看到CORP.LOCAL,心情瞬间上来了——加域的。这意味着存在域控(DC,Domain Controller),整个内网有一套统一的认证体系。

再查域控位置:

# 查当前登陆的域用户 whoami # 结果 corp\zhangwei
# 查域控 nltest /dclget:corp.local

返回:

DC: \\DC01.corp.local IP: 172.16.1.10

域控就在隔壁172.16.1.10——和ARP表上看到的那台机器是同一个IP。

一个重要的经验:拿到域控IP后,不要急着打。先做完整的信息收集,搞清楚域控上跑了什么服务,再做下一步决策。

2.3 本地敏感信息搜索

信息收集不只是看网络拓扑,还包括这台机器本身存储了什么东西:

# Windows - 搜各类密码相关文件 findstr /si password *.xml *.config *.txt *.ini *.bat *.ps1 # 搜Web配置文件 dir /s *.config *.env # 搜RDP连接记录 dir /a cmdkey /list

我在这台机器上找到了一个db_config.bak文件:

[DB_Connection] server=172.16.1.50 database=ERP_MAIN user=sa password=Corp@Admin!2024

又一个目标浮出水面——172.16.1.50,一台SQL Server数据库。

同时,cmdkey /list显示:

当前保存的凭据目标: LegacyGeneric:target=TERMSRV/172.16.1.20 LegacyGeneric:target=TERMSRV/172.16.1.10

这台机器上存了到172.16.1.20和172.16.1.10的RDP凭据!这些凭据在当前用户的Windows凭据管理器里,可以直接用runas /savedcred调用。


第三章:侦察第二轮——横向存活探测

做完本地信息收集,手里已经有几个目标IP了。接下来要做一件事——确认哪些机器真正在线上、哪些端口开放。

3.1 低噪存活探测

第一轮探测不用NMAP,因为NMAP的SYN扫描在很多EDR眼里是既定告警。我推荐两种方式:

# 方式1:利用ARP ping(二层,不产生IP层流量) for /L %i in (1,1,254) do ping -n 1 -w 100 172.16.1.%i | find "TTL="
# 方式2:用powershell Test-NetConnection(速度更快) 1..254 | % { if (Test-Connection -Count 1 -ComputerName "172.16.1.$_" -Quiet) { "172.16.1.$_ is alive"} }

这种方式产生的流量特征和普通Windows机器的网络操作几乎没区别,EDR很难判定是恶意行为。

3.2 端口探测(用代理转发)

探测到存活主机后,不能拿着攻击机直接扫描——攻击机的IP不在内网段,扫不到。

正确做法是建立SOCKS代理转发:

# 在攻击机上执行(通过反弹shell的机器做跳板) # 用frp或chisel建立socks隧道 chisel client <跳板机>:<端口> R:socks

然后在本地配置proxychains:

# /etc/proxychains.conf socks5 127.0.0.1 1080

通过代理进行端口扫描:

proxychains -q nmap -sT -Pn -p 22,80,443,445,3389,3306,1433,8080,8443 \ 172.16.1.10 172.16.1.20 172.16.1.50

扫描结果:

172.16.1.10 → DC01.corp.local PORT STATE SERVICE 53/tcp open domain ← DNS 88/tcp open kerberos ← Kerberos 135/tcp open rpc 139/tcp open netbios 389/tcp open ldap ← LDAP 445/tcp open smb ← SMB 3389/tcp open ms-wbt-server ← RDP 5985/tcp open winrm ← WinRM 172.16.1.20 → CORP-FILE01 PORT STATE SERVICE 135/tcp open rpc 139/tcp open netbios 445/tcp open smb 3389/tcp open ms-wbt-server 172.16.1.50 → CORP-DB01 PORT STATE SERVICE 135/tcp open rpc 1433/tcp open ms-sql-s ← SQL Server 3389/tcp open ms-wbt-server
血的教训:不要在跳板机上直接运行masscan/NMAP的全端口扫描。我曾见过一个红队兄弟,在跳板机上扫全端口被EDR告警,15分钟后蓝队就把他踢下线了。扫常用端口就够了,全端口扫描是给蓝队送业绩。

3.3 SMB共享探测

445端口开着的机器是内网渗透的金矿——SMB共享里往往躺着大量敏感文件:

# 列出目标机器上的所有共享 net view \\172.16.1.20 # 结果 共享名 类型 用途 注释 ------------------------------------------------------------------------------- Backup Disk 备份共享 Data Disk 部门数据 Finance$ Disk 财务数据(隐藏共享) IPC$ IPC 远程 IPC

共享一多,第一个要挂上去的是隐藏共享Finance$

# 尝试访问 dir \\172.16.1.20\Finance$

如果能访问,恭喜你找到金矿了。财务共享里通常有薪资表、对账单,这些在钓鱼邮件和社会工程学里是极好的素材。

如果提示无权限——正常。这时候不要硬来,记下这条共享路径,后续拿到域管权限后再来访问。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 4:46:36

从零开始在 CentOS 7 上部署 Docker:我的实战踩坑记录

写在前面 这是我 Docker 学习之路的第二篇文章。前一篇《从虚拟机到容器&#xff1a;Docker 解决了什么问题》讲了概念&#xff0c;这篇来点硬核的——真实环境下的部署实战。 从网络配置到镜像拉取&#xff0c;从 Dockerfile 编写到 Docker Compose 编排&#xff0c;我把这几…

作者头像 李华
网站建设 2026/7/7 4:44:53

终极GTA5安全防护菜单:YimMenu完全使用指南

终极GTA5安全防护菜单&#xff1a;YimMenu完全使用指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu Y…

作者头像 李华
网站建设 2026/7/7 4:43:46

网站优化提速!KKCE在线Ping优选IPv6 CDN边缘节点

双栈网站接入CDN后&#xff0c;IPv6节点调度不均常导致部分用户加载卡顿&#xff0c;盲目调整权重无数据支撑。KKCE全域在线Ping&#xff0c;量化各CDN边缘节点IPv6链路质量&#xff0c;指导精准调度优化。平台从全国三网及海外节点&#xff0c;对网站IPv6 CDN地址发起高频在线…

作者头像 李华
网站建设 2026/7/7 4:43:26

构建自定义加密库:从算法封装到密钥管理的工程实践

1. 项目概述&#xff1a;为什么我们需要一个自定义加密库&#xff1f;在当今的软件开发中&#xff0c;数据安全早已不是“可选项”&#xff0c;而是“必选项”。无论是用户密码、支付信息&#xff0c;还是核心业务数据&#xff0c;加密都是保护它们的第一道防线。然而&#xff…

作者头像 李华