Курс
Программирование на Python для пентестеров (Python Programming For Penetration Testing)

Цели модуля: познакомить слушателей с конструкциями языка, обучение ими пользоваться, аспекты связанные непосредственно с испытаниями на проникновение. В качестве артефактов у участников курса останутся инструменты работы с сетевым стеком и файловой системой ОС через Python, скрипты автоматизации имитации атак на прикладные протоколы приложений

Записаться на обучение

Код курса

R-218

Аудитория курса:

Начинающие специалисты по тестированию на проникновение

Аудиторы

ИТ-специалисты с опытом работы в разработке, администрировании и поддержке ИТ-систем

Что узнают слушатели:

Базовые знания синтаксиса python

Как программный код взаимодействует с операционной системой, файловой системой и сетевым стеком

Как применять Python3 для автоматизации сбора данных с веб-страниц и приложений

Чему научатся слушатели:

Программировать на Python простые скрипты и приложения работы с файловой системой и сетевым стеком

Работа с протоколами, парсингом, многопоточностью, многопроцессностью

Применять Python3 для автоматизации работы исследования безопасности и проведения тестов на проникновение

Программа обучения

12 занятий

48 ак. часов

Введение в ЯП Python и окружение

Базовые знания синтаксиса python. Среда разработки PyCharm. Написание простейших программ с использованием циклов и ветвления


Содержание:

  • Введение в курс
  • Теория
    • История языка
    • Принцип работы интерпретатора
  • Начало работы с языком python
    • Режим интерпретатора
    • Установка PyCharm
    • Создание проекта
    • Виды переменных в python
  • Функции в python
    • Операторы, ввод/вывод
  • Ветвление, if/else
    • Тип данных bool
    • Логические операторы
    • Неявное приведение к типу bool
  • Циклы
    • while
    • else для цикла
    • Оператор break

Упражнения:

  • Решение базовых задач на языке python
Структуры данных и работа с ними

Структуры данных в python, написание программ с использованием списков и строк


Содержание:

  • Цикл for
    • Функция range()
    • break, else и continue
  • Строки
    • Срезы
    • Отрицательные индексы
    • Методы строк
  • Форматированный вывод
    • Знак %
    • Новый способ форматирования
  • Списки
    • Методы списков
    • Оператор in
    • Списки и ссылки
    • Генерация списков
    • ВЛоженные списки

Упражнения:

  • Решение популярных кейсов, связанных с структурами данных в python
Работа с файловой системой и обработка ошибок

Работа с кортежами и словарями, с функциями в python


Содержание:

  • Кортежи
  • Словари
    • Методы словарей
  • Debug режим в PyCharm
  • Функция zip
  • Множества
    • Операции над множествами
    • Методы множеств
    • Frozenset
  • Модуль Collections
  • Функции
    • return
    • Позиционные и именованные аргументы
    • Произвольное кол-во параметров
    • Подстановка аргументов

Упражнения:

  • Решение задач на обработку данных
Функции и magic-методы

Основы функционального программирования в python, работа с функциями высшего порядка и лямбда-выражениями


Содержание:

  • Функция как объект
    • Атрибуты объекта функции
  • Область видимости
  • Сортировка и ключевые функции
  • Лямбда-функции
  • Функции высшего порядка
  • Лямбда-функции в циклах

Упражнения:

  • Решение задач на функциональное программирование
Работа с окружением ОС

Вызов shell-команд из кода python, регулярные выражения


Содержание:

  • Простой запуск команды
  • subprocess
    • call()
    • check_output()
    • run()
    • popen()
  • Считывание аргументов командной строки
  • Введение в регулярные выражения

Упражнения:

  • Написание полоценной консольной утилиты, меняющей mac-адрес сетевой карты
"Парсинг" веб-страниц

Выполнение HTTP-запросов в python, модули urllib, requests. Парсинг веб-страницы с помощью bs4


Содержание:

  • HTTP-запросы в python
    • GET
    • POST
    • requests
  • Парсинг веб-страницы
    • find и findall

Упражнения:

  • Написание простейших утилит для сетевого взаимодействия
  • Написание парсера HTML
Работа с сокетами
Сетевое взаимодействие: Взаимодействие с протоколами I
Сетевое взаимодействие: Взаимодействие с протоколами II
Scapy и сетевое сканирование
Сетевые атаки
Дополнительные инструменты задач тестирования на проникновение
Записаться на обучение

Как проходит обучение

  • Иммерсивный подход
  • Фокус на практике. Более 70% времени обучения вы уделите развитию практических навыков.

  • Никаких записей с прошлых потоков
  • Обновляем контент перед каждым запуском курса, снимая актуальные запросы с рынка и ориентируемся на них, создавая программы обучения.

  • Эксперты — реальные практики
  • Наши преподаватели проходят тестирование на соответствие требованиям CyberEd. Мы приглашаем лучших экспертов — практиков, которые каждый день сталкиваются с реальными задачами и решают их.

  • Требования к слушателям курса:
    • Знать основы сетевого взаимодействия между узлами сети
    • Уметь работать с ОС Linux или ОС Windows на уровне продвинутого пользователя (Установка пакетов, работа с терминальной оболочкой, менеджмент прав доступа)
    • Уметь работать с системами виртуализации (VirtualBox, VMWare)
    • Уметь читать специализированную документацию и техническую литературу на английском языке
    01   / 05

    Записаться на обучение

    !
    !

    FAQ — ответы на частозадаваемые вопросы

    Требования к программному обеспечению?

    Рекомендуемые технические требования

    для комфортного прохождения модуля и сохранения всех полученных материалов:

    • Не менее 16 ГБ оперативной памяти
    • Процессор не менее четырех ядер с частотой не менее 2.3 Ггц
    • Жесткий диск SSD со свободным местом не менее 250 ГБ
    • Поддержка аппаратной виртуализации (Intel VT-x, AMD-V)
    • Дополнительный — второй монитор (Диагональ от 17 дюймов, разрешением от 1280×720p c частотой обновления от 60 Гц)
    • Современная операционная система (Минимально: Windows 10 x64, Linux, MacOS 10.13.6)

    Все ответы

    Получить консультацию
    !
    !

    Спасибо,
    менеджер свяжеться с вами в ближайшее время

    Спасибо,
    за регистрацию на вебинар

    Заказать обратный звонок

    !
    Заполните это поле
    !
    Заполните это поле