Skip to content
Pedro Mora
Go back

HTB Meow — Root with No Password

Part of the OSAI Prep series → — HTB writeups mapped to OWASP LLM Top 10.

Machine Summary

FieldValue
PlatformHackTheBox
DifficultyVery Easy
OSLinux
VulnerabilityTelnet root login with blank password
OWASP MappingA07 — Identification and Authentication Failures

Reconnaissance

We start with a service scan:

nmap -sC -sV 10.129.2.211

One open port: Telnet on port 23. Telnet is an unencrypted remote access protocol — no TLS, credentials in plaintext, considered insecure since the mid-90s. Its presence on a public-facing machine in 2026 is itself a finding.

nmap scan showing port 23 open running Telnet

We connect directly:

telnet 10.129.2.211

A login prompt appears. We test common default usernames — admin, administrator, root — with blank passwords. root with no password succeeds immediately.

Successful root login via Telnet with blank password

Privilege Escalation

Not required. The root account had no password. Initial access was full system access.

Root Cause

Two failures combined:

  1. Telnet exposed on a public interface. An unencrypted, legacy protocol serving as the remote access method for a production system.
  2. Root account with a blank password. The most privileged account on the system had no authentication requirement whatsoever.

Neither failure is subtle. Both are detectable by any basic security scan. Together, they hand an attacker the keys to the system with a single command.

The AI Equivalent

OWASP LLM Top 10 Mapping: LLM07 — Insecure Plugin Design

The Telnet-blank-root pattern maps precisely to MCP servers and AI agent orchestration endpoints deployed without authentication.

When you run an MCP server over stdio, it inherits your local OS session — there’s no separate auth layer because there doesn’t need to be; it’s local. The moment you expose that server over a network transport (HTTP, SSE, TCP) without adding authentication, you’ve recreated Meow: a powerful interface with no credentials required. Any client that can reach the port gets full access to every tool the server exposes — file reads, web fetches, code execution, database queries, shell commands.

The blank root password and the missing Authorization header are structurally identical decisions. One exposes the operating system. The other exposes everything the AI agent is authorized to do on your behalf.

This isn’t hypothetical. LangServe instances, local Ollama deployments, and MCP servers spun up for development get exposed on cloud VMs — either accidentally through misconfigured security groups, or deliberately as part of a multi-agent setup where the developer assumed the network was trusted. The assumption is wrong. The tool interface has no credential gate. Anyone who can connect is root.

MCP tools are plugins. An MCP server without authentication is a plugin with no credential check at the design level — not a misconfiguration, but a missing control. The spec supports authentication; the implementation often skips it.

Lessons Learned


Share this post on:

Previous Post
HTB Fawn — The FTP Door Left Open