«Основы тестирования на проникновение» | Что такое тестирование на проникновение? Каковы некоторые распространенные методы? Как действовать? Каковы инструменты тестирования? Каковы преимущества?
«Основы тестирования на проникновение» | Что такое тестирование на проникновение? Каковы некоторые распространенные методы? Как действовать? Каковы инструменты тестирования? Каковы преимущества?

Теоретические базовые знания в этой статье взяты из статьи «Полномасштабное развитие технологий и практика для инженеров-тестировщиков» и предназначены только для учебных целей, а не для других целей. Спасибо автору оригинала за то, что поделился своими знаниями. В этой статье систематизировано и отсортировано теоретическое содержание тестирования на проникновение из книг, Интернета и т. д. с целью понимания и изучения основ тестирования на проникновение. Она не содержит реальных демонстраций и предназначена только для учебных целей.

1 Что такое тестирование на проникновение?

  • Тестирование на проникновение Относится к профессиональным сотрудникам службы безопасности.симулировать хакера,может существовать из системыМестоположение уязвимости для тестирования атаки,Найдите скрытые дыры в безопасности,Для достижения цели защиты безопасности системы;
  • В книге есть очень хороший пример:

Программная система сравнивается с домом. После того, как дом будет построен, он будет оборудован некоторыми средствами безопасности, такими как защитные двери, охранная сигнализация и т. д. В целом мы считаем, что это достаточно безопасно, но мы не очень уверены в том, как злоумышленники будут использовать уязвимости для атаки на наши линии безопасности.

Чтобы обеспечить достаточную безопасность дома, мы наймем внешних экспертов по безопасности для проведения ряда тестов, таких как проверка прочности противоугонной двери, легкости проникновения в окна и т. д., чтобы выяснить, в доме имеются лазейки и обеспечивают безопасность дома.

  • Из приведенного выше примера мы видим:

Процесс проверки безопасности дома внешним экспертом по безопасности представляет собой процесс проверки дома на проникновение. Дом — это наша программная система, а ряд мер, принимаемых для проверки безопасности дома, — это тесты на проникновение в систему безопасности.

  • Этот пример очень хороший, простой для понимания и простой для понимания, что такое Тестирование на проникновение.

2 Какие методы обычно используются?

  • О Тестирование на проникновение Распространенные методы,В книге упомянуто несколько методов.,Они есть:

2.1 Целевое тестирование

  • Целевое тестирование собственными сотрудниками и профессионалами Тестирование на Выполнено командой проникновение;
  • Тестирование проводится собственными сотрудниками безопасности требуется базовая информация и ответственность за Тестирование на бизнес-уровне. безопасности;
  • главный Тестирование на проникновениекомандасосредоточиться Тестирование более общее, чем бизнес безопасности;
  • Целевое Обновления относятся к уровню исследований и разработок Тестирование на проникновение;
  • Люди, участвующие в этом типе тестирования,Внутренние данные тестируемой системы можно получить(Информация о развертывании、сетевая информация、Детальный архитектурный проект、Код продукта и т. д.);
  • Этот метод также называется «проверкой включения света» и проводится при условии, что тестер полностью понимает внутренние условия системы.

2.2 Внешнее тестирование

  • внешнее обновление при таргетинге на видимые извне серверы и устройства,имитировать внешнийЗлоумышленники атакуют его,Проверьте, могут ли они бытьВторжение
  • Серверы и оборудование здесь включают серверы доменных имен.、Webсервер、брандмауэр、почтовые серверы и т. д.;
  • еслиВторжениеуспех,встречаВторжениев системуизкакая часть,Сколько информации будет утекло и т.д.;
  • Зависит отвнутреннее обучающийся человек или профессионал Тестирование на Команда проникновения работала исходя из предположения, что они понятия не имеют, что происходит внутри системы.

