1.7, PnDx (ok), 11:50, 18/01/2016 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
Если есть доступ хотя бы к /tmp (без noexec) и возможность запустить tar|cpio|pax, проблем притащить что нужно с любого читаемого блочного устройства нет в принципе.
Метода выше — скорее для обхода noexec? ** Но: если вгрузит, это сразу CVE-*. Так что максимум, это отсутствие бита "x" и невозможность его выставить.
Вот так примерно должно быть в случае noexec:
/lib64/ld-2.18.so /mnt/ls
/mnt/ls: error while loading shared libraries: /mnt/ls: failed to map segment from shared object: Operation not permitted
| |
1.8, Онаним (?), 11:53, 18/01/2016 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> /lib64/ld-2.13.so /dev/sdb
> Далее происходит магия (см. исходники exec). Много думаем...
"Грешно издеваться над больными людьми" (С)
funky@funky:/tmp$ /lib/x86_64-linux-gnu/ld-2.19.so /dev/sdb
/dev/sdb: error while loading shared libraries: /dev/sdb: cannot open shared object file: Permission denied
funky@funky:/tmp$ sudo /lib/x86_64-linux-gnu/ld-2.19.so /dev/sdb
config-err-gvTJhW unity_support_test.0
| |
|
|
3.27, Аноним (-), 08:26, 05/02/2016 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> мы же не обсуждаем специально накрученные гайки, а берем то как поставлено у рядового юзера..
У рядового юзера программы в системе запускаются и без креатива с ld.so. А еще программу можно скачать. Можно конечно пользователю readonly устроить, только тогда и работать в системе станет сложно.
| |
|
|
1.26, Павел Самсонов (?), 21:54, 30/01/2016 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
>[оверквотинг удален]
> работает, curl огорожен, Flash-накопители монтировать прав нет.
> Допустим, у нас есть неформатированная флешка. На своём компьютере запишем нужную программу
> в "raw-режиме", не создавая файловую систему и разделы:
> dd if=/bin/ls of=/dev/sdb
> Приходим на целевую машину, на которой нужно запустить программу. Помним про версию
> ведра/ядра/libc/статическую сборку.
> Вставляем флешку. И далее в зависимости от версии системы творим зло. В
> Debian Jessie это будет выглядеть так:
> /lib64/ld-2.13.so /dev/sdb
> Далее происходит магия (см. исходники exec). Много думаем...
Нм, вобщем то /dev это tmpfs. Попробуйте тоже самое, предварительно выполнив mount /dev -o remount,noexec.
> URL:
> Обсуждается: https://www.opennet.ru/tips/info/2934.shtml | |
1.31, freehck (ok), 15:26, 03/11/2016 [ответить] [﹢﹢﹢] [ · · · ] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
Мне очень интересно, ничего ли автора не смущает вот в этом:
% ll /dev/sd{a,b}
brw-rw---- 1 root disk 8, 0 май 24 15:51 /dev/sda
brw-rw---- 1 root disk 8, 16 май 24 15:51 /dev/sdb
% groups
sudo users wireshark lpadmin scanner docker hashman
Ну запущу я ld.so с этими правами. Но чтобы выполнить программу на /dev/sdb, я должен открыть это блочное устройство на чтение. А у юзера в 99.9% случаев таких прав нету.
| |
|