Cain & Abel 是由Oxid.it开发的一个针对Microsoft操作系统的免费口令恢复工具。号称穷人使用的L0phtcrack。它的功能十分强大,可以网络嗅探,网络欺骗,破解加密口令、解码被打乱的口令、显示口令框、显示缓存口令和分析路由协议,甚至还可以监听内网中他人使用VOIP拨打电话。

CAIN 下有两个程序,一个是 CAIN 主程序,一个是 Abel服务程序。Abel 服务程序需要手 动 进 行 安 装 。 正 确 安 装 CAIN 后 从 CAIN 目 录 下 拷 贝 Abel.exe 和 Abel.dll 到 C:/Windows/System32 目录下,运行 Abel.exe 安装,并在服务里设置为自动启动。

Abel 是后台服务程序,一般不会用到,我们重点来介绍Cain的使用。

Cain安装:首先我们需要安装Winpcap驱动,

一路next下去就可以安装成功了

然后我们就可以使用Cain了,让我们打开传说中的Cain,界面十分简单明了,

但是它的功能可就不简单了。

Cain使用:

一、读取缓存密码:切换到“受保护的缓存口令”标签,点上面的那个加号

缓存在IE里的密码全都显示出来了。

二、查看网络状况

切换到“网络” 标签,可以清楚的看到当前网络的结构,我还看到内网其他的机器的共享目录,用户和服务,通过上图,我们清楚的看到Smm-DB1开启了IPC$默认共享连接和其他盘隐藏共享。

三、ARP欺骗与嗅探

ARP欺骗的原理是操纵两台主机的ARP缓存表,以改变它们之间的正常通信方向,这种通信注入的结果就是ARP欺骗攻击。ARP欺骗和嗅探是Cain我们用的最多的功能了,切换到“嗅探”标签

在这里可以清晰的看到内网中各个机器的IP和MAC地址。

我们首先要对Cain进行配置,先点最单击最上面的“配置”

在“嗅探器”中选择要嗅探的网卡,在“ARP(Arp Poison Routing)”中可以伪造IP地址和MAC地址进行欺骗,避免被网管发现。

在“过滤与端口”中可以设置过滤器,

可以根据自己的需要选择过滤的端口,如嗅探远程桌面密码的话,就钩选RDP 3389端口。

小提示:比如我要嗅探上面的61.132.223.10机器,第二个网卡显示我的ip地址为61.132.223.26,和目标机器是同一内网的,就使用第二个的网卡欺骗。

单击网卡的那个标志开始嗅探,旁边的放射性标志则是ARP欺骗。

嗅探了N久之后,点击下面的 “截获密码”,嗅探所得到的密码会按分类呈现在大家面前,包括http、ftp、VNC、SMTP、ICQ等密码。如果目标主机使用voip电话的话,还可以获得他使用voip电话的录音(恐怖吧),如图

下面我们来进行Arp欺骗,点击下面的“ARP”标签,

在右边的空白处单击,然后点上面的“加号”,出现“新建ARP欺骗”对话框,在左边选网关,右边选择被欺骗的IP。

这里要注意的是,你的机器性能比网关差的话,会引起被欺骗机器变慢。

1.DNS欺骗:

在“DNS欺骗”中填入请求的DNS名称和响应包的IP地址,

如图,当目标地址访问www.hao123.com的时候就自动跳转到Www.google.cn的网站上面,其中的“#resp. 欺骗”就是目标主机被欺骗的次数。

这样对于目标机器进行挂马也不失为一种绝妙的方法。点上面的放射性标志开始Arp欺骗,

小提示:网关IP可以在命令行下输入ipconfig获得

如图,网关IP为61.132.223.4

2.远程桌面欺骗:

Cain能够实行中间人攻击(Man-In-The-Middle)远程计算机的终端服务协议(Remote Desktop Protocol RDP)进行截获和解密工作。也就是截获目标主机的3389登陆密码。

在“ARP-RDP”里已经得到了3个数据包。右击右边得到的数据包,选择“查看”,

我的运气比较好,获得了目标主机登陆3389的用户和密码,如图,用户名为“administrator”密码为“asdf1234”。

小技巧:在肉鸡上对密码进行嗅探的时候,可以按Alt +Delete对界面进行隐藏,按Alt + Page Down隐藏都任务栏,按Alt +Page up呼出界面。这个技巧在内网渗透的时候非常有用!

四、密码的破解

Cain还具有强大的破解功能,可以破解md5,md4,pwl,mssql等加密的密文,我这里示范如何使用Cain破解md5密文。

切换到“破解器”标签,在右边空白处单击,按上面的加号,输入我们要解密的32位密文,

