谁在盯你的A级锁:主机弱口令风险与利用链深度分析
概述
口令(密码)是信息安全场景下古老但仍无法弃用的认证机制。简单易于记忆的口令符合一般用户的便捷性需求,是无法消除的存在;高规格的口令依赖于拥有者独有的知识,复用或设定规律也是无法避免的。何况攻破口令的难度也只是在于黑客爆破资源投入和攻破后获利的权衡中决定,因此相对弱口令是值得讨论的话题。
相比于PC时代,云平台和云主机构成了大量统一的计算资源储备,因此针对主机和应用弱口令的暴力破解,成为一种旱涝保收的入侵方式,以很低的技术难度和初始成本,可换取一定量的资源收割,并将其变现。因此,对弱口令的治理、对暴力破解的检测,以及对黑客暴力破解后实施的恶意行为的阻断,是阿里云安全中心作为平台的一项重点工作。
以下将对弱口令与爆破,以及当前后爆破的主要威胁,做深度分析介绍。
弱口令:主要形式与趋势
黑客爆破主要技巧和形式
阿里云安全跟踪云上大量攻击者,总结出黑客爆破的主要技术和战术。从攻击的范围区分,云上爆破攻击主要分为深度爆破和广度爆破。
深度爆破之账户密码猜解。
顾名思义,攻击者会使用大量的用户名列表和大量搜集来的密码字典,进行账户和密码的穷举。攻击者毫无先验知识,只能通过暴力枚举的方法进行攻击。这种攻击方式的优点在于:只要账户密码的字典足够强大,给予足够时间,密码极大概率会暴力穷举出来。但是缺点也很明显:深度爆破的成功率取决于爆破次数,次数足够大后会使受害者警觉,从而发现攻击者。
深度爆破之账户密码喷洒。
攻击者事先对攻击对象进行社会工程学调查,采集了小而精的字典进行快速撞库。并会频繁切换攻击IP进行深度爆破,躲避EDR的检测。这种方式优点在于:爆破次数有限,在短时间内,成功率极高,不易被受害者发现。缺点也很明显:成功率取决于字典的质量。
广度爆破之账户密码猜解。
顾名思义,广度爆破是在深度爆破的基础上,扩大攻击战场,从而增大成功率。此种攻击方式通常出现在批量攻击里。攻击者会穷举互联网上的网段进行批量扫描。
广度爆破之账户密码喷洒。
攻击者利用先验安全经验,事先得知某种系统管理员的账户和密码。比如 assistant/xxxxx ?va_admin/xxxxx ?k3admin/xxxxxx等,攻击者会使用一个IP在全网使用这个账户名和密码登录。更有甚者,聪明的攻击者会使用username==password的超弱密码(如admin/admin)进行单个IP广度爆破,成功率极高。暴力破解也符合数据长尾问题。这种利用通常也会出现内网渗透中,攻击者在拿到内网一台机器的账户和密码后,会继续使用此账户和密码进行内网的广度穷举。
典型暴力破解武器利用
nasapaul
nasapaul家族是一个老牌的利用弱口令入侵的家族,近期在互联网上又开始活跃起来,我们来看下该家族是如何提高爆破成功率的。
它有自己的官方网站,并且放出了利用脚本和挖矿程序供人下载:
攻击者使用爆破用户名分布如下:
可以从上图看出,攻击者利用先验知识,使用极弱的账户名和密码进行全网穷举,提高爆破的成功率。
Lemon Duck
在互联网活跃度较高的Lemon Duck家族频繁使用弱口令攻击。
蠕虫程序通过弱口令爆破进主机后,会进行无文件脚本执行,释放进一步横向利用的脚本以及挖矿程序。
可以看到,在Linux环境下,攻击者尝试使用证书免登进行横向移动。更有甚者,还有一些蠕虫家族,通过弱口令成功爆破进主机后,使用脚本或者二进制进行漏洞利用,达到横向移动的目的。
Outlaw
老牌僵尸网络家族Outlaw自带爆破工具进行不断扫描传播。
攻击者爆破成功进主机后,同样使用脚本作为投递手段,进一步投放恶意的压缩包。
tddwrt7s.sh内容如下:
解压缩dota3.tar.gz文件,里面内置了扫描工具进行扫描。
可以从上述家族中总结出,目前越来越多的蠕虫僵尸家族使用弱口令爆破作为攻击方式扩散。弱口令是一直都是一个潜在的高风险漏洞,并且随着互联网的普及化,这种利用非但没有消失,反而越演越烈。
弱口令风险趋势及分布
通过云安全中心企业版监测到弱口令安全风险极为严重,操作系统、中间件和数据库等服务弱口令检出率非常高,主要分布在但不限于Mysql、SSH、Redis、RDP、Mssql、MongoDB、Tomcat、Postgresql等服务。
其中服务端口开放到互联网的弱口令风险趋势如下图,这些服务暴露在互联网上,并在存在弱口令,黑客可以直接入侵和攻击,从趋势图看用户对弱口令风险及危害不够重视,仍存在很多风险未做修复。
阿里云安全中心监测了全球进行暴力破解扫描的活跃IP,扫描SSH和RDP协议的IP数高达5w+,并每天产生12亿次+的攻击请求。
我们再来看下爆破IP所在地的比例,内网爆破占比最少,约2%。威胁主要来自公网上的IP,每时每刻对互联网上的机器进行扫描。
后弱口令爆破的主要黑客行动与影响
弱口令暴力破解本身是一种相对廉价的入侵敲门砖,它天然具有概率性,而概率放在足够大基数之上就转化为比例,所以对于云环境,它自然成为保证收割一定数量主机作为“资源”的利器。
当今主机安全领域已经不再是破坏性病毒作者作秀的古典年代,若非定点攻击,病毒或是入侵皆为利往,这决定了后弱口令爆破的主流场景。
阿里云安全中心统计了2021年1月内,检测到各类暴力破解的主机上,按爆破首次发生时间后2小时内伴随发生的其它入侵事件,选取有基本明确入侵意图的类别,对应到全部失陷主机或事件的占比分布如下:
加密货币挖矿
比特币挖矿是将计算资源转化为经济利益的最暴力形式,几乎是暴力破解的最佳伴侣。
根据1月统计数据可见,至少将近30%的主机在出现新监控到的暴力破解之后,伴随检测到了挖矿程序;而这其中还统计包含了ftp、数据库爆破,并且未计入失陷主机此前已经存在被下发挖矿病毒的情况,而后者对于弱口令被爆破的情况是常见案例。
挖矿攻击事件往往是有复杂链路的系统工程。挖矿程序本体多以各类开源工程为主,包括XMRig,CpuMiner,CGMiner,sgminer,Equihash等主流分类及其变种,近年也出现有Golang开发的挖矿程序。因为挖矿本身涉及特定虚拟货币的计算过程,所以全部具有较固定的动静态特征,混淆也无法完全去除核心代码逻辑,同时因为是计算密集型程序所以不会做复杂虚拟化加壳,所以检测相对容易。
而围绕挖矿本体起支撑作用的其它组件程序,才是挖矿攻击事件中各具组织与家族特征的重心。如1月统计数据中,包括后门、蠕虫、木马、Rootkit等病毒类型多数为挖矿相关的调度、横向移动、持久化功能模块。这些相关模块往往具有快速迭代、功能反复拆分重组的特性,构成了对云主机的主要威胁,也是阿里云安全中心重点做新型威胁捕获、已知家族更新持续监控的目标。以下以一个代表性挖矿家族,简要概述其一般形式和危害性。
bioset挖矿
bioset挖矿是近两年较为典型的一例。阿里云安全中心最早于2020年9月捕获该家族样本,并持续跟踪其直到2021年1月的家族演化。近日由国内安全厂商发现并披露了该家族的最新样本,并命名为“云铲”。以下该家族主要演进过程和关键技术做全貌曝光。
功能组成
bioset组成相对简单,仅包含主挖矿程序kthreadd,支撑模块bioset以及持久化自隐藏模块libcurl.so.2.17.0。包括木马下载器、蠕虫横向移动和部分后门持久化功能均一体实现于bioset程序中。
变种演进
根据主要功能模块bioset的版本变化,我们从2020年9月追踪到该家族的演进轨迹如下:
由上可见,该家族的多数版本并没有实际传播,最高传播量集中于3个样本且均不足100台云主机影响面。
在该家族的变种中,值得注意的有以下节点:
1. 第一个版本,md5=f56f12dbf3dfc265378463d0886c43e5,这是最特殊的版本,该样本将实际负载(UPX加壳)附加在外层样本中并释放到内存中加载执行。这个特性仅在第一个版本发现,后续版本舍弃了该设计。
2. 在2020年10月以前版本,样本使用的矿池地址为www.xmr-monero.top:6543;之后版本改为使用www.fullskystar.top:443,但在1月27日及之后版本样本中发现两个地址同时使用。
3. 在2020年10月以前版本,虽然文件经过加壳,但脱壳可见程序甚至没有去除符号信息,可以直接分析其主要功能模块,包括:自身持久化,轮询更新,检查维护挖矿任务状态,杀死竞争挖矿程序。这些功能代码本身在变种演进中并没有明显改动,所以也使得阿里云安全中心对该家族得以第一时间发现,并持续跟踪检测。而其投放并不具有高级挖矿行动的严谨和爆发性,试水阶段冗长且过早暴露,基于这样的特质,我们认为该家族仅是大量常规挖矿行动中的常规案例,除默认检测防御外,无需过度披露。
回溯与关联
挖矿作为面向攫取利益为目标的黑客组织手段,为争夺并占据有限的计算资源(主要是包括存在弱口令的安全不敏感用户主机),家族之间除继承性关联外,往往还存在“共生”、“寄生”、“竞争”、“绞杀”的关系。以bioset挖矿家族为例,我们至少观察到两例关联家族。
其一是与2020年4月国内厂商披露的RainbowMiner挖矿。在代码分析中,可以看到bioset程序中,在哈希计算中采用“Rainbow20.”作为盐值代入,符合Rainbow家族特质;同时,bioset的挖矿本体程序命名kthreadd,也雷同Rainbow中使用的kthreadds;biose程序植入的后门公钥与RainbowMiner完全相同。从时间上看,bioset挖矿出现于Rainbow被披露不再活跃之后,具有继承性,因此判定bioset 与RainbowMiner为同一家族,Bioset为RainbowMiner迭代出的新版本。
其二是几乎与bioset挖矿同时出现的恶意样本族。其特征为:同样采用bioset或biosets作为特征文件名;其中几例使用Golang编译,分析代码为非常简单的木马下载器;因为代码与历史木马高度相似,所以均有一款货多款商业杀毒软件对其自然有检出。当前根据样本行为、告警关联分析,这些孤立样本与bioset挖矿并无相似或交集失陷主机,因此判断与本次披露的bioset挖矿并无直接关联,疑似为恶意程序之间的“碰瓷”行为。
DDoS与僵尸网络
DDoS攻击是一类传统的以资源博取黑色效益的攻击形式。聚焦于主机安全,一般用户面临的威胁主要是被黑客获取主机控制权后,作为肉鸡资源使用;考虑与弱口令爆破相关性,本文暂不讨论被用于反射放大攻击的失陷主机与服务。
根据CNCERT最新发布的《我国 DDoS 攻击资源分析报告(2020 年第 3 季度)》统计显示,以2020年第3季度为例,DDoS有统计的肉鸡资源中,云平台主机占比仅为2.9%,折合各类云平台运营商肉鸡主机总量约23000左右。
值得注意的是,随着DDoS防御技术整体水位不断提升,DDoS肉鸡的捕获已不仅局限于发动DDoS攻击,其圈养形成的僵尸网络本身成为更直接的目的,配置与技术的不断迭代也都以扩大范围、独占资源为主,而僵尸网络可搭载的攻击类型包括了DDoS、挖矿。
XorDDoS是一个2014年首次被发现的代表性DDoS木马,生命力极其顽强,更新时至今日一直在进行中。这一方面由于其极高的反封禁反查杀迭代,另一方面由于其程序文件自变异、带多种持久化技术和方式而难以根除。由DDoS衍生出了大量的变种和跟随者,以下介绍的家族即是近期一个高度流行的新分支。
Satan DDoS家族
Satan是一例由典型XorDDoS高度定制的DDoS僵尸网络病毒程序,由阿里云安全中心在2020年5月首次捕获发现,并根据该家族系列变种样本中,部分包含的“Satan DDoS”特征命名。该家族部分在野有发现,但截至目前并未有统一归类或命名;同时该家族样本也曾发现出现在多种攻击场景中,是一个仍处在不断迭代中的病毒家族。
功能组成
该家族程序是一款达到商业水准的恶意程序,入侵目标不仅限于云主机,而是横跨主流操作系统和架构平台,涉及IoT设备。而其代码中隐藏的信息也透露了这款是在黑市交易流通的通用型入侵工具,可为各种挖矿服务:
在入侵和横向移动方式上,Satan DDoS主要仍以弱口令暴力破解为主,但更集成了主要的系统和应用漏洞攻击payload用于传播,且不断更新集成。持久化方面包括了所有主流方式,且可配置保证了灵活性。
在DDoS攻击模块,Satan DDoS支持SYNFlood,ICMPFlood,UDPFlood,DK_Flood,TCP_Flood,WZUdp_Flood,CCAttack,MNAttack等功能方式,属于现代而全面的武器型工具。
变种演进
根据该家族样本的典型独有特征进行聚类,阿里云安全中心追踪到其从2020年2月起的主要变种演进轨迹如下。
从样本相似度差异考察,以上样本间没有显著功能差异和更新,基本都是不同的定制版本,不做更多解释。
勒索
勒索病毒是区别于上述围绕“抢占资源”目标展开攻击的一种独立恶意行为。相比于借助弱口令爆破拿到主机权限后的间接变现,勒索病毒夺取的主机本身即可作为要挟用户提供加密货币赎金的直接变现方式;近一年来更出现了针对重点政企用户,被黑客以勒索的形式窃取敏感文件和数据,威胁泄漏的方法索取赎金。
正因为此,勒索病毒的入侵可分为针对重点用户主机的定向入侵,以及面向一般主机的广撒网式入侵;暴力破解是后者的主要侵入方法,同时也是前者的首选尝试。
阿里云安全中心针对2021年1月内的数百起勒索案例,统计勒索的企图和动作发生前2小时内的所有前序入侵动作和告警,按照告警类型,其中具有类型指向性的事件分布如下:
在实际事件分析中,我们观察到勒索事件越来越多出现由黑客暴力破解之后,远程登录失陷主机并触发执行勒索病毒的现象。因此,对Windows主机(近期也开始有Linux主机苗头)而言,暴力破解始终是悬住勒索之剑的危绳。
针对勒索事件的典型完整入侵链路,以及云安全中心发现的高级、复杂、流行样本,将另行开辟文档进行详解。
阿里云安全中心:默认检测链路 & 最佳实践
配置基线检查
云安全中心企业版默认检测十几种常用服务的弱口令风险,参考检测详情中加固操作可完成弱口令修复加固。
暴力破解检测、防御
阿里云安全中心从实战出发,根据云上真实的入侵场景,开发了相应的多维度检测模型。
针对于黑客的深度爆破(密码猜解)行为告警:
针对于黑客的深度爆破(密码喷洒)行为告警:
针对于黑客的广度爆破行为,阿里云安全通过全云的视角进行数据分析。
针对于存在弱口令的机器,弱口令账户登录后,我们也会产出告警提醒用户修改密码。
针对于被蠕虫攻击后,成为傀儡机继续扫描其余机器,我们也会有对外爆破的告警。
同样的,我们还提供对应的拦截能力。阿里云安全中心目前有两种闭环暴力破解攻击的能力。
防暴力破解功能
用户可以结合着自己的业务场景进行自定义防御规则的配置。比如在时间窗口内,登录失败超过设置的阈值,就进行拦截。这种方式可以较好的解决深度爆破行为,但是很难解决广度爆破行为。
恶意网络行为防御
用户开启恶意网络行为防御开关后,云安全中心将智能为用户提供暴力破解的拦截能力。用户不需要配置自定义规则,即可解决深度爆破行为,并且阿里云安全中心,结合全云的数据进行实时阻断云上广度爆破行为。开启网络防御的用户,上述攻击家族可以默认防御。
后爆破黑客行为检测与防御
当弱口令成为一种概率性、不可消除的存在,对于爆破后黑客行为与恶意程序的检测与防御,就成为底线和保障。
阿里云安全中心现有250+检测模型,用于对各类型已知黑客行为进行检测,覆盖入侵过程事前(渗透扩大)、事中(攻击施效)、事后(持久化)的全链路,向用户提供关于入侵事件多维度的告警信息刻画。同时,对于关键恶意行为,云安全中心实施默认防御,有效阻断攻击进行。
更重要的是,云安全中心对云上不断演变的攻击形式持续观察分析,具备对“未知”安全威胁及其态势的捕获与感知,并即时转化为检测机制。例如针对潜在恶意程序样本(病毒),安全中心一方面利用全部历史全量的,以及近期流行新型样本的特征,刻画挖掘云上最新文件的可疑性;另一方面对所有未知新文件,特别是具有爆发性或关联性出现的文件,进行聚类分析,因而能够对新型威胁及时捕获。
特别地,对于如下高威胁性的后爆破行为,我们具备捕获、检测和防御能力。
蠕虫脚本与程序
蠕虫攻击通常会使用脚本作为进一步利用的投递手段。云安全中心默认对蠕虫家族频繁使用的bash、python、perl、powershell等脚本检测。
落盘脚本文件检测:
无文件脚本执行检测:
针对二进制形式的蠕虫,包括自带暴力破解功能模块的程序,有自动检测:
病毒程序与进程异常
针对黑客行动中的相关病毒样本,云安全中心具备检测告警和默认防御功能,覆盖包括文件落盘、进程启动和持久化进程的程序文件检测,进程行为检测,以及所有病毒进程持久化方式。以2020年12月,阿里云首次发现并率先披露的挖矿家族“Sysrv”为例,云安全中心对所有事前、事中和事后异常的告警和拦截,可参见官网分析与最佳实践文档。
安全工程师的建议
口令符合下列情形时容易被爆破猜解:
网上的通用黑客字典,比如123456/admin/admin123/admin@123等等。
键盘连续字符组合,比如1qaz2wsx/2wsx8ik/2wsx9ol.等等。
英文关键词+数字或组合,比如shampoo/shadow/shopping/shaggy + 666/888/123/123456等等。
英文关键词+日期组合,比如shopping/shaggy+20200101/20201010等等。
中国TOP名字+数字或日期组合。
包含公司名称、 生日、姓名、ID号码、手机号、邮箱名、用户ID、时间年份信息等等。
我们关注到大量的弱口令账户均为用户在不经意间设置,或者添加一个存在弱口令的临时账户忘记删除,被每天持续扫描的蠕虫程序爆破成功。有一些用户认为自己的口令非弱口令,但攻击者的字典库足够强大,也会有被入侵的风险。还有一些用户,在内网环境、vpc环境里习惯使用简单的账户和密码,认为无公网IP不会被蠕虫家族扫描到并入侵。但事实上,至少有10%的入侵事件,是由于网络边界配置错误,不小心将内网服务器开到公网上被入侵的,这其中不乏一些大型企业。暴力破解作为一个老生常谈的问题,越演越烈,我们提出如下几点建议:
1. 使用云安全中心的用户,通过基线检查功能检出的弱口令,及时修复。
2. Linux机器关闭口令登录,尽量使用证书登录。Windows用户定期修复口令较强的密码。
3. 开启云安全中心的恶意网络行为防御、防病毒、防勒索开关。