内网信息收集与命令详解

内网信息收集是渗透测试和红队行动中至关重要的一步,目的是在获得一个初始立足点后,深入了解内部网络环境,寻找横向移动和权限提升的机会。下面我将详细阐述内网信息收集的内容、常用命令和工具。

核心思想

由点到面,由浅入深:从已控制的单台主机开始,逐步摸清整个网络的结构、资产和信任关系。


一、信息收集的核心内容

可以将内网信息收集分为以下几个层面:

  1. 本机信息

    • 用户信息:当前用户权限、登录过的用户、管理员组用户。

    • 系统信息:操作系统版本、补丁情况、安装的软件、进程列表、服务、计划任务。

    • 网络信息:本机IP地址、DNS服务器、ARP表、路由表、防火墙规则、 hosts 文件。

    • 敏感信息:密码文件、历史命令、配置文件、数据库连接字符串、浏览器保存的密码。

    • 凭证信息:内存中的密码、保存的RDP凭证、WiFi密码、PuTTY等工具的会话信息。

  2. 网络拓扑与存活主机发现

    • 网段信息:判断当前所在网段,寻找其他网段(如 DMZ、办公网、生产网)。

    • 存活主机发现:探测同一网段或相邻网段内存活的主机。

    • 端口与服务探测:发现存活主机上开放的服务和端口。

    • 网络设备识别:识别路由器、交换机、防火墙等网络设备。

  3. 域环境信息(如果存在Active Directory)

    • 域基本信息:域名、域控制器位置、域功能级别。

    • 域用户与组:枚举所有域用户、计算机、组及其成员关系(尤其是高权限组如Domain Admins)。

    • 域策略:密码策略、账户锁定策略、Kerberos策略等。

    • 信任关系:林内信任、林间信任。

    • 关键服务:查找文件共享、SQL Server、Exchange邮件服务器等。


二、常用命令与工具详解

(一)Windows 系统
1. 本机信息收集
  • 用户与权限

    cmd

    复制代码
    # 查看当前用户及权限
    whoami
    whoami /priv          # 查看当前用户的特权
    whoami /groups        # 查看当前用户所在的组
    net user              # 查看本地用户
    net user [username]   # 查看指定用户详细信息
    net localgroup administrators # 查看管理员组用户
    net localgroup "Remote Desktop Users" # 查看远程桌面用户组
  • 系统与网络信息

    cmd

    复制代码
    # 系统信息
    systeminfo            # 查看详细的系统信息(包括补丁)
    hostname              # 查看主机名
    set                   # 查看环境变量
    
    # 网络信息
    ipconfig /all         # 查看详细的IP配置(包括DNS)
    route print           # 查看路由表
    arp -a                # 查看ARP缓存表
    netsh advfirewall firewall dump # 查看防火墙规则(需要管理员权限)
    netsh wlan show profiles # 查看保存的WiFi配置文件(需要管理员权限)
    netsh wlan show profile name="[ProfileName]" key=clear # 查看WiFi密码
  • 进程、服务、连接

    cmd

    复制代码
    # 进程与服务
    tasklist              # 查看进程列表
    tasklist /svc         # 查看进程对应的服务
    net start             # 查看正在运行的服务
    sc query              # 查看所有服务的状态
    wmic service list brief # 使用WMI查看服务
    
    # 网络连接
    netstat -ano          # 查看所有网络连接、监听端口和对应的PID
  • 敏感文件与信息

    cmd

    复制代码
    # 查看计划任务
    schtasks /query /fo LIST /v
    
    # 查看共享
    net share
    
    # 查找敏感文件
    dir /s *pass* == *.config == *vnc* == *.pem == *.p12 == *.kdbx == *.txt
    findstr /si password *.xml *.ini *.txt *.config
    
    # 查看浏览器密码(需要工具如:LaZagne, Mimikatz)
2. 域环境信息收集(如果主机已加入域)
  • 基础域信息

    cmd

    复制代码
    # 判断是否在域中
    systeminfo | findstr /B /C:"Domain"
    net config workstation
    
    # 查询域基本信息
    net view /domain      # 查看所有域
    net view /domain:[DomainName] # 查看指定域中的机器列表(可能被禁用)
    nltest /dclist:[DomainName] # 查找域控制器
  • 使用PowerShell(更强大)

    powershell

    复制代码
    # 需要先获取执行权限,通常使用:Set-ExecutionPolicy Bypass -Scope Process
    
    # 获取当前域
    Get-ADDomain
    
    # 获取域控制器
    Get-ADDomainController
    
    # 枚举域用户
    Get-ADUser -Filter * -Properties * | select Name, SamAccountName, Description, LastLogonDate
    
    # 枚举域计算机
    Get-ADComputer -Filter * -Properties * | select Name, OperatingSystem, LastLogonDate
    
    # 枚举域组和组成员(重点关注高权限组)
    Get-ADGroupMember "Domain Admins" -Recursive
    Get-ADGroupMember "Enterprise Admins" -Recursive
    
    # 获取域密码策略
    Get-ADDefaultDomainPasswordPolicy
    
    # 使用PowerView.ps1(更专业的AD信息收集脚本)
    Import-Module .\PowerView.ps1
    Get-NetDomain        # 获取域信息
    Get-NetUser          # 获取所有域用户
    Get-NetComputer      # 获取所有域计算机
    Invoke-ShareFinder   # 查找域内共享
