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

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

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
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.