• 请不要在回答技术问题时复制粘贴 AI 生成的内容
rivercherdeeeeee
V2EX  ›  程序员

黑客反反复复入侵

  •  1
     
  •   rivercherdeeeeee · May 9, 2023 · 11069 views
    This topic created in 1274 days ago, the information mentioned may be changed or developed.

    公司独立站是用 prestashop 做的,老是被黑客入侵,更改文件内容和文件权限,让每个页面都重复显示二遍,密码什么的都改了还是不行,网站页面也扫过病毒,扫描到木马也清除了,但第二天还是被黑客入侵,一直反反复复,有大佬能提供解决方案吗

    Supplement 1  ·  May 9, 2023
    项目运行了七八年了,项目积累了很多东西,升级项目系统或重置操作系统不现实,服务器上还有 40 多个 G 的邮件,邮件很重要,不方便迁移。ssh 查看了登录日志,没发现异常,网站后面也买了 bluehost 的扫描软件 sitelock ,发现了病毒但没发现后门,现在每天晚上都会被入侵一次更改文件内容更改文件权限,大家还有什么好办法吗
    yulgang
    yulgang
    May 9, 2023
    1
    网站所有文件和目录设置成只读 且不可修改。然后再看他从哪儿进来的😁
    hefish
    hefish
    May 9, 2023
    2
    这个。。上个 waf 吧。。。硬件 waf ,或者云 waf 。。 能挡住 90%以上的扫描。
    价格 10-15w 不等,硬件是一次性的,云 waf 是按月收费的,看适合哪种。
    现在搞个网站,万一被盯上,没有 waf 几乎都是秒被黑的。
    proxytoworld
    proxytoworld
    May 9, 2023
    3
    明显是站点由漏洞
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    4
    @proxytoworld 不知道漏洞在哪啊,愁死个人
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    5
    @yulgang 他能修改文件权限
    lindas
    lindas
    May 9, 2023
    6
    有重装系统过吗
    illl
    illl
    May 9, 2023 via iPhone
    8
    @rivercherdeeeeee 查日志哇 长亭出了个免费的 waf 装上
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    9
    @lindas 没有,用的是 bluehost 服务器,服务器上有 2 个网站,不方便重置,2 个网站都被入侵了
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    10
    @illl 查 apache 日志吗
    frankies
    frankies
    May 9, 2023
    11
    开源框架由于代码开源,只要合格的黑客想搞你研究一下都是很容易入侵的。不太懂你们行业,外贸不都是 shopify 用的多嘛,花点小钱把安全这事交给 shopify 去整,有的钱不能省
    lindas
    lindas
    May 9, 2023❤️1
    12
    @rivercherdeeeeee 系统上会不会还有黑客开的后门你们没发现
    Felldeadbird
    Felldeadbird
    May 9, 2023
    13
    1. 把整个项目目录打包下载到本地电脑。 例如你保存的是 /var/www/website 。你就把整个 website 打包下载到本地电脑。
    2. 拿本地开发的代码 和线下对比。 确认本地和线上代码不存在差异。
    3. 确认代码无误后,找出资源库中,可能涉及到的.php 文件,这玩意一般都是图片木马。
    4. 排查完网站存在图片木马,修复安全漏洞后,将整个项目迁移到新服务器。新服务器请确保 web 运行只有最低限度的运行权限。

    上面 4 点只是一个典型的方案,具体你要找到代码中的漏洞并修复,其次就是挖掘站内被部署的 getshell 文件,否则漏洞修复了,getshell 文件还在,新服务器还是会被提权。
    rm0gang0rf
    rm0gang0rf
    May 9, 2023
    14
    已经脏了,产品 客户迁移吧,有技术部就用别的 magento ,woo ,没有就用 shopfiy
    ohwind
    ohwind
    May 9, 2023
    15
    端口全关,黑客犯难,禁用密码,黑客没法
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    16
    @lindas 估计是有后门,找不到
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    17
    @frankies shopify 还在研究
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    18
    @Felldeadbird 该删的都删了,感觉就是有漏洞才造成的提权,技术有限,就是找不到,急死了
    MilkShake
    MilkShake
    May 9, 2023
    19
    可以使用 AWVS 这些扫一下你的网站。
    yaott2020
    yaott2020
    May 9, 2023 via Android
    20
    有没有可能是某些脚本运行机制导致的问题,并不存在所谓的“黑客”。。。。
    yaott2020
    yaott2020
    May 9, 2023 via Android
    21
    @yaott2020 纯猜测
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    22
    @yaott2020 并不是
    yaott2020
    yaott2020
    May 9, 2023 via Android
    23
    @rivercherdeeeeee 重装系统呗,实在找不到的话。把不需要的端口全关了,ssh 登录用私钥。做好权限管理。开个日志,看看有没有可疑 ip 入侵。
    garlics
    garlics
    May 9, 2023
    24
    找人 ssh 上去看看
    illl
    illl
    May 9, 2023 via iPhone
    25
    @rivercherdeeeeee web 日志,具体取决于你用的是什么,不过分析的话还需一点的专业知识
    colorfulberry
    colorfulberry
    May 9, 2023
    26
    这玩意儿 大概率 ssh 密码登录被暴力破解了
    illl
    illl
    May 9, 2023 via iPhone
    27
    prestashop 这个好像网上就有披露历史漏洞,看看是不是最新版本或者受影响版本
    leoleoleo
    leoleoleo
    May 9, 2023
    28
    系统的定时任务和可以的服务啥的都检查了吗,有些基础的后门留存就是写个定时任务或者做个自启的服务,发现后门文件没了,重新去拉一份这种。另外有些更搞的,会直接修改系统的动态链接库,导致很多系统命令查看文件,是不显示恶意文件的,可以找 BusyBox 工具再检查一遍,有没有恶意的动态链接库文件。被黑过的系统,在我们公司默认都是不干净的,都是备份了数据重新装一台新的服务器。

    应用本身的漏洞,如果没法定位和修复,就上个 waf 呗,另外如果是上了云的,可以用公有云自带的安全能力,安全上的事,还是需要找专业的人,你们公司看着就是没有安全团队的,不如找个安全服务的公司啥的,如果业务挺赚钱的,安全上的钱别省,如果中了勒索,真的是后悔都来不及。
    hermithacker
    hermithacker
    May 9, 2023
    29
    如果已经提权的话,系统可能被污染了
    defunct9
    defunct9
    May 9, 2023❤️2
    30
    开 ssh ,让我上去看看
    proxytoworld
    proxytoworld
    May 9, 2023
    31
    不会溯源嘛。。从最开始的日志追溯攻击路径
    nkidgm
    nkidgm
    May 9, 2023❤️1
    32
    中过一次招,还不赶紧把数据导出来,然后重装系统?
    gowk
    gowk
    May 9, 2023
    33
    @defunct9 #30
    虽迟但到
    BeautifulSoap
    BeautifulSoap
    May 9, 2023
    34
    先得确定到底是哪些进程和用户在哪个时间点修改了文件权限啊。找几个监控文件修改的工具,看看是哪个进程干的
    thinkwei2012
    thinkwei2012
    May 9, 2023
    35
    上 waf ,ip 加白,程序运行权限和 root 隔离
    yulgang
    yulgang
    May 9, 2023
    36
    @rivercherdeeeeee #5 那就说明你的权限配置有问题
    yulgang
    yulgang
    May 9, 2023
    37
    @rivercherdeeeeee #5 把你的线上程序和官方提供的对比一下差异,看看是不是还有后门没清理干净。然后暂时关掉不必要的上传功能,比如相关文件临时改名,等它更新修复后再恢复。
    l2d
    l2d
    May 9, 2023❤️1
    38
    既然不是 ssh ,那就是通过服务入侵的。
    php 写的,排除内存马,基本确定是文件马。这一类漏洞有两个入口,一个是文件上传,一个是文件包含。
    用 webshell 扫描工具排查一下吧,多用几个工具。
    web 目录下可以查看最近修改的文件,find . -type f -mtime 1
    或者排查 php ,find . -name '*.php' -mtime 1
    最后记得排查 rootkit 。排查完把后门删了,记得打备份。下次被入侵打一份新的环境,把旧的恢复了,分析入侵的环境
    bjzhush
    bjzhush
    May 9, 2023
    39
    每个页面显示两边并不能证明被黑了
    自己搞不定就花钱找靠谱的人解决
    qfdk
    qfdk
    PRO
    May 9, 2023 via iPhone
    40
    简单啊 初始化个 git init 然后推送到 git 私人仓库. 被 x 了之后 git status 查看修改就好了……
    dif
    dif
    May 9, 2023
    41
    很明显,你这项目的病毒并没有清理完成,后门一直开着。
    看下有没有不认识的 ssh-key ,对外端口留个 80 和 443 就行了。其他的都关闭了。
    实在不行就挂个反向代理上去,把 nginx 暴漏出去,应用程序的服务器隐藏在局域网中。
    为了避免暴力破解,你搞一个权限的机器,通过 ssh-key 访问,另外也要保证员工的电脑里没有破解软件。见过很多网络工程师用盗版 CRT 的。
    sam0ple
    sam0ple
    May 9, 2023❤️1
    42
    如果不能上 waf 的话试试手动解决:
    1. 查看访问日志,看有没有类似 VPS 的访问记录
    2. 如果是 Linux ,试试用 BPF 之类的工具监控文件被哪个进程修改的,再通过进程反推是那个程序出现问题,Windows 的话试试 sysmon 或者 procmon 之类的进行监控
    Moofeng
    Moofeng
    May 9, 2023
    43
    如果是阿里云的服务器倒是可以帮你看看
    SleipniR
    SleipniR
    May 9, 2023
    44
    公司应该考虑增加网络安全预算了,目前只是改改文件权限,哪天给你加锁要赎金,代价可高多了。
    westoy
    westoy
    May 9, 2023
    45
    首先你这个环境是不能要了, 把数据、文件备份后, 彻底重做。 有条件最好不要用虚拟主机, 现在虚拟主机这块用户少, 不像以前那样舍得砸钱赞助 grsecurity 之类的项目做安全, 搞不好就有跨站方面的 0day , 你防护再好也没用

    程序升级到最新版, 同时审计下最近插入的数据和文件, 看看有没有包含什么显性的执行程序方面语句, 防止万一程序里有 0day 可以提权
    pinkbook
    pinkbook
    May 9, 2023
    46
    聘请网络安全工程师( x )
    v2ex 发帖(√)
    这种被持续黑了,没有勒索你,最好评估一下是否有公司数据被窃取了
    sam0ple
    sam0ple
    May 9, 2023
    47
    如果系统不支持 bpf 进行监控,使用 auditd 进行监控也是可行的
    dedemao
    dedemao
    May 9, 2023
    48
    重装系统意义不大,很有可能是网页程序上的漏洞。宝塔面板有防篡改的插件,可以试试。
    nkidgm
    nkidgm
    May 9, 2023
    49
    @dedemao 重装还是有意义的,干净的环境可以排除很多隐患(防埋雷),应用层的漏洞可以在外层用 WAF 堵住。

    但其实还是建议先做数据备份,这永远都是摆在第一位的。

    最后能迁移到容器尽量迁移到容器。
    cnbatch
    cnbatch
    May 9, 2023
    50
    如果不能重装系统,那就单独开一台新机器用来运行 Web 服务
    superliy
    superliy
    May 9, 2023
    51
    外贸站点 现在还是都用 php 吗
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    52
    @dif 怎么分辨不认识的 ssh-key 。。。。。
    vipdog73
    vipdog73
    May 9, 2023
    53
    这是留了登录密钥了吧?在怎么修改密码也不行啊
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    54
    @vipdog73 默认是密码登录的吧,密钥登录不了的吧
    vipdog73
    vipdog73
    May 9, 2023
    55
    @rivercherdeeeeee 密钥登陆的了
    haoyunyinglai
    haoyunyinglai
    May 9, 2023
    56
    装个 osquery 或者 sysmon 吧 排查网络、进程、文件、自启动项、定时任务
    网络主要是一些奇怪请求 尤其境外的 IP
    然后从端口反推进程 进程推文件 然后干掉
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 9, 2023
    57
    @vipdog73 确定吗
    lmhsmart
    lmhsmart
    May 9, 2023
    58
    如果真想解决问题,你在 V2EX 问再多也没用的,实际点要做的事情:
    1. 找网络安全工程师或者买外部安全公司的安全服务
    2. 审日志,排查站点漏洞,全部修掉
    3. 服务器应急处置
    4. 部署安全设备
    vivisidea
    vivisidea
    May 9, 2023
    59
    不重装系统?这个必须重装吧,趁机把业务整到容器里去跑
    cnbatch
    cnbatch
    May 9, 2023
    60
    「怎么分辨不认识的 ssh-key 」

    既然提出了这个问题,结合后面的两个提问,我猜测 OP 的服务器应该从未设置过密钥登录(至少公司内的人从未设置过)。
    那就可以先问问同事,有没有人用过密钥登录,如果得到的答案全都是“没用过”,那就可以这样排查:

    1. 进入这台服务器,查看每个用户的 Home 目录(包括 root 的一样要查,也就是 /root )有没有 .ssh 文件夹
    2. 如果有,那就进去看看有没有留下其它文件(不包括 authorized_keys 、known_hosts 、known_hosts.old 这 3 个文件,后边会提到)
    3. 如果有文件,打开来看看是不是 ssh 密钥。不过无论是不是密钥,都可以直接删掉(毕竟公司内没人这样用过,那么删掉并没什么关系)稳妥起见的话,可以先下载来做个备份
    4. 检查下 authorized_keys 的大小是否为零,如果公司内从未有人用过密钥登录,那么 authorized_keys 的大小只能是零。如果大小不为零,打开后直接删掉所有内容然后保存(同样地,可以下载回来做个备份,顺便检查一番)
    zlowly
    zlowly
    May 9, 2023
    61
    用 Prestashop CVE 关键字 google 一下吧,例如 CVE-2020-4074 这些都完全可以进行 RCE 。
    crab
    crab
    May 9, 2023
    62
    写个监视页面出现这问题的时间点,再回去看这时间点前的操作日志。
    shangyu7
    shangyu7
    May 9, 2023
    63
    加个堡垒机,服务端口通过堡垒机出去,其他端口都禁止连外网
    huangzxx
    huangzxx
    May 9, 2023
    64
    叫老板招个运维
    ugpu
    ugpu
    May 9, 2023
    65
    加个网关(和 63 楼所说一样)
    服务器对应端口只可网关访问 转发.
    网关转发规则内数据. 服务器所有端口禁止访问外网. 所有权限修改为可读.
    greatbody
    greatbody
    May 9, 2023
    66
    1 ,迁移到容器
    2 ,使用 CDN 隐藏服务器真实 IP
    3 ,数据库和应用在服务器层面上分离,不要数据库和应用代码都在一台服务器上
    4 ,严格限制权限,禁用密码登录,关掉所有非必要端口,禁用 IPv6.
    businessch
    businessch
    May 10, 2023 via iPhone
    67
    直接跟入侵的人留言咨询试试,花钱解决。
    aino
    aino
    May 10, 2023
    69
    整个蜜罐,来个瓮中抓鳖
    rivercherdeeeeee
    rivercherdeeeeee
    OP
    May 10, 2023
    70
    @aino 具体怎么操作
    1nclude
    1nclude
    May 10, 2023
    71
    开 ssh ,或是域名发出来🐶
    arvinsilm
    arvinsilm
    May 10, 2023
    72
    很好奇不迁移走,不怕黑客删除或者加密数据吗?如果有邮件服务,不怕黑客用来做黑产吗?
    evilStart
    evilStart
    May 10, 2023 via Android
    74
    连升级项目系统都不愿意做,这种几年前的系统早就有一大堆漏洞了。像这种毫不在意安全的公司只能说是活该了。祝你们服务器上的数据早日删光。
    AIyunfangyu
    AIyunfangyu
    Jun 30, 2023
    75
    @rivercherdeeeeee 可以联系我们处理,不用迁移源服务器,直接对接 VX:with--tea
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1503 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 23:19 · PVG 07:19 · LAX 15:19 · JFK 18:19
    ♥ Do have faith in what you're doing.