setuid (где посмотреть)

Модератор: Модераторы разделов

Аватара пользователя
WhiteXaker
Сообщения: 39
ОС: Ubuntu

setuid

Сообщение WhiteXaker »

Добрый вечер, программисты :drinks: Итак вопрос: в linux код открытый, подскажите пожалуйста где лежит исполняемый файл setuid, а также его исходник? прошу прощения, если что - то не совсем верно написал. Я самоучка и много еще могу не знать :blush:
"Хакерская культура" – это разбросанная по сети коллекция субкультур, которые имеют, тем не менее, общий опыт, общие корни и общие ценности. В ней существуют свои мифы, герои, злодеи, свои поэмы, шутки, табу и мечты.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: setuid

Сообщение watashiwa_daredeska »

WhiteXaker писал(а):
19.05.2009 18:03
подскажите пожалуйста где лежит исполняемый файл setuid
find $(echo $PATH |tr ':' ' ') -perm -4000
WhiteXaker писал(а):
19.05.2009 18:03
а также его исходник?
Это Вам спецы по Вашему дистрибу расскажут, как узнать имя пакета, из которого установлен файл, как найти и установить соответствующий пакет исходников и пр.
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: setuid

Сообщение кодировщик »

Вопрос неясный, если честно. setuid - реальный идентификатор пользователя.
А насчёт типа где-лежит, то

Код: Выделить всё

find / -perm -2000 -o -perm -4000 -exec ls -l {} \;

файлы с липким битом рута.
Спасибо сказали:
Аватара пользователя
WhiteXaker
Сообщения: 39
ОС: Ubuntu

Re: setuid

Сообщение WhiteXaker »

ммм... суть такова, что мне надо поглядеть шестнадцатиричные коды setuid.

Код: Выделить всё

objdump -D ./testprog

Вот в связи с этим мне нужно просто этот файлик найти
"Хакерская культура" – это разбросанная по сети коллекция субкультур, которые имеют, тем не менее, общий опыт, общие корни и общие ценности. В ней существуют свои мифы, герои, злодеи, свои поэмы, шутки, табу и мечты.
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: setuid

Сообщение кодировщик »

WhiteXaker писал(а):
19.05.2009 18:51
ммм... суть такова, что мне надо поглядеть шестнадцатиричные коды setuid.

Код: Выделить всё

objdump -D ./testprog

Это дизассемблирование, нужно hexdump -x
Спасибо сказали:
Аватара пользователя
WhiteXaker
Сообщения: 39
ОС: Ubuntu

Re: setuid

Сообщение WhiteXaker »

ну я как раз и имел ввиду дизASM. Подход у них разный, меня вот больше интересует, где найти файлик, вызывающий setuid?
"Хакерская культура" – это разбросанная по сети коллекция субкультур, которые имеют, тем не менее, общий опыт, общие корни и общие ценности. В ней существуют свои мифы, герои, злодеи, свои поэмы, шутки, табу и мечты.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: setuid

Сообщение Portnov »

Эээ.. В хумор, что ли?
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: setuid

Сообщение drBatty »

WhiteXaker писал(а):
19.05.2009 19:19
Подход у них разный, меня вот больше интересует, где найти файлик, вызывающий setuid?

вы издеваетесь? ок, я тоже:

# find / -path "setuid



видите? я тоже не вижу такого файла. и find не видит. Может не так юзаю?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: setuid

Сообщение RasenHerz »

Код: Выделить всё

unsigned char shell[] = {0xb8, 0x69, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x80};

или на асме:

Код: Выделить всё

movl $0x69, %eax
movl $0x00, %ebx
int $0x80
Спасибо сказали:
Аватара пользователя
WhiteXaker
Сообщения: 39
ОС: Ubuntu

Re: setuid

Сообщение WhiteXaker »

:drinks: Хорошо. Я в самом начале темы сказал о том, что могу что - то не так написать. И я не над кем не издеваюсь.

Поставлю вопрос по иному: Как получить шестнадцатеричное представление вызовов setuid и setgid.

Народ, извиняйте, если как то не так излагаю... Я ведь только учусь. Все учатся на ошибках :rolleyes:

Жду наводящих вопросов, а может кто - то уже понял, что я хочу :blush:
"Хакерская культура" – это разбросанная по сети коллекция субкультур, которые имеют, тем не менее, общий опыт, общие корни и общие ценности. В ней существуют свои мифы, герои, злодеи, свои поэмы, шутки, табу и мечты.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: setuid

Сообщение watashiwa_daredeska »

RasenHerz писал(а):
19.05.2009 20:32

Код: Выделить всё

unsigned char shell[] = {0xb8, 0x69, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x80};

или на асме:

Код: Выделить всё

movl $0x69, %eax
 movl $0x00, %ebx
 int $0x80
А его так кто-то вообще вызывает, кроме glibc и троянов всяких?
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: setuid

Сообщение drBatty »

WhiteXaker писал(а):
19.05.2009 20:38
Жду наводящих вопросов

попробуйте в качестве отправной точки man 2 setuid
там много умных букв именно про это.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: setuid

Сообщение watashiwa_daredeska »

WhiteXaker писал(а):
19.05.2009 20:38
Поставлю вопрос по иному: Как получить шестнадцатеричное представление вызовов setuid и setgid.
Сильно неуверен, что оно однозначно.
Список бинарей, которые используют функцию setuid можно получить так:

Код: Выделить всё

#!/bin/sh

