Вы хотите научиться взлому? 5 шагов к обучению тестированию на проникновение

Обязательный отказ от ответственности: только потому, что вы можете научиться это делать, не используйте это в незаконных целях; аналогично тому, как нельзя начинать избивать людей только потому, что вы посещаете уроки боевых искусств. Будьте благоразумны.

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

Кроме того, я считаю, что общие знания в области информационной и сетевой безопасности следует преподавать наряду с обычными курсами программирования в школе. Трудно разработать программное обеспечение, предотвращающее вторжение, если разработчик не знает, как могут произойти вторжения.

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

1. Начните ежедневно использовать Linux вместо Windows / Mac.

Обычно легче понять, как операционная система работает под капотом, когда вы какое-то время используете ОС на базе Linux, поскольку вместо этого вы часто будете сталкиваться с такими понятиями, как ядро, загрузчик, модель OSI и т. Д. мастеров и центров поддержки (хотя я могу быть предвзятым, что не обязательно верно для других).

Большинство серверов, доступных сегодня в Интернете, работают на Unix-подобных операционных системах, и очень часто стартапы и малые предприятия разрабатывают свои услуги для машин Linux.

Кроме того, многие инструменты и библиотеки поддерживают только системы Linux, так что в целом это удобнее.

Если вы никогда раньше не использовали систему Linux, попробуйте Ubuntu и найдите онлайн-курс (желательно бесплатный) по основам Linux, а затем еще один курс по основам системного администрирования Linux. Один из вариантов - сделать эти два:

2. Овладейте языком сценариев.

Да, это множественное число. :) Сценарии часто являются невероятно ценным инструментом. Мое предложение выучить Python (пока вы не освоитесь) и Bash (пока не научитесь). Некоторые материалы, которые я нашел полезными:

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

3. Читайте, читайте, читайте

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

Список для чтения, не требующий слишком глубоких знаний:

4. Зарегистрируйтесь и участвуйте в (легальных) хакерских соревнованиях.

Эти сайты предназначены для того, чтобы вы могли попробовать свои силы, и тот, кто сделает это первым, займет место в таблице лидеров. Интересный способ учиться. Некоторые распространенные сайты:

Вы научитесь новаторски находить способы взломать систему безопасности.

5. Идем дальше

Зарегистрируйте бесплатную учетную запись Amazon AWS и начните применять все меры безопасности, о которых вы слышали и о которых узнали, одновременно пытаясь использовать выученные методы для их обхода. Установите системы обнаружения вторжений, анализаторы логов, межсетевые экраны и т. Д. И разберитесь, как они работают:

Понять сеть

Изучите уровни OSI, узнайте, как работает TCP / IP, что такое NAT и как домашний маршрутизатор может разделять сетевой трафик. Установите дома дешевый компьютер с двумя сетевыми картами и узнайте, как настроить его для работы в качестве маршрутизатора. Изучите DNS и узнайте, как настроить собственную службу DNS на своем настраиваемом маршрутизаторе. Изучите iptables и настройте его на своем настраиваемом маршрутизаторе, чтобы блокировать входящий трафик на порты, которые вам не нужны, чтобы защитить вас от распространенных DoS-атак (син-флуд, поддельный RST от вашего интернет-провайдера, сканирование блокировки портов и т. Д.). Понять разницу между PPTP, IPSEC, OpenVPN.

Понять системы обнаружения / предотвращения вторжений

Узнайте, как работают следующие системы (и, если возможно, настройте их на себе на виртуальной машине или на физической машине):

Если вы сделали все это и хотите пойти дальше, получение должности стажера в компании по тестированию на проникновение - хороший выбор.

Спасибо за чтение, не стесняйтесь комментировать и задавать вопросы!