LU.NET.UA - Захист інформації в інтернеті

:: Меню ::

Головна
Введення

Частина I.
Вивчення мети

1. Попередній збір даних
2. Сканування
3. Інвентаризація

Частина II.
Уразливість систем

4. Уразливість Windows 95/98/me
5. Уразливість Windows NT
6. Уразливість Windows 2000

Частина III.
Уразливість мереж

9. Уразливість видалених з'єднань, РВХ, Voicemail і віртуальних приватних мереж
10. Мережеві пристрої
11. Брандмауери
12. Атаки DOS

   Частина IV.
Уразливість програмного забезпечення

13. Вади засобів видаленого управління
14. Розширені методи
15. Уразливість в Web
16. Атаки на користувачів Internet
 Братани
Карта сайту
Добавити у вибране

:: Друзі ::

--

:: Статистика ::

 

 

 

 

 


Інвентаризація UNIX

Більшість сучасних реалізацій системи UNIX грунтуються на стандартних засобах забезпечення мережевої безпеки протоколу Tcp/ip. Завдяки цьому вони не так щедро роздають всім охочим інформацію про мережу, як система NT, в якій використовується успадкований від попередніх версій інтерфейс NETBIOS, або система Netware, робота якої грунтується на власному механізмі безпеки компанії Novell. Природно, це зовсім не означає, що система UNIX є невразливою, а її мережеві ресурси не можуть піддадуться інвентаризації. Все залежить від конфігураційних параметрів системи. Наприклад, служби RFC (Remote Procedure Call — видалений виклик процедур), N1s (Network Information Service — мережева інформаційна служба) і NFS (Network File System — мережева файлова система), переваги яких дуже часто використовують розробники, є улюбленими "мішенями" для зломщиків впродовж вже багатьох років. Нижче ви познайомитеся з деякими класичними методами інвентаризації UNIX (іншими словами, старі і перевірені способи, які, мабуть, практично завжди спрацьовуватимуть).
Не забувайте про те, що більшість з описуваних в даному розділі прийомів грунтується на інформації, отриманій при скануванні портів і визначенні типу і версії операційної системи, про що розповідалося в попередніх розділах.

Інвентаризація мережевих і спільно використовуваних ресурсів UNIX


Кращими джерелами інформації про мережу UNIX є базові методи дослідження стека протоколів Tcp/ip, які розглядалися в розділі 2. Серед інших засобів можна виділити утиліту showmount, яку можна використовувати для інвентаризації файлових систем NFS, що експортуються в мережі. Наприклад, припустимо, що в результаті сканування стало відомо, що на досліджуваному комп'ютері в стані очікування запитів знаходиться порт 2049 (NFS). В цьому випадку за допомогою утиліти showmount можна з'ясувати, які саме каталоги є спільно використовуваними.

showmount -і 192.168.202.34
export list for 192.168.202.34:
/pub (everyone)
/var (everyone)
/usr user

