针对此PHP缝隙的测验测验,ColdFusion,内容治理系统存在此缝隙是很常见的。在某些环境下,特定的报复打击可能会成功,对高价值的办事器,会导致很是较着的数据泄漏。在其他环境下,报复打击者将会大年夜范围的操控被传染的主机。
比来,我寄望到多个IP地址试图操纵一个PHP缝隙报复打击,所以我操纵蜜罐记实了成果,此次勾当让人想起初期僵尸收集疯狂的日子,用IRC号令节制,和操纵被进侵的主机作为扫描东西。
这是很有趣的,因为它表白它是一个成功针对Linux办事器的PHP缝隙,它能做甚么呢,我将演示若何做一些根基的内存取证,可利用Volatilit这类类型的事务进行总结。
以下是报复打击者测验测验的报复打击:
这是针对一个老缝隙(CVE-2012-1823)的,它承诺长途报复打击者经由过程号令行选项HTTP查询字符串内注进肆意代码。
报复打击代码解码后为:
假定操纵成功,将在HTTP POST的残剩部门显示。
以下是在被进侵的办事器上履行的把持:
·改变工作目次到/var/tmp中
·从该目次删除文件名为“a.pdf”的文件。
·从报复打击者那边下载“a.pdf”文件并保留在/var/tmp目次。pdf文件实际上是一个per脚本。
·履行per脚本,也就是“a.pdf”文件。
·最后删除“a.pdf”文件。
此报复打击者为了确保能成功下载长途脚本,他反复利用“curl”、“fetch”、“lwp-get”指令。
捕获的数据包显示了注进脚本的整体勾当,在履行脚本后,休眠了一段时候,猜想多是避开治理员的耳目。然后连接到vafel.pexit.cu的IRC C2,端口45129。
一段时候后,报复打击者唆使从m1.pexit.cu.cc获得另外一个脚本“ins_h.sh”。
在“ins_h.sh”脚本的内容显示除其他事项外,报复打击者在Linux办事器上成立隐躲目次,获得另外一个东西(HC)的源代码,并编译它,然后点窜保留到按时任务中。
在这以后不久,大年夜量的各类文件将被下载到被传染的主机,这此中包含发掘软件,开辟库和编译东西,还下载了大年夜量的linux本地权限晋升操纵法度。以后,报复打击者将利用他想要的编制,开端比特币和质数币的发掘,出格值得寄望的它利用Stratum Mining和谈连接到办事器37.251.139.161上:
大年夜大都办事器都被打针了这些不合的脚本然后用于各类任务,包含DDoS、缝隙扫描和操纵。互联网风暴中间比来发布了条新闻,“迈纳德的环境”,切磋了被粉碎的办事器被用于开采虚拟货泉。
此刻,让我们做一些内存取证这一特定被攻下主机的内存图象。我们将利用2.3.1版本分析Linux映像,为了做到这一点,你必需供给恰当的Linux建设文件,成立一个建设文件是很是等闲的,但它需要做恰当的漫衍和内核。我保举Ken Pryor的Github网站,Ken Pryor在那边成立了一个Linux建设文件存储库。
按照阐发,该系统是一个Ubuntu 10.04的办事器,内核版本2.6.32-33,我们先来看看系统上的勾当过程,经由过程“linux_pslist”插件。
寄望PID1517(httpds)和PID27157(rsyslogd)的时候戳,远远晚于它上面列出的这些过程。因为初期过程及其相对时候戳近似于Linux的启动法度,另请寄望,这些过程显示一个用户ID和组ID1002,此中的Ubuntu分派给一个用户帐户。
波动插件“linux_psaux”的行动近似于Linux号令ps,所以它可以或许显示在流程调用利用的号令行参数:
所以过程名定名为“httpds”,PID为1517,目次/usr/bin/httpd,别的一个过程“rsyslogd”,PID为27157,并调用号令行参数“-b -c”。假定我们获得一个粉碎办事器的磁盘映像,我们会寄望查抄/usr/bin的“httpd”。经由过程研究“rsyslogd”,我们得知“- b”不是一个有效的选项,所以这个过程仍然是可疑的。当经由过程pslist号令列出的过程列表,找到运行的过程,“linux_pidhashtable”可以帮我们找到隐躲的过程。
在这类环境下,它是一个很好的做法,查抄办事器的收集信息,一些收集插件,这将有助于肯定长途连接和启动这些过程。例如“linux_netstat”插件的行动就像Linux的“netstat”号令,并列出勾当的收集连接,和监听套接字。在这类环境下,我们看到可疑的过程,PID1517和PID27157与成立的收集连接的长途IP地址相联系关系的过程。
履行“linux_route_cache”插件,可以显示路由表的缓存。这可能表白,可以不经由过程“linux_netstat”插件看到任何旧的连接。
此刻,我们已成立的PID1517和27157的可疑过程,让我们所有的相干的每个打开的文件和路径的列表。近似于在linux系统利用“lsof”的,我们将在这里利用插件“linux_lsof”。
寄望,这两个过程,PID1517和27157有两个共同打开的文件。一个是[7916],另外一个是在隐躲目次“/tmp/.ICE-unix/-log/”中的httpd.pid文件。
另外一个插件是“linux_proc_maps”,这个插件将显示过程内存的细节,包含共享库。细节包含开端和结束的位置,每个部门的节点和标识表记标帜。这事从内存中查询拜访处的很有价值的信息。例如,在PID1517,我们获得以下内容:
我们看到前面所提到的不异的隐躲目次,但此刻指的是文件名“httpds”。该文件被看作是405961,在“linux_proc_maps”插件上有一个输出开关,承诺以段列出。但是,为了恢复完全,无缺的文件,我们需要从页面缓存,它保留在内存中的所有有关文件的页面。我们可以经由过程“linux_find_file”插件做到这一点,这个插件会找到地址,然后让你从内存转储缓存的文件内容,所以“httpds”文件在节点405961:
python vol.py -f /home/abc/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_find_file -F "/tmp/.ICE-unix/-log/httpds"
然后,我们利用“linux_find_file”插件利用“- o”选项,经由过程索引节点的地址,以提取文件。提取后,我们可以运行“strings”,查看内容:
这些例子只是协助你若何阐发被粉碎主机。我希看这篇文章成功的揭露了PHP缝隙和由此产生的脚本注进的例子的一些环境,除确保面向Internet的办事器利用准确的修补和硬化,还要知道若何快速跟踪如许的报复打击。在我的蜜罐,我每天会看到数十个,包含linux ELF,perlbots和老式炮弹报复打击。这些注进perl和shell脚本是很是让人讨厌的,并且还会给我们带来最严重的粉碎。