Re[2]: Linux: царь^w root ненастоящий!
От: IID Россия  
Дата: 17.08.16 19:35
Оценка:
Здравствуйте, andrey.desman, Вы писали:

AD>Здравствуйте, IID, Вы писали:


IID>>- файл утилиты лежит в /system/xbin (ссылка из /system/bin), имеет chown 0.0 и chmod 06755


AD>Вроде же /system монтируется с опцией nosuid, не?


хз
rr — моя тулза
su — китайская

shell@T01:/ $ mount | grep /system
/dev/block/bootdevice/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
shell@T01:/ $ rr
root@T01:/ # mount -o remount,rw /system
mount: Operation not permitted
255|root@T01:/ # exit
255|shell@T01:/ $ su
root@T01:/ # mount -o remount,rw /system
root@T01:/ # exit
shell@T01:/ $ mount | grep /system
/dev/block/bootdevice/by-name/system /system ext4 rw,seclabel,relatime,data=ordered 0 0
shell@T01:/ $


Еще что замечено:
1) китайская не работает без демона, запущенного от init. Демон — файл с точно таким же содержанием, но другим именем. Попытка грохнуть 2 процесса-демона и перезапутить демона от root вручную приводит к тому, что su с таким демоном сразу же завершается.
2) убитые процессы-демоны самостоятельно перезапускаются в течении ~минуты. Парент /init (pid=1). Механизм перезапуска пока не выяснил. Китайцы вообще мощно в систему внедрились, я около 10ка копий насчитал, это только бегло найденные.
3) в моей тулзе я не могу зайти в /data/local/tmp. Китайская же заходит без проблем.

IID>Ты в своей утилите логировал результаты вызова всех этих seteuid/getuid?


Все такие вызовы успешны. Отдизасмил частично китацев — они делают вот так:
if (setgid(0) || setuid(0))
    return -1;
    
if (setresgid(-1, gid, -1) || setresuid(-1, uid, -1))
    return -2;
    
if (setresgid(gid, gid, gid) || setresuid(uid, uid, uid))
    return -3;


Эффекта это не даёт.

IID>А тулза делает fork/exec или просто exec?


моя
const char* sh = "/system/bin/sh";
if (execlp(sh, sh, NULL) < 0)
{


В китайской видел сисколлы execve, fork, vfork. Других, относящихся к запуску, нет.
kalsarikännit
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.