Використання параметра -е дозволяє отримати список файлових систем сервера NFS, що експортуються. На жаль, архітектура NFS в даному випадку не дозволяє протиставити яких-небудь захисних мерів запитам такого роду. Можна лише порадити, щоб доступ до файлової системи, що експортується, виконувався відповідно до встановлених дозволів (операції читання і запису мають бути дозволені тільки для строго певних вузлів), а доступ до NFS блокувався б ззовні за допомогою брандмауера (порт 2049). Запити утиліти showmount теж можна реєструвати в системі. Це полегшує виявлення зломщика.
Зараз в світі UNIX система NFS є не єдиним прикладом програмного забезпечення, за допомогою якого забезпечується сумісне використання даних. В даний час зростає популярність пакету Samba, розробленого в рамках моделі відкритої коди. Цей пакет забезпечує клієнтам SMB можливість сумісного використання файлів і принтерів. Як уже згадувалося, протокол SMB (Server Message Block) є основою для роботи в мережі клієнтів Windows. Пакет Samba можна отримати за адресою http://www.samba.org (його можна знайти в комплекті постачання більшості версій операційної системи Linux). Хоча у файлі налаштування сервера Samba (/etc/smb.conf) використовуються досить прості параметри забезпечення безпеки, необхідно відноситься до них уважно, оскільки їх неправильне налаштування може привести до порушення захисту спільно використовуваних мережевих ресурсів.
Ще одним потенційним джерелом інформації про мережу UNIX є служба NIS. Вона служить яскравим прикладом поганої реалізації хорошої ідеї (підтримка розподіленої бази даних мережевої інформації). З погляду забезпечення безпеки основною проблемою служби NIS є те, що, дізнавшись доменне ім'я сервера NIS, за допомогою простого запиту RPC можна отримати будь-яку з карт NIS (тар). Карти NIS — це файли даних, в яких міститься важлива інформація кожного вузла домена, наприклад вміст файлів паролів. Традиційне проникнення в мережу з використанням служби NIS передбачає застосування клієнта N1s для спроби підбору доменного імені. Для досягнення цієї мети може служити і утиліта pscan, написана хакером Плювіусом (Pluvius). Її можна знайти в багатьох хакреських архівах Internet. Для того, щоб за допомогою утиліти pscan отримати всю необхідну інформацію, її необхідно запустити з параметром -n.
Якщо ви використовуєте службу NIS, то, принаймні, не застосовуйте легко вгадуване доменне ім'я (у якому використовується назва компанії, ім'я DNS і так далі). Підібравши доменне ім'я, хакер без зусиль може отримати всю необхідну інформацію, включаючи базу даних паролів. Якщо ви не плануєте переходити на використання служби Nis+ (яка підтримує режим шифрування даних і аутентифікації через захищені запити RPC), то хоч би відредагуйте файл /var/yp/securenets і обмежте доступ до певних вузлів і мереж, або відкомпілюйте утиліту ypserv з включеною підтримкою TCP-оболочек. Крім того, не поміщайте в таблиці NIS інформацію про системний запис root і інших системних облікових записах.
Як вже наголошувалося в попередніх розділах цього розділу, протокол SNMP дозволяє зломщикам отримати багато важливої інформації про систему UNIX, в якій запущений агент SNMP. Якщо в мережі використовуються рядки доступу, задані за умовчанням, то в процесі збору даних надзвичайно корисною може опинитися утиліта snmpwalk, що входить до складу утиліт SNMP багатьох систем UNIX.

Інвентаризація користувачів  і груп UNIX


Можливо, найстарішим прийомом інвентаризації облікових записів користувачів, описаних в даній книзі, є утиліта finger. Ця утиліта надавала простий і зручний спосіб отримання інформації про користувачів видаленого вузла ще в ті часи, коли мережа Internet не була настільки великою і простою у використанні. Ми згадуємо тут про цю утиліту в основному для того, щоб акцентувати вашу увагу на основних способах її використання. Багато засобів проникнення в мережу як і раніше базуються на використанні цієї утиліти, оскільки недбайливі системні адміністратори часто запускають системний процес fingerd без яких-небудь мерів забезпечення безпеки. Як і раніше, ми припускаємо, що в процесі сканування портів була отримана інформація про те, що на досліджуваному вузлі запущена служба finger (порт 79).

[root$]finger -i @target.hackme.com
[target.hackme.com]
Login: root Name: root
Directory: /root Shell: /bin/bash
On since Sun Mar 28 11:01 (PST) on ttyl 11 minutes idle
(messages off)
On since Sun Mar 28 11:01 (PST) on ttypo from :0.0
3 minutes 6 seconds idle
No mail.
Plan:
John Smith Security Guru Telnet password is my birthdate.

Команда finger 0@имя-узла також дозволяє отримати цікавий результат. 

[root$]finger 00192.168.202.34
[192.168.202.34]
Line User Host(s) Idle Location
* 2 vty 0 idle 0 192.168.202.14
SEO Sync PPP 00:00:02

