Firefox в руках хакера: збірка плагінів для Mozilla
User Rating: / 10
PoorBest 
There are no translations available.

Як не крути, основна краса Firefox'а полягає в розширюваності. Модулі можна знайти на будь-який випадок життя: щоб блокувати рекламу, ефективно налагоджувати веб-додатки, швидко перемикати проксі і що завгодно ще.
Особливо приємно, що за роки розробки з'явилася ціла підбірка особливих аддонов - тих, які можуть стати в нагоді пентестеру.
Так, в описі плагіна ніколи не буде написано: «Це аддон для того, щоб ламати сайти». Зате плагінами можна замінити масу окремих x-toolz і виконувати багато дій прямо в браузері. Для того, щоб відстежити і підробити HTTP-заголовки, погратися з кукисам, проспуфити User-Agent, зробити fingerprinting сорцов сторінки, щоб зрозуміти з яким движком на сервері маєш справу, достатньо встановити плагін. Треба тільки знати який.
Fingerprinting в Firefox
Будь-який пентест сторінки починається з аналізу: з чим, власне, маєш справу. Самописні, криво написані движки для сайту, які можна оформити як підручник «Помилки програміста» - справжній подарунок для хакера. Хоча й готові движки CMS/форумів/блогів, які всі активно використовують, але рідко коли вчасно оновлюють, надають величезний простір для діяльності. А якщо знати, з яким рішенням маєш справу, то можна швидко спробувати знайти есплойт або запис у багтраці. Розпізнати той чи інший движок можна по ряду характерних ознак. Наприклад, тег <meta name="generator" content="WordPress 2.8.4"/> явно говорить про те, що сайт крутиться на WordPress.
Причому колупати сорци самому в пошуках характерних позначок необов'язково, тому як це самостійно може зробити плагін Wappanalyzer. У випадку, якщо движок, на якому крутиться сайт, успішно розпізнається, його логотип відображається в адресному рядку браузера. Це дуже зручно. Вже зараз в базі Wappalyzer є дані по всіх найпопулярнішим скриптам для створення порталів, блогів, форумів, хостинг-панелей, електронних магазинів. Не менш успішно можна визначати використовуваний JS-фреймворк та аналітичні засоби (на зразок Google Analytics). На офіційному сайті плагіна навіть можна подивитися статистику по популярності кожного з рішень, зібраного якраз за допомогою плагіна.
Інший аддон - Show IP - ніяк не допоможе дізнатися більше про саму сторінку, але зате покаже IP-адресу серверів, на яких вона крутиться, і дозволить швидко пробити адресу з різних whois-сервісів.
Маніпуляція з HTTP-даними
Коли перше уявлення про те, з чим маєш справу, є, можна приступати до більш активних дій. Щоб проаналізувати HTTP/HTTPS-трафік до веб-серверів, часто використовуються спеціалізовані тулзи типу Fiddler'а. Але подивитися, що передається серверу, і що від нього повертається назад, цілком реально без сторонніх програм.
Достатньо лише встановити плагін HttpFox або Live HTTP Headers. Обидва в дуже зручній формі дозволяють моніторити і аналізувати весь вхідний і вихідний HTTP-трафік, в тому числі хедери запитів і відповідей, кукіси, зміст POST-запитів і т.д. Зрозуміло, що одним тільки сніфінгом не обійтися - часто необхідно «на льоту» змінювати параметри запиту або хедерів і вивчати реакцію програми.
Немає проблем: Modify Headers дозволить додавати, змінювати і, що важливо, фільтрувати різні хедери в запитах. Ти можеш змінити значення User Agent і, наприклад, проспуфіти HTTP-запит так, як ніби він виконується з мобільного пристрою.
Втім, якщо часто доводиться підробляти саме інформацію про використаний браузері, але краще задіяти спеціалізований аддон - User Agent Switcher, що дозволяє зробити це за кілька кліків мишею.
Tamper Data - це ще більш просунутий засіб, який на особливому рахунку в скарбничці будь-якого пентестера. Крім спуфінга власне заголовків він дозволяє змінювати дані, що передаються в POST-запитах. Нагадаю, що якщо форма для відправки використовує метод GET, то дані, що передаються, оформляються у вигляді ключів в URL, і «гратися» з ними можна прямо в адресному рядку браузера. У випадку з методом POST дані форми оформляються в особливо створеній структурі, і тут без спеціальної утиліти, що дозволяє з ними маніпулювати, не обійтися. Складно навіть уявити, скільки разів Tamper Data з'являвся в наших VisualHack'ах. Але яким би зручним не був аддон, він не дозволяє виконувати автоматичну атаку. Наприклад, його ніяк не можна використовувати для брутфорс форми авторизації.
Ну й добре, для брутфорс GET-і POST-форм є окремий плагін - Fireforce. Зрозуміло, що підбір паролів є головним завданням подібного плагіна, і, що приємно, він дозволяє як генерувати випадкові паролі з урахуванням заданих параметрів, так і використовувати для атаки словники.
Мало брутфорс, хочеш влаштувати жорсткий фаззінг у всіх місцях введення даних? Тоді аддон FuzzyFox - до твоїх послуг.
Ігри з куксам
Важлива частина даних, якими обмінюється веб-сервер і браузер - це кукіси. Кожного разу, коли форум впізнає тебе, а не питає ім'я і пароль знову, в цьому беруть участь кукіси і сесії. Якщо трохи з ними помудрувати, цілком реально домогтися цікавого результату. На жаль, все, на що здатний сам Firefox - це кнопка "Видалити всі cookies», та й то не завжди працює як треба (подробиці трохи нижче).
Щоб мати інтерфейс для прямого доступу до кукисам, доведеться встановлювати плагін Add N Edit Cookies, що дозволяє додавати і редагувати параметри поточної сесії і всі збережені кукіси.
Якщо ж тобі цікаво, хто і в якій формі зберігає «плюшки», які скопом накопичуються в тебе на жорсткому диску, рекомендую встановити насадку Allcookies  (не працює з Firefox 3.6.12– прим. автора) - та в зручній формі буде логуватися вся інформацію в текстовий файл.
Ще один цікавий і корисний плагін для роботи з кукисам - це CookieSwap. Після установки у тебе з'являється тулбар, завдяки якому ти можеш швидко перемикатися між різними профайлами, в кожному з яких зберігається свій набір «булочок». Автор, наприклад, активно використовує його, щоб одночасно працювати з різними акаунтами на сервісах Google і, зокрема, Gmail.
Ковиряємо JS-скрипти
Якщо взяти той же самий Gmail, Facebook та й взагалі будь-який веб-додаток, то він буквально рясніє кодом на JavaScript. А там, де багато коду, є багато помилок, які ми любимо шукати.
На щастя, одним з найбільш потужних плагінів для Firefox є саме відладчик Javascript - Firebug. За сумісництвом це ще й самий кращий дебаггер для JS в принципі, який ідеально підходить для того, щоб розібратися з чужим JS-кодом. За допомогою Firebug ти легко можеш встановити брейкпоінтів в потрібних місцях скрипта, вказуючи на те, що виконання сценарію потрібно зупинити при досягненні потрібного рядка коду. Підтримуються і if-breakpoint'и, коли точка зупинки спрацьовує тільки при настанні обумовленої умови. Як тільки виконання скрипта зупинилося, ти можеш продовжити його виконання покроково, уважно відстежуючи значення всіх змінних і об'єктів.
Причому можна навіть переглянути значення складних виразів, які з різних змінних; для цього до твоїх послуг система watch'ей. Втім, навіть якщо просто в коді навести курсор на якусь змінну під час виконання скрипта, то відладчик видасть підказку з його поточним значенням.
Firebug інтегрується в Firefox на глибокому рівні і дозволяє в реальному часі змінювати і налагодити не тільки JS-сценарії, а й виконання HTML-коду, CSS на абсолютно будь-якій сторінці. Одна з моїх улюблених фішок - опція Inspect, коли ти клацаєш на потрібний тобі елемент сайту, а Firebug миттєво знаходить в сорцах код, який цей елемент реалізує.
Відладчик непогано справляється з визначенням всіх зв'язкових файлів з сторінкою, хоча для цієї мети ще краще підходить окремий плагін - View Dependencies. Це особливо важливо, коли маєш справу зі складним веб-додатком, підвантажують масу окремих файлів з JS/CSS-кодом.
Інтерпретація та компіляція (так-так, частина JS-коду компілюється вбудованим в браузер JS-двигуном з метою збільшення продуктивності) проводиться на клієнтській машини, і щоб захистити свій код від копіювання, розробникам доводиться використовувати важливий прийом - обфускацію коду. Техніка на особливому рахунку і у розробників сплойтів, які, по-перше, маскують таким чином свої дітища від сигнатурних антивірусів (адже не так складно розпізнати шеллкод в JavaScript), а, по-друге, приховують саму техніку експлуатування уразливості в браузері. Якщо прочитаєш статтю «Операція Аврора», то розберешся, як впорається з простим прийомом шифрування есплойтів.
Істотно спростити завдання, а в багатьох випадках навіть все зробити за тебе може плагін JavaScript Deobfuscator. Після установки у тебе завжди буде можливість подивитися, який JS-код виконується на сторінці, причому навіть у тому випадку, якщо він генерується (зокрема розшифровується) на льоту. Потрібно лише викликати плагін з меню «Tools» і подивитися, які скрипти на цій сторінці виконуються/компілюються.
Ін'єкції, XSS, відсутність авторизації
Якщо тобі потрібен інструмент для допомоги в пошуку XSS-дір, здійснення SQL-ін'єкції та виконання інших атак прямо всередині сайту, то саме час встановити в Firefox'е тулбар HackBar. Фішка в тому, що з його допомогою ти зможеш дуже швидко виконувати ряд тривіальних дій для пошуку вразливостей в скриптах, типу підстановки злобливих значень у різні місця вводу даних. До того ж у HackBar вбудовано кілька інструментів, що дозволяють зашифрувати злобливий запит, дозволяючи обійти найпростіші фільтрації параметрів.
Якщо далі продовжувати розмову про SQL-ін'єкції, то тут є спеціальний плагін з простою назвою SQL Injection (не працює зFirefox 3.6.12– прим. автора). У плагін забитий ряд популярних символьних комбінацій, які можуть порушити цілісність SQL-запиту, логіку виконання скрипта і, відповідно, надати можливість реалізувати атаку.
Ще більш автоматизовану атаку на БД пропонує SQL Inject Me, розробленого security-командою Seccom Labs. У ті значення, які передаються скрипту на сервері, плагін вставляє «небезпечні» символи (на кшталт лапки) і перевіряє, чи не повернулася у відповідь сторінка з помилкою бази даних. Поля для перевірки обираєш ти сам за допомогою спеціального інтерфейсу.
Від тих же хлопців є серйозний інструмент для пошуку XSS-вразливостей XSS Me. Вона працює аналогічним чином і сабміта HTML-форми, підставляючи в поля відправляється форми такі значення, які теоретично можуть виявити XSS-атаку. Якщо результуюча HTML-сторінка поверне спеціальне JS-значення (document.vulnerable = true), тулза автоматично позначає сторінку як потенційно вразливу до XSS.
Аналіз Flash-вмісту
Важлива частина веба сьогодні - це Flash-компоненти, за допомогою яких реалізуються інтерактивні програми. Аналізувати SWF-ки - непросте завдання, але деяку інформацію про їх роботу вивудити можна.
У цьому плані ласим аддоном є Flashbug, який працює у зв'язці з Firebug'ом і дозволяє детально вивчати SWF-ресурси, вбудовані в сайт. У Firebug'е з'являється нова вкладка, на якій відображаються всі «Трейсі» програми, а також AMF-дані, що передаються від і до сервера - це спеціальні повідомлення, в яких серіалізіруются (простіше кажучи, упаковуються) об'єкти використовуваного в Flash мови ActionScript.
Інший плагін - Fireflash - дозволяє крім усього іншого переглянути ActionScript класи, об'єкти, масиви, XML та інші дані Flash-компонента, причому знову ж таки через Firebug console. Тут треба розуміти, що ці інструменти призначені в першу чергу для розробників, але будуть украй корисні для вивчення чужих SWF-ок, наприклад, додатків ВКонтакте. Обидва аддони не працюють без встановленого відладчика Firebug, який відрізняється від багатьох інших надбудов для Firefox тим, що сам має плагіни.
Анонімність і безпека
Якщо говорити про пентести, не можна не згадати аспекти своєї власної безпеки і анонімності. Візьмемо звичайне дію - роботу через проксі. Найчастіше їх доводиться використовувати навіть не для того, щоб приховати IP. Зараз повно сервісів, які банально не працюють з користувачами, у яких російський IP: взяти хоча б Google Voice, Pandora Radio і т.д. А через американський сокс - все відмінно.
Для того, щоб додавати в браузер потрібні проксі і швидко перемикатися між ними, немає кращого плагіна, ніж FoxyProxy. Якщо завдання стоїть як раз обдурити фільтрацію згаданих сервісів, можна чітко забити для них індивідуальні проксі з Америки, і браузер автоматично їх буде використовувати. Щоб у будь-який момент переключитися на потрібний проксі, потрібен один клік миші. Більш того, плагін надає деякі унікальні фішки, наприклад, циклічне перемикання по заданому списку сокс - от і задачка для тих, хто буде аналізувати логи.
Якщо для забезпечення анонімності ти використовуєш Tor, то до Firefox'у обов'язково потрібно підключити Torbutton, що включає і вимикає безпечне з'єднання.
Продовжуючи тему шифрування, вкрай рекомендую закачати аддон FireGPG. У цьому випадку ти зможеш прямо з браузера шифрувати, дешифрувати, підписувати текст і перевіряти чужий цифровий підпис, у тому числі в Gmail, використовуючи відкритий проект GnuPG
Велика головна біль при відвідуванні різних ресурсів - так звані Tracking-кукіси, які не мають терміну придатності і використовуються ресурсами для відстеження твоєї активності (наприклад, повертаєшся ти на сайт чи заходиш на нього в перший раз). Це означає, що вони не видаляються як звичайні кукіси через деякий час, а продовжують жити в системі. Це особливо стосується Flash-cookies, які створюються на комп'ютері як LSO-об'єкти (Local Shared Objects) флеш-плеєром - їх, як правило, взагалі не може видалити браузер, навіть не підозрюючи про їх існування. А навіщо тобі на комп'ютері свідоцтва відвідування пікантних сайтів? Для запобігання появи Tracking-кукісів в системі спеціально розроблений плагін BetterPrivacy.
В обов'язковому порядку необхідно встановити ще один плагін - NoScript. Він робить одну просту річ - взагалі відключає виконання скриптів на сайті. Це єдиний гарантований спосіб серфити заражені сайти, звідки пачками вантажаться трояни, а також захистити себе від XSS і Clickjacking атак:). Тут варто зауважити, що скрипт відключить не тільки JS, але і Java, і Flash - всі технології, які можуть виконувати код на твоєму комп'ютері з віддаленого хоста.
У плані визначення малварі на сайті добре зарекомендував себе ще й Firekeeper, що використовує правила відомої IDS-системи Snort.
][-Твіки
Якщо подивитися опис функцій будь-якого просунутого трояна, то серед іншого обов'язково помітиш опцію підміни контенту. Завдяки їй зловмисник може приховати на сайті ті елементи, які можуть викликати підозру користувача (наприклад, повідомлення про невдалу авторизацію) або, навпаки, підсунути у форму для введення нове поле, якого в початковій формі не було.
Для тестування замін нерідко використовується аддон Greasemonkey, який дозволяє змінювати популярні сторінки на льоту. Втім, його можна використовувати і для цілком мирних цілей, наприклад, щоб позбутися від настирливих елементів на якомусь сайті. Зміни описуються за допомогою скриптів - велика база вже готових сценаріїв доступна на сайті userscripts.org.
Ще одна хитрість - реалізувати автоматизовані перевірки та тестування за допомогою макросів. Один раз записавши сценарій і показавши браузеру послідовність дій, можна відтворювати їх скільки завгодно разів в автоматичному режимі. Це можливо за допомогою аддонiв iMacros, TestGen4Web (не працює з Firefox 3.6.12– прим. автора), а також Chickenfoot.
Як виправити несумісність версії плагіна і браузера?
Firefox - це браузер, що швидко розвивається, для якого дуже часто виходять нові версії. Цього не можна сказати про багатьох плагінів, які колись були опубліковані авторами, потрапили в репозиторій і були благополучно занедбані. При цьому в Firefox'е є захист від дурня: якщо в плагіні зазначено, що він сумісний з версією браузера 3.5, то зі свіжою 3.6.3 він вже не встановиться. На оновлення з боку автора можна не сподіватися, і як же тоді бути? Найнадійніший шлях - встановити аддон Nightly Tester Tools. Тепер під час підключення застарілого плагіна ти отримаєш не відмова в установці з-за помилки сумісності, а пропозиція включити аддон на свій страх і ризик.
(Джерело RU: xakep.ru)
 
>
BookNewsPractice SearchPartnersAbout
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting