Я руковожу сервисом по оказанию услуг тестирования на проникновения, поэтому пентеста реальных системы было очень много, и много разного кода приходилось вычитывать, поэтому OSWE подошла идеально. OSWE экзамен — это такой white-box пентестинг.
Я брал минимальный пакет на 30 дней, хотя через 2 недели уже экзамен сдавал. Не скажу, что материал AWAE супер сложный, но новые практики действительно там нашел.
Впечатления не было, что без особой подготовки можно с этим справиться. OSCP не сдавал, но слышал, что он однозначно полегче будет.
Посоветовал бы почитать OWASP Testing Guide, где около сотни тест-кейсов прописано. По сертификациям можно посмотреть в сторону CEH, OSCP. Кину интересную диаграмму, которая показывает сертификаты по безопасности:
Потому что задания были полностью выполнены. В обоих системах система аутентификации была обойдена, на оба сервера был получен реверс шел, через который секретный ключ в файловой системе был найден.
Они не говорят в конце, сколько баллов по итогу. Но ты сам всегда понимаешь, сколько набрал.
Почему? В правилах такого не было, сделал все локально.
Попробовал. Но понял, что это займет очень много времени через VPN, который при большом трафике и так сбоил.
Если нужно отладить лайв HTTPS трафик (а не постфактум), то нужно на уровень выше забраться по OSI стеку и организовать MITM с двумя криптоваными каналами. Это практически все проксики умеют. Я обычно пользуюсь ZapProxy (бесплатный) или Burp (платный). Главное, рутовый сертификат вручную поставить на клиентскую машину, чтобы браузеры или софт смогли доверять подложенному сертификату.
Небольшой комментарий добавлю.
C HMAC тоже не все так просто. Чтобы во время передачи сообщений гарантировать целостность, и чтобы одно и тоже сообщение не получило одинаковую цифровую подпись — алгоритм немного усложняется: к сообщению добавляется что-то вроде сальта или ключа, затем все это прогоняется через хеширование и затем криптуется.
Простите, я говорил в контексте SSL, а именно о HMAC алгоритме, который он использует, с высчитыванием хеша и затем его шифрованием.
Есть другие алгоритмы, например:
CBC-MAC — когда сообщение шифруется симметричным ключом, затем берется последний блок, который и будет являтся подписью
СМАС — это аналог CBC-MAC, только с более сложной математикой и математическими функциями
В ассиметричном шировании есть такое понятие как trapdoor permutation, которое означает:
Если сообщение зашифровано публичным ключом, его можно расшировать приватным
Если сообщение зашифровано приватным ключом, его можно расшировать публичным
С математической точки зрения соотношение это возможно — например, для RSA ключи связаны по формуле 1=E*D(mod phi(N)). Поэтому без разницы какой ключ берётся для шифрования.
Но приватный и публичный ключи не взаимозаменямы по своей природе. Если брать все тот же RSA, публичный ключ даже по размеру меньше приватного, потому что приватный включает дополнительные математические переменные. И рассчитываются ключи математически по разному.
Почему популярно утверждение, что «приватным ключом данные шифровать нельзя». Потому что совсем нет смысла шифровать данные, если у всех есть публичный ключ для расшировки.
Поэтому шифрование приватным ключом используется обычно только для генерации цифровой подписи, которая представляет собой снятие хеша и его шифрование. Публичным ключом можно расшировать подпись и получить хеш, который потом можно сравнить с хешем, который высчитал сам.
По поводу второго вопроса. Действительно не стоит ассоциировать ассиметричное шифрование только с RSA. Ниже пару примеров популярных алгоритмов, и для каких задач они предназначены:
RSA: Encryption, Digital Signature, Key Distribution
ECC: Encryption, Digital Signature, Key Distribution
Diffie-Hellman: Key Distribution
EI Gamal: Encryption, Digital Signature, Key Distribution
DSA: Digital Signature
Knapsack: Encryption, Digital Signature, Key Distribution
Если брать тот же DSA, который поддерживает только цифровую подпись, это не значит, что он шифровать не умеет. Все эти алгоритмы построены на шифровании.
Это значит, что он не предназначен для защиты данных, его основное назначение гарантия надёжности цифровой подписи.
В целом говоря, первый ассиметричный алгоритм Diffie-Hellman был придуман людьми Whitfield Diffie и Martin Hellman, которые первыми попытались решить вопрос безопасного обмена симметричного ключа. Подход, описанный в статье, стоило бы отнести в первую очередь к ним. Алгоритмы усложняются и меняются, но базовые методологические основы остаются теми же.
Я брал минимальный пакет на 30 дней, хотя через 2 недели уже экзамен сдавал. Не скажу, что материал AWAE супер сложный, но новые практики действительно там нашел.
Впечатления не было, что без особой подготовки можно с этим справиться. OSCP не сдавал, но слышал, что он однозначно полегче будет.
Потому что задания были полностью выполнены. В обоих системах система аутентификации была обойдена, на оба сервера был получен реверс шел, через который секретный ключ в файловой системе был найден.
Они не говорят в конце, сколько баллов по итогу. Но ты сам всегда понимаешь, сколько набрал.
Попробовал. Но понял, что это займет очень много времени через VPN, который при большом трафике и так сбоил.
C HMAC тоже не все так просто. Чтобы во время передачи сообщений гарантировать целостность, и чтобы одно и тоже сообщение не получило одинаковую цифровую подпись — алгоритм немного усложняется: к сообщению добавляется что-то вроде сальта или ключа, затем все это прогоняется через хеширование и затем криптуется.
Есть другие алгоритмы, например:
CBC-MAC — когда сообщение шифруется симметричным ключом, затем берется последний блок, который и будет являтся подписью
СМАС — это аналог CBC-MAC, только с более сложной математикой и математическими функциями
С математической точки зрения соотношение это возможно — например, для RSA ключи связаны по формуле 1=E*D(mod phi(N)). Поэтому без разницы какой ключ берётся для шифрования.
Но приватный и публичный ключи не взаимозаменямы по своей природе. Если брать все тот же RSA, публичный ключ даже по размеру меньше приватного, потому что приватный включает дополнительные математические переменные. И рассчитываются ключи математически по разному.
Почему популярно утверждение, что «приватным ключом данные шифровать нельзя». Потому что совсем нет смысла шифровать данные, если у всех есть публичный ключ для расшировки.
Поэтому шифрование приватным ключом используется обычно только для генерации цифровой подписи, которая представляет собой снятие хеша и его шифрование. Публичным ключом можно расшировать подпись и получить хеш, который потом можно сравнить с хешем, который высчитал сам.
По поводу второго вопроса. Действительно не стоит ассоциировать ассиметричное шифрование только с RSA. Ниже пару примеров популярных алгоритмов, и для каких задач они предназначены:
Если брать тот же DSA, который поддерживает только цифровую подпись, это не значит, что он шифровать не умеет. Все эти алгоритмы построены на шифровании.
Это значит, что он не предназначен для защиты данных, его основное назначение гарантия надёжности цифровой подписи.
В целом говоря, первый ассиметричный алгоритм Diffie-Hellman был придуман людьми Whitfield Diffie и Martin Hellman, которые первыми попытались решить вопрос безопасного обмена симметричного ключа. Подход, описанный в статье, стоило бы отнести в первую очередь к ним. Алгоритмы усложняются и меняются, но базовые методологические основы остаются теми же.