Считающийся основой веб-разработки пользовательского интерфейса, Javascript в основном используется для написания сценариев и внешнего программирования. Звучит немного безобидно, правда? Однако JavaScript также может использоваться как вредоносный инструмент для выполнения нежелательных действий без ведома жертвы. Его можно использовать для загрузки вредоносных программ, фишинга пользователя или даже для полного захвата (уязвимого) веб-браузера жертвы. А теперь давайте сразу к делу…

Сотрудник компании переслал мне электронное письмо и запросил анализ угроз на предмет подозрительной активности. Предположительно, электронное письмо было отправлено при попытке целевого фишинга. Был прикреплен файл, который привлек мое внимание; Проект.html

Я включил свою виртуальную машину Windows 10 для дальнейшего анализа (причина в том, что в Windows есть встроенный интерпретатор javascript; CScript. CScript используется для вывода командной строки/терминала, а WScript используется для вывода интерпретатора графического интерфейса). Я скачал файл на свою виртуальную машину. Затем я переименовал .html в расширение .txt и открыл его с помощью текстового редактора.

Тег ‹script› доказывает, что это какой-то код javascript. Функция unescape() заменяет любую escape-кодированную последовательность символом, который она представляет. Я сделал копию файла Project.txt, чтобы избежать подделки исходного кода, и переименовал расширение txt копии в .js. Затем я заменил функцию document.write функцией WScript.echo. Это похоже на функцию «печать», но для WScript/CScript. Я включил cmd и использовал эту команду:

cscript «Проект2 -Copy.js»

Сначала это не сработало. Но после очистки некоторых ненужных тегов из кода я начал видеть правильный вывод.

Я перенаправил вывод в файл «decode.txt» с помощью этой команды:

cscript «Project2 -Copy.js» › decode.txt

Я взглянул на этот файл и обнаружил исходный код веб-сайта.

Я прокрутил код и обнаружил кучу символов в кодировке base64.

Из любопытства я запустил второй инструмент, который буду использовать для этого анализа; CyberChef (кстати, очень рекомендую). Я вставил рецепт «из base64» и вставил ввод base64.

Я прокрутил код дальше, чтобы открыть поле отправки формы. Это определенно может быть фишинговая страница, но что она ворует и куда отправляет?

Он захватывает поля электронной почты и пароля с помощью классической команды submit-btn. Я обнаружил объект eval() внизу скрипта с некоторыми закодированными символами символами.

Я скопировал тело объекта eval() и поместил его в новый файл eval.js. Затем я заменил функцию eval() функцией WScript.echo и запустил ее в cmd.

cscript eval.js

Я перенаправил этот новый вывод в новый файл; evaldecode.txt и открыл файл в текстовом редакторе.

Чувствуя себя немного лишним, я запечь оставшийся код в javascript beautifier CyberChef, чтобы получить хороший вид. Нашел некоторый синтаксис JSON, давайте посмотрим на него.

Я нашел URL-адрес веб-сайта, на который эта форма отправляет украденные учетные данные; [УДАЛЕНО].com/success/list.php

Я попытался обойти каталог path и обнаружил… сервер был уязвим!

Сервер был веб-сервером LiteSpeed. Беглый взгляд на list.txt показывает очень конфиденциальную информацию, которую я НЕ МОГУ размещать здесь.

Теперь, когда подтверждено, что это фишинговый сайт (а не какой-то злонамеренный побег из песочницы BeEF 0-day), я могу визуально взглянуть на сайт. Я переименовал исходный файл обратно в расширение .html и открыл его в браузере виртуальной машины.

Я протестировал форму, введя некоторые поддельные данные и отправив их. Я проверил [УДАЛЕНО].com/success/list.txt и фальшивый ввод был быстро добавлен в текстовый файл, как и другие жертвы.

Глядя на его родительский каталог [УДАЛЕНО].com, кажется, что сайт размещен на NameCheap без индексной страницы. Я пытался найти адрес электронной почты или любую информацию, которая может быть использована для идентификации веб-мастера... но все усилия оказались тщетными.

Я собрал все доказательства процедуры анализа угроз и передал их своему клиенту вместе с URL-адресом веб-сайта и связанной с ним информацией. Клиент решил пожаловаться на этот сайт, и менее чем за час его удалили. Любые дальнейшие санкции применялись по усмотрению хостинговой компании.

Именно так я смог деобфусцировать некоторый вредоносный код javascript и отследить его до сервера злоумышленника вместе с раскрытыми украденными учетными данными.

Оставайтесь в безопасности.

Оставайся опасным.

Увидимся в следующий раз, когда я вспомню свой пароль.