|
01. 我怎么才能知道对方是使用着UNIX?
其实有很多办法可以远程获取对方的*作系统信息。最先也是最重要的就是如果对方的系 统是UNIX的话,它应该同时有telnet和ftp服务。然后看看登陆信息,以Telnet为例,如 果你在登陆信息里看到任何类似BSD,
UNIX, Linux, AIX, IRIX,
或HPUX的东西,那它八成是Unix系统。当然,管理员很有可能改变Telnet登陆时显示的 信息(/etc/issue.net),所以Telnet登陆信息并不总是可信赖的。不过你一般都可以通 过ftpd
version准确的猜测出对方的*作系统,如果你从ftpd version中看到任何类似wu, ncfp td, or
proftpd等东西,那它一定是Unix啦。不过万一你看见信息包含了"Microsoft&quo t;或"Serv-U"等类似只能在ms
windows上运行的ftp客户端的话,呵呵.......(bad!).
还有一些可以更准确的判断对方*作系统的方法,如通过数据包检查系统指纹,现在有很 多这样的工具,我个人认为最好的要算fyodor的nmap了http://www.insecure.org/nmap )。通过这些简单的的端口扫描,你可以常识去找与这些数据包类型相匹配的*作系统。 Nmap一般附带了几百种*作系统指纹,而且它以其准确度及速度闻名于世。*作系统指纹 也并不总是百分之百的正确,由于它的资料太过复杂,本文无法详细的介绍。基本上, 一些系统管理员改变了其系统发出的数据包去欺骗扫描器,让扫描器以为这是其它系统 甚至根本无法阅读。如果你对这方面敢兴趣的话可以http://www.geek-girl.com/bugtr aq中去看看详细资料。
02. 我怎么知道对方使用的是哪种类型的UNIX?
一般Telnet登陆信息会显示*作系统信息及其类型。如果你在目标机中有一个本地帐号, 那你可以输入uname
-a来看一些系统信息。在Linux上,你可以到/proc目录下阅读cpuinfo来获取一些令你感 兴趣的东西。如果对方使用的是RedHat
Linux,你那这个文件则放置于/etc的目录中,叫做redhat-release,其中包含了其系统 的版本和类型。
我同时也在研究如何通过比较rpm来得到指纹从而可以利用数据包来判断*作系统,因此 你便可以找到该*作系统的exploit并得到限权。
03. 我入侵UNIX会出现什么情况?
无论你是否能“成功”的入侵进一个UNIX系统, 这里都有一些基础的命令你需要了解。
____________________________________________________________________________ ___
| 命令 | 描述 |
|--------------------------------------------------------------------------- --|
| id | 打印出你现在的UID/GID. 0 = root = 成功! |
| whoami | 确定你现在是以什么身份登陆的。 |
| set | 显示一个包含$USER和$EUID等系统变量的目录。 |
---------------------------------------------------------------------------- ---
如果你到现在还不知道什么是root的话,请在你重新阅读这篇文章之前先读一些Unix系 统的基础知识。另外,这里也有一些其他的技巧来帮助你确定你已经真正得到了Root.
a. bash prompt: 当你以普通限权用户身份进入的时候,一般你会有一个类似bash$的p rompt。当你以Root登陆时,你的prompt会变成
bash#。
b. 系统变量 : 试着echo "$USER / $EUID" 系统应该会告诉你它认为你是什 么用户。
c. 文件限权 : 当你是Root时,你对大部分的文件都应该有读和写的限权。试着以普通 用户登陆,并且读/etc/shadow或/etc/passwd。
多数系统不会允许普通用户阅览这两个文件,如果你是root的话你则可以随便读写它们 。(不过一般情况下还是不要乱 碰它们^O^-----译者注)
04. 在我要入侵的主机上,我需要一个帐户吗?
很多系统可以通过溢出漏洞远程获取限权。这是入侵Unix和NT最大的区别:Unix是为远 程管理设计的,因此很多熟练的黑客可以一次就获取限权。对于NT,没有默认的Telnet等 其它远程管理服务,所以一般需要你能物理的接触主机(呵呵,恐怕作者写这篇文章的时 候怎么也没想到几年后的中国人会发现Unicode漏洞并制作了流光这种工具,再一次向袁 哥小榕致敬^O^-----译者注)。当然,任何只有一半大脑的人只要愿意都可以保护自己的 系统,让其不受远程攻击,所以如果你有一个本地帐号的话对你的帮助还是很大的。
05. 什么是DoS?
孩子们,不要误解,这可不是C:\DOS。 这是拒绝服务攻击(Denial of
Service)的简称,一个非常致命(并且低级)的攻击概念。DoS一般被用于一些很使用的目 的,一般人会用它来显示自己的能力和技巧,尽管这种攻击方法几乎不需要什么技巧。 我认为DoS有用的唯一原因是因为它可以用于欺骗目的:当局部网中一台系统瘫痪时,你 可以把你自己的地址改成那台已经瘫痪掉的电脑的,并且中途截取类似用户名和密码等 重要的信息(现在的IP欺骗技术已经开始运用于广域网了------译者注)。http://www.r ootshell.com(在documentation下)
有关于TCP劫持技术的一个说明,有兴趣的朋友可以去看看。好了,我们回到主题上。拒 绝服务攻击的定义可以简单描述为计算机受到此攻击后会拒绝一切internet主机的请求 ,停止一切服务,因此可以引起系统或软件彻底的崩溃。现在最普遍的DoS攻击(从我有 限的知识来说)是
papasmurf, boink/poink, feh, smack,
bmb,和synk5。这都是些用于IRC的过时的玩具,所以.......注意点你的形象吧。
06. 怎么样才能防范DoS攻击?
至今为止还没有能百分之百可靠的方法来防范DoS攻击,如果攻击宽带大于你的宽带,那 你就输了:故事结束(看来作者在写这篇文章的时候DoS技术还是只局限于单机攻击---- -译者注)。但如果你的宽带等于或大于攻击者,那么他的IP则可以很容易的被类似linu x
2.2.x下的Ipchains或Windows下的conseal防火墙等软件过滤掉,一些比较有趣的防火墙 过滤脚本可以http://www.freshmeat.net或http://www.linuxberg.com找到。如果你喜 欢在IRC聊天的话(yay!),用类似bnc的东西隐藏你真实的IP地址是个绝对聪明的选择, 事实上它还能让你更快的连接。你可以到ftp.*****x.org/pub/misc上下载bnc的原代码 。
07. 什么是缓冲区溢出?
长话短说,缓冲区溢出漏洞是指通过往程序的缓冲区写超出其长度的内容,造成缓冲区 的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。
例子:
$ whoami
benz
$ /usr/bin/sperl4.036 AAAAAA(etc..) /bin/sh
Segmentation Fault
# whoami
root
上面的记录是一个通过著名的sperl溢出得到root限权的例子。来确定你想溢出的程序能 给你root限权,你需要输入ls
-al并寻找限权许可中的"s",并且这个文件是属于root的。这说明了这个程 序是suid/root,而且当它运行的时候用户会被切换成root状态执行它。因为篇幅关系, 这段对缓冲区溢出的说明非常短,而且也非常简单。如果你想了解更多关于此技术的信 息可以http://www.phrack.com
- issue 49-14查阅
"Smashing the Stack for Fun and Profit" (为娱乐和利益破坏缓冲区)by Aleph
One。(网络论坛菜鸟版里有阿新刚整理的缓冲区溢出教学,很http://www.s8s8.net/! 另外中联绿盟和绿色兵团里也有很多关于溢出漏洞的中文资料,有心的朋友不妨去看看 http://www.nsfocus.com/
http://www.vertarmy.org/ ------译者注)
08. 有什么好的UNIX网站或Ftp站点吗?
Bugtraq网络安全邮件列表:http://www.geek-girl.com/bugtraq
rootshell文档(有点过时):http://www.rootshell.com
电子科学文档:ftp://ftp.technotronic.com
SlackNet:http://www.slacknet.org
Linux.org:http://www.linux.org
FreeBSD.org:http://www.freebsd.org
Packetstorm:http://packetstorm.genocide2600.com
2600 magazine:http://www.2600.com
Phrack magazine:http://www.phrack.com
(译者推荐:
中联绿盟http://www.nsfocus.com/
绿色兵团http://www.vertarmy.org/
网络安全文档集散地http://www.docshow.net/
中国安盟http://www.cn-nsl.com/
安全焦点http://www.xfocus.org/
网络安全评估中心http://www.cnns.net/)
09. 什么是BSD?
BSD是Berkeley Systems
Distrobution的缩写,是一种UNIX版本,以其使用的稳定性和简易性颇受广大Unix使用 者的欢迎。详细的信息请参http://www.freebsd.org,
http://www.openbsd.org,http://www.bsdi.org。
10. 什么是Linux?
Linux最先由Linus
Torvalds在网络上组织人员为PC机写了第一个免费的UNIX内核(KERNEL),发展至今已经 成为一个能在PC上可靠稳定工作的UNIX/X-WIN*作系统.这是一个在POSIX基础上建立的 *作系统,现在成为了黑客普遍使用的平台。更多的信息请参http://www.linux.org。
|
|