Hacking Oldies New Xbox Dashboard Exploit released!

cloud-strife777

Well-Known Member
OP
Member
Joined
Sep 28, 2019
Messages
621
Trophies
0
Age
34
XP
1,958
Country
Germany
ENDGAME v1 - A Dashboard Exploit for the Original Xbox

Overview

ENDGAME V1 is a universal dashboard exploit for the original Microsoft Xbox. This exploit has been carefully engineered to be compatible across all retail kernel and dashboard versions released for the original Xbox. It does not require a game, or even a working DVD drive -- only a memory card.

Special credit belongs to @shutterbug2000 for the initial discovery of this vector within the dash and the first to demonstrate code execution against it.

With further research, ENDGAME was developed by @gaasedelen leveraging an adjacent vulnerability that offered greater control and facilitated a more ubiquitous exploitation strategy.

Disclaimer

This project does NOT use any copyrighted code, or help circumvent security mechanisms of an Xbox console. Upon success, ENDGAME will launch a habibi-signed XBE from the root of the memory card. It does not patch kernel code or allow you to launch retail-signed executables.

By using this software, you accept the risk of experiencing total loss or destruction of data on the console in question.
Building

The exploit files can be generated from scratch using Python 3 + NASM on Windows.

Example usage is provided below:

python main.py

Successful output should look something like the following:

[*] Generating ENDGAME v1.0 exploit files -- by Markus Gaasedelen & shutterbug2000
[*] Assembling shellcode... done
[*] Un-swizzling payload... done
[*] Compressing payload... done
[*] Saving helper files... done
[*] Saving trigger files... done
[+] Success, exploit files available in ENDGAME/ directory

A pre-built zip of the exploit and sample payload XBE is available on the releases page of this repository.
Usage

Copy the contents of the generated ENDGAME/ directory to a Xbox memory card such that the root directory of the memory card has the following structure, where payload.xbe can be any habibi-signed XBE of your choosing:

/helper/
/trigger/
/payload.xbe

To trigger the exploit, plug the memory card into a controller and navigate to it while in the dashboard.

After a few seconds, the system should begin cycling the front LED to green/orange/red to indicate success. This is followed by it launching the payload.xbe placed on the memory card.
FAQ
Q: Is this a softmod?

A: No, by itself, ENDGAME is not a softmod. But it will make softmodding significantly more accessible as the community integrates it into existing softmod solutions.

Q: What is new about this exploit?

A: This exploit will enable people to softmod any revision of the original Xbox without needing a specific game. It will also allow people to easily launch a homebrew XBE (such as the Insignia setup assistant, or content scanning tools) by simply inserting a memory card into an unmodded Xbox.

Q: I don't have a memory card, can I use something else?

A: Yes, any FATX-formatted compatible USB device and controller port dongle should work.

Q: Why am I getting Error 21 after placing my own XBE on the memory card?

A: Your XBE must be signed using the habibi key. Several tools can do this, xbedump being the most popular.

Q: Why does my habibi-signed XBE result in a black screen with ENDGAME but not on a modded xbox?

A: The most common explanation is that your XBE may be using the Debug/XDK kernel thunk & entry point XOR keys rather than the retail ones, resulting in a crash.

Q: I triggered ENDGAME but my system quickly rebooted to the dash rather than my XBE...

A: While this should be uncommon, it means the exploit probably crashed. It's recommended to navigate straight to the memory card on a cold boot for successful exploitation.

Q: My XBE requires multiple files and external assets to run, will it work with ENDGAME?

A: No. Currently, ENDGAME is only structured to copy & execute a standalone XBE.

Q: How does this exploit work?

A: The exploit targets an integer overflow in the dashboard's handling of savegame images. When the dash attempts to parse the specially crafted images on the memory card, ENDGAME obtains arbitrary code execution.

Authors

shutterbug (@shutterbug2000), discovery and initial exploitation efforts
Markus Gaasedelen (@gaasedelen), root-cause-analysis & ENDGAME development
xbox7887 (@xbox7887), minor contributions and assistance with testing.

v1.0 - Initial release

This marks the initial release of ENDGAME.

A sample build of the exploit and a habibi-signed payload (lithiumx) is provided below.

Source:
https://github.com/XboxDev/endgame-exploit/releases/tag/v1.0

https://github.com/XboxDev/endgame-exploit

 

Attachments

  • ENDGAME-v1.zip
    1.4 MB · Views: 26
Last edited by cloud-strife777,

Localhorst86

Robert'); DROP TABLE members;--
Member
Joined
Jul 17, 2014
Messages
2,753
Trophies
1
Location
Nintendo works for my dad
XP
5,446
Country
Germany
Excellent news, I guess. Softmodding was already very easy, but sometimes it could be hard to find an exploitable game. With this exploit, the need for a specific game is gone, all one needs is a a thumb drive and an xbox-to-usb cable to connect to it (can be bought for cheap or made yourself with very rudimentary soldering skills)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty @ Xdqwerty:
    btw gonna wash my face in a bit, my eyes feel tired
  • S @ salazarcosplay:
    and you convince your owner to help you break out of the virtual world to real world
  • BigOnYa @ BigOnYa:
    Eyes - "yawn"
    +1
  • S @ salazarcosplay:
    you bleack in to goverment computer systems to get cyborg schematics so you can get a robot body constructed
  • Xdqwerty @ Xdqwerty:
    btw @BigOnYa the health bar doesnt decrease when i take damage (and yes i put the "at the beggining of the scene change value of greenflatbar: set to Protagonistcopmode.Health::Health())
  • S @ salazarcosplay:
    i the protagonist
  • S @ salazarcosplay:
    human, robot, cyborg
  • S @ salazarcosplay:
    human with cyborg enhancements
  • S @ salazarcosplay:
    or like terminatior
  • S @ salazarcosplay:
    with living tissue
  • BigOnYa @ BigOnYa:
    @Xdqwerty there is health behaviour you can add to your character, then to use a health bar is lil more complicated, google n watch a few tutorial video on it, be too hard to explain here.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, the character has the health behavior
  • BigOnYa @ BigOnYa:
    I know you have to create a health and health max variable. Then there is a calculation you use in code to subtract width size of the health bar. Google few vids.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, the "greenflatbar" is one of the preset health bars btw
  • BigOnYa @ BigOnYa:
    Yea you can use any bar/sprite. It will just change the width. Ok good luck and have fun. I'm off to go shoot some pool at the bar. Talk to you later.
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, why does the health behavior exist if you can just use a variable?
  • Xdqwerty @ Xdqwerty:
    and nope the number still doesnt change
  • Xdqwerty @ Xdqwerty:
    ok im gonna make my own asset
  • Xdqwerty @ Xdqwerty:
    nvm i think i fixed it
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, I fixed it
    +1
  • S @ salazarcosplay:
    how are you\
  • Xdqwerty @ Xdqwerty:
    @salazarcosplay, we just talked like 2 hours ago
    Xdqwerty @ Xdqwerty: @salazarcosplay, we just talked like 2 hours ago