最近,我疯狂的迷上了Linux那优雅的绅士帽。偶尔连上一台服务器,拿几个工具扫描后,我发现Linux其实缺省启动了很多服务,比较典型的有Rlogind、Inetd、Httpd、Innd、Fingerd等,估计网管不是个勤快的人。虽然我并不是一个漏洞革新者,但利用最新公布的黑客工具来突破一个刚刚被发现的安全漏洞,并不是很困难的事情。
入侵
确定目标之前,我准备了一些Linux下的基本工具。
1.从GCC开始
GCC是Linux下攻击者的必备利器之一,它是一款功能强大、性能优越的多平台编译器。GCC的基本用法是:GCC [options] [filenames],其中Options就是编译器所需要的参数,Filenames是相关的文件名称。
TIPS:GCC常见的参数有:
-c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。
-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,GCC就给出预设的可执行文件a.out。
-g,产生符号调试工具所必要的符号。
-O,对程序进行优化编译、连接。
下面是一个简单的例子。首先启动Linux,进入到VI界面,打开VI a.c,然后随意写入一段C语言程序,例如:
#include "stdio.h"
int main()
{
printf("test GCC");
}
然后用GCC编译,命令为:GCC a.c,然后会产生一个a.out的文件,用命令“./a.out”执行即可,这个工具对于Linux下的漏洞攻击十分管用,因此,“肉鸡”上是否开放了这个功能就显得很重要了。
2.连接:尽在掌握
现在,该考虑目标机器了。根据我掌握的情况,某单位的一帮闲人安全意识十分薄弱,而且承包系统管理的单位也整天无所事事。扫描、搜索,找到一个目标后,该考虑考虑攻击手段了,Crack Passwd?Buffer Overflow?CGI漏洞利用?不过,首先要把目标机连上,测试一下:
C:\>ping 203.207.xxx.xxx
Pinging 203.207.xxx.xxx [203.207.xxx.xxx] with 32 bytes of data:
Reply from 203.207.xxx.xxx: bytes=32 time=210ms TTL=119
Reply from 203.207.xxx.xxx: bytes=32 time=130ms TTL=119
Reply from 203.207.xxx.xxx: bytes=32 time=561ms TTL=119
Reply from 203.207.xxx.xxx: bytes=32 time=501ms TTL=119
Ping statistics for 203.207.xxx.xxx:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 130ms, Maximum = 561ms, Average = 350ms
看看目标有没有开Finger服务?一般来说利用Finger,总可以得到几个用户名信息,再通过简单的猜测来试探用户密码。得到一些普通用户帐号后,就可以考虑用Telnet方法来看看了。
3.扫描:看个清清楚楚
现在,该考虑扫描Linux服务器了。目标开了哪些端口?这些端口有什么利用价值?扫描返回的Banner信息说明目标是什么系统?什么版本?这些版本的OS有什么可利用的漏洞?我们有哪些攻击方法可以使用?还是一步一步来吧!
NMap(Network Mapper)是Linux下的网络扫描和嗅探工具包,其基本功能有三个,一是探测一组主机是否在线;其次是扫描主机端口,嗅探提供的网络服务;三是可以推断主机所用的操作系统。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。此外,它还允许用户定制扫描技巧,并能将探测结果记录到各种格式的日志中,供进一步分析操作。
NMap可以从http://www.insecure.org/nmap/获得。可以选择RPM格式或者RPM源码格式安装。以下是一个安装范例:
bzip2 -cd nmap-VERSION.tar.bz2 | tar xvf -
cd nmap-VERSION
./configure
make
su root
make install
执行NMAP后,我们看到如下结果:
# nmap -sS -T Agressive -p 1-10000 203.207.xxx.xxx | grep open
Port State Protocol SerVIce
21 open tcp ftp
22 open tcp ssh
25 open tcp smtp
80 open tcp http
119 open tcp nntp
3306 open tcp mysql
从以上的分析列表可以看到,203.207.xxx.xxx作为WWW和FTP服务器使用,此外,该服务器还提供了SSH、SMTP、NNTP、MSQL和MSQL1服务。在这些服务中,SSH是一种带有完善加密和认证机制的协议,如果服务器上运行的SSH是最新版本,那么攻击它就有一定的难度。HTTP、FTP、SMTP和NNTP是203.207.xxx.xxx服务器实际提供的服务,这些服务是必须运行的。
现在,我们找到了打开的端口,却不知道是哪个程序在操作这个端口,就要使用LSOF等工具了。执行命令“lsof -P -n –i”,即可显示所有本地打开的端口及操作这些端口的程序。一个比较典型的例子如图1所示。
图1
另外,如果想看看服务器管理员为这个域所设置的内容,还可以用Nslookup输出网络域信息,查看DNS,然后运行NMAP搜索整个网络可以列出域之内所有已知服务器。
4.查询:探个明明白白
看看目标有没有开Finger服务,如果有的话利用Finger得到用户名信息,我们可以通过简单的猜测来试探用户密码,用户多的话总会有几个懒虫的现在进行更加深入的探测。使用Rpcinfo和Kshowmount等,可以查询机器提供了哪些服务。
如果NFS正在运行,就有可能从服务器获得已导出文件系统的清单,不过我在这台服务器上并没有成功,倒是在另一台默认值有问题的服务器上取得了成功,这台服务器把文件系统完全不受保护地以可读写方式显露给外界,这就给了我一个很好的机会:
# /usr/sbin/kshowmount -e 203.207.xxx.002
Export list for 203.207.xxx.002:
/usr/lib/cobol (everyone)
/usr/sys/inst.images (everyone)
/stadtinf (everyone)
/var/spool/mail (everyone)
/usr/lpp/info (everyone)
/usr/local (everyone)
/pd-software (ever
亿恩科技地址(ADD):郑州市黄河路129号天一大厦608室 邮编(ZIP):450008 传真(FAX):0371-60123888
联系:亿恩小凡
QQ:89317007
电话:0371-63322206 本文出自:亿恩科技【www.enkj.com】
服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]
|