1 00:00:00,000 --> 00:00:01,999 Good morning, everybody. 2 00:00:03,751 --> 00:00:09,125 How are you guys, awake or sober? 3 00:00:09,125 --> 00:00:10,334 Who slept in this room last night, and that's 4 00:00:10,334 --> 00:00:12,584 the only reason you are here? 5 00:00:13,584 --> 00:00:15,417 One guy. 6 00:00:15,417 --> 00:00:16,584 JAIME FILSON: Okay. 7 00:00:16,584 --> 00:00:18,083 So this is GitDigger, I'm WiK. 8 00:00:18,083 --> 00:00:20,751 ROB FULLER: I'm Mubix. 9 00:00:20,792 --> 00:00:26,751 JAIME FILSON: So last night, at random, well, not random for Mubix, 10 00:00:26,751 --> 00:00:31,709 but we ran into a taxi line and decided to go with him 11 00:00:31,709 --> 00:00:34,375 over to Pawn Stars. 12 00:00:34,375 --> 00:00:35,876 Everyone knows Pawn Stars? 13 00:00:36,584 --> 00:00:39,959 So inside, we're walking around. 14 00:00:39,959 --> 00:00:43,459 We're looking at the souvenirs and all of a sudden we notice this kiosk. 15 00:00:43,459 --> 00:00:44,999 Everybody is using it. 16 00:00:44,999 --> 00:00:45,999 What's that? 17 00:00:46,083 --> 00:00:48,999 Well, we walk up to it and it has a camera. 18 00:00:48,999 --> 00:00:52,375 You can take a picture of yourself and they allow you to log 19 00:00:52,375 --> 00:00:56,167 in with your user name and password to Facebook, Twitter, 20 00:00:56,167 --> 00:01:01,417 to send an image to yourself or to tweet it out to the public. 21 00:01:01,417 --> 00:01:02,417 (Chuckles). 22 00:01:02,417 --> 00:01:03,999 So I email to myself. 23 00:01:03,999 --> 00:01:05,417 I'm not giving them anything. 24 00:01:06,334 --> 00:01:08,999 And this is the result on the screen. 25 00:01:09,083 --> 00:01:11,667 ROB FULLER: Legit, right? 26 00:01:11,667 --> 00:01:14,501 JAIME FILSON: So I did most of the research. 27 00:01:16,334 --> 00:01:18,959 I did all the research! 28 00:01:19,292 --> 00:01:22,999 ROB FULLER: That's me. 29 00:01:22,999 --> 00:01:24,834 JAIME FILSON: Yeah, that's him. 30 00:01:24,834 --> 00:01:28,417 ROB FULLER: So we are not the first ones to make wordlists. 31 00:01:30,083 --> 00:01:35,709 Sebastian French something, he's an awesome guy. 32 00:01:35,709 --> 00:01:38,999 I'm not trying to make fun of him and also all of Matt Weir's stuff. 33 00:01:38,999 --> 00:01:42,999 If you haven't used his keyboard dictionary, it's one of the best ones 34 00:01:42,999 --> 00:01:47,667 to find people who just use, you know, along the way. 35 00:01:48,417 --> 00:01:49,709 And the other people who make awesome 36 00:01:49,709 --> 00:01:51,250 wordlists, you rock. 37 00:01:51,250 --> 00:01:52,250 Going on. 38 00:01:52,250 --> 00:01:56,918 JAIME FILSON: So we weren't the first ones to go digging 39 00:01:56,918 --> 00:01:59,959 through source code. 40 00:02:01,959 --> 00:02:04,334 SVN digger was released. 41 00:02:05,167 --> 00:02:09,125 They went through a ton of SVN repositories, linked 42 00:02:09,125 --> 00:02:14,083 through and then published the frequency count of all the files 43 00:02:14,083 --> 00:02:18,959 and all the directories that they found and pulled down from, 44 00:02:18,959 --> 00:02:23,834 I forget exactly where they pulled them down from. 45 00:02:23,834 --> 00:02:25,083 ROB FULLER: Google Code. 46 00:02:25,125 --> 00:02:29,292 Just to point out really quick, if you take a picture of that QR code, 47 00:02:29,292 --> 00:02:32,083 we are not trying to hack you. 48 00:02:32,083 --> 00:02:34,584 It's linked to the information. 49 00:02:34,584 --> 00:02:36,918 JAIME FILSON: I made them, not him. 50 00:02:36,918 --> 00:02:38,626 So they are good to go. 51 00:02:38,626 --> 00:02:41,876 ROB FULLER: The only problem with using Google Code and stuff 52 00:02:41,876 --> 00:02:45,999 like that, they like to put these captures in, which makes it hard 53 00:02:45,999 --> 00:02:48,083 to automate stuff. 54 00:02:48,125 --> 00:02:54,250 So this is JAIME FILSON: So this is how everything got started. 55 00:02:54,584 --> 00:02:59,542 2:00 in the morning, somebody posts a link to SVN digger. 56 00:02:59,999 --> 00:03:02,626 Everybody thinks it's cool. 57 00:03:02,626 --> 00:03:04,999 I haven't seen anything like it before then. 58 00:03:04,999 --> 00:03:07,083 And Rob was like that's awesome. 59 00:03:07,083 --> 00:03:09,375 That one line, that's why he's standing 60 00:03:09,375 --> 00:03:14,209 up here right now, because of that one line of code. 61 00:03:14,292 --> 00:03:17,292 So I'm like, oh, this is awesome. 62 00:03:17,709 --> 00:03:20,876 I can do this crap, 30 minutes or so, I will go to bed, wake 63 00:03:20,876 --> 00:03:24,334 up in the morning and the code will be done and I will have 64 00:03:24,334 --> 00:03:26,584 an awesome wordlist. 65 00:03:26,709 --> 00:03:30,999 So my first problem was that I couldn't find at 2:00 in the morning, mind you, 66 00:03:30,999 --> 00:03:35,083 I couldn't find a good way to get all the repositories. 67 00:03:35,125 --> 00:03:43,834 So I started to go to their git help list is the most forked and I used some 68 00:03:43,834 --> 00:03:49,999 Python and started web scraping all of that. 69 00:03:50,167 --> 00:03:53,999 So do some basic Python, I'm web scraping that. 70 00:03:53,999 --> 00:03:59,918 I'm saving it in SQLite, user names and project names and then just sent 71 00:03:59,918 --> 00:04:04,999 my computer loose cloning all the repositories. 72 00:04:05,417 --> 00:04:08,083 So now what do I do with it? 73 00:04:08,083 --> 00:04:09,999 I have these repositories. 74 00:04:10,250 --> 00:04:13,584 I'm using OSWOC to go through each repository 75 00:04:13,584 --> 00:04:19,709 and keep a count of the user the file name and the directory. 76 00:04:19,876 --> 00:04:24,083 I'm doing a whole lot of said grab oc, just trying to clean everything 77 00:04:24,083 --> 00:04:26,999 up and make it nice and easy. 78 00:04:26,999 --> 00:04:30,999 There was a ton of manual review, because I thought it would be easy 79 00:04:30,999 --> 00:04:34,959 to go through and pull out all the user names and passwords, 80 00:04:34,959 --> 00:04:38,542 and email addresses I found in this code. 81 00:04:39,999 --> 00:04:45,999 So I spent about 17 hours total on my 30 minute project and all kinds 82 00:04:45,999 --> 00:04:50,542 of hours trying to pull out user names and passwords, 83 00:04:50,542 --> 00:04:55,667 and I've got a mile line of said that I just copy and paste 84 00:04:55,667 --> 00:04:58,292 and come back later. 85 00:04:58,834 --> 00:05:05,542 So OS.walk was taking forever to go through and find everything. 86 00:05:05,542 --> 00:05:07,999 I thought there's got to be a better way to do this. 87 00:05:08,083 --> 00:05:13,375 After some Google fool, I found betterwalk which claims that 88 00:05:13,375 --> 00:05:21,083 OS.walk makes unnecessary ISP calls, is this a folder, is this a file. 89 00:05:21,334 --> 00:05:25,999 We don't know, API, please tell me and they cut that out of their loop, 90 00:05:25,999 --> 00:05:30,209 which speeds things up to two and a half times. 91 00:05:31,209 --> 00:05:35,999 So the good news is, I've got some awesome wordlists. 92 00:05:36,709 --> 00:05:39,999 And I posted them out on IRC. 93 00:05:39,999 --> 00:05:41,083 Everybody loved them. 94 00:05:41,083 --> 00:05:42,083 I was like, great. 95 00:05:42,083 --> 00:05:46,083 But the bad news is I only have some repositories. 96 00:05:46,334 --> 00:05:49,209 I have maybe the most popular repositories 97 00:05:49,209 --> 00:05:51,125 and that's it. 98 00:05:51,542 --> 00:05:55,292 SQL transactions were extremely slow. 99 00:05:55,292 --> 00:06:00,459 It took maybe about 30 seconds to go is this already in my table? 100 00:06:00,751 --> 00:06:02,083 Yes? 101 00:06:02,083 --> 00:06:03,083 Okay. 102 00:06:03,083 --> 00:06:04,375 Let's add one to the count. 103 00:06:04,667 --> 00:06:08,083 And the 17 hours of manual labor, really sucked because I am 104 00:06:08,083 --> 00:06:11,459 the laziest bastard on the planet. 105 00:06:11,667 --> 00:06:16,626 If I could have got my goon to carry me in here, I would have. 106 00:06:17,083 --> 00:06:19,417 And my hard drive was full. 107 00:06:19,501 --> 00:06:21,999 I've had terabytes of this data. 108 00:06:21,999 --> 00:06:23,999 So everybody liked it. 109 00:06:23,999 --> 00:06:26,375 So I'm like, okay, let's get a little serious. 110 00:06:26,375 --> 00:06:28,083 How can I make this better? 111 00:06:28,083 --> 00:06:29,375 How can I streamline it? 112 00:06:29,375 --> 00:06:31,999 How can I not do 17 hours of manual labor. 113 00:06:31,999 --> 00:06:34,584 First problem, storage. 114 00:06:34,584 --> 00:06:36,459 How am I going to store all the data? 115 00:06:36,626 --> 00:06:41,167 So my first thought, I did some Googling in bitcasa, 116 00:06:41,167 --> 00:06:45,501 awesome, $99 a year, unlimited space. 117 00:06:45,667 --> 00:06:48,834 Built in indexing so I can give people access to all the code and 118 00:06:48,834 --> 00:06:53,209 they can search for whatever in the world they want and get it. 119 00:06:54,209 --> 00:06:57,834 At that time, six months ago, at that time, there was only 120 00:06:57,834 --> 00:06:59,876 a Windows client. 121 00:07:00,667 --> 00:07:03,751 It crashed every time I tried to launch 122 00:07:03,751 --> 00:07:08,999 a robocopy or just simple copy and paste, and it was extremely slow, 123 00:07:08,999 --> 00:07:14,083 because they encrypted all the data on the upswing. 124 00:07:14,083 --> 00:07:18,292 So what might have taken me six days to upload a terabyte 125 00:07:18,292 --> 00:07:24,542 with my slow ass connection would have taken, like, a month. 126 00:07:25,125 --> 00:07:28,709 The next option, which I thought was the option was 127 00:07:28,709 --> 00:07:30,667 to have a NAS. 128 00:07:30,999 --> 00:07:33,999 Everything was stored in one place. 129 00:07:33,999 --> 00:07:35,083 It was protected. 130 00:07:35,167 --> 00:07:40,209 I could download directly to it's but it's hard to get free money 131 00:07:40,209 --> 00:07:42,751 for these things. 132 00:07:42,999 --> 00:07:45,792 So I had three terabytes already. 133 00:07:45,792 --> 00:07:50,999 So my solution, right there is the first ten terabytes of all the data. 134 00:07:51,459 --> 00:07:57,125 (Chuckles) ROB FULLER: That's awesome! 135 00:07:57,626 --> 00:08:00,209 JAIME FILSON: So the next problem 136 00:08:00,209 --> 00:08:06,999 is how can I make downloading these repositories better, easier? 137 00:08:06,999 --> 00:08:09,999 How can I get all of the repositories? 138 00:08:10,459 --> 00:08:15,167 So when I was actually awake, I found the API which I felt incredibly 139 00:08:15,167 --> 00:08:18,083 stupid not knowing about. 140 00:08:18,459 --> 00:08:19,999 And it's nice because the AP I. 141 00:08:19,999 --> 00:08:23,959 gives you all kinds of nice, useful information. 142 00:08:23,999 --> 00:08:28,709 The only thing I haven't found is they will tell you it's a fork 143 00:08:28,709 --> 00:08:32,334 of a project, but they don't tell you who was 144 00:08:32,334 --> 00:08:36,751 the main project, who it was forked from. 145 00:08:36,999 --> 00:08:40,209 So I can keep track of how popular a project is, 146 00:08:40,209 --> 00:08:44,999 but I have no idea which guy was the original. 147 00:08:45,959 --> 00:08:50,209 So database, SQLite sucks really bad when you are 148 00:08:50,209 --> 00:08:53,999 trying to store a lot of data. 149 00:08:54,999 --> 00:08:57,334 I searched to my SQL. 150 00:08:58,083 --> 00:09:02,501 I've had questions in the past, why didn't I use PostgreSQL, 151 00:09:02,501 --> 00:09:05,999 I know my SQL and again, I'm lazy. 152 00:09:06,125 --> 00:09:08,083 I didn't want to learn something new. 153 00:09:08,083 --> 00:09:10,125 So let's put this all together now. 154 00:09:10,501 --> 00:09:13,501 So now I have two main scripts. 155 00:09:13,501 --> 00:09:18,083 I've got the first Python script that's threaded, goes through, downloads 156 00:09:18,083 --> 00:09:20,083 all the data. 157 00:09:20,083 --> 00:09:24,167 It's got another mode that will go through and process 158 00:09:24,167 --> 00:09:26,792 all of that data. 159 00:09:26,959 --> 00:09:30,999 And then I have another script which I will talk a little bit more 160 00:09:30,999 --> 00:09:34,542 about that just takes a long list of user names, passwords, 161 00:09:34,542 --> 00:09:38,542 email addresses, and I pass it to the table name and it just goes 162 00:09:38,542 --> 00:09:41,999 and dumps all the data into that table. 163 00:09:47,250 --> 00:09:51,125 The MySQL database, I created a table to keep track 164 00:09:51,125 --> 00:09:55,584 of more product information, more project information and 165 00:09:55,584 --> 00:10:01,751 the user names and pass words and everything now has its own table. 166 00:10:02,584 --> 00:10:05,876 And I'm keeping track of the last seen ID so that I don't have 167 00:10:05,876 --> 00:10:08,417 to start over or repeat myself. 168 00:10:09,459 --> 00:10:12,083 So here's how the downloading works. 169 00:10:12,083 --> 00:10:17,834 Downloader goes out to the API and says, give me 100 repositories. 170 00:10:17,999 --> 00:10:20,667 I saw I have already seen 5,000. 171 00:10:20,667 --> 00:10:24,751 So GitHub comes back at you and says, okay, here's the next 100. 172 00:10:24,999 --> 00:10:28,751 So it downloads it, dumps it into the database that I've got it 173 00:10:28,751 --> 00:10:33,876 and then automatically clones the repository to my hard drive. 174 00:10:34,834 --> 00:10:37,459 Unfortunately, the processing got a little better, 175 00:10:37,459 --> 00:10:40,542 but there's still a lot of manual work. 176 00:10:40,709 --> 00:10:43,667 So now, the processor mode is checking my database, going okay, 177 00:10:43,667 --> 00:10:47,459 I don't have this repository, but I know it exists. 178 00:10:47,709 --> 00:10:48,999 It downloads it. 179 00:10:49,042 --> 00:10:50,334 Great. 180 00:10:50,417 --> 00:10:53,834 Or it it goes through and auto loops it. 181 00:10:53,834 --> 00:10:56,626 It does a betterwalk on it. 182 00:10:56,709 --> 00:11:02,292 And now if you notice the red line, that's all of my manual work. 183 00:11:02,292 --> 00:11:07,250 So I have to grep all of this data, pull out user names, passwords, 184 00:11:07,250 --> 00:11:09,751 emails, RSA keys. 185 00:11:09,834 --> 00:11:13,876 All kinds of fun stuff, and then clean it up which can take 186 00:11:13,876 --> 00:11:17,999 for a one grep session for one day can take four days for me 187 00:11:17,999 --> 00:11:23,292 to go through and clean it all up and dump it into the database. 188 00:11:23,751 --> 00:11:28,751 And then I have a Bash script that will connect to the database 189 00:11:28,751 --> 00:11:34,209 and dump everything and create the wordlists and automatically send it 190 00:11:34,209 --> 00:11:38,459 back up to GitHub which is a real irony. 191 00:11:38,459 --> 00:11:42,501 I'm downloading all of their data and yet storing it on GitHub. 192 00:11:43,292 --> 00:11:45,667 So the updated news. 193 00:11:45,667 --> 00:11:48,375 I now have all the repositories. 194 00:11:48,501 --> 00:11:51,083 I can now get every single public one. 195 00:11:51,959 --> 00:11:55,459 Generating the wordlists with Bash script takes minutes once 196 00:11:55,459 --> 00:11:58,209 everything is in the database. 197 00:11:59,709 --> 00:12:02,667 Because of the updates I did to the database, 198 00:12:02,667 --> 00:12:05,542 I can store the repositories. 199 00:12:06,999 --> 00:12:09,999 It will tell me which one to go to get. 200 00:12:10,083 --> 00:12:14,792 The sucky part about that is if I want to go back and grep for more stuff, 201 00:12:14,792 --> 00:12:18,626 I have to get this giant hub and plug all of these hard drives 202 00:12:18,626 --> 00:12:20,959 in at the same time. 203 00:12:20,959 --> 00:12:24,083 ROB FULLER: It's awesome. 204 00:12:24,083 --> 00:12:25,083 You should see it. 205 00:12:25,083 --> 00:12:26,250 JAIME FILSON: Yeah. 206 00:12:26,250 --> 00:12:29,999 I'm estimating that it will take about 30 terabytes to download 207 00:12:29,999 --> 00:12:34,083 all the repositories, however, I'm pulling that number 208 00:12:34,083 --> 00:12:39,667 out of my butt based off of the first the amounts of repositories I got 209 00:12:39,667 --> 00:12:43,125 from the first 10 terabytes, because everybody 210 00:12:43,125 --> 00:12:47,209 is uploading new stuff every single day. 211 00:12:47,459 --> 00:12:49,999 I could probably continue with this project forever and never see 212 00:12:49,999 --> 00:12:51,792 the end of GitHub. 213 00:12:52,083 --> 00:12:57,709 ROB FULLER: So this is the big data drinking game. 214 00:12:57,709 --> 00:12:59,999 If you just heard me say, "big data" drink, 215 00:12:59,999 --> 00:13:02,959 but you guys are all hungover. 216 00:13:02,959 --> 00:13:04,083 So I won't ask you to do it. 217 00:13:04,834 --> 00:13:09,709 So obviously this is a build up to the actual worldlist. 218 00:13:09,709 --> 00:13:10,999 What did we get out of it? 219 00:13:10,999 --> 00:13:13,584 So anyone with kids knows exactly how this goes. 220 00:13:13,999 --> 00:13:16,334 So how does this go. 221 00:13:16,334 --> 00:13:19,125 Dun, dun, duuunnnnn! 222 00:13:20,501 --> 00:13:23,417 You can get the movie and just fast forward it 223 00:13:23,417 --> 00:13:26,083 to that part of the movie. 224 00:13:26,083 --> 00:13:29,083 It's the best part. 225 00:13:29,959 --> 00:13:33,083 ROB FULLER: These are pretty straightforward lists 226 00:13:33,083 --> 00:13:37,959 but the cool thing is what we see inside of them and we're not just talking 227 00:13:37,959 --> 00:13:40,083 about password lists. 228 00:13:40,125 --> 00:13:42,459 That's the obvious use, right? 229 00:13:42,459 --> 00:13:44,417 I'm going to have a set of passwords that I'm going 230 00:13:44,417 --> 00:13:46,417 to use against it. 231 00:13:46,834 --> 00:13:51,501 The all directories list and all files list is awesome, when you are talking 232 00:13:51,501 --> 00:13:55,999 about web application attacks, and the user names. 233 00:13:55,999 --> 00:14:00,125 I didn't know that so many people loved Bob, but they do. 234 00:14:00,334 --> 00:14:01,792 More than admin. 235 00:14:01,876 --> 00:14:03,918 So stats. 236 00:14:03,918 --> 00:14:04,918 Pretty pictures. 237 00:14:04,918 --> 00:14:08,918 JAIME FILSON: I promise, this is the only stat it's. 238 00:14:08,918 --> 00:14:12,834 I just wanted to give an overview of how many passwords are 239 00:14:12,834 --> 00:14:16,834 in the database, versus how many are actually unique 240 00:14:16,834 --> 00:14:18,999 to each section. 241 00:14:19,083 --> 00:14:23,626 ROB FULLER: So this is where it gets relevant to what I do. 242 00:14:23,999 --> 00:14:28,626 I'm a senior red teamer and one of the things I just break stuff. 243 00:14:29,751 --> 00:14:31,999 I already talked about forced browsing. 244 00:14:31,999 --> 00:14:35,083 The SVN digger kind of started that whole thing. 245 00:14:35,083 --> 00:14:37,083 The great thing about forced browsing 246 00:14:37,083 --> 00:14:40,751 is when you get a set of the directories or wordlists 247 00:14:40,751 --> 00:14:44,417 or stuff like that, you can just exactly like DirBuster, 248 00:14:44,417 --> 00:14:47,501 you can go through and find it. 249 00:14:47,501 --> 00:14:49,999 You can use these wordlists with DirBusters. 250 00:14:50,501 --> 00:14:53,999 The small default pass wordlist which is not exactly 251 00:14:53,999 --> 00:14:58,959 like the same thing that I would have expected as the default passwords 252 00:14:58,959 --> 00:15:02,209 and you start with root tore, blah. 253 00:15:04,125 --> 00:15:07,876 Static salts, it's hilarious when you have a salt 254 00:15:07,876 --> 00:15:13,209 for passwords and then that repository is used as an application out there 255 00:15:13,209 --> 00:15:15,626 in the real world. 256 00:15:15,626 --> 00:15:19,626 JAIME FILSON: I actually stopped pulling out static salts, 257 00:15:19,626 --> 00:15:22,417 because there's so many! 258 00:15:22,501 --> 00:15:27,334 And I'm never going to get this done in time to do a CFP on the project 259 00:15:27,334 --> 00:15:31,667 if all I did was pull out the static salts. 260 00:15:31,667 --> 00:15:34,292 ROB FULLER: So five minutes? 261 00:15:34,375 --> 00:15:38,999 So number 22 on the list of files is exception.php. 262 00:15:38,999 --> 00:15:41,792 I never, ever, looked for that when I was looking 263 00:15:41,792 --> 00:15:45,417 at a web application, even a php one. 264 00:15:45,918 --> 00:15:49,125 But after WiK had done his research and shared the list, 265 00:15:49,125 --> 00:15:52,083 I got code execution because it was loading 266 00:15:52,083 --> 00:15:55,999 the exception information and you could identify any list 267 00:15:55,999 --> 00:15:57,709 you want. 268 00:16:02,999 --> 00:16:05,375 That's brute force browsing. 269 00:16:08,999 --> 00:16:12,375 And this is pretty awesome. 270 00:16:12,459 --> 00:16:14,834 This is one of my favorites, NTLM SSO magic, 271 00:16:14,834 --> 00:16:17,459 do you know what that does? 272 00:16:19,417 --> 00:16:21,667 It has your user name and password statically assigned 273 00:16:21,667 --> 00:16:22,999 in there. 274 00:16:22,999 --> 00:16:23,999 So it does NTLM. 275 00:16:23,999 --> 00:16:24,999 All right. 276 00:16:26,999 --> 00:16:32,501 So real world stuff? 277 00:16:32,834 --> 00:16:34,959 Anyone see this release? 278 00:16:35,834 --> 00:16:38,125 The secret tokens for rails? 279 00:16:38,125 --> 00:16:42,501 If you have a secret token stored in your repository and it's also used 280 00:16:42,501 --> 00:16:45,709 in your production, without you clanging it, 281 00:16:45,709 --> 00:16:49,083 it's direct remote code execution. 282 00:16:49,250 --> 00:16:51,834 So this is the gentleman, and I'm going 283 00:16:51,834 --> 00:16:55,626 to butcher his name I won't butcher his name. 284 00:16:56,209 --> 00:17:00,999 He sent out an email to all 1,000 users who had this 285 00:17:00,999 --> 00:17:03,959 in their repositories. 286 00:17:03,959 --> 00:17:06,584 JAIME FILSON: I'm much too lazy to do all of that. 287 00:17:07,292 --> 00:17:12,584 ROB FULLER: You start parsing every file from the git repository. 288 00:17:12,584 --> 00:17:15,459 Right now WiK isn't, but if you store your password, then 289 00:17:15,459 --> 00:17:19,751 the gentleman who just said it, removes it, but you can go back 290 00:17:19,751 --> 00:17:23,083 in the history if you don't nuke it. 291 00:17:23,375 --> 00:17:27,834 Mass static code analysis: You can find a ton of things really quickly. 292 00:17:31,083 --> 00:17:35,918 And .svn, when you convert an svn repository into a git repository, 293 00:17:35,918 --> 00:17:39,292 sometimes people forget to delete those things and 294 00:17:39,292 --> 00:17:42,876 they can have configs, cluing database configs and 295 00:17:42,876 --> 00:17:45,083 all kinds of things. 296 00:17:45,626 --> 00:17:50,999 Git ignore is an amazing little file that tells your git repository what files 297 00:17:50,999 --> 00:17:53,751 to never look to commit. 298 00:17:53,999 --> 00:17:56,751 Those are exactly the files that I want to look for. 299 00:17:56,876 --> 00:17:59,334 Because those are the things that are important. 300 00:17:59,334 --> 00:18:02,125 So I usually look for that. 301 00:18:02,125 --> 00:18:04,667 403 on empty directory. 302 00:18:06,083 --> 00:18:11,459 On GitHub or on git as well as SVN, it doesn't let you create a directory 303 00:18:11,459 --> 00:18:15,918 and commit it, unless there's something in it. 304 00:18:15,918 --> 00:18:19,167 So MT directory and DS stores are usually how some people do it. 305 00:18:20,167 --> 00:18:23,459 Another thing is running OCR on all the images. 306 00:18:23,459 --> 00:18:30,334 We actually found a gentleman or a girl that had their password stored 307 00:18:30,334 --> 00:18:35,083 in an image for their repository. 308 00:18:35,083 --> 00:18:36,125 It was awesome! 309 00:18:36,375 --> 00:18:39,626 Using the list of text files, grepping out all the emails which 310 00:18:39,626 --> 00:18:42,876 he already does and I'm stopping because it gives all the ideas 311 00:18:42,876 --> 00:18:44,584 and we're done! 312 00:18:51,959 --> 00:18:53,083 (Applause). 313 00:18:53,083 --> 00:18:54,501 JAIME FILSON: Thank you. 314 00:18:54,501 --> 00:18:57,334 I actually want to give a quick thank you to nova hackers. 315 00:18:57,334 --> 00:18:59,334 There are any Nova hackers in the room? 316 00:18:59,334 --> 00:19:00,959 ROB FULLER: Boo! 317 00:19:00,959 --> 00:19:01,959 You all suck. 318 00:19:01,959 --> 00:19:03,250 JAIME FILSON: They suck. 319 00:19:03,626 --> 00:19:07,083 But without their help and support, encouragement, I would have never 320 00:19:07,083 --> 00:19:10,083 kept going with this project, because they helped me 321 00:19:10,083 --> 00:19:12,125 out with resources. 322 00:19:12,292 --> 00:19:21,083 I now have a file server which can store up to 34 terabytes of data. 323 00:19:21,292 --> 00:19:23,167 So once I get the original 10 bytes switched over, 324 00:19:23,167 --> 00:19:27,292 I'm going to start downloading, and pulling out some more stuff. 325 00:19:27,375 --> 00:19:30,083 ROB FULLER: Cool stuff? 326 00:19:30,083 --> 00:19:31,083 No? 327 00:19:31,083 --> 00:19:33,083 Everyone is waiting for the next talk? 328 00:19:33,083 --> 00:19:34,083 Questions? 329 00:19:34,083 --> 00:19:35,083 All right. 330 00:19:35,083 --> 00:19:36,083 Cool. 331 00:19:36,083 --> 00:19:37,375 JAIME FILSON: Thanks. 332 00:19:37,375 --> 00:19:38,375 Thanks for coming. 333 00:19:45,209 --> 00:19:48,459 (Applause) So for those of you filtering into the room 334 00:19:48,459 --> 00:19:53,083 and looking, Made Open Hacking is about to start in ten minutes. 335 00:19:53,083 --> 00:19:55,334 The schedule for Track 2 is really messed up. 336 00:19:55,334 --> 00:20:01,751 There are some tracks that didn't even make it on to the schedule. 337 00:20:01,751 --> 00:20:02,375 Please stop by the Information Booth if you want an updated schedule 338 00:20:02,375 --> 00:20:03,918 in about an hour. 339 00:20:03,918 --> 00:20:05,542 They're getting PDFs printed right now and they should have them 340 00:20:05,542 --> 00:20:07,167 in about an hour. 341 00:20:07,167 --> 00:20:09,250 If you want the schedule right now, the one on the website is the most 342 00:20:09,250 --> 00:20:11,792 up to date, however, they are doing a weird thing where 343 00:20:11,792 --> 00:20:15,417 they are telling you the ends of talk and not the start times. 344 00:20:15,417 --> 00:20:18,250 So the start time of a talk is 10 minutes 345 00:20:18,250 --> 00:20:22,250 after the one preceding it ends. 346 00:20:22,250 --> 00:20:23,250 Yeah.