ITPub博客

首页 > 应用开发 > IT综合 > 反击NMAP扫描

反击NMAP扫描

原创 IT综合 作者:eddiesen 时间:2006-10-21 17:10:25 0 删除 编辑
一、NMAP扫描

想要入侵一台电脑,首先要有一套完整的计划。在入侵系统之前,必须先找到一台目标主机,并查出哪些端口在监听之后才能进行入侵。找出网络上的主机,测试哪些端口在监听,这些工作通常是由扫描来实现的。扫描是进行入侵的第一步。通过使用扫描器(如Nmap)扫描网络,寻找存在漏洞的目标主机。一旦发现了有漏洞的目标,接下来就是对监听端口的扫描。Nmap通过使用TCP协议栈指纹准确地判断出被扫主机的操作系统类型。

其实很多人都知道,nmap -sS/-O 可以扫瞄别人的主机,如果一个攻击者不愿在扫描时使其信息被记录在目标系统日志上,TCP SYN扫描可帮你的忙,它很少会在目标机上留下记录,三次握手的过程从来都不会完全实现。通过发送一个SYN包(是TCP协议中的第一个包)开始一次SYN的扫描。任何开放的端口都将有一个SYN|ACK响应。然而,攻击者发送一个RST替代ACK,连接中止。三次握手得不到实现,也就很少有站点能记录这样的探测。如果是关闭的端口,对最初的SYN信号的响应也会是RST,让NMAP知道该端口不在监听。"-sS"命令将发送一个SYN扫描探测主机或网络:

# nmap -sS 192.168.0.1

Starting nmap V. 2.12 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Interesting ports on saturnlink.nac.net (192.168.0.1):
Port State Protocol Service
21 open tcp ftp
25 open tcp smtp
53 open tcp domain
80 open tcp http
...

Nmap run completed -- 1 IP address (1 host up) scanned in 1 second


既然可以被很轻易的扫描,那么我们有没有办法来进行反击nmap扫描? 也就是禁止对方进行一切nmap扫描,当发现对方扫描了一部分的port或是有异常的网络活动就记录下对方的ip?带着这些问题我们细细为大家一一讲述。


二、反击方式

1、其实这里举的例子算是比较高级的方法,这个方法几乎不会留下“痕迹”(log),您可以试试看下面有何不同代码:

nmap -sS localhost
nmap localhost

  然后去分别检查您的/var/log下的所有记录文件,您就会知道异同之处。

2、扫描工具非常多,nmap算是非常强大的工具,会有一部分介绍nmap+iptables如何搭配保障自己的server安全,其他还有如 snort、portsentry.....等工具。还有ntop都是不错的工具。

例如,我们打开Snort工具,Snort是一种开放资源网络侵扰探测系统(IDS),这一系统得到了来自忠实的志愿程序设计人员的技术支持。第一次独到关于Snort的文章是在几年前的一期技术杂志上,当时被提及的还有其他的一些IDS软件。当时Snort给人留下印象最深的一点在于,它是一种免费软件,与其他软件昂贵的价格形成了鲜明的对比,并且当时的文章推荐说,Snort可以作为了解IDS的很好的开始方式。最初,Snort是为了Linux/UNIX操作系统而编写的,但最终它也应用到了Windows操作系统。现在它甚至已经有了立体的图形用户界面。最新的Snort 版本可以从Snort Web 网站或者SiliconDefense.com.下载。

很多人都会犯的第一个错误是试图在Windows XP测试版上运行Snort。尽管文件上说Snort可以在Windows XP操作系统上运行,但是并不起作用,因此我们把它安装到了装有Windows NT 4.0测试版的机器上,这一次它的安装完全按照说明内容得到了实现。

下一步是将Snort安装到有防火墙保护的笔记本电脑上,笔记本电脑已经在防火墙之外进入了互联网。我们让Snort在整个晚上都保持运行,在第二天,情况发生了改变。在这里,我们发现了一系列的进入记录,这些记录来自这个国家另一端的一些计算机,他们试图打通防火墙来获取Code Red 2。获取了这些信息,我们进入了防火墙,排除了任何黑客的IP地址的通路。


3、怎么防范?原则上是没办法,因为他们都是通过正常service port来测试的,除非您把service给关了,所以常有人建议server安装好后,第一件事就是关掉不必要的service。当然入侵者还是有分高低手,所以我们也是按层次一步一步来防范,首先要经常检查“/var/log”下的各种记录文件。 其次,按时检查“root”的mail信箱,最后,常常更新RedHat公告的安全漏洞,别忘了您会看,入侵者也会看。


4、如何得知有人扫描您的机器?1)使用 service level security 方式,如 xinetd、telnet、ftp等工具和方式,设置config文件可限制登陆的失败次数。2)凭经验,每天坚持查看记录文件。3)凭借其他OpenSource网管工具,虽可统计分析封包,但有时候也不见得可判断出哪些属于攻击


5、隐蔽扫描,一个攻击者使用TCP连接扫描很容易被发现,因为Nmap将使用connect()系统调用打开目标机上相关端口的连接,并完成三次TCP握手,很可能被系统记录下来。如果你不愿意在扫描时使其信息被记录在目标系统日志上,就可以使用Nmap的TCP SYN扫描,它很少会在目标机上留下记录,三次握手的过程从来都不会完全实现。通过发送一个SYN包(是TCP协议中的第一个包)开始一次SYN的扫描。任何开放的端口都将有一个SYN|ACK响应。然而,攻击者发送一个RST替代ACK,连接中止。三次握手得不到实现,也就很少有站点能记录这样的探测。如果是关
闭的端口,对最初的SYN信号的响应也会是RST,让Nmap知道该端口不在监听。"-sS"命令将发送一个SYN扫描探测主机或网络

#Nmap -sS 192.168.0.1
Starting Nmap V. 2.2-BETA3 by Fyodor (fyodor@dhp.com, www.insecure.org/Nmap/)
Interesting ports on web.gxcc.com.cn (192.168.0.1):
Port State Protocol Service
21 open tcp ftp
22 open tcp ssh
23 open tcp telnet
25 open tcp smtp
111 open tcp sunrpc
1025 open tcp listen
1521 open tcp ncube-lm
2401 open tcp cvspserver
Nmap run completed -- 1 IP address (1 host up) scanned in 0 seconds

虽然SYN扫描可能不被注意,但他们仍会被一些入侵检测系统捕捉。Stealth FIN,Xmas树和Null scans可用于躲避包过滤和可检测进入受制端口的SYN包。这三个扫描器对关闭的端口返回RST,对开放的端口将吸收包。一个 FIN“-sF”扫描将发送一个FIN包到每个端口。这些打开的端口就是攻击者入侵点。当你修改过inetd.conf文件以关闭某些服务,从新启动inetd后,你 再用nmap扫描就可以发现被注释掉的服务扫描不到了。 当然,管理员还可以使用一些其他的安全扫描工具如:satan或 Nessus等 来检测自己的系统的安全可靠性,在攻击者发现其以前更早的发现自己的系统的漏洞,并加以弥补。



[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7227481/viewspace-872991/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Nmap使用方法
请登录后发表评论 登录
全部评论

注册时间:2011-01-04

  • 博文量
    35
  • 访问量
    603124