导语:Microsoft威胁情报中心使用了一系列方法来识别新出现的威胁,包括复杂的混合Linux蜜罐服务,蜜罐是一种诱饵系统,引诱网络攻击者自我暴露。在这篇文章中,研究人员讨论了一些最近新发生的实例,其中针对蜜罐的攻击源自客户设备中的IP。
一般来说,黑客会在攻击之前选择攻击目标,比如盗取存储在受害者计算机上的信息,或者获取设备的某些访问权限,更有甚者,直接使用受害设备本身的处理能力,甚至将计算机作为其他攻击的起点(比如挖矿或作为肉鸡)。在Microsoft Azure的Linux虚拟机(VM)上,研究人员经常看到攻击者安装并运行加密货币挖掘软件。
Azure安全中心(ASC)使用在多个Linux发行版上运行的代理,在启用auditd时,它会收集包括流程创建事件的日志。它们通过检测pipeline运行,以查找恶意和可疑的活动,安全警报会显示在ASC的门户网站上。
Microsoft威胁情报中心使用了一系列方法来识别新出现的威胁,包括复杂的混合Linux蜜罐服务,蜜罐是一种诱饵系统,引诱网络攻击者自我暴露。
在这篇文章中,研究人员讨论了一些最近新发生的实例,其中针对蜜罐的攻击源自客户设备中的IP。在这种情况下,受攻击的客户VM上的恶意行为会导致Azure安全中心发出警报。对这些攻击的分析可以更深入的了解攻击者的行为,并为进一步的检测提供依据,使研究人员能够更早的向用户发出攻击警报,并提供一个更完整的端到端攻击视图。
攻击的初步阶段
检测攻击的设置如下所示,根据检测到的数据,研究人员发现使用具有默认密码的Apache Cassandra帐户最一开始只会破坏Azure VM。一旦获得访问权限,攻击就会被蜜罐(1)和其他目标(2)捕获。根据捕获的信息,研究人员确定了攻击者用来登录此VM的两个IP地址(3,4),其中一个也攻击了蜜罐(5)。
研究人员看到的针对客户虚拟机的最常见的攻击之一是暴力攻击或密码喷雾攻击,这些攻击很快会演变成挖矿。
主机枚举
攻击的初步阶段过后,攻击者从域nasapaul.com下载了一个基于perl的主机枚举脚本,该域包含一些枚举和速度测试脚本。 Azure安全中心通过“从已知恶意来源检测到的文件下载”警报,来提醒用户。
该脚本在/ proc / cpuinfo文件中查找特定信息,以便让攻击者了解它们所使用的设备类型。你可以在下面的文本框中看到一些命令。这个脚本还运行了一个speed test命令,这是nasapaul.com提供的服务。
CPU=$(grep –m 1 “model name” /proc/cpuinfo | cut –d: –f2 | sed-e ‘s/^ */ /’ |sed –e ‘s/$/ / ‘) CPUS=$ (grep –c ^processor /proc/cpuinfo) STEP=$ (grep –m 1 “stepping” /proc/cpuinfo | cut –d: –f2 | sed –e ‘s/^ */ / ‘ | sed –e ‘s/$/ / ‘) BOGO=$ (grep –m 1 “stepping” /proc/cpuinfo | cut –d: –f2 | sed –e ‘s/^ */ / ‘ | sed –e ‘s/$/ / ‘) OS=$ (lsb_release –si) ram=$ (free –m | grep –oP ‘\d+’ | head –n 1) VER=$ (uname –a) uptime=$ (</proc/uptime) uptime=$ {uptime%%. *} bold=$ (tput bold) zile=$ ( ( uptime%60 ( ) secunde=$ ( ( uptime%60 ) ) minute=$ ( ( uptime/60%60 ) ) ore=$ ( ( uptime/60/60%24 ) ) vid=$ (lspci | grep VGA |cut -f5- -d ‘ ‘) DISK=$ (df –h --total | grep total |awk ‘ {printf “” $2 “B\n\n” } ‘ )
后期攻击
该会话结束时,攻击者会紧接着启动一个新的会话,并创建一个与安全FTP服务器的连接,再将某些文件删除,修改要执行的文件。
chmod +x 1 cyberinfo cybernetikrandom go h4e petarda port pscan2 screen speedtestvps.py sshd
这组文件是来自一个已知黑客组织的工具包,攻击者使用“go”文件,在两个不同的B类IP范围运行“pscan2”和“sshd”。这意味着他们对65000多个地址进行了扫描。他们还使用了“h4e”工具,研究人员的调查显示这是一个用于拒绝服务攻击的perl脚本。文本文件“port”会保存扫描结果,扫描结果通常是IP正在监听的内容以及可能打开的端口。目前尚不清楚这些命令是否能成功完成扫描,因为两小时后,攻击者就将所有命令全部删除,并删除了另一个工具包。
密码喷雾(Password spray)
wget 是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的 TCP/IP协议下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。本文所检测的攻击者,就是使用的Wget,如上所述,攻击者会将用于攻击的工先进行修改,再执行攻击。
chmod +x a all classes co gasite.txt hu pass range scan.log ssh2 x /bin/bash ./a ##.49 ./ssh2 1500 -b ##.49 pass 22 "uname -a & lscpu" /bin/bash ./a ###.66 ./ssh2 1500 -b ###.66 pass 22 "uname -a & lscpu" nano gasite.txt
这样经过设置后,攻击者就可以针对多个B类范围重复相同的简单攻击模式了。文件“a”将B类范围的前两个八位字节作为输入,然后调用“ssh2”。 “ssh2”接受多个线程的输入、范围、密码文件(在本文的样本中,包含超过35000个用户或密码组合的密码)、端口号以及要运行的初始命令,文件“gasite.txt”收集输出内容。
稍后,研究人员会看到文件“co”和“range”与“classes”文件夹一起使用。 “classes”文件夹包含26个云和托管公司及其IP范围的详细信息,微软和其他主要供应商的信息都包含在其中。文件“co”和“range”只是将最初的两个八位字节扩展为一个完整的IP。
攻击者似乎没有执行“all”,“hu”或“x”文件,但它们都与配置IP范围有关,特别是填写IP的完整四个八位字节,很可能“ssh2”可执行文件使用了这些文件。
经过对工具包的分析,研究人员发现输出文件名“gasite.txt”转换为了“found.txt”,“ssh2”文件是使用UPX打包或混淆的ssh扫描程序的自定义罗马尼亚语版本。反编译后,罗马尼亚语字符串就会出现(见下图)。
Azure安全中心的分析过程
在调查攻击过程时,研究人员能够通过Azure安全中心提取一些独特的TTP,来加快分析的时间,比如通过更好的密码喷雾检测,并全面的收集攻击者的主机枚举。研究人员还能够对分析结果进行验证,看看攻击是否如预料的那样启动。Azure安全中心的目标不是向用户发出警报就完了,而是为了让用户对攻击者行为有一个深入了解并作出预防措施。研究人员也承认,将来,这次攻击幕后的研发者可能会改变他们某些技术。对攻击的整个生命周期的检测范围越大,研究人员对攻击者方法的了解就越深。此外,本文所讲的样本中的使用的特定技术可能被其他攻击者使用,研究人员也希望能随时捕获它们。
缓解措施
定期查看Azure安全中心的警报,如果用户注意所看到的针对此入侵的Azure安全中心警报,就可以按着提示阻止此恶意活动。 Azure安全中心会将所有警报整合到安全警报的一个位置。这样用户就可以轻松查看警报的严重性,并帮助你确定响应的优先级。每个警报都会为你提供事件的详细说明以及如何解决问题的步骤。为了方便用户的进一步调查,“调查路径”中专门有查看警报的途径,这是一种交互式和可视化的方式,可以查看攻击中涉及的每个对象。
定期更改密码,虽然Azure安全中心发布了安全警报,但可以通过良好的密码管理策略来防止入侵。在攻击者工具包中的许多用户名和密码组合中,很大一部分是在用户第一次安装软件时创建的默认值。通过更改这些默认密码或无效密码,可以有效防止攻击。