问题描述:
刚见过,不懂~~系统自带的吗
解析:
wget是一款免费开放源代码下载工具,可以运行在Unix和Linux操作系统下。不过有漏洞:
wget没有正确处理NLST FTP的服务器应答,远程攻击者可以利用这个漏洞构建恶意FTP服务器,诱使用户访问,把恶意文件覆盖到FTP客户端当前目录之外的位置上。
当wget处理来自FTP服务器的NLST应答时,RFC规定需要FTP客户端在包含目录信息时需要详细检查输入,而wget没有对此信息进行充分检查,因此,如果恶意FTP服务程序提供的文件包含目录信息如下字符:
"../","/path","..\"(windows系统下),"C:"(windows系统下),"..." (windows系统下等于../..)
当wget使用一些通配符进行下载时,没有检查这些文件路径信息,可造成客户端的目录遍历,盲目下载到客户端指定目录以外位置上。如果熟知客户端系统中文件名和相应目录,可以直接覆盖这些文件,造成拒绝服务等攻击。
直接用代码:[root@localhost ~]# yum -y install wget即可。
1、wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。
2、wget可以使用用户设置文件".wgetrc"来读取很多设置,我们这里主要利用这个文件来是设置代理服务器。使用者用什么用户登录,那么什么用户主目录下的".wgetrc"文件就起作用。
3、例如,"root"用户如果想使用".wgetrc"来设置代理服务器,"/root/.wgetrc"就起作用,下面给出一个".wgetrc"文件的内容,读者可以参照这个例子来编写自己的"wgetrc"文件:
http-proxy = 111.111.111.111:8080ftp-proxy = 111.111.111.111:8080
这两行的含义是,代理服务器IP地址为:111.111.111.111,端口号为:8080。第一行指定HTTP协议所使用的代理服务器,第二行指定FTP协议所使用的代理服务器。
在阿里云主机上,安装监控插件,根据官方提示,输入命令
单独运行wget尝试
发现没有任何反应
查看wget命令文件
发现wget命令是一个空文件。
联想到这台服务器曾经种过病毒,虽然病毒清除,但是可能对操作系统造成了一些破坏。
尝试删除无效的wget文件
居然无法删除。这可能是设置了保护属性,使用lsattr确认
ia表示被设置过保护,无法修改。需要用chattr去掉保护
chattr命令文件没有执行权限,所以加执行
居然chattr命令自己也被替换成了空文件,并且还加了保护!导致删除都无法删除。
至此,可以判断此病毒干了很多坏事:
经过这一番操作,这台服务器自己是彻底无法恢复正常了。因此我们需要借助另一台正常的服务器帮助这台服务器恢复。
利用scp命令,将另一台服务器上的chattr, wget命令文件拷贝到一个临时目录,例如~/tmp
利用新的chattr命令,解锁无效的文件保护
将新的文件拷贝进去
至此,服务器恢复正常。
如果还有其他命令或文件异常,可以以同样的方式恢复。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)