Углубленные методы и аспекты добычи информации.
Перед осуществлением добычи информации, определите, какая информация вам необходима. Иначе вы можете затратить множество времени, для добычи не нужной вам информации. После того, как вы точно обдумайте, что вам необходимо от, допустим, системного администратора компании X, то подумайте, кто еще знает эту информацию, кто знает о существовании этой информации, кто имеет доступ к этой информации, кто имеет право на изменение этой информации. Часть ответов из этих вопросов вы решите в процессе добычи информации, но чем больше вы будете знать ответов, тем легче будет добыть информацию.
Для начала необходимо узнать координаты и личные данные (как можно больше) о тех людях, кто имеет отношение к этой информации. Если вы знаете хотя бы домашний телефон одного сотрудника, то можно по справочнику узнать фамилию, иногда имя и отчество. Если вы это узнали, то вы можете попробовать узнать через этого человека всю остальную информацию. Вы можете позвонить ему, представить работником компании X, желательно в должности выше его и попросить координаты остальных людей, с которыми вам придется общаться. Так же желательно, чтобы в данном мероприятии участвовало несколько человек с различными голосами, также желательна представительница женского пола с красивым голосом. После того, как вы по цепочке узнаете личные данные на каждого человека, попытайтесь узнать о них рабочие данные. Это легко сделать, достаточно встретить любого, кто работает в этой компании, и поинтересоваться, а как выглядит Вася Пупкин. И кем он работает, а также его кабинет с телефоном, так как, видите ли, вам сказали его найти, а вы не знаете кто это. Любой не подумав нечего плохого, расскажет вам, если он знает. Таким образом, вы накопите много информации. Обязательно узнайте, кто стоит по должности под и над этими людьми, чтобы можно было так манипулировать.
Теперь вы можете звонить к нижестоящему человеку этого человека и говорить, что вы якобы по поручению этого человека должны сделать что-либо важное, но не можете, так как присутствуют какие-либо проблемы. И поэтому просите, чтобы он сделал то-то (здесь надо его попросить сделать то, к чему вы собственно и стремились, например, дать вам привилегированные права).
Можно уговорить, чтобы тот человек, которому вы звонили, связался с системным администратором и сделал для вас акаунт с соответствующими привилегиями. Желательно, чтобы тот, кто будет говорить с сис. админом был выше его по должности. Таким образом, сис. админа будет просить уже человек, которого он знает. И нечего не заподозрит. А вы тем временем можете наслаждаться доступом в сеть с крутыми привилегиями.
Профессиональный подход к программированию backdoor.
Для добычи информации вам часто может понадобиться backdoor, который будет запущен там, где вам надо. Но сразу вам скажу - забудьте обо всех тех "троянцах", которые вы до этого видели. Напишите свой backdoor или попросите, профессиональна, написать вам такой, какой вам нужен.
Всякие интересные и "полезные" вещи, как открывание cd-rom, выключение монитора, чат с жертвой - отложите это до будущих времен. Backdoor нужен для того, что определяет его название - back door - задняя дверь, незаметный проход, запасной вход. Нужно писать для того, чтобы получить доступ, манипулировать информацией, красть ее. А так как все развлечение занимают лишний код, и увеличивают сложность backdoor`а. Backdoor должен писаться только для того, что нужно вам и ничего иного. И не забывайте очень важного плюса этой ситуации: никакой антивирус не скажет про вашу замечательную программу, что она backdoor.
Если вы будете следовать этому, то вы сможете узнать гораздо больше информации, чем рассчитывали.
Мне понадобилось как-то узнать пароль root`а на одном unix`е. По стандарту мне надо ломать саму машину, где стоит unix. Но если она очень хорошо защищена, то это не так легко сделать, если вообще возможно. Но если вспомнить про человеческую незащищенность и социальную инженерию, то все unix-машины становятся доступны. Я сделал следующее: написал backdoor под windows, который делал буквально следующее: он записывал все набранное на клавиатуре и давал доступ к диску. ВСЕ. Ничего лишнего. Получился этакий ftp-сервер с логой, того, что написано на компьютере. В этого я скачал все файлы с рабочей станции этого человека и взял логу, того, что он писал. Этого оказалось достаточно, потому что там были пароли и от акаунта на unix-машине, и от root`а. Его пароль был прописан в почтовом клиенте. А пароль root`а лежал в логе (когда он удаленно заходил на его сервер, он вводил этот пароль). В итоге была взломана машина unix. Хотя никакие методы проникновения замечены не были.
Вывод: нужно думать более глобально, не нужно ограничивать свое внимание только на объекте (aka жертве), а нужно думать обо всех машинах в сети.
Так вот, поэтому практически во многих ситуациях нам достаточно прочитать веб-сайт жертвы и написать back door.
Определите к чему и для чего вы хотите получить доступ. Если вам всего лишь надо скопировать всю информацию и то, что вводил пользователь с клавиатуры - ограничитесь упрощенным фтп-сервером и кей-логгером. Вам этого хватить.
Если вы хотите постоянно наблюдать за жертвой, то встройте еще функцию screenshot`а, чтобы смотреть на экран жертве, встройте поддержку socks-соединения, чтобы работать не напрямую, а через socks-сервер. Встройте шифрование передаваемых данных и проверку паролем доступа к backdoor`у жертвы. Можете добавить, если это необходимо удаленное управление реестром.
Но никогда не стоит делать того, что вам не надо. Не надо, допустим, вставлять в программу функцию просмотра запущенных процессов и их завершение. В большинстве случаев можно обойтись минимумом.
Еще разумный шаг: использование plug-in`ов. На начальном этапе жертве посылается только база, даже без file manager`а. Но такой, который бы сам скачал бы plug-in с этим и установил.
Stealth-backdoors.
Теперь рассмотрим такую немаловажную вещь, как стелс-технологию.
Несколько примеров backdoor`ов.
- Небольшая программа (15-35 кб) при запуске соединяется с прописанным в ней фтп-сервером, скачивает с него некую модифицированную программу (например, internat.exe - переключение кодировки) с встроенным троянцем. (я делал так: клал на фтп-сервер несколько версий этого internat`а: w95en.exe, w95ben.exe, w95ru.exe, w95bru.exe, w98en.exe, w98ru.exe, w98seen.exe, w98seru.exe - win95 англ., win95osr2 англ, win95 русский и так далее до win98 second edition; и качал соответствующий). После скачивания он заменяет ей родную программу и удаляется. При перезагрузке он запускается как internat.exe, его даже видно в task list. Ни у кого нет подозрений. При этом порты он никакие не открывает, но раз в 30 минут принимает почту с определенного акаунта, который в нем прописан. Если почта есть, он проверяет ее принадлежность к вам, если принадлежность обнаруживается, то он исполняет команды, которые вы там укажите. Например, запустить фтп-сервер или скачать программу из сети и ее запустить. Или удалиться. Или закачать лог-файл на фтп-сервер. ВСЕ что угодно. ВСЕ, что вы сами встроите в свой backdoor.
- Небольшая программа (30-60 кб) при запуске соединяется с прописанным в ней фтп-сервером, скачивает с него некую модифицированную программу (например, internat.exe - переключение кодировки) с встроенным троянцем. При перезагрузке соединяется со специальным сервером, который вы запускайте на какой-нить unix-машине, и ждет команд от него, а вы уже на тот сервер посылайте свои команды, при этом на машине жертвы никак не узнают именно ваш ip-адрес. Поэтому вычислить вам будет крайне тяжело, только через промежуточный сервер. А если промежуточный сервер запускать на каком-нибудь сервере, который не играет для вас никакой роли (например, взломанный shell-box), то вы в любой момент сможете удалить всю информацию на нем.
- Небольшая программа (60 кб) при запуске соединяется с прописанным в ней фтп-сервером, скачивает с него полный комплект модифицированных программ, которые заменяют все стандартные утилиты (wordpad, internat, notepad, calc, image, write, explorer, iexplorer, scandisk, solitair). При этом даже если кто-либо обнаружить, что-то в вашей одной программе и заменить ее, то будут работать другие. Желательно, чтобы в каждой из них был разный принцип работы (один через unix-box, другие через е-маил, третьи напрямую и т.д.). При этом, когда начинает работать другой, они вам слали е-маил с извещением, каким образом ведет себя пользователь и какие программы он запускает. При этом можно пойти дальше и заразить dll системы. В которых при вызове любой функции, выполнялись и ваши функции тоже.
Еще очень полезная вещь: как вы заметили, чтобы в windows просмотреть список, текущий соединений, нужно запустить netstat.exe. Но я вам напомню, что эта программа всего лишь спрашивает у winsock, кто куда соединяется, а значит можно написать свою программу, которая спрашивала бы все соединения, а показывала все, кроме ваших.
Последовательный взлом.
Что делает человек, когда он хочет взломать много серверов? Он запускает сканнер, который ищет дыры и проверяет все сервера. Что он делает, когда хочет поломать один сервер? Он запускает тот же сканнер и проверяет только этот сервер.
Вы наверно слышали выражение, что взломать можно что угодно. Так вот, оно верное, если следовать из того, что человек является самой опасной дырой в системе. А сервер может быть вообще без дыр.
Если некий человек имеет доступ к тому серверу, который нам требуется взломать, то он обязательно как-то получает к нему доступ. И в 99% случаев это комбинация имени пользователя и пароля. И когда ему надо удаленно получить доступ к этому серверу, то он вводит этот пароль на свой машине. По логике вещей можно догадаться, что эта машина является на основе Windows 9x/NT. Тут-то как раз и вспоминаем, что все Windows 9x не обладают безопасностью. Или даже если на машине жертвы стоит unix, то скорей всего он не так защищен как сервер. В любом случаи, легче взломать его машине, чем ломать сервер. Ведь наверняка, даже если на сервере регулярно смотрят лог-файлы попыток взлома, то кто этим будет заниматься на локально машине с Windows.
Есть некая компания, где установлено 200 компьютеров, 2 сервера на основе Unix, и два сервера WinNT. По виду работы этой компании все пользовательские компьютеры подключены через локальную сеть в Internet. У всех пользователей организован вход в домен NT при включении компьютера. Прослеживаем такую ситуацию: злоумышленник разговаривает по icq с один из пользователей и "дарит" ему некую хорошую программу, которую пользователь запускает. Злоумышленник получает доступ к этой машине. Легкими средствами получает все пароли. От почтового ящика на одном из Unix это компании, пароль входа в сеть на NT. И к тому же мы получили доступ в локальную сеть. Мы уже из этого локального компьютера можем попытаться получить доступ к NT. Путем перехвата smb-сообщений, куда может входить пароль администратора. Путем brute-force атаки, которая будет происходить быстро из-за того, что это LAN, а не WAN. И т.д. После того, как он получить доступ к NT. Наверняка там он найдет один из паролей на unix, из тех, кто имеет доступ туда логиниться. Или же, если там он не найдет, у него будет больше шансов их получить, так как он получить доступ ко всем локальным паролям, которые можно попытаться взломать. И админы в любом случаи больше доверяют серверу NT, чем рабочим станция и могут логиниться с NT в Unix. Тут-то и можно перехватить их пароль.
Я описал вам реальный пример попытки взлома. В этом и заключается последовательный взлом. Не нужно ломать то, что взломать может быть невозможно, ломайте то, что легко ломается и где содержится все, то, что вам нужно.
Заключение. Вот наверно все, что я вам хотел сказать. Используйте социальную инженерию, HDoS, пишите профессиональные программы, и ломайте последовательно.
Удачи.
bezpeka.com