网络通信 频道

Putty藏后门 上万服务器密码泄露

  【IT168资讯】春节未过完,网上曝出中文版的putty、WinSCP等SSH远程管理工具被曝出存在后门的消息。经多家安全厂商验证,这些汉化版管理工具的确存在后门程序,可能导致服务器系统管理员密码及资料泄露,从而完全控制linux服务器。

  事件回放

  putty是知名的Windows开源SSH管理工具,WinSCP是常用的开源SFTP工具。两者皆为免费、开源软件,其中Putty从没有官方中文版,而WinSCP已经拥有官方中文版。最近有Linux服务器管理员发现,上述工具的非官方“汉化版”疑似内置后门,部分网站和企业服务器已因此遭到黑客攻击,导致系统root密码泄漏以及资料泄漏。

  1月25日,新浪微博有网友发布消息称putty和winscp中装有后门程序,但该条微博并未提及后门程序的类型及其技术细节,而且消息也未被过多的人所重视。

  1月30日下午16点左右,互联网上再度出现关于中文版putty等SSH管理软件被装有后门的消息,并且此消息对后门的行为特征进行了简要的描述 —— 该程序会导致root密码丢失,但发布者仍未披露具体的技术细节。

  1月31日,经过一晚的酝酿,putty事件开始在互联网上广泛传播,微博、论坛等信息发布平台上开始大量出现putty后门事件的消息,同时,很多技术人员也开始对含有后门的putty等SSH管理软件进行技术分析,并陆续发布其中的技术细节。

  很快,有网友在微博暴料称,目前已有上万服务器遭PuTTY后门窃取密码,这个数字仍在持续增加。而据知道创宇安全小组的分析报告称,目前已有完整的受害者列表供所有用户浏览和下载,根据这份来自互联网列表的显示,有众多政府网站位列其中,IBM、Oracle、HP等大厂商的服务器也出现在列表内。

  值得注意的是,通过百度搜索putty和WinSCP这两款软件,均出现了竞价广告,并指向非官方授权的中文打包分发网站,提供下载的软件内置了黑客后门,会窃取用户系统root密码并且安装后门。

  技术分析

  安全专家表示,PuTTY等软件本身是开源的,汉化版属于“被人动了手脚”,安全性往往难以保障。由于此次安全漏洞直接关乎linux服务器管理员数据安全,一旦管理员权限被盗,管理员手中掌握的服务器数据将可能面临全面泄露风险,一旦被攻陷,危害程度可能超过此前的CSDN等互联网企业泄密事件。

  根据知道创宇安全小组发布的此次事件的报告分析,使用带有后门程序的中文版putty等SSH管理软件连接服务器时,程序会自动记录登录时的用户名、密码和服务器IP地址等信息,并会以HTTP的方式将这些信息发送到指定的服务器上。同时报告指出,目前已知暗藏后门的汉化版PuTTY、WinSCP、SSHSecure工具下载地址有:

  http://www.putty.org.cn

  http://www.winscp.cc

  http://www.sshsecure.com

  http://l.ip-163.com:88

  据悉,如有用户使用非官方授权的汉化版PuTTY等工具,服务器可能出现如下中招症状:进程.osyslog或.fsyslog吃CPU超过100~1000%(O与F 可能为随机);机器疯狂向外发送数据;/var/log被删除;/etc/init.d/sshd被修改。

  检查及清理方式

  网友胡争辉在论坛上发贴提供的检查及清理方式:

  检查 /var/log 是否被删除 # /usr/bin/stat /var/log

  如果被删除了,说明中招了

  查看 /var/log 文件夹内容 # ls -al /var/log

  如果文件很少,说明中招了

  监控名称为 fsyslog,osysllog 的进程 # /usr/bin/watch -n 1 /bin/ps -AFZ f \| /bin/grep syslog

  如果有名称为fsyslog或osyslog的进程,说明中招了,注意不要和正常的系统日志进程混淆

  检查 /etc/init.d/sshd 的文件头是否被篡改过 # /usr/bin/head /etc/init.d/sshd

  检查 /etc/init.d/sendmail 的文件头是否被篡改过 # /usr/bin/head /etc/init.d/sendmail

  检查是否有对外链接的 82 端口 # /bin/netstat -anp | /bin/grep ':82'

  如果有,而你又没设置过,说明已经中招了

  检查是否有链接到 98.126.55.226 的链接 # /bin/netstat -anp | /bin/grep '98\.' --color

  如果有,说明已经中招了

  检查 /etc 文件夹下的隐藏文件 .fsyslog .osyslog,检查 /lib 文件夹下的隐藏文件 .fsyslog .osyslog

  /usr/bin/find /etc -name '.*' -printf '%a %c %t %M %g:%u %p\n' | /bin/grep 2012 --color

  /usr/bin/find /lib -name '.*' -printf '%a %c %t %M %g:%u %p\n' | /bin/grep 2012 --color

  /usr/bin/find /etc -name 'syslog' -printf '%a %c %t %M %g:%u %p\n' | /bin/grep 2012 --color

  /usr/bin/find /lib -name 'syslog' -printf '%a %c %t %M %g:%u %p\n' | /bin/grep 2012 --color

  如果有近期修改过的名称包含fsyslog或osyslog的文件,说明已经中招了

  恢复系统日志

  查看系统日志文件夹 # ls -al /var/log

  创建系统日志文件夹 # /bin/mkdir /var/log

  如果被删除的话需要创建

  查看系统日志服务 # /usr/bin/find /etc/init.d/ -name '*log*'

  需要区分出你的服务器所使用的日志服务

  关闭系统日志服务 # /sbin/service syslog stop

  你的服务器的日志服务的名称可能是另外一个名字

  启动系统日志服务 # /sbin/service syslog start

  你的服务器的日志服务的名称可能是另外一个名字

  创建错误登录日志文件 # /bin/touch /var/log/btmp

  设置错误登录日志文件用户组 # /bin/chown root:utmp /var/log/btmp

  设置错误登录日志文件权限 # /bin/chmod 600 /var/log/btmp

  创建登录日志文件 # /bin/touch /var/log/wtmp

  设置登录日志文件用户组 # /bin/chown root:utmp /var/log/wtmp

  设置登录日志文件权限 # /bin/chmod 664 /var/log/wtmp

  恢复SELinux(安全增强Linux)设置

  查看 SELinux 状态 # /usr/sbin/sestatus -v

  检查 /var/log 文件夹的安全上下文 # /sbin/restorecon -rn -vv /var/log

  恢复 /var/log 文件夹的安全上下文 # /sbin/restorecon -r -vv /var/log

  检查 /etc 文件夹的安全上下文 # /sbin/restorecon -rn -vv /etc 2>/dev/null

  恢复 /etc 文件夹的安全上下文 # /sbin/restorecon -r -vv /etc 2>/dev/null

  检查 /lib 文件夹的安全上下文 # /sbin/restorecon -rn -vv /lib 2>/dev/null

  安全建议

  据了解,此次事件涉及到来自putty.org.cn、putty.ws、winscp.cc和sshsecure.com站点的中文版putty、WinSCP、SSHSecure和sftp等软件,而这些软件的英文版本不受影响。有安全专家建议,系统管理人员如果需要下载使用各类工具软件应选择官方网站下载。如服务器已经遭到恶意威胁,可以尝试更改SSH连接端口,并尽快删除可疑来源的“汉化版”PuTTY等工具,第一时间更换管理员密码。

  临时解决方案:

  1.使用chkrootkit或rootkit hunter对服务器进行扫描,检查是否存在已知后门

  2.查看网络是否有可疑外联,并加强对可疑外联的监控

  3.在网络层建立端口访问控制策略,阻止除正常业务外的一切非业务、非管理端口

  4.更换SSH登录密码,建议登录时使用证书加密码的组合方式进行身份验证

  5.登录SSH时,不要直接使用root用户,先使用普通用户登录后,再su至root

  6.服务器端通过TCP Wrapper或iptables等软件,限制IP访问,仅允许特定IP地址对服务器的SSH进行连接和管理

0
相关文章