Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 1

Тепер ми спробуємо інший метод застосування SQL. Подивимося, чи база даних буде продовжувати відкидати повідомлення про помилки. Цей метод називається «очікування затримки», а сама затримка записується у такому вигляді: waitfor delay 00:00:01'. Я копіюю це з нашого файлу і вставляю в адресний рядок браузера.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Все це називається "сліпе використання SQL на тимчасовій основі". Все, що ми тут робимо – це кажемо: чекати затримки протягом 10 секунд. Якщо ви помітили, зліва вгорі ми маємо напис «connecting…», тобто що робить наша сторінка? Вона чекає на з'єднання, і через 10 секунд у вас на моніторі з'являється правильна сторінка. За допомогою цього прийому ми звертаємося до бази даних, щоб вона дозволила нам поставити їй ще кілька питань, наприклад, якщо користувач Джо, то потрібно чекати 10 секунд. Це зрозуміло? Якщо користувач dbo, чекати теж 10 секунд. Це і є метод сліпого застосування SQL.

Я думаю, що розробники під час створення патчів не усувають цю вразливість. Це SQL – ін'єкція, але наша програма IDS її теж бачить, як попередні методи застосування SQL.
Спробуємо щось цікавіше. Скопіюємо цей рядок з адресою IP і вставимо її в браузер. Спрацювало! Смужка TCP у нашій програмі почервоніла, програма відзначила дві загрози безпеці.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Добре, дивимося далі, що сталося. У нас є одна загроза командній оболонці XP і ще одна загроза - спроба впровадження SQL. Разом відзначено дві спроби атакувати веб-додаток.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Добре, а тепер допоможіть мені з логікою. Ми маємо пакет даних про втручання, в якому IDS говорить, що відреагувала на різні втручання в командну оболонку XP.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Якщо ми опустимося вниз, то побачимо таблицю HEX-кодів, праворуч від якої є прапор з повідомленням xp_cmdshell +27ping, і, очевидно, це погано.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Подивимося сюди, що сталося. Що зробив SQL сервер?

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

SQL сервер сказав: «ти можеш мати пароль від моєї бази даних, можеш отримати всі записи моєї бази даних, але чувак, я зовсім не хочу, щоб ти запускав у мене свої команди, це зовсім не круто»!

Що нам потрібно зробити – це домогтися, щоб навіть якщо IDS повідомляє про загрозу командній оболонці XP, ця загроза б ігнорувалась. Якщо ви використовуєте SQL Server 2005 або SQL Server 2008, то при виявленні спроби впровадження SQL командна оболонка операційної системи буде заблокована, що не дозволить вам продовжувати свою справу. Це дуже прикро. То що нам робити? Потрібно спробувати попросити сервер дуже лагідно. Потрібно сказати так: «Будь ласка, тату, ну можна мені ці печива»? Ось що я роблю, серйозно, я прошу сервер дуже чемно! Я прошу показати додаткові опції, прошу реконфігурацію та прошу змінити налаштування командної оболонки XP, щоб зробити командну оболонку доступною, тому що мені це потрібно!

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Ми бачимо, що IDS це виявила – бачите, тут помічено вже 3 погрози.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Ви тільки подивіться сюди – ми висадили в повітря безпеки! Схоже на різдвяну ялинку, стільки тут всього навішено! Цілих 27 загроз безпеці! Ура, хлопці, ми впіймали цього хакера, ми його дістали!

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Нас не турбує, що він вкраде наші дані, але якщо він зможе виконувати системні команди у нашій «коробці» – це вже серйозно! Ви можете малювати маршрут Telnet, FTP, можете заволодіти моїми даними, це круто, але я про це не турбуюся, я тільки не хочу, щоб ви заволоділи оболонкою моєї «коробки».

