This write-up walks you through the TryHackMe room Industrial Intrusion. You can join the room here.

An image to describe post

Challenge Overview

The challenge presents us with a lock-like image and the IP address of the target machine.

An image to describe post

From what I gathered, the main objective is to exploit a vulnerability in the control infrastructure and bypass the badge-based authentication system.

Initial Foothold

Port Scanning

As the description mentions: “Be sure to check all the open ports” So, naturally, I started with a nmap scan:

nmap -p0- -v -A -T4 { target_IP }

Scan Result:

An image to describe post

I found 7 open ports. After a bit of research, here’s what I got:

Port Common Service Context
22 SSH Secure remote shell
80 HTTP Standard web server
8080 HTTP Alt / App Server Proxy, dev/testing, web apps
502 Modbus/TCP Industrial automation
102 Siemens S7 PLC communications
1880 Node‑RED / MQTT variant IoT flow programming / messaging
44818 EtherNet/IP Industrial control networking

These are all typical in an OT setup, and the room’s description clearly points us in that direction.

Website Recon

I explored each open port to gather more details.

On port 80, I found a webpage titled “Gate Monitor” showing the status of a door, which is currently closed. This ties in with the challenge hint about badge-based auth.

An image to describe post

Clicking the door image didn’t do anything, and the page source didn’t reveal anything useful either.

Port 8080 hosted a basic OpenPLC login page.

An image to describe post

Tried poking around a bit here, but didn’t have valid credentials. Also attempted to work with Modbus/TCP, but… yeah, that didn’t go so well.

Next up, I checked port 1880, which was running Node-RED. I wasn’t super familiar with it, so I skimmed through the Node-RED documentation.

Finding Vulnerability

In the configuration settings section, I learned that by default, Node-RED exposes a /ui endpoint, which can be a potential security hole if left unauthenticated. That was promising!

An image to describe post