Cisco IOS shellcode: All-in-one

image

Привіт!

Даний пост є відповіддю на недавню публікацію на ресурсі Хабрахабр від російського представництва компанії Cisco.

Автор – той самий «незрілий» і «початківець» дослідник з компанії Digital Security, згаданий у статті представника Cisco.

Дивно, представництво настільки відомої компанії дозволяє собі використовувати в офіційному блозі настільки низький склад, а також дає коментарі, грунтуючись на поверхневих висновках, а не на технічних деталях. Давайте подивимося, що ж такого зробив наш дослідницький центр, і з чим не змогли або не захотіли розбиратися фахівці Cisco.

Коментарі за статтею

Треба відразу сказати, що ні про яку уразливості мережевого обладнання мови не йде!
Обладнання завантажується з «чужою» прошивкою відсутність перевірки легітимності образу. Хіба це не вразливість? Будь атакуючий зрадіє такій можливості.

Для успішної реалізації зловмиснику потрібні обліковий запис адміністратора маршрутизатора Cisco (а не комутатора, як писали деякі ЗМІ) або фізичний доступ до обладнання.
Уразливості класу remote code execution ніхто не відміняв, і можна зробити все теж саме і без фізичного доступу.

У вас викличе здивування, якщо вам скажуть, що хтось, отримавши логін і пароль адміна ПК, перевстановив на ньому ОС або поставив зловмисне програмне забезпечення? Швидше за все немає. Це досить очевидна загроза, нерідко реалізується на практиці.
Дуже слабкий сценарій. А чому не згадується сценарій NSA?! Адже можна так: транспортується пристрій на транспортному вузлі витягується третьою стороною. Далі, третя сторона модифікує на системі прошивку (ЗНАЮЧИ ДЕФОЛТНИЙ ЛОГІН І ПАРОЛЬ), вбудовуючи шкідливу функціональність. Потім зносить всі налаштування «в нуль», як ніби пристрій ніколи не включалося. В результаті замовник отримує пристрій, абсолютно не підозрюючи, що прошивка його не оригінальна, а «протрояненная», і при певних умовах «залізка» перестане бути його обладнанням, потрапить під контроль «чужинця».

Для ідентифікації SYNful Knock було запропоновано декілька досить простих механізмів і рекомендацій
Механізми та рекомендації – відмінно, але вони працюють вже після того, як пристрій протягом певного часу перебувало під контролем зловмисника, і він міг ним розпоряджатися на свій розсуд всередині чужої компанії. Тобто це все лише для ІДЕНТИФІКАЦІЇ. Це все ПОСТФАКТУМ.

Між тим, і донині можна завантажувати модифікований образ, і можна не сумніватися в тому, що вийде нова малварь. А виробник просто випустить новий сканер і нові сигнатури.

Розповіді про те, як з допомогою потенційно модифікованого способу перевірити його на модифікації з допомогою команди verify, виглядають дивно до смішного. Звертаємо вашу увагу: у модифікованому образі можна підправити код, відповідальний за перевірку вашої контрольної суми.

За доступною на даний момент інформації серйозної шкоди SYNful Knock не завдав, а ареал його поширення (число постраждалих мережевих пристроїв) виявився обмеженим і склав на 20 вересня 2015 року 163 пристрою за даними Shadowserver (з десяти мільйонів проданих пристроїв даного покоління).
Цікава гра з цифрами. Девайс девайсу ворожнечу. Одна справа, коли пристрій такого класу коштує в невеликій компанії, і зовсім інша – якщо його використовує великий гравець зі сфери телеком. Тобто за импакту і профіту це абсолютно різні історії, як ви розумієте.

Плюс до всього, варто враховувати, що опубліковані відомості від ShadowServer описують тільки ті пристрої, до яких можливо було підключитися ззовні і задетектить, що вони інфіковані. Отже, залишилася неохопленою маса пристроїв, підконтрольних зловмиснику (ам), який має доступ до внутрішньої мережі, наприклад, через будь-яку іншу заражене «стандартним» шкідливим програмним забезпеченням пристрою або ПК.

не дарма компанія Cisco впровадила механізм цифрового підпису оновлень ROMMON і образів операційної системи IOS, але на платформах попередніх поколінь перевірку необхідно активувати вручну
Наш досвід досліджень устаткування Cisco показує, що не для всіх пристроїв можна оновити, наприклад, ROMMON. Він просто недоступний на сайті виробника. Для деякого «заліза» тільки зараз почали викладати ROMMON – можливо, це пов'язано з зростанням інцидентів, пов'язаних з інфікуванням. І для того, щоб дати можливість клієнтам оновити ROMMON, його надали для скачування.

Тому, коли дослідник або компанія безапеляційно заявляє про те, що вони «зламали IOS», то це або ознака непрофесіоналізму і нерозуміння того, що у нас існує безліч різних модифікацій нашої основної операційної системи, або банальне бажання прикрасити і попіаритися на гучної новини.
Автор статті злякався новинних заголовков і не дочекався публікації технічних слайдів та відео з виступу з ZeroNights 2015 «Cisco IOS shellcode: all-in-one». Про це також говориться в презентації:

image

