|
|
作者:ctaotao( x) C/ ~9 p) N( g) M
9 I' d8 ^! }$ g' Y4 `6 i6 Z) n) Z
你有蹭网的习惯吗? 在公共场所,机场,辛巴克。或者自己小区里发现一个没有密码或者密码是123456的无线网路。如果是这样的话,请注意了:你很有可能被钓鱼,莫名其妙的丢了自己的用户名和密码。本人在家里做了个实验,抓住了老婆的几个登陆密码。使用的是SSLStrip的方法。友情提示大家,蹭网需谨慎。
! z' o0 y- y2 c0 t+ b9 J) h; K. `9 t& U+ k# A s1 z+ Z
SSLStrip是09年黑帽大会上曝出的截获HTTPS明文数据的黑客方法。这里科普一下为什么使用未知的无线网络存在安全风险。现在大部分web登陆使用https保护登陆数据,比如gmail, 网易邮箱,亚马逊等。这里来演示一下使用SSLStrip在局域网中截获HTTPS保护过用户登录名和密码。
: L2 w2 T t& @3 U, R( w5 Z
+ x- d' w, M) q! s% ?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保护的登陆信息,完全暴露给了攻击者。1 y& X* k5 Z* H: e9 e- ]* r, o6 s
7 z& D# C2 T) q8 F) V3 H: i, {+ O& d( k# D: ?
% e) m: Y+ B4 j7 U. A6 q# @
怎样截获网络数据成为"中间人"呢? 通常是DNS下毒,或者在局域网中使用ARP欺骗。本演示中当然使用ARP欺骗要容易一点。3 R5 Z3 Q( Q! a% p: N5 }
% q( n8 j+ j# N1 Q1 f/ Z* ?攻击工具:
, W4 L1 W3 F% ]8 M# p4 pBack-Track,作为安全从业人员这是必须的。集合Metasploit等等一系列的安全工具。下载一个VMWare镜像,使用相当方便。http://www.backtrack-linux.org/downloads/0 Y% ^4 J: q! l& V/ q) \( X8 R; ~
SSLStrip(http://www.thoughtcrime.org/software/sslstrip/)下载,解压,安装python ./setup.py install
) w) c. B4 J9 P% [3 Y) f, V8 d) `% j6 i
整个实验过程分为四步。( p2 |* Y7 C: p& ^, q8 i; k
第一步,在back-track中输入如下命令,欺骗192.168.1.7让本机冒充网关192.168.1.1。这样192.168.1.7所有发送的数据都会发到本机上来。这时如果查看被骗主机的ARP表的话,你会发现确实发生了变化,图一。这时被骗主机无法上网,因为他所有发送数据都被阶段了。在黑客主机上使用Wireshark抓包发现,PING的ICMP包无响应,DNS请求也无响应, f7 p: P& T: ~
图二。
; i- M$ m: x" o5 f. Z
, H) l0 a1 D- C+ u5 k" t4 G, T代码:- arpspoof -i eth1 -t 192.168.1.7 192.168.1.1
复制代码 图一
! X6 b7 Y) M% b. E6 u$ s/ p
9 m( i/ I" J7 l4 @& l. p9 d" M" Y5 c: ?
- E8 {) I) L* i" n; |- X# a2 T; x* k2 Y/ q' C$ Q; k; A/ j
图二
8 W. r, W6 D+ W" _- R1 F
" d" w) E; L9 Z6 Z9 N第二步,使用下面的命令把黑客主机切换到路由器模式下工作。这时的Linux系统就是一个路由器了,他会转发所有的数据包。这样被骗主机又回复了网络,正常上网。" d* F/ s3 ?/ }- i
代码:- echo "1" > /proc/sys/net/ipv4/ip_forward
复制代码 第三步,使用下面的命令将80端口收到的数据定向到端口10000. 这时你会发现被骗主机不能浏览网页了,使用nslookup ccn.com 查询dns能得到正常访问。Wireshark抓包发现除了80端口不能访问,其他端口都访问正常。原因显而易见,10000端口并没有转发80端口来的数据。6 f+ x( C2 C2 P+ Y" y$ ~. P
代码:- iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000
复制代码 " w! i+ f! ~+ I! a7 i4 X# B
图三
. M, i4 C' r" C; `* @0 y0 O# M* G0 J3 p( W6 o5 k4 q
第四步, 使用下面的命令让SSLStrip工作在10000端口上,转发80端口来的HTTP数据,同时将有post请求的数据保存到log.txt中。这时登陆亚马逊,你会发现本来是https访问,现在变成了HTTP. 这时你在登陆的话,很明显黑客主机就能记录下你的密码了。/ M- y$ Z! ^1 d, B- V
代码:- SSLStrip.py –p –l 10000 –w log.txt
复制代码
- Q5 U6 m, a) ~+ ?2 ?4 V4 G: `" q图四
4 j" h! J. r( x4 m9 C
: F. O. x9 @6 J* c总结:! x" J# i: {) K7 l$ E9 w- G
高端用户可能发现遭受这种攻击后浏览器中的异常现象:HTTPS变成了HTTP。然而对广大一般用户来说,面对的这样的情况他们的登陆信息将毫无疑问的将被无情窃取。2 N+ H& ~2 b% C! J' F/ a4 I! D
这种攻击限制是必须在局域网中;优势是不用向目标发送任何邮件,或种植木马,也不用动目标电脑,能透明窃取。相比另外两种密码抓取方法Man-In-The-Browser和HTTPS代理有着天然的优势。
. U) N; I: X K8 q8 x一篇Man-In-The-Browser的文章和代码:- http://blog.csdn.net/onevs1/article/details/8795433
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
查看全部评分
|