Теоретические базовые знания в этой статье взяты из статьи «Полномасштабное развитие технологий и практика для инженеров-тестировщиков» и предназначены только для учебных целей, а не для других целей. Спасибо автору оригинала за то, что поделился своими знаниями.
В этой статье систематизировано и отсортировано теоретическое содержание тестирования на проникновение из книг, Интернета и т. д. с целью понимания и изучения основ тестирования на проникновение. Она не содержит реальных демонстраций и предназначена только для учебных целей.
1 Что такое тестирование на проникновение?
- Тестирование на проникновение Относится к профессиональным сотрудникам службы безопасности.
симулировать хакера
,может существовать из системыМестоположение уязвимости для тестирования атаки
,Найдите скрытые дыры в безопасности,Для достижения цели защиты безопасности системы; - В книге есть очень хороший пример:
Программная система сравнивается с домом. После того, как дом будет построен, он будет оборудован некоторыми средствами безопасности, такими как защитные двери, охранная сигнализация и т. д. В целом мы считаем, что это достаточно безопасно, но мы не очень уверены в том, как злоумышленники будут использовать уязвимости для атаки на наши линии безопасности.
Чтобы обеспечить достаточную безопасность дома, мы наймем внешних экспертов по безопасности для проведения ряда тестов, таких как проверка прочности противоугонной двери, легкости проникновения в окна и т. д., чтобы выяснить, в доме имеются лазейки и обеспечивают безопасность дома.
- Из приведенного выше примера мы видим:
Процесс проверки безопасности дома внешним экспертом по безопасности представляет собой процесс проверки дома на проникновение. Дом — это наша программная система, а ряд мер, принимаемых для проверки безопасности дома, — это тесты на проникновение в систему безопасности.
- Этот пример очень хороший, простой для понимания и простой для понимания, что такое Тестирование на проникновение.
2 Какие методы обычно используются?
- О Тестирование на проникновение Распространенные методы,В книге упомянуто несколько методов.,Они есть:
2.1 Целевое тестирование
- Целевое тестирование собственными сотрудниками и профессионалами Тестирование на Выполнено командой проникновение;
- Тестирование проводится собственными сотрудниками безопасности требуется базовая информация и ответственность за Тестирование на бизнес-уровне. безопасности;
- главный Тестирование на проникновениекомандасосредоточиться Тестирование более общее, чем бизнес безопасности;
- Целевое Обновления относятся к уровню исследований и разработок Тестирование на проникновение;
- Люди, участвующие в этом типе тестирования,Внутренние данные тестируемой системы можно получить(Информация о развертывании、сетевая информация、Детальный архитектурный проект、Код продукта и т. д.);
- Этот метод также называется «проверкой включения света» и проводится при условии, что тестер полностью понимает внутренние условия системы.
2.2 Внешнее тестирование
- внешнее обновление при таргетинге на видимые извне серверы и устройства,имитировать внешний
Злоумышленники атакуют его
,Проверьте, могут ли они бытьВторжение
; - Серверы и оборудование здесь включают серверы доменных имен.、
Web
сервер、брандмауэр、почтовые серверы и т. д.; - если
Вторжение
успех,встречаВторжениев систему
изкакая часть,Сколько информации будет утекло и т.д.; - Зависит отвнутреннее обучающийся человек или профессионал Тестирование на Команда проникновения работала исходя из предположения, что они понятия не имеют, что происходит внутри системы.
2.3 Внутреннее тестирование
- внутреннее тестированиеобратитесь к Зависит от Инженеры по тестированию имитируют внутренний персонал для проведения тестирования в интранете.
атаковать
,Изучите степень ущерба, который может нанести системе инсайдерская атака; - Тестировщики здесь должны иметь более высокие системные разрешения, а также иметь доступ к различной внутренней информации;
- внутреннее тестирование Основная цель — запретить внутренним сотрудникам системы проводить внутренние операции в системе.
атаковать
。
2.4 Слепой тест
- Слепое тестирование подразумевает имитацию поведения реальных людей при условии строгого ограничения информации, предоставляемой человеку или команде, выполняющим тест;
- Общие тестировщики подразумевают получение общедоступной информации о тестируемой системе;
- Проведение такого типа тестирования может занять значительное время.
Расследовать
; - Эффективность этого вида тестирования во многом зависит от профессионализма тестировщика.
технический уровень
; - Слепой тест Зависит отглавный Тестирование на проникновениекомандав тестировании
более поздняя стадия
выполнять; - Как правило, требуется множество инструментов атаки.
2.5 Двойной слепой тест
- Двойное слепое тестирование также называют «скрытым тестированием»;
- Тестировщикам мало что известно о внутренней части системы, и лишь несколько человек внутри тестируемой системы знают, что Тестирование безопасности продолжается;
- Двойное слепое тестирование может отразить наиболее реалистичный статус безопасности программной системы;
- Обычно сторонними специалистами Тестирование на Выполнено командой экспертов.
3 Как проводить тестирование на проникновение?
3.1 Планирование и расследование
- Определить объем и цели тестирования;
- Первоначальное определение инструментов и методов, которые будут использоваться;
- Уточнить разведывательную информацию, которую необходимо собрать (например, сетевые и доменные имена, почтовые серверы и т. д.);
- В основном, чтобы понять, как работает цель и потенциальные уязвимости безопасности.
3.2 Проверка безопасности
- Статический анализ: в основном сканируются все коды.,Некоторые инструменты доступны,например
Fortify SCA
、Checkmarx Suite
; - Динамический анализ: проверка во время выполнения,Обеспечивает представление приложения во время выполнения в режиме реального времени.,Более точный, чем статический сканер.
3.3 Получение прав доступа
- Тестировщики будут моделировать хакеров для проведения сетевых атак на приложения (таких как внедрение SQL, атаки с использованием межсайтовых сценариев и т. д.);
- Используйте найденные уязвимости, чтобы понять, какой ущерб они наносят системе, повышая ваши разрешения, крадя данные, перехватывая трафик и т. д.
3.4 Сохранение прав доступа
- Посмотрите, могут ли обнаруженные уязвимости сохраняться в системе в течение длительного времени;
- Если уязвимость сохраняется, она может позволить злоумышленнику получить глубокий доступ к системе или скомпрометировать ее на длительный период времени.
3.5 Анализ вторжений
- Обобщите приведенные выше результаты анализа в подробный отчет об испытаниях;
- Необходимо отметить следующее:
1. Конкретные уязвимости, которые можно использовать;
2. Конкретные действия по эксплуатации уязвимости;
3. Конфиденциальные данные, к которым возможен доступ;
4. Время, в течение которого тестер проникновения может оставаться в системе, не будучи обнаруженным.
4. Какие инструменты тестирования на проникновение обычно используются?
4.1 Nmap
4.1.1 Введение
Nmap
это сетевой разъемсканированиепрограммное обеспечение,Терминал сетевого подключения, используемый для открытия подключенного к сети компьютера;- Определите, какие службы и на каких соединениях работают, и определите, какая операционная система работает на компьютере, чтобы оценить безопасность сетевой системы;
- Системные администраторы могут использовать
nmap
для обнаружения несанкционированного использования в рабочей средеиспользоватьизсервер,нодахакервстречаиспользоватьnmap
для сбора сетевых настроек целевого компьютера,таким образом планируйтеатаковать
метод。
4.1.2 Основные функции
- Определить, находится ли группа хостов в сети;
- Сканировать хост-порты и анализировать предоставляемые сетевые услуги;
- Определите операционную систему, используемую хостом.
4.1.3 Некоторые команды
# Ниже приведены примеры из некоторых официальных документов.
# сканирование Хозяинscanmeсередина Все зарезервированные TCP-порты
nmap -v scanme.
# секретSYNсканирование
nmap -sS -O
# Перечисление хостов и TCP
nmap -sV -p
# Случайным образом выберите, на 100 000 хостах работает веб-сервер (порт 80).
nmap -v -iR 100000 -P0 -p 80
4.1.4 Основной метод сканирования
TCP проверка порта Connect() (параметр -sT).
Проверка порта TCP-синхронизации (SYN) (параметр -sS).
Проверка UDP-порта (параметр -sU).
Пингсканирование (параметр -sP).
4.2 Aircrack-ng
4.2.1 Введение
Aircrack-ng
это802.11
стандартныйизникто Связанный с анализом линейной сетииз Безопасностьпрограммное обеспечение,Основные функции: обнаружение сети.,Обнюхивание пакетов,WEP
иВзлом WPA/WPA2-PSK
;Aircrack-ng
Работает на любой беспроводной сетевой карте, поддерживающей режим прослушивания и прослушивания.802.11a,802.11b,802.11g
данные;
4.2.2 пакет aircrack-ng
| |
---|
| трескатьсяWEP а такжеWPA (словарьатаковать)ключ |
| проходитьизвестныйключрасшифроватьWEP илиWPA нюхать данные |
| Установите сетевую карту в режим прослушивания |
| Инструмент для внедрения пакетов(Linux иWindows использоватьCommView водитель) |
| Обнюхивание пакетов:Отправка данных беспроводной сети наPCAP илиIVS файл и отображениесетевая информация |
| Создать виртуальный конвейер |
| держать、управлятьESSID список паролей |
| Создайте зашифрованный пакет для внедрения пакетов. |
| Инструменты для смешивания и преобразования |
| программное обеспечениемоделированиеAP |
| устранятьpcap в файлеWEP шифрование |
| Инструмент управления драйверами беспроводных устройств |
| держать、управлятьESSID список паролей,Рассчитать соответствующий ключ |
| Разрешить различным процессам доступ к беспроводной сетевой карте |
| |
| иAP точка доступа для связи(никтоWEP ) |
| |
| автоматическийтрескатьсяWEP ключ |
4.3 sqlmap
4.3.1 Введение
sqlmap
представляет собой автоматизированныйsql
инструмент для инъекций,Что Основные функциидасканирование、Откройте для себя и используйте данныеURL
изSQL
инъекционная уязвимость;- Существует множество встроенных плагинов обхода.,поддерживатьданные Библиотека имеет
MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase и SAP MaxDB
。
4.3.2 Режим инъекции
- Слепая инъекция на основе логического значения:
То есть условие внедрения может быть оценено как истинное или ложное на основе возвращенной страницы;
- Ставки вслепую на основе времени:
То есть вы не можете судить о какой-либо информации на основе содержимого, возвращаемого страницей. Вы можете использовать условные операторы, чтобы проверить, выполняется ли оператор задержки (то есть увеличивается ли время возврата страницы);
- На основе внедрения ошибок:
То есть страница вернет информацию об ошибке или вернет результат введенного оператора непосредственно на страницу;
- Внедрение запроса на объединение:
Можно использовать инъекции при объединении;
- Внедрение запроса к куче:
Внедрение нескольких операторов во время выполнения может выполняться одновременно.
4.3.3 Некоторые команды
# Определить, есть ли инъекция
sqlmap.py -u url
# Определить, есть ли в запросе вставка в тексте
sqlmap.py -r MM_test.txt
# Запросить все базы данных под текущим пользователем
sqlmap.py -u url --dbs
# Получить имя таблицы в базе данных
sqlmap.py -u url -D security --tables
# Получить имя поля в таблице
sqlmap.py -u url -D security -T users --columns
# Получить всех пользователей базы данных
sqlmap.py -u url --users
.......
4.4 Wifiphisher
Wifiphisher
да一个Безопасностьинструмент,Имеет быструю установку、автоматический化搭建изпреимущество,использовать它搭建起来из ФишингатаковатьWiFiПароли можно легко получитьи Чтоего сертификат;- В отличие от других (фишинг),Это атака социальной инженерии,не содержит никакихиз
Взлом грубой силой
,это упрощает доступ к порталуи Сторонняя страница входа в системуиз СертификатилиWPA/WPA2
изключ。
Введение в другие аспекты пока опущено и будет подробно объяснено позже.
4.5 AppScan
- Этот инструмент для каждого, кто занимается Тестирование на проникновение Для читателей,Следует использовать больше,Это очень мощно;
AppScan
дасеть Тестирование безопасностиинструмент,используется дляWEB
Безопасностьзащитаизсканированиезащита;- сканированиеустройствоизсканирование Генерация результатов
WAF
, напрямую защищать уязвимости веб-сайта; - Что касается других введений, таких как использование, мы обсудим это позже.
5 преимуществ тестирования на проникновение?
- проходить Тестирование на проникновение,Могут быть выявлены основные уязвимости,и срочно отремонтировать,Обеспечить безопасность системной среды;
- Поскольку лазейки в системе безопасности исключены, можно избежать и ненужных потерь.
Я участвую в четвертом выпуске специального учебного лагеря Tencent Technology Creation 2023 с эссе, получившими награды. Приходите и разделите приз со мной!