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

如果怀疑有硬件后门....

  •  
  •   algas · 2016-03-10 20:39:29 +08:00 · 9907 次点击
    这是一个创建于 2961 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前一段时间服务器被黑掉了,折腾了很久没有找到问题,然后就重装了系统,
    http://www.v2ex.com/t/252017
    今天上午开放了服务器使用,晚上就发现服务器重启,然后又中招了....

    重装的时候全盘格式化, iso 校验了 md5 ,安装的时候没有联网,安装完成后关闭 ssh 更新,
    所有用户密码重新在服务器上生成, root 密码长达 30 位,且没有开启 root 的 ssh 登录。
    主要的是每次被黑掉都伴随这重启...
    第 1 条附言  ·  2016-03-11 23:18:05 +08:00
    你们太热情了,这么多人我就不一个一个 @了~

    基本就像很多人猜的一样,机器上确实有集成 IPMI ,而且我们也非常运气好的在 2 选 1 中插对了网口,毕竟只有一个网口集成了 ipmi 。我们只是在理论上知道有能够远程管理的接口,但是从没有想过这个东西是默认开启的。所以今天插上网线后我们就找到了 ipmi 多了一个管理员用户.....

    所以入侵利用了 ipmi 基本没跑了。几经周折重置了 ipmi 的配置,因为各种修改 admi 密码都无法用 ipmi 接口连接,最后还是在服务器官网上找到了更加底层的管理工具,重置后才完成配置。

    这里我要抱怨一句,既然 ipmi 的管理员密码可以在操作系统里修改,而且又不用验证之前的密码,初始密码就给个强度高一点的随机密码嘛。

    最后讲一个比较好玩的事情,大家乐和一下。
    对方黑进来之后大概就是重起时候绕过 root 密码,然后新建了一个 root 用户。然而对方比较粗糙,没有注意到服务器是禁止 root 通过 ssh 登陆的.... 然后我们在日志里看到了很多的登陆失败记录,尝试的用户名就是他新建的那个...
    66 条回复    2016-03-14 14:39:13 +08:00
    VmuTargh
        1
    VmuTargh  
       2016-03-10 20:42:08 +08:00
    应该是物理接触
    xuboying
        2
    xuboying  
       2016-03-10 20:44:52 +08:00 via Android
    机房掉电?
    algas
        3
    algas  
    OP
       2016-03-10 21:15:15 +08:00
    @VmuTargh 物理接触应该不会,有这个技术的已经是管理员了...


    @xuboying 只有这一台机器重启,而且确实多了一个 root 用户。
    ChangeTheWorld
        4
    ChangeTheWorld  
       2016-03-10 21:23:34 +08:00
    BIOS 中的 Anti Theif 之类的功能估计可以实现,记得 windows 还会生成几个删不掉的.dll 文件,联网就上报机器位置什么的,我就猜测下,楼主可以进服务器 BIOS 看看,不行就刷下 BIOS ?
    tobylee
        5
    tobylee  
       2016-03-10 21:39:01 +08:00
    重启到单用户,操作用户密码或权限,再正常重启,然后...,应该有物理接触吧
    xuboying
        6
    xuboying  
       2016-03-10 21:54:16 +08:00 via Android
    我有个奇葩的 idea ,让显示器开着 tail 日志,再拿个摄像机对着屏幕
    OliveZh
        7
    OliveZh  
       2016-03-10 22:08:53 +08:00
    等待高手解答~
    nicevar
        8
    nicevar  
       2016-03-10 22:11:20 +08:00
    难道是神秘莫测的 badBIOS 出现了?
    楼主安装完后发现再次感染期间有联网或者连接其他设备没,没有的话怀疑 bios ,最后排除法,这个很有意思,找出来写篇文章,表示关注
    winkidney
        9
    winkidney  
       2016-03-10 22:13:11 +08:00   ❤️ 1
    IPMI ?
    tracert
        10
    tracert  
       2016-03-10 22:52:23 +08:00
    还有一种可能性,带木马的 ssh client ,看了 LZ 的上一贴,虽然禁止了 root 登录,但有 sudo......
    BSD
        11
    BSD  
       2016-03-10 22:58:07 +08:00
    服务器主板用的是传统的 BIOS 还是 UEFI ?后者我也没用过,不过据说其实就是个小型的 Linux ,搞点恶意代码改写硬盘上的文件系统,应该是有可能的。。。
    BSD
        12
    BSD  
       2016-03-10 23:00:04 +08:00
    另外,建议在机柜上装个网络摄像头,有可能是机房工作人员或其它能物理接触机器的人员搞鬼。
    janxin
        13
    janxin  
       2016-03-10 23:03:22 +08:00
    你服务器开了什么服务....是不是那个服务有问题?不可能只开放了个 22 端口吧,如果是,再怀疑是硬件后门不迟。
    另外,不用非官方源试试?
    algas
        14
    algas  
    OP
       2016-03-10 23:47:15 +08:00
    @winkidney
    非常有用的信息,我们现在在核对这个
    algas
        15
    algas  
    OP
       2016-03-10 23:57:57 +08:00
    @ChangeTheWorld
    如果还需要重装系统的话,肯定要去看 bios 了,不过刷服务器 bios 还是满虚的


    @tobylee
    @BSD
    机房就是我们自己的,我觉得内部人士动手脚的可能性很小很小,因为有这个能力的人已经是管理员了,其他都是 windowsers ...,而且黑进来后的一些细节也暗示应该是外来入侵
    服务器用的 BIOS ,没有 UEFI

    @tracert
    管理员用的 ssh 是源里的,普通用户有可能会使用被加了后门的 ssh-client ,但是对一个很好更新的系统本地提权... 只能说不能否认这种可能性

    @janxin
    只开了 22 端口,真的,这个服务器是做数值计算的,目前上面没有任何盗版甚至私有软件,准确的说我们目前只装了 gcc 系列

    @nicevar
    安装好(更新和安全配置都完成)之后静置了 24 小时,这段时间有网络连接, sshd 开启,之后发出了两个普通用户密码,其中一个是 linux user , 20 小时内发现服务器重起,多了一个 root 用户。
    shiny
        16
    shiny  
       2016-03-11 00:02:18 +08:00
    你本机有没有木马
    cevincheung
        17
    cevincheung  
       2016-03-11 00:08:18 +08:00
    如果换个 IP 试试咧?
    algas
        18
    algas  
    OP
       2016-03-11 00:10:43 +08:00
    @shiny
    应该没有,上次服务器被黑之后就仔细检查过自己的电脑,
    没有多余用户,没有奇怪进程,没有多余的网络连接, last 里没有奇怪记录,
    最重要的是,如果管理员的电脑被黑了,那么应该还有其他服务器被黑才对
    algas
        19
    algas  
    OP
       2016-03-11 00:12:47 +08:00
    @cevincheung
    恩,这个治标不治本啊,迟早会被再被对方扫到吧
    BSD
        20
    BSD  
       2016-03-11 00:27:20 +08:00
    把这台服务器配置为内网 ip ,另搞一台 pc 配外网 ip 再反向映射到这台服务器的内网 ip 上,然后在 PC 上持续抓包,看到底是不是真的是外网攻击。

    我还是比较怀疑是你们内部人员搞鬼,或者是恶作剧调戏你,或者是要整你。。。。
    algas
        21
    algas  
    OP
       2016-03-11 01:17:03 +08:00
    @winkidney
    我们的服务器上确实有这个东西,而且我们谁都不知道......

    我们改了密码,明天插网线测试,
    再次表示感谢~
    algas
        22
    algas  
    OP
       2016-03-11 01:19:18 +08:00
    @BSD
    现在看起来有可能会是 ipmi 的原因,如果最近测试再发现不行的话,我就听你的建议去要监控录像~
    Do
        23
    Do  
       2016-03-11 01:21:30 +08:00
    全盘加密,/boot 扔 U 盘,再能中招基本可以排除物理接触了。
    Flyshit
        24
    Flyshit  
       2016-03-11 01:22:04 +08:00 via Android
    如果在重装后到再次感染的这段时间里有联通互联网的话,说不定有可能是某些牛人挖到了某重量级 0day 然后利用,楼主快去做个蜜罐,搞到这 0day 就发了
    hjc4869
        25
    hjc4869  
       2016-03-11 01:22:34 +08:00
    ssh 只对内网开放,用硬件 VPN 连入,并且留下详细的访问记录。
    dzxx36gyy
        26
    dzxx36gyy  
       2016-03-11 01:40:50 +08:00 via Android
    @algas IPMI 设置好……限制访问地址必须为内网(或者特定的,比如某台跳板机的 ip),然后如果要使用就挂 vpn 进内网连接……话说你们是真的不知道采购的服务器有 IPMI 模块吗……
    xuhaoyangx
        27
    xuhaoyangx  
       2016-03-11 01:49:27 +08:00
    @Flyshit
    +1 专门给这台机器做个蜜罐,一直监测
    xhat
        28
    xhat  
       2016-03-11 01:56:14 +08:00
    考虑下 mbr
    esxivistawrt
        29
    esxivistawrt  
       2016-03-11 06:34:16 +08:00
    是不是服务器上的服务有漏洞?
    ericls
        30
    ericls  
       2016-03-11 06:58:32 +08:00
    我很好奇服务器上除了 sshd 之外 还有什么服务
    jimzhong
        31
    jimzhong  
       2016-03-11 07:19:33 +08:00
    可以尝试在防火墙上 log 一下访问 IPMI 的记录。
    sweelia
        32
    sweelia  
       2016-03-11 07:34:20 +08:00 via Android
    记得 Ubuntu 出了个 overlayfs 的漏洞,可以普通用户直接提权 root
    wwek
        33
    wwek  
       2016-03-11 08:30:44 +08:00
    @xuboying 牛逼
    gpw1987
        34
    gpw1987  
       2016-03-11 08:46:12 +08:00   ❤️ 1
    怎么感觉放大片呀,我觉得 linux 越来越难搞了,希望楼主找到以后一定要公布下
    tairan2006
        35
    tairan2006  
       2016-03-11 11:26:35 +08:00
    只有一台的话,服务器卖了,买台新的。。
    winkidney
        36
    winkidney  
       2016-03-11 11:33:27 +08:00
    @algas 这个是网卡自带的特性,部分服务器网卡会有,默认没有密码保护,相当于硬件 vnc 。不知道 lz 最后查到的结果如何?
    skylancer
        37
    skylancer  
       2016-03-11 11:51:02 +08:00
    我怎么感觉是 BIOSKIT 啊..
    当年 DELL 那单事,然后更早更早之前其实也有人弄出来,不过是个 Demo(也就公开的版本),至于私底下的嘛...
    inter
        38
    inter  
       2016-03-11 12:40:48 +08:00
    @algas windows 用户坐看你们 linux 鼓吹安全的忙活
    jsyangwenjie
        39
    jsyangwenjie  
       2016-03-11 13:04:48 +08:00
    https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf

    推荐读读这篇 paper ,不是你自己写的代码都有可能有后门:)
    aalska
        40
    aalska  
       2016-03-11 13:06:33 +08:00
    只能说 牛逼!
    jemyzhang
        41
    jemyzhang  
       2016-03-11 13:15:54 +08:00
    坐等原因,希望楼主更新
    hackevin
        42
    hackevin  
       2016-03-11 13:38:00 +08:00
    没有物理接触为什么要重启,演员?机房没有监控吗?
    9hills
        43
    9hills  
       2016-03-11 13:43:49 +08:00
    我赌是软件原因
    jkneedout
        44
    jkneedout  
       2016-03-11 13:53:12 +08:00 via iPhone
    服务器应该有带 bmc 吧,检查下 bmc 是不是被黑了
    lutla
        45
    lutla  
       2016-03-11 13:55:49 +08:00
    有点神奇啊,围观。
    HackerOO7
        46
    HackerOO7  
       2016-03-11 14:30:07 +08:00
    BMC 的锅,以前在谷歌上就搜到过一个没有修改默认密码的 IPMI ,直接就进去了
    shiji
        47
    shiji  
       2016-03-11 14:34:45 +08:00 via Android
    @dzxx36gyy 如果他们不知道这个模块,也就很有可能没给这个模块插网线吧
    popok
        48
    popok  
       2016-03-11 14:36:42 +08:00
    有点走近科学的味道了,不错
    wowpanda
        49
    wowpanda  
       2016-03-11 17:21:47 +08:00
    我想起了之前 V 站上有个哥们发帖求没有后门的菜刀
    murusu
        50
    murusu  
       2016-03-11 17:31:00 +08:00
    记录一下先,楼主有新的情况记得发上来看看
    ihciah
        51
    ihciah  
       2016-03-11 17:48:03 +08:00
    我感觉是楼主的 key 被偷了。。
    flexbug
        52
    flexbug  
       2016-03-11 17:49:04 +08:00
    服务器补丁打全了吗
    flexbug
        53
    flexbug  
       2016-03-11 17:49:37 +08:00
    还有个方法,找个安全公司做渗透测试
    janxin
        54
    janxin  
       2016-03-11 17:57:09 +08:00
    物理主机倒是确实有可能是 BMC 的锅
    dzxx36gyy
        55
    dzxx36gyy  
       2016-03-11 20:44:51 +08:00
    @shiji 说不定他们认为那只是个备用的网卡口,然后顺手插上了 :doge
    onice
        56
    onice  
       2016-03-11 22:54:08 +08:00
    不排除物理接触的可能。但这种可能性太小了。
    每次中招都伴随着重启,我倒觉得这很可能是远程溢出。
    以前做测试的时候发现有关过类似的漏洞,那次对方是 win 服务器,开了远程桌面连接。直接用远程溢出让对方蓝屏,服务器拒绝服务。想必从中注入恶意代码也并非难事。
    楼主查一下服务器上开放的各个服务的版本号,搜索下这些版本号,看看有没有爆漏洞。无论是 ssh , web 容器,还是数据库什么的。尽量把这些东西升级到最新版本,并让每个服务用不同的低权限账户运行。用最低权限的方法,权限分配尽可能的小。
    还有就是你的网站了,网站有漏洞的话服务器也会受影响,例如攻击者拿到 webshell 传个本地提权的工具上来,所以系统内核也要升级。
    一定要尽可能的低权限:例如数据库只需要读就行了,那么就只开 r 权限,并且把帐号限定到那一个目录。
    selinux 都被玩坏了。。这可是只有 root 才能干的事情。密码是否弱口令了?
    如果是 0day ,除了等补丁,那就真没办法了。。。
    algas
        57
    algas  
    OP
       2016-03-11 23:36:22 +08:00
    @dzxx36gyy
    真不知道有这个模块,我们一般只是报配置,因为都是数值计算用的。

    @ericls
    没有了吧,大概,反正端口只有开放 22 。

    @gpw1987
    见附言

    @flexbug
    系统更新是定时任务,一天两次

    @onice
    服务器倒是没有开什么服务,我们主要的安全问题可能是有不少的普通用户,用户名和密码泻露的可能性比较大,但是只要对方不能本地提权,我们也能接受

    @jemyzhang
    手动更新提醒~

    @tairan2006
    国有资产...

    @xhat
    前两次重装系统的时候都有重新写引导,所以 mbr 应该被覆盖了

    @winkidney
    检查结果,多了一个用户....
    gamexg
        58
    gamexg  
       2016-03-12 08:58:17 +08:00
    最后的结果真的相当于硬件后门...
    gpw1987
        59
    gpw1987  
       2016-03-12 10:34:02 +08:00
    硬件后门,这跟我以前看过的小说巅峰黑客非常的像呀,哈哈
    realpg
        60
    realpg  
       2016-03-12 11:54:46 +08:00
    @algas 数值计算的,这种机器为何非得直连公网且进行系统更新开放一堆乱七八糟服务?
    是你们单位自己家机房吧?
    我教你个简单玩法。

    1. 买个 TPLINK 最便宜的路由器,几十块钱足够了,把路由器接公网,配好外网 IP ,开放 web 管理远程访问( WAN 口访问管理), tplink 的密码设置为 20 位以上的
    2. 把你的计算服务器放到这个这个路由器下面去, NAT 上网,如果你的计算程序需要监听端口,从路由器上做端口映射
    3. 需要 ssh 远程登录的时候,先上 TPLINK ,建立一个端口映射,随机的用三万以上高端口,映射到服务器 22 ,用完删掉


    其实,这就是搭建了一个小型的防火墙而已……
    caola
        61
    caola  
       2016-03-12 14:31:18 +08:00
    是不是 PuTTY 的问题呢,现在 PuTTY 官方网的下载地址:
    http://tartarus.org/~simon/putty-snapshots/x86/putty.zip
    https://tartarus.org/~simon/putty-snapshots/x86/putty.zip

    看清楚了 http 和 https 下载的文件 md5 值可能会不同,
    可能你下载 http 的是被劫持过的,再或者你在国外下载的的,也有相当一部分被值了后门。

    所以以后下载软件,尽量用 https 的(前提是支持)
    masterqing
        62
    masterqing  
       2016-03-12 15:48:56 +08:00
    nicevar
        63
    nicevar  
       2016-03-12 21:11:41 +08:00
    安装后联过网还 ssh 了就不用先怀疑硬件了
    algas
        64
    algas  
    OP
       2016-03-13 23:55:59 +08:00
    @realpg 我记得你 :-D
    我们确实没有开任何其他的服务,端口只有 22 开放了。

    之前我们考虑过在服务器前面放一个千兆路由,加速服务器间文件传输,也有利于安全(主要是对抗 arp 病毒)。
    但是基于两个原因,我们没有这样作。

    1. 由于历史原因,我们的服务器中有一台帮定了 IP ,固定 IP 还是一个非常重要的资源,在外网能够访问到服务器还是很重要的。如果需要放路由,就需要修改路由 MAC ,在路由上做端口映射,而且机房里还有一个托管服务器,那么就需要交换机、路由、交换机,需要重新布线,手续有点多。如果哪天主页要迁回之前帮定 ip 的服务器,那么又会来很多问题。

    2. 安全问题不在于暴力破解 ssh 登陆密码,而是 windows 用户的电脑安全。前置路由对已经获得用户名和密码的情况效果估计不太大,服务器间文件传输速度提升并不迫切。
    realpg
        65
    realpg  
       2016-03-14 11:15:29 +08:00
    @algas
    其实所谓的家庭路由,放到专业网络里,就是个防火墙
    我说的方法就是为了过滤可能的外网攻击。
    因为你说了基本只开了 SSH ,那么,没看你远程管理卡的情况下,那只能怀疑 ssh 有未公开的远程溢出了

    主要用来排除,而不是长期防御
    jemyzhang
        66
    jemyzhang  
       2016-03-14 14:39:13 +08:00
    @algas 感谢提醒,学习了,长见识
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3107 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 10:56 · PVG 18:56 · LAX 03:56 · JFK 06:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.