《30天打造安全工程师》第02天:从端口说起

有些端口是比较重要的比如135,137,138,139,445之类,那我扫描到的端口到底有什么用?我想你肯定要问,这样今天,我就用一个真实的扫描向你讲述扫到的端口的用途。

被扫的主机:192.***.xx.x

主机IP数:4

发现的安全漏洞:7个

安全弱点:45个

系统: Standard: Solaris 2.x, Linux 2.1.???, Linux 2.2, MacOS

Telnet (23/tcp) 
ssh (22/tcp) 
ftp (21/tcp) (发现安全漏洞) 
netstat (15/tcp) 
daytime (13/tcp) 
systat (11/tcp) 
echo (7/tcp) 
time (37/tcp) 
smtp (25/tcp) 
www (80/tcp) (发现安全漏洞) 
finger (79/tcp) 
auth (113/tcp) 
sunrpc (111/tcp) 
pop-2 (109/tcp) 
linuxconf (98/tcp) 
imap2 (143/tcp) 
printer (515/tcp) 
shell (514/tcp) 
login (513/tcp) 
exec (512/tcp) 
unknown (693/tcp) 
unknown (698/tcp) 
unknown (727/tcp) 
swat (910/tcp) 
unknown (1025/tcp) 
unknown (1039/tcp) 
unknown (1038/tcp) 
unknown (1037/tcp) 
unknown (1035/tcp) 
unknown (1034/tcp) 
unknown (3001/tcp) 
unknown (6000/tcp) 
echo (7/udp) 
general/tcp 
daytime (13/udp) 
unknown (728/udp) (发现安全漏洞) 
unknown (2049/udp) 
unknown (681/udp) 
unknown (2049/tcp)(发现安全漏洞)

可用telnet登录的端口 (23/tcp)

这个信息表明远程登录服务正在运行,在这里你可以远程登录到该主机,这种不用密码的远程登录服务是危险的,如果可以匿名登录,任何人可以在服务器和客户端之间发送数据。

发现的可攻击弱点 (21/tcp)

我在那里发现了一个目录是可写的:/incoming   ftp端口 (21/tcp) :ftp服务TELNET服务一样,是可以匿名登录的,而且在有的机器上它还允许你执行远程命令,比如CWD ~XXXX,如果你能CWD ROOT成功,那你就可以获得最高权限了,不过这样的好事好像不多。另外,有时还能用它获得一个可用的帐号(guest),或得知主机在运行什么系统

13/tcP(daytime):从这里可以得知服务器在全天候运行,这样就有助于一个入侵者有足够的时间获取该主机运行的系统,再加上udp也在全天候的运行,这样可以使入侵者通过UDP欺骗达到主机拒绝服务的目的。

ECHO(7/tcp):这个端口现在没什么用处,但它可能成为一个问题的来源,顺着它有可能找到其它端口以达到拒绝服务的目的。

(25/tcp)smtp端口:该端口开放邮件传输协议,回应可执行EXPN和VRFY命令,EXPN可以发现发送邮件的名称或者能找到一个完整的邮件接收人的名称。VRFY命令可以用来检测一个帐号的合法性

我们可以试着发这样一个类型的邮件给它: user@hostname1@victim

我们会收到一个这样的邮件:user@hostname1

也许我们就能用它穿过防火墙

WWW(80/TCP)端口:它表明WWW服务在该端口运行

finger (79/tcp) 端口:finger服务对入侵者来说是一个非常有用的信息,从它可以获得用户信息,查看机器的运行情况等。。。

auth (113/tcp) :ident服务披露给入侵者的将是较敏感的信息,从它可以得知哪个帐号运行的是什么样的服务,这将有助于入侵者集中精力去获取最有用的帐号(也就是哪些人拥有ROOT权限)

(98/tcp) LINUX在这个端口上运行

(513/tcp) RLOGIN在这个端口上运行

这种服务形同于TELNET,任何人可以在它的引导下在客户端和服务端之间传送数据。

exec (512/tcp) :rexecd在该端口开放,该服务使一个破译者有机会从它那里扫描到另外一个IP,或者利用它穿过防火墙。

也许你还能发现很多端口,不同的端口会有不同的作用,我最喜欢开135端口的,我们学校的几个FTP和主机都开了135端口,还用默认密码(不知道是为什么,我想主要是管理员考虑我们找不到肉鸡了『都2004年了,肉鸡很难找的,因为各位大侠都用着呢』,所以特地给我们准备好了),把我高兴的几天都没睡好,可惜里面没什么东西。只能当空间用着了。不过我们学校的主机大都用的是UNIX的,不是瘟二钱的,所以也让人有点郁闷啊,UNIX有点复杂,我只得从0学,还有点难,我会在后面讲到的,现在我们主要是关注WIN2000操作系统的主机了,说到这不能不提一下WIN2K源代码的泄漏,兄弟我在第一时间拿到了这个泄漏的源代码,有230M,还真多,看了一个晚上,也不怎么了解,反正有的是时间,先贴一段,大家瞧瞧,有看懂的,就不用来这看这了,呵呵,贴在网络技术里了。

至于软件方面我喜欢用流光(有些人或许不知道这是什么),是扫描器,很好用,是国产的,就是前面访问的小容做的,但他在里面设置了限制不许PING国内的主机,但好多大哥早就破掉了(感觉很幸福啊,不用自己破了),现在的最高版本好像是流光5.0吧,到GOOGLE 上搜一下就能找到N个,我就不说了(要提高动手能力嘛)

下面我来介绍几种常见的古老的扫描器:

一:NSS(网络安全扫描器)

NSS由Perl语言编成,它最根本的价值在于它的速度,它运行速度非常快,它可以执行下列常规检查:

Sendmail

匿名FTP

NFS出口

TFTP

Hosts.equiv

Xhost

注:除非你拥有最高特权,否则NSS不允许你执行Hosts.equiv。

利用NSS,用户可以增加更强大的功能,其中包括:

AppleTalk扫描

Novell扫描

LAN管理员扫描

可扫描子网

简单地说,NSS执行的进程包括:

取得指定域的列表或报告,该域原本不存在这类列表

用Ping命令确定指定主机是否是活性的

扫描目标主机的端口

报告指定地址的漏洞

尽管没有详尽讨论NSS,但我在这里要说明一些次要的问题:

在对NSS进行解压缩后,不能立即运行NSS,需要对它进行一些修改,必须设置一些环境变量,以适应你的机器配置。主要变量包括:

$TmpDir_NSS使用的临时目录

$YPX-ypx应用程序的目录

$PING_可执行的ping命令的目录

$XWININFO_xwininfo的目录

提示:如果你隐藏了Perl include目录(目录中有Perl include文件),并且在PATH环境变量中没有包含该目录,你需要加上这个目录;同时,用户应该注意NSS需要ftplib.pl库函数。NSS具有并行能力,可以在许多工作站之间进行分布式扫描。而且,它可以使进程分支。在资源有限的机器上运行NSS(或未经允许运行NSS)应该避免这种情况,在代码中有这方面的选项设置。

你可在下面地址找到NSS拷贝。 http://www.giga.or.at/pub/hacker/unix

二:Strobe(超级优化TCP端口检测程序)

strobe是一个TCP端口扫描器,它可以记录指定机器的所有开放端口。strobe运行速度快(其作者声称在适中的时间内,便可扫描整个一个国家的机器)。

strobe的主要特点是,它能快速识别指定机器上正在运行什么服务。strobe的主要不足是这类信息是很有限的,一次strobe攻击充其量可以提供给“入侵者”一个粗略的指南,告诉什么服务可以被攻击。但是,strobe用扩展的行命令选项弥补了这个不足。比如,在用大量指定端口扫描主机时,你可以禁止所有重复的端口描述。(仅打印首次端口定义)其他选项包括:

定义起始和终止端口

定义在多长时间内接收不到端口或主机响应,便终止这次扫描。

定义使用的socket号码

定义strobe要捕捉的目标主机的文件

提示:在你获得strobe的同时,必然获得手册页面,这对于Solaris 2.3是一个明显的问题,为了防止发生问题,你必须禁止使用getpeername()。在行命令中加入-g 标志就可以实现这一目的。

同时,尽管strobe没有对远程主机进行广泛测试,但它留下的痕迹与早期的ISS一样明显,被strobe扫描过的主机会知道这一切(这非常象在/var/adm/messages文件中执行连接请求)。

三:SATAN(安全管理员的网络分析工具)

SATAN是为UNIX设计的,它主要是用C和Perl语言编写的(为了用户界面的友好性,还用了一些HTML技术)。它能在许多类UNIX平台上运行,有些根本不需要移植,而在其他平台上也只是略作移植。

注意:在Linux上运行SATAN有一个特殊问题,应用于原系统的某些规则在Linus平台上会引起系统失效的致命缺陷;在tcp-scan模块中实现select()调用也会产生问题;最后要说的是,如果用户扫描一个完整子网,则会引进反向fping爆炸,也即套接字(socket)缓冲溢出。但是,有一个站点不但包含了用于Linux的、改进的SATAN二进制代码,还包含了diff文件,这些条款可以在ftp.lod.com上发现,或者可以直接从Sun站点(sunsite.unc.edu)取得diff文件:/pub/linux/system/network/admin/satan-linux.1.1.1.diff.gz

SATAN用于扫描远程主机的许多已知的漏洞,其中包括,但并不限于下列这些漏洞:

FTPD脆弱性和可写的FTP目录

NFS脆弱性

NIS脆弱性

RSH脆弱性

Sendmail

X服务器脆弱性

你可在下面地址中获得SATAN的拷贝: http://www.fish.com

安装过程:SATAN的安装和其他应用程序一样,每个平台上的SATAN目录可能略有不同,但一般都是/satan-1.1.1。安装的第一步(在阅读了使用文档说明后)是运行Perl程序reconfig。这个程序搜索各种不同的组成成分,并定义目录路径。如果它不能找到或定义一个浏览器。则运行失败,那些把浏览器安装在非标准目录中(并且没有在PATH中进行设置)的用户将不得不手工进行设置。同样,那些没有用DNS(未在自己机器上运行DNS)的用户也必须在/satan-1.1.1/conf/satan.cf中进行下列设置:$dont_use_nslookuo=1;在解决了全部路径问题后,用户可以在分布式系统上运行安装程序(IRIX或SunOS),我建议要非常仔细地观察编译,以找出错误。

提示:SATAN比一般扫描器需要更多一些的资源,尤其是在内存和处理器功能方面要求更高一些。如果你在运行SATAN时速度很慢,可以尝试几种解决办法。最直接的办法就是扩大内存和提高处理器能力,但是,如果这种办法不行,我建议用下面两种方法:一是尽可能地删除其他进程;二是把你一次扫描主机的数量限制在100台以下。最后说明的一点是,对于没有强大的视频支持或内存资源有限的主机,SATAN有一个行命令接口,这一点很重要。

四:Jakal

Jakal是一个秘密扫描器,也就是就,它可以扫描一个区域(在防火墙后面),而不留下任何痕迹。

秘密扫描器工作时会产生“半扫描”(half scans),它启动(但从不完成)与目标主机的SYN/ACK过程。从根本上讲,秘密扫描器绕过了防火墙,并且避开了端口扫描探测器,识别出在防火墙后面运行的是什么服务。(这里包括了像Courtney和GAbriel这样的精制扫描探测器)在下面地址中可以找到由Half life,Jeff(PhiJi)Fay和Abdullah Marahie编写的Jakal拷贝: http://www.giga.or.at.pub/hacker/unix ⑸IdentTCPscanIdentTCPscan是一个更加专业化的扫描器,其中加入了识别指定TCP端口进程的所有者的功能,也就是说,它能测定该进程的UID。

五:CONNECT

CONNECT是一个bin/sh程序,它的用途是扫描TFTP服务子网

六:FSPScan

FSPScan用于扫描FSP服务顺。FSP代表文件服务协议,是非常类似于FTP的Internet协议。它提供匿名文件传输,并且据说具有网络过载保护功能(比如,FSP从来不分*)。FSP最知名的安全特性可能就是它记录所有到来用户的主机名,这被认为优于FTP,因为FTP仅要求用户的E-mail地址(而实际上根本没有进行记录)。FSP相当流行,现在为Windows 和OS/2开发了GUI客户程序。

七:XSCAN

XSCAN扫描具有X服务器弱点的子网(或主机)。乍一看,这似乎并不太重要,毕竟其他多数扫描器都能做同样的工作。然而,XSCAN包括了一个增加的功能:如果它找到了一个脆弱的目标,它会立即加入记录。

XSCAN的其他优点还包括:可以一次扫描多台主机。这些主机可以在行命令中作为变量键入(并且你可以通过混合匹配同时指定)

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/55009.html

(0)
上一篇 2021年8月7日
下一篇 2021年8月7日

相关推荐

发表回复

登录后才能评论