CAIN使用教程

96
Safesonic
0.2 2016.09.14 18:47* 字数 4975

CAIN是一个WINDOWS平台上的破解各种密码,嗅探各种数据信息,实现各种中间人攻

击的软件。

首先下载cain软件

CAIN下有两个程序,一个是CAIN主程序,一个是Abel服务程序。Abel服务程序需要手

动进行安装。正确安装CAIN后从CAIN目录下拷贝Abel.exe和Abel.dll到

C:\Windows\System32目录下,运行Abel.exe安装,并在服务里设置为自动启动。

运行CAIN,主界面如图所示

我们先来看看CAIN的几个大类的使用,大类页面如下图

一.解密器:

解密器的作用主要是读取缓存中保存的各种密码。你可以点击左边的各选项然后点击上面的

你就可以在右边的窗口看到保存在缓存中的密码。我的电脑中我都看到了我MSN的

账号和密码,曾经登陆路由的账号和密码,邮箱的密码。

举例:点击左边的无线网络口令,再点击上面的

在右边的窗口你可以看到你曾经正确

使用过的无线的密码都保存在这里,如下图所示。大家可以清楚的看到SSID和后面的密码。

二.网络

这个网络主要用来鉴别各域控制器,SQLserver,打印服务,远程拨入,终端服务等。网络

的左侧用来浏览网络结构和连接远程主机。连接到主机就可列出用户名,工作者,服务,共

享资源等。如下图,我们清楚的看到SMM-DB1开启了IPC$默认共享连接和文件夹共享。

同时也可以搜索到计算机的用户组和组的用户名,虽然NT版本以后不能建立空连接了,但

是还是可以通过提取SID来获得Admin的账号,因为管理员的SID总是500。如下图所示

三.嗅探器(包含局域网的嗅探和ARP欺骗)

嗅探器是CAIN的重点,很多人用CAIN主要就是用这个嗅探器和ARP欺骗。CAIN中的嗅

探器,主要嗅探局域网内的有用信息,比如各类密码等。CAIN中的ARP的欺骗,原理是

操纵两台主机的ARP缓存表,以改变它们之间的正常通信方向,这种通信注入的结果就是

ARP欺骗攻击,利用ARP欺骗可以获得明文的信息。

1.程序配置

首先点击菜单的配置按钮

出现下图所示的配置菜单

首先选择用于嗅探的以太网卡(可以是有线网卡也可以是无线网卡),本文中将选择第二个

无线网卡。下面的选项可以不选。

然后转到ARP欺骗选项卡。

欺骗选项中可以用真实的IP地址也可以使用伪装IP地址和的MAC。

但是使用伪装IP和MAC有几个前提条件:

1. 攻击者的机器只能连接在HUB中,不能连接在交换机中

2. 设置的IP地址需是子网内的合法的而且是未使用的IP地址

预欺骗ARP缓存勾选,下面默认每30秒发送一次ARP欺骗包。XP系统每2分钟更新ARP

缓存,因此设置太大就不能达到欺骗的效果,设置太小会产生太多的ARP流量,如下图所

示。

接下来看看其他的几张选项卡,如下图

这两张选项卡中HTTP区域主要定义了HTTP的字段,用来检查和过滤HTTP包中包含的敏

感字符,比如用户名密码等。过滤与端口选项是CAIN定义的过滤程序和协议的各种端口,

你可以关闭你不需要过滤的程序协议,比如POP3、ICQ、FTPS、RDP等。另外两张选项卡

就不用看了不需要进行什么设置。

2.MAC地址扫描

选择功能栏的嗅探器,然后选择下面的主机

扫描之前需要先激活嗅探器,点击上面的

,然后在下面空白处点右键选择扫描MAC

地址,如右图所示

1. 扫描整个子网

2. 规定扫描的范围

3. 扫描哪些网卡工作在混杂模式下(B31)

注:处于混杂模式下网卡接口能接受所有通过它的

数据流,不管是什么格式,什么地址的。它会接收

并响应 网络上任何的数据。一般网卡接口默认关闭

混杂模式。扫描混杂模式的网卡主要是检测网络中

的嗅探器。处于混杂模式的网卡在B31那一栏就会

有*号。

通过扫描我们将得到如下MAC(注:本机是扫不到的)

从上图可以看到192.168.2.1是个netgear的网关地址。

MAC地址扫描是基于ARP请求包因此可快速定位MAC和IP的对应关系,OUI指纹中包

含了各大MAC厂商的信息,因此你可看到Netgear的路由器和Cisco-Linksys的网卡。

扫描到MAC以后可以点右键来解析主机名。

3.ARP欺骗

点击下面的APR

出现下图所示

点击左侧栏最上面的APR后就出现下图所示,这时在右边空白处点一下鼠标,上面的

就从灰色变成了深蓝色。点一下这个加号,出现下图所示

在这个左侧选择被欺骗的主机,在右侧选择一台或多台PC,这时候将捕获所有被欺骗主机

