小心,Android木马工具SpyNote免费啦!远程监听就是这么简单

简介:

只要是做生意,都得讲究价值规律,黑市也不例外。某款产品要是搞打折促销,群众们必然蜂拥而至——要是免费大派送,那一传十十传百的速度又怎是门庭若市可形容!

最近Palo Alto Networks发现了一款面向大众免费派发的RAT(远程访问木马),名为SpyNote——这是个可对Android系统实现远程监听的工具,“和OmniRat和DroidJak很相似”。对那些技术不娴熟的脚本小子而言,想必又是个不可多得的好东西了。

  SpyNote控制面板

SpyNote能做什么?

SpyNote实际上是用来创建Android恶意程序的工具,最近在不少恶意程序论坛传得特别火。它有一些相当吸引人的特性:

· 不需要获取系统的Root权限;

· 对通话进行监听;

· 窃取联系人和信息数据;

· 通过麦克风记录音;

· 恶意拨打电话;

· 安装恶意应用;

· 获取手机的IMEI码、WiFi MAC地址、无线网络运营商细节;

· 获取设备最新的GPS地理位置信息;

· 控制摄像头

听起来真是不错啊,都不需要Android系统做Root操作,真这么神?当然了,还是需要手机用户自己给予SpyNote这些权限才行,包括编辑短信、访问通话记录、联系人,以及修改、删除SD内容的权限——其实绝大部分用户看到这些权限请求都会毫不犹豫的点“下一步”或“允许”。

行为分析

Palo Alto对发现的SkyNote恶意程序样本进行了分析。YouTube上先前就已经有了Sky Note v2的使用视频——Palo Alto分析的恶意程序应该是完全按照视频教程来做的。相比教程,该恶意程序程序除了改动图标,所用的端口一模一样。

在进行这款SpyNote恶意程序的安装过后,程序首先会将自己的图标从手机上移除。另外,该应用并没有采用任何混淆机制。它还会与IP地址为141.255.147.193的C&C服务器进行TCP通讯,端口号2222,如下图所示。

  用Cerbero profiler查看Dalvik字节码

  SkyNote开启一个Socket连接

如上图所示,SpyNote在此Socket连接中,采用硬编码的SERVER_IP和SERVER_PORT值。不过用Android分析工具Androguard就可以做个extractor。

用上面的spynote.C2.py脚本对APK文件中的这些值进行解析,可得出下面这些代码。

#!/usr/bin/python

import sys

from sys import argv

from androguard.core.bytecodes import apk

from androguard.core.bytecodes import dvm

#---------------------------------------------------

# _log : Prints out logs for debug purposes

#---------------------------------------------------

def _log(s):

print(s)

if __name__ == "__main__":

if (len(sys.argv) <2):

_log("[+] Usage: %s [Path_to_apk]" % sys.argv[0])

sys.exit(0)

else:

a = apk.APK(argv[1])

d = dvm.DalvikVMFormat(a.get_dex())

for cls in d.get_classes():

#if 'Ldell/scream/application/MainActivity;'.lower() in cls.get_name().lower():

if 'dell/scream/application/MainActivity;'.lower() in cls.get_name().lower():

c2 = ""

port = ""

string = None

for method in cls.get_methods():

if method.name == '':

for inst in method.get_instructions():

if inst.get_name() == 'const-string':

string = inst.get_output().split(',')[-1].strip(" '")

if inst.get_name() == 'iput-object':

if "SERVER_IP" in inst.get_output():

c2 = string

if "PORT" in inst.get_output():

port = string

if c2 and port:

break

server = ""

if port:

server = "{0}:{1}".format(c2, str(port))

else:

server = c2

_log('C&C: [ %s ]' % server)

虽说现在SpyNote似乎还并没有大规模被黑客们利用,但既然如今任何人都可以免费下载到SpyNote了 ,其广泛利用或许也只是时间问题。

还是需要告诫Android用户,不要随意安装来源不明的应用,虽然这个教训已经说了千百次了,况且对Android这样的操作系统,就算是中国人民看不见摸不着的Google Play Store都尚存不少恶意程序。用Android系统的同学还是要小心再小心!





====================================分割线================================


本文转自d1net(转载)

目录
相关文章
|
4天前
|
安全 Java Linux
Android反编译——jadx工具
Android反编译——jadx工具
47 1
|
4天前
|
Android开发 芯片 开发者
Android MediaTek bootloader 的序列号长度 & 移除非字母和数字限制 SN-Writer工具支持写入
Android MediaTek bootloader 的序列号长度 & 移除非字母和数字限制 SN-Writer工具支持写入
21 0
|
4天前
|
XML Java Android开发
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
59 0
|
3天前
|
Android开发
Android监听USB设备插拔
Android监听USB设备插拔
17 7
|
4天前
|
Android开发
Android获取横竖屏状态及监听
Android获取横竖屏状态及监听
11 0
|
4天前
|
Android开发
Android监听蓝牙广播
Android监听蓝牙广播
13 1
|
4天前
|
Java Android开发
Android 反编译工具的使用
Android 反编译工具的使用
23 0
|
4天前
|
Android开发
Android 对鼠标事件的监听实现
Android 对鼠标事件的监听实现
14 1
|
4天前
|
Android开发 开发者
Android开发之OpenGL的画笔工具GL10
这篇文章简述了OpenGL通过GL10进行三维图形绘制,强调颜色取值范围为0.0到1.0,背景和画笔颜色设置方法;介绍了三维坐标系及与之相关的旋转、平移和缩放操作;最后探讨了坐标矩阵变换,包括设置绘图区域、调整镜头参数和改变观测方位。示例代码展示了如何使用这些方法创建简单的三维立方体。
23 1
Android开发之OpenGL的画笔工具GL10
|
5月前
|
小程序 JavaScript 前端开发
微信小程序(十七)小程序监听返回键跳转事件(安卓返回也适用)
onUnload:function(){ wx.redirectTo({ url: '../index/index' }) wx.navigateTo({ url: '../index/index' }) wx.switchTab({ url: '../../member/member' }) }
364 0