Immunity Canvas-命令执行漏洞复现

admin 2022年3月25日23:56:20评论48 views字数 736阅读2分27秒阅读模式

前几天drivertom大佬披露了一个存在于Immunity Canvas7.26 d2sec_unssh模块中的一个漏洞,成功利用该漏洞可导致命令执行,即被控端反制。


Immunity Canvas-命令执行漏洞复现


d2sec_unssh模块是用来爆破失陷主机中的 known_hosts 文件的,有漏洞的代码存在于

Canvas/3rdparty/D2SEC/exploits/d2sec_unssh/d2sec_unssh.py的第 454 行。


第 454 行中的 `os.popen` 方法通过格式化输出的方式传递了两个变量,而其中的 "i" 参数是通过循环self.ips 变量进行赋值的。


Immunity Canvas-命令执行漏洞复现


self.ips变量的值是通过make_list_ip方法中的一系列方法获取的,这些方法都是通过相关命令或文件获取跟该主机相关的IP地址,并放置在self.ips中。


Immunity Canvas-命令执行漏洞复现


比如etc_hosts方法是通过/etc/hosts获取的、list_who方法是使用`w`命令获取的、list_last使用`last`等等。


Immunity Canvas-命令执行漏洞复现


查看一些相关代码可以看到,从获取数据到调用`ssh-keygen`都没对获取的数据进行过滤处理,我们可在以上相关的一些获取数据的地方插入命令,如/etc/hosts中:


Immunity Canvas-命令执行漏洞复现


使用Canvas中的BuildCallbackTrojan模块生成一个木马,在靶机中运行后等待上线。


Immunity Canvas-命令执行漏洞复现


靶机上线后双击d2sec_unssh模块,填写相关参数后运行,调试可以看到ips变量包含有我们设置的代码。


Immunity Canvas-命令执行漏洞复现


单步执行后可以看到弹出了计算器,命令成功被执行。


Immunity Canvas-命令执行漏洞复现


虽然能命令执行,但需要控制端运行d2sec_unssh这个"冷门"模块,也挺鸡肋的了; 漏洞的逻辑比较简单,能让我这种小白用来学习,也足够了。


Immunity Canvas-命令执行漏洞复现


原文始发于微信公众号(云黑客):Immunity Canvas-命令执行漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月25日23:56:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Immunity Canvas-命令执行漏洞复现http://cn-sec.com/archives/841482.html

发表评论

匿名网友 填写信息