Насамперед виріши, для яких цілей ти збираєшся зламувати сервер лише для дефейса або ж ти шукаєш якусь конкретну інформацію. Це важливо — в першому випадку ти повинен отримати доступ на сервер і замінити сторінки, у другому ти повинен не тільки зламати сервер, але і залишити відповідні програми, т. к. з першого разу знайти потрібну тобі інформацію, швидше за все, тобі не вдасться. Ці програми полегшать тобі подальші спроби проникнення в систему, якщо звичайно їх не виявить адміністратор. Ну, що ж приступимо:

1. Скануємо порти і сервер на вразливі скрипти.

Сканування портів просто необхідно для визначення сервісів працюють на віддаленому сервері. Кожному порту відповідає своя служба, наприклад 21 — це ftp, 25 — SMTP (пошта), 80 — HTTP і т. д. Інформація про відкритих портах (встановлених сервісах) потрібно тебе надалі. Завантажуємо сканер портів і починаємо сканувати віддалений хост. Зі сканерами портів для Windows я думаю ти розберешся, а ось як сканувати під Юнікс, використовуючи netcat:

./netcat -v -z www.pupkin.ru 1-65356

В даному випадку буде просканувати сайт www.pupkin.ru на визначення відкритих портів з 1 по 65356-ой. Параметр -z обов’язковий — він «говорить» netcat, що користувач хоче сканувати порти, параметр -v повідомляє netcat, що інформацію потрібно виводити детально, тобто із вказівкою назв сервісів для кожного відкритого порту.

Не забудь записати інформацію в файл і обов’язково запиши версії встановлених сервісів. Далі запускай сканер на вразливість cgi-скриптів. Якщо будуть виявлені — створи відповідний файл і все туди запиши. Я не буду описувати метод злому серверів на основі вразливих cgi-скриптів — це не найкращий метод проникнення в систему, до того ж малореальний. Якщо хочеш дізнатися більше інформації за цим методом, читай численні статті на Хакера, в тому числі і мою.

2. Визначаємо операційну систему віддаленого компа.

Фактично, виконувати якихось додаткових дій щодо визначення операційній системі, тобі не доведеться. Практично всі сканери можуть роблять це автоматично. На всякий випадок ти повинен знати і інші методи визначення ОС:

– з допомогою nmap: # nmap -O www.pupkin.ru;

– з допомогою telnet: telnet www.pupkin.ru 80 — тисни enter, незабаром з’явиться багато рядків, придивившись ти виявиш тип операційки (хоча це може бути і фейк);

– з допомогою мізків: якщо у відкритих портах встановлені Window-ські сервіси, то зрозуміло справа, що операційна система Windows NT/2000, якщо ж Юниксоидовские — значить Юнікс встановлений;

Визначення операційної системи дуже важливо. Не будеш же ти застосовувати методи злому для Unix’a, якщо на віддаленому хості варто WinNT.

3. Залежно від операційки можна приступати безпосередньо до злому.

Почнемо звичайно ж з Юникса.

(віддалений виклик процедур). Ну і звичайно ж не варто забувати про експлоїти, саме з них ми і почнемо твій перший злом. Завантажуй файл, в який ти зберіг результати сканування портів. Наприклад, твій сканер встановив, що з 21 порту встановлено FTP клієнт (6.00 LS). Даний клієнт FTP використовується в FreeBSD 4.0. Для даного клієнта є віддалений експлоїт, який називається turkey2.c. Де ж його знайти?

Краще всього користуватися сайтом www.securityfocus.com/. Зайшовши на сайт пиши в полі «Search» FTP server (6.00 LS). В залежності від кількості помилок, наявних у даного сервісу, тобі буде видано відповідне кількість описів даних помилок, в тому числі і експлоїти. Отримавши експлоїт його потрібно буде скомпилить: пиши в командному рядку (для shell’a)

gcc -s твой_эксплоит.c -o твой_эксплоит.ехе

Для Uwin’a командний рядок виглядає так: cc -s твой_эксплоит.c -o твой_эксплоит.ехе

Отримуєш виконуваний файл експлоїта. Далі пиши ./твой_эксплоит.ехе host. Не забувай про команду -h (./твой_эксплоит.ехе -h), яка просто необхідна, якщо ти не знаєш з якими параметрами запускати даний експлоіт. Якщо все пройде на ура, ти отримаєш права рута і зможеш робити з сайтом все що завгодно. Скомпилил ти експлоїт, запустив — але не тут то було, система пропатчена — експлоїт не працює. Не біда переходимо до плану «Б».

Метод другий: використовуємо для злому NFS

NFS — це мережна файлова система, зазвичай адміни блокують доступ до неї, але все ж.

# showmount -e host — якщо все окей, тобі буде видана приблизно наступна інформація: export list for host (host — IP-адресу, який ти ввів в команді showmount):

/var (everyone)

/usr (user)

