Веб-безопасность — курс молодого бойца
Одной из основных задач научного руководителя при наборе новых студентов является проведение ликбеза в своей предметной области. Цель простая — вывести студентов на некоторый базовый уровень. Возможно, мой опыт окажется полезным начинающим интересоваться веб-безопасностью.
Соответственно, для погружения в область веб-безопасности, я рекомендую пройти theoretical track, practical track и подписаться на блоги, в которых публикуются полезные (либо с теоретической, либо с практической точки зрения) сведения.
Theoretical Track.
- Зачем вообще нужна вся информационная безопасность? Ответ находится в документе NIST SP 800-30: Risk Management Guide for Information Technology Systems.
- Web Application Hacker’s Handbook. Читать от корки до корки не обязательно (но очень желательно) – использовать как справочник: если что-то услышали, про что не знали ранее – открываем книгу и читаем. К обязательному прочтению на первом этапе только одна глава – Chapter 3: Web Application Technologies.
- The Shellcoder’s Handbook. Опять же, читать целиком не обязательно, но очень желательно. К обязательному прочтению на первом этапе — Part I: Introduction to Exploitation: Linux on x86.
Practical Track.
- Пройти все уроки WebGoat. Если покажется элементарщиной — переходим к следующему шагу.
- Установить и исследовать на наличие уязвимостей веб-приложения, специально сделанные уязвимыми:
- HacMe Bank;
- WackoPicko
- плюс что-нибудь на выбор из этого списка: http://stackoverflow.com/questions/365309/where-can-i-find-a-deliberately-insecure-open-source-web-application
Рекомендуемый инструмент для анализа этих веб-приложений на начальном этапе — Burp Suite. Имеет смысл организовывать виртуальные машины (VMware, Virtual Box и т.д.) и ставить это все на них – будет удобно, отчуждаемо и таким образом можно будет накопить свой полезный инструментарий софта.
- Задание со звездочкой. Установить Backtrack и познакомиться с его функционалом (какие задачи решает каждый из инструментов). Поработать с ним вместе с обучающими видео. Научиться работать с Metasploit Framework: цель — уметь эксплуатировать известные уязвимые к переполнению буфера сервисы под Windows и Linux.
Ну и наконец подписки. Для начала я рекомендую подписаться на следующие блоги:
- http://jeremiahgrossman.blogspot.com/
Блог Джереми Гроссмана — основателя WhiteHat Security и Web Application Security Consortium. Человек имеет предельно ясный взгляд на веб-безопасность, особенно на организационную составляющую этой области. Чтение его блога прекрасно упорядочивает и структурирует имеющиеся в голове сведения по ИБ. Кроме того, в его блоге периодически публикуются новые типы уязвимостей и новые методы эксплуатации известных недостатков веб-технологий. - http://blog.andlabs.org/
Блог независимых исследователей в области веб-безопасности. В последнее время их интерес лежит в области HTML5, что особенно актуально. Их публикации чаще всего рассказывают о новых вариантах эксплуатации известных типов уязвимостей. Особого внимания заслуживают PoC инструменты их авторства: Imposter и Shell of the Future. - http://devteev.blogspot.com/
Автор блога, Дмитрий Евтеев, является одним из ведущих экспертов-практиков в области ИБ в России. В его блоге публикуются заметки об основных событиях в области ИБ в России, обсуждаются новые виды атак на известные уязвимости. Что особенно приятно, автор всегда охотно и развернуто отвечает в комментариях на вопросы своих читателей. - http://research.zscaler.com/
Блог компании ZScaler — одного из лидеров в области Cloud Security в Интернет. В блоге публикуются отчеты о новых тенденциях и способах распространения вредоносного программного обеспечения, предоставляется информация о способах монетизации вредоносной активности. Рекомендуется читать для того, чтобы хоть как-то начать понимать структуру криминального кибер-бизнеса. - http://websec.wordpress.com/
Блог независимого исследователя в области веб-безопасности из немецкого университета в Бохуме (Германия). Пишет в основном о вариантах эксплуатации веб-приложений в инфраструктуре LAMP (Linux + Apache + MySQL + PHP). Знаменит серией публикаций «Exploiting hard filtered SQL Injections» [часть 1, часть 2, часть 3].
Кроме того, обязательно надо подписаться на рассылку Web Application Security Consortium. В рассылке можно найти как важные объявления (релизы продуктов, отчетов и статей, объявления конференций и т.п.), так и познавательные обсуждения.
Плюс ссылки на справочники — где искать, что означает тот или иной новый термин:
- Open Web Application Security Project (OWASP);
- Web Application Security Consortium (WASC);
- Common Weakness Enumeration (CWE).
Буду рад услышать feedback und дополнения.
вставлю свои 5 копеек :)
Theoretical Track.
OWASP: http://www.owasp.org/
WASC: http://www.webappsec.org/
подписки из отечественных:
Raz0r http://raz0r.name/
Qwazar http://qwazar.ru/
D0znp http://oxod.ru/
Defec http://www.defec.ru/
из зарубежных:
http://ha.ckers.org/blog
http://sla.ckers.org/forum/
Ага, принято, спасибо.
Только, к сожалению, новичку нельзя просто дать ссылки на OWASP и WASC – он не сможет самостоятельно отделить базовые статьи от продвинутых. Это все равно, что дать ссылку на google :) Может, у тебя есть конкретный набор статей с этих ресурсов, которые ты рекомендуешь?
p.s. А как ты на слакерсы подписан – через RSS или просто периодически заходишь проверять?
Я вот с радостью бы пошёл в универ, если бы там где-нибудь был факультет веб-безопасности, а пока спасибо за статью)
Наздоровье!
Приходите к нам на спец семинар на ВМиК )
Благодарю за ваши труды! Я недавно интересуюсь ИБ, и ваш сайт мне очень помог именно со структуризацией информации, и еще много чем. А так же отдельная благодарность за семинары. Очень приятно осознавать что есть такие люди!!!
И вам спасибо за добрый отзыв!
Андрей, чтобы вы могли посоветовать начинающим веб-пентестерам сегодня? Не могли бы актуализировать статью с учетом прошедших 5 лет?
Да, без проблем. Вот какой документ-методичку я выдаю нашим новым студентам:
Чтение книг
Должно проходить каждый день, на бекграунде независимо от других активностей. 50 страниц в день — хороший прогресс.
1. The Tangled Web
2. The Web Application Hackers’ Handbook, 2nd Edition
3. The Browser’s Hackers’ Handbook
4. Practical Reverse Engineering
Развитие практических навыков
Примечание: все делается руками из под браузера и Burp Suite.
Пройти максимальное количество лабораторий на https://www.hacking-lab.com/index.html.
Пройти все задания на http://escape.alf.nu/.
Пройти все задания на http://mytestinghostlol.altervista.org/SQLi/.
Пройти как можно больше заданий на https://hack.me/, среди них обязательно вот эти: https://hack.me/t/XML.
Пройти как можно больше заданий на https://www.mysterytwisterc3.org/en/, среди них взять обязательно задания на padding.
Пройти как можно больше wargame’ов на http://overthewire.org/wargames/ , идя по упорядоченному уровню сложности написанному на главной странице
Пройти http://pwnable.kr
Пройти как можно больше на http://crackmes.de
Пройти все на http://cryptopals.com/
Чтение блогов и теории
Как работает браузер: http://taligarsiel.com/Projects/howbrowserswork1.htm
Познать OAuth и баги, с ним связанные:
http://webstersprodigy.net/2013/05/09/common-oauth-issue-you-can-use-to-take-over-accounts/
http://homakov.blogspot.ru/2014/01/token-fixation-in-paypal.html
Познать хардкорные виды XSS: DOM-based XSS и mXSS:
http://html5sec.org/
https://code.google.com/p/mustache-security/
https://ben-stock.de/2013/09/summary-of-our-ccs-paper-on-dom-based-xss/
http://goo.gl/JST0Fj
http://www.rafayhackingarticles.net/2014/03/a-tale-of-dom-based-xss-in-paypal.html
Нажмите для доступа к fp170.pdf
Познать XML-атаки и SSRF
Нажмите для доступа к XMLDTDEntityAttacks.pdf
https://docs.google.com/document/d/1v1TkWZtrhzRLy0bYXBcdLUedXGb9njTNIJXa3u9akHM/edit
http://sensepost.com/blog/10178.html
Почитать различные Case Study:
http://habrahabr.ru/post/234331/
Любителям реверсинга
Нажмите для доступа к Glibc_Adventures-The_Forgotten_Chunks.pdf
Что дальше?
Участвовать в Bug Bounty. Вот хороший хаб — https://hackerone.com/.
Актуальный список Bug Bounty еще есть вот тут: https://bugcrowd.com/list-of-bug-bounty-programs.
Спасибо за оперативный ответ! Приятно что блог живет и связь с автором не потеряна.
Наздоровье!
Скажите, Андрей!
Спасибо за пошаговую инструкцию для старта.
Возможно ли, на ваш взгляд, гуманитарию с пытливым умом освоить данную науку? С нуля. Для себя.
Анна, полагаю, нет ничего невозможного при должной мотивации. Придется только сначала прокачаться в ИТ-технологиях и уже потом переходить к ИБ.
Добрый день Андрей, скажите пожалуйста насколько актуален ваш документ-методичка на сегодняшний день, могли бы ли вы добавить или изменить что-то, или же подтвердите его актуальность, большое спасибо за ваш труд!
Добрый день, последняя версия выложена тут: https://docs.google.com/document/d/13zgZ_CRRHADwxf41mSSSuoJQLkMc67TXxpYLoW6lRak/
Но мне надо бы ее обновить, да. Думаю, руки дойдут на этой неделе.
Благодарю за ответ!
Буду ждать, если вам не трудно, будьте добры — запостите здесь как обновите :)
P.S. И еще один вопрос, у вас нигде нет упоминания о SQL_Injection, с чем это связано, это тема встретится на пути изучения предмета, или же есть другое объяснение?
В смысле нигде? В курсе молодого бойца? Про SQLi написано в Hacker’s Handbook, на сайтах с заданиями есть задания на SQLi.
Кроме того, феномен SQLi (особенно при наличии sqlmap) не так интересен (в том смысле, что он относительно прост в понимании) по сравнению с другими типами недостатков.
Да, просто нет в списке для молодого бойца, но я уже и сам понял, что надо сначала до конца разобрать, а потом спрашивать )
Спасибо и Удачи!
Доброго вечера! Может с началом нового учебного года обновите документ )?
Благодарю за ответ и ваш труд!
Да, надо бы обновить. Найду время и сделаю update
Благодарю!
Обновил по мере возможности…
Благодарю!