Git Product home page Git Product logo

coolmura_v1.exe's Introduction

IMAGE ALT TEXT HERE

Tarkov Wireless Vulnerability
Escape from Tarkov wireless vulnerability PoC


Gitter Gitter Gitter Gitter Gitter Gitter

Technologies

  • ARP Cache Poisoning & MITM
  • Tensorflow 2
  • Flask
  • React.js & Three.js

Prerequisites

  • Windows machine running Tarkov
  • A secondary device running Linux (on the same local network)

Disclosure

This project should NOT be used for anything other than as an educational resource. Important elements are intentionally redacted to prevent misuse.

This information has been sent to Battlestate Games as a "Reproducable game exploit method allowing players to kill/loot while invisible, see players through walls, loot map of all valuable items in seconds."

Mitigation solutions are posted at the bottom of this readme

A video Demo

Demo

Getting started

  1. Clone Repo
  2. Set up secondary linux machine
  3. Set up networking rules
  4. Learn the structure of the game packets
  5. filter out by udp and obtain player info
  6. make player info available via flask api
  7. launch react web service for esp
  8. launch invisibility hack

https://askubuntu.com/questions/1033772/cant-get-my-netgear-a6210-usb-wifi-adapter-to-work-on-my-linux-ubuntu

1) Clone this repository

git clone [email protected]:wau/norussian.git

2) Set up your Linux machine

If running in a virtualbox vm make sure you have a wireless adaptor plugged into the device for it to use

sudo apt-get install apt-get update && \
                     apt-get -qq -y install \
                     python3 \
                     python3-pip \
                     python \
                     python-pip \
                     iptables \
                     build-essential \
                     libnetfilter-queue-dev \
                     wireless-tools && apt-get clean

3) Set up your wireless packet interceptor

Discover your target's local ip address

Discover your attacker's primary wireless interface name

4) Set up networking rules

For outbound traffic filtering:

sudo iptables -t raw \
              -A PREROUTING \
              -p udp --destination-port 17000:17100 \
              -j NFQUEUE --queue-num 1

For inbound traffic filtering:

sudo iptables -t raw \
              -A PREROUTING \
              -p udp --destination-port 56000:61000 \
              -j NFQUEUE --queue-num 2

List your ip tables rules to verify it has been added

sudo iptables -L --line-numbers

5) Learn the structure of the game packets

IMAGE ALT TEXT HERE

0003c2f020292180 ffffffffffffffffffffffffffffff f8 611dc65c271600aa001400794001021080068b4c57ff00e800622e00000000

Player rotation packets are 102 in length

movement_packets = [102, 110, 156, 172, 220] #or > 220  #TRY 

combat_packets = [142, 150, 158, 166] #combat (142, hatchet) (150, 158, 166 bullet/gun movement) 

loot_packets = [296, 302, 206, 344, 336] #loot (246, 166, 174 drop item) (296, 302 take item) (328, attach to gun) (206, search) (344, 336 switch into inventory)

Use tensorflow to automate finding what payload position corresponds to what action and generate new ones.

0005e029dfa7fc18fffffffffffffffffffffffffffffff00d85417740e6    1200aa00100060a0010210800e981d00000100000000    1200aa0010006000020210800e991d00000100000000    1200aa00100060800102108006991d00000100000000....      1200aa001000606001021080069d1d00000100000000    1200aa0010006080010210800e9e1d00000100000000    1200aa0010006080010210800e9f1d00000100000000    1200aa001000608001021080069f1d00000100000000    1200aa0010006080010210800ea01d00000100000000    1200aa0010006060010210800ea11d00000100000000    1200aa00100060a0010210800ea21d00000100000000     : 2798

7) MITM Attack on local network

sudo python3 mitm.py --interface en0 --ip [TARGET_IP]

5) [Bannable] Run your server

python app.py -- args

8) [Bannable] Launch your visual ESP HUD

You will be able to see the location of each player relative to your position

9) [Bannable] Go invisible in game

Your player will freeze in place for other people but you will be able to move around, kill and loot without them seeing.

sudo python3 nfqueue.py

Solutions

The following is a list of possible preventative solutions with reducing effort

Encryption of services

Encrypt traffic to and from the client. This would prevent attackers from discovering patterns in the netcode without finding a way to decrypt.

Netcode Updates

Rotational changes to the netcode to prevent people from discovering the payload structure of the UDP packets.

Re-work of Netcode

Put less trust in the player's client and offload more work to the server.

Donate

https://www.stjude.org/donate/donate-to-st-jude.html?sc_icid=wtg-lz-donatenow

coolmura_v1.exe's People

Contributors

inarikami avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

coolmura_v1.exe's Issues

OPEN VPN ?. linux machine ?

can we install this ubuntu 18.04?
Your pictures etc for detailed installation. Is there? I'm getting errors in Python.

sudo python3 mitm.py --interface tun0 --ip 10.8.0.2
Begin emission:
Finished sending 1 packets.
..................................................................................................
Received 98 packets, got 0 answers, remaining 1 packets
Traceback (most recent call last):
File "mitm.py", line 68, in
mitm.arp_poison()
File "mitm.py", line 19, in arp_poison
self.victim_mac = self._get_mac_address(self.victim_ip)
File "mitm.py", line 42, in _get_mac_address
return received[0][0][1].hwsrc
File "/usr/local/lib/python3.6/dist-packages/scapy/plist.py", line 118, in getitem
return self.res.getitem(item)
IndexError: list index out of range

Encryption update

They finally added encrypted packet !

You can also use the same method to get ennemy position and draw pos on a radar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.