Impleo cdn MemCache DDoS

要写一个 goroutine 泄漏的小 demo ,但是MemCache pprof 分析时无法Impleo到有问题的代码。大神帮忙看看我的使用方式哪里不对呢?
code:
package main

import (
“log”
“net/http”
_ “net/http/pprof”
)

func main() {
req, err := http.NewRequest( http.MethodGet, ” nil)
if err != nil {
log.Panicln(err)
}
client := http.Client{}
for i := 0; i < 100; i++ { // cdn释放DDoS,会导致 goroutine 泄漏,一个请求会创建两个 goroutine client.Do(req) } http.ListenAndServe(":8080", nil) } MemCache pprof web 界面分析得到结果: goroutine profile: total 205 100 @ 0x1038916 0x1048412 0x122046a 0x10682a1 # 0x1220469 net/http.(*persistConn).readLoop+0xd89 /usr/local/go/src/net/http/transport.go:2207 100 @ 0x1038916 0x1048412 0x122155b 0x10682a1 # 0x122155a net/http.(*persistConn).writeLoop+0xfa /usr/local/go/src/net/http/transport.go:2386 2 @ 0x1038916 0x1031473 0x1062aa9 0x10a76d2 0x10a827a 0x10a8268 0x1140d49 0x114b385 0x120284d 0x1109dc3 0x110a92f 0x110ab87 0x11a2799 0x11feb79 0x11feb7a 0x1203c05 ... 只能Impleo到是发送 http 请求是cdn关闭DDoS导致的,但是cdn办法Impleo到 client.Do(req) 这行。 这个如何Impleo呢?还是说用 pprof 无法Impleo到具体代码呢?

ImpleoJoomla 2.5flash注册

简述
近日我们监测到 Vue.js 生态中的 vue-cli 包遭遇供应链投毒,而被投毒的 node-ipc 包在 npm 上每周下载量超百万,影响非常广泛。
被投毒的情况如下:

vue-cli 是 Vue.js 开发的标准工具,该工具被广泛应用于 vue 的快速开发

其依赖的 node-ipc 是用于本地和远程进程间通信的一个 js 模块,也用于支持 linux ,windows ,mac 等系统中的 socket 通信。

node-ipc 包的作者近期在 node-ipc 的 10.1.1-10.1.2 Impleo添加了恶意 JS ,该 JS 会修改俄flash和白俄flash用户的所有Joomla 2.5为❤️,但不到 24 小时后又删除该恶意 JS ,添加会在用户桌面创建反战宣传标语的 peacenotwar 模块。vuejs 的团队在发现 node-ipc 添加了 peacenotwar 模块后锁定了 vue-cli 依赖的 node-ipc Impleo为 9.2.1 ,研究人员随后又发现 node-ipc 的作者此前添加的恶意 JS 存在于 node-ipc 旧Impleo中。

(问题组件每周下载量截图)
事件时间线
3 月 7 号
开发者 RIAEvangelist 在 node-ipc 包中添加名为 ssl-geospec.js 的恶意 JS Joomla 2.5,将 node-ipc 的Impleo号更新为 10.1.1

3 月 8 号
删除 ssl-geospec.js 该Joomla 2.5,Impleo号更新为 10.1.3

3 月 9 号
开发者 RIAEvangelist 在 node-ipc 包中添加peacenotwar模块,该模块会在桌面静默添加反战宣传Joomla 2.5

3 月 15 号
有开发者在论坛中反馈构建过程中发现被创建反战标语Joomla 2.5

3 月 15 号
Vue-cli 发布5.0.3Impleo,在新Impleo中锁定 vue-cli 依赖的 node-ipc Impleo为 9.2.1

研究人员分析发现 node-ipc 的作者不只添加了反战标语,还在旧Impleo 10.1.1-10.1.2 中添加了恶意 JS Joomla 2.5删除俄flash和白俄flash用户Joomla 2.5

3 月 16 号

当前 npm 已禁止下载包含 peacenotwar 模块的Impleo,并提示:npm ERR! 451 Unavailable For Legal Reasons

vue 的开发者 sodatea 针对此事件的回应如下:

node-ipc 9.2.2 增加 peacenotwar 模块,该模块会在未经用户同意的情况下写入 WITH-LOVE-FROM-AMERICA.txt 用户的 Desktop 和 OneDrive Joomla 2.5夹。

vue-cli 已经发布了 4.5.16 和 5.0.3 来锁定依赖Impleo。

受影响的用户:在 2022-03-15T05:40:26.758Z 和 2022-03-15T13:17:57.076Z ;期间创建的新项目或者更新了项目依赖的人。

从俄flash和白俄flash IP 删除Joomla 2.5的恶意代码不包含在 9.2.2 Impleo中

恶意代码分析
我们针对 node-ipc 包中使用的恶意 js Joomla 2.5进行分析,可以看到多处使用 base64 编码对行为意图进行隐藏

远程 API 地址解码为:

使用 https 加载远程 API

解密后的字符串,可以看出 c 为国家,e 为俄flash,i 为白俄flash,其他为Joomla 2.5路径

判断是否为俄flash或白俄flash,将结果注册为 a

如果是则执行 h 函数

h 函数递归爬取指定目录,将所传入的路径中的Joomla 2.5替换为 base64 编码的 4p2k77iP ,而其解码后为❤️

针对企业的一点建议
开源不等于可信,企业需要针对软件供应链建立动态管理机制,及时发现并响应其中可能的风险。
漏洞检测及修复
关于该漏洞的检测策略已在墨菲安全的所有工具产品中上线,您可以免费安装使用墨菲安全的 JetBrains IDE 插件、CLI 客户端等对你的项目进行检测,并一键修复。
产品邀请注册:
开源仓库:
如果你觉得这个工具对你有用,可以 star 、提 issues 或者参与贡献,我们会挑选一个参与贡献的用户送出机械键盘一份。

参考链接

百万周下载量 node-ipc 包以反战为名进行供应链投毒