Бесплатно Алгоритм получения Root прав на любом сервере

Тема в разделе "Взлом и уязвимости", создана пользователем Sherlok, 23 ноя 2017.

  1. Sherlok

    Sherlok

    Сообщения:
    30
    Баллы:
    3
    Привет, хукс! Сегодня решил поделиться информацией как можно получить права на любом сервере.

    Бытует мнение, что взлом это творческий процесс и привязывать его к каким либо алгоритмам не следует. Но на самом деле то не совсем так. Общий порядок действий все таки есть. И я постараюсь рассказать о нем. Так же я буду приводить ссылки по теме.

    Итак, у нас есть удаленный сервер и адрес сайта который хоститься на этом сервере. Задача — получить права рут на сервере.

    Для начала нам нужно получить хоть какие нибудь права на удаленном сервере. Т.е. нам нужно получить доступ к выполнению команд.

    Можно идти по 2 путям.

    1 — Рассматривать сайты которые хостятся на сервере и пытаться залить Shell.

    2 — Напрямую сканировать сервер и пытаться найти уязвимости у сервисах которые запущены на нем.



    Так же можно использовать СИ, но это не входит в рамки данной статьи.



    Пожалуй начнем по порядку.



    Атака на скрипты сайта.

    Итак, нам нужно залить шелл на через уязвимость в скриптах сайта.

    Здесь тоже можно поступать по-разному — либо самостоятельно искать уязвимости на сайте, либо определить название и версию скриптов, отправиться на багтрак и там поискать информацию о дырах в данных скриптах. Второй случай, думаю понятен. Например, вы приходите на сайт и видите в низу надпись WordPress XX.XX где ХХ.ХХ — версия движка. После вы идете например на www.securitylab.ru или на www.milw0rm.com там ищете сплоиты или информацию по уязвимостях в данной версии. Использую эту информацию или сплоиты вы сможете залить шелл на сервер тем самым, получив права на выполнение команд. На самом деле багтраков море, достаточно только поискать.

    Теперь разберем второй случай — под данную версию движка вы не смогли найти ничего. Теперь придется рассчитывать только на себя. Сначала нужно вручную проверить параметры сайта на фильтрацию т.е. проверить сайт на такие уязвимости, как PHP include, SQL inlection, XSS. С помощью первых двух вы сможете залить шелл, а с помощью XSS сможете украсть куки админа. Что бы не размусоливать эту тему предлагаю вам ознакомиться с ниже приведенными ссылками:



    SQL injection —

    -----------------------------------------------------------------------

    ru.wikipedia.org/wiki/%D0%92%D0%BD%D0%B5%D0%B4%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_SQL-%D0%BA%D0%BE%D0%B4%D0%B0

    www.securitylab.ru/contest/212099.php

    www.xakep.ru/post/19146/default.asp

    www.whatis.ru/razn/razn13.shtml

    ------------------------------------------------------------------------



    PHP include

    -----------------------------------------------------------------------

    www.izcity.com/data/security/article1001.htm

    -----------------------------------------------------------------------



    XSS

    -----------------------------------------------------------------------

    ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3

    www.hackzona.ru/hz.php?name=News&file=article&sid=5005&mode=&order=0&thold=0

    -----------------------------------------------------------------------



    Кроме того, можно скачать себе исходные коды скриптов сайта (если они публичные) и разобрать его по косточкам на известные ошибки.



    -----------------------------------------------------------------------

    www.xakep.ru/post/43786/default.asp

    www.dreamcheats.ru/t3779.html

    forum.antichat.ru/showthread.php?t=49184

    -----------------------------------------------------------------------

    Вобще есть много хитростей при атаке на веб-сайт, советую поискать побольше информации в поисковике.



    Предположим у тебя получилось залить шелл, ты можешь выполнять команды. На этом пока остановимся и разберем, как еще можно получить такой доступ.



    Сканирование и использование эксплоитов.

    Сервер может выполнять разные функции — например, транспорт файлов (FTP) или отправка и прием почты (POP3, SMPT) и так далее.

    Что бы выполнять эти функции нужный специальные программы — сервисы, которые будут висеть на портах выполнять свои функции.

    Например, на сервере открыт 21 порт — этот порт использует протокол FTP. Раз порт открыт значит висит какой то сервис. Например, sendmail.

    Для определения открытых портов мы и будет сканировать сервер.

    Советую взять сканнер nmap.



    $nmap www.site.com



    Здесь мы в параметре передали адрес сайта, который присутствует на сервере (хостится).

    Предположим, что сканер показал нам, что на сервере открыт 21 порт. На самом деле отрытых портов будет много, но для примера возьмем этот.

    Теперь нам нужно узнать имя и версию сервиса который тут висит. Для этого можно использовать telnet:



    $telnet www.site.com 21



    в ответ сервер выдаст нам приветствие и скорее всего имя и версию сервиса.



    Сразу же можно определить ОС:



    $nmap www.site.com -O



    Замечу, что для выполнения этой команды вы должны быть под root.

    Всю собранную информацию нужно записать куда-нибудь.

    Теперь можно найти удаленный эксплоит для данной версии FTP демона.

    Но не стоит тут же искать сплоиты, возомжно проникнуть в систему можно и без них.

    Например, в sendmail есть дыра, через которую можно отправить себе файл с паролями.

    Достаточно поискать в гугле уязвимости для данной версии. Не стоит так же забывать про ядро системы (версию мы узнали при сканировании)

    Ну предположим, что ничего не проктило, теперь череда сплоитов.

    Возможно, тебе повезет, и ты сразу найдешь эксплоит под данную версию демона.

    Если так, то его нужно скомпилировать:



    $gcc -o spoit /home/stranger/sploit.c



    Но скорее всего будет куча ошибок, которые придется исправлять.

    Для этого нужно знать С++. Если сплоит распространен в сети, то ты возможно сможешь найти уже скомилированую версию, но как правило удаленных эксплоитов не так много. Если удалось скомпилировать, то смело запускай. Не забудь, что ему нужно передать параметры. Обычно эксплоит сам говорит, что нужно вписать.

    Вот нескольо ссылок про них:

    --------------------------------------------------------------

    damagelab.org/index.php?showtopic=7538

    www.winzone.ru/articles/286/

    -------------------------------------------------------------

    В лучшем случае ты получишь права юзера, от которого был запущен данный демон.



    Повышения привилегий.

    Итак ты имеешь права, возможно, что ты уже под рутом (смотря каким способом ты проникал в систему). Для того что бы узнать свои права введи



    $id



    uid=xxx(**********) gid=xxx(********)

    Если xxx равны 0, то вы под рутом, в противном случае нужно еще попотеть.

    Итак нужно поднять права так чтобы uid=0 gid=0,

    стоит опять вспомнить про эксплоиты — для начала изучи доступные дириктории, возможно ты найдешь в них какие либо приложения, для этих приложений нужно найти сплоит и залить на сервер, ну и запустить впоследстии, где искать ты знаешь. На самом деле есть много способов как подняться. Но ведь это всего лишь алгоритм.

    Да и взлом — это творческий процесс.
  2. inv1s1ble

    inv1s1ble

    Сообщения:
    38
    Баллы:
    6
    Этой статье лет 8 минимум (это когда я ее читал) а судя по ссылке на хакер так и вообще 10. Информация указанная тут неактуально почти вся (кроме советов лить сплойты). Почему не указал от куда ты копипастил ?
    Мог бы хотя бы для приличия ее сам прочитать и ссылки проверить.
    Короче по факту очередное набивание постов.

Поделиться этой страницей