CMD命令混淆学习

更新时间:2022.06.08
image.png

本文首发乌鸦安全知识星球!

1. 背景介绍

cmd命令混淆的意义主要是bypass,混淆也不能影响原来的命令执行结果。

2. 混淆方法

2.1 双引号法"

使用双引号包裹字符,相当于将字符进行连接。
who""a""mi
image.png

在这个也可以这样:
image.png
最好是成对使用:
image.png

2.2 转义符^

字符 ^CMD命令中最常见的转义字符,该字符不影响命令的执行。
who^am^i
image.png
在这里不能两个^^放在一起使用,不然会报错:

image.png

2.3 大小写混合

WHoAmI
image.png

2.4 空格替换,;

逗号 , 和分号 ;可以互换,可以取代命令中的合法空格,多个空格也不影响命令执行。

;, net user
,; net user

image.png
但是不能在一个连续命令中间使用:

image.png

2.5 括号()

成对的圆括号()也会出现在命令参数中,也不影响命令的执行。圆括号表示嵌入子命令组,同样被cmd.exe参数处理器进行解释
这个句子注意当前使用的时候,只能够使用完整的一个命令使用当前的符号,不能分开:

image.png
多层同样不影响使用:
image.png

2.6 set设置环境变量

set a=cmd /c whoami  --->  %a%

在这个例子中,通过设置变量,然后去执行变量,但是一定要注意在设置set的变量值和等号之间不能有空格:

image.png

3. 混淆工具 Invoke-DOSfuscation

3.1 工具介绍

在混淆中,由于命令和方法太多,比如管道符| & || 等等,有时候我们不知道如何处理,所以在这里提供了一个新的混淆工具:
https://github.com/danielbohannon/Invoke-DOSfuscation

首先导入该工具的包:
image.png
这里是因为默认禁止加载,修改下,以管理员身份运行ps,然后执行命令:

set-ExecutionPolicy RemoteSigned
选择Y

image.png

再次加载的时候报毒:

image.png

在这里需要关闭你的杀软,然后再加载:

Import-Module .\Invoke-DOSfuscation.psd1
Invoke-DOSfuscation

image.png

在这里的命令非常的多,在这里演示下最简单的用法:
使用 set command 设置命令,然后跟着步骤做就行了,最后生成的命令为:

whoa%ALLUSERSPROFILE:~-5,1%i

image.png

刚刚的命令执行结果:
image.png
当然,在这里还可以使用BACK命令回退上一级
image.png

%comMonpROGRaMFiLes:~     22,      1%%COmmOnPrOgramFILES:~      27,    -1%t%PROgrAmFILES:~    10,     -5%%pUblic:~    -5,   -4%s%tEmP:~    -3,   1%r

同样可以执行:

image.png

3.2 测试添加账号过火绒(失败)

在这里使用添加用户的命令来测试下火绒,因为我这个火绒病毒库没有及时更新,理论上讲不影响我们的操作:

image.png

当使用正常的用户添加命令的时候,会报毒:

image.png

image.png

在这里使用刚刚的工具来试试:

image.png

ne%ALLUSERSPROFILE:~12,-1% use%TEMP:~6,1%%CommonProgramW6432:~-6,1%%ALLUSERSPROFILE:~12,-1%e%SystemRoot:~-1,1%%TEMP:~-13,-12% 123 /%LOCALAPPDATA:~-7,1%d%OS:~3,-6%

image.png

再试试其他的方法:

image.png

还是不行:
image.png

添加用户的我已经单独写了一个文章了,后面再发。

4. 总结

对cmd命令的混淆的目的并不是为了在这里添加用户,是为了辅助其他的操作,比如certutil的命令执行等。本文参考了大量的链接,感觉各位师傅的支持。

5. 参考资料

https://update.venuseye.com.cn/reports/1548417941041/%E4%BB%A5Emotet%E4%B8%BA%E4%BE%8B%E6%B7%B1%E5%85%A5%E5%88%86%E6%9E%90CMD%E5%91%BD%E4%BB%A4%E6%B7%B7%E6%B7%86%E6%8A%80%E6%9C%AF20181212.html

https://blog.youkuaiyun.com/weixin_45745344/article/details/108088887

https://cloud.tencent.com/developer/article/1633973

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值