(二)Linux 系统
1. 本机信息收集
  • 用户与权限

    bash

    复制代码
    # 查看当前用户及权限
    whoami
    id
    sudo -l              # 查看当前用户可以以root权限执行的命令(非常重要!)
    cat /etc/passwd      # 查看所有用户
    cat /etc/group       # 查看所有组
    cat /etc/shadow      # 查看密码哈希(需要root权限)
    last                 # 查看登录历史
  • 系统与网络信息

    bash

    复制代码
    # 系统信息
    uname -a             # 查看内核版本等信息
    cat /etc/*-release   # 查看系统发行版
    cat /etc/issue
    ps aux               # 查看所有进程
    df -h                # 查看磁盘空间
    
    # 网络信息
    ifconfig 或 ip addr   # 查看IP地址
    cat /etc/resolv.conf # 查看DNS配置
    route -n             # 查看路由表
    arp -a               # 查看ARP表
    iptables -L -n       # 查看防火墙规则(需要root权限)
  • 敏感信息与配置

    bash

    复制代码
    # 查看计划任务
    crontab -l
    ls -la /etc/cron*
    
    # 查看环境变量
    env
    
    # 查找敏感文件
    find / -name "*.pem" -o -name "*id_rsa*" -o -name "*.kdbx" -o -name "*.config" 2>/dev/null
    grep -r "password" /etc /home /opt 2>/dev/null
    
    # 查看历史命令
    history
2. 网络信息收集(跨平台工具)
  • 存活主机发现

    bash

    复制代码
    # Windows (需要安装或系统自带)
    ping -n 1 192.168.1.1
    for /L %i in (1,1,254) do @ping -n 1 -w 100 192.168.1.%i | findstr "TTL"
    
    # Linux/Windows (使用nmap,需安装)
    nmap -sn 192.168.1.0/24          # Ping扫描,发现存活主机
    nmap -sP 192.168.1.0/24          # 同上
    
    # Linux (使用arp-scan)
    arp-scan --localnet
    
    # Linux (使用fping)
    fping -a -g 192.168.1.0/24 2>/dev/null
  • 端口与服务探测

    bash

    复制代码
    # 使用nmap进行端口扫描
    nmap -sS -sV -O 192.168.1.100    # TCP SYN扫描,版本探测,操作系统探测
    nmap -sS -p 1-65535 192.168.1.100 # 全端口扫描(慢)
    nmap -sS -p- --min-rate 5000 192.168.1.100 # 快速全端口扫描
    nmap -sU -p 53,161,162 192.168.1.1 # UDP端口扫描
    
    # 使用masscan进行极速端口扫描
    masscan -p1-65535 192.168.1.0/24 --rate=10000
  • SMB/网络共享枚举

    bash

    复制代码
    # Linux (smbclient, enum4linux)
    smbclient -L //192.168.1.100 -N    # 匿名列举共享
    enum4linux -a 192.168.1.100        # 全面的SMB枚举
    
    # Windows
    net view \\192.168.1.100           # 查看目标共享

三、自动化工具

为了提升效率,通常会使用自动化脚本或工具。

  1. Windows:

    • PowerSploit / PowerView: 专业的PowerShell AD信息收集框架。

    • BloodHound / SharpHound: 可视化分析域内攻击路径的神器。SharpHound用于收集数据,BloodHound用于展示。

    • LaZagne: 跨平台的凭证恢复工具,用于提取浏览器、系统等保存的密码。

    • Mimikatz: 神器,主要用于从内存中提取明文密码、哈希、票据等(需要高权限)。

  2. Linux:

    • LinEnum: 经典的Linux本地枚举脚本,检查权限提升点。

    • Linux Smart Enumeration: 更强大的Linux枚举脚本。

    • LinPEAS: 功能非常全面的Linux权限提升审计脚本,自动化检查各种漏洞。

    • Autorecon: 自动化网络扫描工具,能自动进行端口扫描、服务识别、漏洞检查等。

四、注意事项与防御建议

  • 隐蔽性: 内网信息收集活动会产生大量网络流量和日志,容易被IDS/IPS、EDR、态势感知等设备检测到。需要尽量低调,控制扫描速度,使用合法工具。

  • 权限: 很多命令和工具需要管理员/root权限才能获取完整信息。

  • 防御建议(蓝队视角):

    • 最小权限原则: 为用户和应用程序分配所需的最小权限。

    • 网络分段: 将网络划分为不同的安全区域,限制横向移动。

    • 强化端点安全: 部署EDR、杀毒软件,并保持更新。

    • 日志监控与审计: 集中收集和分析系统、网络、安全设备日志,设置告警规则(如异常登录、大量端口扫描)。

    • 禁用不必要的服务和共享: 减少攻击面。

    • 定期进行漏洞扫描和渗透测试: 主动发现自身弱点。

总之,内网信息收集是一个系统性工程,需要根据目标环境灵活运用各种命令和工具,并将收集到的信息进行关联分析,才能绘制出完整的内网攻击地图。

相关推荐
Whoami!2 小时前
⸢ 陆 ⸥ ⤳ 可信纵深防御:整体架构
网络安全·信息安全·安全架构
余防2 小时前
存储型XSS,反射型xss
前端·安全·web安全·网络安全·xss
m0_738120722 小时前
CTFshow系列——PHP特性Web113-115(123)
安全·web安全·php·ctfshow
北京耐用通信5 小时前
神秘魔法?耐达讯自动化Modbus TCP 转 Profibus 如何为光伏逆变器编织通信“天网”
网络·人工智能·网络协议·网络安全·自动化·信息与通信
余防6 小时前
CSRF跨站请求伪造
前端·安全·web安全·csrf
Acc1oFl4g7 小时前
【铸网-2025】线下赛 web 详细题解
web安全·ctf·php反序列化
撰卢11 小时前
网络安全期末大论文
安全·web安全
纷飞的花火丶21 小时前
Oracle数据库注入基础入门
网络安全·oracle·sql注入
jun~1 天前
SQLMap绕过 Web 应用程序保护靶机(打靶记录)
linux·笔记·学习·安全·web安全