13

一条网站攻击日志分析引发的思考

 4 years ago
source link: https://www.freebuf.com/articles/web/233083.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

前几天发现自己的VPS服务器莫名其妙遭受一些漏洞利用的扫描事件,然后就抓个包看一下到底是个什么情况。抓到的数据包如下就是一些ThinkPHP5的远程命令执行漏洞,本来也很正常这种事情但是注意到这个payload有点意思,就花点心思瞧瞧遂有此文。不明之处,希望各位大表哥答疑解惑。

bMN36fq.jpg!web

一、分析思路

漏洞的原理分析就不多再赘述比较好奇的是这个 http://107.148.223.222/php/1/editor.tx t网页访问后确认就是一个wesbehll后门。

6R3I7jE.jpg!web

该IP的归属地在米国加州,提示为IDC服务器的主机,社区用户标记为可疑。

BbUfqur.jpg!web

本来想通过威胁情报能够关联到更多的信息,目前也只是4-2收录了一个editor.txt这个样本,未能发现更多的信息。而且该txt也被标记成了安全、无论怎么看这个脚本也不安全才对呀,于是准备换个思路再深入看看。

YvUrQf6.jpg!web

干脆就访问一下这个网站的根目录一探究竟。网站看起来是十八般武器样样都有,大马小马一句话、冰蝎lcx图片马。唯一的问题是,这些马都是txt格式不是常规的php、jsp、aspx一类的脚本格式。黑帽子们主要还是想通过一些RCE在网页上通过file_get_content一类的函数远程写入。我想这些黑帽子的目的并不是为了拿到这个站的权限,本质上完全可以通过RCE继续渗透内容扩大战果,他们的真实目的应该还有其它。

E3yEve6.jpg!web

既然是这样,就先下载下来用D盾检验一下免杀效果。24个只检出了10个居然还有一个级别为1的,其他的应该就是有绕过姿势的或者有其他什么目的。

UvQRbiE.jpg!web

意外发现这个easy.txt其实是一个PE文件,而且还是有数字签名的PE文件实际为Easy file Locker。利用该工具可以实现对文件和文件夹的属性进行修改实现隐藏的目的。

yayiUfF.jpg!web

lcx.txt也是一个PE文件,主要实现端口转发的功能可以满足把肉鸡A上的3389端口转发到B机上的需求,但是这个一般的杀软会直接识别并隔离还是比较常见。

mQJNnqF.jpg!web

翻来翻去,还是发现这里居然还有好几个php的免杀马,于是准备对这个样本进行深入的分析一下。该脚本通过构建一个Globe的类里面的析构函数,实现了一个命令执行的功能。如371行的代码可见,有经验的小伙伴应该都懂得不多扯淡,这个是一个已知的后门文件。

iy6BfuE.jpg!web

其他function的功能通过命名方式,多少可以确认一些主要目的不再多赘述,代码即注释啊。感兴趣的是这个var变量里面有一个URL地址,由于对这个比较感兴趣就多关注了一些。如代码69行、143行、371行的使用来看。主要是读取受害者主机的IP地址、依次生成CRC32的校验、abs之后生成的var应该是保留在3位数以内的一个数值。如果IP地址为255.255.255.255那么生成的var数值为475;如果IP地址为200.200.1.123 生成的var数组则为179。仔细想来除了在计算机网络里面接触过这个crc,今天还是第二次接触到这个冗余校验码,多数还是sha系列、md5、RSA、R**之类的多一些。玩的这么复杂和高端,不知道到底是要干嘛?那么生成的访问域名则为

http:// 475 .p.oubao3389.tech:1942

http:// 179 .p.oubao3389.tech:1942

继续访问后的网址上依旧存放了一些经过特殊编码的base64的代码

B7vMnir.jpg!web

经过解码后的内容看来,大约有120+行的代码量应该是一个网站的恶意SEO的代码模块。大概读了一下代码,功能还是有点多。看到这个关键字,轮链问一下度娘感觉仿佛打开了新世界,感兴趣的小伙伴可以自行了解一下。

nqiQ3ui.jpg!web

然后突然又一想,如果这个var的数值不是三位数又会怎么样?报着这种心态,然后继续再访问一波 http://66666.p.oubao3389.tech:1942 居然返回了一个特殊的网站路径。

a6jiMnZ.jpg!web

打开网址后是一个娱乐网站、在其他脚本里面还包含了另外的一些网址访问之后的内容基本保持一致,看起来这个才是最后的目的。最开始的那个工具包就是想通过web系统的RCE漏洞植入存放在恶意服务器上的广告SEO脚本。

nEn6veV.jpg!web

二、碎碎念

其他信息感觉倒也没有什么值得深入分析的必要,但是到了这里倒是引发了另外一种的思考。目前各个安全厂商的安全设备,在针对webshell上传的识别能力应该还是不错的,常见的做法都是通过截取上传的文件内容进行文本识别,本质上和D盾的思路应该是一样的,简单点或许简单的字符规则、文本规则也有,高端一点可以用到语义识别和自然语言处理,虽然各有优劣但是相关解决方案还是比较成熟的。

这个场景的识别一般是建立在 外网到内网的上传,相关的内网应该是在HTTP头数据包里面的Request Body这个部分,方法也多数是POST类型。

AbIj2eZ.jpg!web

那如何是webshell的主动下载呢?那么方向就是主动从内网到外网的发起的请求,多数也是get请求,脚本代码是在response body的部分,那么在很多场景说不定是一个突破的好思路。

ZjmeQzr.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK