入侵Linux服务器详解(在网上有许多网友提出这样的问题)

原贴:http://www.itcso.com/news/20060717/14034188773-1.shtml

在网上有许多网友提出这样的问题:究竟网站的主页是如何被黑的?黑客们到底是如何入侵服务器的?   

    在讨论这部分知识前,读者需要知道--入侵网站是非法的;但是在网络上找到网站的入侵漏洞并通知该网站是受到欢迎的。为什么要这样寻找入侵 漏洞或入侵哪,著名的黑客Hackalot说过“入侵网站是利用所学的知识来学习新的知识的一种办法”,这也就是中国人所常说的“温故而知新”。  

【原理】  

    尽管为服务器设计软件的软件工程师们想方设法提高系统的安全性,然而由于系统管理员的水平参差不齐或安全意识底下,往往给黑客提供了入侵的机会。   

     其实每一个黑客都有自己独到的方法。笔者对于入侵网站服务器的资料收集了很多,但是因为实际情况的不同,往往造成许多方法的失效;由此可见,每一个网站的 情况都不同,需要入侵者区分对待。假设深圳的线路比北京的线路要好的多,从而给了词典穷举很大的方便,深圳用户就可以依靠这个优势在线攻击口令,作为北京 的用户就需要优先考虑其它办法了。针对这么多的入侵手段,笔者参考H ackalot先生这位黑客界名人的一篇文章给大家介绍一下入侵网站的基本步骤。  

    分析一部分的主页被黑的事例可以发现使用入侵者最热衷于入侵Web服务器和FTP服务器,因为相对来说这是最简单的两种途径。在假设读者对U NIX系统和WEB SERVER的知识不曾了解的情况下,笔者给出下面的步骤。 

一、了解要入侵的系统  

     现在网络上用作服务器的操作系统以UNIX和Linux为主流,如果要入侵这些系统则必须对它们有一个了解。大部份在 DOS 上使用的指令在 UNIX 及 Linux 上都有对应的指令(因为早期的dos开发借鉴了UNIX),以下列出在使用 SHELL帐号 (shell account)时最主要的一些指令对应的dos指令:

HELP=HELP  
CP=COPY  
MV= MOVE  
LS= DIR  
RM =DEL  
CD=CD  

     要看谁同?也在该系?上用户可以键入 WHO 指令,要知道系?上某一位使用者的资料, 可以?入 FINGER。这些基本的 UNIX 指令可以让你得到你正使用系?的信息。  

二、破解密码   

    在UNIX操作系统中, 所有系统使用者的密码都存放在一个文件中,这个文件存放在 /etc这个目录下面, 它的文件名就叫做passwd。如果读者认为所要做的工作就是拿到这个文件按照上面的密码登陆系统的话那就大错特错了。UNIX和Linux下的p asswd文件是特殊的,在它里面所有帐号的密码都已经经过重新编译的(也就是前面说过的DES加密方法),而且这些密码所进行的都是单向编译( one-way encrypted),也就是说没有办法可以反编译它的(decrypt)。   

    但是还是有些程序可以得到这些原始的密码。笔者向大家推荐一个破解密码的程序“Cracker Jack”,它也是一个使用字典来对字典文件进行穷举的软件。首先“Cracker Jack”会把字典文件里的每一个值进行编译,然后将编译过的值与密码文件中的内容进行比较,得到相同的结果就会报告对应的未经编译密码。这个软件巧妙的 绕过密码无法反编译的限制,使用穷举比较获得密码。使用这种原理获得密码的工具有许多,读者可以到网络上去搜寻一下。  

三、获得密码文件   

    这是最困难的一部分。很明显,如果管理员有那么一个密码文件的话他当然不会放在那里让其它人舒舒服服的拿到的。入侵者必须找到好方法以不进入系统的方式拿到密码文件。这里笔者向大家介绍两种方法,大家可以试试,有可能会成功。  

1.tc目录在FTP服务上不会被锁住,入侵可以用FTP client程序使用anoymously匿名帐号登陆,然后检查一下/etc/passwd是否为匿名设置了被读取的权限,如果有马上备份下来使用软件解码。  

2.些系统中,/cgi-bin目录下会有个叫PHF的文件,如果准备入侵的服务器上有的话那就要方便的多了。因为PHF允许使用者对网站系统里的 文件作远端读取,以此为据,用户可以使用浏览器抓取p asswd文件,只要在浏览器地址栏中键入URL:http://xxx.xxx.xxx/cgi-bin/phf?Qalias=x% 0a/bin/cat%20/etc/passwd,其中xxx.xxx.xxx 是要入侵的网站名。  

    如果这两种方法都行不通的话,那入侵者必须实施其它的办法了。  

    在有些情况下入侵者找到的密码文件的第二部分是X、!或者*,那么说明该密码文件已经被锁死,这是系统管理员使用的加强安全的手段之一。但是将密码文件完 全隐藏起来的情况是不太有的。通常情况下都会有未经锁死的密码文件备份在系统中,这样入侵者就可以加以利用,比如:入侵者通常会寻找/ etc/shadow目录或类似的目录,看能否找到密码文件的备份。  

 
