"...is a sub-branch of digital forensics relating to the monitoring and analysis of computer network traffic for the purposes of information gathering, legal evidence, or intrusion detection. Unlike other areas of digital forensics, network investigations deal with volatile and dynamic information. Network traffic is transmitted and then lost, so network forensics is often a pro-active investigation." -wikipedia
The minimum knowledge needed is understanding how computers communicate to each other!
All communications between computers over the internet follow this abstraction. Usually, we can group the Data layers together (Layers 5-7).
Layer 1 - Physical layer is the literal transmission of bits, wired or wireless
Layer 2 - Data Link is the physical addressing of devices, what bits were meant for whom?
Layer 3 - Network is where IP addresses help get our packets around the world
Layer 4 - Transport is how we decide data is reconstructed on the destination end of communication
Layer 5+ - Application data is sent in any format here and left to be interpreted by an application like a browser
Layer 2 - Usually:
Ethernet frames on wired nets
802.11 frames on wireless nets
Layer 3 - Usually:
IP header datagrams
Layer 4 - Usually:
TCP segments
UDP datagrams
Layer 5 - all sorts of things!
IPv4 uses 4 octets as addresses, ex: 127.0.0.1 or 192.168.0.1
Those are both reserved private addresses, the former being localhost for your computer to address itself. The latter is usually your home router on the local area network (LAN)
Public IPs are used to address servers across the internet outside your home.
Much more to talk about here, but is omitted for simplicity's sake
UDP is a simple protocol, where packets are sent on best effort and are not ordered. This can be problematic sometimes, but is used often in video games. TCP is a reliable and ordered stream based communication. Below is an example of a TCP handshake to establish a new connection for sending data.
How does your computer know how to reach 'Google.com'?
"...is the world’s foremost and widely-used network protocol analyzer. It lets you see what’s happening on your network at a microscopic level and is the de facto (and often de jure) standard across many commercial and non-profit enterprises, government agencies, and educational institutions." -Wireshark.org
Wireshark is free and open source, with many many contributors!
Download for Windows & Mac: https://www.wireshark.org/#download
Linux users either compile from source or install via package manager (apt, yum, pacman)
Promiscuous mode is not needed at all in these challenges since all the examples are static.
Download pcap from MalwareTrafficAnalysis: CATBOMBER
password: infected
WARNING: these pcaps CONTAIN malware, do NOT execute any programs/binary files on your computer found in these pcaps.
Packet number
Source IPs
Destination IPs
Top level Protocol in packet
Extra useful information
Expression filter bar
Packet preview (all layers)
Hex dump (all layers)
Filter for DNS
DNS Results
Inspect individual DNS packet and all the frames
We can see this packet was delivered with UDP
Notice the header we select is highlighted in the hex dump as well!
Same thing for the Fields of a frame!
Lets look as some HTTP data in isolation
Here we can see the whole HTTP conversation in plaintext (from the TCP filter we made)
The client sent the red HTTP messages
The server respsonded in blue
We can look at other TCP streams (not just the HTTP ones) in this window as well!
We can look at other TCP streams (not just the HTTP ones) in this window as well!
Just flipping through streams we might find something, but if there are a lot of streams we might need to narrow our search
This stream looks odd?
Looks like a process list from the client is being send to back! That's not normal!
Today we are looking at Catbomber!
This network uses Active Directory, basically the domain controller here "authenticates and authorizes all users and computers in a Windows domain type network." This is pretty common in these types of challenges.
We want to know:
"Based on the Trickbot infection's HTTP POST traffic..."
Lets filter on HTTP POST first with:
http.request.method == "POST"
We know 10.5.28.8 is the DC and not the initial infected client, because the prompt said "where the infection spreads to the Domain Controller (DC)"
That leaves 10.5.28.229 to be the initial infected computer here.
Lets take a deeper look!
Can we see some sort of MIME data encapsulated here? We want to look at the Data in plaintext so lets right click and Show Packet Bytes. We'll do this for each of these POST packets
Packet 1561- nothing interesting...
Packet 1600 - This looks interesting! we got the username and password!
Packet 2256 - Has two Encapsulated parts, if we look at both we can see the Process list and ipconfig info!
Packet 2256 - Has two Encapsulated parts, if we look at both we can see the Process list and ipconfig info!
Can you find the last pieces of information now?