LINUX.ORG.RU

EUID=0


0

0

Есть любая очень дырявая программа без suid и sgid. То как можно ее проэксплоитить? Если в ядре этот процесс будет с UID,EUID != 0 Как же эти эксплойты запашут? Видно, что обычно шелкод выполняет setuid чтобы стать рутом, но почему setuid срабатывает??

★★★

>что обычно шелкод выполняет setuid чтобы стать рутом

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

Murr ★★
()
Ответ на: комментарий от Murr

Не знаю, не знаю зачем он это делает, но делает. И setgid тоже. Может шелкод кривой, может еще что. Но суть в другом, почему у шела появляются привелегии, когда на него передается управление?

Chumka ★★★
() автор топика
Ответ на: комментарий от Chumka

> почему у шела появляются привелегии, когда на него передается управление?

Потому что непривелегированные дыры это неуловимые индейцы джо. хором. без ансамбля :)

lb
()

setuid работает настолько элементрано, что сделать в нем баг невозможно. Притом, существует этот ядреный вызов не один десяток лет. А shell получает привелегии, хотрожопо запуская suid'ные проги, в которых есть баг, позволяющий сделать exec или chmod или chown или еще что-либо. Магии в Unix нет и не будет.

mutable
()
Ответ на: комментарий от mutable

Да не в setuid дело. Естесственно он непробиваем. Так вот с suidные проги-то вопросов не вызывают, у них EGID=0, я же спрашивал, как быть с обычными не суидными? А на счет магии в UNIX, по-моему она есть ((: Словосочетание уж больно знакомое, от куда-то... (:

Chumka ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.