前言
Immunity CANVAS是Immunity公司的一款商业级漏洞利用和渗透测试工具,此工具并不开源,其中文版介绍如下: “Canvas是ImmunitySec出品的一款安全漏洞检测工具。它包含几百个以上的漏洞利用。对于渗透测试人员来说,Canvas是比较专业的安全漏洞利用工具。Canvas 也常被用于对IDS和IPS的检测能力的测试。Canvas目前已经使用超过700个的漏洞利用,在兼容性设计也比较好,可以使用其它团队研发的漏洞利用工具,例如使用Gleg, Ltd’s VulnDisco 、 the Argeniss Ultimate0day 漏洞利用包。”
一、
工具安装
该工具(文末附工具下载地址)支持在Windwos和Ubuntu上进行安装使用,但是windwos上环境搭建起来非常的麻烦,所以就直接安装在Ubuntu上,可以直接去官网直接下载镜像,关于镜像的选择,个人建议选择Ubuntu18.04
的版本,最新的版本在安装的时候会非常的卡,甚至加载不到安装页面:
Ubuntu镜像下载页面
在安装虚拟机的时候需要选择高级安装的方式进行安装,方便自己自定义操作,安装的流程不在多说:
安装好镜像之后,需要修改一下下载源,这里有一个坑,我在使用阿里源和清华源的时候会显示定位不到安装包,换成中科大的源就没有问题,当换源之后就可以开始安装了。
将工具放置到Ubuntu
中解压之后有下面几个目录:
在ubantu
上进行安装只需要使用我们框出来的两个东西,其中的txt 是环境安装的命令:
先安装以下的环境:
代码语言:javascript复制sudo apt-get updatesudo apt-get -y install python-pipsudo apt-get -y install gtk2.0sudo apt-get -y install python-glade2sudo apt-get -y install python-nacl python-bcryptsudo pip install pycryptosudo pip install pyasn1sudo pip install diskcache==4.1.0sudo pip install asn1toolssudo apt-get install -y python-pycurlsudo apt-get install -y libcanberra-gtk-modulesudo pip install pycurlsudo pip install requestssudo pip install pygame
全部复制然后等待安装完成,安装完成以后直接进入Install
目录中,先给linux_installer.sh
加上权限,然后进行安装,安装完成以后就可以直接进入工具的目录运行
运行的时候按照他的说明是直接运行runcanvas.py
,但是会发现非常的慢,甚至十几分钟都打不开环境,但是可以使用Ctrl C
,不加载对所有的模块。但是事实上还有一个runcanvas.sh
,使用这个启动的话只要话费几秒就可以直接打开服务,并且加载所有的模块:
接着是语言的问题,很同学安装之后的界面显示的语言都是中文的语言,非常的不友好,看着很别扭,那么只需要将Ubuntu
的界面语言改为英文就可以完全解决这个问题:
当完成这些以后,就安装好了这个工具,鉴于安装步骤太多,大家可以下载打包好的工具,直接导入虚拟机就可以使用,虚拟机环境来自【J0o1ey师傅的团队成员】,工具目录在/home/CANVAS/
下,改一下默认界面语言就可以使用了。
二、
界面介绍与工具使用
界面介绍
打开工具的大致布局如下:
Moudles && Search
- Moudles
这个地方是指改工具的攻击模块,也就是他能够做什么,他的攻击模块很多,包括主机发现,漏洞扫描,漏洞利用,他的漏洞模块目录分的很清楚,按照操作系统进行的划分:
比如上面的这个目录结构,使用EXP,然后选择的是Local,接着你可以选择平台,windwos还是Unix,选择完成以后可以选择具体哪种类型的主机,比如这里我选择的Windows7,个人感觉非常的人性化,如果你要是找不到你想要的,还可以在副页进行搜索:
Node tree && EXP Description
- Node tree
这个界面是是可以显示我们当前的回连主机和攻陷的主机,这个大红色的圆圈就是当前的回连主机,绿色就是攻陷成功的主机,所有的攻击得到的会话会返回到这个地方来,我们可以将一台被攻陷的主机作为回连的主机,继续攻击其他主机,你可以右键这个大红圆圈查看一下信息:
包括target host
和网卡信息,IP地址等,knowledge
界面可以添加目标和删除目标
选择攻陷的主机作为回连主机:
这个时候可以观察到上面的 Current Callback
已经改变了:
接着开始攻击其他主机,攻击成功以后如下:
- Word map
它是用来显示你攻击成功的IP地址的大致地理位置的,使用python的库进行操作,按照他的要求我们可以到CANAVSguiwordmap
中查看到他的介绍:
按照他的方式我尝试进行安装,但是没法下载他的IP
数据库,显示404,:
我也尝试百度下载的IP
数据库,但是安装上去后就会报错,估计是版本不合适
- Cmd line
命令行输入,也就是和 CS
中的无图像化界面的操作差不多的东西,可以使用它提供的命令完成我们之前的一些操作,输入help
就可以显示相关信息,比如我们使用help load
:
会告诉你相关的信息,以及他的解释
- EXP Description
显示你选择的EXP的详细信息,这里我选择一下ms17-010
这个EXP,然后就可以查看到相关的信息:
Consle
- Current status
用于显示我们攻击的日志,分为几种颜色,蓝色代表攻击结束,灰色代表攻击中,红色代表攻击失败:
- Canvnas log && Debug log 这里是日输出的位置,实时显示我们的相关日志和报错日志:
顶部信息
- Target host
添加一个攻击目标:
- stop EXP
停止攻击
- config
这个是后续外网搭建的相关配置,之后会写
三、
实战
首先先吹一波他的
ms17-010
,是真的非常好用,在我自己测试的时候,没有发现蓝屏,很稳定,并且使用起来方便,快捷
这里我的环境是ms17010
的漏洞环境,首先我添加一下目标:
扫描一下开放了哪些端口,模拟一下真实环境:
发现开放了445端口:
那么我们就可以尝试使用一下MS17-010
,搜索一下:
选第二个,进行攻击,攻击成功后会返回一个 Beacon
:
返回的Beacon
的一些介绍:
硬盘改为显示当前目录文件。。。
尝试执行命令看看:
查看一下目录信息:
然后我们关闭这个Beacon
,想要再次打开可以点击一下你想要的攻陷主机,然候在modules
中选择 Listen
就可以再次打开,选中主机时会高亮显示:
想要对攻陷的主机进行其他模块攻击也是一样的操作
后记
文章有写的不正确的地方希望各位师傅斧正,因为是自己翻译的和看官方文档,难免会有差错,师傅们也可以查看官方文档进行学习,但是他们的文档确实有点离谱,视频还是SWP
是在太难顶了:
- http://www.immunityinc.com/products/canvas/documentation.html
- http://www.immunityinc.com/downloads/documentation/tutorials/canvas101-part1.pdf
- http://www.immunityinc.com/downloads/documentation/tutorials/canvas101-part2.pdf
在实战中我们常见的几种利用17010
的方式都太过于危险和不稳定,这个工具的exp完美解决这个问题,利用率高,在后面,我们也会在出一份远程服务器登录的教程,希望最后感谢J0师傅打包好的工具!