平台安全测试方案
1、 测试目的
- 能尽可能发现当前系统存在的安全隐患,在漏洞报告提供出有价值的建议
- 通过报告修复漏洞后,能减少系统出现严重的安全事故
2、测试对象
- Web应用程序
- 服务器操作系统
3、测试工具及环境
- AppScan(Windows10)
- OpenVAS或者叫GVM(Kali)
- Nmap(Windows10或kali)
3.1AppScan安装步骤
- 下载AppScan安装包
- 双击下载好的setup程序
- 开始安装,选择简体中文
- 勾选“我接受许可协议中的全部条款”,然后继续安装;
- 选择软件安装路径,默认或者修改成自己所需路径
- 安装完成后,点击完成退出引导;
3.2Nmap(win10安装)
- 下载地址 Download the Free Nmap Security Scanner for Linux/Mac/Windows
- 下拉选择windows版本,选择最新稳定版本下载
-
双击下载的setup安装程序
-
点击“I Agree”
-
默认勾选的内容,点击Next
-
点击所需的安装路径,确认后点击Install
-
安装进度完成后点击Next
-
选择创建快捷键和开始菜单,然后点击Next
-
最后点击Finish完成安装
3.3OpenVAS(又名GVM)
在kali系统中,都默认自带了GVM和Nmap工具,可以直接初始化使用
# 安装gvm
sudo apt install gvm
# 初始化gvm
sudo gvm-setup
# 检查gvm是否安装成功
sudo gvm-check-setup
#出现类似“It seems like your GVM-21.4.1 installation is OK. ”语句说明安装成功!
# 升级漏洞库 最好定期更新漏洞库,保持漏洞库处于最新状态
# 这一步如果不能科学联网的话将极度耗时,需要耐心等待。
sudo gvm-feed-update
# 修改用户名和密码 示例:修改web 账号admin 密码为qwerty
sudo -u _gvm gvmd --user=admin --new-password=qwerty
# 开启外部访问(可选项,根据需求选择,可以不开启)
vim /lib/systemd/system/greenbone-security-assistant.service
修改 ExecStart=/usr/sbin/gsad --listen 0.0.0.0 --port 9392
将 listen ip地址修改为 0.0.0.0
# 启动 GVM
sudo gvm-start
# 停止 GVM
sudo gvm-stop
4、测试流程
1、前期准备
需要告知开发此次测试的时间,沟通好后才能进行安全测试,并且将测试的范围,方法和相关风险提前告知,及时做好相关数据代码、环境的备份。
收集测试的资料:平台网页的URL,用户名以及密码(最好不是超级用户,可以测试越权),Web服务器的IP(可以提供服务器的远程登录账号,以便观察测试过程中对服务器的性能影响)。
2、测试步骤
- 使用nmap对服务器进行端口扫描,获取开放的端口号,确认哪些端口是必要开放的。
- 使用Appscan对web应用进行扫描
- 使用OpenVAS对服务器进行扫描
2.1Nmap扫描过程
- 打开Nmap软件
- 复制这段命令进去,扫描对应IP里服务器的1-65536端口
nmap -p 1-65535 -T4 -v -Pn -oX text1.xml 扫描对象IP
- 点击扫描后,等待扫描结束,在Nmap的安装位置(结果末尾也有提示),进入目录后,就能找到我们自定义的扫描结果文件
- 重点查看开放的端口
2.2Appscan扫描过程
- 打开AppScan
- 点击扫描Web应用程序
- 在下列输入框输入目标URL,连接成功如图下,还可以点击旁边的”地球小按钮“来验证你要扫描的网
站,点击”下一步“
- 若网站需要登录验证,点击”记录“按钮,记录登录的动作,选择AppScan IE浏览器(推荐)
自动:提前输入账号密码,若遇到需要验证登录则自动登录;
提示:遇到需要验证登录时,自动弹出页面手动输入账号密码;
无:web端网站不需要登录操作
-
进入页面,输入账号密码成功登录后,点击我已登录此站点,AppScan会自动记录此次登录动作
-
配置登录成功后,显示该页面,点击下一步
-
测试策略默认选择缺省值(按照需要选择自己需要扫描的测试策略):
- 缺省值:包含多有测试,但不包含侵入式和端口侦听器
- 仅应用程序:包含所有应用程序级别的测试,但不包含侵入式和端口侦听器
- 仅基础结构:包含所有基础结构级别的测试,但不包含侵入式和端口侦听器
- 侵入式:包含所有侵入式测试(可能影响服务器稳定性的测试)
- 完成:包含所有的AppScan测试
- 关键的少数:包含一些成功可能性较高的测试精选,在时间有限时对站点评估可能有用
- 开发者精要:包含一些成功可能性极高的应用程序测试的精选,在时间有限时对站点评估可能有用
-
可以选择自定义,点击”完全扫描配置“可手动修改/自定义你的测试策略,自定义后,点击应用和确定,然后点击下一步
- 如果需要在登录页面上进行攻击测试,则需要勾选“发送登录页面上的测试”两个勾选框
(如下图),然后点击下一步
- 选择扫描速度,不同速度扫描的仔细程度不一样,选择扫描速度后,点击下一步
- 选择启动模式:然后点击完成
启动全面扫描:扫描和测试一起执行
仅使用自动”探索“启动:仅探索
使用”手动探索“:手动对Web端进行探索
稍后启动扫描
-
在弹窗提示中点击“是”
-
输入名称和选择保存路径,点击保存
-
至此,AppScan开始自动扫描和测试
-
点击”扫描日志“按钮,看到记录的扫描时间和事件
-
点击”问题“按钮,可以看到扫描出的安全性漏洞
-
点击“报告”按钮,选择报告模板、报告内容、布局等内容(按照需求选择),点击“保存报告”按钮,
点击保存按钮
2.3OpenVas(GVM)扫描过程
- 在kali命令行中, 使用sudo gvm-start命令启动服务,通过https://1277.0.0.1:9392,即可访问:
- 账户密码为之安装时,命令修改的
- 点击Scans下的targets以后进入如下页面,然后再点击左上角的按钮,有两种新建任务模式即Task Winzard快速模式和Advanced Task Winzard 高级模式
Task Winzard快速模式
只需添加ip地址或域名即可新建扫描任务
Advanced Task Winzard 高级模式
- 使用快速模式创建任务后,就自动开始扫描了
- 等待扫描完成后,点击Reports下面的数字,进入报告页面
- 右侧可以看到各种等级漏洞的数量,点击左侧的数据源,进入报告详情页
- 点击下载按钮,导出扫描报告
- 选择导出的文件类型
- 点击ok后,在弹窗中选择sava file即可导出报告
3、过程中可能出现的影响
自动扫描器会发送数据到服务器,有可能在扫描过程中让服务器超过负荷,所以它可能会删除服务器上的数据,添加新记录甚至让服务器崩溃。因此扫描之前最好备份所有的数据。最好线下测试即可。
5、预期结果
扫描工具能输出报告,经过测试人员核对后,可以将报告给开发人员,通过让开发人员对报告中的漏洞问题进行筛选和修复,最后出具一份安全测试报告及修复记录文档。