Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Вся информация, приведенная в статье, собрана автором во время прохождения лаборатории OSCP и машин с HTB. При реальном пентесте многие вещи могут работать иначе, и это стоит обязательно учитывать! Если ты слышишь о OSCP впервые, просто прочитай статью о самом популярном экзамене.
Типичный процесс исследования любой машины разделен на несколько этапов.
Пройдемся по ним, чтобы понять, как эффективнее действовать на каждом.
Первое, что тебе необходимо сделать, — это привести исследуемую машину в исходное состояние. Для этого во всех сервисах есть опция Revert или Reset. Собирать информацию, не вернув машину в исходное состояние, не стоит: там могут не найтись нужные файлы или в общедоступной папке на FTP уже может лежать готовый эксплоит, что испортит тебе все удовольствие и возможность получить опыт.
Что еще хуже, некоторые эксплоиты вроде переполнения буфера могут сработать ровно один раз, и, сканируя такую машину, ты просто не найдешь нужный сервис. Поэтому всегда возвращаем машину в исходное состояние! В HTB стараются не делать таких сервисов, но там тоже можно проголосовать за Revert или перезапустить машину самому, если у тебя есть статус VIP.
Споры о правильных способах сканирования портов не утихают никогда. Существует много разных скриптов вроде Autorecon, nmapAutomator, они очень полезные, но я не рекомендую начинать с них. Почему? Всегда лучше понять, как работает та или иная утилита, а не слепо полагаться на нее. Поэтому лучше скачай их и посмотри исходный код, а мы будем использовать старый добрый Nmap.
Для начала можно пройтись быстрым сканированием популярных портов:
Если вдруг Nmap возвращает ошибку о недоступности хоста, попробуй опцию -Pn. Пока ты размышляешь над полученной информацией, можно запустить полное сканирование всех TCP-портов.
Не забудь, существуют еще порты UDP! Командную строку для их сканирования я оставлю тебе в качестве домашнего задания.
Помни: даже некоторые лабораторные машины могут иметь защиту от сканирования. Если вдруг в середине сканирования все внезапно прервалось или зависло, поиграй с опциями Nmap. Например, увеличь время между пробами портов и уменьши количество одновременных проб.
В результате всех этих действий у тебя будет информация о доступных на машине портах.
Не бросайся сразу же искать эксплоит для VMware или Samba! Ты совершишь самую большую ошибку и рискуешь попасть в так называемые кроличьи норы (Rabbit Holes). Тупиковые места, которых страшно боятся все на экзамене OSCP: ты можешь потратить часы в попытках сломать, например, WordPress и в конце не добиться результата, поскольку уязвимость была в другом сервисе, но ты до него просто не дошел.
Твоя задача — собрать весь список открытых портов и возможных сервисов, которые работают за ними. После этого переходим к дальнейшему сбору информации.
Как улучшить свои навыки сканирования? Читай райтапы, смотри, какие в них используются инструменты, и пополняй свою копилку. Рекомендую завести отдельный репозиторий с документами и там планомерно создавать собственную методику. У меня в разделе «сканирование портов» сейчас около десятка разных способов сканирования (Nmap, masscan, скрипты и другие).
Особо обрати внимание на любые порты, которые Nmap не смог однозначно идентифицировать. Также — порты, о которых ты не знал раньше, и на привычные вещи вроде веб‑серверов и FTP на нестандартных портах вроде 9000, 5000 и других. Обычно это перспективные с точки зрения эксплуатации сервисы, которые просто хотели спрятать от быстрого сканирования. Именно поэтому я рекомендую всегда проводить полное сканирование всех портов TCP и быстрое — базовых UDP. Мне встречались машины, где уязвимый сервис был спрятан в UDP.
В этом разделе я приведу примеры нескольких популярных портов и расскажу, на что обязательно стоит обращать внимание при исследовании каждого.
Мне очень нравится проверять информацию о любых, особенно неизвестных портах на сайте speedguide.net. На экзамене это даже помогло мне взять одну из машин!
Как видно, порт 21 обычно отвечает за FTP, но за ним может находиться любой из известных тебе FTP-сервисов, а может и не FTP вообще. Вдруг какой‑то хитрый админ перевесил туда SSH. Поэтому первое, что я всегда делаю, — пробую подключиться к сервису с помощью netcat.
Чаще всего тебя встретит баннер FTP-сервера, вроде такого.
Но если увидишь там ответ SSH или иного сервиса, просто запиши это и переходи к соответствующему разделу, чтобы понять, что еще оттуда можно добыть!
На что следует обратить внимание при исследовании FTP:
В сети есть множество программ, которые пытаются эвристически определить версию FTP-сервера, можешь использовать их.
put
. Но помни, иногда сервер дает право записи, но не удаления! Не клади туда ничего ценного, лабораторные машины доступны всем.$ nmap --script ftp-* -p21 x.x.x.x
Нашлись возможные уязвимости? Отлично! Запиши их себе, но не бросайся сразу же пробовать! У нас еще столько непроверенных портов. Ты же не хочешь попасть в кроличью нору? Но если больше ничего не нашлось — тоже не беда! В разделе «Поиск уязвимостей» я расскажу, где еще их можно поискать.
Вот небольшой список того, что мне встречалось на FTP в лабораториях и HTB.
|
|