关于蚁剑反制深入的分析和利用的一点小思路
Posted 白鹭鹭鹭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于蚁剑反制深入的分析和利用的一点小思路相关的知识,希望对你有一定的参考价值。
前言
前几天我在公众号看到了一篇名为《端内钓鱼,反制蚁剑》的文章,我觉得这个思路很好,之后决定深入研究一下,通过两天的研究,现在已经写出了比较真实的反制马。在研究的过程中把一些经验分享出来,希望可以给大家解决一下问题。
一、反制思路
首先我们知道蚁剑虚拟终端遇到http/https协议头时会发生转换,这个链接打开的页面是以蚁剑内部的浏览器打开的,蚁剑在实现上用了node.js,之后通过打开的页面嵌入js来直接执行命令
这里松鼠A师傅的文章说的很明白了,https://mp.weixin.qq.com/s/WNv9nPWvKudwimtYTd1zDQ
文章里面初步认证的问题已经解决了,但是依旧存在很多问题没有解决。
1.功能模块实现太少,达不到钓鱼效果。
2.返回连接那里执行命令返回一次内容后用户名变化。
3.执行命令的exec对windows不友好。
4.如果为了追求真实性,钓鱼的html过大会导致JS命令执行失败。
5.蚁剑读取外部网站会产生缓存,如果钓鱼的html过大需要清理Appdata的缓存在执行才可以。
所以我这里做了优化和改进,把思路转换
1.jb小子日站爆目录
2.爆到一个shell.php
3.通过弱口令蚁剑连接成功
3.读取文件和目录都没有问题,常见的命令执行没有问题,但是上传下载显示连通性出现问题
4.执行命令突然报错,后面出现一个欺骗性很高的域名和伪装度极高的网站
5.急不可耐的点击进去,渲染恶意js脚本
6.明线:jb小子开始查看文档寻找解决方法。暗线:C2上线查户口
二、分析结论
我经过分析之后得出结论
蚁剑分为连通密钥和功能密钥两种密钥,只用连通密钥而不去管功能密钥,导致后面的路径丢失,自然而且出现“2.返回连接那里执行命令返回一次内容后用户名变化”,而且虽然连通密钥前半部分就可通过认证,但如果要实现完整功能(比如查看内容)其实还是不够的。
上面三张图,首先第一张是蚁剑在执行命令的源码,第二张是执行命令请求包,第三张是解码后的内容,
蚁剑执行命令的结构是
cd /d "路径"&命令&echo 功能密钥首&cd&echo 功能密钥尾。而这种请求的特征也有两种,这里大家可以自行去分析。
PS建议:另外蚁剑是通过F S 等这样的字母去生成大钥匙的
三、利用效果
如果明白了,上面说的连通密钥和功能密钥,去分析流量找特征可以实现基本上全部功能。效果如下
以上是关于关于蚁剑反制深入的分析和利用的一点小思路的主要内容,如果未能解决你的问题,请参考以下文章