存档

2014年2月 的存档

[译]圣诞节后黑客发动了大规模NTP-Reflection Attacks

2014年2月12日 1 条评论

圣诞节后黑客发动了大规模NTP-Reflection Attacks(反射攻击)。

过去几周,Symantec发现了在互联网上NTP 反射攻击的显著增加。
NTP_Spike_0

NTP 是网络时间协议,他是一个相对模糊晦涩的协议,运行在UDP 123端口,用于服务器间基于网络的时间同步。如果你曾经在PC或者服务器上设置过时间服务器,是的,那就会有NTP连接。

NTP 是一个设置即忘记的协议,之所以这么说,是因为大部分管理员配置过一次后就不再担心他了。不幸的是,上面的情况也代表不经常升级的意思,以至于易受到反射攻击的利用。

NTP 反射攻击是如何工作的?

类似于DNS放大攻击,攻击者发送一个伪造的小包,请求会返回一个非常大的数据包到目标IP地址(这个地址是伪造的,一般是受害者)

这个场景中,攻击者利用monlist命令,monlist是一个远程命令,基于老版本的NTP,请求者发送此命令,会返回连到该NTP服务器的最后600台主机列表。对于攻击者来说,monlist查询是一个伟大的嗅探工具。通常这个命令是用于帮助建立一个本地网络的概况,然而,作为DDOS工具,他是再好不过了,因为一个小的查询会被返回一个兆字节的流量。

[root@server ~]# ntpdc -c monlist [hostname]

remote address          port local address      count m ver code avgint  lstint
===============================================================================
localhost.localdomain  53949 127.0.0.1              1 7 2      0      0       0
tock.usshc.com           123 xxx.xxx.xxx.xxx         1 4 4    5d0      0      53
198.52.198.248           123 xxx.xxx.xxx.xxx         1 4 4    5d0      0      54
rook.slash31.com         123 xxx.xxx.xxx.xxx       1 4 4    5d0      0      55
eightyeight.xmission.c   123 xxx.xxx.xxx.xxx         1 4 4    5d0      0      56

大部分扫描工具,比如NMAP,集成了monlist模块进行网络信息的收集,许多其他的工具,包括嗅探工具,都集成了monlist DDOS模块。

如何保护你的服务器?最简单的办法是升级NTP 到4.2.7,移除了monlist命令实体。如果不能选择升级,那需要在启动NTP进程前,设置NTP配置文件,启用noquery选项。这将禁止模式6,7的查询包访问(这里面包括monlist)

通过禁用monlist,或者升级NTP可以使monlist命令不再被包括其中,这不仅保护了你的网络,使你远离不想要的嗅探,而且也避免了在不经意间被DDOS攻击所利用。

翻译自 symantec hackers blog

分类: 技术笔记 标签:

[SELinux] 浅析

2014年2月11日 没有评论

背景:
在搭建kerberos时,ss服务器,系统启动时启的sshd进程,不能读取root的.k5login,普通用户的可以,但是把进程kill掉,再手动启动后,就可以读取root的.k5login。此问题是由于selinux导致,比较暴力的方法是直接disable掉selinux(大多数工程师都是这么干的)。
但是selinux在发行版中已经有很长时间了,所以说明他还是有价值的,一般对0day漏洞很用意义,所以看趋势还是会使用起来的,下面是对selinux的简单学习。
SELinux 是通过MAC(Mandatory Access Control, MAC) 的方式来管理程序,他控制的主体是程序进程,目标则是该程序进程能否读取的档案文件资源。

如何工作:
主体 (Subject):
SELinux 主要想要管理的就是程序,因此你可以將『主体』跟 process 划上等号;

目标 (Object):
主体程序能否读取的目标资源,一般就是文件系统。
阅读全文…

分类: 技术笔记 标签:

systemtap监控文件读写

2014年2月10日 没有评论

背景:最近在研究搭建kerberos,想搞清楚ss服务器上的.k5login具体被谁调用,是直接被sshd进程调用,还是通过krb5的相关lib调用。

systemtap可以跟踪系统调用,系统需要安装对应内核版本的debuginfo包。
我的内核版本:2.6.32-279.19.1.el6.x86_64
debuginfo包在http://debuginfo.centos.org/6/x86_64/这里下载。
wget http://debuginfo.centos.org/6/x86_64/kernel-debuginfo-common-x86_64-2.6.32-279.19.1.el6.x86_64.rpm
wget http://debuginfo.centos.org/6/x86_64/kernel-debuginfo-2.6.32-279.19.1.el6.x86_64.rpm
下载之后安装。

测试systemtap工作是否正常
stap -ve 'probe begin { log("hello world") exit() }'
以下为正常时打印内容:
Pass 1: parsed user script and 83 library script(s) using 194428virt/23084res/2976shr kb, in 120usr/10sys/135real ms.
Pass 2: analyzed script: 1 probe(s), 2 function(s), 0 embed(s), 0 global(s) using 194956virt/23804res/3204shr kb, in 0usr/0sys/4real ms.
Pass 3: translated to C into "/tmp/stapSmCG7L/stap_1777e216df712bb34ffec7ff846df815_884_src.c" using 197044virt/24208res/3564shr kb, in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_1777e216df712bb34ffec7ff846df815_884.ko" in 1260usr/230sys/1567real ms.
Pass 5: starting run.
hello world
Pass 5: run completed in 10usr/10sys/301real ms.

打印上面内容后,说明可以正常工作。

阅读全文…

分类: 技术笔记 标签: