]> git.somenet.org - pub/jan/digfor.git/blob - report1/content.tex
GITOLITE.txt
[pub/jan/digfor.git] / report1 / content.tex
1
2 \newpage\section{Questions (6 points)}
3 \subsection{What is the password of the container?}
4 After cracking the password using bruteforce the password was found to be
5 \begin{quote}4865\end{quote}
6
7
8 \subsection{What is the secret in the container?}
9 The container had a file secret.txt with the following content
10 \begin{quote}\ttfamily{64e86b30466d506fdf6c0cd976ef4ba798a9cd4faf}\end{quote}
11
12
13 \subsection{What was saved in the container by Spongebob?}
14 The container had 3 files in it:\\
15
16
17 \subsubsection{awesome.jpg}
18 The File is a picture of spongebob looking at a rainbow.
19 \begin{quote}
20 \textbf{size}: 362372 byte\\
21 \textbf{''file''-output}: JPEG image data, EXIF standard\\
22 \textbf{sha512}\\\ttfamily{
23 d27a77d59c21732d5edd192423ab8402fee3e46e0aa2bfde5f7032c2f7ee706c\\
24 772ab08658e48c7558737809c00ce70355bdfaa1ca588d21ca43081eb4f2119a}
25 \end{quote}
26
27
28 \subsubsection{secret.txt}
29 File contains a hexadecimal String of length 42.
30 \begin{quote}
31 \textbf{size}: 42 byte\\
32 \textbf{''file''-output}: ASCII text, with no line terminators\\
33 \textbf{sha512}\\\ttfamily{
34 47bae836b0320214341f89a8be9831ec6d8921970292488522aea4d1b41da6ea\\
35 68921775c50de78cd06ffd7bb092c0e2fee7a00f6b2ba0153d7ccb3240531132}
36 \end{quote}
37
38
39 \subsubsection{wasted.jpg}
40 The File is a picture of spongebob and another individual.
41 \begin{quote}
42 \textbf{size}: 100058 byte\\
43 \textbf{''file''-output}: JPEG image data, JFIF standard 1.01\\
44 \textbf{sha512}\\\ttfamily{
45 61aa8217eb71360c9c15255f73ab849dc173384de6465d18c276f6a4a4bbc236\\
46 f14a5968e96f12102a9e6c44d7736c4ebc703881db0fe18797446db0db4f9a3e}
47 \end{quote}
48
49
50
51
52 \newpage\section{Analyze (2 points)}
53 On my machine/setup I can probe for 18 passwords per second.\\
54
55 \subsection{How much time is needed for brute forcing different password lengths and character sets?}
56 \subsubsection{using a 4-character-password}
57 Numeric passwords have only 10 possible states with one digit.\\
58 With a 4 digit password it would take at max (10**4) 10000 operations or 555 seconds (\textbf{or 9.2 minutes}) to bruteforce such a password.\\
59 If we add lowercase characters, we get 36 possible states with one digit.\\
60 With a 4 character password it would take at max (36**4) 1679616 operations or 93312 seconds (\textbf{or 25.92 hours}) to bruteforce such a password.\\
61 If we add uppercase letters, we get 62 possible states with one digit.\\
62 With a 4 character password it would take at max (62**4) 14776336 operations or 820907 seconds (\textbf{or 228.02 hours}) to bruteforce such a password.\\
63 We can add non-alphanumeric characters to get even more possible states with one digit.\\
64
65
66 \subsubsection{using a 6-character-password}
67 Numeric passwords have only 10 possible states with one digit.\\
68 With a 6 digit password it would take at max (10**6) 1000000 operations or 55555 seconds (\textbf{or 15.43 hours}) to bruteforce such a password.\\
69 If we add lowercase characters, we get 36 possible states with one digit.\\
70 With a 6 character password it would take at max (36**6) 2176782336 operations or 120932352 seconds (\textbf{or 3.83 years}) to bruteforce such a password.\\
71 If we add uppercase letters, we get 62 possible states with one digit.\\
72 With a 6 character password it would take at max (62**6) 56800235584 operations or 3155568643 seconds (\textbf{or 99.99 years}) to bruteforce such a password.\\
73 We can add non-alphanumeric characters to get even more possible states with one digit.\\
74
75
76 \subsection{What is the minimum password length and complexity for having a secure container for at least 10 years? (You may assume constant computing power)}
77 10 years have 315576000 seconds.
78 If we assume that we can probe 18 passwords per second (in my setup), we need a password that needs at least 5680368000 operations to bruteforce to get a secure container for 10 years.\\
79 This would be a numeric password with 10 digits, an alphanumeric password with 7 digits, an mixedcase alphanumeric password with 6 digits.\\
80 Using non-alphanumeric characters will decrease the min-required-digits-on-my-setup even further.\\
81 But as one can assume that professional bruteforcing involves distributed GPU or ASIC powered cracking, a password should be way longer than that in order to be safe from evil guys like the NSA.
82
83
84
85
86 \newpage\section{Details}
87 \subsection{Container}
88 \begin{quote}
89 \textbf{size}: 1048576 byte\\
90 \textbf{''file''-output}: data\\
91 \textbf{sha512}\\\ttfamily{
92 543d0debc10eb3d2a8cc584eec273b84526891cbb2c594bd92150596b96b56c4\\
93 44d1fd8e55f3434eb1f2d9386f4c91af0151832125e5f707eb4d4815bf793b78}
94 \end{quote}
95
96
97 \subsection{Used tools}
98 Tools that were used for analysis (-{}-version):
99 \begin{itemize}
100 \item TrueCrack v3.5
101 \item sha512sum (GNU coreutils) 8.5
102 \item wc (GNU coreutils) 8.5
103 \item ls (GNU coreutils) 8.5
104 \end{itemize}
105
106
107 \subsection{Machine tools}
108 \begin{itemize}
109 \item \textbf{Virtual machine}\\
110 Linux debian 3.2.0-0.bpo.4-amd64 \#1 SMP Debian 3.2.51-1~bpo60+1 x86\_64 GNU/Linux
111 \item \textbf{Oracle VirtualBox} 4.3.10
112 \item \textbf{Host machine}\\
113  Linux rebx 3.14.0-gentoo-somenet.org \#1 SMP Sun Apr 6 01:00:17 CEST 2014 x86\_64 Intel(R) Core(TM)2 Duo CPU T9300 \@ 2.50GHz GenuineIntel GNU/Linux
114 \end{itemize}