四、建立自己的shell帐号   

    经过二、三两个关键的步骤入侵者终于拿到了关键的密码文件,并且破解出了密码。现在可以运行TELNET程序,登陆主机了。当连上服务器时 服务器会向你显示自己的一些信息,通常是UNIX、linux、 aix、irix、ultrix、bsd 甚至是 DOS 和VAX/Vms;然后是Login提示符出现在屏幕上,这时键入得来的帐号和密码即可登陆系统。此时入侵者就可以利用自己的UNIX知识做自己喜欢做的 事了。  

最后对一份密码文件做一个分析,该文件内容如下:  
root:1234aaab:0:1:Operator:/:/bin/csh  
nobody:*:12345:12345::/:  
daemon:*:1:1::/:  
sys:*:2:2::/:/bin/csh  
sun:123456hhh:0:1:Operator:/:/bin/csh  
bin:*:3:3::/bin:  
uucp:*:4:8::/var/spool/uucppublic:  
news:*:6:6::/var/spool/news:/bin/csh  
audit:*:9:9::/etc/security/audit:/bin/csh  
sync::1:1::/:/bin/sync  
sysdiag:*:0:1:Old System  
Diagnostic:/usr/diag/sysdiag:/usr/diag/sysdiag/sysdiag  
sundiag:*:0:1:System  
Diagnostic:/usr/diag/sundiag:/usr/diag/sundiag/sundiag  
tom:456lll45uu:100:20::/home/tom:/bin/csh  
john:456fff76Sl:101:20:john:/home/john:/bin/csh  
henry:AusTs45Yus:102:20:henry:/home/henry:/bin/csh  
harry:SyduSrd5sY:103:20:harry:/home/harry:/bin/csh  
steven:GEs45Yds5Ry:104:20:steven:/home/steven:/bin/csh  
+::0:0:::  

其中以“:”分成几个栏位,比如: tom:456lll45uu:100:20:tomchang:/home/tom:/bin/csh的含义是:  
User Name: tom  
Password: 456lll45uu  
User No: 100  
Group No: 20  
Real Name: tom chang  
Home Dir: /home/tom  
Shell: /bin/csh   

    读者可以发现以上诸如nobody、 daemon、 sys、 bin、 uucp、 news、 audit、 sysdiag、sundiag 等的密码栏位都是*,也就是说这些帐号的密码都已锁死,无法直接利用。   

    值得注意的是,许多系统在首次安装后会有一些缺省帐号和密码,这给投机主义的黑客带来方便,以下就是一些UNIX下缺省的帐号和密码。  
ACCOUNT PASSWORD  
----------- ----------------  
root root  
sys sys / system / bin  
bin sys / bin  
mountfsys mountfsys  
adm adm  
uucp uucp  
nuucp anon  
anon anon  
user user  
games games  
install install  
reboot 供“command login”使用  
demo demo  
umountfsys umountfsys  
sync sync  
admin admin  
guest guest  
daemon daemon   

    其中 root mountfsys umountfsys install (有?候 sync也是) 等都是root级别的帐号, 也就是拥有了sysop (系统管理员)的权限。   

    最后有必要介绍一下UNIX的日志文件。很多入侵者不希望侵入的电脑追踪他们,那到底如何做那。   

   系统管理员主要依靠系统的LOG,即我们时常所说的日志文件来获得入侵的痕迹及入侵者进来的IP和其他信息。当然也有些管理员使用第三方工具来记录侵入电脑的信息,这里主要讲的是一般U NIX系统里记录入侵踪迹的文件。   

    UNIX系统有多个版本,各个系统有不同的LOG文件,但大多数都应该有差不多的存放位置,最普通的位置就是下面的这几个:  
/usr/adm,早期版本的UNIX;  
/var/adm,新一点的版本使用这个位置;  
/var/log,一些版本的Solaris,Linux BSD,Free BSD使用这个位置;  
/etc,大多数UNIX版本把utmp放在此处,一些也把wtmp放在这里,这也是 syslog.conf的位置。   

    下面列举一些文件的功能,当然他们也根据入侵的系统不同而不同。  
