Перенаправление пакетов на другой IP-адрес

В настоящее время я работаю над исследовательским проектом по анализу различных атак в локальной сети, и я хотел бы узнать, можно ли выполнить атаку перенаправления на сетевом уровне 3, которая похожа на атаку с подменой ARP или атаку с перенаправлением ICMP.

Предположим, у меня есть следующие три хоста:

  • H1 (IP = 10.0.0.1, MAC = 00: 00: 00: 00: 00: 01)
  • H2 (IP = 10.0.0.2, MAC = 00: 00: 00: 00: 00: 02)
  • H3 (IP = 10.0.0.3, MAC = 00: 00: 00: 00: 00: 03)

Если пакет эхо-запроса отправляется с H1 на H2, с помощью атаки с подменой ARP я могу изменить кеш ARP H2 и заставить H2 отправлять эхо-ответ, например, H3. Для этого хост H2 изменит MAC-адрес пакета эхо-ответа.

Теперь я хотел бы добиться чего-то похожего на сетевом уровне 3. Итак, если H1 отправляет эхо-запрос в H2, H2 должен отвечать на IP-адрес, отличный от H1, например, на IP-адрес H3, 10.0.0.3. При этом важным предварительным условием является невозможность подмены IP-адреса, поэтому H1 не может отправить пакет эхо-запроса с адресом src, установленным на 10.0.0.3, адрес src пакета запроса должен быть правильным адресом H1, 10.0.0.1

Поэтому мне любопытно, возможно ли это каким-то образом или существует сетевой протокол, который изменит IP-адрес пакета запроса и отправит ответный пакет на другой IP-адрес.

  • Итак, если H1 отправляет: Request (src = 10.0.0.1, dst = 10.0.0.2)
  • Затем H2 должен отправить ответ на другой адрес, например: Ответить (src = 10.0.0.2, dst = 10.0.0.3)

Большое спасибо за вашу помощь!

Изменить: сеть, которую я использую, представляет собой сеть SDN (программно определяемая сеть), поэтому пакеты могут маршрутизироваться с адресами уровня 2 или уровня 3 (или обоих). Поэтому я хотел бы знать, можно ли подделать IP-адреса, а не только MAC-адреса.


person Sach    schedule 23.02.2016    source источник
comment
Чтобы сделать что-то подобное в LAN (сеть уровня 2), вам нужно возиться с кешем ARP. Это связано с тем, что в локальных сетях не используются адреса третьего уровня. Причина ARP состоит в том, чтобы преобразовать адрес уровня 3 в адрес уровня 2, чтобы его можно было доставить в LAN.   -  person Ron Maupin    schedule 23.02.2016
comment
Рон, спасибо за ответ. Я должен был упомянуть, что среда представляет собой сеть SDN (Software Defined Network). Таким образом, пакеты могут маршрутизироваться либо с адресами уровня 2 или уровня 3, либо с обоими, в зависимости от правил потока. Поэтому меня интересует подмена IP-адресов, а не только MAC-адресов.   -  person Sach    schedule 23.02.2016


Ответы (1)


Единственное, что вы действительно можете сделать, - это поместить H1 в другую подсеть и установить H3 в качестве шлюза по умолчанию для обеих подсетей:

H1 (IP=10.1.0.1,MAC=00:00:00:00:00:01)
H2 (IP=10.0.0.2,MAC=00:00:00:00:00:02)
H3 (IP=10.0.0.3,MAC=00:00:00:00:00:03)
   (IP=10.1.0.255,MAC=00:00:00:00:00:04)

H3 является многосетевым.

Ответ на эхо от 10.1.0.1 до 10.0.0.2 будет отправлен через 10.0.0.3.

H1 (10.1.0.1) ⇾ (H2) 10.0.0.2

Поскольку 10.0.0.2 не находится в подсети 10.1.0.0/24, ищется шлюз по умолчанию:

ARP: Who has 10.1.0.255?
H3: 10.1.0.255 is 00:00:00:00:00:04
00:00:00:00:00:01 ⇾ 00:00:00:00:00:04

Затем H3 направляет пакет в подсеть 10.0.0.0/24:

ARP: Who has 10.0.0.2?
H2: 10.0.0.2 is 00:00:00:00:00:02
00:00:00:00:00:03 ⇾ 00:00:00:00:00:02

H2 принимает пакет и пытается эхом отразить его обратно в H1 (10.1.0.1). Поскольку 10.1.0.1 не находится в подсети 10.0.0.0/24, пакет отправляется на шлюз по умолчанию, 10.0.0.3. Поскольку H2 только что получил исходный пакет от 10.0.0.3, ARP 00:00:00:00:00:03 все еще кэшируется, поэтому ответ отправляется на H3, хотя и с IP-адресом 10.1.0.1.

person SilverlightFox    schedule 24.02.2016
comment
Привет, SilverlightFox, спасибо за ответ! К сожалению, это все еще не то, что я ищу. В этом примере я хотел бы, чтобы H3 перезаписывал IP-адрес пакета. Поэтому, если 10.0.0.2 отправляет эхо-ответ на 10.0.1.0, маршрутизируемый через H3 на 10.0.0.3 в качестве шлюза по умолчанию, мне нужно, чтобы H3 переписал исходный IP-адрес src с 10.0.0.2 на 10.0.0.3. Это как-то возможно? Спасибо! - person Sach; 25.02.2016
comment
Да, H3 мог бы переписать что угодно. - person SilverlightFox; 25.02.2016
comment
Но как заставить H3 (при условии, что это хост) переписать IP-адреса пакета? То, что вы описываете в своем ответе, похоже на атаку перенаправления ICMP, но в этом случае IP-адреса пакета не перезаписываются? - person Sach; 25.02.2016
comment
Я предполагаю, что вы предполагаете, что H3 - это зараженный хост, который действует как посредник, который обнюхивает пакеты, перезаписывает их и отправляет. Правильный? В моем случае я ищу законный способ заставить H3 перезаписывать IP-адреса пакетов. - person Sach; 25.02.2016