二进制安全汇编Shellcode [2021]x64 SEH分析 最近在给沙箱增加异常处理 然后打算学习一下异常处理的内容,,搜索了一下 网上都是莫名其妙复制粘贴的,我们直接从原理上解决这个问题: 首先是try catch ![](https://key08.com/usr/uploads/2021/03/3198721258.png) 阅读全文 2021-03-27 huoji 0 条评论
二进制安全C/C++汇编Shellcode [2021]正确探测到内存映射的模块 "无文件落地"/木马/外挂/后门 @lordtristan ```cpp if(VirtualQueryEx(hProc, lpAddress, &mbi, sizeof(mbi))){ //Use "mbi." here, its just a fast C&p from my source if((dwState & MEM_COMMIT) && ((dwProtect & PAGE_EXECUTE_READWRITE) || (dwProtect & PAGE_EXECUTE_READ)) && !(dwProtect & PAGE_NOACCESS) && !(dwProtect & PAGE_GUARD) && !(dwState & MEM_RELEASE)) { VirtualLock(lpAddress, dwSize); HMODULE hModule; GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, (LPCTSTR)lpAddress, &hModule); if(!hModule) //Inside of the exe file { DWORD dwDLLMain = FindPattern((DWORD)lpAddress, dwSize, (BYTE*)"\x55\x8b\xec\x83\x7d\x0c\x01\x75\x00", "xxxxxxxx?"); if(dwDLLMain) { //DLL-Main inside of the exe file?! //Do whatever yo uwant now :D } } VirtualUnlock(lpAddress, dwSize); } } ``` 阅读全文 2021-03-16 huoji 0 条评论
APT研究系统安全二进制安全C/C++汇编 [2021]CVE-2018-8897简单理解笔记 这是我从CVE-2018-8897中学习的一个小笔记 段寄存器的一个问题, 当出现段寄存器操作的时候,mov和pop等,都会发出一个中断,但是中断会在下一个指令执行完毕后才触发,这个是intel CPU设计的一个特性,而CVE-2018-8897就是利用这个特性在下一个指令面前加一个硬件断点 下一条指令是int3 int3在内核中会交换gs,然后此时R3的硬件断点就会被处理,并且交给R3的异常处理程序,这个时候我们就可以操作KPCR的内容从而R3直接进入内核. 具体如何操作可以移步can1357的博客: https://blog.can.ac/2018/05/11/arbitrary-code-execution-at-ring-0-using-cve-2018-8897/ 阅读全文 2021-03-13 huoji 0 条评论