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 ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.