Runtime GOT poisoning from injected shared object |
[Mar. 13th, 2015|02:36 pm] |
[Tags | | | glibc, got, hijacking, inject, link_map, linux, plt, poisoning, rtld, runtime, so | ] |
[ | Current Mood |
| | calm | ] | This short article describes how the combination of the two well-known techniques would allow to intercept library calls in runtime without PIC-code (as in [2]), patching the library functions or searches in the /proc/PID/maps.
( TL;DR ) |
|
|
nspr4!PR_Write |
[Mar. 9th, 2015|03:05 pm] |
[ | Current Mood |
| | bitchy | ] | Так как никто ничего дельного не пишет, приходится копаться во всяком УГ, типа Hand of Thief. Оно находит nspr4!PR_Write из проинжектированной либы, и затем затирает пролог jmp (0xe9). Естественно, так как FF хрень многопоточная, то при постоянной перезаписи пролога, креш броузера - это вопрос времени. (У мну пять секунд). Так как, NSPR подгружается динамически, то у PR_Write нет записи в GOT/PLT и PLT Redirection/GOT poisoning работать не будет. Так что нужно либо хватать dlsym до старта, либо внимательнее смотреть на PR_Write, который изначально определен вот так (mozilla/nsprpub/pr/src/io/priometh.c , теперь понятно на чем они сидят ;-):
( TL;DR ) |
|
|
Unix security |
[Nov. 9th, 2013|06:28 pm] |
Заинтересовался собственно вопросом, а как бы оторвать LD_PRELOAD и ptrace каким-нибудь штатным образом.
Нашел только ответ Кокса, о том, что неотрываемость оных - is the normal Unix model.
Normal, блядь, model. За 15+ лет работы с юниксами, мне один раз понадобился LD_PRELOAD для более или менее "нормальной" задачи, а вот не очень нормальных я знаю вагон. =) |
|
|