Может тут админчики знаю про механизм ASLR (BtcMaker) может знает так вот форумчане VLMI ловите уязвимость изучал каталог /proc в Android, и мое внимание привлекло поле WCHAN. Это канал ожидания (wait channel), там содержится адрес события, которое ожидает конкретный про- цесс. Увидеть его можно при запуске команды ps с опцией -l. Узнать значение wchan можно из пространства пользователя, прочитав /proc/pid_of_interest/stat. И это довольно странно. Что, если наш про- цесс находится в пространстве ядра? Тогда мы получим адрес ядра? Скрин-http://joxi.ru/Vm6xRdLsDXMPdA Значение 18446744071579755915 — это, очевидно, место расположения кода ядра, и в hex выглядит следующим образом: >>> hex(18446744071579755915) '0xffffffff810de58bL' В качестве тестовой ОС я выбрал Ubuntu 14.04, но, так как kASLR там не включен по умолчанию, для успешного воспроизведения следующего примера нужно будет его включить. Тестовый скрипт очень прост и быстр. Как сказано ранее, в /proc/pid/stat ле- жит код ожидания из пространства ядра, поэтому мы можем: 1. Зафиксировать это место ожидания. 2. Получить с помощью WCHAN значение ASLR. 3. Сравнить утекшее значение с известным «случайным» значением. 4. Вывести смещение. Для первого пункта мы можем воспользоваться следующим трюком: если фор- кнуть процесс и перевести его в режим сна, то после этого мы сможем прочи- тать его /proc/sleeping-pid/stat, и, пока процесс спит, это будет стабильным значением. Во втором пункте все ясно, а в третьем известное значение мы можем полу- чить, к примеру, запустив ядро без включенного kASLR, но есть и другие способы. Вот пример на Python Пример-http://joxi.ru/823xK56sJXRdBA Вот как будет выглядеть результат работы. /cdn-cgi/l/email-protection:~/Documents$ python infoleak.py Leaking kernel pointers... leak: 0xffffffffb70de58b 18446744072485725579 kASLR slide: 0x36000000