摘要

return-oriented的编程是一种有效的代码重用攻击,在这种攻击中,在现有的二进制文件中找到以ret指令结尾的短代码序列,并通过控制堆栈以任意顺序执行。这允许对于Turing-complete行为在目标程序中没有需要注入攻击代码,从而显著否定当前的代码注入防御努力。在另一方面,它的固有特性,如对堆栈的依赖和返回的gadgets的连续执行,促使各种各样的防御发现或阻止它的发生。

本文介绍了一种新的代码重用攻击,称为 jump-oriented编程。这种新的攻击消除对堆栈和ret指令的依赖(包括类似于ret的指令,如pop+jmp)return-oriented的编程不牺牲表达能力。这次攻击仍然制造和具有连接功能的gadgets,每个都执行某些基本操作,除了下面这些gadgets在一个间接分支结束,而不是利用ret来统一它们的便利性、攻击在dispatcher gadgets上调度和执行功能gadgets。已经成功地确定了可用性GNU libc库中的这些 jump-oriented的gadgets。用一个示例shellcode攻击来演示介绍该技术的实用性和有效性。

Read more »

详细过程及exp

no return 是一道极具挑战性的pwn,首先很容易的将这个程序逆向,输入一些内容来溢出它会泄露堆栈地址。

1
2
3
4
5
6
int main()
{
write(1, &return_address, 8);
read(0, rsp-0xb0, 0xc0);
__asm_volatile("add rsp, 0x8; jmp rsp");
}
Read more »

  • 本文专门记录hack the box — bighead机器的BigheadWebSvr逆向部分,故前面的部分省略,part1 主要使用的工具是immunity debugger和mona插件,下一篇part2主要使用IDA来分析程序。
Read more »

环境

想象一下,可以通过HTTP请求访问Redis服务器。这可能是SSRF漏洞或错误配置的代理。在这两种情况下,所需要的只是完全控制请求的至少一行。当然,CLI客户端’redisi-CLI’不支持HTTP代理,需要自己伪造命令,封装在有效的HTTP请求中,并通过代理发送。所有内容都在2.6.0版本下进行了测试。它很旧,但目标用的就是它……

Read more »

TL;DR

git://协议中的CLRF注入将RCE中的IPv6/IPv4地址嵌入链。

youtube vedio by liveoverflow

  • GitLab 11.4.7 Remote Code Execution-Real World CTF 2018

说明

real world CTF上,一个叫做flaglab的有趣的web挑战。描述说:

1
"You might need a 0day"
Read more »

CrackMapExec(又名CME)是一个后渗透工具,帮助自动评估大型活动目录网络的安全性。CME采用了“自给自足”的概念:滥用内置的Active Directory特性/协议来实现它的功能,并允许它逃避大多数端点保护/id/IPS 解决方案。

虽然CME主要用于进攻目的(例如红队),但蓝队也可以使用CME来评估帐户权限,查找可能的错误配置和模拟攻击场景。

CrackMapExec由@byt3bl33d3r开发,For installation Check the GitHub Repo

Read more »