Я хочу сказати про речі, які реально мене дістали. Я працюю на організації, я працюю на них багато років, і я говорю вам про це, тому що моя подружка вважає, що я безробітний. Вона вважає, що я займаюся тільки тим, що стою на сцені і говорю, це не можна вважати роботою. Але я говорю: «ні, моя радість, я консультант»! Ось у чому різниця – я висловлюю свою думку, і за це мені платять.

Скажу так – ми, як хакери, любимо зламувати оболонку, і для нас немає більше у світі задоволення, ніж «ковтати раковину». Коли аналітики IDS пишуть свої правила, ви бачите, що вони пишуть так, щоб захиститися від злому оболонки. Але якщо поговорити з СІО про проблему вилучення даних, він запропонує вам подумати про два варіанти. Припустимо, у мене є програма, яка робить 100 «штук» на годину. Що для мене важливіше – забезпечити безпеку всіх даних у цьому додатку чи безпеку оболонки «коробки»? Це серйозне питання! Про що ви маєте турбуватися більше?

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Те, що у вас пошкоджено оболонку «коробки», не обов'язково означає, що хтось отримав доступ до внутрішньої роботи програм. Так, це більш ніж ймовірно, і якщо цього ще не сталося, воно може незабаром статися. Але зверніть увагу, що безліч продуктів безпеки побудовані на передумовах, що атакуючий переміщається вашою мережею. Тому вони звертають увагу на виконання команд, на впровадження команд і ви повинні відзначити, що це серйозна річ. Вони звертають увагу на тривіальні вразливості, на дуже простий міжсайтовий скриптинг, на дуже прості SQL-ін'єкції. Їх не хвилюють ні комплексні погрози, ні зашифровані повідомлення, вони не переймаються речами такого роду. Можна сказати, що всі продукти безпеки шукають шуму, вони шукають «тявкалку», вони хочуть зупинити те, що кусає вас за кісточку. Ось що я зрозумів, маючи справу із продуктами безпеки. Вам не потрібно купувати продукти безпеки, не потрібно їхати вантажівкою заднім ходом. Вам потрібні компетентні, кваліфіковані люди, котрі розуміють технологію. Так, мій Бог, саме люди! Ми не хочемо викидати мільйони доларів на ці проблеми, але багато хто з вас працював у цій галузі, і знає, що як тільки ваш бос подивиться рекламу, то біжить до магазину з криком: «ми повинні отримати цю річ!». Але насправді нам це не потрібно, ми просто маємо виправити бардак, який знаходиться у нас за спиною. Ось що було передумовою цього виступу.

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

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

В результаті я отримую повідомлення файрвола про загрозу – мене заблокували.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Я думаю, це погано, чи ви згодні? Ви зіткнулися із продуктом безпеки. Але що, якщо я спробую щось подібне до цього: введу в рядок параметр Joe'+OR+1='1

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Як бачите, це спрацювало. Виправте мене, якщо я помиляюся, але ми стали свідками того, як впровадження SQL перемогло файрвол програми. А тепер вдамо, що хочемо розпочати компанію з впровадження заходів безпеки, тому приміряємо на себе капелюх виробника ПЗ. Тепер ми втілюємо зло, бо це чорний капелюх. Я консультант, тому можу чинити так із виробниками програм.

Ми хочемо створити та розгорнути нову систему виявлення втручання, тому почнемо компанію з виявлення втручання. Snort, як продукт з відкритим вихідним кодом, містить сотні тисяч сигнатур загроз втручання. Ми повинні чинити етично, тому ми не крастимемо ці сигнатури з інших додатків і вставлятимемо їх у свою систему. Ми просто сядемо і перепишемо їх усі – гей, Боб, Тім, Джо, давайте сюди, переверніть-но швидко ці 100 000 сигнатур!

