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
 Братани
Карта сайту
Добавити у вибране

:: Друзі ::

--

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

 

 

 

 

 


Сканування

Якщо процес попереднього збору даних можна порівняти з прихованим спостереженням, мета якого — добути якомога більше інформації, не видаючи себе, то сканування — це "розвідка боєм". Мета сканування — виявити відкриті "вікна" і "двері". У заздалегідь зібраній інформації містяться зведення про адреси підмереж і окремих комп'ютерів, отриманих за допомогою запитів whois і перенесення зони. Інформація, зібрана на цьому етапі, дуже цінна для зломщика, оскільки містить такі дані, як імена і прізвища співробітників, номери телефонів, діапазони IP-адресов, адреси DNS-серверов і поштових серверів. Тепер можна приступати до виявлення тих комп'ютерів, які підключені до мережі і досяжні з Internet. Для цього використовуватимуться різноманітні засоби і прийоми, такі як ping-прослушивание, сканування портів і різні методи, що дозволяють автоматизувати виконання цих завдань.
Необхідно відзначити, що факт наявності IP-адреса в перенесеній зоні ще не означає, що до відповідного вузла можна дістати доступ через Internet. Необхідно перевірити кожен конкретний комп'ютер окремо і з'ясувати, чи підключений він до Internet і чи є на нім порти, що знаходяться в стані очікування запитів. Нам доводилося зустрічати немало неправильно настроєних DNS-серверов, які надавали всім охочим адреси обслуговуваних ними приватних мереж (наприклад, 10.10.10.0). Оскільки такі адреси не маршрутизуються по Internet, ви даремно витрачатимете час, намагаючись зв'язатися з ними. Докладніша інформація про те, які адреси є такими, що маршрутизуються, приведена в RFC 1918(http://www.ietf.org/rfc/rfcl918.txt).
Тепер давайте перейдемо до другого етапу збору інформації — сканування.

Прослуховування мережі за допомогою утиліти ping


