All Projects → BeepIsla → Csgo Crash Exploit

BeepIsla / Csgo Crash Exploit

Licence: gpl-3.0
Allows you to crash any Windows user

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Csgo Crash Exploit

LogServiceCrash
POC code to crash Windows Event Logger Service
Stars: ✭ 23 (-73.56%)
Mutual labels:  exploit, crash
Cryptolocker
CryptoLocker is open source files encrypt-er. Crypto is developed in Visual C++. It has features encrypt all file, lock down the system and send keys back to the server. Multi-threaded functionality helps to this tool make encryption faster.
Stars: ✭ 79 (-9.2%)
Mutual labels:  exploit
Slickermaster Rev4
NSA Hacking Tool Recreation UnitedRake
Stars: ✭ 62 (-28.74%)
Mutual labels:  exploit
Ciscoexploit
Cisco Exploit (CVE-2019-1821 Cisco Prime Infrastructure Remote Code Execution/CVE-2019-1653/Cisco SNMP RCE/Dump Cisco RV320 Password)
Stars: ✭ 73 (-16.09%)
Mutual labels:  exploit
Poc Bank
Focus on cybersecurity | collection of PoC and Exploits
Stars: ✭ 68 (-21.84%)
Mutual labels:  exploit
Yookiterm Slides
Exploitation and Mitigation Slides
Stars: ✭ 74 (-14.94%)
Mutual labels:  exploit
Azure password harvesting
Plaintext Password harvesting from Azure Windows VMs
Stars: ✭ 61 (-29.89%)
Mutual labels:  exploit
Windowsexploits
Windows exploits, mostly precompiled. Not being updated. Check https://github.com/SecWiki/windows-kernel-exploits instead.
Stars: ✭ 1,243 (+1328.74%)
Mutual labels:  exploit
Mikrotikexploit
Scan and Export RouterOS Password
Stars: ✭ 79 (-9.2%)
Mutual labels:  exploit
Hacker ezines
A collection of electronic hacker magazines carefully curated over the years from multiple sources
Stars: ✭ 72 (-17.24%)
Mutual labels:  exploit
Kernel Exploits
My proof-of-concept exploits for the Linux kernel
Stars: ✭ 1,173 (+1248.28%)
Mutual labels:  exploit
M0b Tool
exploit
Stars: ✭ 68 (-21.84%)
Mutual labels:  exploit
Unauthd
A local privilege escalation chain from user to kernel for MacOS < 10.15.5. CVE-2020–9854
Stars: ✭ 79 (-9.2%)
Mutual labels:  exploit
Chimay Red
Mikrotik RouterOS (6.x < 6.38.5) exploit kit. Reverse engineered from the "Vault 7" WikiLeaks publication.
Stars: ✭ 63 (-27.59%)
Mutual labels:  exploit
Sploitfun Linux X86 Exp Tut Zh
📖 [译] SploitFun Linux x86 Exploit 开发系列教程
Stars: ✭ 78 (-10.34%)
Mutual labels:  exploit
Unlockdown
Disabling kernel lockdown on Ubuntu without physical access
Stars: ✭ 62 (-28.74%)
Mutual labels:  exploit
Ctf
Some of my CTF solutions
Stars: ✭ 70 (-19.54%)
Mutual labels:  exploit
Cve 2017 0781
Blueborne CVE-2017-0781 Android heap overflow vulnerability
Stars: ✭ 74 (-14.94%)
Mutual labels:  exploit
Imgbackdoor
Hide your payload into .jpg file
Stars: ✭ 87 (+0%)
Mutual labels:  exploit
Beef Over Wan
Browser Exploitation Framework is a Open-source penetration testing tool that focuses on browser-based vulnerabilities .This Python Script does the changes Required to make hooked Linked Accessible Over WAN .So anyone can use this framework and Attack Over WAN without Port Forwarding [NGROK or any Localhost to Webhost Service Required ]
Stars: ✭ 82 (-5.75%)
Mutual labels:  exploit

CSGO Crash Exploit

Allows you to crash any Windows user in any CSGO match.


THIS HAS BEEN PATCHED AFTER THE RECENT UPDATE ON THE 22nd AUGUST 2019


19th August 2019 Update

  • No longer works if cl_invites_only_friends is set to 1
  • No longer works in game if cl_invites_only_mainmenu is set to 1

Usage

  1. Download this script including the protobufs folder or run git clone --recursive https://github.com/BeepFelix/csgo-crash-exploit.git
  2. Generate a Steam account from here
  3. Rename config.json.example into config.json and fill it in with the generated account details
  4. Install NodeJS
  5. Open a command prompt in the csgo-crash-exploit folder and enter npm install
  6. Enter node index.js
  7. Follow the onscreen instructions

How and why did this happen?

Backstory

Panorama is a framework devloped by Valve that is heavily influenced by the modern day front-end development stack with technologies such as HTML, JS, and CSS. The Panorama framework was originally developed for DOTA 2, but later ported to CS:GO in an effort to renew the game's UI.

On top of all this, the framework's source code can be easily viewed by unzipping the csgo/panorama/code.pbin file. With this knowledge, exploitation is as easy as looking for vulnerable lines of code also known as a whitebox audit.

Counter-Strike's lobby system is built off of an ancient technology that would not be acceptable to today's standards. This ancient system not so long ago, allowed you to join anyone's lobby, even if you were not friends. It also allows the lobby owner full permission over the lobby metadata such as players in lobby, the lobby type, the lobby location, and even player ranks. This metadata never gets sanitized on the server-side and the client is expected to handle all sanitization.

The Exploit

Merging the ancient lobby system and the vulnerable Panorama UI together, one can start having fun.

This exploit relies on the game:loc metadata key, which when set to a length greater than 2^15 or 32768 and a client is invited, an out of bounds memory write is triggered, leading to an Access Violation/Segmentation Fault which ultimately crashes the CS:GO client.

How does this happen?

Once a CS:GO user is invited in-game, the panorama/layout/friendlobby.xml file is loaded.

This XML file includes a Javascript file (panorama/scripts/friendlobby.js) that populates the fields such as the lobby members' avatars, the gamemode, the average lobby rank, and most importantly, the lobby location.

	var _SetFlag = function ( elTile )
	{
		var countryCode = PartyBrowserAPI.GetPartySessionSetting( _m_xuid, 'game/loc' );
		var elFlagImg = elTile.FindChildTraverse( 'JsFriendLobbyFlag' );
		if ( countryCode )
		{
			elFlagImg.SetImage( 'file://{images}/flags/'+ countryCode +'.png' );
			elFlagImg.RemoveClass( 'hidden' );
		}
		else
		{
			elFlagImg.AddClass( 'hidden' );
		}
	};

This code snippet highlights how the unsanitized game:loc metadata key is handled.

When first auditing this code snippet, I was originally testing for a way to truncate the .png file extension and load another arbitrary file of my choosing.

Through this testing, I had attempted to fill the game:loc with a massive amount of characters, in the hopes that the parser would completely ignore characters after some power of 2 and throw away the file extension, loading my arbitrary file.

Instead of a file being loaded, my client instantly crashed.

After attaching a debugger to analyze the crash, it was revealed that that when the file:// URI handler was being parsed by the client, one of the intermediary functions that generated a hash of the file path triggered an Access Violation.

The hash function attempted to call the Clang memset function and write the parsed filepath to another area of memory without validating the size of the source data. This is called an Out-of-bounds Write.

Initially, I had attempted to escalate this vulnerability to an RCE or remote code execution since the Valve bug bounty program would consider a client crasher out of scope. After contacting many friends who were much better than I was at reverse engineering, it was concluded that the most that could be achieved with this exploit was Denial of Service.

Credits

  • Thanks to @shayhelman for finding the crash method
  • Thanks to the countless streamers for being our test subjects
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].