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

Моя дочь спросила меня на днях, почему существует столько языков. Я сказал ей, что они похожи на инструменты, которые вы покупаете в хозяйственном магазине - есть инструмент для каждой работы, и множество инструментов, которые вы можете использовать для той же работы. Конечно, вы могли бы перевернуть отвертку и забить гвоздь очень плохо, и вы бы технически справились с работой, но использовать молоток было бы намного менее глупо. Хорошо, к списку.

1. Python

Python уже несколько лет находится на передовой. Это язык сценариев общего назначения на стороне сервера (то есть его не нужно компилировать), который использовался в тысячах проектов безопасности. Большинство инструментов безопасности и PoC, которые вы найдете, написаны на Python, и на то есть веские причины: их очень легко подобрать и использовать. Не говоря уже о том, что каждый день разрабатывается множество замечательных модулей, которые помогут вам решить практически любую проблему. Даже если вы не планируете его использовать, вы можете научиться читать / изменять скрипты с помощью Python. Скорее всего, вы в какой-то момент так и сделаете.

2. Javascript

Все ненавидят javascript. Я использую его каждый день, и мне это нравится ненавидеть. Но нет ничего, что выполняло бы ту же работу и пользовалось бы такой же популярностью у разработчиков. В этом и суть. Его поддерживают все основные браузеры, и почти каждый веб-разработчик использует его. Если вы собираетесь проводить пентестинг веб-приложений, охоту за ошибками или что-то еще, незнание javascript повредит вашей способности хорошо выполнять свою работу. Межсайтовый скриптинг (XSS) - одна из самых распространенных уязвимостей в Интернете, и знаете что? В первую очередь это атака на основе JavaScript.

3. Powershell

Я просто немного заткнул рот, извини. Я не большой поклонник Windows, и большинство из нас больше не им, но это не меняет того факта, что Windows будет лидером на долгие годы. Банки будут использовать Windows XP до тех пор, пока колеса не упадут, а федеральное правительство будет использовать Windows (обычно не XP ..) во всех своих отделах. Так что же PowerShell может для вас сделать? Все, кроме слез с глаз. Это электростанция для постэксплуатации компьютера с Windows и может делать некоторые интересные вещи, например сбрасывать электронные письма пользователей ADFS и помогать с повышением привилегий пользователей.

4. Язык ассемблера

Это не для всех. Буквально, вам не обязательно всем это использовать. Но любой список безопасности был бы неполным без упоминания обратного инжиниринга. Есть несколько замечательных инструментов, помогающих с RE, например IDA и Ghidra, но некоторая сборка все еще требуется. Простите за каламбур и посмотрите на ассемблер, если вас интересуют вредоносные программы и RE.

5. Рубин

Да, я сказал это. Рубин. А теперь сразись со мной. Некоторые из самых мощных инструментов безопасности написаны на Ruby (когда-либо использовались metasploit?), И не зря: он очень похож на Python, очень прост в использовании и пользуется огромной поддержкой сообщества. Не говоря уже о том, что между безопасностью и разработкой приложений есть отличное совпадение, если вам когда-нибудь понадобится побочная работа. Это последнее место было трудно заполнить, поэтому позвольте мне рассказать о некоторых, которые не вошли в список.

Почетные упоминания

  1. Golang / Go: мощный язык, который компилируется в стабильный, сверхбыстрый исполняемый файл, совместимый с разными платформами. Такие инструменты, как GoPhish, написаны на Go.
  2. C (не C ++): проверенный и верный стандарт. Я почти поместил это в список RE, потому что знание C уверенно повысит ваше мастерство с RE и вредоносными программами.

3. HTML и CSS: это НЕ языки программирования, но я мог бы войти в список вместе с Javascript, если бы я не был слишком смущен, чтобы включить их. Знание того, как их использовать правильно и ненадлежащим образом, поможет при тестировании веб-приложений на проникновение.