攻击者如何收集远程反馈以识别和利用缓冲区溢出?

信息安全 渗透测试 开发 缓冲区溢出
2021-08-24 03:45:58

本地缓冲区溢出相对容易理解:向接口抛出一些输入,然后查看进程是否因核心转储或类似情况而失败。但是,在我看来,只有当攻击者可以无限制地访问测试接口并查看他们的输入如何影响进程时,这种利用才会有效。

但是,对于锁定的设备(防火墙、代理等)、高端商业级服务器或攻击者无法轻易获取的专用软件,如何成功收集安装所需的反馈?一次成功的攻击?

(我意识到如果资产具有足够的价值,有动机的攻击者会购买这种专用设备,但我想知道——理论上——在没有本地访问权限的情况下如何完成。)

编辑:我还假设攻击者无权访问通用远程 shell。

1个回答

您在问题中提到了最常见的答案 - 对于防火墙、代理、高端服务器等,攻击者将获得它们。然后他们可以出租贝壳进行练习。这方面的市场非常专业且组织良好,建立了整个交易平台来管理研究人员和剥削者的层次。

攻击者无权访问时的路线是经过反复试验的——例如,攻击者可能知道设备基于特定的操作系统,因此对堆栈大小等进行一些有根据的猜测,以构建远程 shell 漏洞利用和 NOP sled大小可能有效,只需尝试一下,看看他们的漏洞利用代码是否返回一个外壳。

  • 如果一开始没有任何反应 - 再试一次。
  • 如果服务器无法响应 - 它们可能已关闭,但会导致问题 - 重试
  • 如果创建外壳 - 利润!