Sandboxie shellcode lowlevel加载pdb进行调试

调试之前使用windbg打开notepad观察

00007ffd`23ae0670 cc              int     3
0:000> u ntdll!LdrInitializeThunk
ntdll!LdrInitializeThunk:
00007ffd`23a84b10 4053            push    rbx
00007ffd`23a84b12 4883ec20        sub     rsp,20h
00007ffd`23a84b16 488bd9          mov     rbx,rcx
00007ffd`23a84b19 e81a000000      call    ntdll!LdrInitializeThunk+0x28 (00007ffd`23a84b38)
00007ffd`23a84b1e b201            mov     dl,1
00007ffd`23a84b20 488bcb          mov     rcx,rbx
00007ffd`23a84b23 e8488a0200      call    ntdll!NtContinue (00007ffd`23aad570)
00007ffd`23a84b28 8bc8            mov     ecx,eax
 

为了调试目标进程,可以有多种方法:

1.将windbug放入沙箱,然后再通过windbg启动notepad,为了观察注入的初始化过程,启动后将Loadmodule勾选上

为了方便调试lowlevel,编译的时候打开这一项:

这样在编译目录下可以看到代码和二进制的对应关系文件init.cod和inject.cod

2.使用glfags设置目标进程notepad.exe的调试程序为windbg,将txt放入沙箱,启动,观察

0:000>  u ntdll!LdrInitializeThunk
ntdll!LdrInitializeThunk:
00007ffd`23a84b10 b8c00bbc00      mov     eax,0BC0BC0h
00007ffd`23a84b15 ffe0            jmp     rax
00007ffd`23a84b17 8bd9            mov     ebx,ecx
00007ffd`23a84b19 e81a000000      call    ntdll!LdrInitializeThunk+0x28 (00007ffd`23a84b38)
00007ffd`23a84b1e b201            mov     dl,1
00007ffd`23a84b20 488bcb          mov     rcx,rbx
00007ffd`23a84b23 e8488a0200      call    ntdll!NtContinue (00007ffd`23aad570)
00007ffd`23a84b28 8bc8            mov     ecx,eax
其中

0BC0BC0是跳转的地址。

u 0BC0BC0

0:000> u 0BC0BC0
00000000`00bc0bc0 4883ec28        sub     rsp,28h
00000000`00bc0bc4 48894c2420      mov     qword ptr [rsp+20h],rcx
00000000`00bc0bc9 4889542428      mov     qword ptr [rsp+28h],rdx
00000000`00bc0bce 4c89442430      mov     qword ptr [rsp+30h],r8
00000000`00bc0bd3 4c894c2438      mov     qword ptr [rsp+38h],r9
00000000`00bc0bd8 e800000000      call    00000000`00bc0bdd  这个地方是EntrypointC
00000000`00bc0bdd 59              pop     rcx
00000000`00bc0bde 488bd9          mov     rbx,rcx

按照该位置加载LowLevel地址,dll长度0x2000,如下加载符号表

.reload lowlevel=00BC0BC0,2000

加载完毕,查找lowlevel所有的符号:

00000000`00bc0bde 488bd9          mov     rbx,rcx
0:000> x lowlevel!*
00000000&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值