枫林在线论坛精华区>>信息安全
[55178] 主题: 常见入侵问题问答
作者:  (顾左右而言他)
标题: 常见入侵问题问答[转载]
来自: 218.79.*.*
发贴时间: 2003年05月05日 23:37:59
长度: 6908字
01. 我怎么才能知道对方是使用着UNIX? 
其实有很多办法可以远程获取对方的*作系统信息。最先也是最重要的就是
如果对方的系统是UNIX的话,它应该同时有telnet和ftp服务。然后看看登
陆信息,以Telnet为例,如果你在登陆信息里看到任何类似BSD, 
UNIX, Linux, AIX, IRIX, 
或HPUX的东西,那它八成是Unix系统。当然,管理员很有可能改变Telnet
登陆时显示的信息(/etc/issue.net),所以Telnet登陆信息并不总是可信
赖的。不过你一般都可以通过ftpd 
version准确的猜测出对方的*作系统,如果你从ftpd version中看到任何
类似wu, ncfptd, or 
proftpd等东西,那它一定是Unix啦。不过万一你看见信息包含了"M
icrosoft"或"Serv-U"等类似只能在ms 
windows上运行的ftp客户端的话,呵呵.......(bad!). 

还有一些可以更准确的判断对方*作系统的方法,如通过数据包检查系统指
纹,现在有很多这样的工具,我个人认为最好的要算fyodor的nmap了http
://www.insecure.org/nmap)。通过这些简单的的端口扫描,你可以常识去
找与这些数据包类型相匹配的*作系统。Nmap一般附带了几百种*作系统指
纹,而且它以其准确度及速度闻名于世。*作系统指纹也并不总是百分之百
的正确,由于它的资料太过复杂,本文无法详细的介绍。基本上,一些系
统管理员改变了其系统发出的数据包去欺骗扫描器,让扫描器以为这是其
它系统甚至根本无法阅读。如果你对这方面敢兴趣的话可以http://www.g
eek-girl.com/bugtraq中去看看详细资料。 

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$的prompt。当你以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.rootsh
ell.com(在documentation下) 
有关于TCP劫持技术的一个说明,有兴趣的朋友可以去看看。好了,我们回
到主题上。拒绝服务攻击的定义可以简单描述为计算机受到此攻击后会拒
绝一切internet主机的请求,停止一切服务,因此可以引起系统或软件彻
底的崩溃。现在最普遍的DoS攻击(从我有限的知识来说)是 
papasmurf, boink/poink, feh, smack, 
bmb,和synk5。这都是些用于IRC的过时的玩具,所以.......注意点你的形
象吧。 

06. 怎么样才能防范DoS攻击? 
至今为止还没有能百分之百可靠的方法来防范DoS攻击,如果攻击宽带大于
你的宽带,那你就输了:故事结束(看来作者在写这篇文章的时候DoS技术
还是只局限于单机攻击-----译者注)。但如果你的宽带等于或大于攻击者
,那么他的IP则可以很容易的被类似linux 
2.2.x下的Ipchains或Windows下的conseal防火墙等软件过滤掉,一些比较
有趣的防火墙过滤脚本可以http://www.freshmeat.net或http://www.lin
uxberg.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://ww
w.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。 


========== * * * * * ==========
作者:  (顾左右而言他)
标题: RE:
来自: 218.79.*.*
发贴时间: 2003年05月05日 23:38:20
长度: 2740字
11. x86是干什么的? 
x86是对基于intel处理器的系统的标准缩写。X与处理器没有任何关系,它
是一个对所有*86系统的简单的通配符定义,例如:i386, 586 
奔腾(pentium)。 

12. 除了x86以外还有什么其它的系统? 
除了基于Intel的系统,还有其他许多体系用于UNIX。一般来讲最普通的n
on-x86系统结构是Sun公司的工作站系统“Sparc”。它们的能力几乎和x8
6系统结构不分秋色,这些代表性的系统有SunOS和Solaris。 

13. 一般服务器会打开什么样的服务? 
一般我想知道对方服务上上有什么服务是由对方使用的什么*作系统而决定
的。例如,如果对方的系统是Linux 
2.0.3x,那么我将扫描几个代表性的服务如tcp/111上的rpcbind/portmap
,因为我知道这些服务上可能存在着溢出漏洞。下面是一些系统上可能会
存在漏洞的服务,如果你发现目标上存在这些服务就要仔细的研究一下了
: 
Redhat 4.2: tcp/143 (imap), etc.. 
RedHat 5.0: tcp/25 (sendmail), tcp/143 (imap), tcp/25 (qpop), tc
p/53 (bind) 
RedHat 5.1: tcp/111 (rpcinfo -p ), tcp/110 (qpop), tcp/53 (bind)
 
RedHat 5.2: tcp/21 (wu-2.4.2-academ(1)) 
Slackware: tcp/111 (rpc), tcp/110 (qpop), tcp/21 (wu-ftpd), tcp/
53 (bind) 
FreeBSD: tcp/110 (qpop), tcp/143 (imap), tcp/53 (bind) 
Solaris: tcp/110 (rpc), tcp/53 (bind) 

14. 现在有什么简单的办法去入侵? 
<看第13问上的服务列表> 

15. 我能用Windows入侵任何东西吗? 
很荣幸的告诉你,可以。甚至将近有50多个漏洞你光使用阅览器就可以入
侵!这些CGI漏洞很常见,看看下面这几个: 
/cgi-bin/phf 
/cgi-bin/php.cgi 
/cgi-bin/Count.cgi 
/cgi-bin/info2www 
/_vti_pvt/service.pwd 
/cgi-bin/test-cgi 
/cfdocs/expeval/openfile.cfm 
/cgi-dos/args.bat 
/cgi-win/uploader.exe 
(现在这种漏洞又增加了不少,当然它们是菜鸟的福音,但这些漏洞真能提
高黑客的水平吗?------译者注) 

16. 为什么Linux比Windows好? 
我有几百个为什么Linux比Windows好的理由,不过我用一句忠告来代替全
部这些理由:如果你想成为一个在Windows下需要事实的幸存者的话,相信
我的话,去看看这个吧 
http://www.darkelf.net/metachart。 

17. 什么是suid/sgid? 
<看第7问> 

18. 什么地方最适合初学者? 
我认为最好的地方莫过于IRC聊天室了。因为大多数黑客都是自己去学习的
,所以黑客的技术资料并不是非常丰富,不过还是有许多非常好的黑客资
料可以在网上找到,看看第8问后面的那些URL,我想会对你们有很大的帮
助。 

19. 入侵能给我带来多少麻烦? 
大多数象我一样的典型的学生黑客还都未满18岁,也就是说还是未成年人
。如果对未成年人起诉没有成立的话,你只需要担心会接到一笔白痴但不
会太多的罚款。不过其它一些年龄比较大的黑客,我建议你在真正进行入
侵前还是最好先找一个律师。这可能听起来很愚蠢,但是任何人都有可能
在入侵后的第二天便接到法庭的传单。如果你想了解一些关于成年黑客犯
罪的信息,请去参http://www.kevinmitnick.com。 

20. 我应该先入侵什么样的系统? 
对于初学者,我认为你第一台应该入侵的电脑最好是你自己的。有很多更
好的方法去在本地学习网络安全,尝试自己安装一个类似Linux和BSD一类
的服务器,然后查找漏洞,这能在安全的前提下给你带来很多乐趣。 

========== * * * * * ==========
返回