Ще нам потрібно створити сканер уразливостей. Ви знаєте, що Nessus, програма для автоматичного пошуку вразливостей, має добрих 80 тисяч сигнатур та скриптів, що перевіряють уразливість. Ми знову вчинимо етично і власноруч перепишемо їх у свою програму.
Люди запитують мене: «Джо, ти робиш усі ці тести за допомогою таких програм з відкритим кодом, як Mod Security, Snort та подібні до них, відповідай, наскільки вони схожі на продукти інших виробників»? Я їм відповідаю: "Взагалі не схожі"! Тому що виробники не крадуть начинку з продуктів безпеки з відкритим кодом, вони сідають та пишуть усі ці правила власноруч.

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

Усі знають, що я випиваю. Дозвольте мені показати вам, чому я випиваю. Якщо ви коли-небудь у своєму житті проводили аудит вихідного коду, ви обов'язково зап'єте, повірте мені, після цього ви почнете випивати.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Отже, наша улюблена мова – це C++. Давайте подивимося на цю програму – Web Knight, це програма-файрвол для веб-серверів. У ньому є винятки за умовчанням. Це цікаво – якщо я розгорну цей файрвол, він не захистить мене від Outlook Web Access.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Прекрасно! Це тому, що багато виробників ПЗ витягують правила з одних додатків і вставляють їх у свій продукт, не виконавши цілу купу досліджень, що належать. Тому, коли я розгортаю програму мережного файрвола, я вважаю, що все, що стосується веб-пошти, зроблено в ньому неправильно! Тому що практично будь-яка веб-пошта порушує безпеку за умовчанням. Ви маєте веб-код, який виконує системні команди та запити LDAP або будь-якого іншого сховища бази даних користувачів прямо в Інтернеті.

Скажіть мені, на якій планеті це може вважатися безпечним? Просто подумайте про це: ви відкриваєте Outlook Web Access, натискаєте клавіші ctrl +K, шукаєте користувачів і таке інше, ви керуєте Active Directory прямо з інтернету, ви виконуєте команди системи на Linux, якщо ви використовуєте «білкину пошту», або Horde або що ще. Ви витягуєте всі ці evals та інші типи небезпечної функціональності. Тому безліч файрволів виключає їх зі списку загроз безпеці, спробуйте запитати виробника виробника вашого ПЗ.

Повернімося до програми Web Knight. Воно вкрало безліч правил безпеки із сканера URL, який сканує всі ці діапазони IP-адрес. І що ж, всі ці діапазони адрес виключені з мого продукту?

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

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

Вони називаються «1999» і хочуть, щоб їхній веб-сервер опинився в минулому! Хтось із вас пам'ятає цю фігню: /scripts, /iishelp, msads? Можливо, кілька людей із ностальгією згадають, як було весело зламувати такі речі. "Пам'ятаєш, чувак, як давним-давно ми "вбивали" сервери, це було круто!".

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Тепер, якщо ви подивіться на ці винятки, то побачите, що зможете виконувати всі ці речі – msads, printers, iiisadmpwd – усі ці штуки, які сьогодні нікому не потрібні. А як щодо команд, які вам не дозволено виконувати?

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Це arp, at, cacls, chkdsk, cipher, cmd, com. При їх перерахуванні вас охоплюють спогади про минулі часи, «чуваку, пам'ятаєш, як ми захопили той сервер, пам'ятаєш ті дні»?

Але ось що дійсно цікаво – хто-небудь бачить тут WMIC чи можливо PowerShell? Уявіть, що у вас є нова програма, яка функціонує за рахунок виконання скриптів у локальній системі, і це сучасні скрипти, тому що ви хочете запустити Windows Server 2008, а я збираюся зробити велику справу, захистивши її правилами, призначеними для Windows 2000. Так що наступного разу, коли постачальник приходить до вас зі своїм веб-додатком, запитайте його: «Гей, мужику, а ти передбачив такі речі, як bits admin, або виконання команд powershell, чи перевірив ти всі інші речі, тому що ми збираємося оновитися та використовувати нову версію DotNET»? Адже всі ці речі мають бути присутніми у продукті безпеки за умовчанням!

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Наступне, про що я хочу з вами поговорити, – це логічні помилки. Давайте перейдемо на адресу 192.168.2.6. Це приблизно така ж програма, як попередня.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Ви можете помітити щось цікаве, якщо прокрутіть сторінку вниз і натисніть посилання Contact Us.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

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

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Подумайте про це! Чую, що багато хто побачивши це сказали: «Вау»! Якось я проводив тестування на проникнення, скажімо, для одного банку-мільярдера і помітив там щось подібне. Отже, нам не потрібні ні SQL-ін'єкції, ні міжсайтовий скриптинг - у нас є основне, ось цей адресний рядок.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Отже, без перебільшення – банк сказав нам, що у них були обидва – і мережевий фахівець, і веб-інспектор, і вони не висловили жодних зауважень. Тобто вони вважають нормальним, що через браузер можна відкрити та прочитати текстовий файл.

Тобто ви можете просто прочитати файл прямо із файлової системи. Глава їхньої служби безпеки сказав мені: «так, один із сканерів виявив цю вразливість, але вважав її незначною». На що я відповів, гаразд, дайте мені хвилину. Я набрав в адресному рядку filename=../../../../boot.ini та зміг прочитати завантажувальний файл файлової системи!

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

На це мені сказали: "ні-ні-ні, це ж не критичні файли"! Я відповів – але це ж Server 2008? Вони сказали – так, це він. Я кажу - але цей сервер має файл конфігурації, розташований в кореневої директорії сервера, правильно? "Правильно", відповідають вони. "Відмінно", - кажу я, - "а що, якщо атакуючий зробить ось це", і набираю в адресному рядку filename = web.config. Вони кажуть – та й що, ви ж на моніторі нічого не бачите?

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Я говорю - а що, якщо я клацну по монітору правою кнопкою миші і виберу параметр "Показати код сторінки"? І що я тут побачу? «Нічого критичного»? Я побачу пароль адміністратора сервера!

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

І ви кажете, що тут немає жодної проблеми?

Але моя улюблена частина – це таке. Ви не дозволяєте мені виконувати команди в «коробці», зате я можу вкрасти пароль адміністратора веб-сервера та базу даних, переглянути всю базу даних, висмикнути звідти всі матеріали про базу даних та відмови системи та піти з усім цим. Це той випадок, коли поганий хлопець каже: "Гей, мужику, сьогодні великий день"!

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Не дозволяйте продуктам безпеки стати вашим захворюванням! Не дозволяйте продуктам безпеки змусити вас хворіти! Знайдіть якихось «ботанів», подаруйте їм усі ці пам'ятні цацьки зі Star Trek, зацікавте їх, заохочуйте їх, щоб вони залишилися з вами, тому що ці занудні смердючки, що не приймають щодня душ, саме ті, хто змушує ваші мережі працювати як слід! Це ті люди, які допоможуть вашим продуктам безпеки працювати як слід.

Скажіть, хто з вас може перебувати довго в одній кімнаті з людиною, яка постійно говорить: «о, мені треба терміново надрукувати цей скрипт!», і який зайнятий цим весь час? Але вам потрібні такі люди, які роблять працездатними продукти безпеки.

Повторю ще раз – продукти безпеки тупі, тому що вогні постійно помиляються, постійно роблять відстійні речі, вони просто не забезпечують безпеку. Я ще жодного разу не бачив хорошого продукту безпеки, який би не вимагав людини з викруткою, здатної підкрутити де потрібно, щоб усе запрацювало більш-менш нормально. Це просто величезний список правил, які говорять, що це погано, і все!

Тому, хлопці, я хочу, щоб ви звернули увагу на освіту, такі речі, як безпека, політехнічне навчання, адже існує безліч безкоштовних онлайн-курсів, присвячених проблемам безпеки. Вивчіть Python, вивчіть збірки Assembly, вивчіть тестування веб-додатків.

