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. 关于webpack编译scss文件

    css加载器文件通常和extract-text-webpack-plugin一块使用,我们可以在源文件src目录下写scss文件,然后通过webpack编译成css文件到输出目录public,这个目录 ...

  2. jquery更改输入框type为密码框password

    很蛋疼的一个问题: <input type="text" id="e1" value="123" /> 用juqery将文本框变 ...

  3. CentOS 新增swap交换空间

    在centos 6.4 64位系统中安装oracle 10g数据库软件,但由于交换空间过小导致检查不通过: 因此需要增加交换空间的大小. 第一步:在opt目录下新建swap交换文件,并设置其大小为2G ...

  4. Ionic中使用Chart.js进行图表展示以及在iOS/Android中的性能差异

    Angular Chart 简介 在之前的文章中介绍了使用 Ionic 开发跨平台(iOS & Android)应用中遇到的一些问题的解决方案. 在更新0.1.3版本的过程中遇到了需要使用图表 ...

  5. virtual memory exhausted: Cannot allocate memory

    ~$free total used free shared buffers cached Mem: 1017832 784328 233504 356 12844 14692 -/+ buffers/ ...

  6. Java中使用Jedis操作Redis(转载)

    整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...

  7. excel出现错误1327 无效的驱动器

    错误描述:错误1327 无效的驱动器 错误程序:excel 2003   这是office安装源的位置被移动造 成的的,大部分时候安装时可能使用了移动硬盘或者在安装后调整了盘符就会造成这个问题.官方的 ...

  8. bzoj2091【Poi2010】The Minima Game

    直接dp就好了 每个人肯定会去选最大的,用dp[i]表示选了后i个点时先手-后手的最大值(因为从后往前扫才好转移啊 QwQ~) dp[i]=max(c[j]-dp[j-1]),(j<=i) 直接 ...

  9. Leetcode 94. Binary Tree Inorder Traversal

    Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tre ...

  10. Finite State Machine 是什么?

    状态机(Finite State Machine):状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动       作.完成特定操作的控制中心. 类 ...