fortigate Vulnerability

CVE-2018-13382

关键字是 magic4tinet2095866 。对 init 文件进行分析。找到包含这2个关键字的函数。

阅读全文

watchguard

WatchGuard 全球首创专用安全系统,在 1997 年首家将应用层安全运用到系统,并在 2004 年全球首创可全面升级的整合安全网关。2005 年 WatchGuard 推出了Fireware Pro 操作系统和 Firebox Peak 高端安全设备,2009 年 WatchGuard 推出了基于全新技术的 Fireware XTM 操作系统和 Firebox XTM 10系和8系高端安全设备,2011年推出3系列,20系列产品,并整合全球各种优秀的信息安全技术推出整合式的安全网络网关平台 (UTM,统一威胁管理),为市场提供了更安全、更全面、更强大的安全设备。

阅读全文

fortigate

命令diagnose hardware smartctl,进入底层shell 。如果设置了busybox就可以用busybox来执行其他命令。

配置IP

1
2
3
4
5
6
7
# config system interface
# edit port1
# set mode dhcp ; 启用dhcp模式,自动获取IP
或者给定一个IP
# set ip 10.2.7.123 255.255.255.0
# set allowaccess http https ssh telnet
# end

阅读全文

spiderMonkey 漏洞利用简介3

注:这是接着前两篇文章的第三部分。由于原文实在是有点长,我根据文章的内容分了一下。
原文:https://doar-e.github.io/blog/2018/11/19/introduction-to-spidermonkey-exploitation/#jsvalues-and-jsobjects

阅读全文

spiderMonkey 漏洞利用简介2

注: 接着上一篇文章,这里讲利用部分。原文链接:https://doar-e.github.io/blog/2018/11/19/introduction-to-spidermonkey-exploitation/#jsvalues-and-jsobjects

阅读全文

spiderMonkey 漏洞利用简介

介绍

这个博客文章介绍了针对 SpiderMonkey JavaScript Shell 解释器和 Windows 10 RS5 64 位 Mozilla Firefox 的三个漏洞的开发,从一个从未编写过浏览器漏洞利用的人的角度来写,也没有密切关注任何 JavaScript 引擎代码库。
您可能已经注意到,在过去的一两年里,人们对利用浏览器产生了很大的兴趣。每个主要的 CTF 竞赛至少有一次浏览器挑战,每个月至少有一次或两次涉及浏览器利用。这就是为什么我认为我应该从内部分析一下 JavaScript 引擎的内容,然后写一个其中的利用。我选择了 Firefox 的 SpiderMonkey JavaScript 引擎和由 itszn13 出的挑战题 Blazefox
在这篇文章中,我介绍了我的发现和我在此挑战中编写的三个利用。最初,挑战是针对 Linux x64 环境,但我决定在 Windows x64 上利用它。现在你知道为什么有 3 种不同的利用了吗?三个不同的利用允许我一步一步地实现,而不是同时面对所有复杂的情况。这通常是我日常工作的方式,我只是做了一些小工作,慢慢迭代然后建立起来。
以下是我如何组织这些事情的方法:

阅读全文

winAFL实践

winAFL 对 Foxit Phantom 的测试实例

介绍

Foxit Phantom 是Foxit的pdf编辑版。编辑版功能较多,因而攻击面可能会比阅读版多一些。

阅读全文

X86-ShellCode编写2

使用 GetProcAddress / LoadLibrary

把前面的汇编代码汇总一下如下。
有个 __declspec,使用它的作用是,生成的代码部分不会有编译器加上的堆栈平衡,所以需要自己平衡栈。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
void __declspec(naked) findGetProAddrByPeb(DWORD flag)
{
__asm{
push ebp;
mov ebp, [esp+8];
push ebx;
push edi;
push esi;
xor eax, eax;
mov eax, fs:[0x30]; Pointer to PEB
mov eax, [eax + 0xc]; Pointer to Ldr
mov eax, [eax + 0x1c]; Pointer to InInitializationOrderLinks
next_mod:
mov esi, [eax + 0x8]; Poniter to DllBase
mov edi, [eax + 0x20]; Poniter to BaseDllName
mov eax, [eax]; Poniter to next module InInitializationOrderLinks
xor ebx, ebx;
add_kerstr:
cmp dword ptr[edi + 0xc], 0x00320033; add module name
jne next_mod;
...
...

cmp ebp, 1; eax = LoadLibrary
jnz _ret2;
pop esi;
pop edi;
pop ebx;
pop ebp;
ret 4; ret LoadLibrary Address
_ret2:
mov eax, ebx; flag = 2 , ebx = GetProcAddress
pop esi;
pop edi;
pop ebx;
pop ebp;
ret 4; ret GetProcAddress
}
}

阅读全文

X86-ShellCode编写1

X86 ShellCode

之前在调试浏览器的POC时,最后总是需要一段ShellCode,自己不会写就得到处找。找到的ShellCode不合适,不如自己写。
这里来记录一下如何自己写一点简单的ShellCode。

阅读全文

CVE-2017-17215 拓展

拓展

前面已经搞定了环境,执行了exp。
现在,用这个搭好的环境来做一点其他事。
比如说,劫持一些执行命令的函数:sytem ,execvepopen ,记录它们执行过的参数,存到一个日志文件。
方便我们观察,看看有没有可能某些参数来至于我们输入的东西。

阅读全文