Nmap备忘单:从探索到漏洞利用(1)

发表于:2016-6-17 11:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:h2z    来源:51Testing软件测试网采编

  在侦查过程中,信息收集的初始阶段是扫描。
  侦查是什么?
  侦查是尽可能多的收集目标网络的信息。从黑客的角度来看,信息收集对攻击非常有帮助,一般来说可以收集到以下信息:
  电子邮件、端口号、操作系统、运行的服务、Traceroute或者DNS的信息、防火墙识别和逃逸等等
  NMAP的简介
  nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
  NMAP脚本引擎
  NMAP脚本引擎是NMAP最强大且灵活的特性。它允许用户编写简单的脚本来自动化执行各种网络任务,基本上这些脚本采用lua语言进行编写。通常NMAP的脚本引擎可以做很多事情,比如:
  网络发现
  这是NMAP的基本功能,例子包括查找目标域名的whois信息,在查询ARIN,RIPE,或APNIC上查询目标ip的所有权,查找开放端口,SNMP查询和列出可用的NFS/SMB/RPC共享和服务。
  漏洞检测
  当一个新的漏洞被发现,你想赶在入侵者之前快速扫描网络来识别出有漏洞的系统。虽然NMAP不是一个全面的漏洞扫描器,但NSE是强大到足以应付苛刻的漏洞检查。许多漏洞脚本已经可用,并计划编写更多的脚本。
  后门检测
  很多攻击者和一些自动化蠕虫会留下后门以便后期可再次进入。其中一些可以被NMAP基于正则表达式检测。
  漏洞利用
  作为一种脚本语言,NSE甚至可以进行漏洞利用,而不仅仅是找到它们。添加自定义攻击脚本的这个功能可能对某些人(特别是渗透测试人员)有价值,但不打算把NMAP开发成metasploit框架那样的东西。
  正如你所看到的,我已经使用(-sc)选项(或-script),这会执行一个默认脚本来扫描网络。你可以看到我们得到ssh、rpcbind netbios-sn,但端口过滤或关闭,所以我们可以说,可能会有一些防火墙阻塞我们的请求。稍后我们将讨论如何识别防火墙和试图逃避它们。
  现在我要发现模式的运行ping扫描(-sP –script discovery),这样它会尝试所有可能的方法来扫描,这样我将得到更多有趣的信息。
  图像中可以看到,它正在根据脚本的规则尝试所有可能的方法。有关更多信息,请参见下一个图像。
  
  你能看到有趣的端口和协议吗?你可以看到dns-bruteforce发现主机包含一些blog,cms,sql,log,mail等二级域名。这里我们可以执行SQL注入,博客可能是WordPress,Joomla等,所以我们可以利用已公开的CMS漏洞。
  接下来我会描述如何编写自己的NMAP脚本,并通过NMAP去调用。
  基本扫描技术
  在这里我将展示用于扫描网络/主机的基本技巧。但在此之前,你应该知道关于扫描后的NMAP状态的一些基本的东西。
  端口状态:扫描后,你可能会看到一些结果,端口状态是过滤,打开,关闭,等等。让我解释这一点。
  开放:这表明一个应用程序侦听此端口上的连接。
  关闭:这表示收到了探头,但没有应用程序侦听此端口。
  已过滤:这表明探针没有收到,无法建立连接。它也表明探针被某些筛选给丢弃。
  未过滤:这表明探针接收但无法建立连接。
  打开/过滤:这表示该端口进行过滤或打开,但NMAP的无法建立连接。
  关闭/过滤:这表示该端口进行过滤或关闭,但NMAP的无法建立连接。
  扫描单个网络
  执行NMAP 192.168.1.1或者www.baidu.com这样的主机名。
 
  扫描多个网络/目标
  执行NMAP 192.168.1.1 192.168.1.2等,NMAP将扫描同个网段内不同的ip地址。
  
  你还可以在相同的命令一次扫描多个网站/域名。见下面的图片。这将域名转换为其对应的IP地址和扫描目标。
  
  扫描连续的IP地址
  命令:NMAP 192.168.2.1-192.168.2.100
  NMAP也可以用使用CIDR(无类别域间路由)表示法整个子网。
  命令:NMAP 192.168.2.1/24
  扫描目标列表
  如果你有大量的系统进行扫描,就可以在文本文件中输入IP地址(或主机名),并使用该文件作为输入。
  命令:NMAP -iL [LIST.TXT]
  扫描随机目标
  该-IR参数可以用来选择随机Internet主机进行扫描。 NMAP会随机生成目标的指定数量,并试图对其进行扫描。
  语法:NMAP -ir [主机数]
  该-exclude选项与用于从NMAP的扫描中排除主机。
  命令:NMAP 192.168.2.1/24 -exclude 192.168.2.10
  侵入性扫描
  最常用的NMAP的选项,试图用一个简单字母A的替代长字符串。它也会执行路由跟踪等。
  命令:NMAP -A主机
  使用NMAP探索
  使用NMAP探索是非常有趣且对渗透测试非常有帮助。在发现过程中可以了解服务,端口号,防火墙的存在,协议,操作系统等,我们将一个接一个讨论。
  不进行Ping
  该-PN选项指示NMAP跳过默认的发现检查并对执行对目标的完整端口扫描。当扫描被阻止ping探针的防火墙保护的主机时,这是非常有用的。
  语法:NMAP -PN 目标
  
31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号