]> git.somenet.org - pub/jan/netsec2.git/blob - report/content/exercise2.tex
Stop hiding latex/build-errors. Also readded unused info and added easteregg image.
[pub/jan/netsec2.git] / report / content / exercise2.tex
1
2 \section{Exercise 2 - Task 1}
3 \subsection{Rep:2.a}
4
5 First we converted the file {\tt team15\_ex21.pcap} from the pcap-ng format to the pcap format to be able to use it with {\tt scapy}.
6 \fbox{\parbox{{\textwidth}
7 }}
8 \begin{lstlisting}
9 $ editcap -F libpcap team15_ex21.pcap ex21.pcap
10 \end{lstlisting}
11
12 Then we filtered out the large flows with more or equal than 400 packets.
13
14 % TODO include readflows.py-source
15
16 \begin{lstlisting}
17 $ ./readflows.py
18 {('113.15.85.25', '179.160.238.111'): (463, 0),
19  ('114.176.157.191', '221.72.61.209'): (541, 0),
20  ('134.134.122.170', '179.187.246.122'): (419, 0),
21  ('179.187.53.117', '129.49.173.82'): (472, 0),
22  ('211.2.138.61', '144.66.241.253'): (462, 151),
23  ('221.100.234.92', '161.194.49.146'): (547, 0),
24  ('8.73.98.88', '144.66.191.77'): (535, 0)}
25 \end{lstlisting}
26
27 (Format: {\tt (src, dst) : (srctodst, dsttosrc)})
28
29 We then split the pcap into different files for each stream using the following filter expressions into separate files:
30 \begin{lstlisting}
31 (ip.addr == 113.15.85.25 and ip.addr == 179.160.238.111)
32 (ip.addr == 114.176.157.191 and ip.addr == 221.72.61.209)
33 (ip.addr == 134.134.122.170 and ip.addr == 179.187.246.122)
34 (ip.addr == 179.187.53.117 and ip.addr == 129.49.173.82)
35 (ip.addr == 211.2.138.61 and ip.addr == 144.66.241.253)
36 (ip.addr == 221.100.234.92 and ip.addr == 161.194.49.146)
37 (ip.addr == 8.73.98.88 and ip.addr == 144.66.191.77)
38 \end{lstlisting}
39
40 We also did generate csv files for all pcap files.
41
42 Then we generated graphs to visualize the respective flows and found that the second flow has suspicious source ports, alternating between two values ({\tt 5950} and {\tt 5960}).
43
44 % TODO include gnuplot-source
45
46 % TODO include image
47 large\_flow\_2.png
48
49 % TODO include bitstobytes.py-source
50
51 \begin{lstlisting}
52 $ awk -F, '{print $8}' large_flow_2.csv | sed -e 's/5950/0/' -e 's/5960/1/' -e 's/"//g'
53 $ ./bitstobytes.py
54 \end{lstlisting}
55
56 \subsection{Rep:2.b}
57 \fbox{\parbox{\textwidth{{Data acquired. Key for message (len=42 \& pkts>200): nSa123 (Scott)}}
58
59 \section{Exercise 2 - Task 2}
60 \subsection{Rep:2.c}
61
62 Then we converted the file {\tt team15\_ex22.pcap} from the pcap-ng format to the pcap format to be able to use it with {\tt scapy}.
63
64 \begin{lstlisting}
65 $ editcap -F libpcap team15_ex22.pcap ex22.pcap
66 \end{lstlisting}
67
68 Then we filtered out the large flows with more than 200 packets and a frame length of 42 as mentioned in the solution from task 1.
69
70 % TODO \begin{didntwork}
71 ./task2/readflows.py
72 % {('53.151.211.106', '217.115.203.44'): (213, 0)}
73
74 filter into file
75 ip.addr == 53.151.211.106 and ip.addr == 217.115.203.44 and eth.len == 42
76
77 generate graph:
78 large\_flow.png
79
80 save bytes (ipid) from stream to file
81 ./decode\_ipid.py
82
83 try decoding with password from previous task
84 openssl enc -d -rc4 -nosalt -k nSa123 -in stream\_encrypted -out stream\_decrypted
85
86 -> didn't work
87
88 tried reversing the bytes (lower byte first, upper byte next)
89
90 -> didn't work
91
92 trying to decode the second-largest flow:
93 ip.addr == 96.55.191.225 and ip.addr == 217.115.203.44 and eth.len == 42
94
95 -> didn't work
96 % TODO \end{didntwork}
97
98 Finally we found out, that scapy removes the frame length when parsing packets with the {\tt PcapReader}.
99
100 This does not happen with the {\tt PcapRawReader}, so we rewrote the script a bit.
101
102 % TODO continue writing here
103
104 filter into files
105
106 ./readflows.py
107
108 manually create csv files
109
110 for i in large\_flow\_*.csv ; do ./../../only\_decimal.sh \$i > \${i\%.csv}.dehexed.csv ; done
111
112 ./autocorrelate.sh | grep -v "All values are identical" | sort -k2
113
114 -> ./parse\_stream\_data.py
115
116 \subsection{Rep:2.c}
117 Agent South was captured! Aborting operation. (Agent Scott)