利用 Hyper-V 创建 WSL2 桥接网络并支持 ipv6
不知咋了,原来主机是可以直接通过 localhost:port
访问 wsl2 里的服务的,但是今天突然就不行了。趁着这个机会搞一下,根据前不久看的文档搞个虚拟网卡做个 WSL2 的桥接,这样不仅能支持 ipv6,也可以直接局域网访问我 wsl2 的服务而不需要做端口转发。反正我的 wsl2 也不是沙箱,就不考虑安全性了 xD。
不知咋了,原来主机是可以直接通过 localhost:port
访问 wsl2 里的服务的,但是今天突然就不行了。趁着这个机会搞一下,根据前不久看的文档搞个虚拟网卡做个 WSL2 的桥接,这样不仅能支持 ipv6,也可以直接局域网访问我 wsl2 的服务而不需要做端口转发。反正我的 wsl2 也不是沙箱,就不考虑安全性了 xD。
在你阅读这篇文章之前,你有以下要点需要注意:
我应该像旁边坐的女生一样,在观影过程中拍摄不少照片作为留念,以及作为分析的依据,这些图片也会为文章增色不少。
然而,为了首次观影的沉浸感和代入感(真的有用吗?),这或许可以留到下次。
如你所见,我的昵称叫做 Nova Noir
(或者 Nova No1R
、Nova No1r
等各种变体),但是这个昵称后面有些什么故事呢?我的网名的前世今生以及未来又会是什么样子的呢
文章缘起于洗澡时想到的
Lantern
的网名以及他的真实姓名,并从中联想发散(尽管我并没有见过Lantern
爷,不过机缘巧合下听到了他给我舍友讲的逆向基础课(,然后就去观摩学习了一哈注意到了)。
突然厌烦了每次要登 ssh,然后 git pull && npm run build
来部署 blog,于是就想到了 webhook
不过 package-lock.json
的 conflict 还是要自己修,后面想想有没有什么办法(直接把这玩意 ignore 啦!)
附件下载: 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 只起到了非常微小的作用(笑),如此一来,我们就可以通过侧信道暴露出一个合法地址,再进行利用。
题目附件:http://121.40.89.206/20230311/kheap_9010ffcba2dfbfd58c7ab541015b24ec.zip
虽然研究过一下 kernel,但是这是第一次尝试 kernel pwn
This is actually the very first time I dig into Kernel PWN LOL
Since Kernel Version 6.1, Rust support has been merged into Linux.
最近准备开始看 Kernel Pwn 了,但是 wsl2 的内核似乎并不是原版的,所以进行一个替换。
闲得无事,随便改改,其实在此之前我就已经对于系统做了一定的美化了(透明任务栏,毛玻璃之类的),不过突然感觉二次元浓度不够,所以再改改。
一直在用 AsyncIO
在 Python
里使用异步编程,但是从来没想过为什么,借这个机会浅浅搞一搞 AsyncIO