Социальная инженерия - это наука, хорошее знание которой позволяет создавать условия, для получения того или иного результата. Относительно хака - этим результатом, как правило, является информация.
Как можно понять, в основе социальной инженерии, лежит психология и способность анализировать ситуацию. Детальный анализ, позволяет предсказывать те или иные последствия, которые можно корректировать, создавая искусственно те или иные условия. Проще говоря, социальная инженерия позволяет получать необходимый результат, за счет создания искусственных условий.
Сам термин "Социальная инженерия" в полной мере себя оправдывает - Вы строите социальные связи и обстоятельства таким образом, что бы они дали необходимый Вам результат.
На практике, сфера использования может быть крайне широка. Допустим, довольно часто возникает ситуация, когда получить какую-либо информацию оказывается либо крайне сложно, либо вообще невозможно, по каким-либо техническим причинам. В этом случае, социальная инженерия является главным инструментом, потому что если информация существует, значит к ней в любом случае имеет доступ какое-либо лицо. Задача в этом случае - создать все условия для того, что бы эта информация через него попала к Вам. Причем, чем меньше шума и подозрений Вы вызовете - тем идеальной оказалась Ваша схема. В идеале - никто даже не должен понять или догадаться, что информация была похищена, не говоря уже о том - кем она была похищена.
Если возникла необходимость использование социальной инженерии, необходимо полностью обдумать весь план действий со всеми вытекающими последствиями и возможными развитиями ситуации. Здесь Вам как раз часто пригодится и хорошее знание технических деталей. В первую очередь, четко определите для себя конечные цели, которые Вы хотите получить. Определите, будете ли Вы действовать анонимно, либо открыто. Открытые действия так же возможны, если объект воздействия не является конечной целью (допустим, необходимо получить информацию о чем-либо у лица, который имеет к ней доступ, но не несет рисков от ее утечки). Можно действовать полуанонимно, используюя полуправдивые данные о себе - это позволит иметь личные контакты с некоторыми лицами, задействованных в общей схеме.
Для наибольшей вероятности успеха - изучите каждого человека, на предмет его особеностей, что позволит выбрать наиболее верные методы воздействия на него. Каждый человек имеет свою индивидуальность, которую следует учитывать при планировании различных схем.
Определение методов воздействия - заключительный этап, перед запуском всего сценария. Определите, как Вы сможете воздействовать в нужном направлении на каждого из участников этой схемы, и оцените возможные ошибки в сценарии. Если в ходе выполнения сценария была выявлена ошибка - значит Вы недостаточно хорошо изучили объект воздействия, либо выбрали не верный метод воздействия. Что бы получить от кого-либо какую-либо информацию, необходимо либо войти в его доверие, либо проявить давление, либо использовать обманные пути, хотя все три способа - не исключают друг друга сразу - часто необходимо использовать их все.
Для оттачивания различных навыков в социальной инженерии, необходима практика. Одной теорией Вы здесь ничего не добъетесь - чем больше практики - тем лучше. Вы будете допускать массу ошибок, но как всем известно: "Тяжело в учении, легко в бою".
Из своего опыта: есть у меня одна компания, назовем ее условно "Ю" . Когда то я имел с ними дело, и они остались должны мне несколько десят тысяч рублей денег. Поэтому многие эксперименты я провожу именно на них . Решил, ради эксперимента, подпортить их репутацию в лице их клиентов.
Они делали сайты, и немного поискав в Интернете, я нашел 4-5 их сайтов, которые они делали своим клиентам, один из которых на тот момент не работал. Я решил, что этим можно воспользоваться и сделать так, что бы по возможности, перестали работать и другие сайты, тогда их клиенты начнут задавать им вопросы, о работоспособности их сайтов, к тому же, насколько мне было известно, хостинг они использовали свой, а не предоставляли каждому клиенту отдельный аккаунт у хостера.
План был таков: нужно выведать у их клиентов информацию о доступах к сайту, после чего воспользоваться ею, для отключения этого сайта. Кому их клиенты могли бы поручить данные доступа? Конечно, самим разработчикам. Тогда я завел подставной почтовый ящик, имя которого коственно (не навящево) указывало на мой род деятельности - продажа автомобилей. Отправил письмо в компанию "Ю" с вопросом - сколько у них стоит создание сайта и т.д. Описал в двух словах, что за сайт мне нужен, тем самым, выдавая себя за потенциального клиента. Они ответили, и таким образом я получил все их элементы переписки, а именно подпись внизу письма, контактные данные ответственного лица, логотипы и прочая мелочь. Я завел еще один подставной почтовый ящик, где в названии указал название этой компании. Сама компания использует свой корпоративный почтовый ящик вида Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.">Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. , я же завел почту на mail.ru вида Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.">Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. - сходство на лицо (вместо domain - естественно было название компании). Используя полученные элементы оформления их писем, я написал всем их клиентам письма, смысл которых был примерно следующий:
Здравствуйте.
Мы занимались созданием Вашего сайта, и в настоящее время, нам стало известно о взломе одного из сайтов наших клиентов, в связи с чем, мы проводим обновление программного обеспечения на всех сайтах наших клиентов. Однако, пароли, которые мы выдавали Вам во время сдачи проекта - не действуют, очевидно, Вы их изменили. Поэтому, для обновления программного обеспечения, нам необходимо получить доступ к Вашему сайту, в связи с чем, нам необходимо получить пароль для входа в Вашу административную панель. Вы можете создать для нас отдельную учетную запись, которую в последствии сможете удалить [тут идет детальная инструкция по ее созданию]. Мы так же можем отправить Вам пошаговую инструкцию по самостоятельному обновлению, и проконсультировать Вас по всем вопросам по телефону. После обновления программного обеспечения, Вы сможете поменять все пароли на новые, если Вам это необходимо.
[контактная информация, подпись и т.д.]
Это очень грубый пример, над составлением самого письма я работал около часу, и оно у меня было написано куда профессиональнее. Как видите, я дал им все возможные альтернативы, настоящие контактные данные и прочую информацию, а так же использовал их настоящий стиль оформления писем, что бы войти в доверие к получателю письма. Многие клиенты в этом случае, просто не захотели бы заморачиваться и доверили бы дело специалистам - на это и был расчет. К тому же, вряд ли бы кто то звонил им для уточнения вопросов, потому как письмо я постарался создать максимально детальным, а инструкция как в их панели управления создавать нового пользователя - у меня была настолько детальна, что ее прочтение требовало бы больше времени, чем сами действия, что во-первых, убедило бы читающего в том, что я действительно разработчик, потому как знаю, как устроен их сайт (на самом деле, сайт работал на Joomla ), а во-вторых, они подумали бы, что раз создание пользователя - это так рутинно, зачем они будут браться за обновление самого сайта с такой же, наверняка, нудной инструкцией.
Из 4 отправленных писем, пришел только один ответ, где пользователи явно поверили в реальность происходящего, и дали мобильный телефон человека, под чье администрирование перешел этот сайт. Светить свой номер мобильного, либо покупать вторую симку - моего энтузиазма не хватило, поэтому эксперимент я на этом завершил. Но как видно, эффективность составила 25%, что весьма не плохо для начала.
Вообще, чем опытнее человек, на кого оказывается воздействие - тем интересней процесс построение сценариев. Опытные пользователи, не говоря уже об администраторах, имеют массу защитных функций, на основании полученного ранее опыта, поэтому с ними приходится сложнее, но тем не менее, это повышает и Ваш личный опыт в социальной инженерии!
В настоящее время, у меня в голове есть еще одна идея, которая так же от части завязана на социнженерии, которая нуждается в детализации и проверке на практике. Если она оправдает себя - это будет крайне интересный и полезный опыт.