Як легко відмітити, велика частина інформації, яка відображається утилітою finger, не має особливого значення (вона вибирається з відповідних полів файлу /etc/password). Можна сказати, що з погляду безпеки найнебезпечнішою є інформація про імена користувачів, зареєстрованих в системі, а також про час, протягом якої користувач не виконує яких-небудь операцій (idle). Це допоможе хакерові визначити, хто в даний момент "наглядає" за машиною (можливо, користувач root?) і наскільки уважно він це робить. Деяка додаткова інформація може використовуватися при спробі проникнення в мережу за допомогою прийомів соціальної інженерії. (Соціальна інженерія (social engineering) — термін із словника хакера, що позначає спробу за допомогою психологічних прийомів встановити контакт з потрібними людьми з метою отримання від них інформації для проникнення в систему. Докладніша інформація про це міститься в розділі 14, "Розширені методи".) Як показано в даному прикладі, користувачі, які поміщають в свій робочий каталог файли .plan або .project, можуть дати дуже хороше наведення хакерові (вміст цих файлів виводиться командою finger).
Виявити і усунути подібне просочування інформації дуже просто. Досить не запускати демон fingerd (для цього потрібно закоментувати відповідний рядок у файлі inetd.conf і виконати команду killall -hup inetd), а також заблокувати порт 79 на брандмауері. Якщо вам по якихось причинах все ж таки необхідно мати доступ до програми finger, використовуйте TCP-оболочки (див. розділ 8, "Хакинг UNIX"), щоб обмежити доступ до вузла і реєструвати всі відповідні події. Можна також скористатися модифікованим демоном finger, що надає обмежену кількість інформації.
Існують також та інші, менш популярні утиліти, наприклад rusers і rwho. Як і у випадку з програмою finger, від них краще відмовитися (зазвичай ці утиліти запускаються незалежно від демона inetd). Пошукайте у файлах завантаження посилання на файли rpc.rwhod і rpc.rusersd). Утиліта rwho повертає перелік користувачів, які в даний момент зареєстровані на видаленому вузлі

rwho 192.168.202.34
root localhost:ttypo Apr 11 09:21
jack beanstalk:ttypl Apr 10 15:01
jimbo 192.168.202.77:ttyp2 Apr 10 17:40

При використанні параметра -1 утиліта rusers дозволяє отримати докладнішу інформацію. Окрім відомостей про користувачів вона надає дані про час, що пройшов після останнього натиснення користувачем клавіш на клавіатурі

rusers -1 192.168.202.34
root 192. 168..202.34:ttyl Apr 10 18:58 :51
root 192.168.202.34:ttypo Apr 10 18:59 :02 (:0.0)

Ще один класичний метод інвентаризації заснований на використанні універсального засобу поштової доставки Internet — протоколу SMTP (Simple Mail Transfer Protocol). Цей протокол підтримує дві вбудовані команди, які дозволяють виконувати інвентаризацію призначених для користувача облікових записів. Команда VRFY підтверджує, що введене ім'я є в системі, а команда EXPN відображає реальну адресу доставки листа замість псевдоніма або списку розсилки. Хоча в даний час багато компаній і так достатньо вільно надають інформацію про електронні адреси, дозвіл подібній діяльності на поштовому сервері може дати зломщикові цінну інформацію про користувачів, а також надати йому можливість фальсифікації.

telnet 192.168.202.34 25
Trying 192.168.202.34...
Connected to 192.168.202.34.
Escape character is -'^]'.
220 mail.bigcorp.com ESMTP Sendmail
8.8.7/8.8.7; Sun, 11 Apr 1999
10:08:49 -0700
vrfy root
250 root <root@bigcorp.com>
expn adm
250 adm <adm@bigcorp.com>
quit
221 mail.bigcorp.com closing connection

Це ще один приклад того, що потрібно завжди пам'ятати про старі хакреські прийоми і вчасно відключати відповідні режими. Популярна програма sendmail, призначена для обміну інформацією з використанням протоколу SMTP (http://www.sendmail.org), починаючи з версії 8, підтримує синтаксис, який дозволяє помістити у файл mail.cf параметри, що забороняють подібні команди або вимагаючі аутентифікації. Інші реалізації SMTP-сервера повинні надавати аналогічні можливості. Якщо це не так, заміните програму!
Звичайно, найстарішим і улюбленішим прийомом хакерів UNIX є спроба отримання файлу /etc/passwd, про що ми детально говоритимемо в розділі 8., "Хакинг UNIX". Зараз же необхідно відзначити, що один з найбільш популярних методів отримання цього файлу полягає у використанні протоколу TFTP (Trivial File Transfer Protocol — простий протокол передачі файлів).

