Windows Exploiting (Basic Guide - OSCP lvl)

从零开始学习AWS黑客技术 htARTE (HackTricks AWS Red Team Expert)

Other ways to support HackTricks:

开始安装SLMail服务

重新启动SLMail服务

每次需要重新启动SLMail服务时,您可以使用Windows控制台执行以下操作:

net start slmail

非常基本的Python利用模板

更改 Immunity Debugger 字体

前往 Options >> Appearance >> Fonts >> Change(Consolas, Blod, 9) >> OK

将进程附加到 Immunity Debugger:

File --> Attach

然后按 START 按钮

发送利用代码并检查 EIP 是否受影响:

每次中断服务后,应按照本页开头所示重新启动服务。

创建一个模式以修改 EIP

该模式的大小应与先前用于中断服务的缓冲区大小相同。

更改 exploit 的缓冲区并设置模式,然后启动 exploit。

应该出现新的崩溃,但具有不同的 EIP 地址:

检查地址是否在您的模式中:

看起来我们可以修改缓冲区中偏移为2606的EIP

检查一下修改攻击载荷的缓冲区:

使用这个缓冲区,EIP 崩溃应该指向 42424242 ("BBBB")

看起来它正在工作。

检查堆栈内是否有 Shellcode 空间

600B 应该足够容纳任何强大的 shellcode。

让我们改变缓冲区:

启动新的利用程序并检查EBP和有用shellcode的长度

您可以看到当漏洞被触发时,EBP指向shellcode,并且我们有很多空间来定位shellcode。

在这种情况下,我们有从0x0209A128到0x0209A2D6 = 430B。 足够。

检查不良字符

再次更改缓冲区:

badchars 从 0x01 开始,因为 0x00 几乎总是不好的。

重复执行利用程序,使用这个新的缓冲区删除发现无用的字符:。

例如:

在这种情况下,您可以看到不应使用字符 0x0A(因为内存中没有保存字符 0x09)。

在这种情况下,您可以看到字符 0x0D 被避免:

找到 JMP ESP 作为返回地址

使用:

您将列出内存映射。搜索具有以下特征的某些DLL:

  • 重新基址: False

  • SafeSEH: False

  • ASLR: False

  • NXCompat: False

  • OS Dll: True

现在,在这段内存中,您应该找到一些JMP ESP字节,为此执行:

然后,如果找到某个地址,请选择一个不包含任何坏字符的地址:

在这种情况下,例如: _0x5f4a358f_

创建 shellcode

如果利用程序没有生效但应该生效(可以通过ImDebg看到已经到达shellcode),尝试创建其他shellcode(msfvenom使用相同参数创建不同的shellcode)。

在shellcode开头添加一些NOPS,并使用它和返回地址跳转到JMP ESP,完成利用:

改进 shellcode

添加以下参数:

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)

其他支持HackTricks的方式:

最后更新于