Один из вопросов, который мне задают чаще всего, связан с техническими знаниями, которые необходимы социальному инженеру. И тут в двух словах тоже не ответишь, но я постараюсь задать верное направление вашему поиску.
В нашей сфере деятельности без технических навыков далеко не уйдешь, ведь мы постоянно так или иначе взаимодействуем с техникой. Даже представление о том, как использовать простые технологии вроде электронных ключей, загрузочных устройств и подключения к VPN, может существенным образом помочь вам в процессе разработки легенды и получения необходимого доступа.
Нужно ли при этом быть экспертом в создании эксплойтов? Вовсе не обязательно. Чтобы понять, насколько технологически подкованным должен быть социальный инженер, я использую следующее правило. Вы будете работать самостоятельно или в команде? Если самостоятельно, то без технических навыков вам не обойтись: любые ваши ограничения будут сужать спектр услуг, предлагаемых вами клиентам.
Если же вы собираетесь работать в команде, то ориентироваться нужно на наличие навыков у других ее членов: в отличие от одиночной работы, вы сможете позволить себе некоторые послабления. В моей команде работают прекрасные специалисты как технического, так и нетехнического профиля.
Если вы считаете, что технические навыки вам необходимо развивать, то рекомендую обратить внимание на следующие сферы:
• базовые знания о компьютерах;
• базовые знания об офисных программах (в частности, Word и Excel);
• знания о том, из каких элементов состоит компьютер и как эти элементы функционируют;
• умение работать в операционных системах Mac, Windows и Linux;
• понимание механизмов работы Сети;
• умение настраивать почтовый сервер;
• навыки фоторедактирования.
Если вы планируете использовать в пентестах эксплойты, вам также пригодятся:
• знания о платформах вроде Metasploit и Empire;
• умение читать и понимать код;
• умение писать код.
Образование
«Какое образование нужно иметь, чтобы стать социальным инженером?» — каждый раз, когда мне задают этот вопрос (а происходит это намного чаще, чем можно себе представить), я отвечаю, что не считаю себя достаточно квалифицированным специалистом, чтобы советовать что-то конкретное. В конце концов, в свое время я расстался с колледжем после того, как написал программу, осуществлявшую автоматическое сканирование списка телефонных номеров и звонки на них. Тогда декан вместе с полицейскими «предложили» мне закончить обучение как можно скорее.
В начале 1990-х еще не были разработаны законы о компьютерных правонарушениях, и «хакерами» называли просто интересующихся энтузиастов, а не злоумышленников, стремящихся что-то разрушить. Я написал программу, которая работала так. Она связывала последовательно два телефонных модема, затем набирала номер и отправляла несколько цифр, которые отключали номер на пять минут, после чего обрывала соединение. Затем эти действия повторялись снова. Я использовал так называемую поточную обработку, позволявшую программе одновременно набирать огромное количество номеров. Этот скрипт на целый день вырубил 60 % телефонных систем штата. После чего меня и «попросили» покинуть альма-матер.
И хотя образовательная база у меня весьма сомнительная, хочу высказать несколько соображений о том, какое образование будет полезным для будущего социального инженера. Речь пойдет не о магистерской степени, но скорее о некоторых базовых знаниях в следующих сферах:
Психология.
Не только психологам и психотерапевтам важно знать, как люди принимают решения. Социальным инженерам это тоже пригодится.Устная и письменная речь, грамотность.
Вы можете быть лучшим социальным инженером на земле, но, если вы при этом не способны сформулировать четкий и понятный отчет, ваши заслуги едва ли кто-то признает. Я рекомендую пройти качественные курсы по развитию языковых навыков и обогащению профессионального словаря.Социальная психология.
Понимание того, как люди взаимодействуют в социальных группах и какое влияние группы оказывают на них, обязательно поможет вам в работе.