CMD命令混淆学习(上)

简介: CMD命令混淆学习

1. 背景介绍


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


2. 混淆方法


2.1 双引号法""


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

在这个也可以这样:

最好是成对使用:

2.2 转义符^

字符 ^CMD命令中最常见的转义字符,该字符不影响命令的执行。 who^am^i

在这里不能两个^^放在一起使用,不然会报错:

2.3 大小写混合

WHoAmI

2.4 空格替换 ,;

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

;, net user
,; net user

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

2.5 括号()

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

多层同样不影响使用:

2.6 set设置环境变量

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

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


3. 混淆工具 Invoke-DOSfuscation


3.1 工具介绍

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

https://github.com/danielbohannon/Invoke-DOSfuscation

首先导入该工具的包:

这里是因为默认禁止加载,修改下,以管理员身份运行powershell,然后执行命令:

set-ExecutionPolicy RemoteSigned
选择Y

再次加载的时候报毒:

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

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

在这里的命令非常的多,在这里演示下最简单的用法:

使用set command 设置命令,然后跟着步骤做就行了,最后生成的命令为:

whoa%ALLUSERSPROFILE:~-5,1%i

刚刚的命令执行结果:

相关文章
|
安全 网络安全 PHP
CISP-PTE综合靶机-WinServer2008学习
CISP-PTE综合靶机-WinServer2008学习
1239 0
|
6月前
|
canal 关系型数据库 MySQL
MySQL 自动同步开源工具
本文介绍了几种开源工具用于实现 MySQL 数据库的自动同步。
|
XML 网络协议 安全
firewall防火墙详解
firewall防火墙详解
374 1
|
安全 网络安全 数据安全/隐私保护
Invoke-Obfuscation混淆免杀过360和火绒(上)
Invoke-Obfuscation混淆免杀过360和火绒
374 0
|
安全 Linux iOS开发
「实战」攻防中钓鱼上线MAC终端(上)
「实战」攻防中钓鱼上线MAC终端
517 0
|
安全 Ubuntu 网络协议
【永久开源】vulntarget-c 打靶记录(上)
【永久开源】vulntarget-c 打靶记录
458 0
|
安全 Shell 测试技术
pyinstaller打包exe免杀和逆向浅析(上)
pyinstaller打包exe免杀和逆向浅析
2950 0
|
SQL Shell 网络安全
CISP-PTE综合靶机-WinServer2003学习
CISP-PTE综合靶机-WinServer2003学习
4756 0
|
Windows
Invoke-Obfuscation混淆免杀过360和火绒(下)
Invoke-Obfuscation混淆免杀过360和火绒
440 0
下一篇
oss云网关配置