find $(echo $PATH |tr ':' ' ') -type f |while read f; do
  file $f |grep ' ELF.*executable.*dynamic' >/dev/null 2>&1 && nm -D $f |grep 'U setuid' >/dev/null 2>&1 && echo $f
done
Спасибо сказали:
Аватара пользователя
WhiteXaker
Сообщения: 39
ОС: Ubuntu

Re: setuid

Сообщение WhiteXaker »

сомневаюсь... но у меня в институте тема, связанная с информационной безопасностью, вот поэтому я и спрашиваю, как получить этот код?
Допустим

Код: Выделить всё

objdump -D ./mycode
выдаст мне шестнадцатеричное представление файлика mycode.
Далее

Код: Выделить всё

бла-бла-бла<main> 8080456 : 55  push %ebx
и так далее. Так вот как получить такое представление системного вызова setuid?
"Хакерская культура" – это разбросанная по сети коллекция субкультур, которые имеют, тем не менее, общий опыт, общие корни и общие ценности. В ней существуют свои мифы, герои, злодеи, свои поэмы, шутки, табу и мечты.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: setuid

Сообщение drBatty »

WhiteXaker писал(а):
19.05.2009 20:53
и так далее. Так вот как получить такое представление системного вызова setuid?

ну дык добавте в mycode.c этот вызов и посмотрите. В чём проблема?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
WhiteXaker
Сообщения: 39
ОС: Ubuntu

Re: setuid

Сообщение WhiteXaker »

ну дык добавте в mycode.c этот вызов и посмотрите. В чём проблема?


Вы имеете ввиду добавить вызов setuid в мой код, скомпилить и только после этого распотрошить :unsure:
"Хакерская культура" – это разбросанная по сети коллекция субкультур, которые имеют, тем не менее, общий опыт, общие корни и общие ценности. В ней существуют свои мифы, герои, злодеи, свои поэмы, шутки, табу и мечты.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: setuid

Сообщение drBatty »

WhiteXaker писал(а):
19.05.2009 21:15
ну дык добавте в mycode.c этот вызов и посмотрите. В чём проблема?


Вы имеете ввиду добавить вызов setuid в мой код, скомпилить и только после этого распотрошить :unsure:

:crazy:
ох...

Код: Выделить всё

doc ~>$ sed '' setuid.c
#include <sys/types.h>
#include <unistd.h>
int main()
{
        setuid(666);
        return 0;
}
doc ~>$ objdump -D a.out |sed '/<main>/,/^$/!d'
08048374 <main>:
 8048374:       8d 4c 24 04             lea    0x4(%esp),%ecx
 8048378:       83 e4 f0                and    $0xfffffff0,%esp
 804837b:       ff 71 fc                pushl  -0x4(%ecx)
 804837e:       55                      push   %ebp
 804837f:       89 e5                   mov    %esp,%ebp
 8048381:       51                      push   %ecx
 8048382:       83 ec 04                sub    $0x4,%esp
 8048385:       c7 04 24 9a 02 00 00    movl   $0x29a,(%esp)
 804838c:       e8 1f ff ff ff          call   80482b0 <setuid@plt>
 8048391:       b8 00 00 00 00          mov    $0x0,%eax
 8048396:       83 c4 04                add    $0x4,%esp
 8048399:       59                      pop    %ecx
 804839a:       5d                      pop    %ebp
 804839b:       8d 61 fc                lea    -0x4(%ecx),%esp
 804839e:       c3                      ret
 804839f:       90                      nop

это?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
WhiteXaker
Сообщения: 39
ОС: Ubuntu

Re: setuid

Сообщение WhiteXaker »

ох...


Не вздыхать :tongue: Я все понял. просто уточнил на всякий случай.

это?


да именно это. я впринципе уже сделал, добавив нечто схожее, что у вас получилось в мой код программы.


Всем спасибо за идеи, помощь и мысли.

Особенно благодарен вздыхающему drBatty :drinks:
"Хакерская культура" – это разбросанная по сети коллекция субкультур, которые имеют, тем не менее, общий опыт, общие корни и общие ценности. В ней существуют свои мифы, герои, злодеи, свои поэмы, шутки, табу и мечты.
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: setuid

Сообщение RasenHerz »

странно, я еще в своем посте показал как на асме осуществить вызов setuid() и даже привел кусок байт-кода. чего требовалось автору, для меня до сих пор осталось загадкой...или же нужно искать такой код в других программах?
Спасибо сказали:
Аватара пользователя
WhiteXaker
Сообщения: 39
ОС: Ubuntu

Re: setuid

Сообщение WhiteXaker »

странно, я еще в своем посте показал как на асме осуществить вызов setuid() и даже привел кусок байт-кода. чего требовалось автору, для меня до сих пор осталось загадкой...или же нужно искать такой код в других программах?


Нужно и ищут постоянно.
"Хакерская культура" – это разбросанная по сети коллекция субкультур, которые имеют, тем не менее, общий опыт, общие корни и общие ценности. В ней существуют свои мифы, герои, злодеи, свои поэмы, шутки, табу и мечты.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: setuid

Сообщение drBatty »

WhiteXaker писал(а):
19.05.2009 22:03
Нужно и ищут постоянно.

а... info sed, man crond
и будет вам антивирус из одной команды :)
Кстати, вот ещё по теме: chkrootkit
RasenHerz писал(а):
19.05.2009 21:57
странно, я еще в своем посте показал как на асме осуществить вызов setuid() и даже привел кусок байт-кода. чего требовалось автору, для меня до сих пор осталось загадкой...или же нужно искать такой код в других программах?

угу. вы правы. я скорее развернул ваш результат...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: