start	end	text
8690	13290	This is not the same Shmoo presentation that we anticipated.
13290	17590	There will not be a Hookers for Hackers giveaway this time.
17590	19570	So, I'm sorry to disappoint you.
19570	22590	We have some other, you know, mostly nerdy crap to talk about.
22590	25310	So, maybe next year.
25670	28910	So, I don't know exactly why you're all here,
28910	30050	but, you know, we're going to give you everything
30050	31470	and we'll figure it out as we go.
31470	33030	I'm Pablos from the Shmoo group.
33230	34470	We do have some stickers.
34470	36470	If you didn't get one, you know, you're a lamer.
36470	37190	Right.
37490	40030	Go to those guys right there. Raise your hands, guys.
40410	44350	So, what we'd like to do at DEF CON
44350	47730	is just lambaste you with everything that we can think of
47730	49830	that we've been working on, or at least the cool stuff.
49830	51030	And it's ready.
51030	53710	And so, we have a panel of all different Shmoo guys.
53710	54630	There are a whole bunch of others,
54630	56690	but the ones that have stuff to show you today are here.
56690	57730	We're the troublemakers.
57730	59630	They're troublemakers, yeah.
60130	62990	And, um, but a couple things we want to talk about.
62990	65010	And I guess first I'd like to know,
65010	67110	did Mike Lynn make it here or not?
67110	68050	Is Mike here?
68490	69370	Spot the Mike.
69370	69770	Spot the Mike.
69770	70770	So, there's no Mike.
71110	73950	Okay, well, I'm sure you all are aware of what's going on with Mike
73950	75950	in the recent fiasco.
75950	77890	And he's not allowed to talk,
77890	80430	but we wanted to say a couple things about what he's up to,
80430	84390	which is important because everything that we do here at DEF CON
84390	89210	and in security research has to do with reverse engineering
89210	92130	and disclosure of vulnerabilities.
92130	95530	And, unfortunately, it's what we have to work with
95530	97490	as far as making systems secure.
97550	98950	We have to find the problems,
98950	100130	we have to tell people about them,
100130	101310	and we have to fix them.
101450	103070	And that's a lot of what's going on.
103070	104570	And it's really, really pivotal,
104570	105890	I think as most of you guys know,
106310	107650	to support that.
107650	110810	So, reverse engineering and Mike Lynn.
112010	113570	Oh, now I see why you're clapping.
113570	114570	Clap for Mike!
116750	118470	That's kind of a side project.
118630	119730	Yeah, this is Mike.
124950	125390	So...
127630	130210	So, as you know, Mike recently, in the last few days,
130210	132310	managed to get sued and settle with Cisco.
132490	136290	But the work that he's been doing goes on with other people.
136490	138950	And it goes on, and what's important about it
138950	143270	is that we can't let a culture of cover-ups
143270	145270	for security issues develop.
145610	147270	And if you look at the interests of vendors
147270	149350	and the security research community,
149350	150570	they're kind of opposed.
150650	152130	But the important, I think, message
152130	153970	from what Mike's just been through
153970	158690	is that vendors have an obligation to their customers.
158690	160670	And it's really the customers that are being kept in the dark
160670	164010	when the vendors aren't disclosing the vulnerabilities
164010	165630	that have been around for a while,
165630	167070	even once they've been fixed.
167070	169950	So, I think that an important thing to recognize
169950	172910	is that all you guys are really important, right?
172910	174790	The work that you're doing is really important.
174830	177690	Some guys, every year, put their ass on the line
177690	179690	and some get picked up.
179690	181690	And Mike's not the first, but he's the most recent.
181690	185630	So the important thing is keep up the good work.
185670	186910	And this is...
188210	189470	You guys rock.
189470	191330	This is from a project I worked on
191330	195190	to secure cell phones to thighs.
195470	200030	And I managed to patent the use of women's thighs,
200030	202530	which, you know, I don't know if there's anyone that leap here,
202530	204190	but if you are, let me know.
204890	206430	And then the other thing I wanted to say
206430	207710	before we move on is that
209070	209910	don't get sidetracked
209910	213410	by all the work that people are talking about
213410	214550	as far as vulnerabilities.
214550	215610	There's a lot more to security
215610	217750	than finding vulnerabilities and exploits.
217870	219010	There's a lot more to security
219010	221090	than just patch management and IDS.
221090	223710	There's a lot more to security than policy management.
223950	226610	And what there is is architecture.
226610	228450	What we want to do is change the world
228450	230030	so that 15 years from now,
230450	231670	we aren't coming back to DEF CON
231670	233210	and telling you about the latest exploit
233210	235690	we found in firewalls or Wi-Fi or whatever.
235770	237250	We need to find fundamental ways
237250	239890	to change the computer systems that we use
239890	242810	We need to find ways to take the academic research
242810	244930	that's been done and put it into practice.
245010	246350	And this is unfortunately not something
246350	248110	that the market has been really good at.
248110	250010	And so I think it's up to you guys
250010	251570	since you're learning to think different.
251570	253910	You're already on the fringe a little bit
253910	257390	and you've learned about how to break shit.
257530	258710	You know how to break shit.
258710	260650	You know how to build shit that can't be broken.
260650	262530	And what we need to do is figure out how to do that
262530	265330	and kind of move our entire industry forward.
265330	266670	And the world in general.
266670	268090	So that's what I wanted to say.
268090	271410	With that, I'm going to hand it over to Eric Johanson.
273170	278190	And Eric is going to take on getting on with the exploits and shit.
281060	283240	Good afternoon, folks. How are you?
285100	287020	You guys still alive?
290080	293200	So, let's see.
293200	295460	Back at the beginning of this year,
295460	299440	I did some work related to international domain names.
299440	302640	This work was apparently...
302640	304720	I was not the first person to do this work
305520	309820	specifically related to international domain names and homograph attacks.
310080	314840	I found some holes in, well, most of the browsers that are out there
314840	321700	related to how they handle Unicode characters and domain names.
321700	324480	And this attack has been talked about.
324480	326640	There were papers published in 2000.
326640	331140	The vendors were notified and no fixes were done.
331480	333440	This seems like a problem.
334020	335460	No?
341500	346520	So, it was interesting when I gave this short presentation
346520	348460	demoing this exploit at ShmooCon
348460	351280	because everyone went up in arms and said,
351280	353960	you should have notified the vendors first.
355420	359440	The vendors that I did notify several weeks in advance before ShmooCon
359440	361860	told me that it was not a vulnerability.
362320	364360	We will be making no fixes.
364400	365480	It's a feature.
365980	367840	It is a feature.
368940	372360	A large hardware manufacturer...
372360	374780	These are not the exploits you are looking for.
377700	381300	Okay, so an IDN exploit or a homograph attack,
381300	383160	what it basically is,
383160	386900	if you have, let's say, PayPal.com
386900	390700	and you have, over here, PayPal.com
390700	394780	only the first A in PayPal is actually a Russian A
394780	398300	which looks and smells and tastes identical to a Latin A
399060	401640	that is effectively a homograph attack
401640	403780	because users cannot tell the difference.
403780	408360	There is no difference on your browser, on most platforms,
408360	410540	the difference between those two domain names.
410540	411460	So...
413640	414240	Hmm...
414240	417240	Phishers would probably really like that, I suspect.
419140	419740	So...
419740	421340	You know, it was interesting.
421340	423840	The vendor response I got,
423840	427340	basically, most vendors told me,
427340	429500	this is not a bug.
429920	432220	Go away. We don't want to hear from you.
432220	433700	After it was released,
433700	437140	suddenly I'm getting calls from legal departments.
437140	440800	So, clearly, vulnerability disclosure is something that
441920	444800	we all face as security researchers because
446360	449540	just this week, we have someone that's also
449540	452280	going to be dealing with more issues
452280	454460	related to how they disclose something.
454480	457400	There's an RFC written out
457400	459460	related to vulnerability disclosure.
459460	462560	Everyone seems to be doing things in a slightly different way.
462640	465800	But ultimately, what a lot of people seem to be forgetting
465800	469040	is just because a vulnerability is found,
469040	472340	doesn't mean that they're the first people to find it.
472880	476640	I was not the first person to find the IDN homograph attack vulnerability.
476640	478220	It still hadn't been fixed.
478260	479860	The work that Mike has been doing,
479860	483980	it is very likely that other people know about those attacks.
484980	486560	It's very likely.
486780	488460	And just because it hasn't been disclosed
488460	492260	does not mean that it places all of our society at risk.
492400	494620	So, in short, I think
495340	498360	ultimately, for consumers to be the best informed,
498360	500580	they need to be aware of these vulnerabilities.
501220	505500	And ultimately, vendors are out to make the most money.
505840	509140	And I think that's in direct conflict with the Internet
509140	511280	and the routers of this world
511280	513160	and the web browsers of this world.
513360	516820	So, think really hard when you find that vulnerability
516820	518520	about how you want to handle it.
518520	520300	Don't be bought out.
520500	521920	Don't let it happen.
523540	523900	So...
524900	525620	Yeah!
530590	532310	All right, so...
532890	534170	Yeah, I know, we're going to get up here
534170	535910	and we're going to preach a little bit or whatever.
535910	537630	We got cool shit, don't worry.
539190	541150	Everybody's like, hey man, what is it?
541150	543750	So we're going to get down and dirty
544150	546110	and this will fry your fucking brain.
547930	550590	If you're not familiar with what Rainbow Tables are,
550590	552470	Dan will go into it a little bit.
552470	556450	If you haven't been to the rainbowtables.shmoo.com website,
556450	557630	you'll get into that.
559010	560750	But Dan's got something.
560850	562350	Dan's got a new bag.
562370	563810	Anybody here know math?
564630	566230	All right, hi all.
568370	570490	There's no slide for this, but since I'm up here
570490	572430	and I have all of your attention,
572430	574470	I saw Jennifer Granick just leave,
574470	576910	but could everybody who's from the EFF who's here,
576910	578110	please stand up.
580650	582090	We're talking about...
582530	583610	Hey guys.
585310	588450	All right, I'm just going to do introductions quick as I see you.
588450	591990	I used to work with these guys very briefly as a staff technologist
591990	593210	and now I'm elsewhere.
593330	595030	But these guys, we had a party last night.
595030	596210	You might have been to it.
596290	598690	We're talking about vulnerability disclosure,
598690	600550	full disclosure, legal ramifications.
600550	603990	Jennifer Granick, who is Mike's counsel, and the EFF,
603990	607250	these are all the guys saving all of our asses every day.
607250	610250	So please give a round of applause for the EFF.
617480	618840	Go to the dunk tank.
618840	620100	I'm going to be there tomorrow.
620100	620920	Dunk me.
621680	623420	All right, so Rainbow Tables.
623780	625040	Who's familiar with Rainbow Crack?
625040	626120	Put your hand up.
627020	627900	Word.
628020	631660	All right, Rainbow Crack is an implementation of a technique
631660	634260	made by a European researcher.
634600	636640	And without getting into the heavy math of that,
636640	637920	basically it's software.
637920	639200	You can download it.
639260	641280	Jennifer Granick, I see you walking back there.
641280	641800	Jennifer?
641800	643680	Everybody give Jennifer a hand of applause.
643680	644740	Kiss her ass.
647400	649080	Thank you.
650860	653140	So you download Rainbow Crack,
653140	657120	and basically what it lets you do is consume all of her CPU time
657120	659920	and generate, according to what it says,
659920	663100	nearly every single possible landman hash.
663100	664260	Anybody familiar with landman?
664260	665320	Raise your hand.
665960	666520	Word.
666520	667460	Okay, great.
667500	670520	So that's what it does, right?
670520	674540	And we, like Beetle over there in the Bosox cap,
674540	676020	had a good idea and he said,
676020	678300	hey, we got a bunch of people and we have a bunch of machines
678300	679660	and we have too much free time,
679660	680800	so let's just do this.
680800	683480	Let's just generate every single landman hash that there is.
683720	685080	So we started doing it.
685080	687220	We just downloaded the code off the guy's website.
687520	690580	We fired it up on about 150 machines
690580	692380	across different shmoo,
692380	693640	and we generated it.
693640	696440	And our goal was to use it to generate...
696440	697740	You can do different key spaces,
697740	699960	like if you want to do five characters, six characters, whatever.
699960	702540	We wanted to do the configuration that had
702540	705920	every single seven-character valid hash for landman.
705920	707740	Every uppercase, alphanumeric character,
707840	709700	a certain set of symbols and space.
710320	711780	So we did it.
711780	714340	And, you know, landman, right?
714340	715480	We put it up.
715480	717000	The link is live, right?
718520	720200	RainbowTables.shmoo.com
720820	723340	43 gigabytes over BitTorrent.
723340	724640	Go download it now.
724640	727700	If you have a laptop, saturate Defcon's bandwidth.
727700	730620	We're going for the BitTorrent record here.
731000	731980	World's largest torrent.
731980	732900	Can you man the slides for me?
732900	733480	Right there.
733480	734020	Right.
735260	735660	So...
735660	738700	The big thing was that we were told...
739220	741580	And I'll cover the political part real quick.
741580	743000	He'll cover the technical part.
743000	744700	But the political part was...
745500	747680	We got an email, and you'll see the email in just a second.
747680	750580	It said, hey, I wrote Rainbow Crack,
750580	752740	and I don't like you giving away the tables for free
752740	754500	because, you know, I charge for them.
754500	757580	And mind you, there's no license on the Rainbow Crack code at all.
757580	758060	None.
758060	759040	You know, the code is free.
759040	761500	You can download it, but there's no BSD, no GPL, whatever.
761540	763560	Meanwhile, I mean, there's other folks out there
763560	765740	that are charging $700, $800 for, like,
765740	769320	the Landman Symbol 32, you know, plus space tables.
769480	770120	$700.
770380	771940	You can go get those tables.
771940	774080	Because, obviously, it's a little difficult for everybody
774080	775480	to get together and just kind of generate them.
775480	776200	Preach, brother.
776280	777760	And we said, fuck it.
778040	779680	We'll just generate them and give them away for free.
779680	780200	So, there.
780200	782620	A 43.9 gigabyte torrent.
782620	783880	Join the torrent, bitches.
784300	785180	Right there.
787720	790240	That's an $800 torrent, I guess.
792480	794640	We're all about added value.
795020	797360	And Dan will go over the finer technical points
797360	799040	of the email that we received.
799600	800280	All right.
800340	803860	There's the email that we got from the author of Rainbow Crack.
803960	806660	And I would butcher his name, so I'm not going to mention it.
807280	808540	But, you know...
808540	809460	All right, you can read it.
809460	811140	I mean, the text is sort of small, but you can see it.
811140	813060	We bolded out the important points.
813060	815500	For those guys selling the table without permission from me,
815500	816560	they are not welcome.
816660	818040	But you are worse.
819860	822500	And the second paragraph basically goes into why he generated it,
822500	824480	why it's cool, yada, yada, yada.
824480	826340	And then, obviously, the third paragraph.
826340	827060	Are you feeling cool?
827060	829460	Because knowing all the passwords is cooler than trying to crack one.
829460	831940	That's the line from our original website,
831940	833380	rainbowtables.shimmy.com.
833600	835460	All over the world, there will be a lot of guys
835960	837560	can do what you do.
837560	838140	They aren't.
838140	838720	Do you know why?
838720	840940	To show off proof neither your ability nor knowledge.
840940	843080	We're just running your code, dude.
843080	844320	We liked you.
844480	846400	Why can't we all just get along?
846860	848260	We're not hippies.
848640	851120	And then, you know, if possible, please keep honored,
851120	852260	blah, blah, blah.
852460	854720	Don't be crazy anymore.
856100	858040	Well, I mean,
858040	859120	look at us.
859420	860220	Honestly.
862620	864180	Don't we all look sane?
864180	865520	All right, so we basically said
866240	868360	that we had a lot of reasons as we were doing
868360	869520	the rainbow table generation
869520	871900	to make it better.
871960	873320	And initially, that was all we were going to do.
873320	875620	We were like, oh, you know, there's some pieces of code here we could optimize.
876400	878260	But then we had that email,
878260	879780	and so that pissed us right off.
879780	881700	And I mean, the big key was that, like, you know,
881700	884180	once Dan started looking at it, he was like, fuck it.
884180	885680	I mean, we can do something better.
887280	889240	So we don't need your stinking code, dude.
889240	890680	And snacks, by the way,
890680	891680	says fuck off.
891840	892340	Yeah.
893860	896100	So we have an unnamed project.
896100	897600	We don't have a name for it yet.
897840	898760	You okay, man?
899580	900380	Sorry.
901880	903700	We're making people fall out of their chairs already.
903700	904360	Sweet.
906940	909340	All right, so we have an unnamed project.
909380	911040	It's me, Dan Moniz,
911040	913200	and Reverend Dr. Patrick Stack,
913200	914160	who's not here.
914160	916060	Some of you may know him as Optix.
916500	918380	He's not a schmoo, but we're working together on this
918380	920780	because we both love each other.
922040	924020	So we wanted to improve on Rainbow Crack,
924020	926140	and so we started out just trying to optimize
926140	928660	Rainbow Crack. Leave the method the same,
928660	930640	but just, you know, make it better.
930820	932120	But in the process of doing that,
932120	933980	we found out it is to suck.
935860	937660	So we changed our approach,
937660	938940	and we made a new tool.
938940	940620	It doesn't have a name yet.
941820	943040	Problems with Rainbow Crack.
943040	944900	Who here knows a little bit of math?
945940	946640	All right.
948440	949640	All right.
949700	951500	So I'm going to blow through this.
951500	953100	If you want to come to the nitty-gritty,
953100	955120	it's either going to be, and they're going to pimp this later,
955120	958140	either at SchmooCon in January in D.C.
958140	959320	in 2006.
959320	961100	Or Guantanamo. We're on the edge.
961980	963820	Or, if we're really good at it,
963820	965080	we'll get it done by TourCon,
965080	967540	which you should also come to this September.
969120	970840	A reduction function bias.
970840	973300	There's a reduction function in Rainbow Crack,
973300	975200	and it has this bias issue,
975200	977980	meaning that it does something a little fucked up.
978240	979480	If your key space is
979480	981480	six valid inputs,
981480	984040	and you have a 2 to the 4,
984040	985300	which is 16,
985300	986820	number of outputs,
986820	989320	the reduction that Rainbow Crack
989320	991060	does, slightly simplified,
991060	993460	I'm ignoring one little thing that doesn't matter,
993460	994980	is the total number of outputs,
994980	996860	modulo the total number of inputs,
996860	999340	and that equals what we're calling a bias marker.
999440	1000500	Break it down.
1001920	1003260	So, here's some
1003260	1004560	modular arithmetic, real simple.
1004560	1007140	0 mod 6 equals 0, all the way through to
1007140	1009040	15 mod 6 equals 3.
1009060	1010540	You can sort of see the columns.
1010680	1013340	It's a lot of modular arithmetic, but one thing you'll notice
1013340	1014740	is that there are three
1014740	1017280	of every single value, i.e. the thing
1017280	1019300	to the right of the equals sign. There's three of every of them,
1019300	1021180	except four and five.
1021360	1022500	We only have two of those
1022960	1025180	in this 16 issue here.
1025180	1027240	So, say that Landman only had
1027240	1029180	six possible inputs,
1029180	1031260	and say that the algorithm, which in Landman
1031260	1032820	is DES, had
1032820	1035040	2 to the 4 outputs, or 16.
1036340	1037880	By taking an arbitrary
1037880	1039940	random output from the algorithm,
1039940	1042040	we can assume that the algorithm output is random,
1042580	1044100	and modulo it by 6,
1044100	1045960	there's a better chance of the
1045960	1047680	input values being below
1047680	1050080	that bias marker, that thing to the
1050080	1052000	right of the equals sign. So, values 0
1052000	1054220	to 3, because we have more of those,
1054220	1056080	have a better chance of being picked at random
1056080	1058120	due to this than the 4 to the 5
1058120	1060100	values. We only have two of those.
1060260	1060860	See?
1061780	1063680	I know I'm going quick.
1064380	1066300	So, the real bias problem here is
1066300	1068700	that's just a summation,
1068700	1069960	you know, that's for
1069960	1072620	i equals 0 to i equals
1072620	1074880	7 of 69
1074880	1076740	to the i. So, this Riemann sum
1076740	1078640	is not an integral factor of
1078640	1080220	2 to the 64, just like
1080220	1083080	6 is not an integral factor of 16.
1083240	1085200	This modular arithmetic has a bias.
1085760	1086800	So, if we bring this back
1086800	1088400	to what Rainbow Crack actually does,
1088400	1090760	instead of my bullshit example,
1090760	1092740	you can assume that the output of DES is statistically
1092740	1094860	random, or at least random enough
1095780	1096820	that the bias would
1096820	1099440	still be present. Why it matters.
1099480	1100780	Okay, here's some math. I'm going to
1100780	1102620	break it down. n equals the
1102620	1104700	floored result of the total number of outputs
1104700	1106780	over the total number of inputs. We're going to
1106780	1108880	add 1 if n is below
1108880	1110740	the bias marker, if it's one of those low values we
1110740	1112780	have more of. And that
1112780	1114660	1 represents the extra chance.
1114660	1116860	We have only two 4s and 5s, we have three of everything
1116860	1118940	else. 1 plus n,
1118940	1120920	so those are those more present values
1120920	1123000	over the total number of outputs,
1123000	1124560	chance of hitting that key.
1124980	1127660	n, the ones that we only have two of.
1127660	1128720	Same thing.
1129020	1131020	Values below that bias marker
1131020	1133000	are unfairly weighted
1133000	1134720	and are more likely to be inputs to the
1134720	1137100	rainbow chain generation. What that basically
1137100	1139000	means is, he screws up the
1139000	1141080	math. And he basically
1141080	1142780	does modular arithmetic
1142780	1145020	wrong, so that he ends up generating
1145640	1146560	impossible value
1146560	1148800	hashes. They can't work.
1148800	1150620	So our generation technique,
1150620	1152700	or how we get around this, we start generating
1152700	1154700	at the last possible input that's
1154700	1156780	valid for landman, and we walk towards
1156780	1158620	the first. As we
1158620	1160600	generate, we use a bit mask, so we can
1160600	1162760	determine if we have computed the key or not.
1162760	1164520	We know if the bit mask works,
1164520	1166340	if it's there or if it's not. So we have
1166340	1168480	100%, like mathematically
1168480	1170660	provable 100% verified
1170660	1173180	key space, because everything is accounted for.
1173560	1174640	At 1 bit per
1174640	1176780	input, this method requires
1177780	1178820	768 gigabytes
1178820	1180800	of disk space, if we were going to do it
1180800	1182040	on one machine.
1183840	1184880	Our badass
1184880	1186240	sorting foo.
1187700	1188940	We separate out
1188940	1190740	anything that has less than or equal to
1190740	1192940	6 characters. 7 character
1192940	1194740	key space is one
1194740	1197020	table, 5 to 6 character key space is another.
1197020	1199020	We do this so that you can detect the length of the password
1199020	1200800	really easily.
1200840	1202880	Landman primer. Here's how landman works
1202880	1205560	really quickly. Take 14 bytes of input,
1205560	1208100	split it into two chunks, each one is 7 bytes.
1208400	1209780	Hash them independently.
1210800	1211560	So say I have a password of
1211560	1213620	dog. Dog turns into
1213620	1215940	dog with nulls at the end of it.
1216200	1217640	And then we split it into dog
1217640	1219760	and then some more nulls.
1220500	1221600	You can detect that
1221600	1223540	the first half is 7 characters or less
1223540	1225380	of this particular password, because the
1225380	1227920	second half of the password is the null hash.
1227980	1229880	It's the hash of nulls.
1230300	1231740	Which is always going to be the same
1231740	1234220	for any password 7 characters or less.
1234660	1235920	Now with the password of
1236720	1237120	SpamDadRules
1239100	1239900	Word!
1239920	1241300	Where's your Spam Daddy?
1242240	1244220	There was one guy in the audience who that was
1244220	1245640	designed to be for.
1247520	1248420	That's my elite
1248420	1249860	Stego technique.
1250360	1252320	Alright, so, same thing. More than
1252320	1254480	7 characters. So it goes to that, SpamDad
1254480	1256240	and then rules, null null null.
1256260	1258680	You know that this hash is 7 characters
1259400	1260300	That's actually more than
1260300	1262180	That slide is wrong. This hash is actually
1262180	1264720	more than 7 characters. 7 characters or more.
1265000	1266240	Because the second half of the hash
1266240	1268060	is not the null password hash. We get the rules
1268060	1270140	in there. So this decreases
1270140	1272180	the time spent looking through
1272180	1273720	every hash that can't work.
1274580	1276100	RainbowCrack loses, because
1276100	1278300	RainbowCrack just generates random hashes.
1278420	1280020	He's just using your CPU time. He's just saying
1280020	1282420	I don't know. That might work.
1282760	1284100	And that reduction function has that
1284100	1286180	bias problem. So, random
1286180	1288280	hash, okay, fair enough.
1288280	1290420	That's, you know, a pretty good approach.
1290420	1291880	But plus this error
1292420	1294340	equals lame. Bad plus suck
1294340	1296000	equals lame-zor.
1297560	1298400	Now we get our
1298400	1299480	crack on.
1301260	1302360	RTcrack, that's the tool
1302360	1304440	that you use in RainbowCrack to actually crack
1304440	1306420	the passwords once you've made them all.
1306860	1308200	It reads in as much of the
1308200	1310440	hash table file that RTgen, which is
1310440	1312320	the generator, generates using
1312320	1314360	the read syscall. And then
1314360	1316520	it walks linearly to check
1316520	1318280	to see if the endpoints of the rainbow chain
1318280	1320260	match. And this has O to the N
1320260	1322840	complexity, big O notations, standard stuff.
1323960	1324620	We store the
1324620	1326340	start point and the endpoints in separate
1326340	1328520	files on corresponding offsets.
1328520	1330040	And then we take the page size
1330040	1332140	on the x86 architecture,
1332140	1334340	4096 bytes, divide it by
1334340	1336340	the entry size, 8, plus 1
1336340	1338260	for the index, and that gives us
1338260	1340040	513. So every
1340040	1342320	513th entry, after we've sorted
1342320	1344820	them all, we store it in a special index file.
1344820	1346000	And at crack time, we
1346000	1347500	mmap this
1348000	1350080	endpoint index file and use divide and conquer
1350080	1352000	or Fibonacci find to find out if
1352000	1353820	the endpoint is in the index file.
1353820	1355900	Or if it's not, to find out
1355900	1357900	what offset the endpoint is referenced
1357900	1359520	in in the master index file.
1359800	1361300	Now we get our search on.
1361820	1364300	Thus, for each offset, we read a
1364300	1366120	max, maximum
1366120	1369320	of one page of memory off of disk
1369320	1370420	rather than reading
1370420	1373280	the 12 gigabyte file you did.
1373280	1374280	So 496
1374280	1376380	bytes maximum, ever,
1376380	1378780	to read 512 possible hashes.
1379080	1380280	And this is a Bayes tree that's been
1380280	1381920	modified slightly.
1382120	1384340	Patrick, who came up with this method, has a doctorate
1384340	1386220	of divinity in searching and sorting
1386220	1388660	from the church of Donald Knuth.
1389520	1390180	Awesome.
1390920	1392340	Give it up for optics.
1392540	1393380	Optics.
1396860	1398100	Anybody have any Advil?
1398160	1400060	He sent an email to Zhu, trying to
1400060	1401940	explain this to him, and Zhu's like,
1401940	1403280	nah man, I don't know that.
1405340	1406420	So Rainbow Crack
1406420	1408000	gets an L for lame.
1408240	1409680	Disk IO in Rainbow Crack
1409680	1411680	costs as much CPU time as
1411680	1413660	encryption, if not more.
1414040	1415820	And so Rainbow Crack fails to account for this
1415820	1417740	in the way he does his statistics about how long it's
1417740	1419380	going to take you to make all the keyspace.
1419380	1420880	Don't be crazy anymore.
1422900	1423620	Say it
1423620	1426360	more whiny. Don't be crazy anymore.
1427200	1427900	So here's
1427900	1429440	our secret sauce. Our code
1429440	1431800	is implemented in C and assembly
1431800	1433860	for the IA-64 Itanium 2
1433860	1435700	and running on a classified
1435700	1437100	number of processors
1437800	1439680	in an undisclosed location.
1439820	1441800	But we have to give a shout out to SGI for
1441800	1443940	helping us out with this. Any SGI
1443940	1445180	people in the house?
1445940	1447960	Nobody? I'm sorry.
1448920	1449700	We also
1449700	1451340	implemented the generator.
1451400	1454240	We haven't done the cracker yet, but the generator's in VHDL
1454240	1455400	to run as customized
1455920	1458140	specialized hardware on a Spartan 3 FPGA.
1458140	1459960	Flip that up. There we go.
1459960	1461620	Things generating landman hashes
1461620	1464520	as we speak, basically.
1464880	1466340	Okay, I'm holding it up higher.
1466340	1468140	Jeez. And that's me.
1468140	1469960	I'm done. It has blinking lights
1469960	1470960	and shit.
1472400	1473260	Thank you.
1474620	1476740	Oh my god!
1476740	1478360	That's so fucking cool.
1482120	1484840	The brain's coming out of my ears.
1485860	1486520	That's just
1486520	1488400	hot, man. That's so hot.
1489480	1490480	Alright, so
1490480	1492380	I'm going to talk about a few wireless
1492380	1494060	things here and there.
1495580	1496940	First of all,
1497800	1498740	why oh why
1498740	1500220	do we Wi-Fi?
1500780	1502460	Who here has an open wireless
1502460	1503540	network at home?
1504160	1505960	Go ahead. You can admit it.
1506500	1508340	My name's Beetle, and I have an open
1508340	1509480	wireless network at home.
1511960	1514240	You know, crap.
1514400	1516340	My TiVo, it can't do WPA.
1516340	1518220	And my PSP, it can't either.
1518220	1519700	Does it really fucking matter?
1519900	1521880	I mean, at the end of the day, does it matter
1521880	1523580	if somebody's reading my streams of
1524820	1526300	Girls Gone Wild?
1526760	1528080	I mean, does it matter
1528080	1529500	that somebody's messing with my
1529500	1531280	Wipeout Pure ad hoc session?
1531560	1533020	Do we really care?
1533220	1535140	Some of the technology, it really doesn't matter
1535140	1538160	if it's that secure. It's dumb.
1538160	1540640	It's dumb, it's entertainment, blah blah blah.
1541020	1542180	But, when you start
1542180	1543740	looking at different environments, where in the world
1543740	1545420	should you be actually doing wireless?
1545420	1546880	Coffee shops? Eh, alright.
1546880	1549240	Airports? Mm, maybe. Hospitals?
1549700	1550500	Banks?
1551980	1553720	Nuclear power plants?
1556340	1557640	You know, this is interesting.
1557640	1559340	I got this from Matt Fisher.
1559340	1560380	He sent this to me.
1560820	1563080	Scanned it in. He was like, man, check this out.
1563080	1565800	They're doing wireless at some nuke plants.
1566000	1568140	I'm like, okay, cool.
1568480	1570020	He was like, no, no, no.
1570500	1571740	Look a little closer.
1573200	1574920	IP address, baby.
1579050	1580310	Not only do they tell you
1580310	1581710	that they're running Cisco hardware,
1581710	1583630	they tell you what the internal address space is
1583630	1586290	at Comanche Peak, Arizona, or Azima.
1587570	1588390	It's great.
1588390	1590290	Azima has installed monitoring devices
1590290	1593710	on more than 50 pieces of critical equipment.
1599780	1601760	Where did we go wrong?
1601760	1602380	I mean,
1602380	1604660	and where the hell are we going?
1605420	1607900	I mean, it's a technology of convenience, right?
1607900	1610000	But there's obviously this inconvenience
1610000	1612300	of securing it, so we just put it out there.
1612540	1613820	And then all these users,
1613820	1614880	as far as they're concerned,
1614880	1616460	they're left in the authentication cold.
1616460	1618900	And then the standards, they're half-assed to begin with.
1618900	1621860	And then how they're implemented, that's half-assed as well.
1622480	1623300	And then, of course,
1623300	1624660	everybody has this acronym
1626520	1627400	knowledge.
1627700	1629600	Everybody has a degree in acronyms now,
1629600	1631980	and they use the acronyms to secure their networks.
1632460	1633340	Right?
1633360	1636320	I have an EAP-protected network, really.
1637180	1638300	Hallelujah.
1638800	1641860	I use a VPN to secure my wireless, really.
1642780	1645180	How did you deploy that VPN?
1645180	1647360	In what configuration is that VPN?
1647360	1649700	Which EAP are you using?
1650900	1652680	Choose a mobile network with care.
1654880	1656940	Choose a mobile network at random.
1660430	1663150	How the fuck does the user know?
1663850	1665510	Really, how?
1666510	1668450	Let's look at a rogue access point attack.
1668450	1669830	Graphical, we've seen this.
1669830	1670990	Defcon, two years ago.
1670990	1673030	Unfortunately, the press just caught on this year.
1675450	1677450	Wi-Fi card comes in,
1677450	1679210	gets disassociated by an access point
1679210	1680650	that's closer or stronger.
1680830	1682570	SSID effectively becomes bad guy,
1682570	1684690	and this, before Windows XP Service Pack 2,
1684690	1687630	would occur without the user's knowledge.
1687730	1688810	Now, with Service Pack 2,
1688810	1690850	it tells you when the SSID changes.
1690850	1691710	Ooh.
1693730	1695130	Rock on.
1697270	1698870	So nobody can forge an SSID
1698870	1700310	or duplicate an SSID
1700310	1702090	or a MAC address or any of that.
1702090	1703530	So, rogue access point attacks.
1703530	1705430	When you're choosing your Wi-Fi weapon,
1705430	1707590	normal gear running at 14 dBm,
1707590	1709190	Cisco gear running at 20 dBm,
1709190	1711530	Sineo gear running at 23 dBm,
1711530	1713910	throw on a nice little directional antenna,
1713910	1717170	you get 15 dBd and 38 dBd total.
1717170	1718370	Six watts!
1718370	1720710	Versus 25 milliwatts.
1720710	1722710	You will win every time.
1723630	1724650	There's no way
1724650	1726030	that somebody's going to actually
1726030	1727850	get on to the other access point,
1727850	1729690	the legitimate access point. They're mine.
1730490	1732110	So we have things that you can display,
1732110	1734510	such as Hotmail. That's not Hotmail.
1737820	1738820	You have other things,
1738820	1740680	like PayPal. That's not PayPal.
1742860	1744480	And at airports.
1744700	1746220	That's pretty interesting.
1746320	1747980	You're seeing this across the country.
1747980	1749580	Joe's Wireless Hotspot.
1749580	1751380	I don't know who they are.
1752880	1753820	Done.
1754940	1755860	Rogue access points
1755860	1757400	are not going to go away.
1757400	1758840	Users are going to be users,
1758840	1760280	and they will fall victim to being
1760280	1763440	drawn over to impersonating access points.
1763440	1764860	If you didn't notice,
1764860	1768320	phishing, identity theft,
1768320	1769680	on the rise.
1769820	1772760	Wireless hotspot usage, on the rise.
1773220	1773880	Apparently,
1773880	1775260	some people, like Gartner,
1775260	1776640	feel that that's not a threat.
1776640	1779280	It's overblown. Gartner can blow us.
1780340	1781880	This is a problem.
1782060	1783240	Pay attention.
1785060	1786560	It gets worse.
1787020	1788080	Rogue radius.
1788560	1791020	So you secure your nice little network
1791020	1792980	with EAP, and there's a nice little acronym
1792980	1794620	bonanza with regards to EAP.
1794620	1796660	Who says that rogue access points can't be used against
1796660	1799380	wireless corporate networks that are using EAP?
1799840	1801760	Plenty of ways to screw EAP up,
1801760	1803020	and they allow for things such as
1803020	1805840	EAP peaking. That's my new term for it.
1806500	1807180	This is kind of how
1807180	1808380	EAP works.
1808980	1811160	You say, hey, I want to join the network.
1812320	1812920	Access point
1812920	1815420	replies back and says, hey, who the hell are you?
1815420	1816700	You send your identity.
1817240	1818960	Radius server validates that.
1818960	1821500	Gives you a dynamic key. Allows you onto the network.
1821760	1823100	There are variations of
1823100	1824720	EAP, such as EAP
1824720	1827060	TTLS. EAP
1827060	1828820	TTLS, very similar.
1828840	1831380	You have your 802.11 authentication association.
1831380	1833320	EAP protocol exchange.
1833320	1835300	TTLS protocol exchange. A nice little
1835300	1837220	secure tunnel is established.
1837900	1839380	And through that secure tunnel,
1839380	1841280	that's where you pass your credentials.
1841980	1843340	And everything else happens
1843340	1844660	like it's supposed to.
1845220	1847740	Ah, what's the weakness here?
1847780	1849060	If you have a previous EAP
1849060	1851380	TTLS authentication established,
1851380	1853240	and a rogue access point with
1853400	1855300	a radius server comes in, and you are
1855300	1857160	not doing remote certificate checking,
1857160	1859900	and or loose checking, disassociated,
1859900	1862000	and of course, what you do is associate,
1862000	1863820	authenticate, set up EAP
1864660	1865960	TTLS, secure
1865960	1867880	tunnel, and then you pass your credentials
1867880	1869980	over the secure tunnel to the wrong
1869980	1870880	person.
1872980	1873940	So, how do you
1873940	1875920	actually implement this? EAP TTLS
1875920	1878020	with PAP, which is a variation
1878020	1879840	that you can probably Google
1879840	1881680	for. Windows XP
1881680	1883940	Service Pack 2 using EAP TTLS with
1883940	1886360	PAP, probably using a phone client.
1886360	1888900	You have your rogue radius
1888900	1890660	server come in, rogue access point
1890660	1892440	disassociates users, learns username
1892440	1894600	and password of every user that's on the access
1894600	1896700	point at that time, disassociates them,
1896700	1898800	copies the credits to the local EAP config,
1898800	1900380	and then impersonates the victim.
1901580	1902580	Google!
1903100	1904560	You can find plenty of educational
1904560	1906720	institutions that are using EAP TTLS
1906720	1907600	with PAP.
1908860	1910460	Ah, but there's a different vulnerability
1910460	1912480	as well, because Microsoft provides
1912480	1914460	something secure and
1914460	1916560	protected EAP. And when it's used
1916560	1918380	with client certificates,
1918380	1920660	server certificates, rock on.
1921380	1922520	But PKI is
1922520	1923600	to suck.
1924780	1926560	Nobody can get it right in the wired
1926560	1928340	world. How in the world are we going to get PKI
1928340	1930440	right in the wireless world? And so,
1930440	1932020	we provide the nice little option
1932020	1934460	for people to use their username and password
1934460	1935900	over a secure tunnel
1936380	1938760	to associate to wireless networks.
1939000	1940400	If you don't validate the
1940400	1942340	server certificate and or you
1942340	1944160	don't check all of the certificate stores
1944160	1946540	in the normal store for Windows,
1946540	1947640	you are a victim to
1948800	1950720	a peep attack. In this case,
1950720	1952340	what you do is disassociate all the
1952340	1954360	users, learn
1954360	1956300	the domain and username immediately
1956300	1958480	with your rogue access point and radius server,
1959060	1960740	disassociate them again,
1960740	1962340	seed the local password file with
1962460	1964500	a bogus password. Windows XP
1964500	1966240	Service Pack 2 is kind enough to keep
1966240	1968140	re-associating to you.
1968240	1971120	Over and over and over.
1971120	1973240	And as they do, they keep providing
1973240	1975100	their username and password. It's
1975100	1977340	only part of the password, so it's difficult
1977340	1978900	for you to get it, right? Until
1979600	1981340	your dictionary stumbles upon
1981340	1983040	their correct password, they authenticate
1983040	1985120	successfully to you and bang, you
1985120	1986940	have their username and password. MS
1986940	1989440	Chat V2 does not protect against this.
1990660	1991180	Wireless
1991180	1992660	weaponry for Windows.
1993380	1995100	Rogue access point attacks.
1995100	1997460	Only in use by sophisticated hackers,
1997460	1999320	right? Because it's so
1999320	2001320	hard to set up an access point and
2001320	2002720	give people the internet.
2003680	2005240	Wireless access points?
2005300	2006800	Easy to set up.
2007320	2009500	If you want to set it up on one Windows laptop,
2009500	2011320	you can do it. Evil twin access
2011320	2013360	points for dummies. You can see it
2013360	2015620	airsnarf.shmoo.com, airsnarf4win.
2015700	2016660	html.
2017060	2019180	But why should you run only one access
2019180	2021400	point or one rogue access point when you can run
2021400	2023500	one, two, three?
2024060	2025300	Rogue Squadron.
2025400	2027300	Because it's so hard for people to run
2027300	2030160	airsnarf, which is a shell script.
2031600	2033860	Rogue access point set up for the masses.
2033860	2035600	It's a modified WRT54G
2035600	2037420	firmware based off of EWRT,
2037420	2039320	adds a username and password.
2039880	2041340	Capture and logging looks like
2041340	2042280	this.
2053090	2055250	It's the first firmware release from the
2055250	2056250	shmoo group.
2059510	2061330	We had shmoo hot
2061330	2063690	interns working on this all night.
2065410	2067150	There you go. It's basically using captive
2067150	2068590	portal or no cat.
2068970	2071150	Allows you to set up a captive portal,
2071150	2073110	people associate, and no matter
2073110	2075150	what site that they go to, just as we've demonstrated
2075150	2077110	before, you redirect them to the local captive
2077110	2079670	portal, ask for their username and password.
2079770	2081170	I'm not going to describe
2081170	2083170	how easy it would be to
2083170	2085350	modify this to display a T-Mobile
2086790	2087670	graphic.
2089170	2090970	Username and password entered.
2091410	2093330	All you do is log into the box later on,
2093330	2095190	SSH, dump your
2095190	2096450	passwords, you're gone.
2096470	2098990	Airsnarf.shmoo.com slash rogue underscore
2098990	2100850	squadron is where you can get that.
2102410	2103210	And here's
2103210	2105090	Rodney! Thanks.
2113370	2114450	So I'm lazy.
2114450	2116010	I don't actually usually try to
2116010	2117590	break things. Well, I break things once in a while, but
2117590	2119750	usually I just look at vendors' products because they're broken
2119750	2121910	enough, so why not just have fun with them?
2122650	2123890	So anyway,
2123890	2125510	never let Beetle type your slides.
2126030	2127870	Shooting your security wad, which was about
2128410	2129590	broken products.
2129590	2131470	Okay, so what am I ranting about?
2131570	2133490	You know, I have to keep up with the crowd here.
2133490	2135490	So I've been doing product reviews, I do public ones, I do
2135490	2137810	private ones, you know, take a box, set it up in a
2137810	2139790	conference room, test it for a week, it goes off in a
2139790	2141770	corner gibbering, hopefully I get some money out of
2141770	2143990	it. People put out
2143990	2145730	really lame features. I'm going to, if I
2145730	2148730	can get this thing with a fruit in the front to back up,
2148730	2149730	back up to this slide of
2150170	2152170	beetles. I'm going to steal one here.
2152170	2154130	Come on, buttons.
2154130	2156910	Back up here. So with this Microsoft
2156910	2157810	Windows, they ship
2157810	2159890	you a security product that says,
2159890	2162150	do you want to validate the server certificate?
2162150	2164230	They let you turn that off.
2164270	2165950	This is in the standard shipping
2165950	2168130	product. What were they thinking?
2168610	2170010	I mean, it's crypto, right?
2170010	2171630	We do it or don't, we yell at people.
2171630	2173890	Do you want a button in your browser that says, oh, just
2173890	2175910	turn off all the crypto, it doesn't really matter.
2176930	2178030	They weren't thinking.
2178030	2179850	Well, they were thinking about something like money
2179850	2181910	probably. But anyway,
2181910	2183670	you know, vendors do things like this.
2183750	2185450	Microsoft's certainly not the only one.
2185450	2186950	Anyway, we see incredibly
2186950	2189690	features that go by. I mean, you know,
2189690	2191370	people who build firewalls that you can get to
2191370	2193430	by clear text HTTP because no
2193430	2195370	bad guy would ever get on your management land.
2195370	2197430	Just never happens. So what we tell you
2197430	2199070	is something, I wrote this slide way before
2199070	2201530	the teal camo shock
2201530	2203370	troops with their boot knives came in
2203370	2205610	and cut pages out of the presentations.
2206370	2207310	There's a risk of
2207310	2210070	Ford Pinto gas tank syndrome, which I call FPGS.
2210090	2211390	This was something that happened a long, long
2211390	2213250	time ago where some bean counter at Ford to say
2213250	2215210	that they could save a penny per car by changing the
2215210	2217210	bolts in the gas tank, which gave them this really
2217210	2219270	interesting characteristic that if you ran into the back of a Ford
2219270	2220810	Pinto, the gas tank exploded.
2220950	2222790	Most people involved were unhappy.
2223570	2225290	And, you know, lawyers figured this out and eventually
2225290	2227390	the memos came out and Ford got sued
2227390	2229350	and they don't do that anymore. Well, we hope they don't do that
2229350	2231210	anymore. Of course, now we build plastic cars.
2231210	2232650	You just look at them and they fall apart.
2233510	2235270	Anyway, so I ask these really
2235270	2237170	hard questions of vendors and the vendors
2237170	2239470	get all freaked out when I ask them these things.
2239510	2241230	Now, remember, I'm not a hacker. I just
2241230	2243550	play one on the internet. I mean, I do my own stunts,
2243550	2245130	but I'm just playing one on the internet here.
2245130	2247150	I'm not really as scary as most of you guys are.
2247190	2249190	Anyway, so, like, does your product
2249190	2251210	produce an external log? Now, apparently, this is
2251210	2253250	hard. So, think about it. So, I have these
2253250	2255650	IDS products. I power off the box.
2255710	2257370	Go do my bad things. Power the box
2257370	2259250	back on. It doesn't generate any messages when it
2259250	2261670	gets powered back on. It just starts talking again.
2261670	2263310	And so, I would think that would be a simple
2263310	2265310	message to generate. This is apparently hard.
2265970	2267330	Do you have a security incident
2267330	2269230	reporting mechanism? Yes, I wrote this slide
2269330	2271250	a long time ago before some people did some
2271250	2273130	things that made some people's incident response
2273130	2276370	teams, um, cause us to question them.
2276370	2277450	Let's just say it that way.
2277630	2279370	Um, some people don't even have things.
2279370	2281150	I mean, there are many worse vendors out there
2281150	2283410	than, you know, Cisco, Microsoft, that type of character.
2283530	2285230	Do you store your key material
2285230	2287130	securely? So, after you've got this access
2287130	2289610	point or radius or whatever box it is with wireless,
2289610	2291490	if your private key's in the clear,
2291490	2293190	uh, so, what was the point? You know,
2293190	2295450	if you don't keep the thing secure, I mean, there's a whole bunch of crypto.
2295450	2297190	We've been doing this for 20 years. You should be able
2297190	2299450	to figure this out. Do you have a management interface?
2299450	2301450	Is it secure? I, you know,
2301450	2303530	sitting on the phone with somebody doing a firewall audit,
2303530	2305050	and I say, what do the firewall rules look like?
2305050	2307310	And the CEO orders the IT geek to let me
2307310	2309530	telnet into the box from the public internet.
2310290	2311370	I'm like, uh,
2311370	2313690	I don't need to know what your firewall rules are anymore, dude.
2314050	2315330	Um, telnet's not
2315330	2317510	too, too common. We still have SSH1,
2317510	2319250	which is breakable. There's a lot of clear
2319250	2321570	text HTTP. There were vendors at Black Hat.
2321570	2323610	We're a studly, we have a booth at Black Hat.
2323610	2325250	Let me show you our management interface.
2325250	2327270	HTTP colon slash slash.
2327270	2329630	So it's like, uh, that's not secure.
2329650	2331710	You know, building a steel door and a grass hut
2331710	2333690	doesn't actually stop very many people.
2333690	2335110	It only stops the people without the lighters
2335110	2337830	and half the hackers smoke, so like, get over it.
2338650	2339330	Alright.
2339530	2342070	Security products should not make things worse.
2342170	2343550	Uh, they should not increase
2343550	2345890	the attack surface, to use somebody's buzzwords.
2346070	2347630	People keep doing central failure,
2347630	2349170	central server, central failures, yeah.
2349170	2351290	Central servers, which is a nice single point
2351290	2353290	of failure. And then they wonder why we attack
2353290	2355330	the servers, you know. I do these reviews
2355330	2357250	where they go, you know, 10,000 clients or I'll have
2357250	2359110	policy enforcement and we have one box in the middle
2359110	2361250	that we have old copies of SSH on
2361250	2363430	and clear text access to and all these things.
2363430	2365810	Gee, the hackers figure out it's a target.
2365810	2366910	What a surprise.
2367390	2369310	Um, people should communicate securely
2369310	2371330	among the components. Again, you know,
2371330	2373410	do product reviews and people send all sorts
2373410	2375030	of information back and forth in the clear.
2375030	2377390	And that's if you don't fuzz it or replay attack it
2377390	2379450	or things like that. And they run
2379450	2381410	sloppy distros, you know. Download
2381410	2383730	Linux, put it on a box, you know,
2383730	2385610	paint the front of the box some sexy color
2385610	2387990	because you hired the marketing department to make up a logo.
2388050	2389490	You did all this four years ago
2389490	2391610	before you got venture funding. So,
2391610	2393190	you know, this thing gets
2393750	2395590	into the field and
2395590	2397610	suddenly I'm some sort of obnoxious rocket
2397610	2399510	scientist because I noticed they're running Red Hat
2399510	2401610	5.2, you know.
2401610	2403530	And it's like, it's okay because it's a policy enforcement
2403530	2405630	product from a big router vendor or a big, whatever
2405630	2407630	software vendor. So, you know,
2407630	2409450	sloppy distributions. We will notice.
2409450	2411430	People do Telnet to port 22 and read the
2411430	2413930	banners. It's actually not that hard.
2413930	2415530	Apparently the vendors don't think any of us know
2415530	2417370	this. You need to promote this fact.
2418230	2419870	Stupid vendor tricks. Logging,
2419870	2421530	logging when they start up. There's all sorts of
2421530	2423750	log analysis tools out there. That's really nice.
2423750	2425750	Can we now have some logs to analyze, please?
2426150	2426950	You know,
2426950	2429530	do a scan on a box
2429530	2431210	that does some sort of SSL web server
2431210	2433210	balancing, you know, get no logs out.
2433210	2435310	Go to the vendor and say, what's the knob I set
2435310	2437390	to the position so I can see when the attacks happen?
2437390	2439550	They go, oh, there's no logging. That's a feature.
2440090	2441370	You know, and like, how are we
2441370	2443190	supposed to know there's a problem here anymore?
2443490	2445470	People do self-signed certificates. I have a homework
2445470	2447390	assignment for all of you. Somebody please
2447390	2449430	take a copy of Ettercap and when you get
2449430	2451390	when you grab the self-signed certificate out of the
2451390	2453590	Linksys box or one of various other things,
2453590	2455430	please change the text and generate a new certificate
2455430	2457410	so you look exactly like the vendor's
2457410	2459370	cheesy self-signed certificate that they
2459370	2461430	won't replace. And because man-in-the-middle
2461430	2463350	attacks are quite possible, a self-signed
2463350	2465490	certificate is only marginally better than no certificate
2465490	2467850	at all because anybody can make these things up.
2468290	2469910	People don't put change control in.
2469910	2471530	Everybody wants to have a GUI so they can be hot
2471530	2473350	and bothered during the demo to make sure they can click
2473350	2474910	on things and it's all multi-colors and they're
2474910	2477110	teal blue and cute and red and black and blinking
2477110	2479470	and all these things, but you can't do change control.
2479470	2481070	How about a little command prompt once in a while?
2481070	2483730	Something like that? Incoherent documentation.
2483730	2485570	I have a VPN box I have to manage
2485570	2487450	for a very, very large customer with
2487450	2489810	many dozens of class B addresses.
2489890	2491310	I printed out the manual.
2491310	2494570	The manual's 1078 pages long.
2494570	2497210	I'm not sure anybody's ever read the whole manual.
2497650	2498910	And then there's a user interface
2498910	2500590	on top of that. I mean, has anybody actually figured
2500590	2502610	out how juniper zones work? There's a lot
2502610	2504530	of these things that are very strange.
2504750	2506690	It would be nice if the vendors followed the protocol
2506690	2508570	specs once in a while. You know, I do
2508570	2510250	these voice over IP security classes and
2510250	2512670	I have a domain name, tissue samples from the crater wall
2512670	2514670	dot net. That's actually a valid domain
2514670	2516630	name, yes I really own it. That character
2516630	2518670	string is too long for most products because
2518670	2520410	I mean, they didn't read the protocol spec.
2520410	2523050	And DNS has been around since, what, Lincoln was president?
2523050	2525170	Um, you know, could we please follow the protocol
2525170	2527110	specs? At least before you go cook up some
2527110	2529010	your own stupid proprietary protocol that's
2529010	2530890	on top of it that's better because your EAP
2530890	2532690	method's better than the standard EAP methods?
2532690	2534450	Not that the standard ones are that good, but at least
2534450	2536430	could we all use the same ones? We should all at least
2536430	2537910	be in the same leaking rowboat.
2539370	2540990	Alright, things you should try. Now this
2540990	2542830	sounds really cheesy and stupid, but you can make money
2542830	2545170	doing this. It's very odd. Um, run nmap
2545170	2547170	and nnessus. You know, half the time
2547170	2549050	I run nnessus, like, you know, some box in the network
2549050	2551710	will go jump off the corner and reset to factory defaults.
2551710	2553570	Now, since we all know how to download
2553970	2555930	these things and run them, and the bad guys
2555930	2557710	do, and so do the children in high school or
2557710	2559510	elementary school, or they're teaching in kindergarten
2559510	2561890	now, probably. Um, you know,
2561890	2563830	yeah, you're learning kindergarten, I'm sure. So, I mean
2563830	2565630	they should be able to survive little
2565630	2567690	things like this. This apparently is news to a lot of the
2567690	2569630	vendors. Uh, the vendors don't tend to go
2569630	2571610	there are vendors, actually, there are vendors here at Black Hat
2571610	2573570	they tend to be doing things like hiding in very loud
2573570	2575670	Hawaiian shirts, but they do walk around. They're the ones with
2575670	2577870	the good haircuts. Um, anyway,
2577870	2579750	tell net to port 22 and read the banner.
2579750	2581790	That's a really exotic way of doing a security
2581790	2583950	analysis. Unfortunately, that gets me a lot
2583950	2585850	of information. You know, I write these product reviews
2585850	2588010	and I'm the token hacker and it's all very scary.
2588030	2590290	I tell net to port 22 and read the banner.
2590450	2591650	I mean, it's really, really hard.
2591650	2593870	And I do this over and over again, in print.
2593870	2595790	And the vendors who follow them don't actually figure
2595790	2598130	it out still. It's like, you'd think they would notice this stuff.
2598530	2599850	Another one, try to look at
2599850	2602210	doing crypto. Crypto, apparently, is hard.
2602210	2603690	Thank god the hackers think it's hard because
2603690	2605890	they don't steal the private keys as much as they could.
2606290	2608530	Open SSL, turn on SSL 2.
2608530	2610550	Is there any redeeming social value in running
2610550	2612610	SSL 2 in anything on the public internet
2612610	2614650	today? I don't think there is.
2614650	2616590	But there's lots of products still supporting it.
2616930	2618530	Go after the web interface.
2618530	2620490	There's like 5 billion people up and over from the
2620490	2622530	dot-com boom who know how to write broken
2622530	2624610	HTML. And about half of them are working for
2624610	2626770	vendors building sophisticated web-based
2626770	2628050	management interfaces.
2628730	2630510	And they've got cross-site scripting and
2630510	2632390	forms you can blow up and fields you can fill in
2632390	2634130	2,000 A's and they jump into a corner and
2634130	2636350	psych vault and all these kinds of things.
2636350	2638950	Etter tap. Man in the middle of the boxes.
2638950	2640430	I mean, if they don't secure the connections,
2640430	2641690	you can man in the middle of the things.
2642050	2644090	Go look for a random exploit. This is something
2644090	2645850	they don't seem to think anybody would do.
2645910	2647890	I'm testing a product and I'm reading security
2647890	2649930	focus, various random mailing lists, and an
2649930	2652170	exploit will come out. I don't care if it's old
2652170	2654230	or new. Go try it on the thing you're trying
2654230	2656270	to use or trying to evaluate. Apparently,
2656270	2658050	nobody expects you to actually keep up with
2658050	2659770	the current news. You're supposed to buy a product,
2659770	2661530	move into a cave, and run it there for the next
2661530	2664230	20 years. Everybody runs iOS 11.4, right?
2664230	2666130	That's close to the current rev, definitely.
2666390	2668310	So, try the current stuff.
2668310	2670170	You know, the bad guys might try the current stuff.
2670170	2671550	That's sort of why they're called zero days,
2671550	2672710	the ones that are even more current than the
2672710	2674570	current ones that are known. You'd think you'd
2674570	2677910	figure this out. It's really easy to go after
2678090	2679610	a lot of products. It's pretty stupid.
2679610	2682830	It's embarrassingly stupid. And vendors just
2682830	2684850	assume nobody would actually do this.
2684850	2686110	There are no real ha- I mean, there's nobody
2686110	2688110	goes to de- there are not 500 people in a tent
2688110	2690550	in a parking lot in Las Vegas right now
2690550	2692270	talking about hacking. Doesn't happen.
2692270	2694230	You just heard it on the internet, it's a bad rumor.
2694230	2695890	It just really isn't happening.
2696670	2698050	You know, so I mean, everybody's really just
2698050	2700170	sweetness and light and just leaves the networks all alone.
2700170	2701910	And the bad guys, of course, are much more gentle
2701910	2703610	than we are, right? We all know that.
2703610	2705190	You know, they're much more gentle than we are.
2705290	2708330	Anyway. Alright. How can you make things better?
2708410	2710610	So, you know, this is actually the stock slide.
2710610	2711730	I decided to leave this one good.
2712710	2713830	How can you make things better?
2713830	2715790	Well, we're trying to be educated consumers here,
2715790	2717770	so test things, you know, try to actually do something
2717770	2718990	and figure out how to make it better.
2718990	2721070	Try to report bugs. I mean, if the vendor is so much
2721070	2722890	of a bimbo that's going to yell at you for reporting them,
2722890	2724950	that's their problem. You should still try to figure out
2724950	2726430	how to report the bugs reasonably.
2726790	2728210	If you can get one of these things to break,
2728210	2730050	if you can find something breaking, give me a paper.
2730110	2731990	I'm on the program committee for ShmooCon.
2732110	2734850	Give me a paper. All of our papers starts today,
2734850	2737030	as of right now. It's on the website,
2737030	2739890	www.shmoocon.org. We'll have paper copies
2739890	2741470	we'll put out there afterwards.
2741730	2743090	But you find something you can break,
2743090	2744310	we want it to break a track.
2744310	2745330	You're going to give me the book here?
2746690	2748230	He's going to stand up here and harass me.
2748290	2749990	Okay, I just got one more slide. You can take it.
2750430	2752370	Hey, yeah, definitely. Right, I'll get the book later.
2752890	2754610	You just, you know, you just wait.
2755890	2756910	You're the time Nazi.
2756910	2758290	Yeah, well, some of us had to be the time Nazi
2758290	2759470	when you were standing up here, you know,
2759470	2760670	going through, flashing things.
2761670	2763770	Report flaws, document the risks.
2764010	2765530	People say, you know, I say, my God,
2765530	2767410	you run HTTP on the management interface.
2767410	2769870	And the blender goes, nobody's ever said that to me.
2769870	2772550	We think it's just fine. Everybody loves this.
2772550	2773370	It's bullshit.
2773370	2775890	Anyway, disrupt future purchases
2775890	2777830	of insecure equipment.
2778090	2779250	The only way they're going to understand
2779250	2780110	is the money.
2780110	2782890	If they ship lame shit, don't buy it.
2782890	2784430	Make sure they lose sales.
2784430	2786790	If it hits their pocketbook, they'll understand.
2787170	2788750	And the other side of it is encourage
2788750	2790990	future purchases of clueful stuff.
2790990	2793050	If you find gear that's secure and works well,
2793050	2794830	make sure it gets bought again.
2794950	2797410	And make sure you show things are easy to break.
2797410	2799190	People don't believe this stuff can happen.
2799190	2800470	Nobody would crack DES.
2800470	2802730	Nobody would build a rainbow table to crack Landman.
2802790	2803890	Landman's perfect.
2804210	2806270	Nobody would actually do any of these things.
2806270	2808630	Nobody ever actually tries to break SSH1.
2808630	2810690	It's just, there's all this mythology out there
2810690	2813070	that nobody actually tries to go after any of these things.
2813090	2814450	So, there's a lot of things you can do
2814450	2816450	and there's a lot of lame products out there
2816450	2818330	and it's low-hanging fruit, I know,
2818330	2820010	but we should get rid of the low-hanging fruit.
2820010	2821810	You know, we should have to spend more time
2821810	2823210	listening to them doing exotic tables
2823210	2824870	than listening to me be a scary guy
2824870	2826810	because I can skel-telnet to port 22.
2826810	2828130	Here you go.
2828930	2830850	Man, I love listening to him rap.
2830850	2832530	That's ridiculous.
2836020	2836700	Okay.
2837000	2838380	Before we get to
2838980	2840460	kick-ass zero day,
2841800	2843940	we built some gear last year.
2843960	2844820	Actually, the year before that,
2844820	2846300	we built some gear. We had the robot.
2846680	2849200	We had 82.11 bounce.
2849540	2850680	We had the sniper Yagi.
2850680	2851460	Tissue box.
2851880	2855240	Some of us had to move the sniper Yagi
2855240	2856820	across interstate lines
2856820	2858760	in a car and, I mean,
2858760	2860740	I had to drive the speed limit at Defcon, dude.
2860740	2861880	It really sucked.
2862340	2864900	So, I told you we'd bring
2864900	2867160	some gear and we did.
2867840	2868840	Cowboy, show them
2868840	2869680	what you got.
2870480	2872000	This is the 802.11.
2874300	2876720	This is a 9 DBI flat panel
2876720	2878520	antenna back-ended by a 1 watt amp
2878520	2880820	with a 0 to 100 DBI
2880820	2882900	rotary select attenuator that allows you
2882900	2884420	to direction find.
2884420	2885160	You can see her.
2887980	2889960	You mean it doesn't go to 11?
2890420	2891960	That's messed up, man.
2894020	2896040	For those of you that can't see it real close,
2896040	2897580	we've got some actual close-up pictures.
2897580	2898960	We made sure that we got these done
2898960	2901120	once we got on site, so there's some of that
2901120	2902700	doodoo brow background.
2905820	2908160	We've got a few things that are a little bit better than that.
2908680	2910320	Yeah, it's battery powered.
2911500	2912820	She likes that.
2914520	2916640	Is the tattoo battery powered?
2917580	2918580	Thank you to all our models.
2918580	2920460	Mike will tell you, don't touch the heat sink.
2920460	2922480	We don't pay any of our models like those
2922480	2923960	NMRC guys.
2924960	2926420	Here she is. She's wearing one of the
2926420	2928600	new ShmooCon 2006 shirts. Right on, baby.
2928600	2930820	And you can dunk her for the FF too.
2931500	2932600	Great stuff.
2933020	2933940	Yeah, the 802.11
2933940	2936420	bloodhound for direction finding.
2936480	2938360	Like I said, all of it back-ends into
2938360	2940260	an iPAQ, which you're running either familiar
2940260	2942260	or Pocket PC on. Run your basic
2942260	2944080	wireless discovery utility.
2944380	2946560	But, what you can do is long-range shots
2946560	2947960	and it's hand-held.
2947980	2950160	You can go dual-handed. That's pretty cool too.
2950160	2951220	If you really want to just be
2952120	2954260	Steven Seagal or some other...
2956800	2958160	It's balanced.
2958240	2959500	Check it out, baby.
2959940	2961460	It sticks right there.
2965760	2968420	So, apparently, Mike was
2968420	2970280	hanging out with one of these
2970280	2972300	in the car, turned on, and
2972300	2973840	drove by a cop.
2978970	2980210	So, he got
2980210	2981330	pulled over, right?
2981850	2984430	No, we didn't get pulled over. Actually, I was in the car with the cop.
2984450	2985370	Oh, really?
2986250	2987670	And the guy next to us...
2988690	2990230	And we rolled down our window
2990230	2992170	and he says, yeah, man, that thing's
2992170	2994930	been sitting off my radar detector for two miles.
2996690	2998410	Apparently, he thought we were test-driving
2998410	2999830	the new radar gun.
3002550	3003570	That's hot.
3003570	3004650	And I really mean literally.
3004650	3005230	It's hot.
3005230	3007530	You don't want to touch certain parts of it.
3008870	3009850	And when you aim it
3009850	3011310	at people, I guess they get hot too.
3011310	3012170	She's hot.
3015290	3016090	Alright.
3016550	3017910	So, if you want to check out
3017910	3019570	some of the 802.11 Bloodhound
3019570	3021510	later on, just meet up with Mike.
3021510	3023050	He'll describe it in more detail.
3023050	3024350	It's sexy stuff.
3025170	3027150	I'm supposed to be participating in one of the
3027150	3028610	award-driving teams, and
3029090	3031610	we were a little short on gear, so I decided to bring some.
3031610	3032630	And there you go.
3032630	3034810	Thanks a lot, Mike, for building that. Thank you.
3040930	3041510	So,
3042650	3044130	I'm just going to introduce
3044130	3044750	Kaz.
3044750	3048050	Kaz has a zero-day for Metasploit,
3048050	3049550	Canvas, and Kismet.
3052710	3053410	Well,
3053910	3056110	last year I came and wasn't really supposed to talk,
3056110	3057630	and they convinced me to talk
3058050	3060110	five minutes before we gave a presentation.
3060110	3062090	The only person to release a zero-day last year
3062090	3063670	in WPA. So, I released a zero-day
3063670	3065510	in WPA last year.
3065910	3068190	So, I decided to go ahead and release another
3068190	3069170	zero-day.
3070390	3071510	I recently started
3072770	3074050	a new industry.
3074050	3076370	This is Pot Kettle Industries.
3077010	3078070	We're looking for the Gartner
3078070	3078890	report.
3080170	3081870	I'm still looking for VC.
3081870	3084270	If you're a VC, come talk to me afterwards.
3084290	3086090	So, what does Pot Kettle Industries do?
3086090	3087950	We exploit the exploiters.
3087950	3089830	One of the things that I'm really tired of doing
3089830	3091750	is finding all these exploits that are published
3091750	3093950	on full disclosure and full nav
3093950	3095870	that are full of holes.
3095910	3097950	Y'all talk about how everybody else's shit
3097950	3100370	sucks, but your shit's worse.
3101550	3101950	I don't know
3101950	3103970	how many of you read
3103970	3106590	the source code of shit that hits full disclosure.
3106790	3107930	Almost all of it
3107930	3110170	is vulnerable at some point in time.
3110290	3112010	So, I decided to start
3112010	3113770	writing exploits for the exploits.
3113770	3115830	I haven't quite figured out how I'm going to profit,
3115830	3117470	but it's in the business plan.
3117810	3119850	Peel all the underpants.
3122670	3123370	I'll let you
3123370	3125190	go ahead and do that for me, Paulos.
3126770	3127390	Alright, so
3127390	3129550	the first exploit that we released is in a
3129550	3131170	multi-HTML.
3131430	3133890	It's a remote exploit released by Banshee.
3133890	3135390	Supposedly, Banshee is supposed to be here today.
3135390	3137950	Are you here today?
3137950	3141150	I have a sticker for you.
3141150	3142390	I released an exploit
3142390	3142830	and it got owned.
3143570	3144890	Got owned.
3146110	3148510	I have asked for a CVE
3148510	3150430	and it has been granted. I have the first CVE
3150430	3152810	for vulnerability in an exploit.
3155350	3156490	And I have an exploit
3156490	3158770	available for that right here.
3160770	3162930	So today, or for the last couple
3162930	3164530	of weeks, they've been asking me to look at Kismet
3164530	3166470	to try and find some vulnerabilities so
3166470	3168250	we can exploit other people
3168710	3170650	during the DEF CON war driving contest
3170650	3171710	this week.
3174050	3175690	That's top secret.
3175690	3177630	Those people are listening.
3177990	3181010	Okay, we ought to return all the CDs.
3181010	3182470	We're going to burn them and make new CDs.
3182470	3184590	Please go to the Shmoo page
3184590	3186510	in your conference program
3186510	3188390	and tear it out with a razor blade
3188390	3190690	right now. Throw it away.
3190690	3191730	Do us a favor.
3193270	3194630	Among many of the other
3194630	3196830	vulnerabilities that I found in Kismet,
3196830	3198710	some of them, Beatle's team
3198710	3200950	is keeping private, and if you're running Kismet
3200950	3202050	for this
3202770	3204510	DEF CON war drive contest,
3205150	3206630	you'll be owned.
3206730	3207770	So don't.
3210850	3214110	The easiest way to evade Kismet,
3214110	3214710	like I said,
3214710	3216770	I really believe in full disclosure and all that wonderful
3216770	3218550	stuff and responsible disclosure.
3218950	3221450	Sorry, I've been told I'm supposed to hold still.
3223150	3224990	I believe in responsible disclosure
3224990	3227310	except for people that are trying to own other people.
3227310	3229050	Well, if you want to protect your network
3229050	3231110	and somebody's attacking you and trying to find your network
3231110	3233210	with Kismet, the easiest thing for you to do
3233210	3235650	is to evade Kismet detection.
3236090	3237350	What you're seeing on the screen
3237350	3239190	right now is an fscanf from
3239190	3241170	the Kismet client.
3241210	3243150	This is what it does to read the packets that are coming
3243150	3245050	from the Kismet server. I don't know
3245050	3247470	how many of you can read C,
3248670	3249790	but if you note in there,
3249790	3251090	the first thing it's scanning
3251930	3252910	is an integer
3253350	3255270	and then it looks for a string
3256430	3257430	that's enumerated
3257430	3259430	it has the hex of 0-1
3259430	3260950	then the SSID
3260950	3262410	and then the hex of 0-1
3262410	3264990	and then continues on as the scanf string.
3265250	3267190	If you add hex
3267190	3269370	of 0-1 to your SSID,
3269370	3271090	guess what? Anytime Kismet
3271090	3273110	sends your SSID across
3273110	3275190	the network, it's not going to be seen.
3275350	3276930	So if you want to keep your network
3276930	3279190	protected from anybody using Kismet,
3279190	3281350	make your SSID shmoo with a hex
3281350	3283130	of 0-1 at the end of it,
3283130	3284870	anybody using Kismet is not going to be able to see
3284870	3286850	your access points now.
3287710	3288150	Awesome.
3294880	3295320	That's
3295320	3297080	zero day number one.
3297940	3299320	There are some buffer overflows
3299320	3301160	in Kismet. The guy who wrote it
3301160	3303200	was supposed to come to Defcon. He announced
3303200	3305760	about two weeks ago that he's not coming.
3305760	3307240	He's fixed two of the vulnerabilities
3307240	3309680	that are in Kismet in the last two weeks.
3309700	3311300	There's three more that are remotely
3311300	3313400	exploitable. Don't be using Kismet
3313400	3315280	over the next week. You will be
3315280	3317120	owned. When was the last time you heard
3317120	3319440	you should download the latest rev of the software?
3320660	3321120	Download
3321120	3323580	the latest patches for your exploits, kids.
3327460	3329380	Patch management is not just for users
3329380	3330420	anymore.
3331320	3333680	How do I go back?
3333740	3335080	Arrow keys?
3335500	3337140	Shift, tab, control,
3337140	3338200	delete.
3338880	3341300	Have you used a computer?
3341300	3342240	Whatever.
3342440	3344800	We don't need no stinking slides.
3344800	3346760	If it's not written in Perl, I don't know how to use it.
3346760	3348180	Put the girls back on.
3350900	3352560	There's the Kismet evasion.
3352660	3354720	I have a really simple exploit
3354720	3356740	for Metasploit in Canvas using
3356740	3359340	H.G. Moore's exploitation technique.
3360100	3360900	About two
3360900	3361660	and a half years ago,
3362720	3364760	he announced in an advisory that he
3364760	3365620	was able to exploit
3366620	3368900	various different companies by sending
3368900	3370740	stuff into their Apache web server log.
3370760	3371620	The Apache
3372700	3374020	admins of those web servers
3374020	3375880	were using things like tail-f
3375880	3377240	and a vulnerable Xterm
3377240	3379380	to launch commands using
3380700	3381820	Xterm control
3381820	3382740	characters.
3382740	3385620	What his advisory said about two years ago
3385620	3387840	was anybody writing any applications
3387840	3388220	that take
3389680	3391680	user input needs to filter out
3391680	3393040	the user input. Well, guess what?
3393040	3395760	Canvas and Metasploit take input.
3395840	3397600	The way Metasploit works is all of their
3397600	3400080	exploits do...
3400680	3401980	If you do a check
3401980	3404000	instead of an exploit, they will do a banner
3404000	3406120	grab and then do a
3406120	3408180	lame regular expression on the banner and then print
3408180	3410980	what the banner was so you can validate it yourself.
3410980	3412200	So all you have to do is
3412200	3414160	match their lame regular expression
3414160	3416360	and then print some
3416360	3418200	control characters like H.G. Moore
3418200	3419920	provided in his vulnerability.
3419920	3422080	So what I'm going to do is I'm going to wget a
3422740	3424760	shell script and then I'm going to run it.
3424760	3426060	And now I've owned anybody
3426060	3427220	that uses Metasploit.
3427940	3429340	Every single exploit
3429340	3431320	that Canvas ships with does
3431320	3433280	print if you run it in the command line mode.
3433280	3435280	Every single exploit that comes with Metasploit
3435280	3437200	prints some piece of data from
3437200	3439480	the user or from
3439480	3441200	the server that you're trying to exploit
3441200	3443240	without filtering it. If you're running Xterm that
3443240	3445320	comes with Debian and you're running Metasploit
3445320	3447440	or Canvas from it in the command line mode,
3447440	3448860	guess what? You're ownerable.
3451380	3452820	Owner awesome.
3455480	3455960	So
3455960	3457180	using H.G. Moore's
3457180	3458880	exploits against himself. So there's
3458880	3460380	two more zero day.
3462940	3465100	I think you might be at your limit.
3467920	3468740	Hey, we're
3468740	3471000	not starting anything,
3471000	3472880	okay? I mean, we're just making a point.
3472880	3475100	And the general point is, look...
3475100	3476140	Set an example.
3477200	3478160	Seriously.
3478440	3480800	The stuff that you're throwing out there,
3480800	3482820	it's great if it busts
3482820	3485300	stuff open, right? But at the same time,
3485300	3486360	watch your back.
3486480	3488720	Because other people are going to be looking
3488720	3490740	at your code as you throw it out there for other people
3490740	3491580	to use.
3493000	3494540	Speaking of code
3494540	3496060	and application security
3496060	3498800	and that sort of thing...
3499480	3501080	and ranting...
3501080	3503100	I'd like to introduce Bruce Potter,
3503100	3504540	founder of the Shmoo Group.
3509060	3509700	Hello.
3511180	3512620	I'm a little nervous to hit the next
3512620	3514340	button because they've been slinging slides all day
3514340	3515460	and I haven't been around.
3516500	3518600	And I'm not sure if they've been screwing with me yet or not,
3518600	3520060	so I guess I'm about to figure out.
3522700	3523600	Okay, good.
3528080	3530640	Are there pictures of me on there? That's all I want to know.
3531300	3532800	Did we upload those yet?
3533900	3535580	Yeah, so for the record,
3535580	3537520	Nomad's got the most powerful lens
3537520	3538940	on a camera known to mankind.
3538940	3540920	I'm sitting up there on stage and he comes up and shows me
3541040	3542740	a picture of my shorts that he took from
3542740	3544500	sitting out there in the audience.
3545460	3545860	So...
3546700	3547560	Pwned.
3547920	3549980	My crotch was owned, okay?
3551160	3552700	Only in Vegas.
3553080	3554980	You might want to see someone about that.
3554980	3555580	Yeah.
3556340	3557900	Nomad was up my pants.
3559540	3560420	Bluetooth security...
3560420	3561160	Look,
3562020	3564960	we talked about a lot of stuff today. We've been all over the damn road.
3565620	3566480	And what we're trying to do
3566480	3567500	is raise awareness.
3567780	3569440	There's no threat here, right?
3569440	3572220	The press is sitting up here
3572220	3574700	visibly scribbling away, and they're trying to figure out
3574700	3576240	is there anything in common with all these talks
3576240	3577740	or are they just all a bunch of crazies?
3578060	3580200	All we're really trying to do is raise awareness.
3580220	3582540	One thing we really don't have anything new on this year
3582540	3584620	but I want to talk about is Bluetooth security.
3584700	3586320	Shit's gotten worse, guys.
3587080	3588480	It hasn't gotten better.
3588480	3589780	There's more Bluetooth radios out
3589780	3592980	than there ever have been. It's not dying.
3593440	3594400	Regardless of whatever the hell
3594400	3596200	the press and Gartner and people think.
3596220	3598300	Two million radios every week are integrated
3598300	3599420	into devices.
3599980	3602420	And I tell you, people are doing nasty shit
3602420	3603680	with Bluetooth right now.
3603680	3606480	Last year, we tracked people for fun at Black Hat.
3606480	3607800	That was just kind of the thing.
3607800	3610280	And then tryfinet.org. Bloover? Man,
3610280	3612540	that's an awesome tool. What's the phone it runs on?
3614260	3615500	6260 or something?
3615580	3616800	Buy some of those, man.
3616800	3618060	Buy them in bulk.
3619580	3621240	You can run Bloover on.
3621240	3622580	You can make the phones
3622580	3624460	vulnerable phones. You can make them dial.
3624460	3626380	You can grab down address books.
3626380	3627540	Things of that nature.
3628240	3630260	A lot of the new phones are patched.
3630260	3632020	But this is just an example, guys.
3632020	3634100	My car has Bluetooth in it.
3634360	3635760	One day, I'll be driving down the road
3635760	3637640	and some hacker will shut my car off.
3637640	3639680	Or he'll sequentially deploy all my airbags
3639680	3641140	and do some kind of techno thing.
3645020	3647200	And that day can't be far off.
3647200	3649080	And once they put the Bluetooth dart
3649080	3651180	in my butt, I think my life will be over.
3651200	3653220	Oh, I never should have touched that microphone.
3654440	3655060	Alright, so anyway.
3655060	3655860	That's that.
3657380	3658900	Pairing attacks. There's a paper that came out
3658900	3659860	on pairing attacks.
3659860	3662580	We have nothing to do with tryfinet.org.
3662580	3664620	I'm just pimping these guys because they have a great tool.
3665260	3667040	But there's a paper on some pairing attacks
3667040	3668220	that came out recently.
3669060	3670440	Basically discussing how to
3672100	3673240	force phones to forget
3673240	3675080	their pairing and then repair with them
3675080	3677140	and intercept the pairing process
3677140	3679200	and then basically
3679940	3681540	brute force guess the key.
3681880	3682980	Everyone's always been able to
3682980	3685380	brute force guess the key in the pairing process.
3685440	3686980	The standards bodies admitted this
3686980	3688900	when the protocol was developed.
3689060	3691320	This is not new. When you pair a Bluetooth phone,
3691320	3692880	go lock yourself in a Faraday cage
3692880	3695860	if you're really paranoid, and pair.
3695880	3697480	And that way, no one can intercept it.
3697540	3699520	But the neat new trick
3699520	3701040	is that you can trick a phone
3701040	3703120	into thinking, oh, I've lost my pairing with my earbud
3703120	3704620	or whatever, I should repair.
3705240	3707120	So, I like to liken this
3707120	3708840	to a rogue access point attack
3708840	3710740	where you've got a rogue device pretending to be another one
3710740	3713460	in your network, it just happens to be your little Bluetooth PicoNet.
3713640	3714880	If you're at DEF CON
3714880	3716940	and you're talking on your Bluetooth earbud
3716940	3718800	and your phone suddenly says,
3718800	3719460	what I really want to do...
3721000	3723180	If it says, what I really want to do right now
3723180	3724720	is repair the earbud
3724720	3726940	because I've forgotten the pairing, no.
3726940	3728820	Put the phone away, stop talking
3728820	3730520	to your girlfriend or your
3730520	3732800	Vegas hookup and just go drink
3732800	3734220	because someone's screwing with you
3734220	3735920	and they're going to try to break into your phone.
3738600	3739620	Wow, I'm not even sure
3739620	3741260	where the 802.11 seems to...
3741260	3743220	That happens on your wired earbud.
3743220	3744220	Just go home.
3745260	3747140	Yeah, that's the voices in your head at that point.
3749600	3750300	So,
3750300	3751700	defending wireless networks,
3751700	3753380	this should say defending 802.11 networks
3753380	3755020	because, you know, 802.11
3755020	3756980	does not equal wireless and vice versa.
3757180	3758780	We talked a lot about the offense.
3758780	3760900	This slide is actually taken directly from our Black Hat talk
3761340	3763000	that Beatle and I gave, so it doesn't make any sense
3763000	3764260	in its current context.
3765980	3767080	We had done something
3767700	3768860	a few years ago called Hotspot
3768860	3770440	DK. It was a hotspot defense kit
3770440	3772600	in a response to a problem where
3772600	3774920	there's a lot of money being spent to protect enterprise
3774920	3777160	wireless networks in the enterprise.
3777360	3778780	You know, like, hey, let's buy
3778780	3780780	wireless intrusion detection systems. We'll put sensors up
3780780	3783360	everywhere and we'll put things in a nock and we'll be secure.
3783740	3785000	Well, hallelujah, brother.
3785160	3786600	Your infrastructure will be secure.
3786600	3788600	Your clients are still out there in the window.
3789020	3789480	You know?
3789680	3792460	Your EVP or your nock guy or whoever
3792460	3794480	that's got a laptop leaves your enterprise
3794480	3795860	and goes to Starbucks.
3795880	3797980	Your wireless IDS is not at Starbucks
3797980	3800820	when AirSnarf is beating the shit out of it.
3800840	3802700	Alright? We need to pay more attention
3802700	3803960	to wireless client security.
3803960	3806380	So, a year and a half ago, literally,
3806380	3808420	the day that DEF CON Federal
3808420	3810840	started, we were scheduled to speak on day two,
3810840	3812260	we sat... what?
3812740	3814460	Black Hat, what the hell did I say?
3814460	3817060	DEF CON Federal 2006.
3817060	3818080	Be there.
3819320	3821900	It'll be in the Las Vegas County Jail.
3822400	3823580	Or Guantanamo.
3823580	3825600	Or Guantanamo, if we're lucky.
3826100	3826800	Jeez.
3826800	3827680	Go Gitmo.
3828940	3830940	What the hell was my train of thought?
3830940	3832020	Oh, we wrote this tool.
3832240	3834480	We wrote this tool literally
3834480	3836700	in the day before our talk
3836700	3839160	at Black Hat when we were drinking and talking to friends.
3839300	3840660	It wasn't rocket science
3840660	3842160	to write a little tool that
3842160	3843980	protected wireless clients.
3843980	3845960	Nothing out there at the time existed like it.
3845960	3848120	We released it under BSD license and said,
3848120	3850100	take it, integrate it into your own products,
3850100	3852040	we don't give a shit, just fix the problem,
3852040	3852880	secure the clients.
3852880	3855400	Now you can buy it from other people.
3855400	3856900	And it's taken a year and a half to get there.
3856900	3858860	There's really still no huge amounts of support
3858860	3860840	in the operating systems and the drivers and whatever
3860840	3863880	to try to protect the clients while they're on the road.
3863880	3865580	And really, that's a massive problem.
3866380	3867400	So things are not much better.
3867400	3868820	I'm skipping ahead in my slides.
3869600	3870780	We're working on Hotspot
3871600	3872560	DKV2.
3873300	3874740	It turns out that my third major
3874740	3876820	was computer science.
3877700	3878760	The first two were
3878760	3880180	biology and physics.
3880500	3882860	Marketing, economics...
3882860	3884280	I went through a lot of majors.
3886300	3888740	I almost got into a fist fight
3888740	3890380	with one of my professors and then I watched him
3890380	3892360	dent my car on purpose.
3892360	3894800	And I realized at that point that computer science is probably not the way
3894800	3896400	I was going to graduate college.
3897240	3899200	And I can't code for shit.
3899340	3900680	So I've been trying to write Hotspot
3901380	3902820	DKV2 for the last couple weeks
3902820	3904240	and it's been a qualified disaster.
3904240	3906580	And the guy who I normally rely on is actually moving to
3906580	3908720	Alaska right now. This is not like a line.
3908720	3910320	So I don't have code to release.
3910320	3912180	But ultimately, what we're trying to do
3912180	3914740	is build an environmental monitor.
3914920	3916520	I like to liken this to going to
3916520	3918320	downtown Baltimore. How many people, first of all,
3918320	3919500	live near Baltimore?
3920260	3921860	Okay, we all work for the government.
3921860	3923760	How many people have been to Baltimore?
3923760	3925700	Alright, when you go about
3925820	3927680	a block or two outside of downtown,
3927680	3929440	it gets really scary really quick.
3929440	3932340	That town is... it's not so pretty.
3932340	3933620	If I'm in downtown Baltimore
3933620	3935980	and I hear gunshots and then I check my body
3935980	3937900	and I'm not hit, it doesn't make
3937900	3939280	me any less nervous.
3940120	3941780	I don't think to myself, oh, thank god,
3941780	3942340	they missed me.
3943440	3944920	Let's go get a coffee, dear.
3946440	3947780	So, this is the same
3947780	3949420	kind of thing. We're trying to build an environmental monitor
3949420	3951580	that looks for nasty things happening in the air
3951580	3953460	that might not be happening directly to us.
3953460	3955280	Think of it as wireless IDS for your
3955280	3957100	mobile device, right?
3957100	3959540	This is really kind of a decent idea, I think.
3959560	3961620	There was actually a question posed yesterday to me.
3961620	3963000	Why don't you use Snort Wireless?
3963060	3964820	Well, we kind of want to do it lightweight.
3964820	3967760	We want to try something new, so we're slinging our own code to give this a shot.
3967760	3969640	If people are interested in helping out,
3969640	3971300	please contact me. I'd be more than happy to,
3971300	3973640	well, have you write the code, because I'm really shitty
3973640	3974340	at it.
3975480	3977040	Question? Okay, fire.
3979820	3980900	No, no, the question is,
3980900	3982760	if you help out, do you have to drive around Baltimore?
3982760	3984320	No, I'll do that for you.
3984960	3986600	Wait a second, Bruce.
3986600	3989240	Didn't you say that IDSs sucked?
3990680	3992300	I think that's what I heard.
3994260	3994640	So,
3995180	3996860	there we go. Where the hell did this come from?
3996920	3998140	Oh, Jesus.
3998320	4000300	Way to avoid the question.
4001580	4003360	I'm trying to get to a
4003360	4005640	geometry here.
4005640	4007580	What?
4007580	4008640	We only have one certified
4008640	4009720	open office operator.
4009720	4011280	How do I go backwards?
4012280	4013600	Oh, the back arrow.
4014660	4016080	Hey, is that my slide?
4016080	4017560	You wouldn't learn that in computer science.
4017560	4018560	Oh, I did that.
4019720	4021620	I forgot my slide.
4022380	4023820	Alright, so this is Hotspot DK.
4023820	4025460	So to get to the question Eric asked,
4025460	4027900	this microphone and I are going to have a
4027900	4031800	carnal knowledge here shortly.
4031800	4032320	So,
4032320	4033840	as security professionals,
4033840	4034580	I'll get there.
4034580	4036540	Alright? Thank you, brother. Hallelujah.
4037020	4038520	We haven't learned a lot.
4039260	4040600	People have called me kind of a killjoy
4040600	4042300	the last couple days because every time I've been on stage,
4042300	4045020	I've been pointing at the audience and being like, it's all your fault.
4046180	4046600	We've learned
4046600	4048580	the same things over and over, which is kind of
4048580	4049540	alluring a lot.
4049540	4052280	You get to learn the same thing and fill up the queue.
4053160	4054560	So, here's
4054560	4055240	the deal.
4055980	4058760	We get paid to know security stuff.
4059540	4060940	And ultimately,
4061660	4062600	we should have a better
4062600	4064340	knowledge of our environment and our equipment,
4064340	4066340	as Ronnie talked about, understanding what
4066340	4068340	vendor gear we're putting in, understand the
4068340	4070360	applications running in our environments,
4070360	4072540	that kind of thing. Ultimately, users
4072540	4074440	are the ones kind of affected by IDSs.
4074440	4076620	Is a transaction I just committed with the Bank of America
4076620	4078700	legitimate, or have I been owned?
4078700	4080020	Is my credit card down?
4080020	4082440	Bank of America can find out. It'll take six months
4082440	4084540	to discover it, but it would be nice if you
4084540	4086660	found out in real time. It would be nice if the people
4086660	4088500	in the NOC just got little pop-up windows
4088500	4090980	that were binary ones and zeros. Secure, not secure.
4090980	4092800	What's the state of the network? Bing! Zero.
4092800	4094820	Secure. What's the state of the network? Bing! Zero.
4094820	4096060	Insecure. What?
4097760	4099160	Then you know your own.
4099600	4101540	You just cast that in stone.
4101760	4102380	Yes.
4102960	4104860	Everything's secure. What we really need to be
4104860	4106780	focusing on as an industry is a better
4106780	4109000	understanding of the tools and our own enterprises
4109000	4110600	and looking at the integrity of things.
4110600	4112720	It's not good enough just to say, are there
4112720	4114820	traces of an attack, but has an attack
4114820	4116980	been successful? That's the real rub.
4116980	4118700	There's a lot of people focusing on forensics
4118700	4121140	and looking at the after-the-fact type of stuff.
4121140	4122540	But we need to have a deeper understanding
4122540	4124860	of what's going on in our environment.
4125040	4126800	Brian Watring, who couldn't be here
4126800	4128960	today, has been working for years on a
4128960	4130480	tool called OSIRIS.
4130480	4132980	You can go to hostintegritymonitoring.com
4132980	4134800	and take a look at it.
4135640	4136860	Think of it as tripwire
4136860	4139360	on steroids. It's examining configurations
4140120	4140740	and checksums
4140740	4142900	and all kinds of things about the...
4142900	4144620	Pablo, go. It's free.
4144620	4146180	Just get it. It's free. Just get it.
4146180	4148320	And he actually just has a book that was published
4148320	4150340	about how to do host integrity monitoring.
4150480	4152140	And what's unfortunate is that
4152140	4154400	there's not a lot of other tools out there that deal with that kind of thing
4154400	4156160	and I think we need to focus on that.
4157660	4158020	Further...
4158020	4160080	I made a triangle. What?
4160080	4162060	What? You made a triangle
4162060	4164140	in college? Yeah, I made a triangle
4164140	4166140	in college. It was glorious. This is my
4166140	4168100	PowerPoint food. Beetle has arrows going back
4168100	4169860	and forth and worms and all kinds of shit.
4169860	4171180	And I have a triangle.
4171940	4174180	And they're both built by bandits. Bring on the triangle.
4174180	4175840	What do you want from me, buddy?
4176260	4178220	Tell me about wireless IDS.
4178240	4180820	Wireless IDS? Why wireless IDS?
4180820	4182020	Because you said they were good.
4182640	4184280	Wireless IDS in the client, I think,
4184280	4186820	is a reasonable thing. That gets back to this kind of thing.
4187160	4187960	God!
4189480	4190160	Don't you mean
4190160	4192240	host IDS on wireless
4192240	4194320	clients? It's okay, Matt. It's almost
4194320	4196120	over. Apparently we need a keyboard
4196120	4198200	IDS. Do we have any more shit we can show instead?
4198200	4199560	Yeah. All right. I'll make this short.
4199560	4201880	Your IT security needs includes a different user interface.
4201880	4204460	Go play with this in the parking lot.
4204460	4205880	Yeah, go play with that. I'll just stick it down my
4205880	4207420	pants with a one watt amp.
4209540	4210340	Vegas was hot.
4210340	4211880	Can we get pictures before and after?
4212480	4213620	So, anyway,
4213620	4216220	sure. Look, you can see it backwards over there.
4216300	4217920	IDS and the normal user get along
4217920	4219840	fine because that's who really needs to consume
4219840	4221780	the information. What we really care about is
4221780	4223460	how bad is shit, right?
4223560	4225580	Users need to make rash tactical reactions.
4225580	4227880	We in the operations world need to make strategic reactions
4227880	4230300	like, oh god, we got broken into. Let's respond.
4230300	4232200	Incident response and things of that nature.
4232420	4234840	Does that get down your path? All right, thank you.
4235140	4236340	Further, I think you need,
4236340	4239120	when you think about security in the data center,
4239120	4240580	sorry about the rant, and if you were a
4240580	4242740	black hat, I really apologize, but
4242740	4244740	you really need to think about things in a structured
4244740	4246440	fashion, and it turns out we need to
4246440	4248700	spend as much time thinking about patch management and configuration
4248700	4250620	management as we do firewalls and software
4250620	4252540	security and IDS. Where do we buy the
4252540	4255640	honeypot hats? The honeypot hats?
4255640	4256620	I'll make you one out of this
4256620	4258500	soaking wet towel and some electronic devices later.
4259660	4260920	Dead man walking.
4262300	4263560	Anyway, I don't really want to get into
4263560	4265360	this triangle, because it'll be controversial
4265360	4267540	and more than I really want to do, and Beedle's standing behind me
4267540	4268720	threatening to beat the shit out of me.
4268720	4271740	As a moment, I'm just going to do that to piss him off.
4275380	4277560	That was awesome, dude. Awesome, whatever.
4284340	4284660	So...
4285980	4287560	Is Mike Lynn in the house?
4287560	4289100	Is he in here, man?
4289400	4290940	Motherfucker. I told him to come.
4290940	4294620	Yeah, so Mike was at ShmooCon.
4294620	4296860	If you missed his talk on signal intelligence
4296860	4300780	and how to capture really interesting things
4300780	4302280	that are in the air all day long
4302280	4304680	and how to decode them, because people are using
4304680	4306120	leaked crypto like
4307120	4308160	ASCII.
4311120	4314100	You missed a really cool talk at ShmooCon.
4314300	4316520	And it was a lot of fun. Who here was at
4316520	4318740	ShmooCon earlier this year?
4318740	4320680	Awesome. Right on, man. Thanks. That's cool.
4320680	4323600	So, ShmooCon 2006.
4323800	4325340	January 13th through 15th.
4325340	4326940	Washington, D.C. again.
4327100	4329040	Pre-registration is live now.
4329040	4331740	If you missed out on ShmooCon last year, it's sold out.
4331740	4332660	We didn't have...
4332660	4335600	He is the ticket Nazi. When we sell out, we sell out.
4335600	4337840	Yeah, we were done, man. We didn't have any space.
4337840	4339120	We had no more chairs.
4339120	4341760	We would have been people standing in the back...
4341760	4342960	Oh, or something. Okay.
4345240	4347640	So, yeah, you can go to ShmooCon.org.
4347900	4349680	What we really like about ShmooCon...
4350460	4353620	And particularly how we can kind of get it out there
4353620	4354520	for people to see.
4354780	4357320	We threw a lot of ads together last year
4357320	4358760	for people, their entertainment.
4358820	4360700	And we're interested in soliciting those again from people.
4360700	4363620	So if you have an advertisement for ShmooCon
4363620	4365120	that you'd like to get onto the web,
4365120	4367100	we'd like to get it onto the web for you.
4367160	4369200	And so just build it, make it.
4369300	4371440	We'll compare it with all the other ads that we receive.
4371440	4372800	The best ad that we get,
4372800	4375380	we're gonna pay for that dude, wherever you are,
4375380	4378120	to fly to ShmooCon, stay at ShmooCon,
4378120	4378980	hang out at ShmooCon.
4379580	4381040	Yeah, man.
4382560	4384160	Please do not hire an artist from Singapore
4384160	4385080	or somewhere.
4385520	4387200	No sweatshops, alright?
4387380	4389340	Here's an example ad, just so that,
4389340	4391780	if you want some mind view.
4395060	4396680	See if this will actually play.
4396680	4397420	Hopefully.
4429520	4430880	That's pretty hot.
4432320	4433480	Right on.
4437200	4438760	So, we're really interested
4438760	4440500	in more people submitting.
4440520	4441840	Rodney's got the CFP.
4441840	4443320	So the CFP's out.
4443380	4444800	And we're handing it out.
4444800	4447320	So if you want to see what we're interested in,
4447320	4448600	what we'd like you to present on,
4448600	4448640	feel free to do that.
4448660	4450260	We had three tracks last year.
4450260	4451720	Build it, break it, and bop it.
4451720	4453960	So we're really interested in people like building things.
4454080	4455900	And as Pablo said at DEF CON last year,
4455900	4456920	build cool shit.
4457220	4459580	And the other thing, if you have an idea for a talk,
4459580	4460960	and you haven't done a talk before,
4460960	4462840	you're not sure how you'd go about doing that,
4462840	4463760	talk to us anyway.
4463760	4465140	We're trying to encourage new people,
4465140	4466320	new blood to show up.
4466320	4467340	And we've got all sorts of folks,
4468000	4470180	PhDs, professors give courses,
4470180	4471640	all sorts of people do presentations.
4471640	4473460	We can help you out with that kind of stuff.
4473540	4475300	So if you have a good idea, talk to us.
4475300	4477040	Doesn't matter if you've given a presentation before.
4477040	4478620	Go right ahead. Please, we encourage it.
4478620	4481000	It's important to mention that when we're at ShmooCon,
4481000	4482900	we don't talk at ShmooCon.
4482900	4485340	We usually, you know, we might give a few rants here and there
4485340	4486580	and some informative things.
4486580	4487760	But those are sidebar things.
4487760	4490220	We actually provide a venue for everybody else to talk.
4490220	4492260	We come here and we just kind of throw a bunch of stuff together
4492260	4494180	and we try and jazz people up and get people excited
4494180	4495580	about doing these kind of things.
4495580	4497800	So we're interested in providing a venue for you
4497800	4499040	to give presentations.
4499040	4501320	So submit what you want and we'll make it happen.
4502540	4503900	So that's it for us.
4503900	4505720	Does anybody have any questions?
4506780	4507900	Please ask questions.
4507900	4509100	Priest is walking up.
4511960	4513180	Alright, thanks a lot guys.
4513180	4514420	We really appreciate it.
4514420	4516180	Have a good day. Have a good DEF CON.