tftp 192.168.202.34
tftp> connect 192.168.202.34
tftp> get /etc/passwd /tmp/passwd.cracklater
tftp> quit

Окрім того, що в даному прикладі зломщикові вдалося отримати файл паролів, які він може спробувати зламати у будь-який момент, прямо з цього файлу він може отримати інформацію про користувачів. Вирішення даної проблеми полягає в тому, щоб взагалі відмовитися від протоколу TFTP. У тих же випадках, коли це дійсно необхідно, упаковуйте передавані по цьому протоколу пакети даних, обмежте доступ до каталога /tftpboot і переконаєтеся, що протокол заблокований на рівні прикордонного брандмауера.

Інвентаризація додатків і ідентифікаційних маркерів


Як і будь-який інший мережевий ресурс, додатки повинні мати можливість обмінюватися один з одним інформацією по мережі. Одним з найпопулярніших протоколів, розроблених для забезпечення цього процесу, є протокол RPC (Remote Procedure Call). На основі RPC працює програма rpcbind, основне завдання якої полягає в посередництві між запитами клієнтів і портами, які ця програма динамічно призначає застосуванням, що знаходяться в режимі очікування. Не дивлячись на постійний головний біль, який багато років викликають у адміністраторів брандмауерів подібні програми, служба RPC залишається надзвичайно популярним механізмом. Існує утиліта rpcinfo, яка, подібно до програми finger, може застосовуватися для інвентаризації додатків RPC, що знаходяться в стані очікування запиту на видаленому вузлі. Зазвичай для того, щоб скористатися цією утилітою, під час сканування досить встановити, що відкритий порт 111 (rcbind) або 32771 (варіант утиліти від компанії Sun).

rpcinfo -p 192.168.202.34
program vers proto port
100000 2 tcp 111 rpcbind
100002 3 udp 712 rusersd
100011 2 udp 754 rquotad
100005 I udp 635 mountd
100003 2 udp 2049 nfs
100004 2 tcp 778 ypserv

З отриманих результатів можна укласти, що на даному вузлі запущений системний процес rusersd, програмне забезпечення служб NFS і NIS (ypserv — сервер служби NIS). Таким чином, за допомогою команд rusers, shomount -і і pscan -n можна спробувати отримати докладнішу інформацію. Крім того, для інвентаризації можна також скористатися утилітою pscan (згадуваною вище) з параметром -г.
Утиліту, аналогічну rpcinfo, можна застосовувати і в системі Windows NT. Ця утиліта, написана Девідом Літчфілдом (David Litchfield) називається rpcdump. Як видно з наступного прикладу, утиліта rpcdump поводиться аналогічно rpcinfo з параметром -р.

D:\toolbox>rpcdump 192.168.202.105
Program no. Name Version Protocol Port
(100000) portmapper 4 TCP 111
(100000) portmapper 3 TCP 222
(100001) rstatd 2 UDP 32774
(100021) nlockmgr 1 UDP 4045

Існує і дещо інших прийомів використання служби RPC, за допомогою яких хакери можуть отримувати необхідну інформацію. Так, в системі Solaris компанії Sun використовується друга утиліта, необхідна для роботи з портами з номерами вище 32771. Отже, модифікована версія утиліти rpcinfo при зверненні до цього порту дозволить отримати приведену вище інформацію, навіть якщо порт 111 заблокований.
Хоча кращий інструмент RFC-сканирования зі всіх, які нам доводилося бачити, входить до складу комерційного пакету Cybercop Scanner компанії Network Associates, Inc., для пошуку певних додатків RPC хакер може скористатися безкоштовною утилітою rpcinfo із спеціальними параметрами. Наприклад, для того, щоб перевірити, чи працює на досліджуваному комп'ютері за адресою 192.168.202.34 сервер TTDB (Tooltalk Database), відомий своєю уразливістю (див. розділ 8), можна скористатися наступною командою.
 rcpinfo -n 32771 -t 192.168.202.34 100083
