找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1863

积分

0

好友

263

主题
发表于 2026-1-3 14:24:43 | 查看: 20| 回复: 0

内网渗透的核心前提是“知己知彼”,而信息收集正是实现这一目标的关键环节。完整、精准的信息收集不仅能帮我们快速定位内网资产的薄弱点,更能为后续的渗透测试提供清晰的路径规划。反之,信息收集不全面,往往会导致渗透测试陷入僵局,甚至遗漏关键漏洞。

本文整理了30个内网渗透信息收集实战技巧,覆盖网络拓扑、系统配置、账户权限、应用服务、敏感数据等多个核心维度。

一、网络拓扑与资产探测类

内网渗透的第一步,是摸清目标网络的“骨架”——明确网络拓扑结构、存活主机、开放端口等基础信息,为后续渗透划定范围。

技巧1:利用ARP扫描快速定位存活主机

内网中主机通常会响应ARP请求,相比ICMP扫描(易被防火墙拦截),ARP扫描更高效、隐蔽。实战中可使用nmap的ARP扫描模式:nmap -sn -PR 192.168.1.0/24 (-sn表示不进行端口扫描,仅探测存活;-PR指定ARP扫描)。此外,arp-scan工具也可直接用于ARP扫描:arp-scan -l (-l表示扫描当前网段)。扫描后需记录存活主机的IP与MAC地址,通过MAC地址前三位可判断设备厂商(如华为、思科、微软设备),辅助判断资产类型。

技巧2:基于ICMP的多类型探测规避防火墙拦截

部分内网防火墙会禁止ICMP Echo Request(ping请求),但可能放行ICMP Timestamp Request(时间戳请求)、ICMP Address Mask Request(地址掩码请求)。可使用nmap尝试多种ICMP类型探测:nmap -sn -PE -PP -PM 10.0.0.0/16 (-PE为标准ping探测,-PP为时间戳探测,-PM为地址掩码探测)。若所有ICMP类型均被拦截,可后续结合端口扫描间接判断主机存活。

技巧3:全端口扫描结合服务版本探测

基础的1-10000端口扫描可能遗漏关键服务(如数据库默认端口3389、5432等),建议进行全端口扫描:nmap -p 1-65535 -sV -sC 192.168.1.100 (-p指定全端口,-sV探测服务版本,-sC加载默认脚本进行基础检测)。扫描结果需重点记录非标准端口对应的服务(如将3389端口映射到8888端口的远程桌面服务),这类非标准配置往往存在安全隐患。

技巧4:利用 traceroute 追踪网络路由路径

通过traceroute(Windows下为tracert)可获取目标主机到网关、核心路由的路径,辅助判断内网拓扑层级。实战中可结合不同协议的traceroute规避拦截:traceroute -T 192.168.2.1 (-T使用TCP协议,避免ICMP协议被拦截)、traceroute -U 192.168.2.1 (-U使用UDP协议)。记录路由节点的IP,后续可重点探测这些核心网络设备

技巧5:探测内网DNS服务器与DNS记录

内网DNS服务器往往存储着大量内部域名与IP的映射关系,是获取内网资产信息的重要突破口。可通过ipconfig/ifconfig查看当前DNS服务器地址,再使用nslookup/dig工具探测DNS记录:nslookup -type=A 内网域名 192.168.1.2 (-type=A查询A记录,192.168.1.2为内网DNS服务器IP)。此外,可尝试DNS区域传输(zone transfer):dig @192.168.1.2 axfr 内网域名 ,若DNS服务器配置不当,可获取整个域名区域的所有记录。

技巧6:发现内网共享设备(打印机、NAS、摄像头)

内网中的共享设备往往安全配置薄弱,可通过探测端口与服务特征发现。例如,打印机常用端口9100(RAW)、631(IPP),NAS设备常用端口445(SMB)、8080(Web管理界面),摄像头常用端口554(RTSP)、80(Web监控界面)。可使用nmap针对这些端口进行批量扫描:nmap -p 9100,631,445,8080,554 192.168.1.0/24 ,发现开放端口后,通过浏览器访问或专用工具连接进一步验证设备类型。

技巧7:利用LLMNR/NBT-NS投毒获取内网主机信息

内网中若存在主机发送LLMNR(链路本地多播名称解析)或NBT-NS(NetBIOS名称服务)请求(通常是用户输入错误域名或访问不存在的共享资源时),可通过Responder工具进行投毒,获取请求主机的NetNTLM哈希。操作命令:responder -I eth0 -w -F (-I指定网卡,-w开启Web服务器,-F强制使用HTTP)。获取的NetNTLM哈希可后续通过Hashcat等工具破解,获取账户密码。

技巧8:探测内网VLAN划分(需接入内网)

若已获取一台内网主机的控制权,可通过查看交换机CAM表、发送802.1Q VLAN标签数据包等方式探测VLAN划分。例如,使用Yersinia工具发送VLAN Trunk协议数据包:yersinia -I eth0 -G (图形化界面操作,选择VLAN Trunk协议进行扫描),若收到响应,可获取相邻交换机的VLAN信息。此外,也可通过查看主机路由表(route print)、ARP缓存表(arp -a)辅助判断VLAN范围。

二、系统信息收集类

获取内网主机的系统信息(版本、补丁、进程、服务等),是判断系统漏洞、选择攻击手段的基础。无论是Windows还是Linux系统,都有对应的原生工具与第三方工具可实现信息收集。

技巧9:Windows系统基础信息快速收集(原生命令)

无需上传第三方工具,通过Windows原生命令即可获取核心系统信息:1. 系统版本与补丁:systeminfo (重点关注“系统版本”“已安装的更新”,判断是否存在未修复的高危漏洞,如MS17-010);2. 主机名与域信息:hostname (主机名)、net config workstation (查看是否加入域、域控制器信息);3. 网络配置:ipconfig /all (IP、DNS、MAC、DHCP信息);4. 进程与服务:tasklist /svc (进程对应的服务)、net start (已启动的服务)。

技巧10:Linux系统基础信息收集(原生命令)

Linux系统可通过以下原生命令收集信息:1. 系统版本与内核:cat /etc/issue (系统版本)、uname -a (内核版本,判断是否存在内核漏洞,如Dirty COW);2. 网络配置:ifconfig -aip addr (IP、MAC信息)、cat /etc/resolv.conf (DNS信息);3. 进程与服务:ps -aux (所有进程)、systemctl list-unit-files --type=service (服务状态);4. 系统用户:cat /etc/passwd (所有用户)、cat /etc/shadow (用户密码哈希,需root权限)。

技巧11:利用WMI查询Windows系统深度信息

WMI(Windows管理规范)是Windows系统的核心管理接口,可查询系统硬件、软件、用户、进程等详细信息,且支持远程查询(需权限)。常用命令:1. 查询已安装软件:wmic product get name,version (获取软件名称与版本,判断是否存在漏洞软件,如旧版本Adobe Reader);2. 查询用户账户:wmic useraccount get name,sid,status (用户名称、SID、状态);3. 查询共享目录:wmic share get name,path,status (内网共享目录路径);4. 远程查询:wmic /node:192.168.1.101 /user:域\用户名 /password:密码 process list brief (查询远程主机进程)。

技巧12:收集Windows系统自动登录凭据

部分内网主机为方便使用,会开启自动登录功能,其凭据可能存储在注册表中。可通过查询注册表获取:reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName (获取默认登录用户名)、reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword (获取默认登录密码,部分系统可能未存储或加密)。此外,也可查看 HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU 获取最近运行的程序信息。

技巧13:提取Linux系统历史命令记录