Одним з основних етапів у визначенні структури мережі є її автоматизоване прослуховування за допомогою утиліти ping по діапазону IP-адресов або адресам підмереж. Мета такого прослуховування — визначити, чи є у окремих комп'ютерів підключення до Internet. Утиліта ping відправляє пакети ICMP ECHO (тип 8) вказаному комп'ютеру і чекає у відповідь пакету ICMP Echo_reply (тип 0). Отримання такої відповіді говорить про те, що комп'ютер в даний момент підключений до Internet. Хоча при деякій наполегливості за допомогою утиліти ping можна визначити кількість постійно підключених до Internet комп'ютерів в невеликій і навіть середній мережі, ручний перебір мережевих адрес буде малоефективний, якщо необхідно обстежувати корпоративну мережу крупної організації.
Для виконання ping-прослушивания можна скористатися будь-яким з .G® \*-» численних засобів, розроблених як для системи UNIX, так і для i-""""" Windows NT. В світі UNIX одним з найнадійніших і перевірених методів такого прослуховування є використання утиліти fping (http:/ packetstorm security.com/Exploit_Code_Archive/fping.tar.gz ). На відміну від інших подібних утиліт, які перед переході до тестування наступного комп'ютера чекають відповіді на раніше посланий запит, утиліта fping розсилає всі запити одночасно, а потім чекає відповіді відразу від всіх вузлів. Саме тому утиліта fping забезпечує набагато вищу швидкість прослуховування великого діапазону IP-адресов, чим звичайна утиліта ping. Утиліта fping була написана спеціально для використання в сценаріях оболонок спільно з утилітою gping (http://www.hacking-exposed.com/tools/tools.html), яка входить в пакет, поширюваний разом з fping. Утиліта gping генерує список IP-адресов, передаваних на вхід fping для прослуховування. Лістинг використання утиліти gping для мереж класу А, В або З може показатися злегка незрозумілим, тому розглянемо його докладніше.

[tsunami ]'$ gping
usage: gping ao an bo bn co cn do dn
gping а bo bn co cn do dn
gping а b co cn do dn
gping а b з do dn
gping abcd

Як параметри утиліті gping необхідно передати діапазон IP-адресов. На підставі цього діапазону генеруватиметься лістинг, в якому адреси перебираються один за одним. Кожен октет передаваної IP-адреса повинен відділятися від останніх пропусками. Наприклад, якщо ми збираємося генерувати IP-адреса для мережі класу З, нам необхідно просто додати 254 як останній параметр. Це дозволить утиліті перебрати всі адреси від 192.168.1.1 192.168.1.254. Припустимо, що ця мережа не містить підмереж і використовує маску підмережі 255.255.255.0. Крім того, ми не перевірятимемо адресу самої мережі 192.168.1.0 і адреса широкомовної розсилки 192.168.1.255. Слід уникати застосування утиліти ping до адрес широкомовної розсилки, оскільки це може привести до відмови, або так званого стану DOS (denial of service), якщо у відповідь пакет одночасно згенерує багатьма вузлами (докладніша інформація про те, як встановити маску підмережі вузла, приведена в документації по запитах ICMP). З використанням утиліти gping можна згенерувати перелік адрес, які потім використовуватимуться утилітою fping.

[tsunami] gping 192 168 1 1 254
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.251
192.168.1.252
192.168.1.253
192.168.1.254

Тепер в нашому розпорядженні є список всіх вузлів, які можуть знаходитися в досліджуваній мережі класу С. Осталось лише перенаправити виведення утиліти gping на вхід утиліти fping, яка виконає прослуховування мережі і визначить, які комп'ютери в даний момент підключені до мережі.

[tsunami]? gping 192 168 1 1 254 | fping -a
192.168.1.254 is alive
192.168.1.227 is alive
192.168.1.224 is alive
192.168.1.3 is alive
192.168.1.2 is alive
192.168.1.1 is alive
192.168.1.190 is alive

Параметр -а утиліти fping призначений для включення режиму, в якому виводиться інформація про всі активні в даний момент комп'ютери мережі. Якщо потрібно, утиліта може виводити і інформацію про імена вузлів. Цей режим включається за допомогою параметра -d. На нашу думку, параметр -а краще всього використовувати в сценаріях оболонки, а параметр -d — при дослідженні мережі на предмет пошуку певних вузлів. Серед інших параметрів необхідно згадати -f, який дозволяє вводити адреси із заздалегідь підготовленого файлу, а також -h, за допомогою якого можна отримати перелік всіх параметрів утиліти і режимів їх використання. Ще однією утилітою, про яку ми багато говоритимемо в цій книзі, є утиліта nmap, створена хакером на ім'я Федора (Fyodor) (www.insecure.org/nmap ). Детальніше ця утиліта розглядатиметься нижче в цьому розділі, проте буде нелішнім згадати, що, окрім решти всіх можливостей, дана утиліта також дозволяє виконати прослуховування мережі. Для включення відповідного режиму необхідно вказати параметр -sp.

[tsunami] nmap -sp 192.168.1.0/24
Starting nmap V. 2.53 by fyodor@insecure.org
( www.insecure.org/nmap/)
Host (192.168.1.0) seems to be а subnet broadcast
address (returned 3 extra pings).
Host (192.168.1.1) appears to be up.
Host (192.168.1.10) appears to be up.
Host (192.168.1.11) appears to be up.
Host (192.168.1.15) appears to be up.
Host (192.168.1.20) appears to be up.
Host (192.168.1.50) appears to be up.
Host (192.168.1.101) appears to be up.
Host (192.168.1.102) appears to be up.
Host (192.168.1.255) seems to be а subnet broadcast
address (returned 3 extra pings).
Nmap run completed — 256
IP addresses (10 hosts up) scanned in 21 seconds

Що стосується прихильників Windows, вони також не залишилися без уваги. Зокрема, є така безкоштовна утиліта, як Finger (мал. 2.1), написана хакерами з групи Rhino9 (http://www.nmrc.org/files/snt/ ). Ця утиліта є одній з найшвидших в своєму класі. Як і fping, утиліта Finger одночасно розсилає декілька ICMP-пакетов ECHO, а потім чекає надходження відповідей. Крім того, Finger дозволяє також отримувати імена вузлів і зберігати результати своєї роботи у файлі. Такою ж швидкістю, як і Finger, володіє комерційний продукт Ping Sweep, пропонований компанією Solarwinds (www.solarwinds.net ). Вражаюча швидкість роботи Ping Sweep пояснюється тим, що дана програма дозволяє встановлювати час затримки між передаваними пакетами (delay time). Встановивши це значення рівним 0 або 1, можна просканувати всю мережу класу і отримати імена її вузлів менш ніж за 7 секунд. Проте при використанні цих засобів дотримуйтеся обережності, оскільки в цьому випадку можна значно понизити пропускну спроможність якого-небудь низькошвидкісного каналу, наприклад каналу ISDN з пропускною спроможністю 128 Кбіт/с або Frame Relay (не говорячи вже про супутниковий або інфрачервоний канал).
Серед інших утиліт Windows, призначених для прослуховування мережі, можна відзначити Ws_ping Propack (www.ipswitch.com) і Netscan Tools (www.nwpsw.com). Хоча можливостей цих утиліт цілком достатньо для прослуховування невеликих мереж, вони значно повільніше Finger і Ping Sweep. Крім того, не забувайте, що утиліти з графічним інтерфейсом, не дивлячись на зручність їх використання, позбавляють вас можливості їх застосування в сценаріях і автоматизованих процедурах.
Можливо, ви хочете запитати, як поступати, якщо досліджуваний вузол блокує повідомлення ICMP? Хороше питання. Такий підхід часто застосовується на тих вузлах, адміністратори яких піклуються про безпеку. Проте, не дивлячись на блокування пакетів ICMP, існують додаткові засоби і методи, що дозволяють визначити, чи підключений такий вузол до мережі чи ні. Разом з тим необхідно відзначити, що всі ці засоби виявляються не такими точними і ефективними, як звичайні утиліти сімейства ping.



Мал. 2.1. Утиліта finger — одна з найшвидших утиліт ping-прослушивания, яка до того ж розповсюджується безкоштовно

У тих випадках, коли обмін даними по протоколу ICMP заблокований, насамперед застосовується метод сканування портів (port scanning), який детальніше розглядається нижчим в цьому розділі. Просканувавши стандартні порти кожної потенційної IP-адреса мережі, можна визначити, які вузли підключені до мережі. Якщо порт відкритий (opened mode) або знаходиться в режимі очікування (listening mode), значить, за даною адресою знаходиться підключений до Internet вузол мережі. Недоліками цього методу є великі тимчасові витрати і деяка невизначеність результату (якщо за якоюсь адресою не вдалося виявити жодного порту, то це ще не означає, що відповідний вузол не підключений до Internet). Одній з утиліт, які можна використовувати для сканування портів, є nmap. Як уже згадувалося, за допомогою цієї утиліти можна проводити ICMP-прослушивание, проте цим перелік її можливостей далеко не вичерпується. Зокрема, ця утиліта дозволяє виконувати так зване TCP-прослушивание скануванням (TCP ping scan). Даний режим включається за допомогою параметра -рт і вказівки номера порту, наприклад 80. Вибір порту з номером 80 обумовлений тим, що в переважній більшості випадків саме він використовується вузлами мережі для обміну даними через прикордонні маршрутизатори або брандмауери з комп'ютерами, розташованими в так званій демілітаризованій зоні (DMZ — demilitarized zone). При використанні вказаного параметра утиліта розсилає вузлам досліджуваної мережі пакети АСЬК, а потім чекає надходження пакетів RST, що свідчить про те, що вузол підключений до Internet.

[tsunami] nmap -sp -PT80 192.168.1.0/24
TCP probe port is 80
Starting nmap V. 2.53
Host (192.168.1.0) appears to be up.
Host (192.168.1.1) appears to be up.
Host shadow (192.168.1.10) appears to be up.
Host (192.168.1.11) appears to be up.
Host (192.168.1.15) appears to be up.
Host (192.168.1.20) appears to be up.
Host (192.168.1.50) appears to be up.
Host (192.168.1.101) appears to be up.
Host (192.168.1.102) appears to be up.
Host (192.168.1.255) appears to be up.
Nmap run completed (10 hosts up) scanned in 5 seconds

Як видно з приведеного вище лістингу, цей метод визначення підключених до Internet вузлів дуже ефективний, навіть якщо на них блокується передача пакетів ICMP. За допомогою утиліти nmap має сенс провести декілька подібних перевірок, тестуючи такі стандартні порти як SMTP (25), POP (110), AUTH (110), Imар (143) або інші порти, які, по ваших відомостях, можуть бути унікальними на якому-небудь комп'ютері досліджуваної мережі.
Ще однією утилітою, спеціально призначеною для TCP-прослушивания, є утиліта hping (http://www.kyuzz.org/antirez/). По можливостях вона навіть перевершує утиліту nmap. Утиліта hping дозволяє користувачам управляти параметрами протоколу TCP, що може забезпечити проникнення пакетів, що відправляються, навіть через деякі пристрої управління доступом. Так, встановивши порт призначення за допомогою параметра -р, можна обійти деякі пристрої управління доступом точно так, як і це було зроблено із застосуванням утиліти traceroute в розділі 1. Тому утиліта hping може з успіхом служити не тільки для TCP-прослушивания, але і долати перешкоди деяких пристроїв управління доступом завдяки можливості фрагментації пакетів.

[tsunami] hping 192.168.1.2 -s -p 80 -f
HPING 192.168.1.2 (etho 192.168.1.2):
S set, 40 data bytes
60 bytes from 192.168.1.2:
flags=sa seq=0 ttl=124 id=17501 win=0 time=46.5
60 bytes from 192.168.1.2:
flags=sa seq=l ttl=124 id=18013 win=0 time=169.1

В деяких випадках прості пристрої управління доступом не можуть коректно обробляти фрагментовані пакети, що дозволяє їм проходити через такі пристрої і досягати зломщика адреси, що цікавить. Звернете увагу, що у разі, коли порт відкритий, повертаються прапори TCP SYN (s) і дек (А). Утиліту hping дуже легко використовувати в сценаріях оболонки з параметром лічильника пакетів -cn, де N — це кількість пакетів, які потрібно відправити до Internet, перш ніж переходити до виконання наступної команди сценарію. Хоча даний метод і не володіє такою швидкістю, як описані вище методи ICMP-прослушивания, в деяких випадках тільки він може допомогти з'ясувати конфігурацію мережі. Детальніше утиліта hping розглядається в розділі 11, "Брандмауери".
Останнім із засобів прослуховування розглянемо утиліту icmpenum хакером Симплом Номадом (Simple Nomad) (http://www.nmrc.org/files/sunix/icmpenum-1.1.tgz). Цю утиліту зручно використовувати для визначення архітектури мережі. Утиліта icmpenum дозволяє швидко виявити підключені до мережі комп'ютери, передаючи стандартні ICMP-пакеты ECHO, а також ICMP-запросы TIME STAMP REQUEST і INFO. Якщо вхідні пакети ECHO не пропускаються прикордонним маршрутизатором або брандмауером, то підключені вузли можна як і раніше ідентифікувати за допомогою альтернативних пакетів ICMP.

[shadow] icmpenum -i2 -с 192.168.1.0
192.168.1.1 is up
192.168.1.10 is up
192.168.1.11 is up
192.168.1.15 is up
192,168.1.20 is up
192.168.1.103 is up

У приведеному прикладі мережа класу З (192.168.1.0) була протестована з використанням ICMP-запроса TIME STAMP REQUEST. Проте реальна потужність утиліти icmpenum полягає в можливості ідентифікації вузлів за допомогою помилкових пакетів, що дозволяє уникнути виявлення зловмисника. Це можливо завдяки тому, що утиліта icmpenum дозволяє генерувати помилкові пакети з використанням параметра -s і пасивно чекати відгуку при вказівці параметра -р.
Підводячи підсумок, можна відзначити, що Iсмр- або TCP-прослушивание дозволяє точно встановити, які комп'ютери мережі підключені до Internet. Так, в даному прикладі ми встановили, що з 255 потенційних адрес мережі класу З до Internet підключено лише декілька комп'ютерів. Виявлені вузли стають предметом першочергової уваги в подальших дослідженнях. Таким чином, ми значно звузили зону пошуку, що дозволяє заощадити час і сили для ефективніших дій.




:: Реклама ::

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


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

-


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

-


 

 

 

 


Copyright © Klab-F 2008