СИ. Она же социальная инженерия. Об этом много говорят, но мало думают. Во всяком случае в России. Хотя Кевин Митник и говорил, что наш народ недоверчивый (в смысле русский народ), и не так то просто у нас поймать сотрудников фирмы на различные ухищрения синженеров. Недоверчивый, но безалаберный.
В этой статье, я не буду рассказывать о том, что такое СИ. Об этом много написано в Интернете. Я просто расскажу вам, о своих походах по нескольким компаниям в г.Москва.

Время такое настало в моей жизни, что мне потребовалась работа. И я стал искать ее, просматривая вакансии в различных конторах, и рассылая свое резюме. Ответы из компаний, надо сказать, шли довольно плотно и густо, и поэтому приходилось выбирать, куда ехать на собеседование. Я посетил достаточно большое количество контор, общался со всякими менеджерами, сисадминами, руководителями. Постепенно, я стал замечать, что при проведении собеседований, меня зачастую оставляли одного в комнате с серверами, клиентскими компьютерами, и документацией. Случалось это в основном, тогда, когда поговорив с одним менеджером, я ожидал прихода начальника отдела ИТ, или сисадмина. Хоть я и искал работу, и рисковать лишний раз не хотел, натура взломщика, или скорее исследователя, не давала мне покоя. К следующему своему походу на собеседование, я подготовился немного иначе, чем к предыдущим.

Сперва, я нашел небольшую программку на С, которая осуществляла элементарный бэкконект, ее исходники вы найдете в аттаче. Весила она в сжатом upx’ом виде – всего 21 килобайт. Для взаимодействия с этой программкой, требовалась тулза cryptcat. Аналог netcat’a, только с возможностями защиты подключения паролем. В общем-то, суть работы бэкконекта я думаю объяснять не надо, поясню лишь некоторые аспекты. Утилита для бэкконекта, называется cbbd, ее фишка в том, что она после запуска прописывается в атозагрузку (через реестр). При этом стартует с разными именами (доступно 3 в сурсах), и еще поддерживает так называемый RETRY_DELAY, то есть если коннекта с клиентом не произошло, то через определенный интервал будет сделан повторный запрос. Все это настраивается в файле settings.h (там же прописываем порт и IP (или DNS) хоста).

// configurable options

#define CRYPT_KEY "password"

#define REMOTE_HOST "host"
#define REMOTE_PORT 80

#define RETRY_DELAY 120

После этого только делаем nmake (я собирал под VC++ 6.0), при этом в файл makefile вшита взаимодействие с upx’ом (для уменьшения объема). Так что предварительно – скачайте upx (http://upx.sourceforge.net/) и поместите в папку, к примеру, C:\windows. Тогда сборка пройдет без проблем.

Посовещавшись с народом, чтобы не возникло никаких накладок, я проверил получившийся файл на 3-х антивирусах. Это: Symantec CE 9.0, Kaspersky AV и Dr.Web. Из всех антивирей, только Dr.Web выдал предупреждение:

bootcfg.exe packed by UPX
В файле >bootcfg.exe возможно обнаружен вирус BACKDOOR.Trojan

Остальные - тихо промолчали.

Теперь оставалось выбрать порт, и хост для загрузки. Порт было решено избрать 80, как наиболее вероятный для свободного прохождения через фаэрволы. А вот с ИП было сложнее в этом случае. Если бы использовать другой порт, то проблем не было бы запустить на каком-нибудь шелле клиента. Но 80 порт, как правило, занят. Прописывать в настройки свой IP и жестко палится, не хотелось, и для смягчения последствий (возможных), был задействован сервис www.dyndns.com, в котором был заведен аккаунт и получено имя хоста.

Клиент dyndns для обновления информации, был написан на Perl, и отлично заработал на моей фряхе. Через некоторое время хост пинговался, и я вписал его в файл settings.h.

Все почти было готово. Я потренировался в быстром пуске файла с дискеты. Все должно было уложится в несколько секунд. Я быстро нажимал комбинацию горячих клавиш (WinKey+R), вызывающих окошко RUN (Выполнить), вводил: a:\a (я переименовал бинарник в a.exe), жал enter, после того как на мониторе на доли секунды мигнет черная консоль, я вынимал дискету и все.

В поход я взял с собой дискетку, флешку, и мини CD. На всех этих носителях, был только один файл :). На всякий случай, если с флоппи будут проблемы. Флопик, я отобрал самый тихий, новенький, чтоб не шумел.

Первая компания куда я собирался, не представляла особого интереса, и сюрприз я готовил не для нее. А вот вторая компания… Это была компания Nikita.Ru. Если кто не знает, что это за чудо, то бегом на яндекс. Они разработали одну из крутейших онлайн игр – «Сфера». Ну и много еще чего. Здесь уже мой интерес возрастал многократно. Не ради выгоды, но ради самого процесса… Мне даже было наплевать на собеседование (да и з/п там к слову сказать маленькая), было интересно получить доступ в локальную сеть. Безо всяких премудростей.
В офис я добрался без приключений. Охрана пустила меня за железную дверь, затем, переписав мои паспортные данные – меня направили к секретарю. Секретарь, мне выдала стул, ручку и 4 листа (!) анкеты, для заполнения. Я присоединился к еще 2-м кандидатам, на эту же должность, которые уже заполняли анкету. Чувствовал я себя, надо сказать, почти Джеймс Бондом. В анкету я нафигачил всякой чепухи. Меня интересовали дальнейшие действия. Пока радостного было мало… Анкету я сдал секретарю, после чего она куда-то ушла, и принесла мне тестовое задание, с 10-ю вопросами… Нетерпение мое росло. Я боялся, что дело до собеседования, где-нибудь в серверной, не дойдет… Ответив, без особых проблем на все вопросы, я отдал задание и стал ждать. Я нервничал, как впрочем, и мои «конкуренты на вакансию». Только у нас ними сильно различался предмет нервного переживания. Ушел первый претендент, затем второй. Я просидел около часа у секретаря. Наконец появилась молодой менеджер, и сказал – «Пройдемте».
Меня повели по комнатам. Везде масса компов, и прочего. Возможно тут стоят сервера с исходниками «Сферы». А может и нет… Эти мысли у меня блуждали в голове, пока я ходил за менеджером. Меня привели в небольшую комнату, где было 3 компьютера. За одним из них сидела какая-то девушка. Это было не очень хорошо.
Менеджер села за еще один компьютер, где был открыт Outlook, и список новых, жирненьких писем. Мы начали наше утомительное (для меня… ибо в который раз…) общение, на тему – где родился, где женился и т.п. Я уже мысленно похоронил свою шпионскую идею, и рассчитывал в следующей компании реализовать задумку (на вечер у меня было еще одно собеседование), как вдруг, наш разговор подошел к концу, и менеджер решила позвать одного из сисадминов, для общения со мной. Админ все никак не приходил. Вторая девушка вышла из комнаты, а через некоторое время вышла и менеджер. Я послушал за дверью – тихо. Быстро кинулся к компу менеджера, воткнул дискету, и запустил программу. Вынул дискету, и быстро сел на место. Через 5 секунд после этого, менеджер вернулся. Меня прошиб пот, руки тряслись мелкой дрожью (ну и видок наверно был) и менеджер сказала: «Да вы не волнуйтесь». Я не ответил… Меня перевели в другую комнату, и там я еще общался с админом, но мысли мои были далеко.

После общения с админом, я наконец-то вырвался из этой конторы на свежий воздух. Было нестерпимое желание проверить работает ли? И я направился к своему серваку.

Через 2 часа, я ввел заветные строчки в консольке, и стал ждать...

Коннекта все не было и не было... Эх... Неужели я что-то не так сделал? Где слабые стороны?

На мой взгляд их тут две:

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

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

Коннекта так и не получилось - почему - не знаю, возможно я что-то сделал не так, или сыграли вышеуказанные факторы. Для того чтобы все таки доказать, что все сделано правильно, я заманил на запуск этого экзешника, своего знакомого, у которого, я знал - интернет прямой (без проксиков). Он запустил программу, под предлогом полезной утилиты... После запуска, в течении нескольких секунд произошел коннект:

Сделав tracert, я отключился от машины, предварительно потерев следы в C:\Windows\system32, и в реестре. Идея заключалась не во взломе, естесственно, а в простом практическом примере своей задумки.

Контору Nikita.Ru, я не взломал, но для желающих – вакансия http://www.nikita.ru/rus/about/work.php#work12, еще открыта :).

Резюме.

Вывод тут можно сделать, для whitehat'ов такой: Нужно быть предельно осторожным при нахождении посторонних людей в вашем офисе.

Для Backhat'ов - было бы у меня побольше времени, я бы наверняка проверил - как они выходят в инет, и тогда бы :-))), кто знает, может и докопался до исходников "Сферы".

Здесь же хочу сказать о следующей конторе, в которую мне пришлось поехать на собеседование. Контора занималась "контентом", для мобильных. Обслуживает эту систему, довольно известный программный продукт - WINGS Communication Server (http://www.wsoft.ru). Пока я общался с сисадмином данной конторы - на столе лежало подробнейшее описание этого недешевого продукта, с пометкой на каждой странице - "Конфиденциально". После беседы со мной, администратор ушел куда-то покурить. Я мог спокойно взять это толстенное руководство и скрыться с ним.

Так что - если хочешь поломать крутую контору, не обязательно быть крутым хакером :-))).

 
     
     
Назад
by PoizOn
Вперед