attacks on tacacs - Алексей Тюрин

14
Атаки на Tacacs+ Digital Security Alexey GreenDog Tyurin @antyurin

Upload: defconrussia

Post on 13-Apr-2017

1.036 views

Category:

Science


6 download

TRANSCRIPT

Page 1: Attacks on tacacs - Алексей Тюрин

Атаки на Tacacs+

Digital Security

Alexey GreenDog Tyurin@antyurin

Page 2: Attacks on tacacs - Алексей Тюрин

Defcon Russia (DCG #7812) 2

Tacacs+ от Cisco

• Бинарный протокол (49/TCP)• Централизованное управление доступом • AAA (англ. authentication, authorization,

accounting)• К различным девайсам от Cisco (и не только)• Есть «железки», есть открытые реализации

сервера (tacplus)

Page 3: Attacks on tacacs - Алексей Тюрин

Defcon Russia (DCG #7812) 3

Общий вид: Tacacs+Tacacs+ server

User

Page 4: Attacks on tacacs - Алексей Тюрин

4

«Атака» №1. Причины

• Разные виды аутентификации:aaa authentication login default group tacacs+ local• local – локальные учётки устройства.

Обычно есть учётка на «экстренный» случай

• Нет ответа за timeout – следующий метод

Defcon Russia (DCG #7812)

Page 5: Attacks on tacacs - Алексей Тюрин

5

«Атака» №1Tacacs+ server

Pentester

1

2

3

Defcon Russia (DCG #7812)

Page 6: Attacks on tacacs - Алексей Тюрин

6

Атака №2. MitM?

• А если MitM?• Шифрование • Pre Shared Key

Defcon Russia (DCG #7812)

Tacacs+ server

Pentester

Page 7: Attacks on tacacs - Алексей Тюрин

7

Атака №2. Причины

• Шифруются только данные, заголовки – незашифрованные

Defcon Russia (DCG #7812)

Page 8: Attacks on tacacs - Алексей Тюрин

8

Атака №2. Причины• XOR:

encrypted_data=data^pseudo_pad

• Pseudo_padpseudo_pad = {MD5_1 [,MD5_2 [ ... ,MD5_n]]}

• MD5xMD5_1 = MD5{session_id, key, version, seq_no}MD5_2 = MD5{session_id, key, version, seq_no, MD5_1}....MD5_n = MD5{session_id, key, version, seq_no, MD5_n-1}

• Единственное неизвестное – key. Но есть только enc_data?«предположить» значения в data?

Defcon Russia (DCG #7812)

Page 9: Attacks on tacacs - Алексей Тюрин

9

Атака №2. Причины

• Отсутствуют случайные значения (и padding)• Нужно только MD5_1 (128 бит)• Пример 1. Аутентификация:

Defcon Russia (DCG #7812)

Page 10: Attacks on tacacs - Алексей Тюрин

10

Атака №2

• Pseudo_pad=enc_data^data• Pseudo_pad -> MD5_1 -> local bruteforce

Defcon Russia (DCG #7812)

Tacacs+ server

Pentester

Page 11: Attacks on tacacs - Алексей Тюрин

11

Атака №2. Точнее

• Pseudo_pad для каждого пакет (seq_num в MD5)• Пример 2. Ответ от сервера. 0 - рандома:

Defcon Russia (DCG #7812)

Page 12: Attacks on tacacs - Алексей Тюрин

12

Атака №2. SSH

• Имя юзер в первом пакете

Defcon Russia (DCG #7812)

Page 13: Attacks on tacacs - Алексей Тюрин

13

Атака №2. Проще!• Тулза tac2cat (Tacacs 2 HashCat)

type 1 – ssh, type 2- telnet

• HashCat не поддерживает 2 разные солиMD5{session_id, key, version, seq_no}

• Нужно немного тестов с другими цисками

Defcon Russia (DCG #7812)

Page 14: Attacks on tacacs - Алексей Тюрин

14

Q&A

Defcon Russia (DCG #7812)

https://twitter.com/antyurinhttps://github.com/grrrdog