Це означає, що ти можеш використовувати дві паки /var /usr, а отже і досліджувати їх вміст. Це робиться наступним чином:

# mount host:/usr /mnt — (mnt — це назва папки куди буде експортуватися розділ usr).

Проблема в тому, що з Uwin’ом не поставляється утиліта showmount. Тому для цих же цілей зручніше використовувати програму NFS. Адресок звідки її можна завантажити вказаний вище.

Запускаємо nfs:

# nfs

nfs> host имя_удаленного компа (наприклад: host 10.0.0.254).

nfs> export (дізнаємося які каталоги можна експортувати)

nfs> mount название_каталога_для_экспорта (його ти отримав в попередній команді)

nfs> cd /etc (переходимо в каталог etc)

nfs> cat passwd (виводимо на дисплей файл паролів)

Останні дві команди можливі тільки в тому випадку, якщо для експорту тобі буде доступна папка “/”, тобто весь кореневий каталог віддаленого компа.

Як ти не старався, але все марно, адмін перекрив NFS і не хоче чомусь відкривати доступ до цієї системи. Нічого, у нас ще є RPC-remote procedure call — віддалений виклик процедур. Це така система, яка дозволяє запускати програми на віддаленому компі. Для дослідження цієї системи існує утиліта: rpcinfo. Запускаємо: rpcinfo -p host. (Примітка: немає такої утиліти в Uwin’е — скачай для Windows rpcdump, мова про яку нижче).

В результаті, якщо RPC використовується сервером, то ти отримаєш приблизно наступну інформацію:

100000 2 tcp 111 rpcbind

100002 3 udp 635 mountd

100003 2 udp 2049 nfs

Таким чином ти встановив, які програми RPC встановлені на віддаленому компі. Тепер знову шукаємо експлоїти і повторюємо описані вище дії. До речі, для windows є програма, яка називається rpcdump і яка дозволяє отримати інформацію аналогічну rpcinfo. Завантажити програму можна з сайту:

http://www.atstake.com/research/tools/index.html

Ну ось і все, звичайно я описав не всі методи злому Юнікс, але все ж цього тобі як починаючому хакеру повинно вистачити.

Висновок по злому Юнікс.

Припустимо права рут отримані, ти суперюзер. Що далі? А ось що. Не важливо зламував ти сервер лише для дефейса або ж для чогось іншого, все одно ти повинен приховати сліди свого перебування на сервері. Для це набирай команду cat /etc/syslog.conf — на дисплей тобі вискочить інформація про системних журналах і їх місце розташування на диску: наприклад /var/log або /var/account. Чистити доведеться всього до хрону, для цих цілей створена програма wzap.

Злом NT

Першим ділом тобі необхідно дізнатися імена користувачів, зареєстрованих на даній системі. Почнемо звичайно ж з утиліт User2Sid і Sid2User.

Пиши в командному рядку:

user2sid IP-адресу віддаленого компа «Power users» або

user2sid IP-адресу віддаленого компа «Domain users»

Отримаєш приблизно такий рядок:

S— 1 — 5 — 25 — 8215467 — 1456327812 — 162345100 — 513

Далі пиши в командному рядку:

sid2user IP-адресу віддаленого компа 5 25 8215467 1456327812 162345100 500

Остання цифри дорівнює 500, це ідентифікатор адміністратора, точно також як в Юнікс Uid адміна дорівнює 0.

Отримаєш повідомлення:

Name is pupkin.

Тепер у тебе є ім’я адміна. Інші способи отримання імен користувачів:

1. net view IP-адреса компа

2. nbtstat -A IP-адреса компа

3. Використовуючи Legion.

4. Використовуючи програму Enum (працює тільки в NT/2000). У цієї програми дуже багато можливостей, аж до методу віддаленого підбору пароля.

Методи:

1. Віддалений підбір пароля.

Для цих цілей можна використовувати Brutus або ж інша не менш поширену програму, яка називається Cerberus InternetScanner:http://www.cerberus-infosec.co.uk/cis.shtml

2. Віддалене переповнення буфера. Тобі потрібно знайти на technotronic.com або securityfocus.com експлоїти для WinNT (IIS — 4,5). Наприклад, iishack.

3. Інший метод полягає в тому, щоб поставити у себе сервер, залити на нього якусь інформацію, яка користується великим попитом (наприклад, еротику) встановити сніффер, який буде перехоплювати паролі. Після цього слати на мило адміна сервера листи-спам — мовляв, подивися на круті картинки, зайди на сайт адрес_твоего_сайта. Після того як адмін зайде на твій «лівий» сайт у тебе буде хешований пароль. З допомогою проги, зазначеної вище (lophtcrack), ти зможеш розшифрувати цей пароль.

4. Соціальна інженерія і троянці. Твоє завдання-переконати користувача NT запустити вкладений файл, який є нічим іншим як троянцем: NetBus, Back Orifice або SubSeven або ж keylogger.