 All right, guys. Just want to talk a little bit about how to have some fun with your own little pen test Army. So as you can see, by the way, at this title, I social engineered myself. So I'm very proud of that. I social engineered myself, the title of hacker and residence at university redacted. All right, so what does this talk about anyway? I'm going to talk a little bit about doing hacking in forensics with some small low-power devices. It turns out that the devices I'm using are arm-based devices in the Beagle board family. And what I've done is pretty much made my own custom Linux distro, which I call the deck. And the deck is essentially all of the good stuff out of backtrack and none of the bullshit fluff, right? You know, the stuff that people haven't used in years. I didn't port that stuff. I ported everything else. I'll talk very briefly about porting stuff to a new platform. I don't want to focus on that too much. A lot of the stuff I want to talk about today, it's in the slides mostly just so that it's in the slides. It's on your DVD. You can look it up later. Ask me questions, whatever. I also want to talk about how you can perform some coordinated attacks with your little army of pen-testing minions. So who am I anyway? I'm a prof at university redacted. And hacker and residence somewhere in the Midwest. I've been programming since I was 8 years old. Been hacking hardware since I was 12. Also been known to fly some planes, build some planes and just have a lot of fun. What I'm going to talk about is, you know, choosing a platform that was appropriate, selecting kind of a starting point, a base OS. Building a base system. And then the easy part, getting some tools out of repositories and such. And also talk about the harder part where you can't get things out of a repository. How do you go about building stuff? For a little arm-based device. Then I'll move into networking with 802.15.4 or XP networks. And talk to you guys a little bit about that. Talk about how you can build your own stuff. And I'll have some demonstrations. I apologize via screenshot. As we all know, live demos are never a good idea, especially in a crowded size. But I will be available later if you guys want to, you know, get touchy-feely with some of this stuff and play with it. Talk about attack networks and some future directions. Okay. So picking a platform. This is my criteria. I wanted something that was small. Something that was low power. Something I could afford. You know, I don't make much at University of Redacted. Something that was mature. Had good networking support, good community support, had some nice input and output options. And the winning platform, I kind of gave this away, is the Beagle board family of devices. In particular, I started out doing this with the Beagle board XM, which is a desktop replacement device. And, you know, have moved to having something that runs as well on the Beagle bone and the new Beagle bone black. That will talk a little bit more about in a bit. Pretty cheap stuff. Beagle board XM, $149. And the Beagle bone black list for $45. And you can actually buy it for less than the list price, unlike some other devices out there. Half a gig of RAM, networking, USB, DVI-D, output, all that good stuff. So here's a little picture of the Beagle board XM. This is stolen off the Beagle board website. It gives you some of the specs. You can see it's three and a quarter inches square. It's pretty small. And here's the other device that you would be more likely to use if you were starting today. This is the Beagle bone black, also known as the Raspberry Pi Killer. This came out in late April. It lists for $45. I've spent an average of $42 on the ones that I've purchased. And it's the nice piece of hardware. I know at least somebody is going to say, why didn't you use the Pi? Well, here's why I didn't use the Pi. The Pi is not near as powerful. It doesn't run Ubuntu. It's got some ancient ARM architecture that nobody supports, including Canonical. It's not as mature in terms of the platform. The Beagle bone, the original one, has been out longer than the Pi. And there's no real cost savings, if any. Usually, I think if you try to implement this stuff with the Pi, you would probably spend more money, not less money. Even now, it's not easy to go buy 50 PIs in this country, at least. And a lot of people have had some problems with some flaky boards. Also, even though they're not as powerful as the Beagle bone black, they consume about 50% more power. So, you know, I've talked to a lot of people about their experience with the Pi and I hear a couple of stories a lot. I never got it to work because I had to go download, you know, Raspbian and, you know, that stuff just never worked. So that's one story I hear a lot. And I also hear that it worked really great for about two weeks and then the flaky power circuits failed. And then the other, I think maybe slightly more common story I hear is, yeah, I want to do something really cool. And then it wasn't powerful enough. But it can flash LEDs. It's really cool. It's like, blink those LEDs. All right. Well, I think I'm doing something a little bit more than blinking LEDs. You can judge for yourselves here coming up. All right. So now that I've selected a device, it's time to select a base OS to start with. Well, again, unlike the Pi, if you buy a Beagle board, Beagle bone, it actually comes with an OS and you can plug it in and it runs. They even give you a power cable for the bone. It's amazing. You don't have to buy extra stuff. So it comes with this thing called angstrom Linux that most people have never heard of unless you like to do embedded Linux stuff. It's not a bad distro. It's optimized for the hardware. But for our purposes, it's not the best. You know, the guys that made this initially weren't all pen testers. They didn't say, hey, I want to run these security tools on my little board. Because up until recently, nobody was doing that. So I chose Ubuntu. Ubuntu is available as you all probably know. Backtrack was based on Ubuntu. A lot of support in the community for Ubuntu. Good repositories and all that. All right. So now that I have an OS that I've picked, it's time to go about installing it. So on the Beagles, on the Beagle bone block in particular, it has two gig of internal storage, which isn't quite enough for me. The image for the deck is over six gigabytes. So I have just a few tools in there. You know, I forgot though. I should have put a little program in there to blink LEDs, but I didn't do it. I apologize. You're welcome to submit that to me. Maybe I'll add it. So what you want to do is you get a microSD card and you create an image. And if you're going with Ubuntu, you can go to canonical. You can get their images. Or there's a guy named Robert C. Nelson. I think this guy just writes stuff for embedded devices all day. I chose to use his branch of Ubuntu because it's nicely optimized. It's updated a lot. You can find some good instructions on how to do this stuff at the link provided if you want to do so. All right. So now I've got a device. Got a starting point. I've ported some of the tools or I'm getting ready to port some of the tools. So what's the easiest thing? Well, I want this tool. App, get, install, and pray. All right? And a lot of times you get lucky. Sometimes you don't get quite that lucky, but it's great. A lot of people like Ubuntu. And so a lot of times if you can't get that to work, you can at least get a dev file. And you can use d-package to install it. And when in case of a dev file, what I found is if you're running something that's based on an interpreted language like Perl, Python, Ruby, et cetera, it tends to work pretty well. Kind of out of the box. And if it's a C-based program, if you have the appropriate libraries, you're probably okay as well. All right? Now, sometimes you actually have to build stuff. Now, in my experience, this was roughly 10% of the time. So 90% of the time I either did an app get installed and it worked, or I got some dev files and maybe played around a little bit and it worked. All right? So a couple of times you actually have to build this stuff. All right? So if you've got to build this stuff, you have to make a decision. You have to say, do I want to build it on my Beagle or do I want to build it on my hex core desktop with gobs and gobs around? All right? If you build it on the Beagle, it has the advantage of being pretty straightforward, has a disadvantage of possibly being a little bit slow if it's a big program. All right? So of course you can cross compile. It's a little bit more complicated. But you can take advantage of your heavier computing power. All right? So if you're going to go with the native compile, it's pretty basic. Do a pseudo app get install build essential, singular, not plural. I don't know why, but that's the way it is. And you're pretty much on your way. You download your code, do the standard stuff and you build it. All right? Something to keep in mind if you happen to be using the Beagle board, XM, be aware that if you're SSH-ing in there and you're using DHCP, every time you reboot the machine, it gives you a new MAC address, so you tend to get a new IP address. So if you're wondering, hey, why did that move yesterday? Well, just don't ever turn it off. You'll be fine. All right? I'm not going to cover this in detail. Just want to include this in the slides. But cross compiling, the most simple way to cross compile is something. You download a tool chain and you kind of do the standard thing. You go get your source code and then you do your configure, make, make install, and then in this case you move files over. The only difference is if you look at the configure line, you'll see that it says configure and then there's a dash dash host equals arm blah blah blah blah. All that is telling the compiler is hey, guess what? I'm not building for whatever I'm running on it, whatever machine I'm running on, and that architecture I want to compile for the other architecture. And other than that, it's pretty much the same as building source code for your own machine. You can be a little bit more fancy and you can start using Eclipse. And there's some good instructions on how to do that online. And you can get really, really fancy and enable remote debugging. All right? And I refer you to Jan Axelsen's tutorial which has a link to that at the bottom of the page. All right? If you have questions about this stuff, ask me later. All right? Okay. So now we have a device. We select a device. We got an OS. We ported all of our tools over. Now let's talk about networking. All right? How many of you are familiar with 802.15.4 networking? All right? Like maybe 10 of you. It's not a lot. All right? Also sometimes called XB networking. Sometimes you might hear about ZigBee networking which technically is built on top of XB. But just going to give you a nice brief overview of what it is. Talk about some of the hardware. Some simple cases where you just have two XB radios. And then some slightly harder cases working up to the really hard stuff where you're actually doing true mesh networking. All right? So typically you'll find these XB adapters in industrial settings when people are doing stuff with low power embedded devices, they like to use XBs. And the XBs have many different forms. And they usually come in two flavors. They have the basic ones or the regular ones that have a range, you know, of one to 300 feet depending on the situation. And then we have the pro adapters which have a range of up to a mile. All right? They have two different modes of operation. They have what we call AT mode which for some of the older among us, you might recognize AT commands. It's from these things called modems, you know. But some of you are like, I heard about those once. It's fairly low speed about 250K. And it supports a lot of different topologies such as peer to peer networks, star networks, and mesh networks. And these are made by a company called Digi. They're up in Minnesota. And they have their regular and pro formats. They're interchangeable and interoperable. All right? So I can have a network where part of my network is running the regular adapters and part of them are running the pro adapters. And that works. All right? They interoperate just fine. One thing that's kind of a pain in the butt, working with these devices, they use a two millimeter spacing, not the standard 2.54 millimeter or 10th of an inch spacing. So you probably have to get some sort of an adapter. A lot of different antenna options. When you're buying these things, be careful to buy compatible adapters. You'll see series one adapters. And series two adapters sometimes refer to ZB adapters. All right? You can interoperate regular and pro, but you cannot interoperate series one and series two together. All right? They're not compatible. So buy all of the same kind. All right? So if you get these little XB modules and you want to configure them, pretty much what you can do is if you have a USB adapter, it's usually the most easy way of doing this. You can put this in its adapter, plug it in to your computer, and they provide some software you can run. And you set up different things. So you configure each of these modems. You give it a baud rate. Tell it what kind of device it should be if it's a series two device. You set the channel. And you also set something called a pan ID. All right? You can choose something great like maybe, I don't know, 1337. Probably wouldn't go with the defaults, but you can change it. And you pick a destination low address and high address. And it's pretty simple. I'll talk about the different modes that it will operate in. And you just write this information to your modem, then you label it with a piece of tape or something so that you don't get them all confused because they all look the same. And go forth and do some XB networking. So what's the simplest thing to do? You have one drone and you just want to remote control it. So I might have one little drone device with an XB Pro and I want to sit maybe with my little lunch box. My lunch box of course has a little computer in it running the deck. And why is it buzz light here? I'm going to hack you to infinity and beyond with it, buddy. All right. So you by default, these XB adapters are meant to run in what's called transparent mode. And basically what it does is if you set up the addresses properly so that two of these are pointing at each other, it makes a wireless serial port. So stuff just goes back and forth using the normal serial port protocols. And you can do this and then set up your drone to use TTY, which again, some of you will be like, what's that? Something that people use in the old days to tell net into stuff. So it's pretty simple. There's a lot of information on how you set that stuff up and you can do it. That's one way you can go. Now, you can go and do the same sort of thing and have multiple drones. And all you need to do is make sure that each of those drones is having a destination address of your command center. And, you know, they don't really know about each other. You know, for them, they think that it's exclusive. You know, it's like they're all Tiger Woods girlfriends or something. I don't know. They all think that it's just them. They don't know about the rest. And it's pretty simple. You don't have to do any programming. And you can just use the AT commands. So how does that work? You open up your favorite terminal program. If you want to change something, all you have to do is hit plus three times, wait a little bit, and it'll say okay, and then you can give it a command, such as this command that says, hey, change the destination low address so that I can talk to this drone now. And then I can go and write those things to my modem and off I go. I can also use an API mode, which is what I would personally recommend. All right. The nice thing about API mode is that things are set in packets and it's a lot better performance and error correction and all that good stuff. All right. By the way, a little tip. If you didn't configure all your modems to use API mode and you're standing there and you go, it says it's receiving. Why isn't it doing anything? And you're thinking, it's my Python scripting. It's probably just that you misconfigured the modem. So there are different ways you can talk to these modems. You can use Java. There's a Java protocol and a library for that. There's a Python library which I used. Or if you want to kick it old school, just send those raw commands yourself. You can do that. And I recommend that you use API mode if you've got more than just one drone. So you can also go to multiple drones. Again, this is technically not really mesh networking at this point. It's really point-to-multipoint. And you set up this peer-to-peer connection and you get better performance and all that. So it's a good thing. Now, one possibility you can do is what I did. You can write some simple Python scripts so you can create a command center and then have all of your drones sit there and just wait. Wait for commands on the XB. You know, wait for commands to come over the XB. It's not a line, I guess, or wire, but virtual wire. One downside of going this way versus the TTY route is you can't run an interactive program, at least not yet, the way that I've done my scripting. But it does work pretty well. So you can send commands. You can get responses. There's also a facility in there to get announcements. So I might say, hey, you drone over here. Please crack this Wi-Fi network. And then when it's done, it sends me a big announcement. It's like, hey, Phil, guess what? The password was password one. So all the code for all the stuff I'm talking about today is available out on my website. But, you know, I'll give you some of the highlights. All right. Now, if you really need to do the true mesh networking, you can do it. One thing that's cool about this method is that you don't have to change anything. There's no changes in your scripts. It all just works. And you can take out your series one modules, put in series two modules. And really, it's a matter of just configuring them correctly before you plug them into your drones. Something to keep in mind, though, if, for example, you set up a device as a router, routers are not allowed to go to sleep because routers that don't respond are bad. End devices are allowed to sleep and you can save them battery power. All right. So what's the simplest case? You know, again, let's back up a little bit. You know, we selected a device, got our OS, got all of our tools and figured out how to do the networking thing. Well, the simplest case, you just have one drone. You set it up and you can have from a distance. You know, what's the advantage of this? It's running 24-7. You're not suspiciously sitting in the parking lot with a big antenna in your van. That's like, what have they been doing? You know, oh, that's the famous FBI van number six, right? A little story on that last weekend, I was at Maker Faire up in Detroit and I was running some of this stuff and someone came up to my booth and he goes, oh, look, there's FBI van number six right here. I wonder why that is. I'm like, dude, I know it's you. Oh, what do you mean? I'm like, dude, you're six inches from my receiver and you're the strongest signal. So I'm pretty sure you're FBI van number six. Anyway, so, you know, you can lounge by the pool at the hotel down the street. You know, especially if you go to someplace like Vegas, it's kind of hot here, right? You want to sit by the pool or whatever and you can hack away. Other things you can do, you could have multiple drones and you can interact with each of the drones and use your imagination, right? Now, again, I want to reiterate, one of the big pluses, I mean, can you get things like a pony plug and use that? Of course you can't, right? However, you know, the nice thing about these guys, they're cheap and every one of them has a full copy of the deck. So they each have six gig worth of security tools, all right? So you don't have to go, oh, I wish I had this. You know, it's on there, right? It's pretty much all there. And, you know, again, you can retask drones as they complete different objectives and such. All right. So let's talk a little bit about building some hardware. So you want to build some accessories. This picture here is of a very simple power supply, right? So the first thing you want to do is power this up. You can see the scale. It's pretty small. It's next to an SD card. So you want to power your drones. I'm not doing anything real fancy here. I'm using a 7805 linear power regulator and a couple of capacitors in order to smooth stuff up. And a battery or two. All right? A word on batteries. Now, I just showed you a picture with a 9-volt battery clip. And that works great and 9 volts are nice because they're compact, but it's not real efficient. All right? For one thing, I'm dropping from 9 volts to 5. So I'm wasting a lot of energy. And that all goes to heat. And also, 9-volt batteries don't have a very good energy density when you compare them to things like D cells and stuff like that. So something to keep in mind. Other things to keep in mind when it comes to power, you can have a bigelboard or bigelbone black running full blast, all right? Running 100% CPU. And it uses about a watt. It's like 1.1 watts or so of power. It's not a lot. How much do you think the Raspberry Pi does? It's over 2. And it does less. But it doesn't matter because all you can do is blink LEDs and they're pretty efficient. So that's all good. But one thing to keep in mind when you're using your mesh networks, they do use power, the transmitters. So don't just sit there and transmit constantly. Make use of things like sleep modes and such. All right? So some power options. Here we've got a couple options. USB cable, different power adapters. And then on the right-hand side you can see some of the battery based adapters. So we've got one with 2, 9-volt clips so you can hot swap them if they start to fail on you. And then another one with some AA batteries. All right? 802.15.4 hardware looks kind of like this. Here I've just made some simple adapters for my XB modules. It's four wires that you have to solder. Here's the same thing in a little case. By the way, some people asked me about this one. It doesn't look like an XB. In order to get it in my little case, I had to put the XB upside down. That's why you don't see an antenna or anything. Okay, so you probably need an adapter for your XB. And again, you can get two kinds of adapters. You can get a UART or serial adapter, which is pretty basic. You can have four wires to connect. All right? You can also get a USB adapter. You're probably going to want at least one of these in order to hook it up to your PC and to program it. And you don't have to solder or anything. So if you're connecting it to your Beagles, if you bought the USB adapter, there's nothing to do. Just plug it in. If you have the UART adapter, you have to solder the four wires. You can find more details about that if you look into my slides. And then you have to tell the Beagle, hey, this is what I'm using these pins for. All right? A little note on that. The older Beagle Bone, the Beagle Bone White used the older Colonel version. And there was a way of doing this stuff. You just have a couple echo commands that are shown here. The new Beagle Bone Black uses a 3.8 Colonel. And they dramatically changed how that stuff works. So I don't have time to go into the details on that. But, you know, have a look at my blog and I'm hoping when I get home to have a nice detailed article on that. Other hardware, capes, or if you're familiar with Arduino shields or capes in the Beagle Bone world, something that I'm working at right now, I've actually been approached by some folks because some people don't like to solder, which is cool. I like to solder, but we're working on developing a cape that will have an XB socket, a network switch so you can inline it, and a USB hub in case you need some more USB, and possibly regular Wi-Fi, 802 11 Wi-Fi, and maybe an optional battery pack. So that's something that might be coming out. Other things in terms of hardware, you have to have a cool container for your stuff. You see I have my G.I. Joe black packets, my Buzz Light your lunch box. If you look in the lunch box, it looks kind of like this. You know, I've got a touch screen, I've got my Beagle on the back of it, USB hub, network hub, keyboard, mouse, all that good stuff. All right. This is just an example of minus the cape that's still in development, how could you make a planable, you know, get a USB power cable, get a network hub, plug someone's network into your hub, plug your power into their USB port, and you're on their network until they clean under their desk. Which happens a lot, right? You go to these offices, people are cleaning under their desk like every day, or every five years, seems like, so. Pretty cool. There we go. Other things you can do, this is just showing you the same hardware in another format. Okay. So the rest of the time, I want to just real quick show you what kinds of things can you do with this platform, starting with what can you do, just one of these devices, and then what could you do if you take a couple devices, put it together. All right. So, you know, here's the first demo. Some of you might recognize the motivational music as last year's Defcon CD. Run it on my lunch box, you know, run an end map on my network, and sure enough, I see, I don't know how visible, it's kind of visible. I tried to highlight some stuff, and it's like, oh, there's something running on port 445, which tells me that it's probably what kind of a box. Windows. Our favorite target. So, port 445 means let's try our favorite exploit, and what's our favorite exploit in the whole world? 0867, right? It's at every con. So, sure enough, here I am, running Metasploit, and successfully getting a shelf on a Windows XP box. You Raspberry Pi people, go blink your LEDs. I'm running Metasploit. Okay. But your LEDs are cool. I'm not dishing your LEDs, okay? All right. So that's something you can do. What other kind of things can you do? How about crack a little Wi-Fi? Run up Aircrack, you know, start up Airmon, do a little scanning, see what's out there, find someone to attack. Yeah, this guy's got a great password. Password 1, it is. All right, so, you know, crack a couple network passwords. Of course, we like to crack passwords in general. Run up Hydra. This is Hydra running against a router. And you can see that this guy's not even that good. He went with straight up password. Couldn't do the one. All right, well, maybe people have stuff a little better, right? But how many of you like to use WPS cracking? What's your favorite tool for that? Reaver, all right? By the way, hit little tip. Some of those cheap routers, when you untick the box for WPS, it's still on. So you might want to haul out Reaver and check and make sure it's actually turned off. All right, so here's just a little run with Reaver. And after a bit of time, sure enough, boom, I got the password, which was, password one again. I call this Pony Windows 7 like it's a Mac, right? And some of you might say it should be Pony Windows 7 like a boss. Yeah, kind of, but about a year and a couple months ago, there was this big vulnerability that came out. I remember some of you were like 400,000 Macs, or maybe it was more than that. Infected. And all the PCs went, uh-huh. You know, all of us did. But so, you know, the Macs had a problem, right? With Java. And then, you know, you got these smug Mac users who were like, see, you know, I can never get infected. And it's like, well, you did. Well, then you got all the victorious Windows people, right? They're like, well, see, I told you. Guess what? They had the same vulnerability. So again, I just load up Metasploit. Again, this is all running on a little Beagle, right? I might even flash some LEDs on the side. Okay? So, sure enough, bam. You know, here you go. I've got a, I've got a shell at a little Windows 7 box from the University of Redacted. Don't pretend you can't read what it says there. And the final solo demo is doing what I call being a click kitty. Some of you are probably familiar with the term script kitty. Aaron Phenix Phinnan and myself, we came up with a new term, a click kitty. A click kitty is someone that's not even a script kitty. So they can only use GUIs. They can only use things like Armitage and Fern Wi-Fi Cracker, which came out last year, right? It's a nice little tool if you're not familiar with it. It's basically point-and-click ponies for Wi-Fi. You pull it up and it says, oh, I see these adapters, these networks. Which one shall I attack? And then it tells you when it's done. So it's pretty basic. It's kind of neat. All right, enough of that. Let's talk a little bit about bringing in multiple drones. So again, if you take the trivial case where you're using TTY mode and a couple of drones, you can go in to your terminal program. You can connect to one. If you want to switch, again, you just do the plus, plus, plus. Give it some commands and then start switching to the other. It's sort of legible, I guess. But I'm actually running two drones here in this example and I'm sending commands to both. So if you want to use the Python scripting, I've done something extremely fancy, all right? I have a little command console in one window and you can send it commands and you can switch which drone you're sending commands to and get announcements in that window as well. And then I have all of the responses I captured to a file and I use this extremely sophisticated tool to display that file. It's called tail dash f. So basically here you can see this is my command console. I just have a really simple API, right? It'll say, hey, what command do you want to send to this drone? And if you say colon and a number and nothing else on a line, it switches to another drone. So here's just some basic output and they'll tell you, hey, this is what I've sent to this drone and this is what I got back. Pretty basic stuff, all right? This is just giving me an idea. There's nothing like really awesome in the scripts that I wrote here or anything like that. Okay. So some future directions. I'm going to continue to try to add some useful stuff. You know, I started on this work about a year and a half ago after DEF CON last year. I actually added some packages. The very first version of the deck came out in September of last year. So between DEF CON and that time I actually did some of that stuff. And optimizing some packages. Looking at some other output options. Possibly exploiting some USB on the go functionality. Some of you may have done some work with the teensie. Any of you use the teensie? No? A couple of you. Done a little bit of HID hacking. You know, you set up your little keyboard and enter some commands. Well, that's with a 20 megahertz 8-bit processor. I got a gigahertz 32-bit ARM processor. I can really push some commands out to you and, you know, do some serious logic. The other thing I'm working at right now, it's my next big thing, is literally making this platform fly. Hoping to have that stun for GERCON in September. But basically I am going to install this platform inside of an aerial drone that's capable of vertical takeoffs and landings. So you can fly by a target, do initial recon with it, take this sucker, land it on the roof, hack them, and then fly away. And there are different scenarios there, too. You could potentially use a, you could set up your XB in the drone as a router and then maybe pepper the lower powered drones around the building, in the building, wherever you can. So that's something I'm working on. The other thing is, you know, maybe you don't want to hack from down the street. So why don't you hack from across the world? There's this beautiful thing called an XB gateway device. I have a couple of these at my office. And so what you do is you make sure the gateway is in the range of your drones, and then you can take your gateway possibly hook up to someone's free internet at their cafe, plug it in somewhere, and you could be over in Australia doing this pen test. It doesn't matter. And as I said before, I'm working on developing some pen test capes. And also right now I'm currently working on it. I didn't quite have it finished probably in the next couple of weeks. If you look at my website again, it'll probably be up there. I want to be able to send simple files across the XB. So for example, if I want to send a new script to be run, I just want to be able to send that over the XB and not have to bother with things like SSH and all that good stuff. So all right. Here's some references that you can look at. And if there's any questions, there was going to be the Q&A lounge which went away. So I'm going to recommend that if you have any questions, come see me at the Chill Out Lounge later. I'll bring my little toys and you can have a look. And I think we're just about out of time. Do you have like three minutes? One question? One question? Okay. Does anyone have, I think we have time for maybe one question. If not, I'll head that way. I do not currently secure them. I could. There is support in the 802.15.4 spec for encryption. I'm just not bothering to use it. Because honestly, one of the advantages of 802.15.4 is essentially out of band for most people. You know, if you use regular 802.11 networks, people like, hey, what's this rogue network? But if you use an 802.15.4, it's on different channels. People have no idea that's going on. But yeah, you could easily do that. I just don't because I'm lazy and it takes a little performance hit.