作者:
锦凡歆在 ‘来疯’ 直播唱歌最好听
扫描技术
在渗透测试过程中,为了节省人力和时间,通常采用手工和工具相结合的方式。使用工具,就是将一些机械性的操作自动化实现,用来提高渗透测试的效率。例如,寻找内网网段[10.10.10.20/24] 所有在线主,如果一个一个去ping 测试主机是否存活,显然是不合适的。
~ 主机测探与端口扫描
主机测探是指确定目标主机是否存活。
端口扫描就是寻找在线主机所开放的端口,并且在端口上所运行的服务。
甚至可以进一步确定目标主机操作系统类型和更详细的信息。
! 基础知识
@ 常见端口号
21 FTP
443 HTTPS
22 SSH
1433 SQL Server
23 Telnet
1521 Oracle DB
25 SMTP
3306 MySQL
80 HTTP
3389 RDP
! TCP 包头格式
! TCP 三次握手过程
! TCP 四次挥手过程
! Nmap-扫描器之王
nmap 被誉为“扫描器之王”,nmap 为开源工具,并且是跨平台的。
官方网站[https:/nmap.org]
使用kali 虚拟机中的nmap
! 重要常用参数
-sP ping 扫描
-p 指定端口范围
nmap 在扫描主机的时候,如果没有指定端口
默认扫描top1000。
-sT TCP 连接扫描
-sS TCP SYN 扫描
-sU UDP 扫描
-sN/-sF/-sX 隐蔽扫描
-sV 版本探测
-O 启用操作系统探测
-A 全面扫描
-oA 保存到所有格式
--traceroute 路由追踪
! 主机发现
@ ping扫描
nmap -sP 192.168.1.1/24
nmap -sP 192.168.1.1-2
! 简单的扫描
nmap 192.168.1.148
nmap 会默认扫描部分端口。
! 端口扫描
@ 指定端口
nmap -p 80,3389 192.168.1.1
-p 21,80,3389
-p 1-100,3389
-p 1-1000
-p 1-65535
! TCP (全)连接扫描
nmap -sT 192.168.1.148 -p 3389
------------
ip.addr==172.18.1.129 and tcp.port == 3389
------------
可以使用wireshark 进行抓包分析,端口开放的情况[nmap -sT 192.168.1.148 -p 3389]
端口关闭的情况[nmap -sT 192.168.1.148 -p 22]
向目标发送SYN 数据包,如果对方回 RST 包说明端口关闭
如果对方回SYN ACK 包,namp 在发送ACK 包,nmap 再次发送RST 包
说明端口开放。
对方没有任何回应,就说明端口被过滤
优缺点:
准确
留下大量的密集的日志记录
! TCP SYN (半)扫描
nmap -sS 192.168.1.148 –p 3389
可以使用wireshark 进行抓包分析,端口开放的情况[nmap -sS 192.168.1.148 –p 3389]
端口关闭的情况[nmap -sS 192.168.1.148 –p 22]
SYN 半连接扫描,nmap 发送SYN 包,如果对方回RST 包,说明端口关闭
如果对方回SYN ACK 包,namp 回RST 包。说明端口开放
优缺点
比较快速,没有完成三次握手过程,不会留下日志记录
需要专门的系统调用函数。
! 隐蔽扫描
注意:隐蔽扫描不适用于windows 系统
null 扫描
nmap -sN 192.168.1.148 –p 3389
标志位全为零
FIN 扫描
nmap -sF 192.168.1.148 –p 3389
标志位FIN=1
Xmas
nmap -sX 192.168.1.148 –p 3389
标志位 FIN=1,PSH=1,URG=1
! 目标主机版本
有点不太准确
nmap 172.18.1.129 -p 3389 -O
! 测探服务版本
nmap 192.168.1.159 -p 21 -sV
/usr/share/nmap
! 全面扫描
nmap -A 192.168.1.144
! 保存扫描报告
-oN 保存成txt 纯文本格式
nmap -sT 127.0.0.1 -sV -oN result.txt
-oX 保存成xml 格式
nmap -sT 127.0.0.1 -p 22 -sV -oX result.xml
~ 网络漏洞扫描
我们可以通过网络漏洞扫描,全面掌握目标服务器存在的安全漏洞。市面上常用的扫描有Nessus、NeXpose、OpenVAS等,这些扫描器都有商业版和免费版或者家庭版。
本课程使用的网络漏洞扫描器是OpenVAS,可以用来识别远程主机、Web 应用存在的各种漏洞。Nessus 曾将是业内开源漏洞扫描工具的标准,在Nessus 商业化不在开放源代码后,在它的原始项目中分支出OpenVAS 开源项目。经过多年的发展,OpenVAS 已经成为当前最好的开源漏洞扫描器,功能非常强大,甚至可以与一些商业的漏洞扫描器相媲美。OpenVAS 使用NVT 脚本对多种远程系统(包括Windows、Linux、UNIX 以及Web 应用程序等)的安全问题进行检测。
! 漏洞扫描原理
网络漏洞扫描指的是利用一些自动化工具发现网络上各类主机设备的安全漏洞。这些自动化工具通常称为漏洞扫描器。
漏洞扫描通常可以分为两类:
@ 黑盒扫描
黑盒扫描一般都是通过远程识别服务的类型和版本,对服务是否存在漏洞进行判定。在一些最新的漏洞扫描软件中,应用了一些更高级的技术,比如模拟渗透攻击等。
@ 白盒扫描
白盒扫描就是在具有主机操作权限的情况下进行漏洞扫描。比如微软的补丁更新程序会定期对你的操作系统进行扫描,查找存在的安全漏洞,并向你推送相应的操作系统补丁。
白盒扫描的结果更加准确,但一般来说它所识别出的漏洞不应当作为外部渗透测试的最终数据,因为这些漏洞由于防火墙和各类防护软件的原因很可能无法在外部渗透测试中得到利用。同时,一般情况下你是没有机会获取用户名和口令。
漏洞扫描器一般会附带一个用于识别主机漏洞的特征库,并定期进行更新。在漏洞扫描的时候,就是利用特征库里的脚本与目标系统的反馈信息进行匹配,如果能够匹配上,就说明存在某一个漏洞。
漏洞扫描器在识别漏洞的过程中,会向目标发送大量的数据包,有时候会导致目标系统拒绝服务或被扫描数据包阻塞,扫描行为也会被对方的入侵检测设备发现。
漏洞扫描器扫描出的结果通常会有很多误报(报告发现的漏洞实际并不存在)或者漏洞(未报告发现漏洞但漏洞实际存在)。因此,需要对扫描结果进行人工分析,确定哪些漏是实际存在的,这个过程就叫做漏洞验证。这是渗透测试过程中不可缺少的一步,只有验证漏洞存在的真实性,才能对漏洞进行深度利用。
渗透测试工作中,在得到客户认可的情况下,可以使用扫描器进行扫描,但使用时一定要注意规避风险,对其系统运行可能造成的影响将到最低。
- OpenVAS
OpenVAS 的官网地址为[http://www.openvas.org/]
推荐从iso 镜像安装OpenVAS。
目前OpenVAS 的gsm 镜像最新版本是[4.2.19],OpenVAS 的详细安装过程,被文档不做详细展示。
在使用OpenVAS 有Web 端,管理使用OpenVAS ,登录Web 端需要有一个账号,本课程中通常设置为[admin/123456]。
在使用OpenVAS 的时候,必须更新feed,否则会有[Warning: SecInfo Database Missing] 这样的报错,在更新feed 的时候,建议挂一个http 代理,例如[http://10.10.10.189:1080]。
作者:
锦凡歆在 ‘来疯’ 直播唱歌最好听
~ Web 漏洞扫描
! Web 漏洞扫描简述
随着互联网的发展以及云计算的发展,使得政府、银行、企业以及各个组织基本上都有自己的门户网站。Web 应用越来越多,同时Web 应用的攻击成本、难度都比较低,Web 应用成为黑客攻击的主要目标。无论黑客出于什么样的目的,Web 应用所面临的挑战都是很大的。
如何及时、快速发现Web 应用安全漏洞,并且修补安全漏洞,减轻或消除Web
安全风险成为安全行业的重要课题。
小型Web 应用几十上百个页面,大型的Web 应用成千上万个页面。如果靠人工的方式去检测每个页面的安全性,显然,这个成本是难以估计的。所以,我们需要借助于自动化工具,帮助审计员去发现Web 安全漏洞。这些自动化工具就是Web 漏洞扫描器。
市面上Web 漏洞扫描器有很多,其中以IBM 公司的AppScan 和商业化Web 漏洞扫描器AWVS 为优秀。Web 漏洞扫描器大同小异,本课程以AWVS 为例子,讲解Web 漏洞扫描器的使用。
- Web 漏洞扫描原理
进行Web 漏洞扫描的时候,大致分为一下几个步骤:
@ 爬行网站目录
@ 使用漏洞脚本扫描
@ 保存扫描结果
使用AWVS 扫描
其他扫描器
有很多扫描器都可以帮助审计员开展渗透测试工作,一下列出几款比较常用的。
- 御剑
我们使用御剑扫描器,主要是扫描网站敏感目录,包括网站后台等。其扫描原理也是爆破,即通过敏感目录的字典去匹配。字典文件如下。
御剑的使用非常简单,进行简单的配置之后即可进行扫描,可惜的是御剑不能够导出扫描报告。
- k8 C段旁注查询
严格来说,K8 C段旁注查询工具,不算是扫描器,应该是信息收集工具。由于这款工具功能比较丰富,所以放在这里介绍。
DNS 解析
查询旁(同IP 地址的网站)
- whatweb
whatweb 是用来识别Web 应用指纹的,该款工具已经集成在了kali 虚拟机中。其官网地址为[https://www.whatweb.net/]