acct 或 pacct,记录每个用户使用的命令记录;  
access_log,主要使用来服务器运行了NCSA HTTPD,这个记录文件会有什么站点连接过你的服务器;  
aculog,保存着你拨出去的MODEMS记录;  
lastlog,记录了用户最近的登陆记录和每个用户的最初目的地,有时是最后不成功登陆的记录;  
loginlog,记录一些不正常的登陆记录;  
messages,记录输出到系统控制台的记录,另外的信息由syslog来生成;  
security,记录一些使用UUCP系统企图进入限制范围的事例;  
sulog,记录使用su命令的记录;  
utmp,记录当前登录到系统中的所有用户,这个文件伴随着用户进入和离开系统而不断变化;  
utmpx,UTMP的扩展;  
wtmp,记录用户登录和退出事件;  
syslog,最重要的日志文件,使用syslogd守护程序来获得。  
日志信息:  
/dev/log,一个UNIX域套接字,接受在本地机器上运行的进程所产生的消息;  
/dev/klog,一个从UNIX内核接受消息的设备;  
514端口,一个INTERNET套接字,接受其他机器通过UDP产生的syslog消息;  
Uucp,记录的UUCP的信息,可以被本地UUCP活动更新,也可有远程站点发起的动作修改,信息包括发出和接受的呼叫,发出的请求,发送者,发送时间和发送主机;  
lpd-errs,处理打印机故障信息的日志;  
ftp日志,执行带-l选项的ftpd能够获得记录功能;  
httpd日志,HTTPD服务器在日志中记录每一个WEB访问记录;  
history日志,这个文件保存了用户最近输入命令的记录;  
vold.log,记录使用外接媒介时遇到的错误记录。

    以上介绍了一下入侵服务器的主要步骤,读者现在应该对它有一些基础的认识了。需要再次强调的是如果读者对UNIX系统缺乏了解的话那是绝对不可能掌握它的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Linux服务器搭建实战详解》是一本教授如何搭建和管理Linux服务器的书籍。本书主要包括以下内容。 首先,书中介绍了Linux服务器的基础知识,包括Linux操作系统的安装和配置,网络和安全设置等。读者可以通过这些基础知识了解Linux服务器的工作原理和关键概念。 其次,书中详细介绍了常见的服务器搭建方法。例如,Web服务器的安装和配置,如Apache和Nginx;数据库服务器的安装和配置,如MySQL和PostgreSQL;电子邮件服务器的搭建等。每个部分都有详细的步骤和示例,读者可以跟随书中的指导操作,快速搭建自己的服务器。 另外,本书还介绍了一些高级主题,例如服务器的监控和调优,如使用Nagios监控服务器状态,使用sysctl优化服务器性能等。这些主题可以帮助读者进一步提高服务器的性能和稳定性。 最后,本书还包含了一些实例和案例分析,以帮助读者更好地理解如何应用所学知识。例如,如何搭建一个具有负载均衡和容错能力的Web服务器集群,如何对数据库进行主从复制等。 总之,《Linux服务器搭建实战详解》是一本详细介绍了Linux服务器搭建和管理的实用指南。读者可以通过阅读本书,快速掌握搭建服务器的技巧和方法,提高自己在Linux服务器管理方面的能力。 ### 回答2: 《Linux服务器搭建实战详解》是一本介绍如何在Linux操作系统上搭建服务器的实用指南。本书详细描述了各种常见服务器的安装、配置和管理过程,涵盖了Web服务器、数据库服务器、邮件服务器等多个方面,具有很高的实用性。 首先,本书介绍了Linux服务器的基本概念和原理,让读者了解到服务器的工作原理和主要组成部分。接着,书中详细介绍了如何选择合适的Linux发行版,并进行操作系统的安装和基本配置。读者将学会使用命令行界面和图形界面进行操作,掌握基本的Linux管理技能。 随后,本书分别介绍了Apache、Nginx等常用的Web服务器的安装和配置,包括虚拟主机、SSL证书等内容的设置。此外,对于数据库服务器,本书也详细介绍了MySQL、PostgreSQL等数据库的安装和配置,以及基本的数据库管理和优化技巧。 此外,本书还介绍了邮件服务器的搭建,包括使用Sendmail、Postfix等邮件服务器软件的安装和配置。同时,还介绍了如何设置邮件域名、邮件账户等相关内容,让读者能够搭建出完整的邮件服务器。 最后,本书还介绍了服务器的安全管理和监控,包括防火墙的配置、日志管理、入侵检测等内容。读者将学会如何保护服务器的安全,并及时发现和应对潜在的威胁。 总之,《Linux服务器搭建实战详解》是一本适合初学者和有一定Linux基础的读者的实用指南。通过学习本书,读者将能够熟练掌握Linux服务器的搭建和管理技巧,既能够提升个人技能,也能够为企业的服务器管理提供有力的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值