渗透测试的概念、分类及流程
1.渗透测试概念
渗透测试主要依据CVE通用漏洞与披露已经发现的安全漏洞,模拟入侵者的攻击方法对网站应用、服务器系统和网络设备等进行非破坏性质的攻击性测试。
2.渗透测试的必要性
•信息安全等级保护的要求
•ISO27001认证的基线要求
•评估系统的安全状况,提出合理的改进方案
3.渗透测试的分类
•根据渗透测试方法分类
1.黑盒测试
2.白盒测试
3.灰盒测试
•根据渗透测试目标分类
1.主机操作系统渗透
2.数据库系统渗透
3.应用系统渗透
4.网络设备渗透
•根据渗透测试位置分类
- 内网渗透
- 外网渗透
•针对web服务体系架构的渗透测试
1.服务器渗透
2.中间件渗透
3.Web应用渗透
4.业务逻辑渗透
渗透测试标准
•安全测试方法学开源手册(OSSTMM)
•网络安全测试指南(NIST SP 800-42)
•OWASP十大Web应用安全威胁项目(OWASP TOPN 10)
•Web应用安全威胁分类标准(WASC-TC)
•渗透测试执行标准(PTES)
•《渗透测试执行标准》(PTES:Penetration Testing Execution Standard)的核心理念是通过建立起进行渗透测试所需要的基本准则基线,来定义一次真正的渗透测试过程,并得到安全业界的广泛认同。
•The Penetration Testing Execution Standard
•PTES将渗透测试过程分为七个阶段,并在每个阶段中定义不同的扩展级别,而选择哪种级别由被测试的客户组织决定。
一、前期交互阶段
•确定渗透测试的范围、目标、限制条件及服务合同细节
•客户书面授权委托,并同意实施方案是进行渗透测试的必要条件
•所有过程在客户的控制下进行
二、信息收集阶段
•信息收集包括DNS探测、操作系统指纹判别、应用判别、账号扫描、配置判别等。
•收集方法包括主动信息收集和被动信息收集
•主动收集工具:whois、dnsenum、whatweb、nmap
•搜索引擎:shodan、zoomeye "钟馗之眼"、 fofa等等、google hacking、bing(必应)
信息收集内容包括: 域名信息、子域名信息、IP地址(CDN)、端口信息、目录及敏感信息(御剑、7Scan)、指纹信息(操作系统是什么,什么版本,有没有使用CMS建站)、防护信息(WAF)。[googole hacking的语法]
利用信息收集扩大攻击量,比较重要
比如,找到域名的真实IP好发掘其他的端口存在的漏洞,web应用是否在gih上有备份,可以拿源码下来扫描,好找到漏洞
可以使用[googole hacking的语法],类似(site:xxx.cn 登录),这个查询告诉搜索引擎只在 tedu.cn
这个域名下寻找包含“登录”这个词的网页
还可以子域名查询,对子域名信息进行收集,因为主网站可能防护做得很好但是子域名可能可以找到入手的点或者别的入手点,有可能子域名和主域名在同一服务器。
还有CDN,如果启用了CDN那可能就分不清楚哪个才是主站,那可以多地PING,如果同一个IP那就是没启用,如果不同则是启用,分辨哪个是主站找到真实IP地址,可以扫端口开启了哪些服务,
三、威胁建模阶段
标识目标系统可能存在的安全漏洞与弱点
确定最为高效的攻击方法,需要进一步获取到的信息,以及从哪里攻破目标系统
四、漏洞分析阶段
Nessus、OpenVAS
**AWVS **- 用户量最大的,扫描速度快。
**AppScan **-扫描速度慢,对漏洞的描述比较详细,提供了修复漏洞的方法。
XRAY-长亭科技提供的工具,轻量级。
漏洞的描述,会用CVE编号+结合渗透测试框架和工具手工验证。
从前面几个环节获取的信息中分析和理解哪些攻击途径是可行的
五、渗透攻击阶段
针对目标系统实施深入研究和测试的渗透攻击,并不是进行大量漫无目的的渗透测试。主要包括:
- 精准打击
- 绕过防御机制
- 定制渗透攻击路径
- 绕过检测机制
六、后渗透攻击阶段
以渗透攻击的结果为基础进一步完成以下操作:
- 标识关键基础设施
- 高价值目标识别
- 敏感信息获取
- 掩踪灭迹(日志清理)
- 持续性存在(留后门,一般使用反向连接)
七、报告阶段
使用报告文档交流在渗透测试过程踪做了哪些,如何做,以及最为重要的—客户如何修复你发现的安全漏洞与弱点。
如果渗透发现有git目录类的漏洞,那就可能被拿下github上源码进行代码扫描,进一步发现网站的漏洞
Web漏洞扫描工具
Web漏洞扫描是在Web信息收集的基础上,进行更进一步的自动化的安全评估、漏洞挖掘、渗透测试
Web漏洞扫描会出现漏报,需要手工结合使用
常见Web漏洞扫描工具
- AWVS、OWASP ZAP、Arachni、Nitko、Paros...
AWVS ( Acunetix Web Vulnerability Scanner)
- 一个自动化的Web应用程序安全测试工具
- 可以扫描任何可通过Web浏览器访问的和遵循HTTP/HTTPS规则的Web站点和Web应用程序
- 官网 : Acunetix | Web Application and API Security Scanner
AWVS下载链接:https://pan.baidu.com/s/1lqFMjoqQpIl4DA-Amb00pA?pwd=9LJY
提取码:9LJY
AWVS的部署与使用
步骤一:复制acunetix_13文件夹到kali的/root目录
将acunetix_13.zip解压之后,将整个文件夹复制到kali 2021系统的/root目录,如图-1所示。
步骤二:运行脚本及相关配置
1)首先cd到/root/acunetix_13/目录,并使用ls查看当前目录中的文件。
┌──(root💀kali)-[~]
└─# cd acunetix_13┌──(root💀kali)-[~/acunetix_13]
└─# ls
acunetix_13.0.200217097_x64_.sh license_info.json wvsc
2)运行脚本及根据向导进行配置
运行脚本,进入配置向导。
┌──(root💀kali)-[~/acunetix_13]
└─# bash acunetix_13.0.200217097_x64_.sh
Acunetix Installer Version: v_200217097, Copyright (c) Acunetix
------------------------------------------------------------
Checking os...
Checking for dependencies...
Please read the following License Agreement. You must accept the terms of this
agreement before continuing with the installation.
press ENTER to continue
>>>
按回车进入阅读协议部分,可以按 q 键直接跳过阅读
Product: Acunetix on-premises web vulnerability scanner and vulnerability man
agement solution
END-USER LICENSE AGREEMENT
Definitions
"End-User License Agreement" ("EULA") or "License" means this End-User Licens
e Agreement.
。。。
"Product" means the Acunetix on-premises web vulnerability scanner and vulner
--More--
输入“yes”接受许可协议
Accept the license terms? [yes|no]
[no] >>> yes
开始配置主机名,可直接回车,使用默认主机名kali
Configuring hostname...
Insert new hostname, or leave blank to use ubuntu
Hostname [kali]:
Using hostname kali
配置邮箱和密码,用于登录后台使用,邮箱设置为kali@tedu.cn,密码设置为admin@123(注意:密码在输入是不显示)。
Configuring the master user...
Email:kali@tedu.cn
Password:
Password again:Initializing file system...
Extracting files to /home/acunetix/.acunetix....
步骤三:复制相关文件到软件目录,进行覆盖破解
┌──(root💀kali)-[~/acunetix_13]
└─# cp wvsc /home/acunetix/.acunetix/v_200217097/scanner/┌──(root💀kali)-[~/acunetix_13]
└─# cp license_info.json /home/acunetix/.acunetix/data/license/
步骤四:登录验证
使用kali火狐浏览器访问https://127.0.0.1:3443
,输入邮箱和密码,如图-2所示。
图-2
点击“Login”登录,AVWS的web界面如图-3所示。
图-3
步骤五:添加扫描目标并对目标进行扫描
1)添加扫描目标(如果被扫网站和awvs不在同一服务器上,使用127.0.0.1是错误的。)
依次点击“Targets”-“Add Target”,输入Address,之后点击“Save”进行保存,如图-4所示。
2)保持默认,点击“Scan”进行扫描,如图-5所示。
图-5
3)选择扫描选项,保持默认,点击“Create Scan”,如图-6所示.
图-6
4)正在扫描目标网站,如图-7所示。
图-7
5)扫描完成,如图-8所示。
图-8
步骤六:查看扫描结果
点击“Vulnerabilities”,然后点击某一项,在右侧会显示该漏洞的描述,如图-9所示。
Webshell管理工具
shell -壳的意思,通过shell可以和操作系统交互。通过web的方式去连接和操作目标。
webshell工具连接服务器上的木马程序,然后才可以操作服务器,执行系统命令。
中国菜刀 使用环境windows 闭源,所以网传有后门,支持php、asp、java三种脚本 非加密
中国蚁剑 使用环境 windows/linux/macos 开源,支持php、asp及用户自定义 非加密
冰蝎/哥斯拉 使用环境 windows/linux/macos 闭源,支持php、asp、java三种脚本 加密
**Weevely **使用环境 windows/linux/macos 开源,目前只支持 php 加密
内存马方便过查杀工具