admin 管理员组文章数量: 887021
2024年1月23日发(作者:微服务管控平台)
2019HW行动防守总结原创: 瓦都剋从五月19日到六月底一直在参与HW行动,第一次参与从甲方角度的攻防对抗的团队当中,总体来说感触很大,谨此记录下。0x00 前言首先强调下,下文所有的思路均是"因地制宜",根据客户业务实际情况开展。这次HW是跟某国企合作一块进行安全防御,之前一直是做的乙方的安全服务,第一次切换到防护角色。首先,整个项目分为两个阶段:1. 护网前2. 护网中0x01 护网前护网前的工作相当重要,国企的安全工作想必各位都有所了解这里就不多说了,如何在这么多的时间内尽量做到全面安全覆盖实在是太考验防守团队了。前期的准备工作主要分为两个部分:1、自检2、加固自检是最快发现问题的手段,本次项目我们负责的是云平台安全,云主机总数量达14000多台,任务还是蛮重的。1.1 自检主要分为外网渗透测试和内网渗透测试两部分,外网和内网渗透测试还不一样,外网需要结合客户相关业务来,比如政企客户你使用WordPress、Drupal的payload去打,不能说百分之百没有,但是成功的概率相当低,要有针对性去测试,因为时间不允许去这么做。1.1.1 外网渗透测试
外网不是我们的重点,根据实际情况主要关注那些能直接获取主机权限的漏洞和泄漏大量数据的漏洞即可,比如:弱口令:数据库、SSH、RDP、后台命令执行:Solr、Jenkins、Weblogic、Struts2、RMI、JBoss、Tomcat、Spring、ActiveMQ、Zabbix文件操作:文件上传、文件读取未授权访问:Redis、Hadoop、Docker、K8S1.1.2 内网渗透测试内网渗透和外网渗透区别很大,因为外网不仅有我们,还有其他合作伙伴,各种WAF、防火墙、APT、IDS、IPS、以及办公网的EDR、杀毒什么的各种安全设备一顿操作,所以我们此次的重心就是在内网云平台中,我们的靶标当然也在内网云平台中。由于内网云平台有很多微服务集群,所以根据这个特性,主要分以下几个步骤:1、资产发现因为云平台都是在专有云上,所以写个脚本爬了下资产就可以全部获取到了。这里需要注意下爬的字段,因为后期涉及到漏洞修复、安全事件等问题的对接。| IP | 项目 | 部门 | 状态 |2、资产指纹梳理因为主机数量太大,如果每个资产单独去测试的话,时间代价太大,所以很有必要进行资产指纹梳理,这样如果发现某个漏洞,直接就可以为后面的批量漏洞利用提供条件了。资产指纹根据业务情况进行有针对性的收集,主要搜集的有:21、22、23、1090、1099、2049、2181、3000、3306、4848、5000、5900、5901、6379、7000-9999、11211、12181、27017、10050、50000、50080
3、漏洞发现漏洞发现就是常规的渗透测试了,但是内网的渗透有别与外网,内网主要是快速的,尽可能的发现更多的漏洞,所以不需要进行进一步利用,比如发现了Redis未授权访问,就不要去浪费时间反弹shell、写密钥这些。这里举了个两个简单的例子Example1192.168.2.11:8888/PS:前期资产发现阶段发现8888端口对应的主机有1800多台1、直接访问提示4032、Fuzz目录发现存在taskFile,192.168.2.11:8888/taskFile3、访问192.168.2.11:8888/taskFile提示参数不对4、Fuzz参数发现参数tId,192.168.2.11:8888/taskFile?tId=5、输入值,访问192.168.2.11:8888/taskFile?tId=1发现提示tId-1不存在6、删除值访问192.168.2.11:8888/taskFile?tId=发现提示/root/xxx/xxx任务不存在7、Fuzz漏洞,成功发现本地文件包含192.168.2.11:8888/taskFile?tId=../../../../etc/passwdExample2192.168.2.11:8006/PS:前期资产发现阶段发现8006端口对应的主机有180多台1、直接访问192.168.2.11:8006/env,发现存在SpringBoot Actuator信息泄漏/autoconfig/beans/env/configprop/dump/health/info/mappings/metrics/shutdown/trace/env2、访问192.168.2.11:8006/trace,发现存在访问URL:/3、直接访问发现信息泄漏,可直接看到整站的目录结构/war/4、一层一层访问目录接口发现/war/WEB-INF/classes目录下存在ties文件,直接访问提示4035、根据前期漏洞信息、收集信息关联分析,发现在对应文件下加入content即可进行文件读取:/war/WEB-INF/classes/ties/content这样就可以直接导致web目录下任意文件读取了,批量利用发发现8006端口全部主机均存在此漏洞6、访问192.168.2.11:8006/war/WEB-INF/classes/ties/content读取到redis密码,为弱口令:Nb1234567、根据整理的资产指纹信息编写批量利用脚本,发现60多台Redis存在此弱口令4、批量漏洞利用这部分就是批量发现涉及的问题主机了,大部分是需要写脚本的,如果有相关工具那最好。比如,我们在上面的发现的漏洞,利用收集的资产指纹信息直接编写脚本批量跑一下就行了
当然其他漏洞也一样,这里我主要以我们测试的几个典型批量为例:SSH、FTP、MySQL、Zoomkeeper、MongoDB、Hadoop、Redis、Struts2、Weblogic、Docker、OpenSSL、Werkzeug、Jboss、ActiveMQ、Zabbix、K8S、Druid等。├── ├── Zookeeper│ ├── │ └──
zookeeper_unauth_├── bash├── ftp├── memcache├── mongodb├──
mssql├── openssl├── postgresql├── redis├── smb├── ssh├── st2├──
weblogic├── druid├── zabbix├── └── all_这里是我们之前做基线检查的相关脚本,然后根据需求改了下,也可以用POC-T、Pocsuite等这些框架,反正能用就行了。
整个内网渗透下来战果还是很大的,拿下了我们护航的两个靶标系统、两个统一运维平台、数据管理平台、热更新管理平台、多个Master、大量SSH等弱口令。这就为后面安全加固打了个好基础。1.2 加固
1.2.1 运维相关1、测试、开发服务器全部关停2、敏感端口安全组隔离3、使用堡垒机、跳板机运维4、用户、权限隔离这里特别说明下,比如:MySQL不使用默认root用户,使用业务/项目名中间用下划线连接的方式,因为爆破都是默认用户的,这样即使存在弱口令,也将安全性提升一大截5、认证策略:密钥、双因子认证6、最小化权限原则7、补丁1.2.2 安全设备这里我们只说下使用了我们云平台的相关产品:WAF:使用防火墙,防御大多数攻击。流量、日志、数据库审计:流量、日志、数据库方便万一出现安全事故,能够快速响应,溯源分析找到问题源头态势感知:这个就不说了。安骑士:主机安全,能够第一时间发现异常登录、异常进程、异常网络连接、后门、账户等高危安全问题,并且能快速定位问题所在,相当有用。蜜罐:攻击者进入内网后会进行内网渗透,收集信息,攻击靶标,所以部署蜜罐是发现内网异常的必要手段。主要部署了常用的服务,比如SSH、MySQL、FTP、MongoDB、Redis、Weblogic、Struts2、Tomcat、Joomla、PostgreSQL、Shellshock、SMB、Memcache、Telnet。扫描器:由于主机量巨大,手工总会有已漏,所以在不同网段部署扫描器,每天在0点到1点自动开始巡检。
1.2.3 环境隔离防火墙策略:虽然安全组也可以做,但是内网业务层面还需要在防火墙上做策略。堡垒机:使用堡垒机是为了保证运维安全,同时保障重要系统及靶标隔离。堡垒机的登录也是有访问控制的,只允许白名单IP访问,同时堡垒机使用强口令+随机KEY登录。双因子认证:重要系统(控制台,总控系统,运维系统等)有必要的均采用堡垒机登录,无法使用的采用白名单IP+强口令策略+随机验证码组合策略。靶标:靶标乃重中之重,一旦被攻破,直接可以收拾收拾回家了,脸面不说,重要的是钱可能都没了。靶标是只允许堡垒机IP能够访问,同时我们前期花了很大功夫渗透了一波,删除不必要账户,所有账户使用十六位随机密码+随机6位KEY登录。0x02 护网中2.1 查漏补缺1、虽然前期做了渗透测试,但毕竟也就一周时间,所以在护网期间我们在云管控平台上找了下端口对应主机数超过20个的服务,然后也成功发现了两三个高危漏洞,影响一千多台主机。2、数据库查看端口对应主机的时候发现了一些非标准端口,比如MySQL数据库的3303、3304、3305、3307,Redis的6377、6378等,又成功破解了几十台弱口令。3、通过日志检索、流量分析等发现了一些弱口令,利用这些弱口令批量测试了一遍云平台所有主机,发现大量SSH、MySQL、Redis弱口令。4、在进行全量日志检索的时候,发现一些运维直接将一些敏感字段直接写在了命令行中,比如MySQL连接是直接将密码写在了命令行,这样如果一台主机被入侵,那么history是必看的,如果该密码是通用的将直接或间接的影响更多的主机,所以统一安排将history命令历史清空,再统一改了下相关配置。5、新建主机风险,在查看主机对应业务的时候发现了在护网开始后还是会有新主机的创建,那么这些新建的主机就存在较大的安全风险了。6、堡垒机安全问题,堡垒机我们是采用白名单IP+强密码+令牌的登录方式,但是护网期间随意看下了,还搞了该厂商堡垒机的好几个0day。前台某接口可直接获取全部用户包括明文密码等全部敏感信
息、重置任意用户密码、更换认证方式及客户端限制等。此外,堡垒机登录后还可以绕过沙箱限制,做一些限制的操作。公网上找了下这个堡垒机,直接默认密码就分分钟控制几百台肉
版权声明:本文标题:HW行动防守总结 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706019506h498333.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
更多相关文章
逍遥模拟器拷贝android根目录文件,逍遥android模拟器怎么导出APK文件
1、运行SDK Manager,选择模拟器,并运行模拟器3、点击开始→运行,输入cmd,打开cmd窗口。输入cd C:Program Filesan
android 电脑文件放到模拟器指定位置
1、查看电脑是否有adb (查询方法cmp.exe 输入指定adb) 无:查看studio的sdk地址,找到platfrom-tools里面有adb脚本
Ubuntu与Windows系统之间进行远程访问和文件的传输
Ubuntu16.04系统之间和ubuntu与Windows10之间进行SSH远程访问和文件互传 一、Ubuntu 系统之间进行文件互传传输的是文件夹:传输的是文件: 二、ubuntu与Windo
Windows Server 2012 R2 中文版 ISO 文件下载
Windows Server 2012 R2 中文版 ISO 文件下载 【下载地址】WindowsServer2012R2中文版ISO文件下载 Windows Server 2012 R2 中文版 ISO 文件下载 项目地址: http
电脑开机提示文件损坏或丢失无法启动怎么办
电脑开机时,如果遇到提示某些系统文件损坏或丢失,导致系统无法正常启动。这种情况通常是由于系统关键文件受损、硬盘问题、恶意软件感染或不当关机引起的。好消息是,大多数情况下&am
Windows系统中常见的文件后缀名有哪些
.ACA:Microsoft的代理zhi使用的角dao色文档 .acf:系统管理配置 .acm:音频压缩管理驱动程序,为Windows系统提供各种声音格式的编码和解码功能 .
修复Windows7引导文件工具(最新mbrfix工具,使用Windows7)
写在前面:先说下我的情况,我的电脑装了两个系统,先装Windows7家庭版,再装ubuntu,后来把装ubuntu的整个硬盘空间给
解决Windows 7 下不能双击打开jar文件
java打包后的jar文件有两种。 一、单一的jar包,例如在项目中使用的数据库厂商驱动,使用eclipse导入jar包就可以使用包中的类. 二、java打包成可执行的GUI应用程序. 这里要解决的问题就是:Wi
Windows 7中C:Users用户名AppData里面的文件概述
C:Users用户名AppData里面默认有三个文件夹,分别是Local、LocalLow、Roaming,简单地来说,都是用来存放软件的配置文件和临时文件的&
利用tftp在Windows端和开发板互传文件
最开始要搞nfs服务,但是在内核里打开nfs之后编译生成的文件是损坏的,搞了大概一两天,不得已放弃了nfs服务,而tfpt的搭建比较简单
配置windows下域名解析及修改hosts文件不起作用的问题
一、配置windows下域名解析 文件位置:c:windowssystem32driversetchosts windows下修改的文件为: 到命令行(cmd) ping一下&
win系统如何运行msi后缀文件
win系统如果运行msi后缀文件 1、用管理员运行命令行:输入:msiexec package 文件路径及名称 案例:msiexec package d:progr
Windows文件资源管理器增强工具
引言: 资源管理器在我们使用电脑时是经常用到的,各种文件资源等的分类整理都离不开它。但是Windows Explorer确实不好用,不智能,不符合人体工
ubantu从u盘进行重装——前提是u盘已经下载好安装ubantu的文件
1.首先,我可敬的学长u盘里面已经下载了ubantu的文件。 2.然后,把这个u盘插到usb接口上,按下开机 3.在开机过程中,按下F2还是什么来着
电脑系统文件损坏?三种解决方案助你恢复正常使用
电脑系统文件损坏?三种解决方案助你恢复正常使用 在我们日常电脑的使用过程中,难免会遇到一些棘手的问题,比如电脑无法开机、应用闪退、频繁弹出错误提示等。这些现象往往预示着系统的某些文件可能已经遭到了损坏。面对这类情况,不必过于慌张,本文将介
Windows系统在CMD命令行中用del命令删除文件
可以首先输入 del ? 查看del命令的使用方法,如下图 比如我需要删除D盘下的123.txt文件,输入命令然后回车: del D:123.txt 可以在D盘看到&
windows文件自动同步
windows server 几大实时同步软件比较 需求: 从Windows Server 主机A 到 Windows Server 主机B 之间同步目录 方案一: 使用bat脚本计划任务
windows使用命令行压缩解压文件
安装7zip: https:www.7-zip 压缩: 7z.exe a tempa.tar tempdemo 解压: 7z x tempzip
如何在Windows下将文件压缩成tgz格式的压缩包linux系统 centos下
安装7-ZIP以后,直接在你想要打包的文件上点右键菜单(注意不要直接打包文件夹,而是打开文件夹后,选中全部文件,要不LUM下解压后
android自定义rc文件,如何使用android init.rc(vendor.rc)读取文件中的值
在Android系统中(Pie9.0) 我想从文件(cachestickylcd live)中读取一个值,并将其写入in it.vendor.rc中的系统属性(persist.vendor.lcd.live)。 在exe.sh中: l
发表评论