Kali Linux Web渗透测试手册(第二版) - 2.3 - 使用Nmap进行扫描和识别应用服务

翻译来自掣雷小组

成员信息:

thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt,

这个公众号,一定要关注哦,慢慢会跟上面老哥们一起分享很多干货哦~~

标记红色的部分为今日更新内容。

第二章:侦察

介绍

2.1、被动信息收集

2.2、使用Recon-ng收集信息

2.3、使用Nmap扫描和识别应用服务

2.4、标识web应用程序防火墙

2.5、确定HTTPS加密参数

2.6、使用浏览器的开发工具分析和更改基本行为

2.7、获取和修改cookie

2.8、利用robots.txt

2.3、使用Nmap进行扫描和识别应用服务

Nmap是世界上使用最多的端口扫描器,它可以用于识别活动主机、扫描TCP和UDP开放端口、检测防火墙、获取在远程主机上运行的服务版本,甚至使用脚本发现和利用漏洞。

在此小节中,我们将使用Nmap来识别在目标应用服务器上运行的所有服务及版本,为了方便学习,我们将在对Nmap的几次演示中进行此操作,也可以使用一条命令完成。

准备

我们需要让我们的靶机 vm_1 运行起来

怎么做…

本小节的所有任务都可以通过一个命令来完成,为了更好的说明它们的功能和结果,这里分别展示了它们:

首先,我们想要知道服务器是否响应ping,或者主机是否是启动状态:

# nmap -sn 192.168.56.11

现在,我们可以知道这个主机是在启动的状态,让我们看看它的哪些端口是打开的:

# nmap 192.168.56.11

现在我们将告诉Nmap向服务器询问它正在运行的服务版本,并且据此来猜测操作系统:

# namp -sV -o 192.168.56.11

我们可以看到,我们的 vm_1 很可能是一个Linux操作系统(Nmap无法准确的确定它)。它使用Apache 2.2.14 web服务器、PHP 5.3p1、Jetty 6.1.25等等。

它是如何工作的…

Nmap是一个端口扫描器;这代表着它将数据包发送到指定IP地址上的一些TCP或UDP端口,并且检查是否有响应。如果有,则表示端口是开放的;即服务在该端口上运行。

在第一条命令中,对于-sn参数,我们指示Nmap只检查该服务器是否响应ICMP请求(或者是ping)。我们的服务器给出了响应,所以该主机是在存活状态的。

第二个命令是调用Nmap最简单的方法;它只指定目标IP地址。它所做的是ping服务器;如果它做出响应,那么Nmap将向1000个TCP端口的列表发送探测器,以查看哪个端口响应以及如何响应,然后它报告结果,显示哪些端口是打开的。

第三条命令在第二条命令的基础上添加了以下两个参数:

  • -sV:请求找到每个开放端口banner-header或自我标识,也就是每个端口运行服务的版本
  • -o:告诉Nmap尝试使用从开放端口和版本信息的信息来猜测目标上运行的操作系统。

更多…

使用Nmap时的其他有用参数如下所示:

  • -sT:默认情况下,当它作为root用户运行时,Nmap使用一种称为SYN扫描的扫描类型。使用这个参数,我们强制扫描器执行完全连接扫描,它速度较慢,并且会在服务器日志中留下一条记录,但不太可能被入侵检测系统检测到或被防火墙阻止。
  • -Pn:如果我们已经知道主机时存活的但是没有响应ping,我们可以使用这个参数告诉Nmap跳过ping测试并扫描所有指定的目标(假设它们已经启动)
  • -v:这是冗长模式。Nmap将展示更多关于它正在扫描中的信息。这个参数可以在同一个命令中多次使用,使用的越多,得到的反馈就越多(-vv或-v –v –v –v )
  • -p N1,N2,…N3:如果要测试特定端口或一些非标准端口,我们可能需要使用这个参数,其中N1到Nn时我们希望Nmap扫描的端口号。例如,要扫描21、80到90和137,参数奖是-p 21,80-90,137。另外,使用-p- Nmap将扫描0到65之间的所有端口和536端口
  • --script=script_name:Nmap包含许多有用的脚本,用于漏洞检查,扫描或者识别,登录测试,命令执行,用户枚举等等。使用此参数告诉Nmap在目标的开放端口上运行脚本。您可能想了解以下Nmap使用的一些脚本:https://nmap.org/nsedoc/scripts/。

另请参阅

尽管Nmap是最流行的,但它并不是唯一可用的端口扫描器,根据不同的环境,它可能不是最好的选择。Kali Linux中还有其他的一些替代方案,例如:

  • Unicornscan
  • Hping3
  • Masscan
  • Amap
  • Metasploit’s scanning modules

原文发布于微信公众号 - 玄魂工作室(xuanhun521)

原文发表时间:2018-11-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Debian社区

HAProxy用法详解 最详细中文文档

(1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案...

44730
来自专栏大数据和云计算技术

HBase运维实践-聊聊RIT的那点事

相信长时间运维HBase集群的童鞋肯定都会对RIT(Region-In-Transition,很多参考资料误解为Region-In-Transaction,需要...

29440
来自专栏玄魂工作室

CTF实战4 HTTP协议及嗅探抓包

HTTP(Hypertext Transfer Protocol)中文<超文本传输协议>,是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议,是Int...

12820
来自专栏腾讯Bugly的专栏

dex分包变形记

一、背景 就在项目灰度测试前不久,爆出了在 Android 3.0以下手机上安装时出现 INSTALL _ FAILED_DEXOPT,导致安装失败。这一问题意...

486110
来自专栏大数据和云计算技术

HBase框架基础(二)

HBase的基础框架,将分成几个章节对HBase进行描述,不当之处还望大家批评指正。下面是了解HBase基础架构的第二部分。

15620
来自专栏Java后端技术栈

2018整理最全的50道Redis面试题!

Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到...

35900
来自专栏逻辑熊猫带你玩Python

与虚拟机交互文件的3种方式

大家好,我是公众号逻辑熊猫带你玩Python的小编LogicPanda,今天的主题是“与虚拟交互文件的3种方法”。

40430
来自专栏java达人

调用外部api时的数据一致性问题

春节又要来了,远行的小伙伴们将开始一场刺激的抢票之旅,关于购票,从程序角度上而言,大致分为这么几步: 1、 检查是否有剩余的票 2、 购票后票数减一 3、...

87680
来自专栏深度学习计算机视觉

操作系统知识梳理共9次缺页

第一章:概述 什么是操作系统? 是一段一直运行在计算机上的程序 是资源的分配者 向上管理软件向下管理硬件 为用户提供良好接口 中断的概念? 中断指当出现需要时,...

28550
来自专栏salesforce零基础学习

salesforce零基础学习(八十五)streaming api 简单使用(接近实时获取你需要跟踪的数据的更新消息状态)

Streaming API参考链接: https://trailhead.salesforce.com/en/modules/api_basics/units/...

34880

扫码关注云+社区

领取腾讯云代金券