[00:01.910 --> 00:04.730] Making good progress on our second day of the Fifth HOPE. [00:07.450 --> 00:15.330] I'd like to give a quick reminder that we do have some Session C things signed up. [00:15.510 --> 00:20.430] So stay here for this one, but go ahead and check the schedule over across the hallway by the Madison Room. [00:20.530 --> 00:21.350] That's our Area C. [00:21.590 --> 00:25.110] There's some interesting stuff coming up pretty well through about midnight tonight. [00:25.490 --> 00:30.370] And then we have things signed up from 10 or 11 in the morning all the way through to the end of the conference. [00:30.370 --> 00:32.210] So a lot of variety in that third track. [00:35.130 --> 00:37.950] I could if I had them memorized and they'd actually written them down. [00:38.130 --> 00:40.010] But I would love to do that, but I didn't. [00:40.410 --> 00:44.610] The one that's going on right now is Guy Rebel talking about old time phone stuff. [00:46.070 --> 00:48.970] Guy Rebel talking about phone stuff is right now in C. [00:49.130 --> 00:50.210] But don't go there, stay here. [00:51.410 --> 00:56.830] And in two hours is some Hacker Chicks thing that I saw a few posters for. [00:56.830 --> 01:00.750] And there is a session in between, but somehow the Hacker Chicks one stuck in my mind. [01:04.650 --> 01:05.430] I hope not. [01:06.490 --> 01:07.790] I hope they're not doing it naked. [01:08.390 --> 01:14.050] Okay, anyway, this next talk is Bypassing Corporate Restrictions from the Inside by Barb Wire. [01:14.290 --> 01:14.550] Welcome. [01:22.570 --> 01:22.970] Hi. [01:25.010 --> 01:25.710] How are you doing? [01:26.650 --> 01:30.810] So I was expecting like six people and I figured that's the amount of names I can remember. [01:32.790 --> 01:36.070] So I'm not going to remember all your names, but we'll see how it goes. [01:39.280 --> 01:45.560] Actually, I had this plan worked out that if there was like only a few people that I could call someone back home, so we could have someone on speaker. [01:45.780 --> 01:49.720] So I feel like I had a real audience, but we might not need that either. [01:51.900 --> 01:57.220] I'm pretty happy that I'm in the B room because it's a little bit less noisy. [01:57.220 --> 02:04.760] And I can, but I'll probably move, so it will probably stay as it is. [02:04.990 --> 02:07.540] But I just want to keep it a bit informal. [02:07.560 --> 02:09.720] So if you've got a question, just shout out. [02:09.960 --> 02:14.680] And, you know, if I know it, I'll answer it. [02:14.800 --> 02:17.380] Otherwise, I'll pretend I didn't hear you or I didn't understand your accent or something. [02:19.900 --> 02:23.780] And yeah, if you speak in an Australian accent, you're more likely of being understood. [02:30.310 --> 02:42.570] So what I'm going to be talking about is the sort of restrictions that you have working in a corporation and tools and techniques that are available to get around them. [02:44.090 --> 02:54.550] I guess the motivation for me was there's a standard thing working in the IT industry where you change jobs every 18 months or something. [02:54.550 --> 02:59.150] And it used to be because you go on to bigger and better things and you get more money. [02:59.230 --> 03:01.890] And these days, it's because you get retrenched every 18 months. [03:02.170 --> 03:10.750] And my theory was that if I keep working for larger and larger companies, the likelihood of me getting retrenched would decrease. [03:11.190 --> 03:15.990] And that theory isn't actually holding any water. [03:17.550 --> 03:20.630] But I did find out a lot about larger and larger companies. [03:20.630 --> 03:28.930] And the place I'm with currently has about, I think, 8,000 people worldwide, which working in Australia is a large company. [03:29.110 --> 03:33.030] Probably in America, it's like Starbucks or something, I don't know. [03:35.290 --> 03:51.410] But the larger and the larger organisation that you work for, the more policies and procedures that they have that you have to overcome in order to have the freedom that you're used to working for Joe and his dad. [03:53.330 --> 04:07.830] So the sort of restrictions that I currently have that I'm not used to and as such not prepared to put up with are things like service restrictions. [04:07.830 --> 04:20.070] So they have port blocking so I can't get out for things like Messenger or you can't stream porn into your work machine. [04:23.910 --> 04:35.970] We've got web filtering and I don't know if you can call it filtering or just some sort of like sponge that lets things through and doesn't let things through. [04:36.130 --> 04:55.110] But it's really weird, like I work as a developer but I am unable through the filtering software to download things from like SourceForge and it's because they have one category which is downloads and that's restricted. [04:55.110 --> 05:04.210] So in order for them to put exceptions for particular uses is requiring me to fill in three forms and get it signed. [05:04.430 --> 05:08.070] So I guess I find other ways to download. [05:09.350 --> 05:13.630] And the other thing that I want to do is I want to access my own machine from home. [05:13.990 --> 05:20.070] And I find it personally really insulting that normally... [05:20.070 --> 05:27.070] I mean, I've got nothing on my computer at work that I really want to do other than monitor jobs or schedule things outside work hours. [05:27.210 --> 05:47.290] And I find it a bit appalling that the current ways of achieving this is so lightweight that I don't have the opportunity to use my capabilities like broadband or whatever in order to do what's essentially work from home. [05:49.210 --> 05:54.090] But I like to do it so I don't have to stay in the office at 9 o'clock. [05:55.770 --> 05:57.230] And so I have to find ways to do that. [05:58.370 --> 06:02.430] So first I'll talk about ways of getting out of the network. [06:04.050 --> 06:20.810] So the sort of things that you can achieve if you can successfully get out of your network is get away from the port restrictions that you have for things like Messenger and streaming and Kazaa. [06:22.790 --> 06:25.610] And website blocking, content blocking. [06:26.850 --> 06:31.290] So essentially what you want is to be able... [06:31.290 --> 06:35.450] I'll use port 1080 which is MSN Messenger which everybody loves. [06:36.930 --> 06:38.870] As an example that... [06:38.870 --> 06:48.750] I essentially want to create a direct connection from a machine inside our local network to a machine outside on a particular port. [06:51.030 --> 06:57.050] But what we have is a proxy server, whether it's transparent or... [06:58.430 --> 06:59.710] the opposite of transparent. [07:00.610 --> 07:01.430] Opaque maybe? [07:02.270 --> 07:02.830] Yeah. [07:03.550 --> 07:04.570] Opaque proxy servers. [07:06.190 --> 07:07.510] It doesn't really matter. [07:07.810 --> 07:12.210] The bottom line is that in order to get out you have to go through a machine. [07:12.510 --> 07:20.850] And at that point it can decide whether it wants to allow you to access that machine or that resource or that port. [07:27.150 --> 07:41.110] So what you want to do is to have all the connections going from your machine to an acceptable machine from your proxy's point of view. [07:42.450 --> 07:51.150] In a lot of situations you may have web access so you may have port 80 available to be going out through. [07:52.210 --> 07:53.950] And that's it. [07:54.190 --> 08:07.830] So what you need is to have some intermediary that will accept a connection from your internal network and then route that connection to where you actually want it to go. [08:14.190 --> 08:15.610] That's all I want to say about that. [08:18.310 --> 08:25.550] So what you're wanting to do is adding routing information basically to your connections. [08:25.950 --> 08:42.530] So if you can think of it in an abstract way, before you send a request to the internet, which goes through the proxy server, you want to add a layer on it saying... [08:44.330 --> 08:56.070] So your request would say going from that PC to target on port 1080, but you want to add a layer above that to say, no, I want to make a connection going to proxy 2 on port 80. [08:56.270 --> 09:11.330] So when that tries to go out into the internet and it goes through that proxy server, all it knows is I need to go through to port 80 on proxy 2. [09:11.550 --> 09:14.810] And I don't know anything good or bad about proxy 2. [09:14.890 --> 09:16.610] So I'm going to let that happen. [09:19.010 --> 09:28.930] Actually, I think initially when we had the WebSense put in, they had no provision for anonymising servers. [09:31.510 --> 09:37.350] So everyone would just go out through anonymising servers, but they soon added that in. [09:37.610 --> 09:51.310] So basically if it's a machine that is unknown by whatever your blocking software is, then there's a guy waving like a maniac at the back of the hall. [09:52.430 --> 09:53.690] Yes, now everyone's looking at you, mate. [09:58.210 --> 09:59.770] Well, it's better than everyone looking at me, I guess. [10:01.850 --> 10:03.330] So what you're... [10:04.590 --> 10:17.750] So as long as that proxy 2 machine is not on a blacklist or on some sort of list that will make it unacceptable to the proxy server, it will have no problem routing that connection. [10:18.170 --> 10:30.850] But then in order to extract the original request from that, you need some sort of service that will cut out that information and know where to then forward that request on. [10:33.330 --> 10:40.990] The reason I say port 80 is because most places will allow you to have web access. [10:44.010 --> 10:47.650] So what can you do with... what can you do this on? [10:47.990 --> 11:00.930] And if we look at HyperTunnel NT, which is the NT version of the GNU HTTP tunnel, there's a client and a server side, if you go back. [11:01.730 --> 11:10.470] As you can see, you need both a wrapper and an unwrapper and a port forwarder. [11:12.670 --> 11:13.710] And the... [11:16.750 --> 11:18.150] You can look at it from the point... [11:18.150 --> 11:34.350] It's a little bit weird because they're probably all running as servers, but from the item making the request on the initial PC, it would be calling a client. [11:35.550 --> 11:37.190] I'm just confusing everyone. [11:37.670 --> 11:54.550] So if you look at it from the internal network's point of view, you can use HyperTunnel NT to create a tunnel... [11:54.550 --> 11:55.290] This... All right, all right. [11:55.430 --> 11:56.290] I'm going to explain this better. [11:59.930 --> 12:00.890] What you're... [12:00.890 --> 12:06.590] What you're wanting to do is to create a tunnel between... [12:06.590 --> 12:06.730] What? [12:07.030 --> 12:09.730] I'll talk about HyperTunnel NT as a software. [12:10.270 --> 12:12.010] I really should have thought this through, shouldn't I? [12:15.900 --> 12:26.660] So in order to have something that will add headers to the top and remove headers at the end, it's got to be one solution, right? [12:26.720 --> 12:31.940] You can't have something at one side that doesn't understand. [12:32.160 --> 12:43.340] Like, if I add my routing information to a HTTP request without something that will pull it out, it's not going to work. [12:44.140 --> 12:52.420] The things that I don't have control of are the proxy server and the client application like MSN Messenger. [12:52.680 --> 12:56.300] So when I'm interacting with MSN Messenger, all I can... [12:56.300 --> 13:06.120] The best I can do is to say, I need to access your server via a proxy server. [13:07.200 --> 13:24.620] Now, if I specify as the proxy server, my real proxy server, it's going to get to that proxy server and then ask that for the end target machine, which is going to be disallowed. [13:25.460 --> 13:50.120] And if I don't have the capability, which I don't have the capability to tell MSN Messenger I want to connect to the server proxy 2, then I need something to take that request, change it to a form that will add this routing information so it can come back down. [13:50.120 --> 14:12.780] So basically we have the client application calling a service to add that routing information that will then make a request to a known proxy 2 server and it will go through that proxy server, which when it receives that request, it will unwrap that and send it to the correct target machine. [14:14.860 --> 14:22.640] So if we see the Messenger client, it connects to... [14:23.860 --> 14:27.460] It connects an HTTP proxy to the local host. [14:28.820 --> 14:36.380] So in order for it to do that, you need some service running on the local host and that's where the tunneling client software comes in. [14:37.820 --> 15:00.360] If you set up the client software to say, I want to be running on a particular port, in this situation it's port 80, I want to route to a particular machine and a particular port and I want to go through a particular proxy. [15:00.360 --> 15:05.620] So if you see the minus P proxy is saying, I want to send... [15:05.920 --> 15:10.320] I want to use this particular proxy and the F is probably forward. [15:10.500 --> 15:15.500] It says, I want to forward requests from port 8000 to proxy 2 on port 80. [15:17.520 --> 15:31.460] So from the proxy's point of view, it receives a request to proxy 2 on port 80 and it has no problem trying to satisfy that. [15:32.780 --> 15:43.700] So on the service side, you need something to receive that request on port 80 on proxy 2 and then know where to forward that on to. [15:43.700 --> 16:01.800] So there is the companion to the tunneling software, which is the tunneling service software, which basically forwards any request on a particular port to another machine on a port on that machine. [16:04.660 --> 16:20.940] So you can see here, if the server is set to forward to this target machine, port 1080, anything that comes in on port 80, it will blindly just send that traffic through. [16:22.040 --> 16:28.560] So I guess the... there's just some things you can look for. [16:30.560 --> 16:32.500] But... I'm missing a slide. [16:36.540 --> 17:05.500] What... what that instinctively tells you is, well, so if I want to run another service, so I want to... as well as Messenger, I want to use Kazaa, hypothetically, then I obviously need that to be running on a different port because all requests from port 80 are going to get routed to the Messenger server. [17:07.520 --> 17:19.180] And that's true to the extent that the way that it's configured, it's just going to blindly send all the connections through. [17:19.760 --> 17:41.080] But if you're running a real proxy server, so we've got a third proxy now, and having all your requests forwarded to a proxy server, then that will be able to deliver any of the requests to the correct location, all coming in from the same port. [17:43.440 --> 17:44.080] G'day. [17:49.660 --> 17:50.940] The client... [17:50.940 --> 17:54.860] Is the client application aware of proxy 2? [17:55.160 --> 17:58.480] The client application, as in MSN Messenger... [17:58.800 --> 17:59.000] Right. [17:59.340 --> 18:00.060] ...is unaware. [18:00.260 --> 18:01.940] Like, because you can't... you can't modify that. [18:01.940 --> 18:04.300] It doesn't even know... [18:04.300 --> 18:06.700] No, it has no knowledge of proxy 2. [18:06.840 --> 18:13.440] So if you look here, the client application thinks that the real proxy server that it's going... [18:13.440 --> 18:19.180] It knows that it's going to the target machine on port 1080. [18:19.680 --> 18:28.160] And it thinks it's going there via a proxy server, which is on the local host at port... 8000? [18:28.440 --> 18:33.400] Port 8000, which is where the tunneling client software is sitting. [18:33.680 --> 18:44.900] So the PC that has the client software on it, that's capturing the client software's packets and wrapping that. [18:45.320 --> 18:47.120] And then sending that to proxy 2, right? [18:47.120 --> 18:47.380] Yes. [18:47.380 --> 18:47.900] Okay. [18:48.280 --> 18:48.980] It is... [18:48.980 --> 18:52.060] In effect, it is an actual HTTP proxy. [18:52.440 --> 19:00.160] So what that would actually do is just receive a request, go through its table of filtering rules, and then forward that on. [19:01.060 --> 19:01.720] And... [19:01.720 --> 19:04.840] But what this is doing is it's reading the request. [19:05.040 --> 19:12.060] It's saying, I'm going to actually put this request into MIME headers or something. [19:12.060 --> 19:23.940] Then I'm going to add my own routing to it, which is saying, I'm going to go to proxy 2 via this proxy, and expect that it's going to get unwrapped correctly. [19:25.820 --> 19:27.220] Do you want to grab the mic? [19:32.860 --> 19:41.760] Have you ever maybe thought about setting up SSH on port 80 on an outside machine, and forwarding a port out for your MSN messenger? [19:41.760 --> 19:43.900] That sounds like an American accent. [19:45.140 --> 19:45.740] No. [19:47.080 --> 19:48.640] I'll get to SSH, yeah. [19:49.080 --> 19:49.260] Thanks. [19:59.390 --> 20:00.330] I've got questions. [20:00.430 --> 20:03.990] How does this apply to captive portal environments where everything is routed through... [20:03.990 --> 20:05.150] Sorry, can you speak a bit slower? [20:05.490 --> 20:05.670] Sure. [20:06.010 --> 20:08.250] How does this apply to captive portal environments? [20:09.150 --> 20:10.370] To what environments? [20:10.710 --> 20:14.350] Captive portal environments where there's no direct route out to the net. [20:14.990 --> 20:18.850] Do you have any advice for feeding restrictions on those? [20:18.850 --> 20:19.970] Did you say captive portal? [20:20.270 --> 20:20.510] Yeah. [20:21.530 --> 20:24.310] I think that's an Americanism that I'm unfamiliar with. [20:24.470 --> 20:30.670] Captive portal being commercial cyber cafes in locations where, unless you pay X amount of dollars... [20:30.670 --> 20:31.630] But the thing is... [20:31.630 --> 20:31.730] Okay. [20:32.930 --> 20:37.290] I'm just curious as to the application for tunneling in that environment. [20:38.350 --> 20:44.010] The difficulty with that is this requires you to have software installed. [20:44.010 --> 20:53.990] And so you really need control over a number of machines in order to wrap and unwrap the routing information. [20:55.130 --> 20:57.230] So it's not... [20:57.230 --> 21:00.010] It's not what... [21:00.010 --> 21:04.340] You can't really achieve this when you have to go through... [21:06.360 --> 21:08.180] When you're in a locked down machine. [21:08.320 --> 21:11.960] It's the same as a lot of environments that have their machines really locked down. [21:12.200 --> 21:14.400] So you can't even install software on them. [21:15.240 --> 21:29.540] And in this situation, if you're in a LAN environment that you have any machine on that network that you can install software on, you can run the client or the server on a different machine as long as it's within the network before it gets to the proxy server, [21:30.220 --> 21:32.740] it's going to successfully go through there. [21:32.940 --> 21:47.860] But in an environment where you have no control over any of the machines in that internal network, there's really a lot more limitations that are put on you that will restrict your ability to get out through a way that they don't want you to. [21:50.880 --> 21:51.920] Holy crap. [21:54.940 --> 21:56.260] Just point to somebody. [22:06.480 --> 22:07.080] Correct. [22:07.500 --> 22:10.320] You can't change the proxy server address. [22:11.860 --> 22:13.500] No, no, no, no, no. [22:15.120 --> 22:21.440] You'd have to have a pretty locked down machine if you can't change the HTTP proxy of MSM messenger. [22:25.770 --> 22:28.270] Yeah, but see, I think you need Active Directory for that. [22:28.270 --> 22:29.850] And in Australia, you know. [22:36.360 --> 22:37.000] Yeah. [22:38.500 --> 22:39.140] Yeah. [22:39.520 --> 22:50.300] So you definitely would need some machine in that network that you have the ability to install something or have something running on. [22:54.800 --> 22:57.860] We've got tech support down here if you have any other questions. [22:57.860 --> 22:59.200] Good reads. [22:59.560 --> 23:00.120] Yeah. [23:03.540 --> 23:03.920] Yeah. [23:04.300 --> 23:27.340] So the fact is, if you're running a web proxy on this proxy machine, then you now have the capability to make any HTTP request request to any location that is not necessarily authorised because from your web proxies, or from your internal proxies point of view, [23:27.660 --> 23:30.420] all you're ever doing is going to that proxy to machine. [23:33.080 --> 23:49.980] Other things that you can do, which I don't know if I've... I don't think I've put down, is you can wrap your HTTP requests in an SSL layer. [23:49.980 --> 23:57.940] So there's things which I really haven't looked into too much because there's other things that give security, which we'll talk about in a minute. [23:58.120 --> 24:13.480] But I think there's like sTunnel, which is basically an SSL wrapper that you can put at a higher level on HTTP tunneling to hide the actual request that you're sending. [24:15.520 --> 24:31.560] The other thing that I guess has kind of been made pretty clear is that you need to have control of or modifiable capabilities of a machine, both in the internal network and on the internet. [24:33.580 --> 24:43.880] So a lot of people will say, well, what happens if there is no dedicated server or server on the internet that I can install software on that's going to be permanently connected? [24:46.120 --> 25:00.300] There are services that you can use that will do port forwarding, but I'd probably say it's not the 1990s anymore. [25:00.300 --> 25:03.280] These are, as my sister likes to say, these are the noughties. [25:05.130 --> 25:10.460] And if you don't have broadband, then we've got broadband in Australia. [25:10.620 --> 25:15.940] So if you don't have it in America, then, you know, it's something. [25:16.100 --> 25:22.480] I mean, the other thing you can do, so my solution is to either use a service, get broadband or make a friend. [25:24.580 --> 25:34.780] Because, you know, if you have this proxy server, other people can still use that to route their information. [25:35.160 --> 25:37.660] So actually, I think that's the best solution, make a friend. [25:39.480 --> 25:45.980] Particularly because if you find a chick with broadband, then half the job's done for you. [25:51.560 --> 25:52.640] Where do we go from here? [25:53.240 --> 25:59.140] So yeah, Hubs is one of the services that I've seen, Hub Tunnel, S Tunnel, and Proxy, whatever. [26:01.940 --> 26:06.720] So, the next thing that you... that I wanted to achieve was to get in. [26:06.720 --> 26:10.460] So I wanted to have, like, VNC access to my machine from home. [26:12.440 --> 26:14.400] And I wanted to utilize my broadband. [26:14.600 --> 26:26.120] So the options that were given to me from my organization was to either dial in on a modem, which I told them, this is the noughties. [26:28.420 --> 26:29.980] And they didn't understand. [26:30.280 --> 26:34.400] So I... I mean, I'm paying for broadband. [26:34.600 --> 26:35.080] I want to utilize. [26:35.080 --> 26:40.080] I don't want to be, you know, restricted to dial up delays. [26:41.420 --> 26:43.760] Or they had a VPN client. [26:46.380 --> 27:01.380] And I don't know if it's just us or if it's pretty universal, but my biggest problems with VPN clients were, A, you had to run Windows, which wasn't a terrible, like, issue for me because I might always have a machine running Windows. [27:02.060 --> 27:04.160] I just like to make a complaint about it. [27:05.500 --> 27:09.100] And also, it seemed to hijack my internet connection. [27:09.380 --> 27:13.680] So I don't know if that is intrinsic of Cisco VPN or whatever. [27:14.400 --> 27:21.120] But everything was then going through that VPN link. [27:21.120 --> 27:24.700] Like, any internet connection was going through that VPN link. [27:24.920 --> 27:28.960] So even things like... [27:29.440 --> 27:34.800] The other good thing about living in Australia is we have to hack our TiVos to get them to work. [27:35.580 --> 27:39.660] So my TiVo uses the internet to get its TV guide data. [27:39.900 --> 27:43.460] And I couldn't get that through the VPN link. [27:43.460 --> 27:47.200] So that was enough for me to say I can't use the VPN. [27:48.200 --> 27:48.660] Sorry. [27:49.180 --> 27:52.260] Yeah, I just wanted to point out the reason why... [27:53.460 --> 28:01.920] I just wanted to point out the reason why it cuts your ability to connect outside of the network is because if it didn't, then there's the potential that your box could become a router. [28:02.280 --> 28:02.640] Yeah. [28:02.740 --> 28:08.500] And you'd be able to route from the public internet into your corporate network without any controls on it. [28:09.400 --> 28:10.600] It's still a pain in the ass, though. [28:12.100 --> 28:12.420] Yeah. [28:19.880 --> 28:21.880] I think you have to sit over here with the tech support guys. [28:25.080 --> 28:25.400] Yeah. [28:25.800 --> 28:32.940] I mean, like I say, it may make sense and it may be great, but there's probably situations where it's not going to be the right thing for you. [28:33.920 --> 28:35.580] Or the right thing for me, which is more important. [28:37.720 --> 28:48.760] So what I wanted to do was to basically establish a direct connection from home PC to a machine within our internal network. [28:50.160 --> 28:52.640] Unfortunately, what we have is... [28:53.940 --> 28:55.000] I can't see it. [28:55.380 --> 28:56.280] Does that look like bricks? [28:58.220 --> 28:58.840] Yeah. [29:00.560 --> 29:04.200] I made so much effort to make it look like an actual wall, but anyway. [29:05.940 --> 29:07.860] I coloured in every brick. [29:10.260 --> 29:18.740] So what the firewall is restricting us to is access out, but no accessing... [29:18.740 --> 29:22.760] I mean, this is kind of rubbish because, I mean, it's... [29:22.760 --> 29:24.420] You know, NAT is what... [29:24.420 --> 29:25.360] We don't even have real IP. [29:26.580 --> 29:31.100] It's conceptual rather than reality before, you know, tech support guys jump in and say, hey, guys. [29:32.840 --> 29:39.260] So what I wanted to do is kind of establish a unidirectional link because I know that I can go out through the firewall. [29:39.680 --> 29:45.000] If I can keep that link open and then use that as a unidirectional link, then I shouldn't be... [29:45.000 --> 29:50.120] I shouldn't have a problem either talking from one to the other or the other to one. [29:50.920 --> 29:54.540] And that's when you get to the wonderful world of SSH. [29:56.780 --> 29:59.160] It kind of does everything that you want. [30:02.080 --> 30:02.560] That... [30:04.080 --> 30:04.840] If you... [30:04.840 --> 30:08.560] Again, if you have port restrictions, you might want to run SSH on a different port. [30:09.460 --> 30:09.800] But... [30:10.260 --> 30:13.220] So, for example, I have it running here. [30:13.520 --> 30:15.900] Here on my PowerPoint presentation. [30:16.160 --> 30:17.240] I'm running SSH. [30:17.840 --> 30:19.020] I'm port 8000. [30:19.980 --> 30:23.880] Because that's an acceptable port through our firewall. [30:25.080 --> 30:25.680] So... [30:27.440 --> 30:30.880] The saying that I want to... [30:31.560 --> 30:32.160] From... [30:32.160 --> 30:34.120] So I have to initiate it from the target machine. [30:34.660 --> 30:41.220] The target machine inside the network, obviously, because that's the only place that can break through the firewall and make a connection. [30:41.560 --> 30:50.280] So you have to run the SSH server on what is actually the requesting machine from your point of view. [30:50.960 --> 30:51.380] But... [30:51.380 --> 30:54.620] From the SSH's point of view, it's the other way around. [30:55.340 --> 30:55.860] So... [30:55.860 --> 30:57.360] If you... [30:57.360 --> 30:59.320] Run SSH... [30:59.320 --> 31:01.820] As a server... [31:01.820 --> 31:02.500] On... [31:02.500 --> 31:03.460] Your... [31:03.460 --> 31:04.160] Home machine. [31:04.800 --> 31:05.720] And then... [31:05.720 --> 31:09.240] When you're at work, you run the SSH client... [31:09.240 --> 31:10.920] To connect to that server. [31:11.280 --> 31:13.180] You can say that... [31:13.180 --> 31:14.960] I also want to... [31:14.960 --> 31:16.980] Start redirecting ports. [31:18.360 --> 31:19.000] So... [31:19.000 --> 31:20.980] What you have here is... [31:21.500 --> 31:22.200] The... [31:22.200 --> 31:25.100] Minus P8000 says, I want to connect to... [31:25.100 --> 31:30.920] Port 8000 on the target machine, which is actually the last bit, which is the PC. [31:31.680 --> 31:33.160] The minus R is... [31:33.160 --> 31:35.620] It says, I want to set up a remote... [31:36.340 --> 31:38.360] Remote port forwarding. [31:39.160 --> 31:41.560] And it says that... [31:42.500 --> 31:43.140] On... [31:43.140 --> 31:43.700] The... [31:43.700 --> 31:46.000] Port 5900... [31:49.240 --> 31:49.640] Sorry. [31:49.960 --> 31:51.480] I want to redirect... [31:51.480 --> 31:53.300] Port 5900... [31:53.300 --> 31:53.860] On... [31:53.860 --> 31:55.120] The target machine... [31:55.120 --> 31:55.920] To... [31:55.920 --> 31:56.620] Local hosts... [31:56.620 --> 31:57.220] Port 5900. [31:59.120 --> 31:59.520] So... [31:59.980 --> 32:02.460] It could have been clearer if I gave them different port numbers, but... [32:02.460 --> 32:03.000] You know... [32:03.000 --> 32:03.440] What are you going to do? [32:03.440 --> 32:04.440] So... [32:05.780 --> 32:14.960] After executing that command, you have made a shell connection to your PC. [32:16.560 --> 32:24.460] And also have a listening port 5900 on your target machine. [32:24.640 --> 32:27.880] So your work machine is listening on port 5900. [32:29.020 --> 32:33.680] But whenever I make a connection to it, what SSH will do... [32:33.680 --> 32:35.980] It will send that... [32:35.980 --> 32:38.040] All that request or whatever... [32:38.040 --> 32:39.960] Whatever that connection data is... [32:39.960 --> 32:42.520] It will send that through SSH back to your PC. [32:42.980 --> 32:44.720] Make a connection to... [32:44.720 --> 32:47.940] Whatever you have outlined there, which is local host 5900. [32:48.480 --> 32:49.000] Make it... [32:49.000 --> 32:50.920] Open a connection to local host 5900. [32:50.920 --> 32:53.040] And then forward all that data on. [32:53.820 --> 33:01.120] So in fact, you could have a second machine at home. [33:02.960 --> 33:09.280] And have the SSH connection coming through to the local host on the target machine. [33:09.460 --> 33:14.940] Going to a totally different machine from your PC. [33:17.830 --> 33:19.090] So what else do we have? [33:19.570 --> 33:20.090] So... [33:20.930 --> 33:24.110] Along with remote forwarding, you can do local forwarding. [33:24.250 --> 33:25.270] Which means... [33:25.270 --> 33:26.670] I guess it's the opposite. [33:27.370 --> 33:28.010] So... [33:28.010 --> 33:29.310] Any requests... [33:29.310 --> 33:36.510] So that would tell the SSH server to open up a service on a particular port. [33:36.510 --> 33:46.330] And any requests that you get from there will get forwarded back through the SSH tunnel to the client side. [33:46.970 --> 33:49.490] It's just the opposite of the remote forwarding. [33:50.370 --> 33:53.390] And you can say, I want to forward this through a proxy. [33:55.370 --> 33:55.990] So... [34:00.950 --> 34:01.570] Okay. [34:02.810 --> 34:08.710] So that basically gives you the capability to then have... [34:08.710 --> 34:14.690] And any service that you have running on either machine, think that it's running locally. [34:14.990 --> 34:20.390] But in fact, it's running on another machine at the other end of the tunnel. [34:21.470 --> 34:22.110] So... [34:22.110 --> 34:43.570] If I want to run VNC into my machine at work, with this setup on my PC, which is running the server, I connect to local host 5900, and it thinks that... [34:43.570 --> 34:47.050] Well, from VNC's point of view, it thinks that it's just connected to the local machine. [34:47.050 --> 34:59.670] But that will go through and actually pull out all the data that gets returned from a connection being made to the port 5900 on the target machine, which is the machine at work. [34:59.850 --> 35:02.470] So in effect, what I get is my desktop at work. [35:02.650 --> 35:05.610] Which freaks people out when they're in the office next to my desk. [35:08.570 --> 35:09.170] So... [35:09.790 --> 35:12.290] What can we do combining these technologies? [35:13.810 --> 35:15.410] There is no ultimate solution. [35:16.390 --> 35:16.990] There... [35:16.990 --> 35:19.870] It's always going to be dependent on... [35:19.870 --> 35:20.950] There you go. [35:21.070 --> 35:22.590] Goals, means, and level of paranoia. [35:23.210 --> 35:23.810] So... [35:23.810 --> 35:39.710] If you don't have access to a dedicated machine, or an always-on machine on the internet, then you're going to have a lot of difficulty doing any of this that's not provided by some third party service. [35:41.050 --> 35:53.790] If you think that the sysadmins are reading all the IP packets coming from your machine at work, which is quite possible, then you might want to wrap everything up in SSL. [35:54.710 --> 35:58.450] And you can, like I say, you can combine all these technologies. [35:58.710 --> 36:07.390] So you can run SSH through a HTTP tunnel through encrypted with SSL. [36:07.550 --> 36:12.250] But, of course, every layer that you add is going to add to resources and overheads. [36:12.590 --> 36:20.390] And so you need to find a balance between, I guess, your requirements and your situation. [36:21.130 --> 36:21.450] And... [36:24.090 --> 36:25.570] Excuse me, we're not finished yet. [36:26.110 --> 36:27.410] If you'd like to come back in. [36:29.510 --> 36:32.090] I can't believe that no one has, like, ever... [36:32.090 --> 36:36.230] Well, none of the talks that I've been to anyway, no one has said, Hey, where do you think you're going? [36:37.650 --> 36:39.470] Maybe it's an Australian thing, I don't know, but, you know. [36:41.690 --> 36:44.090] But then if someone comes in, do you say, Hey, where do you think you're coming? [36:44.630 --> 36:45.250] I don't know. [36:47.970 --> 36:55.750] So, as an example, I'll talk about the situation that I would have if I, if my company let me do this. [36:58.010 --> 37:00.430] Or if I, if they knew that... [37:00.430 --> 37:02.050] Well, how can I... [37:02.050 --> 37:02.230] Yeah. [37:03.350 --> 37:03.890] No, no. [37:04.290 --> 37:04.810] If... [37:04.810 --> 37:05.770] Well... [37:05.770 --> 37:06.090] Yes. [37:06.290 --> 37:12.270] Hypothetical situation, if there was a company that had maybe 8,000 people, and it was a programmer who worked for them. [37:14.130 --> 37:14.530] Yeah. [37:15.370 --> 37:15.770] That's... [37:16.510 --> 37:19.170] It's a little bit different there, because the water swells the other way. [37:20.250 --> 37:22.010] So, it might not be applicable to you. [37:23.270 --> 37:23.670] But... [37:26.230 --> 37:27.190] We have... [37:28.010 --> 37:28.490] Okay. [37:28.830 --> 37:34.190] The other thing you need to know is, because I'm a programmer, quite often I make solutions rather than find solutions. [37:37.470 --> 37:43.690] So, people who say you shouldn't reinvent the wheel, they obviously don't know how good the wheel could get. [37:43.690 --> 37:44.250] But... [37:47.350 --> 37:51.150] So, we have the restriction of only being able to go out through port 80. [37:51.950 --> 37:52.490] And... [37:52.490 --> 37:57.530] My problem is that I'm on machines at home. [37:58.190 --> 38:01.910] I have a few different things that I want to have access to. [38:02.930 --> 38:03.470] And... [38:06.130 --> 38:06.940] I can't... [38:07.250 --> 38:09.770] Because I've only got access to one port, I need to... [38:09.770 --> 38:13.850] I need to have some way of then selecting what I want. [38:14.030 --> 38:20.670] So, I've kind of written a port redirector. [38:20.830 --> 38:21.950] So, it will come... [38:21.950 --> 38:24.670] It will accept connections in on port 80. [38:25.250 --> 38:30.490] And then, reading the first line from the client will decide what to do with it. [38:33.450 --> 38:38.170] So, you can, in effect, pick out hosted... [38:38.170 --> 38:39.570] Like, HTTP requests are pretty easy. [38:39.570 --> 38:40.510] Because I've got... [38:40.510 --> 38:42.250] Like, my TWA has got a web server. [38:42.530 --> 38:44.890] And, like, I've got a couple of other web servers that... [38:44.890 --> 38:47.770] Yeah, I can read host headers and decide which servers to send that off to. [38:49.670 --> 38:50.070] Things... [38:50.070 --> 38:54.790] Some things like VNC you need to modify because the client doesn't send anything initially. [38:56.930 --> 38:57.550] So, anyway. [38:57.710 --> 38:59.270] What I was trying to say is... [39:00.390 --> 39:05.290] The fact that everything has to go out through port 80... [39:05.290 --> 39:17.650] Kind of wasn't a problem because I had the capability to identify that this request is a web request or an FTP request or whatever request. [39:18.230 --> 39:24.610] And redistribute that to whatever local service is running without worrying. [39:24.610 --> 39:41.410] So, in order to satisfy my goals, which was bypass web sense blocking and to bypass the port filtering and to VNC to my computer from home. [39:42.790 --> 39:53.210] All I've done is added SSH to my client, my machine at work to connect to my local machine on port 80. [39:54.210 --> 39:57.690] Which gets redirected to a different port internally. [39:59.230 --> 40:02.530] With some forwarding or two way forwarding. [40:02.890 --> 40:04.830] So, I can come back and forwards. [40:06.610 --> 40:07.010] The... [40:07.850 --> 40:10.690] Things that I've found with SSH... [40:11.850 --> 40:12.490] Well... [40:12.490 --> 40:20.950] One of the problems I have is that I want to be able to from either side reboot the machine and have it come back automatically. [40:21.230 --> 40:22.650] Have that link come back automatically. [40:22.650 --> 40:40.150] And if I have created an SSH connection from my work computer to my home computer, and I reboot my home computer, that SSH connection doesn't realise it's no longer available until you try and send some data through it. [40:42.750 --> 40:44.810] So, I have... [40:45.750 --> 40:57.550] Because I have that port forwarding, I then have another automated program that just tries to access local host port whatever, which is actually going through the tunnel. [40:58.190 --> 41:06.630] And the minute it decides that it can't put anything through, it will realise that tunnel is no longer available. [41:06.910 --> 41:09.350] And it will close that application. [41:09.710 --> 41:15.650] So, I've got like a few scheduled jobs that will try and re-establish this if it doesn't exist. [41:15.650 --> 41:20.230] And it will... [41:20.230 --> 41:21.010] You know... [41:21.350 --> 41:37.090] You don't really care about nuts and bolts, but basically it can allow you to reboot either machine and have that connection coming back up through the wonders of Windows automated logging. [41:39.850 --> 41:43.450] So, I think that's the hints and tips act as well. [41:44.530 --> 41:48.430] So, finally, your responsibilities. [41:48.870 --> 41:56.510] So, some people say that if you are now opening up another way of people entering in your corporate network, it's a bad thing. [41:57.330 --> 42:10.010] And I think you should take it as a challenge in saying that I understand that I'm compromising the security of my organisation, but I feel personally that, like, my little... [42:11.030 --> 42:13.730] whatever type of computer you have is... [42:13.730 --> 42:21.650] got better security than the PICs and the Cisco routers that these guys have spent $20,000 on. [42:22.310 --> 42:27.650] And that can be attributed to the fact that I've decided to change the admin password. [42:28.670 --> 42:40.190] So, I mean, I think that to a certain extent you have the responsibility of realising that you're potentially compromising your corporate network. [42:40.190 --> 42:46.610] Because if someone has access to your machine, then they can come in through there to your corporate network. [42:46.910 --> 42:55.670] And it's probably worthwhile deciding whether, you know, you can handle that responsibility or not. [42:57.390 --> 43:08.250] But, like I say, if you're conscious of it, then you probably will be conscious of other things in security. [43:08.430 --> 43:09.010] So, you'll be alright. [43:10.690 --> 43:22.810] Speaking of which, because I have all, again, connections coming in through Port 80, I have some interesting requests coming in. [43:22.950 --> 43:23.710] It's really funny. [43:24.010 --> 43:31.050] I watch the trends of web attack scripts as they sort of filter through the country. [43:31.110 --> 43:35.470] Because I'm on, like, one of the major ISP networks. [43:36.390 --> 43:39.370] And, I don't know, I think people just go through their IP ranges. [43:40.610 --> 43:49.470] And, I know, I've got certain things that will, if people are requesting CMD.EXE, slash, SLI, slash, blah, blah, blah, blah, blah. [43:49.870 --> 43:58.030] Then, I, well, back in the early days when I was less mature, I'd DOS them. [43:58.030 --> 44:04.010] But, that's, it's just interesting to see. [44:04.370 --> 44:10.370] Nowadays, what they do is they give you, like, like, 4,000 null characters and something. [44:10.530 --> 44:11.890] And, they think that that's going to do something. [44:12.150 --> 44:12.650] But, yeah. [44:12.970 --> 44:28.810] So, if you are running a Windows machine with, you know, I and internet, IIS, and, you know, you don't want to go to Windows Update, because it says you've got, like, 46 things to download. [44:29.030 --> 44:31.850] And, you think, ah, I can't be bothered downloading all that stuff. [44:32.090 --> 44:37.310] Then, you probably shouldn't be, additionally, opening up a connection to your corporate network. [44:40.970 --> 44:41.330] Yeah. [44:41.670 --> 44:43.930] And, that's, I think, pretty much all I have to say. [44:47.470 --> 44:49.270] So, we've got some... [44:51.410 --> 44:53.590] Is there anyone who is too scared to jump in in the middle? [44:55.150 --> 44:57.070] There's a, there's a guy, [45:04.670 --> 45:07.090] speak with an Australian accent. [45:07.210 --> 45:10.010] Maybe people with questions might want to come up, queue up or something. [45:10.710 --> 45:11.330] It might be easier. [45:15.710 --> 45:16.310] Thanks a lot. [45:16.810 --> 45:19.250] Um, I just want to clarify for the guy who was over here. [45:20.550 --> 45:23.870] About the, ah, excuse me, Captive Portal. [45:25.070 --> 45:26.250] The Captain Portal? [45:26.530 --> 45:27.310] Captive Portal. [45:27.390 --> 45:27.930] Captive Portal. [45:29.050 --> 45:33.110] Yeah, like, um, I've set up a few, like, Netcat and that. [45:33.810 --> 45:37.650] What it actually does is, um, places like Starbucks use it. [45:38.470 --> 45:45.410] And, ah, what happens is when you try to go to any website, it first, like, ah, redirects you to their page or whatever. [45:46.230 --> 45:49.630] So, um, you can log in or sign up for their service or whatever. [45:50.390 --> 45:53.450] Um, so really, yours would still be able to work through it. [45:53.870 --> 45:56.330] Um, cause like, in Wi-Fi networks, you can bring your own laptops. [45:57.230 --> 45:58.850] Oh, you're just talking about a hotspot? [45:58.990 --> 45:59.970] You're not talking about terminals? [46:00.550 --> 46:02.990] Yeah, cause, cause like, hotspots use this technology. [46:03.290 --> 46:04.030] They use that. [46:04.530 --> 46:04.830] Ah, if it's hotspot. [46:05.710 --> 46:06.070] Yeah. [46:07.590 --> 46:08.030] No, no, no. [46:08.030 --> 46:11.650] Like, web portal is the proxy. [46:11.950 --> 46:13.950] It's the same situation that you're talking about. [46:14.090 --> 46:14.270] Yeah. [46:14.270 --> 46:15.030] If you have your own machine... [46:15.810 --> 46:16.130] Oh, yeah. [46:16.270 --> 46:18.070] If you bring a laptop into somewhere with a hotspot... [46:18.550 --> 46:21.210] A captive portal isn't really a proxy at all. [46:21.790 --> 46:21.990] Yeah. [46:22.210 --> 46:28.050] But your system, you can, like, cause what happens is once you log in, you have a valid session and your traffic goes through like normal. [46:28.430 --> 46:28.750] Yeah. [46:29.110 --> 46:31.070] So then you can use a regular proxy. [46:32.590 --> 46:33.610] Is that guy still here? [46:33.750 --> 46:34.130] Does he understand? [46:34.290 --> 46:34.430] Yeah. [46:34.430 --> 46:34.510] Yeah. [46:35.170 --> 46:35.630] Yeah. [46:35.770 --> 46:39.100] I think he's funny to use the... [46:43.400 --> 46:44.580] They don't block... [46:44.580 --> 46:47.080] They don't block once you log on. [46:47.680 --> 46:48.620] They block him. [46:50.100 --> 46:56.730] And also on the VPN, it's none of that actually. [46:56.910 --> 47:00.350] They actually just like stop your session to any site before you log in. [47:00.610 --> 47:03.390] And then once you log in, you have a valid pipe. [47:03.390 --> 47:04.350] It's sort of like... [47:04.950 --> 47:05.870] Sort of like EAP. [47:06.010 --> 47:06.470] Or not EAP. [47:07.230 --> 47:08.110] 802.1x. [47:09.550 --> 47:12.970] Where once you have that valid session, they let everything go through like normal. [47:13.150 --> 47:14.710] Based on your Mac address sometimes. [47:15.410 --> 47:15.670] Yes. [47:15.930 --> 47:16.250] Yep. [47:16.550 --> 47:19.930] Although the active portals don't base it solely on that. [47:19.990 --> 47:21.490] They also have the pop-up window. [47:22.330 --> 47:25.010] And weird things happen if you actually like open up TCP dump. [47:25.330 --> 47:29.810] You can watch these weird things like they'll ping each other and just do other weird stuff. [47:29.930 --> 47:30.130] It's cool. [47:30.310 --> 47:31.370] It's interesting to look at. [47:33.390 --> 47:34.470] And also the VPN. [47:34.470 --> 47:46.370] I was thinking if you really want to get it so that you could still go with different connections with the VPN, what you could probably do is get two network cards and configure advanced routing. [47:47.190 --> 47:47.990] So that... [47:48.730 --> 47:50.470] Like for the TiVo maybe. [47:51.370 --> 47:52.410] If you knew... [47:52.890 --> 48:00.810] If it always went to the same DNS name or IP address for the TV Guide stuff, you could set it to route... [48:00.810 --> 48:02.450] I don't know if that's what you were talking about. [48:02.570 --> 48:03.550] With the VPN, was it... [48:03.550 --> 48:04.090] What was it on? [48:04.450 --> 48:05.650] Was it for the TiVo or what? [48:06.670 --> 48:07.030] Well... [48:07.670 --> 48:09.470] It doesn't really matter, but like, yeah. [48:10.010 --> 48:10.370] But... [48:10.370 --> 48:11.070] Because... [48:11.730 --> 48:12.090] Because... [48:12.090 --> 48:13.510] With ADSL... [48:13.510 --> 48:14.390] I think... [48:14.390 --> 48:17.070] I don't know if it's going to be different with a router, but like... [48:19.070 --> 48:19.790] It's just... [48:19.790 --> 48:20.410] Taking... [48:20.410 --> 48:24.050] Any time you establish one connection, it seems to be hijacking that whole connection. [48:24.330 --> 48:24.470] Yeah. [48:24.590 --> 48:25.650] Well, that's basically... [48:25.650 --> 48:26.990] Because that's usually what a VPN is for. [48:27.110 --> 48:29.210] So that all traffic goes through that until you tear it down. [48:30.110 --> 48:33.210] But you could configure advanced routing so that only certain traffic... [48:33.210 --> 48:34.270] Not certain traffic, but... [48:34.270 --> 48:36.970] Certain traffic to a certain destination goes through the VPN. [48:38.450 --> 48:38.810] But... [48:38.810 --> 48:38.930] If... [48:38.930 --> 48:39.070] If... [48:39.070 --> 48:39.450] If... [48:39.450 --> 48:43.650] If when you establish a VPN, on Windows, open a command prompt or on Linux, open a shell. [48:44.230 --> 48:46.450] And just type route print or route on Linux. [48:46.690 --> 48:47.910] And it'll show you your routing table. [48:48.510 --> 48:51.510] And then, you know, you could set up advanced tables from there. [48:51.770 --> 48:51.910] Yeah. [48:51.910 --> 48:52.630] And where it should go. [48:53.650 --> 48:54.830] So that was just an idea. [48:55.330 --> 48:55.670] Well, thanks. [49:01.070 --> 49:02.230] I just got something for everyone. [49:02.230 --> 49:03.890] I don't know what everyone else uses. [49:03.890 --> 49:04.530] Turn around and... [49:04.530 --> 49:04.950] I'll let everyone... [49:04.950 --> 49:05.630] For port forwarding. [49:05.730 --> 49:10.090] But I use SSH-D for dynamic SOX 4 proxy. [49:10.270 --> 49:11.410] I don't know if anyone else uses that. [49:11.550 --> 49:15.270] But that'll just set up a dynamic SOX 4 proxy from your... [49:15.270 --> 49:17.270] On the loopback interface of your system at work. [49:17.630 --> 49:20.550] And then go to your remote system if it supports SSH. [49:20.830 --> 49:22.210] And PuTTY supports that. [49:22.370 --> 49:23.270] So that's what I use. [49:23.350 --> 49:26.570] Because it forwards all ports that I have that I want to use, et cetera. [49:26.570 --> 49:27.950] So, I don't know. [49:28.030 --> 49:30.450] That's capital D with the port number you want to forward. [49:32.110 --> 49:32.470] Nice. [49:38.140 --> 49:41.460] Do you know of a way to do multiple ports? [49:42.260 --> 49:42.780] Oh, sorry. [49:42.840 --> 49:42.960] Yeah. [49:43.060 --> 49:44.400] You can put as many as you want. [49:44.540 --> 49:47.680] So you can say minus F blah, minus F blah, minus F blah. [49:47.820 --> 49:47.940] Yeah. [49:48.020 --> 49:49.100] Minus R blah, minus R blah. [49:49.540 --> 49:50.020] Or L blah. [49:50.200 --> 49:50.480] Yeah, yeah. [49:50.480 --> 49:58.020] So it'll start out multiple ports and there's no problem with the client using one PC and one PC on the other side of the firewall to do multiple ports with that. [49:58.320 --> 49:58.500] Yeah. [49:59.040 --> 49:59.280] Sweet. [49:59.940 --> 50:01.480] The other thing I was going to include... [50:02.760 --> 50:03.240] Actually... [50:03.240 --> 50:03.520] Yeah, sorry. [50:03.720 --> 50:19.680] Being that it's SSH, if you did your web traffic, your port 80 traffic through the SSL to the administrators of your company, it would look a lot less suspicious encrypted data running over that port as opposed to port 80. [50:19.680 --> 50:20.360] Yeah. [50:20.840 --> 50:32.840] And the thing is, like, when they see suddenly, like, you are going to this one machine all the time, I mean, they're going to think there's a lot of great porn on that machine, right? [50:33.000 --> 50:34.100] I mean... [50:34.100 --> 50:34.180] Yeah. [50:34.200 --> 50:36.040] Like, it... [50:37.480 --> 50:45.960] The other thing you want to do is to establish a relationship with the network guys so that they don't look at you too, like, carefully. [50:47.080 --> 50:48.780] Or the help desk guys down front here. [50:48.780 --> 50:48.800] Yeah. [50:49.000 --> 50:49.720] We could probably do... [50:49.720 --> 50:50.980] We could probably do one more question. [50:51.680 --> 50:51.740] Yeah. [50:56.170 --> 50:56.570] Just... [50:56.570 --> 50:58.750] Have you ever gotten caught doing this? [50:59.470 --> 51:00.770] And gotten in trouble for it? [51:01.530 --> 51:01.930] So... [51:01.930 --> 51:04.410] You need to establish a good relationship with the network guys. [51:08.390 --> 51:16.870] Like I say, like, I haven't, but I established a good relationship with the network guys. [51:17.810 --> 51:22.730] It's purely a matter of gauging the culture of the place. [51:23.970 --> 51:32.330] And, you know, if you think that they're going to kick your ass, then you identify whether that risk is worth downloading porn. [51:34.010 --> 51:34.430] So... [51:34.430 --> 51:36.570] Because, like, that's all the internet's for, right? [51:36.990 --> 51:39.530] That's what my mum reckons anyway, so it's got to be true. [51:40.750 --> 51:41.410] Right. [51:43.990 --> 51:45.330] Well, I think that's it. [51:45.810 --> 51:46.570] Thanks, guys. [51:46.570 --> 51:46.590] Thank you, guys. [51:46.630 --> 51:46.710] Thanks, guys. [51:47.390 --> 51:47.550] Now, thank you.