本文主要抛砖引玉,提供思路。
前言
在之前做的项目中,网络环境比较严格,只能访问个别信任的网站(如:百度首页、今日头条、百度新闻等),像百度贴吧、简书、cnblog等都禁止访问。这时我们上线就成了一个问题。
思路
画了一张简约图,根据图更易懂。
控制端
被控端
我们利用发表微头条功能是因为微头条不需要审核且无需验证码
判断内容长度是因为留言长度有限且微头条长度最长是2000字,所以我们需要将内容放到图片中(实测只能是gif格式,其它格式会被今日头条删除多余字符)
实战
因为都是http发包操作,控制端用什么语言都可以,被控端可用C/VC/C#等。
1.首先新建一条微头条,内容和标题随便填。如下图,我们要取最新一条只需取a后最大值即可
2.我们在控制端发送命令,这里以执行命令为例
以}为分隔符+要执行的命令
byte[] bytes = Encoding.Default.GetBytes("cmd}" + cmd);
发送whoami
显示在留言中是加密后的
当客户端监测到指令后会进行解密并运行相对应的功能,然后把结果回复到指令留言下,这里测试我把rshort和rlong写到了加密外面
我们控制端对其解密(AES dec -> base64 dec)即可获得结果
对于tasklist等这种返回结果较长的,留言回复长度肯定是超长的,这时我们可以把内容放到gif图片里并上传。
这里抓包上传图片是直接返回图片地址的,我们将图片地址加密回复到留言中即可。图片中的内容如下:
图片可以找一些目标logo等容易迷惑的图片,将内容插到最后。控制端取出内容并解密即可。这里为了调试我将被控端的内容显示出来:
访问http://p1.pstatp.com/origin/24328000105b905a37fe7就是一张正常的图片
但内容中是包含我们想要的结果
解密结果如下:
文件上传、下载、内存运行、mimikatz等功能也是同样的道理,利用信任的大网站做C2的好处是比较隐蔽,可以轻松躲过一些监控及安全设备,在一些比较严格的网络中能起到不错的效果。
这里只提供思路,不提供工具。
文由微信公众号:零队