内网渗透基础:主机信息收集与凭据搜集

一、前言

在红队和渗透测试中,外网打点只是第一步。拿到一台主机权限后,更重要的是判断当前主机所处网络位置、用户权限、可访问资源和是否存在可继续利用的凭据。

本文总结内网渗透中的基础信息收集和凭据搜集思路,仅用于靶场和授权测试环境。

二、为什么要做内网信息收集

拿到一台机器后,需要回答几个问题:

1
2
3
4
5
6
7
8
我是谁?
这是什么机器?
它在哪个网段?
它能访问谁?
当前权限多大?
有没有域环境?
有没有凭据?
能不能横向移动?

这些问题决定后续攻击路径。

三、Linux 主机信息收集

1. 当前用户和系统信息

1
2
3
4
5
whoami
id
hostname
uname -a
cat /etc/os-release

查看登录用户:

1
2
w
last

2. 网络信息

1
2
3
4
ip addr
ip route
ss -antp
cat /etc/resolv.conf

重点关注:

  • 当前 IP
  • 默认网关
  • DNS 服务器
  • 已建立连接
  • 本机监听端口

3. 进程和服务

1
2
ps aux
systemctl list-units --type=service --state=running

关注:

  • 数据库进程
  • Web 服务
  • Java 应用
  • Docker
  • 定时任务
  • 安全软件

4. 环境变量

1
env

环境变量中可能出现:

1
2
3
4
DB_PASSWORD
SECRET_KEY
TOKEN
ACCESS_KEY

四、Windows 主机信息收集

1. 当前用户和系统信息

1
2
3
4
whoami
whoami /priv
hostname
systeminfo

查看本地用户:

1
2
net user
net localgroup administrators

2. 网络信息

1
2
3
4
ipconfig /all
route print
netstat -ano
arp -a

重点关注:

  • DNS 后缀
  • 网关
  • 内网网段
  • 已连接主机
  • 域控线索

3. 域信息判断

1
2
3
whoami /fqdn
nltest /dsgetdc:域名
net config workstation

如果当前机器在域中,信息收集重点会转向:

  • 域用户
  • 域控
  • 域组
  • 共享目录
  • 登录会话

五、内网网段发现

拿到主机后,不要盲目大规模扫描。先从本机信息判断网段。

Linux:

1
2
ip route
arp -a

Windows:

1
2
3
ipconfig
arp -a
route print

常见内网网段:

1
2
3
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

如果授权允许,可以做小范围探测:

1
ping -c 1 192.168.1.1

或使用更安静的方式观察已有连接和 ARP 缓存。

六、凭据搜集思路

凭据是内网横向移动的关键。常见来源包括配置文件、历史命令、浏览器、数据库、脚本和内存。

1. Web 配置文件

Linux 下常见路径:

1
2
3
4
/var/www
/opt
/srv
/home

搜索关键字:

1
grep -RniE "password|passwd|pwd|secret|token|key|username|jdbc|mysql|redis" /var/www 2>/dev/null

常见文件:

1
2
3
4
5
6
7
.env
config.php
wp-config.php
database.php
application.yml
settings.py
config.json

2. Shell 历史

Linux:

1
2
cat ~/.bash_history
find /home -name ".bash_history" -exec cat {} \; 2>/dev/null

可能出现:

1
2
3
4
mysql -uroot -p123456
ssh user@host
scp key.pem
redis-cli -a password

3. SSH 私钥

1
find / -name "id_rsa" -o -name "*.pem" 2>/dev/null

如果发现私钥,需要确认:

  • 私钥归属用户
  • 是否有 passphrase
  • 是否能登录其他主机

4. 数据库凭据

拿到数据库账号后,可以尝试读取:

  • 用户表
  • 后台账号
  • 配置表
  • token
  • 密码哈希

如果数据库密码与系统用户复用,可能成为横向移动入口。

5. Windows 凭据线索

Windows 中可以关注:

1
2
3
4
cmdkey /list
dir /s /b *password*
dir /s /b *.config
dir /s /b web.config

常见敏感文件:

1
2
3
4
5
web.config
appsettings.json
*.rdp
*.kdbx
unattend.xml

七、共享目录与横向线索

Windows 查看共享:

1
2
net view
net view \\host

Linux 查看挂载:

1
2
3
mount
df -h
cat /etc/fstab

共享目录中可能存在:

  • 部署脚本
  • 数据库备份
  • 源码包
  • 运维文档
  • 密码文件

这些往往比直接扫描漏洞更有价值。

八、常见横向移动入口

凭据收集后,常见可尝试的服务:

1
2
3
4
5
6
7
SSH     22
SMB 445
RDP 3389
WinRM 5985/5986
MySQL 3306
MSSQL 1433
Redis 6379

但横向移动必须在授权范围内进行,不能对未知资产随意尝试。

九、报告中怎么写

红队报告里不要只写“发现密码”,要写清楚:

1
2
3
4
5
6
凭据来源
影响范围
是否可登录其他服务
是否存在密码复用
可造成的后果
修复建议

示例:

1
在 /var/www/html/.env 中发现数据库账号密码。经验证,该账号可连接内网 MySQL 服务并读取业务用户表。若攻击者获取 WebShell,可进一步读取敏感数据,建议迁移密钥到安全配置中心并限制数据库访问来源。

十、防护建议

  • 配置文件不保存明文密码。
  • 使用密钥管理系统或环境变量管理敏感信息。
  • 数据库账号最小权限。
  • SSH 私钥设置 passphrase。
  • 禁止密码复用。
  • 定期清理历史命令。
  • 限制内网服务访问来源。
  • 对共享目录做权限审计。
  • 对异常登录和横向连接做告警。

十一、总结

内网渗透不是一上来就大范围扫描,而是先从当前主机出发,做细致的信息收集:

1
身份 -> 系统 -> 网络 -> 服务 -> 凭据 -> 共享 -> 横向入口

对红队面试来说,能讲清楚这套流程非常重要。它体现的是“拿到一个点后如何继续扩大影响”的能力,而不是只会单点漏洞利用。