1、直接使用 CAIN 工具嗅探,然后分析嗅探到的数据包,分析方法见底下。
2、先看那机器的终端是谁连过去的,然后架 rdp proxy,然后 arp 欺骗,最后从 rdp proxy 的嗅探记录里,直接拿到登陆明文。
3、钓鱼攻击,使用 Arp 劫持,欺骗本机为目标机器,然后在本机安装本地密码记录软件,例如:WinlogonHack、WinPswLogger 等工具(注意:这些工具都要修改,改成即使是错误密码也要记录,不然你什么都记录不到!),然后坐等管理员连接,得到密码后恢复 Arp 劫持。
4、Arp 劫持 + 中间人转发数据的嗅探的方法,详细描述见底下。
从 CAIN 嗅探到的 RDP 数据包中,如何得到账号、密码的方法:
你认真看看 CAIN 的数据包,如果是在远程桌面连接工具(mstsc.exe)本地保存密码登录的,那么就直接有明文。
如果不是本地保存登录的,是连接后才输入账号密码的,那么嗅探到的 RDP 数据包里面就有一段是专门解密的,每行一个字母,你认真找找,格式大概是这样的:
…… 省略 ……
Key pressed client-side: 0x2c - 'z'
…… 省略 ……
Key pressed client-side: 0x23 - 'h'
…… 省略 ……
Key pressed client-side: 0x12 - 'a'
…… 省略 ……
Key released client-side: 0x31 - 'n'
…… 省略 ……
Key pressed client-side: 0x22 - 'g'
…… 省略 ……
Key pressed client-side: 0x20 - 'h'
…… 省略 ……
Key pressed client-side: 0x17 - 'a'
…… 省略 ……
Key pressed client-side: 0x31 - 'o'
…… 省略 ……
//字符串为:zhanghao
搜索 Key pressed、Key released 可以得到,是一个个的字母的列出来的,这里就是用户连接成功后所输入的按键信息,组合一下,就可以得出账号密码。
这里要注意一下特殊字符,例如回车、空格、退格等,还有左、右方向键,这是切换输入框光标位置用的,不注意的话,出来的密码顺序是错误的。
同时告诉大家一个防止嗅探、密码记录的小技巧,你可以先输后半段,然后使用鼠标将输入框的光标切换到最前边(为什么不能用方向键切换光标?因为是可以从数据包中得到方向键按键记录的),然后再输入前半段,这样攻击者最终组合出来的密码顺序是错误的。
这招可以对付所有按键记录类软件,当然,你可以再发挥下,使用更复杂的输入顺序。(参考这个帖子: Cain ARP嗅探3389密码问题解决杂谈 )
解开 rdp 数据包工具:
有个工具叫 RDP Parser,可以解开嗅探或截取到的 RDP 数据包文件,然后提取一些按键信息,用来最终拼接出用户名和密码。(工具在这里: cain rdp parser)
Arp 劫持 + 中间人转发数据的嗅探的方法:
这个方法很早了,大概在2010年08月23日左右,有人在他博客发出来
具体就不写了,内容大致一样,如下所述。
历时半个月的空闲时间,一个与 CAIN APR RDP 功能相拟的嗅探器工具终于在这个周未完成。
值得一提是CAIN要在双向欺骗下才能嗅到RDP,如果服务端绑定网送,那么也只能嗅到连接,而不能嗅到数据,更别提密码等之类。
hijackport + rdpproxy 可以做到单向欺骗获取RDP数据包并解密还原。
关于 sniffer rdp,比 cain arp rdp 更强大的组合 hijackport + rdpproxy,获取密码方法。
1、钓鱼 (有点二)
2、单向模式 sniffer rdp 比起 cain arp rdp 更强 (cain arp rdp 要取得密码等信息必需双向模式. hijackport + rdpproxy 可以突破对方在绑定的情况下获得密码或对方所输入的所有键盘消息)
其他另类 Arp 方法:
这个另类,是思路另类一点,走的路不同.
这个直播比1还要早.原理更简单.
原理:
A.中间人
B.目标
C.客户端
注:
因为环境有点点特殊.在这说明一下.过程中..是取不取对方的MAC.只能取得网关MAC.
但也没有关系.为了测试环境达不达要求. 向网关发送了一条ARP.B.目标挂掉.整个恢复过程20分钟
由此判断网关没有绑定.是可以ARP.但一条ARP可以导至目标挂掉20分钟.这也说明网关的ARP表刷新的速度是每20分种一次.如何在没有目标MAC就意味着.通过中间人去进行数据转发.所以做了一个很大胆的测试.
1.每隔20分钟发送一次ARP欺骗.
2.模拟ICMP使其能ping通目标.
3.模拟TCP三次握手.伪造http反回一个黑页假象.
4.C --> B.3389 转为 C --> A.3389 记录密码
5.如果成功取得密码.停止端口转向.停止模拟.停止arp发送.等待网关刷新arp缓存.这时双方都不能登录.直到网关刷新.在这个漫长的等待中.ping 目标IP -T 抢在管理上线.
6.接下来就是拼人品.
相关工具介绍:
1、rdpproxy:Rdp Proxy 一个转发rdp协议数据包的软件,用于转发3389的数据,然后截取,你懂的……
2、hijackport:Hijack Port 劫持端口用的,一般和 Rdp Proxy 配套使用。
3、Cain:著名的综合黑客工具,大家都懂,就不解释了……
4、RDP Parser:可以解开嗅探或截取到的 RDP 数据包文件,然后提取一些按键信息,用来最终拼接出用户名和密码。
演示细节:
自己:
IP: 192.168.0.189 --> Mac:00:23:CD:95:17:A1 --> Windows XP (经典主题) 或 Windows 2003
189 在这里是充当一个机房网关的角色,备注中有详细说明。
虚拟机:
IP: 192.168.0.220 --> Mac:00:03:FF:95:17:A1 --> Windows XP
IP: 192.168.0.221 --> Mac:00:03:FF:97:17:A1 --> Windows 2003
第一种:
钓鱼,也就是把要连接方欺骗让其连接到我自己,这时你可以在自己身上安装一个密码记录,记录密码。
命令:hijackport 0 192.168.0.189 192.168.0.221:3389 3389
分析:
1、hijackport 搞个 Arp 劫持目标机器,并修改流经数据到本地指定端口的东西。
2、参数 0,这个是网卡编号,指定使用哪个网卡,不解释了……
3、192.168.0.189,被欺骗的“连接方”,到时候会给它发 Arp 欺骗数据包,底下解释。
4、192.168.0.221:3389,要欺骗的机器,底下解释。
5、3389,转发到本地3389端口。
整个功能流程如下:
1、220 对 189 发送 Arp 包,说:我是:221,于是 189 把本来对 221 发送的包都给发到 220 了。
2、220 拿到这些数据包后,将其又转发到本机 3389 端口,形成回路。
3、正常的数据包流程为:189 --> 221
4、被欺骗后的流程为:189 --> 220
5、欺骗完成,实际上这里没有 221 什么事,221 在一边打酱油。
第二种:
基本和第一种一致,只是多了转发、解包的过程,我在这里只写出区别的地方。
命令:hijackport 0 192.168.0.189 192.168.0.221:3389 8080
参数功能一样,不多说了……
区别就在于,这次是转发到本地 8080 端口,然后 8080 端口又监听了一个东西:rdpproxy
rdpproxy 的功能很简单,这个玩意儿就是一个端口转发工具,类似 lcx.exe 的东西,区别就是多了一个解包的过程,解开加密的 rdp 数据包,然后做记录,最后提取密码用。
命令:rdpproxy 8080 192.168.0.221:3389
功能:监听本机 8080 端口,然后把收到的数据全部发到 192.168.0.221:3389,形成回路,完成欺骗。
你也许会问,为什么 221 可以连接,不是被欺骗了吗?
呵呵,这就是关键所在,整个流程压根没 221 什么事,221 只是在打酱油,欺骗的是网关,所以目标机器的 Arp 防火墙是没有任何反应的,因为根本和他无关。
而局域网数据发送是不经过网关的,所以即使网关被欺骗,也不影响局域网内机器互相访问,所以完全是可以连接的,没有任何异常。
PS:这里引申一下,如果是双向欺骗的话,局域网互相访问是需要修改数据包中的源 MAC 地址,然后再发出去的,这个比较复杂抽象,就不多说了。
备注:
为什么说 189 在这里充当一个网关的角色?
以为从外网发来的所有数据,都是从网关处中转,再发给目标机器的,目标向外网发的数据,也是通过网关处中转,再发到外网。
他在这里直接把自己“充当为”网关,向目标机器发数据,实际上和外网发送是一样的,只是为了方便测试。
这个单向 Arp 欺骗的目的就是为了欺骗网关处,让网管把本来从外网发到 221 的数据,发到 220,也就是 220 对网关说:我是 221。
220 拿到 221 的数据后,就可以为所欲为了……
微信
支付宝