V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
pew
V2EX  ›  Linux

网上下载了个所谓的云免脚本,懂 shell 大神帮看看 gzexe 压缩

  •  
  •   pew · 2017-05-06 15:28:42 +08:00 · 5857 次点击
    这是一个创建于 2541 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我判断是 gzexe 加密的,因为不太懂 shell,求大神帮分析分析

    #!/bin/sh
    skip=44

    tab=' '
    nl='
    '
    IFS=" $tab$nl"

    umask=`umask`
    umask 77

    gztmpdir=
    trap 'res=$?
    test -n "$gztmpdir" && rm -fr "$gztmpdir"
    (exit $res); exit $res
    ' 0 1 2 3 5 10 13 15

    if type mktemp >/dev/null 2>&1; then
    gztmpdir=`mktemp -dt`
    else
    gztmpdir=/tmp/gztmp$$; mkdir $gztmpdir
    fi || { (exit 127); exit 127; }

    gztmp=$gztmpdir/$0
    case $0 in
    -* | */*'
    ') mkdir -p "$gztmp" && rm -r "$gztmp";;
    */*) gztmp=$gztmpdir/`basename "$0"`;;
    esac || { (exit 127); exit 127; }

    case `echo X | tail -n +1 2>/dev/null` in
    X) tail_n=-n;;
    *) tail_n=;;
    esac
    if tail $tail_n +$skip <"$0" | gzip -cd > "$gztmp"; then
    umask $umask
    chmod 700 "$gztmp"
    (sleep 5; rm -fr "$gztmpdir") 2>/dev/null &
    "$gztmp" ${1+"$@"}; res=$?
    else
    echo >&2 "Cannot decompress $0"
    (exit 127); res=127
    fi; exit $res

    ***下面就是各种乱码**
    主要是运行过程解压到临时文件夹就立马 rm -fr 删除了
    想在中间插入 cat 或者 cp 还报错"Cannot decompress $0"
    第 1 条附言  ·  2017-05-07 17:23:46 +08:00
    我只是看有 gz 的字眼,判断有可能是 gzexe 压缩的
    22 条回复    2017-05-08 11:33:04 +08:00
    pew
        1
    pew  
    OP
       2017-05-06 15:29:18 +08:00
    表示这个排版有点醉
    kmahyyg
        2
    kmahyyg  
       2017-05-06 15:33:00 +08:00 via Android
    我搞过,那段乱码是个 libc 编译好的东西,才是真正的安装脚本,反编译吧
    pew
        3
    pew  
    OP
       2017-05-06 15:43:26 +08:00
    @kmahyyg 嗯,但它也是解压到"$gztmp"这个文件夹运行了呀,就是一运行就删了,要不然就能找到解压的安装脚本了
    linhua
        4
    linhua  
       2017-05-06 15:48:09 +08:00
    禁止删除呀

    2、chattr

    change attribute,即修改文件或目录的隐藏属性;
    (1)i:如果设置了此属性,则目录或文件不能被修改(即使 root 也不能修改或删除他)。
    (2)a:如果设置了此属性,只能添加内容,而不能修改或删除内容;

    chattr +ai file:添加属性;
    chattr -ai file:删除属性;
    chattr =a file:设置属性;

    a:Append Only,系统只允许在这个文件之后增加数据,而不能删除这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立文件,而不允许删除任何文件,也不允许修改目录下原有的文件。只有 root 用户可以设置这个属性。
    pew
        5
    pew  
    OP
       2017-05-06 15:58:46 +08:00
    @linhua 这个厉害,我试试
    pew
        6
    pew  
    OP
       2017-05-06 16:07:19 +08:00
    @linhua 这个能作用到二级目录吗,它是执行的时候在 /tmp 下新建一个 /tmp.XXXX 文件夹,然后把脚本解压其中
    kmahyyg
        7
    kmahyyg  
       2017-05-06 17:37:44 +08:00 via Android
    @pew 直接单独复制乱码部分出来,gzip 解开就行
    chinanala
        8
    chinanala  
       2017-05-06 18:44:05 +08:00
    以前跟康师傅和骚猪要了源码,不知道丢哪去了
    bearqq
        9
    bearqq  
       2017-05-06 20:04:55 +08:00 via Android   ❤️ 1
    chmod 700 "$gztmp"
    这段改成 cat "$gztmp" ~/x 之类的就有了
    用 ultraedit 之类的软件改,可以在 win 下用各种类似 cygwin 的环境运行

    最早解出来是脚本,后来是二进制 bin
    ihciah
        10
    ihciah  
       2017-05-06 20:43:10 +08:00 via iPhone   ❤️ 1
    几天前刚刚手拆了这个东西……
    叫康师傅云免是吧,解压了然后 upx 脱个壳,拉 ida 里约等于明文了…
    这东西干了一件比较奇怪的事,把系统的 curl 给换了…
    有两个验证授权的地方,如果你少 patch 一个地方,还会删你 home 目录…
    ps: 搭反代实测上海电信的三爱免流基于 ip 白名单,别试了。
    ZeroClover
        11
    ZeroClover  
       2017-05-07 06:24:43 +08:00
    gzexe 压缩的脚本文件不是直接 gzexe -d 就可以还原了么。。。
    pew
        12
    pew  
    OP
       2017-05-07 17:22:10 +08:00
    @bearqq 一改就没法运行了--
    pew
        13
    pew  
    OP
       2017-05-07 17:22:27 +08:00
    @ihciah 求问怎么解压
    bearqq
        14
    bearqq  
       2017-05-07 17:47:07 +08:00
    @pew 你不是要解压吗,改了以后就解压到你改的地方了,至于解压出来是脚本还是二进制程序那就看作者了
    解压出来要运行先 chmod +x
    pew
        15
    pew  
    OP
       2017-05-07 17:56:30 +08:00
    @bearqq 确实管用,不过得出的文件打开是乱码==,不是到是什么格式的。。。
    pew
        16
    pew  
    OP
       2017-05-07 17:57:47 +08:00
    @bearqq 那就可能是二进制,得不到明文-。-
    bearqq
        17
    bearqq  
       2017-05-07 18:08:24 +08:00
    @pew 二进制的参考 ihciah 的回复
    反正也是折腾的事情,明文是没法简单拿到了,想折腾就继续吧~
    pew
        18
    pew  
    OP
       2017-05-07 19:03:58 +08:00
    @ihciah 解压了,貌似没查到壳
    ihciah
        19
    ihciah  
       2017-05-07 20:33:56 +08:00   ❤️ 1
    @pew
    刚才把之前分析的东西打包丢服务器了(不保证链接长期有效
    https://www.ihcblog.com/kangshifu_analyse.zip
    jyf
        20
    jyf  
       2017-05-07 21:43:49 +08:00
    你看命令里不是有 gzip -cd 么 不用猜就是 gz 许多大公司的 linux 版安装都是这个鬼玩法
    pew
        21
    pew  
    OP
       2017-05-07 23:51:09 +08:00
    @ihciah 感谢感谢,我来研究一波
    huangmingyou
        22
    huangmingyou  
       2017-05-08 11:33:04 +08:00
    有工具专门做这种自解压的脚本。之前 google picsasa 就是这么做的。你执行 ./file.bin --help 看一下。我忘记这个软件的名字了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2673 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:45 · PVG 19:45 · LAX 04:45 · JFK 07:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.