应急响应安全服务报告书
响应日期:11月13日
项目负责人:SQL ( SQL@263.net SQL@isfocus.com )
客户项目负责人:xxx xxx
遭入侵主机的情况初步分析:
入侵主机情况描述:
该主机位于国家xx局的5层计算机办公室,在11月中一次当机事件后,该服务器管理员发现该主机上增加了一名叫fawk的管理员,由于属于非法添加的管理员而该主机又暴露在INTERNET上,所以管理员立即向国家xx局网络运行部门报告,我公司在接到国家xx局的报告后,立即前往现场取证和调查。
操作系统和补丁情况:
IRIX 6.5版本
主要服务用途:
做为国家xx局的DNS服务器
入侵后的行为表现:
被非法增加了一名叫FAWK的管理员
之前的安全策略制定情况:
该服务器从安装后没有打全最新的安全补丁 ,系统方面没有做过安全配置,一切采用默认安装状态,另外该主机前没有防火墙的保护。
现场分析情况:
由于该DNS服务器210.72.32.1受攻击的直接现象表现在被远程攻击者在本地非法添加了一个管理员的帐号为fawk,该管理员的密码为空,所以初步估计该攻击者是在远程利用IRIX6.5S TELNET进程的远程溢出漏洞,攻击者可以通过在本地编译一段攻击代码来远程在被攻击主机获取一段rootshell,这样就可以获得此主机的管理员权限,然后可以轻松的在主机的passwd里面添加自己的管理员帐号。
关于该漏洞的详细介绍参考文后的备注。
从用last系统命令查看的结果我们发现,非法帐号从今年10月起就已经在该主机登陆过,但由于日志文件被攻击者恶意删除所以无法确定具体该主机被攻击的时间。
安全扫描结果分析记录:
国家xx局部分网络安全性评估
扫描开始时间:2001-11-15,10:30
扫描结束时间:2001-11-15,10:40
本次扫描检查了以下主机:
主机IP地址 主机名 操作系统类别
202.72.32.1 ns Irix 6.5
针对上述被检查主机,总发现用户帐号0个,安全漏洞5个,系统共开启3项服务。
开启服务类型:
23(tcp) TELNET
53(tcp、udp) DNS
111(tcp) Portmap
根据漏洞危险级别,漏洞信息被分为高、中、低风险三类。
主机IP 地址:202.72.32.1
漏洞名称:Bind服务可被远程查询版本号 危险级别:低风险
漏洞描述:Bind服务支持远程查询是什么版本号,这个功能可被攻击者利用来查询远程计算机是否使用有漏洞的Bind版本,进而发动攻击。
主机IP 地址:202.72.32.1
漏洞名称:ISC Bind 4 nslookupComplain() 缓冲区溢出漏洞 危险级别:高风险
漏洞描述:函数slookupComplain()中存在一个可能的堆栈溢出,当产生错误信息时,nslookupComplain()使用sprintf()来将域名拷贝到一个999字节大小的本地缓冲区中,如果域名长度超过了此缓冲区长度,nslookupComplain()保存的激活记录就可能被覆盖。攻击者理论上可以利用此漏洞远程执行任意代码。
解决办法:
厂商补丁 http://support.sgi.com/irix/content/patches_nosupport/html/pinfo4193.html
主机IP 地址:202.72.32.1
漏洞名称:Portmap 服务 危险级别:高风险
漏洞描述:由于rpc的请求来自portmap,RPC的portmap(rpcbind)开放的端口是111。由于已知的多个系统的RPC服务包含远程溢出,攻击者可以查询RPC服务确定系统是否启用有漏洞的RPC服务。
解决办法:
停掉服务或安装厂商补丁。
主机IP 地址:202.72.32.1
漏洞名称:有Telnet服务标题 危险级别:低风险
漏洞描述:如果Telnet服务标题的信息中包含你操作系统信息,可被利用来发动针对该操作系统的有效攻击。
主机IP 地址:202.72.32.1
漏洞名称:Telnetd远程缓冲区溢出 危险级别:高风险
漏洞描述:IRIX telnetd 在收到IAC-SB-TELOPT_ENVIRON请求后会设置_RLT环境变量,当调用syslog()和sprintf()函数的时候,错误的将用户输入的数据作为了格式化串的内容。这导致远程用户可以任意覆盖进程空间的内容,通过修改GOT入口参数等方法,攻击者可以远程获得root权限。
解决办法:
厂商补丁 http://support.sgi.com/irix/content/patches_nosupport/html/pinfo4354.html
日志分析记录:
由于系统日志遭到攻击者的删除,无法开展分析。
分析入侵者的行为意图:
由于该主机暴露于公网上面,所以怀疑入侵者来自公网。
黑客所利用安全漏洞和现有安全策略中的不足之处:
攻击者利用的IRIX的TELNET的远程溢出的方法攻击,之后有隐藏的很好,如果不是当机事件可能都还没有发现。建议管理员对该主机加强监督工作,应该定期登陆到服务器上查看有无异常状况等。
客户意见:
现场客户要求我们帮助给主机打安全补丁,做一次安全配置。
系统恢复和主机安全加固步骤:
1 我们在现场给主机做了一次安全配置,在inetd.conf文件中禁用了平时系统不需要而有危险的一些服务,如FTP RPC等等。
2 我们从IRIX的公司网站www.sgi.com上下载了最新的安全补丁给系统安装上。
3 安装后我们观察了3个小时证明服务器运行正常后离开。
从这次攻击事件的分析可以看出,这名远程的攻击者具有一定的UNIX和IRIX的使用经验,熟悉系统的配置具有一定的专业知识。而且十分小心几乎没有留下任何的可以追查的日志文件。从现场的主机分析即查看系统文件后台进程和启动进程来看,该攻击者没有对该主机进行进一步的破坏,该主机目前的功能和运转还属于正常。我们在现场对该主机做了一次安全加固配置,并且在该网段的IDS上做了一次旁路阻断的设置,现在从外网来的主机将无法再TELNET到该系统的主机上了。
备注:
IRIX telnetd 存在远程溢出漏洞 (IRIX,缺陷)
涉及程序:
IRIX 6.2/6.3/6.4/6.5-6.5.8(m,f)
描述:
IRIX telnetd 存在远程溢出漏洞
详细:
lsd-pl发现了IRIX Telnetd守护进程有严重的远程溢出漏洞。SGI公司发布了以下安全公告。lsd-pl发布的安全公告以及Exploit请阅读:
http://www.cnns.net/article/db/580.htm以及
http://msgs.securepoint.com/cgi-bin/get/bugtraq0008/152.html
http://lsd-pl.net/files/get?IRIX/irx_telnetd
在默认情况下,IRIX将启动Telnetd守护进程,但不幸的是IAC-SB-TELOPT_ENVIRON请求发送到IRIX telnetd 时,会要求设置_RLT环境变量。当用户调用syslog()和sprintf()的时候,系统错误的将用户输入的数据当作格式化字符串的内容。可以利用缓冲区溢出危险得到root权限。
Irix在此公告中发布了其正式补丁,如果您并不需要telnet服务请按照以下的方法关闭telnet服务。(这是SGI公司的意思,呵呵)
下面的步骤用来停用Telnetd守护进程,直到安装补丁。(注意:停用Telnetd守护进程将停止远程登录服务)
1)在系统上成为root用户。
% /bin/su -
Password:
#
2)编辑/etc/inetd.conf文件,在远程登录行放入“#”作为第一个字符并关闭Telnetd守护进程。
# vi /etc/inetd.conf
telnet stream tcp nowait root /usr/etc/telnetd telnetd
#telnet stream tcp nowait root /usr/etc/telnetd telnetd
3)强制inetd读取配置文件。
# /etc/killall - HUP inetd
4)关闭所有的telnetd进程。
# /etc/killall telnetd
5)退出。
# exit
%
解决方案:
下载并安装补丁:
SGPATCH4044下载地址为:ftp://sgigate.sgi.com/patches/6.5.8/patch4044.tar
具体安装方法为;
#tar -xvf patch4044.tar
#inst
instopen patchSG0004044
instinstall patchSG0004044
instgo
instquit
#reboot
以下是IRIS提供的部分系统的补丁程序列表:
OS Version Vulnerable? Patch # Other Actions
IRIX 3.x unknown Note 1
IRIX 4.x unknown Note 1
IRIX 5.0.x unknown Note 1
IRIX 5.1.x unknown Note 1
IRIX 5.2 yes not avail Note 1 & 3
IRIX 5.3 yes in progress Note 1 & 3
IRIX 6.0.x yes not avail Note 1 & 3
IRIX 6.1 yes not avail Note 1 & 3
IRIX 6.2 yes 4050 Note 2 & 3
IRIX 6.3 yes in progress Note 1