Can you identify ports in log entries? More, can you identify the protocols in the log entries?
I had a great question from a reader yesterday related to this question from the CompTIA Security+: Get Certified Get Ahead: SY0-401 Study Guide:
Q. While analyzing a packet capture log, you notice the following entry:
16:12:50, src 10.80.1.5:3389, dst 192.168.1.100:8080, syn/ack
Of the following choices, what is the BEST explanation of this entry?
A. An HTTP connection attempt
B. An RDP connection attempt
C. An FTP connection attempt
D. A buffer overflow attack
Do you know the correct answer? Do you know why the incorrect answers are incorrect?
Looks Like the Answer is Wrong
The reader questioned the answer from the book asking this:
Since the SRC is connecting from port 3389 which is odd, since it would normally grab some random port above 1024. I think the question is written wrong, and the way it’s written the answer can only be HTTP, since HTTP does also use port 8080 at times.
His explanation is well-thought out, but missed a subtlety in the question. Do you see it?
Here’s My Answer
I enjoyed thinking this through to respond and thought others might like the answer too, so I’m providing it here.
In short, the log entry is showing the return packet from the Remote Desktop Protocol (RDP) server.
Admittedly, this is deeper than many of the questions and many people just see 3389 and remember RDP, but the intent of this practice test question is to reinforce a little more, such as:
- RDP port uses port 3389
- Syn/ack is the return packet of a connection attempt (the second packet in the three-way handshake)
- The log entry shows the source (src) and destination (dst) IP and port
Three-Way TCP Handshake
Transmission Control Protocol (TCP) uses a three-way handshake. As a short reminder, the process is shown in the following graphic and bullets.
- To start a TCP session, the client sends a SYN (synchronize) packet
- The server responds with a SYN/ACK (synchronize/acknowledge) packet
Note that the log entry indicates this is a syn/ack packet (the return packet from the server) - The client completes the third part of the handshake with an ACK packet
At this point, the connection is established.
Connection to the RDP Server
If the client connects directly with the RDP server, there are simply two steps.
- Client sends traffic to RDP server on port 3389
- RDP server returns the traffic back to the client from RDP port 3389
Step 1 – Client to RDP Server
src 192.168.1.100:8080 to dst 10.80.1.5:3389 syn
Of course, the client could use any randomly assigned port above 1024. However, by using port 8080, it helps make HTTP look more realistic as a possible answer because some HTTP proxy servers use port 8080.
–>>> Step 2 – RDP Server back to Client <<<–
src 10.80.1.5:3389 to dst 192.168.1.100:8080 syn/ack
This is the only log entry you see in the question and it’s listed as a syn/ack packet (the second packet in the connection attempt)
Identifying Ports in Log Entries Answer
Q. While analyzing a packet capture log, you notice the following entry:
16:12:50, src 10.80.1.5:3389, dst 192.168.1.100:8080, syn/ack
Of the following choices, what is the BEST explanation of this entry?
A. An HTTP connection attempt
B. An RDP connection attempt
C. An FTP connection attempt
D. A buffer overflow attack
The correct answer is B. Because port 3389 is the well-known port for RDP, it is the best answer.
Hypertext Transfer Protocol (HTTP) uses port 80, not port 3389 or port 8080.
File Transfer Protocol (FTP) uses ports 20 and 21, not port 3389.
A buffer overflow attack sends unexpected data, but this entry indicates that it is a SYN/ACK (synchronize/acknowledge) packet establishing a connection.
A Subtle Twist
What if the log entry was:
16:12:50, src 10.80.1.5:3389, dst 192.168.1.100:80, syn
Do you know the answer now?
1 thought on “Identifying Ports in Log Entries”