和其他多台主机之间的通信数据。也可以在右侧选择网关地址,则左侧被欺骗主机与广域网

的通信将被捕获。例中左侧选择被欺骗主机192.168.2.2右侧选择网关地址192.168.2.1点确

定。这时将出现下图所示

配置好APR欺骗的主机后我们可以进行ARP欺骗了,看左侧栏我们可以进行各种ARP欺骗。a. APR-Cert 这个是数字证书收集器,配合APR-HTTPS使用。

由HTTPS嗅探过滤自动使用,也可手动创建一个伪造的证书。伪造的证书保存在Certs下。当前APR-HTTPS获得证书列表在Cert.lst文件中。也可 手动修改,定义APR-HTTPS使用指定的伪证书注入到“被ARP欺骗主机”和指定的HTTPS服务器的连接中。b. APR-DNS 这是DNS欺骗,点击APR-DNS欺骗,再点击上面的

出现如下图所示的对话框在DNS名称请求中输入被欺骗主机要访问的网址。在回应包中输入用于欺骗的网址。图中输入百度的网址,下面输入华东理工大学的网址(网址为举例说明,并无任何目的)。这时被欺骗的主机如果访问百度网站的话会出来华东理工的主页。一些盗取银行账号的垃圾就是自己做一个和银行主页一样的钓鱼网站,然后在下面的回应包中输入钓鱼网站的网址。当对方访问银行主页时将会自动转到你的钓鱼网站上。(银行钓鱼网站,WEB认证页面钓鱼)等等

举例:设置好之后点确定,然后再点击上面菜单图标

开始ARP欺骗。这时候被欺骗的

主机192.168.2.2如果打开www.baidu.com的话进入的不是百度的首页而是202.120.111.62

的华东理工大学的主页。如下图,欺骗成功。如果你做一个WEB认证的钓鱼网站,当对方

登陆某WEB认证网站的时候发送的WEB认证信息将转到你的钓鱼网站上。这个问题就大

了,因此建议各位朋友加强安全意识,提高安全措施。

c. APR-SSH-1欺骗

SSH是远程登陆协议,ARP可以利用MITM中间人攻击捕获并解密SSH会话。具体我也没

用过。

d. APR-HTTPS-1欺骗

APR-HTTPS可以捕获和解密主机和服务器间的HTTPS通信,与APR-Cret证书收集器配合

使用,注入伪造的数字证书到SSL会话中,在被欺骗主机到达真正的服务器之前解密和加

密数据。这种HTTPS欺骗会利用伪造的数字证书,因此对方会看到这个弹出的未经认证的

数字证书请求认证。一般人不会看这个数字认证的(各位朋友你们仔细看过几次这种数字认

证证书?)。

主要过程:

1) 开启HTTPS过滤,

2) 激活APR欺骗,

3) “被欺骗主机”开启一个HTTPS会话,

4) 来自“被欺骗主机”的数据包被APR注入,并被CAIN捕获,

5) APR-HTTPS从APR-Cret证书收集器中搜索一个相近的伪证书,并是使用这个伪证书。

6) 捕获的数据包修改了MAC、IP、TCP源端口,然后使用Winpcap重新发送到局域网,

与客户端建立连接

7) 创建HTTPS服务器连接,(“被欺骗主机”要连接的真实的服务器)

8) 使用伪证书与真实服务器连接,并使用OpenSSL库管理加密的通信。

9) 包由客户端发送出去,被修改后再回到“被欺骗主机”

10) 来自HTTPS服务器的数据被加密保存到会话文件中,重新加密并经客户端连接发送到

“被欺骗主机”

APR-HTTPS具体我也不太懂,上面这段过程文字来自SeeYou翻译文。

以下引用longas原话:

其实基于证书的攻击基本原理是这样的:合法客户端向网站发出SSL 请求时,黑客截

获了这个请求,将其改成自己发出的,然后发给网站,网站收到后,会与黑客的计算机协商

SSL加密级别,此时两者之间的加密是正常的,而黑客在与网站交互的同时,记录下对方的

证书类型及算法,并使用同样的算法伪造了证书,将这一伪造证书发给了客户端,此时,客

户端以为自己在和网站交互,实际上是在和黑客的机器交互。原本加密的信息由于采用的是

黑客的证书变成了明文,这样密码就截获了。

(注:本机打开KIS以后会导致被欺骗客户机无法正常上网,因此要使用APR欺骗必须先

关闭本机的KIS)

举例如下:

首先我们开启HTTPS过滤,启动APR欺骗。局域网内192.168.2.2作为被欺骗的对象,我

们坚持客户端。

客户端打开一个Gmail的https会话https://mail.google.com/mail,由于会话中的证书是被

CAIN伪造的证书,因此会出现如下提示,见下图

我们浏览网页的时候很多人是不看证书的详细内容,很自然的点击是。账号信息的泄露就从

这里开始了。

点击是以后就确认了这个伪证书,这时会出现正常的Gmail的登陆页面,如下图

