This repository has been archived on 2025-04-28. You can view files and clone it, but cannot push or open issues or pull requests.
netsec-djw2/hw5/hw5.md
David Westgate 5b267eb9d7 hw5 progress
2024-06-05 13:56:20 -07:00

48 lines
1.6 KiB
Markdown

# Homework 5: Fuzzing
## Prelude
The first step I took for this asignment was setting up the docker container. This was straightforward with the provided instructions
![docker](./step0/docker.png)
## Step-0
Here, I have followed the instructions the run the sample RTSP client and server
The server running is shown here
![step0-a](./step0/server.png)
In another terminal, we run the sample client
![step0-b](./step0/client.png)
## Step-1. Prepare message sequences as seed inputs
At this point, we have the server and client running. The next step is to install TCP dump, and open it up on a 3rd terminal window. We can now restart the client and capture some traffic
As we can see, with this approach we have captured 24 packets
![step1/capture](./step1/capture.png)
Using `docker cp` I have copied that file `rtsp.pcap` to my local machine, and also have included it at [./rtsp.pcap](./rtsp.pcap)
Lets take a look at this file with `wireshark rtsp.pcap`
![wireshark](./step1/wireshark.png)
Following the instruction, we can save the raw TCP stream of the request messages to [rtsp_requests_wav.raw](./step1/rtsp_requests_wav.raw)
## Step-3 Fuzzing
We begin the fuzzing process running the supplied command
```
afl-fuzz -d -i $AFLNET/tutorials/live555/in-rtsp -o out-live555 -N tcp://127.0.0.1/8554 -x $AFLNET/tutorials/live555/rtsp.dict -P RTSP -D 10000 -q 3 -s 3 -E -K -R ./testOnDemandRTSPServer 8554
```
It seems off to a good start, and I will let this run for some time and check back later. In this case, I will use the provided seed corpus.
![begin-fuzz](./step3/begin-fuzz.png)
![afl](./step3/afl.png)