我正在寻找禁用ASLR (地址空间布局随机化)在一个码头容器。不确定这是否有可能。容器在阿尔卑斯山上运行,但据我所知,ASLR是一个内核特性,Docker使用主机内核来运行,因此很难仅为Docker禁用ASLR。
如何仅在Docker容器中禁用ASLR?
发布于 2020-04-30 12:19:19
我试着在CTF环境下完成这个任务。
不起作用的
ADDR_NO_RANDOMIZE将使任何SUID应用程序忽略标志。--privileged码头管理员额外的特权实现这一目标的唯一方法是使用以下方法更改主机内核上的ASLR配置:
echo 0 | sudo tee /proc/sys/kernel/randomize_va_space发布于 2019-12-23 12:06:10
所以基本上您是对的,禁用ASLR是一个内核设置,您需要在内核级别上进行更改。
这里有几个选择。
/proc并从容器内部进行更改从理论上讲,所有这些都应该有效,但对您有好处的将取决于您的精确用例。
发布于 2021-04-06 05:30:24
对于macos上的docker,首先需要输入docker桌面Mac VM来修改内核配置,这可以用https://gist.github.com/BretFisher/5e1a0c7bcca4c735e716abf62afad389完成。
# enter docker vm
docker run -it --rm --privileged --pid=host justincormack/nsenter1
# disable ASLR
echo 0 > /proc/sys/kernel/randomize_va_space
# enable ASLR
echo 2 > /proc/sys/kernel/randomize_va_space https://security.stackexchange.com/questions/214923
复制相似问题