「PWN」CVE-2018-1160 的调试与 1-day exploit 编写
附件下载: https://pwnable.tw/static/chall/netatalk.tgz + https://pwnable.tw/static/libc/libc-18292bd12d37bfaf58e8dded9db7f1f5da1192cb.so
耗时大概 1.5 天,总体来说是非常好的一次调试与复现,不止学到了一些利用及调试技巧,也对思路的扩展非常有帮助。
漏洞的发现过程在作者的 Exploiting an 18 Year Old Bug. A Write-up for CVE-2018–1160 | by Jacob Baines 中写的非常清楚,非常精彩。你也可以在 Netatalk CVE-2018-1160 的发现与利用_c01dkit 的博客-CSDN 博客 找到翻译版。
这个洞在作者的 BLOG 中提到只能在 -no-pie
的 NAS 上利用。但是 hitcon 2019 出题的 DDAA 佬在 HITCON CTF 2019 Pwn 371 Netatalk (ddaa.tw) 给出了利用思路,简而言之就是利用 fork 的性质,即子进程不会改变 memory layout —— 换言之,ASLR 只起到了非常微小的作用(笑),如此一来,我们就可以通过侧信道暴露出一个合法地址,再进行利用。