У службі RPC серверу TTDB відповідає програмний номер 100083.
Найпростіший спосіб перешкодити такому просочуванню інформації, —предусмотреть той або інший механізм аутентифікації, вживаний із службою RPC (докладніші відомості про наявні можливості можна отримати з документації). Другий метод полягає у використанні пакету, подібного Secure RPC компанії Sun, який володіє вбудованими засобами аутентифікації, що базуються на криптографічному механізмі з використанням відкритого ключа. Нарешті, обов'язково переконаєтеся в тому, що порти 111и32771 (rpcbind) фільтруються на рівні брандмауера.
Як вже згадувалося в попередньому розділі, присвяченому методам інвентаризації Windows NT, класичний спосіб проведення інвентаризації додатків практично будь-якої системи полягає в підключенні до порту, про який відомо, що він знаходиться в стані очікування запитів. Це можна здійснити за допомогою утиліт telnet або netcat. Ми не будемо знову детально розглядати ці ж питання, а лише зупинимося на деяких корисних функціях netcat, які коротко описані у файлах, що поставляються з самою утилітою. Наприклад, спробуйте перенаправити виведення спеціального текстового файлу на вхід netcat, щоб спробувати отримати докладнішу інформацію. Створіть файл nudge. txt, що містить одну-едінственную рядок GET / Http/1.0 і два символи перекладу рядка, а потім, запустите наступну команду.

nc -nw -о banners.txt
192.168.202.34 80 < nudge.txt

Http/1.0 200 OK
Server: Sun_webserver/2.0
Date: Sat, 10 Apr 1999 07:42:59 GMT
Content-type: text/html
Last-modified: Wed, 07 Apr 1999 15:54:18
GMT
Etag: "370a7fbb-2188-4"
Content-length: 8584
<HTML> <HEAD>
<META Name="keywords"
Content="bigcorp, hacking, security">
<META Name="description"
Content»"welcome to Bigcorp's Web site.
Bigcorp is а leading manufacturer of security holes.">
<Title>bigcorp Corporate Home Page</title>
</head>



Мал. 3.12. Команда Crawl Website програми Sam Spade дозволяє з мінімальними зусиллями виконати пошук інформації, що цікавить, в коді HTML всіх сторінок Web-узла

Якщо як параметр утиліти netcat використовується IP-адрес досліджуваного комп'ютера, то потрібно вказати також параметр -n.
Чи відомі вам хороші методи проникнення в Webserver 2.0 компаній Sun? Тоді вперед! Іншими прикладами вмісту такого текстового файлу є рядки HEAD /http/1.0<cr><cr>, Quit<cr>, Help<cr>, ECHO <cr> і навіть просто пара символів перекладу рядка (<сr>).
Необхідно також відзначити, що немало "ласих шматочків" інформації можна знайти в початковому HTML-коде Web-страниц. Одним з наших улюблених інструментів для перевірки цілих Web-узлов (а також для виконання інших не менш корисних функцій) є утиліта Sam Spade компанії Blighty Design (http://www.blighty. com/products/spade). На мал. 3.12 показано, як програма Sam Spade може перевірити весь Web-узел у пошуках заданої інформації, наприклад слова password.

Контрзаходи проти збору ідентифікаційних маркерів


Звичайно, ми торкнулися лише декілька з найпопулярніших застосувань, оскільки обмеження за часом і об'єму не дозволяють нам докладніше розглянути все різноманіття існуючого мережевого програмного забезпечення. Проте, відштовхуючись від описаних в даному розділі загальних підходів, необхідно принаймні "заткнути рот" дуже "балакучим" додаткам вашої мережі. Додаткові відомості про усунення наявних вад можна пошукати на Web-узле канадської консультаційної компанії PGCI. інформації, що спеціалізується в області захисту, за адресою http://www.pgci.ca/p_fingerprint.html. Окрім цікавої дискусії про захист від спроб виявлення типу і версії операційної системи (див. розділ 2), на цьому Web-узле приведені відомості про контрзаходи, що дозволяють запобігти інвентаризації ідентифікаційних маркерів за допомогою таких засобів як програми sendmail, telnet, і протокол FTP. Там же ви знайдете список адрес інших Web-серверов, на яких міститься аналогічна інформація.




:: Реклама ::

>Страница статей


:: Посилання ::

-


:: Рекомендуємо ::

- Tnx.net