教你如何:入侵UNIX和Linux服务器入门

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

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

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

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

  二、破解密码

  在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目录或类似的目录,看能否找到密码文件的备份。

  经过二、三两个关键的步骤入侵者终于拿到了关键的密码文件,并且破解出了密码。现在可以运行TELNET程序,登陆主机了。当连上服务器时服务器会向你显示自己的一些信息,通常是U NIX、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 (有 r候 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系统缺乏了解的话那是绝对不可能掌握它的。

eNet硅谷动力

(0)

相关推荐

  • 教你如何:入侵UNIX和Linux服务器入门

    在讨论这部分知识前,读者需要知道--入侵网站是非法的:但是在网络上找到网站的入侵漏洞并通知该网站是受到欢迎的.为什么要这样寻找入侵漏洞或入侵哪,著名的黑客H ackalot说过"入侵网站是利用所学的知识来学习新的知识的一种办法",这也就是中国人所常说的"温故而知新". 尽管为服务器设计软件的软件工程师们想方设法提高系统的安全性,然而由于系统管理员的水平参差不齐或安全意识底下,往往给黑客提供了入侵的机会. 其实每一个黑客都有自己独到的方法.笔者对于入侵网站服务器的资料

  • 安全检测Unix和Linux服务器安全设置入门精讲

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

  • 教你如何搭建一个安全的Linux服务器教程

    要建立一个安全Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置.在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,也许你需要编辑这些文件来完成联网工作,但是这些配置文件大都可以通过配置命令linuxconf (其中网络部分的配置可以通过netconf命令来实现).下面介绍基本的 TCP/IP网络配置文件. * /etc/conf.modules文件 该配置文件定义了各种需要在激活时加载的模块的参数信息.这里主要着重讨论关于网卡的配置

  • 教你如何将Springboot项目成功部署到linux服务器

    springboot的jar包方式 idea默认就是jar打包方式所以直接使用maven工具按照步骤点击就可以直接打包 ps:打包前你的数据库相关的连接信息要记得修改,不能再用本地的了 第二步:Maven clean :清除编译后的目录,默认是target目录 [INFO] Scanning for projects... [INFO]                                                                          [INFO]

  • 在linux服务器上安装Jenkins

    Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器上安装Jenkins. 一.获得一台linux服务器 要在linux下安装git,首先你得先有一台linux服务器,作为小白,手头的机器肯定都是windows的,搞个虚拟机安装对我这种小白简直是折磨人:这里使用最简单的方式获得一台linux服务器,就是从阿里云上租一台.镜像选择CentOS7.3 64位. 二.安装jdk Jenkins的运行需要依赖jdk,所以在安装Jenkins之前我

  • CentOS Linux服务器安全设置

    我们必须明白:最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关闭.把系统权限设置到最小话,这样才能保证服务器最大的安全.下面是CentOS服务器安全设置,供大家参考. 一.注释掉系统不需要的用户和用户组 注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦. cp /etc/passwd /etc/passwdbak #修改之前先备份 vi /etc/passwd #编辑用户,在前面加上#注释掉此行 #adm:x:3:4:adm:/var/adm

  • 通过COM口管理Linux服务器

    本文简要地介绍了如何通过常见的COM口进行Linux服务器的控制台的扩展,具有实用性和简易性,不受服务器网络等条件的限制,可以方便地管理实际生产环境中的Linux服务器. 说到管理Linux服务器,大家会有很多种不同的办法:键盘+显示器.通过网络登陆.基于WEB的工具.X系统下的图形工具等等,这些方法用在普通的服务器或者自己 的PC服务器上是没有任何问题的,但是要管理一台24X7模式的服务器,确保在任何情况下都能直接快捷地管理到服务器,就不是那么容易了. 对比以上说到的几种方式: X系统下的图形

  • 如何在windows桌面使用ftp上传文件到linux服务器

    首先在linux服务器上安装ftp [root@host2 test]#yum -y install ftp vsftpd [root@host2 test]#service vsftpd start [root@host2 test]#chkconfig vsftpd --list [root@host2 test]#/etc/init.d/iptables stop [root@host2 test]# ftp 192.168.0.142 Connected to 192.168.0.142

  • linux服务器之间传输文件的四种方式

    本文为大家分享了linux服务器之间传输文件的四种方式,供大家参考,具体内容如下 1. scp [优点]简单方便,安全可靠:支持限速参数  [缺点]不支持排除目录 [用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 . 命令格式: scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径> 举例

  • linux服务器基本安全配置手册

    假如你想要搭建一个Linux服务器,并且希望可以长期维护的话,就需要考虑安全性能与速度等众多因素.一份正确的linux基本安全配置手册就显得格外重要.在我本文中就向大家介绍在edhat/centos 4,5下的Linux服务器基本安全配置手册. 安装注意 1.删除系统特殊的的用户帐号: 禁止所有默认的被操作系统本身启动的且不需要的帐号,当你第一次装上系统时就应该做此检查,Linux提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你有的帐号越多,就越容易受到攻击. #为删除你系统上的

随机推荐