Отримання доступу до серверу. Продовження першої статті.

20 червня 2015 16:02 cody_page 970 9

Передмова

Я був дуже здивований відгуками до моєї першої статті.
Щож, я приємно вражений і зараз, з новим натхненням, починаю писати продовження.

Перш ніж почати

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

Починаємо

Перед тим як хакер збирається зломати певний сервер, він повинен детально його дослідити. Йому повинна бути відома операційна система та сервіси, які встановлені на сервері. Також він повинен дізнатись чи слідкує адміністратор за патчами та оновленнями. Досвідчені хакери можуть дізнатись всю цю інформацію використовуючи тільки браузер та telnet-клієнт, але початківцям краще використовувати сканер вразливостей.
Для користувачів Windows підійде SSS-сканер. Для UNIX подібних систем можна використовувати nmap.
Зараз я пишу статтю з комп'ютера, на якому встановлена Xubuntu, тому приклади будемо розбирати використовуючи nmap.
Встановити сканер можна виконавши в терміналі команду

aptitude install nmap

Примітка: Для тих, хто не любить працювати в консолі, можу порадити графічну оболонку, яка називається Zenmap

Тепер, коли nmap встановлена, можемо починати.
Цей сканер підтримує різні варіанти сканування, але я не буду розповідати про кожний із них, а розкажу тільки про основні.
Взагалі для того щоб просканувати якийсь сервер, вам потрібно ввести наступний рядок в термінал: nmap <ціль>.

В данному прикладі ми будемо використовувати спеціально створений розробниками nmap хост, для експерементів scanme.nmap.org.
Зараз сканер перевірить хост на наявність відкритих потрів, та служб, які їх використовують.

Примітка: Подальші дії ви повинні робити від імені root користувача.
Ввімкнути його ви можете командою sudo -s

Запустимо nmap командою nmap scanme.nmap.org

При завершенні отримуємо результат:

Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.29s latency).
Not shown: 987 closed ports
PORT     STATE    SERVICE
22/tcp   open     ssh
25/tcp   filtered smtp
80/tcp   open     http
111/tcp  filtered rpcbind
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
445/tcp  filtered microsoft-ds
587/tcp  filtered submission
1720/tcp filtered H.323/Q.931
1900/tcp filtered upnp
2869/tcp filtered icslap
5000/tcp filtered upnp
9929/tcp open     nping-echo

Насправді, нічого особливого ви тільки що не побачили.
Все як завжди, ssh на стандартному 22 порту і http на 80.
Nmap може розпізнавати декілька станів портів, а саме:

Closed-не зв'язані в данний момент ні з якою програмою.

Filtred-щось в мережі блокує доступ до порту, тому nmap не зможе визначити закритий він, чи відкритий.

Unfiltred-порти відповідають на запити, але неможливо визначити відкриті вони, чи закриті.

Open-порт відкритий.

Отже, після того як ви знайшли відкриті порти, ви можете застосувати Експлойт.

Експлойт-це програма, фрагмент коду, чи послідовність команд, які використовують вразливі місця в програмному забезпеченні, для проведення атаки на сервер. Метою таких атак може бути як захоплення контролю над сервером, так і припинення його працездатності.
Все що вам потрібно, це знайти відпоповідний до вразливого місця експлойт.
Наприклад ви побачили, що на певному відкритому порту висить якась програма. Вам потрібно-вбити в пошуковик ключові слова, а саме "<назва програми> експлойт", та знайти його.

Як користуватись Експлойтами?

Справа дуже проста. Потрібно лише запустити його, і він все зробить за вас.
Проблема лише в тому, що більшість з них це прості .txt файли, тому якщо наприклад в файлі міститься код на C++, вам доведеться його спочатку скомпілювати.
Якщо ж експлойт написаний наприклад на PHP, тоді компілювати нічого не потрібно. Достатньо просто залити файл в shell і запустити його.

Про професіоналів

Пам'ятайте, що все вище мною описане призначене для того, щоб ви зрозуміли ази отримання доступу до серверу.
Професіонали не будуть використовувати вже готові сплойти, і тим паче не скануватимуть сервери nmap'ом. Все це-готовий продукт, а профі роблять все вручну.

Післямова

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

Дякую за увагу!

970 6

Схожі матеріали:

Коментарі:

are_you_madness

20 Чер 2015 16:17

не відкривається посилання на першу статтю. Виправте, будь ласка.

seitbekir

20 Чер 2015 16:26
Цей коментар прихований автором

seitbekir

20 Чер 2015 16:37

профі роблять все вручну
Скажемо вiрнiше. Тi мiсця де вони копошаться не мають стандартних вразливостей, тож не має сенсу сканувати такими сканерами, адже люди, що займаються безпекою "важливих" ресурсію насамперед захистились від ламерів із стандартними плойками.

OlegWock

20 Чер 2015 17:05

//Олег знову зі своїми зауваженнями//

  1. Стандартний скан нічого не дає, максимум -- перевірити чи є якийсь софт на сервері. Чому не використовували -sV (для отримання версій) та -O (отримання даних про ОС)
  2. Навіщо рут, якщо nmap і без того працює. Ну, точніше, без руту працює те що ви показали вище.
  3. Ви згадали про експлойти, але слід додати, що: по-перше, не можна запускати код не дивлячись (а скомпільованим експлойтам взагалі довіряти не можна), бо стерти домашню директорію ніяких дозволів не треба. І по-друге, експлойти завжди прив'язані до версії, тому потрібно юзати (-sV). Трохи повторяюсь, вибачте.

Ну і просто побажання: використовуйте -F (швидке сканування), дані в більшості випадків ті самі, але робить швидше.

andreykko

20 Чер 2015 17:11

напиши свою статейку про хакерство теж :3

OlegWock

20 Чер 2015 17:16

andreykko, я не настільки крутий хакер щоб про це пистаи

cody_page

20 Чер 2015 18:06

Якби ви уважно читали коментарії до попередньої статті, а також передмову до цієї, ви б не писали цього зараз. Минулого разу мене просили лити менше "води", та і в передмові сказано "спробую донести до вас загальну картину того, як хакери отримують до них доступ", а не дам чітку, покрокову інструкцію як зломати сервер.

OlegWock

20 Чер 2015 20:51

cody_page, окей. Ну от сканонув я, наприклад, codeguida. Отримав у відповідь, що є такий-то софт на такому-то порту (зазвичай на стандартному). Що мені це дає? По суті - нічого. Якщо я зараз піду шукати експлойти за запитом "ssh exploits" мені видасть купу інфи, я почну по черзі пробувати кожен, але не один не спрацював. Чому? Бо andreykko вчасно оновлює софт, в нього ssh свіжий, до нього не знайшли ще експлоітів. Що ми маємо в підсумку: купу дарма витраченого часу та нервів. Чому? Тому що треба знати хоча б версію, це відправна точка. Te, що у %random_server_ip% на 22 порті висить ssh я можу сказати й так, і в 99% буду правий.

Ruslan Kiianchuk

21 Чер 2015 00:11

Скажімо чесно, це серія статтей від script kiddie для script kiddie :)

Авторизуйтесь, щоб залишити коментар.