Як можна помітити, слайд ніяк не суперечить вищесказаному. Більш того, лейтмотивом другій частині дослідження як раз і була розмова про те, як досліднику «мати справу» з існуючому різноманіттям апаратних платформ, архітектур процесорів і операційних систем Cisco. У дослідженні було відзначено, що, хоча бінарні образи Cisco IOS можуть серйозно відрізнятися, завжди можна знайти архітектурні особливості, які залишаться незмінними від образу до образу, свого роду «інваріанти». У розглянутому випадку таким «інваріантом» стала підсистема «Tcl», яка однаково влаштована і функціонує незалежно від версії ОС і архітектури заліза.

Хоча безпосереднім об'єктом дослідження була ОС Cisco IOS (PowerPC), запропонований підхід до реалізації стерпного між образами шелл-коду можна поширити як на іншу процесорну архітектуру, так і інше сімейство ОС Cisco IOS XE.

Але давайте подивимося правді в очі. Сама уразливість в інтерпретаторі Tcl відома вже давно і має навіть свій ідентифікатор CVE. Тобто заява про знайдену уразливість є відвертою брехнею, зробленим лише для власного PR.
Давайте подивимося правді в очі і скажемо, що автор не в курсі змісту доповіді, оскільки не був присутній на ньому. У дослідженні взагалі уразливості в обладнанні Cisco не порушувалися, а лише згадувалися побіжно!

Дослідження присвячене переносимого шелл-кодом на базі «Tcl» для обладнання Cisco, який може використовуватися в зв'язці з будь бінарної вразливістю, що дає змогу виконати довільний код, а згадана уразливість в інтерпретаторі «Tcl» має до нього лише опосередковане відношення (можливо, тільки слово «Tcl» у назві). Не сумніваємося, що різниця між термінами «уразливість» і «шелл-код» очевидна для фахівця.

Якщо порушувати питання ескалації привілеїв, то треба зауважити, що шелл-код має прямий доступ до фізичної пам'яті і може модифікувати як сам код Cisco IOS, так і різні керуючі структури, в тому числі, підвищувати привілеї.

Іншими словами, з точки зору фахівця з безпеки, що працює на якому-небудь підприємстві цікавиться інформацією про захищеності свого мережевого обладнання, варто вивчати не лише прес-релізи дослідників, але й інформацію про усунення дірки і про обмеження в її використанні, що дає виробник.
Все так. Однак, ми не розповідали про уразливості. Всі чудово розуміють, що уразливість є і будуть, і робити доповідь про ряд звичайних вразливостей на міжнародній конференції ZeroNights нам було не дуже цікаво. Ми розповіли про те, що можна робити після експлуатації уразливості в обладнанні Cisco.

Якщо зайти на нього, то можна побачити постійно оновлювані відомості про різні уразливості в різних продуктах різних версій.
Ключове слово «постійно» ;)

Більше того, коли фахівці Cisco PSIRT за своєю ініціативою зв'язалися з Digital Security з приводу недавнього доповіді на ZeroNights про нібито виявленої уразливості в обладнанні Cisco, представники Digital Security не змогли нічого відповісти і представити деталі свого дослідження
Так, зв'язалися після виходу новин і отримали відповідь, що ніяких вразливостей в обладнанні Cisco не розглядалося і слайди скоро будуть доступні для всіх бажаючих.

Ось презентація дослідження (відео буде доступне пізніше):



Про зараження пристроїв Cisco

Дану теми ми взагалі не піднімали в нашому дослідженні — це тема окрема. Єдине, що хочеться відзначити: при розмові про уразливість виробник концентрується на величезній кількості обладнання, ОС і архітектур, але, коли мова заходить про захист проти модифікації способу прошивки, миттєво забуває про це, згадуючи технології Trust Anchor, Secure Boot, які є далеко не скрізь.

Як визначити, чи є у вас Trust Anchor, Secure Boot — це окремий квест. Одні офіційні документы від Cisco говорять одне, а інші джерела (сервіс Cisco Feature Navigator) декларують інше. Кому вірити?

Наш досвід дослідження обладнання Cisco, яке зараз використовується в компаніях (а не стоїть на полицях в магазинах), за останні кілька років показує, що в більшості випадків для перевірки легітимності образу використовується контрольна сума. Природно, підробити (перерахувати) контрольну суму модифікованого способу дуже просто. На ряді пристроїв, де образ має цифровий підпис, цифрові сертифікати лежать там же, і зловмиснику не складає труднощів додати туди свій сертифікат.

Також уважний/досвідчений читач може подумати про TPM (Trusted Platform Module). Але Cisco не транспортує його в ряд країн з-за криптографії, включаючи Росію. І ми чесно намагалися знайти, яке ж обладнання підтримує TPM. Виявилося, його кількість мізерно мало.

Звичайно, обладнання Cisco розвивається, впроваджуються нові механізми безпеки. Але оновлення стосуються лише останніх моделей, а ситуація з основною масою «заліза», яке активно використовується в компаніях, залишається колишньою. Виходить, як з ОС Android: в останній версії все добре, ну а решта нехай оновлюються. Проблема в тому, що оновити весь парк мережевого обладнання не так просто (і не дешево). Це не ОЗ на телефоні. І ми чітко бачимо таку проблему у наших клієнтів.

Висновок

Безумовно, нас, як дослідників, тільки радує той факт, що наша робота викликає активну реакцію з боку Cisco та публікацію статей з безпеки. Однак, хотілося б сподіватися, що фахівці вендора не обмежаться емоційними відгуками, а спрямують свою енергію на вдосконалення безпеки власних продуктів.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.