右击要破解的密文,选择“暴力破解”,选择口令长度和密码范围,我这儿选择的是5到6位纯数字密码。

按“开始”进行破解

一会儿工夫,破解出的密码就出现在我们面前了,哈哈,密码是123456。除了暴力破解以外,你还可以使用通过字典破解和通过rainbow表进行破解。

其他还有一些常用密码的读取可以参照下图

使用十分简单,大家自己研究下就行了,密文计算器的效果如图:

可以对密文进行md2,md5,lm,nt等方式进行加密。

五、追踪路由

切换到“追踪路由”标签,在目标主机中填入目标主机的ip或者域名,我这填www.hackerxfiles.net

选择协议和端口,点“开始”,一杯咖啡过后,就可以清晰的看到访问黑X BBS所经过的所有服务器IP、访问所需的时间和主机名。

另外,Cain还具有“LSA分析”和“嗅探无线网络”等功能,这些功能我们不经常用到,感兴趣的朋友可以自行研究。最新版本cain4.92已经加入vista支持,但是“读取读取缓存密码”功能不是很稳定,如果要读取读取缓存密码的话请使用以前的版本。最后要说一句:Cain的确是一款绝佳的黑界利器,威力无穷,请各位小黑们谨慎使用。

cain使用教程的更多相关文章

  1. 参考sectools,每个人至少查找5种安全工具、库等信息并深入研究至少两种并写出使用教程

    1.Nessus Nessus是免费网络漏洞扫描器,它可以运行于几乎所有的UNIX平台之上.它不仅能永久升级,还免费提供多达11000种插件(但需要注册并接受EULA-acceptance--终端用户 ...

  2. 完全教程 Aircrack-ng破解WEP、WPA-PSK加密利器

    其 实关于无线基础知识的内容还是挺多的,但是由于本书侧重于BT4自身工具使用的讲解,若是再仔细讲述这些外围的知识,这就好比讲述DNS工具时还要把 DNS服务器的类型.工作原理及配置讲述一遍一样,哈哈, ...

  3. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  4. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  5. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  6. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  7. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  8. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  9. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

随机推荐

  1. web端功能测试总结(二)

    一.输入框测试 在web测试中,我们经常遇到这种输入框的测试,输入框测试看似简单,实际上包含了很多的测试基本的方法,思考逻辑,下面就是我总结出来的一些注意点: 1)验证输入输出信息的一致性 2)输入框 ...

  2. java并发编程学习:如何等待多个线程执行完成后再继续后续处理(synchronized、join、FutureTask、CyclicBarrier)

    多线程应用中,经常会遇到这种场景:后面的处理,依赖前面的N个线程的处理结果,必须等前面的线程执行完毕后,后面的代码才允许执行. 在我不知道CyclicBarrier之前,最容易想到的就是放置一个公用的 ...

  3. Linux任务调度进程crontab的使用方法和注意事项

    参考文章:Linux任务调度进程crond命令的使用方法和注意事项 一.crond简介 概念 crond的概念和crontab是不可分割的.crontab是一个命令,常见于Unix和类Unix的操作系 ...

  4. BZOJ 1861: [Zjoi2006]Book 书架

    1861: [Zjoi2006]Book 书架 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 1290  Solved: 740[Submit][Stat ...

  5. Processing基础之绘画

    图形 //在(x, y)绘制点 point(x, y); //(x1, y1)到(x2, y2)的一条线 line(x1, y1, x2, y2); rect(x, y, weight, height ...

  6. Werewolf流程分析

    werewolf大致流程 首先是房主创建房间,创建成功以后房主开启web socket连接. 其他成员加入房间,加入房间后新成员和老成员的游戏玩家列表都会更新,然后新成员也要开启web socket连 ...

  7. ionic ios 友盟多渠道/自动签名/加固之腾讯云。乐固

    之前写了一篇文章主要是介绍使用gradle进行多渠道分发处理的文章--链接:http://www.cnblogs.com/happen-/p/6029387.html 最近在做app上线的处理,发现某 ...

  8. jQuery实现的表格展开伸缩效果实例

    <table> <thead> <tr> <th>姓名</th> <th>性别</th> <th>暂住地 ...

  9. ASP.NET中使用JqGrid完整实现

    文章提纲 介绍 & 使用场景 JqGrid的一些说明 JqGrid和ASP.NET整合详细步骤 前置准备 框架搭建 数据填充 数据增/删/改 其他 介绍&使用场景 JqGrid不是一个 ...

  10. thinkphp 导出exl功能

    /** * 导出数据为excel表格 *@param $data 一个二维数组,结构如同从数据库查出来的数组 *@param $title excel的第一行标题,一个数组,如果为空则没有标题 *@p ...