|
|
作者:ctaotao. S6 L- M- d! I2 Z& u" M% v
& u( M' v. \& e' p4 _6 c
你有蹭网的习惯吗? 在公共场所,机场,辛巴克。或者自己小区里发现一个没有密码或者密码是123456的无线网路。如果是这样的话,请注意了:你很有可能被钓鱼,莫名其妙的丢了自己的用户名和密码。本人在家里做了个实验,抓住了老婆的几个登陆密码。使用的是SSLStrip的方法。友情提示大家,蹭网需谨慎。
$ o! U0 P% N$ z1 J1 G) |% U# E, `; k( r/ G: e$ ]) M
SSLStrip是09年黑帽大会上曝出的截获HTTPS明文数据的黑客方法。这里科普一下为什么使用未知的无线网络存在安全风险。现在大部分web登陆使用https保护登陆数据,比如gmail, 网易邮箱,亚马逊等。这里来演示一下使用SSLStrip在局域网中截获HTTPS保护过用户登录名和密码。
3 F' e7 f) y7 b: A
$ d5 ~* k3 r# R0 |HTTPS本身是很安全的,黑客撼动不了。但是浏览器访问HTTPS有一个特点,一般情况用户并不直接访问https而是先访问HTTP,然后再重定(redirect)向到HTTPS。用户在浏览器中一般输入www.example.com, 或者直接就输入example.com。浏览器默认使用对web服务器发起HTTP请求,服务器重定向请求到HTTPS. SSLStrip攻击的思路是在浏览器和服务器的中间截断HTTP数据,阻止HTTP定向为HTTPS。这就是所说的Man in the Middle,中间人攻击。从而实现浏览器与攻击者之间进行的是HTTP通信,攻击者收到浏览器数据后,再通过HTTPS将数据转发给服务器。这样以前受HTTPS保护的登陆信息,完全暴露给了攻击者。
. w* i# _. L R9 c0 s+ e
7 W1 _8 h3 s" D9 l) I, P, _" P& `; {7 \$ m
/ Z; Y' j4 C& J& o& R3 l怎样截获网络数据成为"中间人"呢? 通常是DNS下毒,或者在局域网中使用ARP欺骗。本演示中当然使用ARP欺骗要容易一点。. a8 g2 [% v5 f4 o9 B) J
% o* ?8 A/ I* k! w O# q8 o4 E" T
攻击工具:3 z8 ?5 Y0 V$ H" ^/ i* f' B
Back-Track,作为安全从业人员这是必须的。集合Metasploit等等一系列的安全工具。下载一个VMWare镜像,使用相当方便。http://www.backtrack-linux.org/downloads/
- Y& z3 _$ N+ T) L# n$ eSSLStrip(http://www.thoughtcrime.org/software/sslstrip/)下载,解压,安装python ./setup.py install
! `+ {! m9 u% T0 F
% t4 Q4 J# x7 W6 @整个实验过程分为四步。
- }9 @( {2 g% {, ~第一步,在back-track中输入如下命令,欺骗192.168.1.7让本机冒充网关192.168.1.1。这样192.168.1.7所有发送的数据都会发到本机上来。这时如果查看被骗主机的ARP表的话,你会发现确实发生了变化,图一。这时被骗主机无法上网,因为他所有发送数据都被阶段了。在黑客主机上使用Wireshark抓包发现,PING的ICMP包无响应,DNS请求也无响应,5 r0 e$ |) ^, y) R
图二。
O* o) S o0 T8 V" n& T) f; p y% Q+ ? @; z! `: Y( g' r5 C
代码:- arpspoof -i eth1 -t 192.168.1.7 192.168.1.1
复制代码 图一+ E Y" C6 W6 \- f) D
4 |; o6 U8 s- v, I( K4 N; e0 v' o
9 H X3 c. _ Z0 ^) f8 |, {
$ [# d; a! ]9 F9 t) J4 p图二
) @- x" C; D! ~" O9 j: [6 D0 l
- ?4 e" }9 i1 a3 y! r第二步,使用下面的命令把黑客主机切换到路由器模式下工作。这时的Linux系统就是一个路由器了,他会转发所有的数据包。这样被骗主机又回复了网络,正常上网。
3 {* g; p- Z2 |% A代码:- echo "1" > /proc/sys/net/ipv4/ip_forward
复制代码 第三步,使用下面的命令将80端口收到的数据定向到端口10000. 这时你会发现被骗主机不能浏览网页了,使用nslookup ccn.com 查询dns能得到正常访问。Wireshark抓包发现除了80端口不能访问,其他端口都访问正常。原因显而易见,10000端口并没有转发80端口来的数据。
% e, }( N: R% V1 Y2 x0 f7 ^代码:- iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000
复制代码
3 j6 l2 }2 E M3 ]- `( L% _( V图三
. k8 k8 V7 X8 P5 r
( u$ E1 E) r- O7 m* `. G第四步, 使用下面的命令让SSLStrip工作在10000端口上,转发80端口来的HTTP数据,同时将有post请求的数据保存到log.txt中。这时登陆亚马逊,你会发现本来是https访问,现在变成了HTTP. 这时你在登陆的话,很明显黑客主机就能记录下你的密码了。
* y5 Y! C1 `, x, }; y- }3 d代码:- SSLStrip.py –p –l 10000 –w log.txt
复制代码 ) L1 F& q: W. a- }0 q/ d
图四1 e( e& _+ k6 O- J
0 b1 K8 ^4 Q3 a5 N. u/ ?6 O
总结:" }: ~2 ?0 e9 d, g: M0 j3 e6 r
高端用户可能发现遭受这种攻击后浏览器中的异常现象:HTTPS变成了HTTP。然而对广大一般用户来说,面对的这样的情况他们的登陆信息将毫无疑问的将被无情窃取。4 N- b9 \ g( y/ O
这种攻击限制是必须在局域网中;优势是不用向目标发送任何邮件,或种植木马,也不用动目标电脑,能透明窃取。相比另外两种密码抓取方法Man-In-The-Browser和HTTPS代理有着天然的优势。
( |( i4 ]( E3 [" z一篇Man-In-The-Browser的文章和代码:- http://blog.csdn.net/onevs1/article/details/8795433
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
查看全部评分
|