Конференція HACKTIVITY 2012. Теорія великого вибуху: еволюція пентестингу за умов підвищеної безпеки. Частина 2

Ось що справді допоможе вам захистити свою мережу. Розумні люди захищають мережі, продукти не захищають! Поверніться на роботу і скажіть своєму босу, ​​що вам потрібно більше бюджету для більшої кількості розумних людей, я знаю, що зараз криза, але все одно скажіть їй – нам потрібно більше коштів для людей, для їхнього навчання. Якщо ми купуємо продукт, але не купуємо курс щодо поводження з ним, тому що це дорого, то навіщо ми взагалі його купуємо, якщо не збираємося навчити людей із ним поводитися?

Я працював на багатьох виробників продуктів безпеки, практично все життя провів, займаючись впровадженням цих продуктів, і мене вже нудить від усіх цих контролю доступу до мережі та інших речей, тому що я встановлював і запускав всі ці відстійні продукти. Якось я прийшов до клієнта, вони хотіли впровадити стандарт 802.1x для протоколу EAP, тому вони мали MAC адреси та вторинні адреси для кожного порту. Я прийшов, побачив, що це погано, розвернувся і почав натискати на принтері кнопки. Ви знаєте, принтер може роздрукувати тестову сторінку мережного обладнання з усіма MAC адресами та IP-адресами. Але виявилося, що принтер не підтримує стандарт 802.1x, тому він повинен бути виключений.

Тоді я відключив принтер від мережі та змінив MAC адресу свого ноутбука на MAC адресу принтера та підключив свій ноутбук, таким чином обійшовши це дороге рішення MAC, подумайте про це! Так що ж гарне це рішення MAC може для мене зробити, якщо людина може просто видати будь-яке обладнання за принтер або за VoIP телефон?

Так що на сьогоднішній день пентестинг для мене полягає в тому, що я проводжу час, намагаючись зрозуміти продукт безпеки, який купив мій клієнт, і розібратися в ньому. Зараз кожен банк, в якому я проводжу випробування на проникнення, має всі ці HIPS, NIPS, LAUGTHS, MACS і цілу купу інших абревіатур, які є суцільним відстою. Але я намагаюся розібратися, що ці продукти намагаються зробити та як вони намагаються це зробити. Потім, як тільки я з'ясовую, що за методологію та логіку вони використовують, щоб забезпечити захист, обійти її стає зовсім не важко.

Мій улюблений продукт, який я залишу, називається MS 1103. Це експлойт на основі браузера, який «розпорошує» HIPS, Host Intrusion Prevention Signature, або сигнатури запобігання втручанню в хост. Фактично він призначається для обходу сигнатур HIPS. Я не хочу показувати, як він працює, тому що мені шкода часу на демонстрацію, але він чудово дозволяє обійти цей захист, і я хочу, щоб ви взяли його собі на озброєння.
ОК, хлопці, я вже йду.

Небагато реклами 🙂

Дякую, що залишаєтеся з нами. Вам подобаються наші статті? Бажаєте бачити більше цікавих матеріалів? Підтримайте нас, оформивши замовлення або порекомендувавши знайомим, хмарні VPS для розробників від $4.99, унікальний аналог entry-level серверів, який був винайдений нами для Вас: Вся правда про VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps від $19 чи як правильно ділити сервер? (Доступні варіанти з RAID1 і RAID10, до 24 ядер і до 40GB DDR4).

Dell R730xd вдвічі дешевше в дата-центрі Equinix Tier IV в Амстердамі? Тільки в нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТБ від $199 у Нідерландах! Dell R420 – 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB – від $99! Читайте про те Як побудувати інфраструктуру корп. класу із застосуванням серверів Dell R730xd Е5-2650 v4 вартістю 9000 євро за копійки?

Джерело: habr.com

Додати коментар або відгук