Elf Connect

Prologue

 Frosty's Beach

Difficulty:

Further down Frosty's Beach you will find the Elf Connect terminal. This is very similar to the New York Time's game "Connections". A grid of words will appear on screen and you have to click 4 words that share something in common. If you click 4 words correctly, a row will be completed and moved to the top.

Navigate to the center of Frosty's Beach to find the terminal. Speaking with Angel Candysalt will give you some more background on the game and also let you know that some "randomElf" has a suspiciously high score. Angel claims they may have tampered with the game.

Elf Connect Terminal

In the above image of the game, a good example of a first move would be to notice that Prancer, Comet, Vixen, and Blitzen are all Santa's reindeer. Since they are related you can click them to lock in that category. Continue this for each of the 16 words to complete the round. There are 4 rounds to beat the game. Feel free to play the game legitimately, but you will find its fairly easy to look at the page source and see the the answer for yourself though.

The page source has inline Javascript that reveals the words and which ones are related.

  </>
Javascript
const wordSets = {
	1: ["Tinsel", "Sleigh", "Belafonte", "Bag", "Comet", "Garland", "Jingle Bells", "Mittens", "Vixen", "Gifts", "Star", "Crosby", "White Christmas", "Prancer", "Lights", "Blitzen"],
	2: ["Nmap", "burp", "Frida", "OWASP Zap", "Metasploit", "netcat", "Cycript", "Nikto", "Cobalt Strike", "wfuzz", "Wireshark", "AppMon", "apktool", "HAVOC", "Nessus", "Empire"],
	3: ["AES", "WEP", "Symmetric", "WPA2", "Caesar", "RSA", "Asymmetric", "TKIP", "One-time Pad", "LEAP", "Blowfish", "hash", "hybrid", "Ottendorf", "3DES", "Scytale"],
	4: ["IGMP", "TLS", "Ethernet", "SSL", "HTTP", "IPX", "PPP", "IPSec", "FTP", "SSH", "IP", "IEEE 802.11", "ARP", "SMTP", "ICMP", "DNS"]
};

let correctSets = [
	[0, 5, 10, 14], // Set 1
	[1, 3, 7, 9],   // Set 2
	[2, 6, 11, 12], // Set 3
	[4, 8, 13, 15]  // Set 4
];
Elf Connect Javascript

The wordSets object contain the words for each round. The correctSets two dimensional array has the correct answers grouped for the current round. You can do the lookup manually or you can create some of your own Javascript and use the the console in the dev tools to run it and show the answers:

  </>
Javascript
for(let x=0; x<correctSets.length; x++){
	let row = [];
	for(let y=0; y<correctSets[x].length; y++){
		row.push(wordSets[round][correctSets[x][y]]);
	}
	console.log(row);
}
Cheating Javascript

Copy and paste the above "Cheating Javascript" in the Javascript console and it will show you the correct way to group the words.

Show Words and Categories

This will compelte the Silver part of this objective. Speaking to Angel, the Gold objective is to beat the randomElf's score.

Getting the high score is very simple. Since the game checks if "score" is greater than 50000 after each completed row, just set the score value in the Javascript console to be more than 50000.

  </>
Javascript
score=51000
Cheating JS Console

After score is set to the high value, just complete any row to complete the Gold objective.

An alternative way to complete this objective is to notice that the game calls a function called "submitAction" when the Silver or Gold objective is complete. You manually invoke this in the console for easy wins.

  </>
Javascript
submitAction(1); //Completes Silver
submitAction(2); //Completes Gold
Cheating JS Console
 OrientationWhere to next?Elf Minder 9000 

Holiday Hack Challenge 2024 Report - Cody Travis <cody@chillaspect.com>