2.3 Внутреннее тестирование

  • внутреннее тестированиеобратитесь к Зависит от Инженеры по тестированию имитируют внутренний персонал для проведения тестирования в интранете.атаковать,Изучите степень ущерба, который может нанести системе инсайдерская атака;
  • Тестировщики здесь должны иметь более высокие системные разрешения, а также иметь доступ к различной внутренней информации;
  • внутреннее тестирование Основная цель — запретить внутренним сотрудникам системы проводить внутренние операции в системе.атаковать

2.4 Слепой тест

  • Слепое тестирование подразумевает имитацию поведения реальных людей при условии строгого ограничения информации, предоставляемой человеку или команде, выполняющим тест;
  • Общие тестировщики подразумевают получение общедоступной информации о тестируемой системе;
  • Проведение такого типа тестирования может занять значительное время.Расследовать
  • Эффективность этого вида тестирования во многом зависит от профессионализма тестировщика.технический уровень
  • Слепой тест Зависит отглавный Тестирование на проникновениекомандав тестированииболее поздняя стадиявыполнять;
  • Как правило, требуется множество инструментов атаки.

2.5 Двойной слепой тест

  • Двойное слепое тестирование также называют «скрытым тестированием»;
  • Тестировщикам мало что известно о внутренней части системы, и лишь несколько человек внутри тестируемой системы знают, что Тестирование безопасности продолжается;
  • Двойное слепое тестирование может отразить наиболее реалистичный статус безопасности программной системы;
  • Обычно сторонними специалистами Тестирование на Выполнено командой экспертов.

3 Как проводить тестирование на проникновение?

3.1 Планирование и расследование

  • Определить объем и цели тестирования;
  • Первоначальное определение инструментов и методов, которые будут использоваться;
  • Уточнить разведывательную информацию, которую необходимо собрать (например, сетевые и доменные имена, почтовые серверы и т. д.);
  • В основном, чтобы понять, как работает цель и потенциальные уязвимости безопасности.

3.2 Проверка безопасности

  • Статический анализ: в основном сканируются все коды.,Некоторые инструменты доступны,напримерFortify SCACheckmarx 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 Некоторые команды

Язык кода:python
кодКоличество запусков:0
копировать
# Ниже приведены примеры из некоторых официальных документов.
# сканирование Хозяин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 Основной метод сканирования

Язык кода:python
кодКоличество запусков:0
копировать
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

Набор

иллюстрировать

aircrack-ng

трескатьсяWEPа такжеWPA(словарьатаковать)ключ

airdecap-ng

проходитьизвестныйключрасшифроватьWEPилиWPAнюхать данные

airmon-ng

Установите сетевую карту в режим прослушивания

aireplay-ng

Инструмент для внедрения пакетов(LinuxиWindowsиспользоватьCommViewводитель)

airodump-ng

Обнюхивание пакетов:Отправка данных беспроводной сети наPCAPилиIVSфайл и отображениесетевая информация

airtun-ng

Создать виртуальный конвейер

airolib-ng

держать、управлятьESSIDсписок паролей

packetforge-ng

Создайте зашифрованный пакет для внедрения пакетов.

Tools

Инструменты для смешивания и преобразования

airbase-ng

программное обеспечениемоделированиеAP

airdecloak-ng

устранятьpcapв файлеWEPшифрование

airdriver-ng

Инструмент управления драйверами беспроводных устройств

airolib-ng

держать、управлятьESSIDсписок паролей,Рассчитать соответствующий ключ

airserv-ng

Разрешить различным процессам доступ к беспроводной сетевой карте

buddy-ng

easside-ngописание файла

easside-ng

иAPточка доступа для связи(никтоWEP

tkiptun-ng

WPA/TKIPатаковать

wesside-ng

автоматическийтрескаться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 Некоторые команды

Язык кода:python
кодКоличество запусков:0
копировать
# Определить, есть ли инъекция
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 с эссе, получившими награды. Приходите и разделите приз со мной!

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose