众所周知,网络安全的本质是攻与防,不论谈及网络安全的哪一方面都必会涉及到攻与防。作为每年参加红蓝对抗的老司机,目睹了很多大型企业安全运营中存在的薄弱点,下面就以红队的视角下跟大家聊聊企业安全运营,希望能抛砖引玉,为网安事业添一片瓦。
红队渗透的本质是信息搜集:
1、常规信息搜集
IT资产(域名、子域名、IP地址、C段、Whois信息、开放端口、运行服务、Web中间件、Web应用、操作系统、移动应用、网络架构……)、企业信息搜集、Github信息搜集、网盘信息搜集、邮箱信息搜集、网络空间引擎信息搜集(fofa、shodan….)、靶标企业的组织架构(单位的部门划分、人员信息、工作职能、下属单位等)、供应商信息(相关合同、系统、软件、硬件、代码、服务、人员……)、敏感信息泄露(代码、文档、邮箱、通讯录、历史漏洞泄露…..)
掌握了目标企业相关人员信息和组织架构,就可以快速定位关键人物实施鱼叉攻击,或确定内网横纵向渗透路径。
收集IT资产可以为漏洞发现和利用提供数据支撑。
掌握企业和供应商合作的相关信息,可有针对性开展供应链攻击提供有效支撑。
2、非常规信息搜集:社工库信息搜集、针对不通后缀的域名(.net/.dev/.io)、公众号小程序信息搜集、各种贴吧微博社交平台等。
Note:HVV分数分为路径分和靶标分。靶标隐藏在内网核心段,由防守方层层布防,重点监控,得分较难。
而路径分HVV后期计算较为宽松,视裁判而言,有的资产只要跟目标沾边也可算得分。所以刷边缘资产得路径分是HVV中必不可少的一环。
刷边缘资产,批量漏扫工具很多,而好用的漏洞EXP才是关键。在HVV期间,时间紧,目标资产多,不可面面俱到把所有漏洞都测到。而且HVV仅需要权限类漏洞,所以只需要扫描SQL注入、框架RCE、未授权之类的,具体如shiro反序列化、Weblogic系列漏洞、Redis等未授权访问…..
资产收集
1、弱口令:
普通用户/管理员弱口令都可得分,且OA系统、邮件系统的弱口令可泄露大量敏感数据
2、文件上传:
通过各种绕过获取服务器权限
3、数据库:
弱口令
SQL注入
内网
4、框架类漏洞
OA类:泛微、通达、致远等
邮件类:coremail,webmail
其他:phpstudy,thinkphp等
5、中间件漏洞
Apache、Weblogic、Jboss…..
6、跨站&钓鱼
跨站脚本执行一般效率低且不稳定,钓鱼需要免杀以及精准
Getshell常用方法
1、内网信息搜集
收集本机信息、查询当前权限、判断是否存在域、探测域内存活主机、扫描域内端口、收集域内基础信息、查找域控制器、获取域内的用户和管理员信息、定位域管理员、查找域管理进程、利用PowerShell收集域信息、分析域内网段划分情况及拓扑结构.
2、横向移动
PTH&撞库、内网web服务攻击,搭建代理
3、权限维持
添加隐藏账号、自启动、计划任务、注册服务等
以上我把红队攻击的重点流程给大家介绍了下,为的是知己知彼百战不殆,正所谓未知攻焉知防。下面我就取一瓢为大家实战演练一下。
2375端口(Docker)
存在漏洞:未授权访问
检测方式:通过docker daemon api执行docker命令
修复建议:Bind 2375 to 127.0.0.1
2181端口(Zookeeper)
存在漏洞:经ZooKeeper默认开启在2181端口,在未进行任何访问控制情况下,攻击者可通过执行envi命令获得系统大量的敏感信息,包括系统名称、Java环境,修改或删除Node等。
检测方式:攻击者可通过执行envi命令获取大量敏感信息,包括系统名称、Java环境、删除node。
获取成功
连接成功
修复建议:修改zookeeper默认端口、添加访问控制、配置服务来源地址限制策略、增加zookeeper的认证配置。
873端口(Rsync)
存在漏洞:Rsync默认端口873,可以使用Nmap扫描开放端口是否开放,若开放端口,查看时候可默认口令登陆。使用命令查看:rsync -av x.x.x.x::
既然是同步文件,自然有选择查看、上传或者下载的能力,这要视权限设定,运气好的情况下可秒杀站点。
利用方法:攻击者可执行下载/上传等操作,也可以尝试上传webshell。
列出目标服务器的同步目录
查看模块文件
修复建议:更改rysnc默认配置文件/etc/rsyncd.conf,添加或修改参数
访问控制:设置host allow,限制允许访问主机的IP
权限控制:设置read only,将模块设置成只读
访问认证:设置auth、secrets,认证成功才能调用服务
模块隐藏:设置list,将模块隐藏
445端口(SMB)
存在漏洞:信息泄露、远程代码执行
利用方法:可利用共享获取敏感信息、缓冲区溢出导致远程代码执行,Eg:ms17010
攻击成功
修复建议:临时修复:添加入站规则,关闭445端口。
打相应漏洞补丁。
443端口(SSL)
存在漏洞:OpenSSL 心脏出血。
利用方法:攻击者可以远程读取存在漏洞版本的openssl服务器内存中多达64K的数据。
检测结果
可以直接抓到正在登录Web应用的账号密码等信息
修复建议:升级 openssl 到新版本,并重新启动。
生成新密钥,将新密钥提交给你的CA,获得新的认证之后在服务器上安装新密钥。
6379 端口(Redis)
存在漏洞:未授权访问
利用方法:绝对路径写webshell 、利用计划任务执行命令反弹shell、公私钥认证获取root权限、主从复制RCE等。
修改建议:修改默认端口+增加鉴权
7001 Weblogic RCE漏洞
存在漏洞:漏洞编号为CVE-2019-2725,可远程执行命令,getshell等。
远程执行反弹shell命令
执行结果
用户可通过在weblogic启动参数中禁用bea_wls9_async_response的方式,对此漏洞形成临时防护。
下载相应补丁安装包,打补丁。
如果你有在甲方工作的经验就会知道企业安全运营这个岗位是具有很大挑战的,挑战不是来源于技术挑战,而是不论是安全协调工作还是在去提升集团全体员工安全意识落地都会遇到很大阻力。网络安全意识淡薄是最大的问题,所以常态化的网络安全意识培训是首要任务,有了这个大前提才可谈网络安全运营中心的构建和落地。
1>能打硬仗的攻防人才组建,常态化研究最新漏洞进展,结合集团资产进行预警和处置修复跟踪。
2>形成闭环的应急响应能力和机制,智能安全编排平台辅助。
3>漏洞生命周期管理能力。
4>高效的流程(资产管理流程、威胁情报流程、漏洞管理流程、事件处置流程)
5>常态化对企业资产进行收敛,最大程度降低风险暴露面(Eg:以上实战演练中暴露的敏感端口和服务)
6>全流量安全设备的常态化运营(将最新爆出的漏洞,利用威胁大数据、机器学习和人工持续化更新特征库和规则库以及调用威胁情报平台的接口常态化实时准确检测)
7>每年进行内部红蓝对抗演练,提升攻防能力。