同时我们也会在CAIN中的APR下的APR-HTTPS下看到会话被捕获,在APR-Cert下看到

有伪造的证书。如下图:

当被欺骗的客户端192.168.2.2在登陆页面中输入Gmail的账号和密码登陆以后我们就会在

password的https选项下看到被捕获的明文的账号和密码信息了。见下图

HTTPS的加密的数据就这样在CAIN的APR欺骗中被明文获取。

因此希望各位朋友提高网络安全意识,防止APR欺骗建议安装365的APR防火墙。

APR-RDP

RPD是远程桌面协议,用这个可以捕获被欺骗者连接远程桌面的密码,同理也是利用MITM

中间人攻击。只要对方登陆了远程桌面就能得到这个文件,如下图所示

点开第三个选择查看,将看到下图所示,从中可以找到用户名和密码

下面的APR-FTPS、APR-POP3、APR-IMAPS、APR-LDAPS等由于我没去实践和验证就先

不写了,大体意思差不多就是用ARP欺骗实现中间人攻击,从而获得一些信息。

接下来看看选项中的口令

,点口令进入

下面页面

如右图所示,CAIN可以嗅探到图示那些在被嗅探的主机上的

口令。包括POP3、SQL、VNC、FTP等。

举例点选项卡左侧HTTP,我们将从右侧看到很多HTTP通信的记录。如下图红色部分所示,

我在HTTP登陆的邮箱和登陆论坛的账号和密码都被记录了。

再下来看看VoIP里保存的是VoIP通话的内容。如果对方使用了VoIP通话,那些录音都被

保存在这里。

四.破解器

CAIN中的破解器支持很多通用的HASH算法的破解及加密方法,还有暴力破解和字典破解。

破解菜单如图所示

还有左侧的破解器,内容比较

多有MD5破解SHA1破解等很多我也不知道怎么用。

我就讲我们无线常用到的WEP破解和WPA破解。

首先点右侧的菜单中如右图的802.11 Captures无线捕获选项,再

点击上面的

号,添加在BT3下截获到的WEP的CAP包或

者WPA的握手信息包。然后右键点击添加的CAP包文件,选择

分析出现下图所示

从上图可以看出ESSID为ZiJing的AP是一个WPA加密并有有一个WPA握手包。BSSID

为001478E52A54是一个WEP加密并有一个100381的ivs包可用来破解。首先我们选择

001478E52A54的AP,下面出现KoreK攻击和PTW攻击

。这

个攻击需要数据包达到250000。但是用aircrack来进行破解10000的包就能出密码了。

因此其破解WEP的功能并无实际意义。

接下来我们看ZiJing的WPA加密的AP,我们选择这个AP,下面出现发送WPA Hashes到

破解器,我们点一下这个按钮

。我们看左侧的WPA-PSK Auth已

经有一个添加了如图所示

我们选择右边窗口刚刚添加的

ESSID为ZiJing的AP,点右键出现如下菜单

我们可根据实际情况选择字典破解

和暴力破解。

选择字典破解,出现下图所示选项,我们添加字典然后选择开始,就开始字典破解

我们也可选择暴力破解,在预定义栏我们可选择数字、字母、字符串、特殊字符等选项。后

面还可以设定密码的长度。WPA密码的长度是8-63位。设好以后点击下面的开始可以破解

WPA密码了。

注:CAIN的WEP和WPA破解速度非常慢,远不如aircrack-ng。其破解的实际意义并不

大。

另外在CAIN目录下Winrtgen文件夹里有个

双击打开,是一个

Rainbow Tables Generator,点击下面的

。出现对话框如下图所示

大家看上图,这个软件可以构建很多的Table也包括WPA-PSK的。后面选择密码长度,下

面选择字母,数字,字符等。右下角填入ESSID。点击OK开始产生相应的WPA Table。然

后用于WPA破解。

注:生成Table速度很慢,而且生产容量太大,实际应用情况不好。

五.Traceroute

点击Traceroute出现下图所示。可以看出到达目标主机所经过的节点的IP地址,所用时间

等信息。

CCDU好像是思科路由器的什么东西,我也没用过。

六.无线网络

这个是用于扫描无线网络并对无线路由器进行WEP破解的,和获得WPA握手包的。打开

无线网络以后如下图所示。

大家可以看到WPA-PSK验证,获得了验证包后可以直接发送到破解器进行密码破解,虾米

还有WEP注入支持无客户端的破解。但是这些需要AirPcap网卡的支持,这种网卡国内比

较少,国外的价格也在1500RMB左右。

附 录

HTTPS中双向认证 SSL 协议的具体过程:

① 浏览器发送一个连接请求给安全服务器。

② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。

③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,

就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可

以信赖的,询问客户是否需要继续。

④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是

否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。

⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过

验证,拒绝连接;如果通过验证,服务器获得用户的公钥。

⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。

⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公

钥加过密后通知浏览器。

⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服

务器。

⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。

⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。

渗透测试