The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Раздел полезных советов: Отключение LD_PRELOAD в Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Отключение LD_PRELOAD в Linux"  +/
Сообщение от auto_tips (ok) on 18-Сен-16, 05:23 
Для блокирования работы переменной окружения LD_PRELOAD, позволяющей принудительно загрузить разделяемую библиотеку со своими обработчиками для функций используемых в программе библиотек, можно использовать следующий скрипт.

ldpreload-disable.sh:

   #!/bin/bash

   if [ $# -lt 1 ];then
    printf "./ldpreload-disable.sh [ld-linux.so] [64|32]\n"
    exit 0
   fi

   ld_linux="$1"
   [ "$2" == "64" ] && xor='\x48' || xor=''

   offset=$((16#$(readelf -s $ld_linux | awk '/do_preload/ {print $2}')))
   printf $xor'\x31\xc0\xc3' | dd conv=notrunc of=$ld_linux bs=1 seek=$offset

Пример использования для 64-разрядной системы:

   $ sudo bash ldpreload-disable.sh $HOME/fedora-chroot/lib64/ld-2.22.so 64

для 32-разрядной системы:

   $ sudo bash ldpreload-disable.sh $HOME/fedora-chroot/lib/ld-2.22.so 32


URL: https://github.com/hc0d3r/ldpreload-disable
Обсуждается: http://www.opennet.ru/tips/info/2988.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от cmp (ok) on 18-Сен-16, 05:23 
Судя по версии glibc это делается для отключения недавнего руткита, и что там, что тут нет никакой инфы о том, имеет ли версия glibc значение, как и другой вспогательной инфы, нахрена такие топики писать?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от Нанобот (ok) on 20-Сен-16, 19:46 
автор применил древнюю чёрную магию для отключения LD_PRELOAD. детки, не пытайтесь повторить это дома.
З.Ы. имхо, стоило бы упомянуть, что это всё будет работать до первого обновления libc
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от mezoni on 02-Окт-16, 17:02 
Ума-то нет вот и пишут всякую чушь.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от Василий (??) on 21-Сен-16, 10:40 
Отличный способ отстрелить себе голову
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Отключение LD_PRELOAD в Linux"  +1 +/
Сообщение от Аноним (??) on 25-Сен-16, 00:26 
Это что, предлагается хачить бинарник ld.so этим стремным скриптом? После чего как минимум будет обламываться проваерка контрольных сумм пакетником, а если не повезло то система сломается совсем. Виндовозненько.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от Аноним (??) on 27-Сен-16, 06:28 
Чего только люди не делают, лишь бы LFS не использовать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от Аноним (??) on 27-Сен-16, 13:10 
Ubuntu Xenial (16.04):
> readelf -s /lib/x86_64-linux-gnu/ld-2.23.so | grep do_preload

пустой вывод

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от нет (??) on 07-Окт-16, 10:45 
в этом совете хорошо всё: и содержимое и автор в ксакеповской транскрипции. Очень сочетаемо.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от Нониус on 24-Окт-16, 14:27 
[ $# -lt 1 ] && \
{ echo "usage: `basename $0` blablabla" ; exit 0 ; }

дальше лень править тупизмы.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от pavlinux (ok) on 25-Окт-16, 01:26 
pavel@amd64:~$ readonly LD_PRELOAD
pavel@amd64:~$ export LD_PRELOAD=/tmp/libfake.so
bash: LD_PRELOAD: доступная только на чтение переменная

---
ессесенно readonly LD_PRELOAD прописывать в /etc/profile

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Отключение LD_PRELOAD в Linux"  +1 +/
Сообщение от freehck email(ok) on 03-Ноя-16, 15:06 
Ага, щас.

1) можно запустить bash --noprofile, и /etc/profile не будет зачитан
2) работа с readonly-переменными окружения зависит от shell. bash вот не позволяет снова сделать её доступной на запись, а вот в zsh можно спокойно написать "typeset +r LD_PRELOAD" и задать её любое новое значение.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Отключение LD_PRELOAD в Linux"  +/
Сообщение от pavlinux (ok) on 08-Ноя-16, 13:01 
> Ага, щас.
> 1) можно запустить bash --noprofile, и /etc/profile не будет зачитан

еще есть /etc/bash.bashrc, еще парсер написать.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру