๐Ÿ“ Task

Objective:
Manually perform a TCP handshake with:

  • Source Port: 31337
  • Destination Port: 31337
  • Initial Sequence Number: 31337
  • Destination IP: 10.0.0.2

๐Ÿ”ง Packet Flow

Packet Flags Fields
SYN 'S' seq = x
SYN-ACK 'SA' seq = y, ack = x + 1
ACK 'A' seq = x + 1, ack = y + 1

๐Ÿงช Solution using Scapy

>>> from scapy.all import *

>>> port = 31337
>>> t_ip = "10.0.0.2"

# Step 1: Send SYN
>>> syn = IP(dst=t_ip)/TCP(dport=port, sport=port, flags='S', seq=31337)

# Step 2: Receive SYN-ACK
>>> synack = sr1(syn)

# Step 3: Send ACK
>>> ack = IP(dst=t_ip)/TCP(dport=port, sport=port, flags='A', seq=syn.seq + 1, ack=synack.seq + 1)
>>> send(ack)
.
Sent 1 packets.

Flag

pwn.college{8yDXHISTkr5Byf9rT4RgjEcscFy.QX5YzMzwSM0IzMyEzW}