Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / практический хакинг.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

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мы еще не получили все четыре байта входящего пакета.Если мыwеще

 

 

 

 

 

m

w Click

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

неполучилиполныйответсервера,mqtt_loop_read зарегистрируетсоd-f-x chan

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

e

 

бытие чтения,и мы вернем управление основному механизму,чтобы дождаться этих данных или произвести другие события, зарегистри- рованные отдругих подключений (того же или других модулей,кото- рые могут быть запущены). Если mqtt_loop_read возвращает 0 , это означает, что текущее имя пользователя и пароль успешно прошли аутентификацию в атакуемом сервере, и мы должны обновить пе- ременную соединения auth_success, чтобы Ncrack пометил текущую пару учетных данных как сработавшую.

Затем обновляем внутреннее состояние, чтобы вернуться к MQTT_ INIT , потому что нам нужно перебрать остальные учетные данные в текущем словаре. На этом этапе, поскольку мы завершили полную попытку аутентификации, вызываем ncrack_module_end , который обновит некоторые статистические переменные (например, количе- ство попыток аутентификации на данный момент) для службы.

Объединение всех шести списков составляет весь файл модуля MQTT ncrack_mqtt.cc. Актуальный код на GitHub по адресу https:// github.com/nmap/ncrack/blob/accdba084e757aef51dbb11753e9c36ffae122f3/ modules/ncrack_mqtt.cc/ предоставляет полный файл кода, который мы обсуждали.После завершения кода мы вводим команду make в корне- вом каталоге Ncrack для компиляции нашего нового модуля.

Тестирование модуля Ncrack на соответствие MQTT

Давайте протестируем наш новый модуль на брокере Mosquitto, что- бы узнать, как быстро мы сможем подобрать правильную пару имя пользователя/пароль.Этоможносделать,запустивмодульдлянаше- го локального экземпляра Mosquitto:

root@kali:~/ncrack#./ncrack mqtt://127.0.0.1 --user test -v

Starting Ncrack 0.7 ( http://ncrack.org ) at 2019-10-31 01:15 CDT

Discovered credentials on mqtt://127.0.0.1:1883 'test' 'test123' mqtt://127.0.0.1:1883 finished.

Discovered credentials for mqtt on 127.0.0.1 1883/tcp: 127.0.0.1 1883/tcp mqtt: 'test' 'test123'

Ncrack done: 1 service scanned in 3.00 seconds.

Probes sent: 5000 | timed-out: 0 | prematurely-closed: 0

Ncrack finished.

Мы протестировали только проверку имени пользователя и спи- сок паролей по умолчанию (находится в lists/default.pwd), куда мы вручную добавили пароль test123 (в конце файла). Ncrack успешно взломал службу MQTT за три секунды, испробовав 5000 комбинаций учетных данных.

Оценка сети  119