日志 24-8-19
Windows内核漏洞挖掘,这下就是真正意义上的还没学会走就要学跑了。不过也学了个大概的思路。如果未来考虑走挖洞这条路,最好是平时多调试多复现一些老的漏洞,积累经验和手感。但是其实国内大多数二进制岗位都是应急响应比较多,像赛博昆仑这样的注重挖洞的公司是很少见的。
https://xiaodaozhi.com/exploit/122.html
https://github.com/leeqwind/HolicPOC/blob/master/windows/win32k/CVE-2015-2546/README.md
可以说是第一次接触到域渗透,一点经验也没有。菜就多练。
永恒之蓝的使用是基于139和445端口的开放,且特定漏洞版本下才能使用。使用msf框架可以比较方便地对此进行检测盒利用。kali中使用msfconsole。
445端口是可以直接在cmd中用net use \\ip\ipc$ password /user:username
连接的
如果有完整权限,可以用psexec工具并接管其cmd。这个工具是微软官方的,也可以用\impacket-examples-windows的。
linux用多了,Windows的命令不会用一点,平时都是用的gui界面,要多学习Windows命令才行
要开始学习Windows开发等知识了,不然到时候练PoC都看不懂。
顺便记录一下今天想到的新生赛出题思路。之前忘记是做什么题了,一道简单的ret2text,然而传参却是往后推了一个的,也就是从rdx开始传。所以可以给一个这样的思路:给一个pop rdx,给一个mov rdi,rdx的gadget,然后组合传参。或者能不能自己写一个简单的so库,so中实现一个自定义的system函数,传两个参数,用其他东西占用一个参数位置,让其他参数顺延(也可以用execve)。
另一个出题想法是给pop r8``call r8
这样的gadget,配合固定地址的mmap写shellcode,但是要自己利用栈溢出来执行shellcode。诶等等但是这样岂不是可以把地址写到ret位置上?可以给传入的参数加上字符过滤就好了。比如0x114514这样的地址,一般来说是不合法的,那么就可以在检查字符串的时候提示,地址非法。检查的话,为了防止加偏移绕过,可以用白名单的方式,比如检查是否来自程序基址段或者libc地址段上。