|
|
作者:ctaotao t7 M% W) L0 N- ^+ Z. q+ [; b
6 n# X% W4 i" T n. I8 k# p你有蹭网的习惯吗? 在公共场所,机场,辛巴克。或者自己小区里发现一个没有密码或者密码是123456的无线网路。如果是这样的话,请注意了:你很有可能被钓鱼,莫名其妙的丢了自己的用户名和密码。本人在家里做了个实验,抓住了老婆的几个登陆密码。使用的是SSLStrip的方法。友情提示大家,蹭网需谨慎。
& B. Y; ]/ Y f* D f2 A7 [
$ m9 H4 v" B' B2 J) {SSLStrip是09年黑帽大会上曝出的截获HTTPS明文数据的黑客方法。这里科普一下为什么使用未知的无线网络存在安全风险。现在大部分web登陆使用https保护登陆数据,比如gmail, 网易邮箱,亚马逊等。这里来演示一下使用SSLStrip在局域网中截获HTTPS保护过用户登录名和密码。
2 N0 X; t3 i1 |& ^1 F" S- ~6 l, F8 v0 i6 `# n, @) [
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保护的登陆信息,完全暴露给了攻击者。
, M5 u" ?# N: w5 D5 d0 |0 F) ^
- `) c9 Y( _* `$ _) o7 F) ~" x9 f9 _8 m) P; r# Z
8 H: U# P+ x9 B! M5 c2 o4 f
怎样截获网络数据成为"中间人"呢? 通常是DNS下毒,或者在局域网中使用ARP欺骗。本演示中当然使用ARP欺骗要容易一点。0 B4 ~) F% Z/ y7 v: a+ F
3 C2 E# V9 t: l7 H2 m1 f0 V% P
攻击工具:
" p* C/ Y; v9 Y2 }3 JBack-Track,作为安全从业人员这是必须的。集合Metasploit等等一系列的安全工具。下载一个VMWare镜像,使用相当方便。http://www.backtrack-linux.org/downloads/
Y' d+ Y0 @7 l% ]( _5 g; DSSLStrip(http://www.thoughtcrime.org/software/sslstrip/)下载,解压,安装python ./setup.py install
+ \: M7 k4 G. ?+ v& ^* n! n$ ^
5 ^: a# v3 L5 _0 D2 L. h. `4 V: @& ~整个实验过程分为四步。
& ~4 j5 l* I; ~1 U) p3 Q第一步,在back-track中输入如下命令,欺骗192.168.1.7让本机冒充网关192.168.1.1。这样192.168.1.7所有发送的数据都会发到本机上来。这时如果查看被骗主机的ARP表的话,你会发现确实发生了变化,图一。这时被骗主机无法上网,因为他所有发送数据都被阶段了。在黑客主机上使用Wireshark抓包发现,PING的ICMP包无响应,DNS请求也无响应,
7 ^; X. W( K+ w6 v图二。
+ f5 ?0 X. b3 `* Q
( \( m$ @9 }3 i5 w8 f/ t% G: j* V7 Y代码:- arpspoof -i eth1 -t 192.168.1.7 192.168.1.1
复制代码 图一
1 y0 A0 K& G0 ^& o: @& Z
G Z# t% B7 R, A
' h3 P' j( y# ]
) C* Z/ y7 p6 n图二1 t7 Z) M1 K1 k' b* o# ]6 c
8 J3 C$ a- T: u- D' |第二步,使用下面的命令把黑客主机切换到路由器模式下工作。这时的Linux系统就是一个路由器了,他会转发所有的数据包。这样被骗主机又回复了网络,正常上网。
0 J/ U0 z5 m9 o7 G& s' ]代码:- echo "1" > /proc/sys/net/ipv4/ip_forward
复制代码 第三步,使用下面的命令将80端口收到的数据定向到端口10000. 这时你会发现被骗主机不能浏览网页了,使用nslookup ccn.com 查询dns能得到正常访问。Wireshark抓包发现除了80端口不能访问,其他端口都访问正常。原因显而易见,10000端口并没有转发80端口来的数据。5 G5 Z6 h+ [& o( A
代码:- iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000
复制代码
" @8 o! @, a6 o5 Y! {- o9 q2 v图三+ e+ K. P5 L9 Y4 V' |3 D1 @: H
6 N5 @$ H( |1 u4 z1 z/ l第四步, 使用下面的命令让SSLStrip工作在10000端口上,转发80端口来的HTTP数据,同时将有post请求的数据保存到log.txt中。这时登陆亚马逊,你会发现本来是https访问,现在变成了HTTP. 这时你在登陆的话,很明显黑客主机就能记录下你的密码了。; G3 _8 G, b' v1 v
代码:- SSLStrip.py –p –l 10000 –w log.txt
复制代码
$ A9 ]6 D, ^8 S& B+ B( l图四8 V4 g' l0 S3 F# J
, P0 o8 \) S3 y8 G6 b
总结:4 Z" c! {* [& O( I
高端用户可能发现遭受这种攻击后浏览器中的异常现象:HTTPS变成了HTTP。然而对广大一般用户来说,面对的这样的情况他们的登陆信息将毫无疑问的将被无情窃取。6 O0 f! a% R: M5 W
这种攻击限制是必须在局域网中;优势是不用向目标发送任何邮件,或种植木马,也不用动目标电脑,能透明窃取。相比另外两种密码抓取方法Man-In-The-Browser和HTTPS代理有着天然的优势。% o4 W* g5 \. n
一篇Man-In-The-Browser的文章和代码:- http://blog.csdn.net/onevs1/article/details/8795433
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
查看全部评分
|