Как именно работает червь Facebook?

27

Сначала я предполагал, что моя подруга из FB распространяет вредоносную ссылку, потому что она невинно приняла приложение и предоставила ему привилегии, но она говорит, что это не так. Смотрите обмен:

Друг: "Не нажимайте на ссылку, которую вы получили от меня! Она заражена! Я получил ее (имя отредактировано) !!! Извините! Я должен остановиться ******!"
Я: «Вы приняли приложение FB. Все, что вам нужно сделать, - это зайти в« Учетная запись »->« Настройки конфиденциальности »->« Приложения и веб-сайты »и отменить неприемлемое приложение. Вот почему я не работаю с приложениями FB, точка».
Друг: это не приложение. нет в списке ... это червь

Как это работает? JavaScript-махинации, когда человек нажимает на ссылку?

JCCyC
источник

Ответы:

31

Да, именно JavaScript. Я только что встретил такого червя и попытался расшифровать его.

Какова реальная проблема:

Последний червь Facebook работает, заставляя пользователей посещать страницу, что заставляет их вставлять строку JavaScript в свою адресную строку и, следовательно, выполнять ее.

Так что, НИКОГДА не копируйте код JavaScript в адресную строку. Это главная проблема. И не нажимайте ссылки, которым вы не доверяете. Или, по крайней мере, откройте эти ссылки в новом окне, используя режим конфиденциальности (Firefox) или режим инкогнито (Chrome), чтобы он не смог получить доступ к вашему сеансу Facebook.


Что сделали наши хакеры, чтобы люди не поняли, что они делают?

Спасаясь от сценария

Строка, которую вы копируете в строку URL, в основном ссылается на другой исполняемый JavaScript. Этот скрипт фактически расшифровывается в сущности. Таким образом, вместо использования строковых символов, весь сценарий был помещен в строку и экранирован так, что никто не мог прочитать его в первую очередь.

Например, если бы у меня была очень вредоносная функция, я бы избежал ее, и пользователь увидел бы только:

Функция% 20Test% 28% 29% 20% 7B% 20alert% 20% 28% 22LOL% 22% 29% 3B% 20% 7D

и бежал бы

function test () {alert ("LOL"); }

Таким образом, сценарий освобождает себя перед выполнением.

Запутывая это

Теперь это становится уродливым: перед тем как убежать от него, злой код JavaScript обфусцируется, с именами функций like _____xи переменными like aLDIWEJ. Это все еще имеет смысл для JavaScript, но это совершенно нечитаемо для людей. Это сделано, опять же, чтобы замаскировать намерения наших хакеров на Facebook.

На данный момент код мог бы выглядеть примерно так:

введите описание изображения здесь

Что делает скрипт

Хорошо, что этот скрипт делает ваш текущий сеанс Facebook. Поскольку вы вошли на сайт, он может делать что угодно на ваше имя. Например, то, что он может делать через API Facebook:

  • создавая событие типа "OMG, я вижу, кто преследовал меня!"
  • общаться с людьми
  • публикация обновлений статуса
  • и т.п.

Все это происходит путем вызова некоторых страниц API Facebook (некоторые страницы PHP, я забыл, какие).

slhck
источник
5

Короче ... это вирус ... как и любой другой. Метод, который он использует для репликации себя, состоит в том, чтобы создавать посты в вашей учетной записи после того, как они были выполнены с чужой страницы. В зависимости от используемого вами браузера и / или операционной системы, а также от имеющихся уязвимостей возможно все. По сути, когда скрипт запускается в вашем браузере (который может запускаться простым щелчком мыши), он, в свою очередь, использует ваши кэшированные учетные данные для создания постов на вашей странице ... которая содержит ту же / аналогичную ссылку, на которую вы щелкнули изначально.

За исключением отключения javascript / flash / и множества других вещей (что требуется для facebook), вы не сможете защитить себя от таких подвигов.

Быстрый и грязный обходной путь ... прежде чем нажимать на ссылки в постах других ... посмотрите, куда он идет. Избегайте любых ссылок, которые заканчиваются хеш-меткой ("#") или имеют какую-то ссылку на javascript ... или не имеют никакой реальной ссылки на нее. (то есть не отображается ни на один URL)

Или вы всегда можете использовать мой подход ... и полностью избегать facebook / twitter / etc ... Я еще ничего не нашел ни в одной из тех служб, которые я бы присвоил какой-либо стоимости или импортерам. Друзья и Семья знают, как написать ... или, что еще лучше ... взять трубку. (просто мое мнение за то, что оно того стоит)

TheCompWiz
источник
1
не совсем точно ... есть много способов защитить себя от этого. Вы можете использовать плагин, например NoScript, например, чтобы не выполнять JavaScript. Вы можете открыть ссылку в новом окне, используя режим конфиденциальности / режим инкогнито, и новое окно не будет иметь доступа к вашей сессии Facebook. Если ваша безопасность зависит от простого предотвращения подозрительных ссылок, это не очень эффективно. Если вы вместо этого будете использовать инструменты безопасного просмотра, вам не придется бояться того, что скрывается за каждым кликом по ссылке.
Брайан Шрот
@ Брайан Шрот: Как я уже сказал в своем посте, «если не отключать javascript / flash / ....» NoScript делает именно это. Вы правы, что только просмотр цели ссылки не спасет вас от многих эксплойтов ... Режим инкогнито и т. Д. Не защитит вас от заражения вирусом ... а также вызовет проблемы при попытке перейти по ссылкам между сеансами. По правде говоря ... люди должны жить в страхе перед тем, что лежит за пределами связей. Им следует подумать о том, на что они нажимают.
TheCompWiz
1
NoScript не отключает Javascript. Он обеспечивает детальный контроль над тем, что делает и не выполняет JavaScript. Ваш ответ подразумевает, что если вы «отключите Javascript», вы больше не сможете использовать Facebook. Но если вы используете NoScript, вы можете разрешить скрипты на facebook.com, хотя и будете защищены от Javascript некоторых случайных вредоносных сайтов.
Брайан Шрот