Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / практический хакинг.pdf
Скачиваний:
24
Добавлен:
19.04.2024
Размер:
31.35 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

80/tcp

open

http

Boa

HTTPd

0.94.14rc21

554/tcp

open

rtsp

Vivotek FD8134V webcam rtspd

8080/tcp

open

http

Boa

HTTPd

0.94.14rc21

42991/tcp open

networkcaminfo

Mega-Pixel Network Camera

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Если мы хотим включить в вывод Nmap другую информацию, та- кую как номер модели или универсальный уникальный идентифи- катор (UUID), нам просто нужно извлечь ее с помощью регулярных выражений.Пронумерованныепеременные($1,$2,$3 ит.д.)будутдо- ступны для заполнения информационных полей.Вы можете увидеть, как регулярные выражения и нумерованные переменные исполь- зуются в следующей строке соответствия для ProFTPD, популярной службы передачи файлов с открытым исходным кодом,где информа- ция о версии (v/$1/) извлекается из баннера с помощью регулярного выражения (\d\S+):

match ftp m/^220 ProFTPD (\d\S+) Server/ p/ProFTPD/ v/$1/

Дополнительную информацию о других доступных полях вы най- дете в официальной документации Nmap по адресу https://nmap.org/ book/vscan-fileformat.html.

Атаки MQTT

MQTT – это протокол межмашинного взаимодействия. Он использу- ется в датчиках, работающих по спутниковым каналам, коммутиру- емых соединениях с поставщиками медицинских услуг, домашней автоматизации и небольших устройствах, требующих низкого энер- гопотребления.MQTTработаетповерхстекаTCP/IP,ноявляетсячрез- вычайно легким, поскольку сводит к минимуму обмен сообщениями с использованием архитектуры публикации-подписки (publish-sub- scribe architecture).

Архитектура публикации-подписки – это способ обмена сообще- ниями, в котором отправители сообщений, называемые издателями (publisher), сортируют сообщения по категориям, называемым те- мами. Получатели сообщений – подписчики (subscriber) – получают только сообщения, связанные с темами, на которые они подписаны. Затем архитектура использует промежуточные серверы, называемые брокерами (broker), для маршрутизации всех сообщений от издате- лей к подписчикам. На рис. 4.8 показана модель публикации-подпи- ски, которую использует MQTT.

Одна из основных проблем с MQTT заключается в том, что аутен- тификация не является обязательной,и,даже если она используется, по умолчанию она не зашифрована. Когда учетные данные переда- ются в открытом виде, злоумышленники, занимающие в сети поло- жение «человек посередине», могут их украсть. На рис. 4.9 вы мо- жете видеть, что пакет CONNECT, отправленный клиентом MQTT для

Оценка сети  105

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

аутентификацииу брокера,хранитимяпользователяи парольв виде

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

открытого текста.

 

 

 

 

 

 

w

 

df-x chan

 

o

 

 

 

 

 

 

 

.

.c

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подписчик

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Брокер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Издатель

 

 

Заголовок

 

 

Подписчик

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подписчик

 

 

 

 

 

 

 

 

 

 

 

Издатель

 

 

Заголовок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подписчик

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.4.8.Архитектура публикации-подписки MQTT

Рис.4.9.Дамп трафика Wireshark пакета MQTT CONNECT содержит имя пользователя и пароль,переданные в виде открытого текста

Поскольку MQTT имеет простую структуру и брокеры обычно не ограничивают количество попыток аутентификации для каждого клиента, это идеальный протокол сети IoT для демонстрации взло- ма аутентификации. В этом разделе мы создадим модуль MQTT для Ncrack, инструмента для взлома сетевой аутентификации Nmap.

Настройка тестовой среды

Во-первых,намнужновыбратьтипичногоброкераMQTTинастроить тестовую среду. Мы будем использовать кросс-платформенное про-

граммное обеспечение Eclipse Mosquitto (https://mosquitto.org/download/) с открытым исходным кодом. Вы можете напрямую установить сервериклиентMosquittoвKaliLinux,выполнивследующуюкоманду от имени пользователя root:

106  Глава 4

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

root@kali:~# apt-get install mosquitto mosquitto-clients

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

После установки брокер начинает прослушивать TCP-порт 1833 на всех сетевых интерфейсах, включая localhost. При необходимости вы также можете запустить его вручную, введя:

root@kali:~# /etc/init.d/mosquitto start

Чтобы проверить, что это работает, используйте mosquito_sub для подписки на тему:

root@kali:~# mosquitto_sub -t 'test/topic' –v

Затем в другом сеансе терминала опубликуйте тестовое сообще- ние, введя:

root@kali:~# mosquitto_pub -t 'test/topic' -m 'test message'

На терминале подписчика (тот, с которого вы запустили mosquitto_sub) вы должны увидеть тестовое сообщение, отображаемое в ка- тегории тест/тема.

После проверки работы нашей среды Mosquitto MQTT и заверше- ния работы в предыдущих сеансах терминала, мы настроим обяза- тельную аутентификацию. Сначала создадим файл паролей для те- стового пользователя:

root@kali:~# mosquitto_passwd -c /etc/mosquitto/password test

Password: test123 Reenter password: test123

Затем – файл конфигурации с именем pass.conf внутри­ каталога / etc/mosquitto/conf.d/ со следующим содержимым:

allow_anonymous false

password_file /etc/mosquitto/password

Наконец, перезапустим брокера Mosquitto, чтобы изменения всту- пили в силу:

root@kali:~# /etc/init.d/mosquitto restart

Теперьу насдолжна бытьнастроена обязательная аутентификация для нашего брокера. Если вы попытаетесь опубликовать или подпи-

Оценка сети  107

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

саться,не вводядействительное имя пользователя и пароль,выдолж-

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

w Click

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

ны получить сообщение об ошибке соединения:

 

w

 

df-x chan

 

o

 

 

.

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

e

 

Connection error: Connection Refused: not authorised

(Сбой соединения: Соединение отклонено: не авторизован)

Брокеры MQTT отправляют пакет CONNACK в ответ на пакет CONNECT. Вы должны увидеть в возвращаемом заголовке код 0x00, если учет- ныеданныесчитаютсядействительнымиисоединениепринято.Если учетные данные неверны, будет возвращен код 0x05. На рис. 4.10 по- казано,как выглядитсообщение с кодом 0x05,зафиксированное про-

граммой Wireshark.

Рис.4.10.Пакет MQTT CONNACK с возвращаемым кодом 05,отказ в соединении из-за неверных учетных данных

Затем мы попытаемся подключиться к брокеру, используя пра- вильные учетные данные, при этом сохраняя сетевой трафик. Чтобы легко увидеть эти пакеты,мы запускаем Wireshark и начинаем захват трафика через TCP-порт 1833. Чтобы проверить подписчика, вводим следующую команду:

root@kali:~# mosquitto_sub -t 'test/topic' -v -u test -P test123

Аналогично, чтобы протестировать издателя, выполняем следую- щую команду:

root@kali:~# mosquitto_pub -t 'test/topic' -m 'test' -u test -P test123

На рис. 4.11 видно, что брокер теперь возвращает пакет CONNACK с кодом 0x00.

108  Глава 4