Linux系统会记录用户的历史命令(默认存储在~/.bash_history),通过查看历史记录可获取用户的操作习惯、敏感命令(如数据库登录、密码修改、远程连接)等信息。命令:cat ~/.bash_history 。若获取root权限,可查看所有用户的历史记录:cat /home/*/.bash_history 。此外,可通过 echo $HISTFILE 确认当前用户历史命令文件路径,部分用户可能修改默认路径。

技巧14:探测系统补丁缺失情况(第三方工具)

手动查看系统补丁效率较低,可使用第三方工具快速探测缺失的高危补丁。Windows系统推荐使用Windows-Exploit-Suggester:python windows-exploit-suggester.py --database 2025-01-01-mssb.xls --systeminfo systeminfo.txt (需先导出目标主机的systeminfo.txt文件,工具会对比补丁数据库,列出可利用的漏洞);Linux系统推荐使用Linux-Exploit-Suggester:./linux-exploit-suggester.sh (直接运行,会根据内核版本、系统版本推荐可利用的漏洞)。

技巧15:收集系统计划任务(定时任务)

系统计划任务可能包含敏感操作(如自动备份数据、运行脚本、清理日志),若能篡改计划任务,可实现权限维持或提权。Windows系统:schtasks /query /fo LIST /v (查看所有计划任务,包括执行用户、执行时间、脚本路径);Linux系统:crontab -l (查看当前用户的定时任务)、cat /etc/crontab (系统级定时任务)、ls -l /etc/cron.d/ (查看cron.d目录下的定时任务脚本)。重点关注以高权限(如root、Administrator)执行的定时任务,若脚本路径可写,可替换脚本实现提权。

技巧16:查看系统防火墙配置与规则

防火墙规则决定了内网主机的端口开放范围、数据传输限制,了解规则后可规避拦截、寻找突破点。Windows系统:netsh advfirewall firewall show rule name=all (查看所有防火墙规则)、netsh advfirewall show allprofiles (查看防火墙配置文件状态);Linux系统(iptables):iptables -L -n (查看所有规则,-n表示IP以数字形式显示)、cat /etc/sysconfig/iptables (查看iptables配置文件);Linux系统(firewalld):firewall-cmd --list-all (查看当前防火墙规则)。

三、账户与权限信息收集类

账户与权限是内网渗透的核心目标之一,收集账户信息(用户名、密码、权限级别)可帮助我们横向移动(登录其他主机)、纵向提权(获取更高权限)。

技巧17:收集Windows系统本地用户与组信息

通过原生命令收集本地用户与组,判断高权限账户:1. 本地用户:net user (列出所有本地用户)、net user 用户名 (查看指定用户的详细信息,包括密码过期时间、是否启用);2. 本地组:net localgroup (列出所有本地组)、net localgroup Administrators (查看管理员组成员,获取高权限用户列表)。此外,可通过 wmic group get name,sid 获取组的SID信息,辅助判断权限级别。

技巧18:探测域环境中的用户与域控制器

若目标主机加入域,需重点收集域相关信息:1. 域信息:net config workstation (查看域名称、域控制器IP)、nltest /dclist:域名称 (列出所有域控制器);2. 域用户:net user /domain (列出所有域用户,需域用户权限)、dsquery user (域控制器上执行,查询域用户,需管理员权限);3. 域组:net group /domain (列出所有域组)、net group "Domain Admins" /domain (查看域管理员组成员,核心目标)。

技巧19:获取Windows系统密码哈希(SAM/LSYNC)

Windows系统的本地用户密码哈希存储在SAM文件中(%SystemRoot%\System32\config\SAM),域用户密码哈希存储在域控制器的NTDS.dit文件中。获取哈希后可通过破解或Pass-the-Hash(哈希传递)攻击登录其他主机。1. 本地SAM哈希:获取系统权限后,使用reg命令导出SAM与SYSTEM注册表 hive:reg save HKLM\SAM sam.hivreg save HKLM\SYSTEM system.hiv ,再使用samdump2工具提取哈希:samdump2 system.hiv sam.hiv > hashes.txt ;2. 域哈希:通过LSASS进程内存提取(使用Mimikatz:privilege::debugsekurlsa::logonpasswords )或DCSync攻击(使用Mimikatz:lsadump::dcsync /domain:域名称 /user:域管理员用户名 ,需域管理员权限)。

技巧20:收集Linux系统用户权限与sudo配置

Linux系统中,sudo权限是提权的重要突破口,需重点收集:1. 用户权限:id (查看当前用户的UID、GID及所属组)、sudo -l (查看当前用户可执行的sudo命令,若显示“ALL=(ALL) NOPASSWD: ALL”,则可直接sudo提权至root);2. sudo配置文件:cat /etc/sudoers (查看sudo配置规则,需root权限),重点关注是否存在配置错误(如允许普通用户无密码执行高权限命令、脚本路径可写)。

技巧21:探测内网主机的弱口令账户

内网中大量主机存在弱口令问题(如用户名=密码、使用默认密码),可通过批量暴力破解工具探测。常用工具:Hydra(支持多种协议,如SMB、RDP、SSH、MySQL)、Medusa。示例:使用Hydra破解SMB弱口令:hydra -L 用户名字典.txt -P 密码字典.txt 192.168.1.0/24 smb ;破解SSH弱口令:hydra -L user.txt -P pass.txt -t 4 192.168.1.102 ssh (-t指定线程数)。建议使用内网常见弱口令字典(如公司名称、部门名称、员工姓名组合的密码),提高破解成功率。

技巧22:收集浏览器保存的凭据与历史记录

用户常通过浏览器保存内网系统(如OA、CRM、邮件系统)的登录凭据,收集这些信息可直接登录相关系统。Windows系统:1. Chrome浏览器:凭据存储在%LocalAppData%\Google\Chrome\User Data\Default\Login Data(SQLite数据库),可使用ChromePass工具提取:ChromePass.exe /saveashtml chrome_creds.html ;2. Edge浏览器:类似Chrome,路径为%LocalAppData%\Microsoft\Edge\User Data\Default\Login Data;3. IE浏览器:凭据存储在注册表,可使用CredEnumerate工具提取。Linux系统:Chrome浏览器凭据路径为~/.config/google-chrome/Default/Login Data,可使用同样的工具提取。

技巧23:获取系统服务账户凭据

内网服务(如IIS、MySQL、SQL Server)通常使用专用服务账户运行,这些账户可能具有高权限,且密码可能存储在配置文件或注册表中。1. IIS服务:查看配置文件%SystemRoot%\System32\inetsrv\config\applicationHost.config,寻找 <applicationPools> 节点下的identity配置,获取服务账户;2. SQL Server:使用sqlcmd连接数据库后,执行 SELECT name, type_desc FROM sys.server_principals 查看服务账户,或查看注册表 HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\Setup 获取安装时的账户信息;3. MySQL:配置文件/etc/my.cnf或/etc/mysql/my.cnf中可能存储着root密码(如skip-grant-tables配置下无密码登录)。

四、应用与服务及敏感数据收集类(技巧24-30)

内网中的应用服务(Web应用、数据库、邮件系统)与敏感数据(文档、备份、日志)是渗透测试的核心目标,收集这类信息可直接获取业务数据或进一步扩大渗透范围。

技巧24:探测内网Web应用(端口80、443、8080等)

内网Web应用(如OA、ERP、CRM、监控系统)往往存在漏洞(如SQL注入、XSS、弱口令),可通过以下方式收集:1. 批量扫描Web端口:nmap -p 80,443,8080,8081,8443 192.168.1.0/24 --open (--open只显示开放端口);2. 访问Web端口,记录应用名称、版本(通过页面标题、footer信息、HTTP响应头判断);3. 使用目录扫描工具(DirBuster、Gobuster)探测隐藏目录与文件:gobuster dir -u http://192.168.1.103:8080 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt ,重点关注admin、login、backup、config等敏感目录。

技巧25:收集数据库服务信息与凭据

内网数据库(MySQL、SQL Server、Oracle、PostgreSQL)存储着核心业务数据,需重点收集:1. 数据库端口探测:常用端口3306(MySQL)、1433(SQL Server)、1521(Oracle)、5432(PostgreSQL),使用nmap扫描:nmap -p 3306,1433,1521,5432 192.168.1.0/24 -sV ;2. 数据库凭据收集:查看应用配置文件(如Web应用的config.php、web.config)中的数据库连接字符串(包含IP、端口、用户名、密码),或通过之前获取的系统凭据尝试弱口令登录(如MySQL默认root/空密码、SQL Server sa/123456);3. 数据库信息查询:登录数据库后,执行对应命令查看数据库列表、表结构(如MySQL:show databases;use 数据库名; show tables; )。

技巧26:寻找内网共享目录与敏感文件

内网共享目录是敏感文件(如员工信息、合同、备份数据)的常见存储位置,可通过以下方式寻找:1. Windows共享目录探测:net view \\192.168.1.104 (查看目标主机的共享资源)、dir \\192.168.1.104\共享名称 (查看共享目录内容),或使用ShareFinder工具批量探测;2. Linux共享目录(NFS)探测:showmount -e 192.168.1.105 (查看目标主机的NFS共享),若共享配置不当(如允许匿名访问、可写),可直接挂载获取文件;3. 敏感文件类型:重点寻找.docx、.xlsx、.pdf、.bak、.zip、.txt等文件,尤其是文件名包含“机密”“备份”“账户”“密码”的文件。

技巧27:收集系统与应用日志信息

日志中包含大量渗透相关信息(如登录记录、操作记录、错误信息),可辅助判断系统状态、寻找漏洞。Windows系统:1. 事件日志:使用 wevtutil qe System /f:text (系统日志)、wevtutil qe Security /f:text (安全日志,包含登录失败/成功记录),或通过事件查看器图形化查看;2. IIS日志:路径为%SystemRoot%\System32\LogFiles\W3SVC1,包含Web访问记录;3. 应用日志:如SQL Server日志路径为%ProgramFiles%\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Log。Linux系统:1. 系统日志:cat /var/log/syslogcat /var/log/auth.log (认证日志,包含SSH登录记录);2. Web日志:Apache日志路径为/var/log/apache2/access.log,Nginx日志路径为/var/log/nginx/access.log。

技巧28:探测内网邮件系统与邮件信息

内网邮件系统存储着大量业务沟通信息,可能包含敏感数据(如合同细节、账户密码)。1. 邮件服务端口探测:常用端口25(SMTP)、110(POP3)、143(IMAP)、993(IMAPS)、995(POP3S),使用nmap扫描:nmap -p 25,110,143,993,995 192.168.1.0/24 -sV ;2. 邮件服务器信息:通过SMTP命令获取邮件服务器域名、版本:telnet 192.168.1.106 25 ,然后输入 EHLO test ,服务器会返回相关信息;3. 邮件信息收集:若获取用户邮箱凭据,可通过POP3/IMAP协议下载邮件(使用Outlook、Thunderbird或命令行工具),重点查看收件箱、已发送邮件中的敏感内容。

技巧29:寻找备份文件与配置备份

管理员通常会对系统、应用、数据库进行备份,备份文件可能包含完整的系统镜像、数据库数据、配置文件(含凭据)。1. 常见备份文件路径:Windows系统的D:\备份、E:\数据备份,Linux系统的/backup、/home/backup;2. 常见备份文件名:如system_backup_20250101.zip、db_backup.sql、config_bak.ini;3. 数据库备份:SQL Server默认备份路径为%ProgramFiles%\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Backup,MySQL备份可能为.sql文件;4. 配置备份:路由器、交换机的配置备份(通常为.cfg文件),若能获取,可获取网络拓扑、登录凭据等信息。

技巧30:利用网络抓包获取敏感数据(需接入内网)

若已接入内网(如获取一台内网主机控制权,开启流量转发),可通过抓包工具(Wireshark、Tcpdump)捕获内网明文传输的敏感数据(如HTTP表单提交的用户名密码、Telnet/SSH明文登录信息、数据库明文查询语句)。操作:1. Windows系统:使用Wireshark选择内网网卡,过滤HTTP、Telnet、MySQL等协议进行抓包;2. Linux系统:tcpdump -i eth0 port 80 or port 23 or port 3306 -w capture.pcap (捕获80、23、3306端口的流量,保存到capture.pcap文件),后续可使用Wireshark分析该文件。注意:抓包需获得明确授权,且避免捕获大量无关流量影响内网正常运行。

内网渗透信息收集是一个“由浅入深、由广到精”的过程,核心在于“全面”与“精准”——既要覆盖网络、系统、账户、应用等多个维度,又要聚焦高价值信息(如高权限账户、敏感数据、未修复漏洞)。掌握以上技巧,并结合实战灵活运用,将极大提升你在内网渗透中的效率与成功率。如果你对这些安全技术感兴趣,并希望与更多同行交流,欢迎关注 云栈社区 的相关技术板块。




上一篇:Python ovld模块实现函数重载:类型注解与多参数分发的实践指南
下一篇:tcpdump抓包从入门到实战:排查Nginx 500错误与数据库SQL交互
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-11 11:55 , Processed in 0.213109 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表