An IoT penetration tester is assessing a smart camera that communicates with a cloud service using MQTT. The tester captures network traffic and notices that the MQTT CONNECT packet includes a username and password in cleartext. Which of the following is the MOST likely reason for this exposure?
Trap 1: The MQTT broker is configured to use TLS, but the client is not.
If the broker were configured for TLS, it would reject non-TLS connections or the client would fail to connect. The fact that credentials are visible in cleartext indicates that TLS is not in use at all, not merely a client misconfiguration. This option incorrectly assumes broker-side TLS is present, which contradicts the observed cleartext traffic.
Trap 2: The MQTT client is configured to use MQTT over WebSocket without…
MQTT over WebSocket without TLS would indeed send credentials in cleartext, but this is a specific implementation. The question asks for the most likely reason, and the simplest explanation is that TLS is not used at all. WebSocket is just a transport; the lack of TLS is the root cause. This option is too narrow and not the most likely general reason.
Trap 3: The MQTT broker is using a self-signed certificate that the client…
If the broker used a self-signed certificate and the client rejected it, the connection would fail, not proceed with cleartext credentials. The presence of cleartext credentials means the connection was established without encryption. This option describes a TLS handshake failure, which would not result in the observed traffic.
- A
The MQTT connection is not using TLS encryption.
MQTT, by default, does not encrypt traffic. If TLS is not configured, all data, including CONNECT packets with username and password, is sent in cleartext. This is the most likely reason for the exposure. The tester observed credentials in cleartext, which directly indicates the absence of TLS encryption on the MQTT connection.
- B
The MQTT broker is configured to use TLS, but the client is not.
Why it fails: If the broker were configured for TLS, it would reject non-TLS connections or the client would fail to connect. The fact that credentials are visible in cleartext indicates that TLS is not in use at all, not merely a client misconfiguration. This option incorrectly assumes broker-side TLS is present, which contradicts the observed cleartext traffic.
- C
The MQTT client is configured to use MQTT over WebSocket without TLS.
Why it fails: MQTT over WebSocket without TLS would indeed send credentials in cleartext, but this is a specific implementation. The question asks for the most likely reason, and the simplest explanation is that TLS is not used at all. WebSocket is just a transport; the lack of TLS is the root cause. This option is too narrow and not the most likely general reason.
- D
The MQTT broker is using a self-signed certificate that the client rejects.
Why it fails: If the broker used a self-signed certificate and the client rejected it, the connection would fail, not proceed with cleartext credentials. The presence of cleartext credentials means the connection was established without encryption. This option describes a TLS handshake failure, which would not result in the observed traffic.