Benjamin Taylor

Holmes CTF: “The Tunnel Without Walls” 🌌

👤 Author: Benjamin Taylor (@benjqminn)

🛡️ Team: Sherlock’s Homies

🏆 Ranking: 634 / 7,085 teams

📝 Prompt: A memory dump from a connected Linux machine reveals covert network connections, fake services, and unusual redirects. Holmes investigates further to uncover how the attacker is manipulating the entire network!

📌 Summary: Memory analysis revealed an attacker establishing an SSH foothold, running reconnaissance, escalating via stolen credentials, installing a rootkit from Pastebin, reconfiguring network services, and redirecting software updates to deliver a supply-chain attack.

🟥 Challenge Difficulty: HARD


📋 TL;DR (Answers)


🚩 Flag 1: Kernel Version

Question: What is the Linux kernel version of the provided image? (string)

Walkthrough:

Linux version

Answer: 5.10.0-35-amd64


🚩 Flag 2: Attacker Shell PID

Question: The attacker connected over SSH and executed initial reconnaissance commands. What is the PID of the shell they used?

Walkthrough:

Linux pstree

Answer: 13608


🚩 Flag 3: Escalated Credentials

Question: After the initial information gathering, the attacker authenticated as a different user to escalate privileges. Identify and submit that user’s credentials.

Walkthrough:

su jm

strings jm

hashcat start cracked pass

Answer: jm:WATSON0


🚩 Flag 4: Malicious File Path

Question: The attacker downloaded and executed code from Pastebin to install a rootkit. What is the full path of the malicious file?

Walkthrough:

linux.malware

htb storyline

pagecache

Answer: /usr/lib/modules/5.10.0-35-amd64/kernel/lib/Nullincrevenge.ko


🚩 Flag 5: Author Email

Question: What is the email account of the alleged author of the malicious file?

Walkthrough:

inodePages

strings inode

author value

Answer: i-am-the@network.now


🚩 Flag 6: Package Name and PID

Question: The next step in the attack involved issuing commands to modify the network settings and installing a new package. What is the name and PID of the package?

Walkthrough:

dnsmasq installation

dnsmasq installation

Answer: dnsmasq,38687


🚩 Flag 7: Tricked Workstation Hostname

Question: Clearly, the attacker’s goal is to impersonate the entire network. One workstation was already tricked and got its new malicious network configuration. What is the workstation’s hostname?

Walkthrough:

linux.bash output

strings and grep on memdump

Answer: Parallax-5-WS-3


🚩 Flag 8: Portal Username

Question: After receiving the new malicious network configuration, the user accessed the City of CogWork-1 internal portal from this workstation. What is their username?

Walkthrough:

strings egrep for username

username and password of user

Answer: mike.sullivan


🚩 Flag 9: Update Endpoint

Question: Finally, the user updated a software to the latest version, as suggested on the internal portal, and fell victim to a supply chain attack. From which Web endpoint was the update downloaded?

Walkthrough:

AetherDesk.exe

Answer: /win10/update/CogSoftware/AetherDesk-v74-77.exe


🚩 Flag 10: Redirect Domain and IP

Question: To perform this attack, the attacker redirected the original update domain to a malicious one. Identify the original domain and the final redirect IP address and port.

Walkthrough:

Original domain name

dnsmasq.conf file contents

dnsmasq.conf file contents

linux.bash output

pagecache result

IP and Port Value

Answer: updates.cogwork-1.net,13.62.49.86:7477


Next challenge writeup: Holmes — The Payload 📦