<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Daniel Milnes' Blog]]></title><description><![CDATA[Ramblings of an Infosec Idiot]]></description><link>https://blog.daniel-milnes.uk/</link><image><url>https://blog.daniel-milnes.uk/favicon.png</url><title>Daniel Milnes&apos; Blog</title><link>https://blog.daniel-milnes.uk/</link></image><generator>Ghost 4.18</generator><lastBuildDate>Thu, 12 Mar 2026 01:39:27 GMT</lastBuildDate><atom:link href="https://blog.daniel-milnes.uk/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[HSTS For Forensics: You Can Run, But You Can't Use HTTP]]></title><description><![CDATA[HTTP Strict Transport Security (HSTS) is a great tool for website administrators to ensure their site is only accessed over encrypted channels. But does it have any digital forensics applications?]]></description><link>https://blog.daniel-milnes.uk/hsts-for-forensics-you-can-run-but-you-cant/</link><guid isPermaLink="false">6164c324d0c6870e761c525e</guid><category><![CDATA[DFIR]]></category><dc:creator><![CDATA[Daniel Milnes]]></dc:creator><pubDate>Sun, 10 Nov 2019 14:37:28 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1486312338219-ce68d2c6f44d?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1486312338219-ce68d2c6f44d?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" alt="HSTS For Forensics: You Can Run, But You Can&apos;t Use HTTP"><p>First, for those of you who don&apos;t know, let me explain how HSTS works. HSTS is a HTTP header which a web server can send to tell a client that they should not accept unencrypted communications from that domain for a specified period of time. Developers can also <a href="https://hstspreload.org">preload</a> their websites so that the browser knows that it should use HTTPS for its first communication.</p><figure class="kg-card kg-code-card"><pre><code>strict-transport-security: max-age=31536000; includeSubDomains; preload</code></pre><figcaption>Example HSTS header</figcaption></figure><p>However, for this to work it must be writing to disk somewhere, and that means forensic artefacts! So I set out hunting for them and very quickly had the usual series of revelations that come with a project like this; &quot;This seems really easy, why has no one done it before&quot; &quot;Oh... that&apos;s why...&quot;.</p><p>Before I go any further, I should note something very important. Like any browser cache artefact, a HSTS database record <strong>does not</strong> prove that the user deliberately browsed to that website, simply that the browser interacted with it.</p><h1 id="firefox">Firefox</h1><p>Let&apos;s start with Firefox, given that it&apos;s the simplest of the browsers to analyse. Firefox writes its HSTS database to a file called <code>SiteSecurityServiceState.txt</code> within the user&apos;s Firefox profile (<code>%APPDATA%\Mozilla\Firefox\Profiles\</code> on Windows), but unlike most Firefox artefacts, it&apos;s not an SQLite file, but a plain text tab-separated table.</p><figure class="kg-card kg-code-card"><pre><code>blog.daniel-milnes.uk:HSTS	0	18207	1604684330099,1,1,2
</code></pre><figcaption>Example entry</figcaption></figure><p>Let&apos;s break this down:</p><p><code>blog.daniel-milnes.uk</code> - The domain in question.</p><p><code>:HSTS</code> - This file is also used to store HPKP records, so this distinguishes the record as HSTS.</p><p><code>0</code> - The number of visits. Note: In my testing I found the behaviour of this field to be very unreliable, so I would caution against treating it as forensically sound.</p><p><code>18207</code> - The number of days since the Unix Epoch that the page was last accessed.</p><p><code>1604684330099</code> - The number of milliseconds after the Unix Epoch that this record expires.</p><p><code>1</code> &#xA0;- The Security Policy State. <code>0</code> meaning unset, <code>1</code> meaning set, <code>2</code> meaning knockout, and <code>3</code> meaning negative.</p><p><code>1</code> &#xA0;- Should subdomains be included? <code>1</code> means yes, <code>0</code> means no.</p><p><code>2</code> - The Firefox source code calls this <code>source</code>, but in my testing I was never able to get it to produce any value other than <code>2</code>, including sites with and without preload.</p><p>Firefox does not consider this file to be history, so clearing history will not remove it, but it does consider it a Site Preference.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/11/image-1.png" class="kg-image" alt="HSTS For Forensics: You Can Run, But You Can&apos;t Use HTTP" loading="lazy"><figcaption>Clean up the HSTS database</figcaption></figure><p>The database is not written until Firefox is closed, meaning that a live disk capture may prove incomplete. This also applies to Tor browser, as it is based on the Firefox source code.</p><h1 id="chrome">Chrome</h1><p>Google Chrome proved to be a much harder beast to tame when it came to actually finding where the HSTS database is on disk, but after resorting to the tried and true DFIR method of crossing your fingers and using <code>diff</code>, I eventually found <code>%LOCALAPPDATA%\Google\Chrome\User Data\TransportSecurity</code>, a JSON file (despite the lack of the extension) containing the database.</p><figure class="kg-card kg-code-card"><pre><code class="language-json">&quot;+2oHxdIbjeDrXH6buN8LtFwdxx7XuvmXd+B47y9TQIM=&quot;: {
   &quot;expiry&quot;: 1599899783.19529,
   &quot;mode&quot;: &quot;force-https&quot;,
   &quot;sts_include_subdomains&quot;: false,
   &quot;sts_observed&quot;: 1568363783.195293
}</code></pre><figcaption>Example entry</figcaption></figure><p>That doesn&apos;t exactly look like a domain, does it? Well I went digging in the Chromium source, and my heart sank when I saw this:</p><figure class="kg-card kg-code-card"><pre><code class="language-cpp">// This inverts |HashedDomainToExternalString|, above. It turns an external
// string (from a JSON file) into an internal (binary) string.
std::string ExternalStringToHashedDomain(const std::string&amp; external) {
  std::string out;
  if (!base::Base64Decode(external, &amp;out) ||
      out.size() != crypto::kSHA256Length) {
    return std::string();
  }

  return out;
}</code></pre><figcaption><a href="https://github.com/chromium/chromium/blob/a3ac342af76d924e7cf083ca163e01470417fa2a/net/http/transport_security_persister.cc#L38-L48">Source</a></figcaption></figure><p>Yep. Chrome stores in the format Domain &#x2192; Replace <code>.</code> with hex showing distance to next <code>.</code> &#x2192; Add null terminator &#x2192; SHA256 &#x2192; Base64, meaning that the process would go <code>blog.daniel-milnes.uk</code> &#xA0;&#x2192; &#xA0;<code>\x04blog\x0Ddaniel-milnes\x02uk</code> &#xA0;&#x2192; <code>\x04blog\x0Ddaniel-milnes\x02uk\x00</code> &#x2192; Sha256 &#x2192; Base64. I&apos;m assuming this was done to help with privacy concerns, but it really makes forensics a nightmare. Nevertheless, there is still some value here if you&apos;re trying to prove that a suspect&apos;s browser visited a specific site, but you won&apos;t be able to dump out a list like you can with Firefox.</p><p>Beyond that, the other fields are laid out like so:</p><p><code>expiry</code> - The Unix timestamp of the record&apos;s expiry.</p><p><code>mode</code> - For HSTS this will say <code>force-https</code>.</p><p><code>sts_include_subdomains</code> - Should subdomains be included?</p><p><code>sts_observed</code> - The Unix timestamp when the resource was last observed.</p><p>Clearly, Google decided to kick forensicators when they were down at this point, because unlike Firefox where the option to delete the HSTS database is not ticked by default, Google not only bundle HSTS in with cache, but it ticks the option by default. That means that someone clearing up after themselves would have to fairly intentionally leave behind the artefact.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/11/image-2.png" class="kg-image" alt="HSTS For Forensics: You Can Run, But You Can&apos;t Use HTTP" loading="lazy"></figure><p>The only nice thing about Chrome is that the developers made the research marginally easier by creating a developer page where you can register HSTS domains <code>chrome://net-internals/#hsts</code>.</p><p>This is true for all browsers built on the Chromium project, including Chrome, Edge Dev, and Opera. Like Firefox, the file is written when the program is closed.</p><h1 id="hsts-parser">HSTS Parser</h1><p>So none of that seems particularly easy to quickly analyse, but fortunately, I&apos;ve hacked together some low-quality Python to help with this problem! HSTS Parser is now available on GitHub, and it can process Firefox and Chrome HSTS databases! It&apos;ll even give you a nice ASCII table to look at everything in.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/11/image-3.png" class="kg-image" alt="HSTS For Forensics: You Can Run, But You Can&apos;t Use HTTP" loading="lazy"><figcaption>Example Firefox output</figcaption></figure><p>Whilst I&apos;ve not broken SHA256, you wouldn&apos;t be hearing about that for the first time here, I have added support for a wordlist when processing Chrome hashes. This means that you can feed in a list of domains you like to know if were contacted and it will hash them and try to match them to the list.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/11/image-4.png" class="kg-image" alt="HSTS For Forensics: You Can Run, But You Can&apos;t Use HTTP" loading="lazy"><figcaption>Example Chrome output</figcaption></figure><p>You can get HSTS Parser on my GitHub <a href="https://github.com/thebeanogamer/hstsparser">here</a> today!</p><p>Hopefully that gives you a good insight into the forensic applications of HSTS, but if you&apos;ve got any questions or suggestions, feel free to drop me an email at <a href="mailto:daniel@daniel-milnes.uk">daniel@daniel-milnes.uk</a>!</p>]]></content:encoded></item><item><title><![CDATA[Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting]]></title><description><![CDATA[I've spent around the last year hunting for entry level jobs in Cyber Security, and after recently finding success, I'd like to share some of what I've learnt, what I wish people had told me, and some tips to help you succeed where I struggled.]]></description><link>https://blog.daniel-milnes.uk/cybering-for-fun-and-profit-lessons-learned-from-a-year-of-cyber-security-job-hunting/</link><guid isPermaLink="false">6164c324d0c6870e761c525d</guid><category><![CDATA[Careers]]></category><dc:creator><![CDATA[Daniel Milnes]]></dc:creator><pubDate>Thu, 15 Aug 2019 09:21:26 GMT</pubDate><media:content url="https://blog.daniel-milnes.uk/content/images/2019/08/businessmen-businesspeople-businesswomen-1249158.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.daniel-milnes.uk/content/images/2019/08/businessmen-businesspeople-businesswomen-1249158.jpg" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting"><p>So I&apos;ve spent around the last year hunting for entry level jobs in Cyber Security, and after recently finding success, I&apos;d like to share some of what I&apos;ve learnt, what I wish people had told me, and some tips to help you succeed where I struggled.</p><h1 id="university">University</h1><p>This article is going to mostly be written about alternative post sixth-form options, but given how <a href="https://www.ucas.com/file/225551/download?token=nGdxoNQn">many people</a> choose to go down the University route, I thought it at least worth discussing.</p><p>Firstly, picking a course. If you are interested in pursuing a degree in Cyber Security, the National Cyber Security Centre has a <a href="https://www.ncsc.gov.uk/information/ncsc-certified-degrees">list of degrees</a> which they have certified the quality of, but even with these, I would be careful. Remember, for a degree to be created, it will need years of development, and that means that much of the information will be out of date. Whilst there is certainly value in a Cyber Security degree, it is hardly the be all and end all of educational opportunities. And let&apos;s face it, most professors teaching those courses haven&apos;t been in industry in years. Much of this applies to Computer Science degrees as well, but at least they won&apos;t be anywhere near as out of date a few years down the line. In my opinion, if you want to do Cyber at University, better to join a Cyber Security society like <a href="https://enusec.org/">ENUSEC</a>, and participate in some of the opportunities I&apos;m going to talk about a bit further down.</p><h1 id="apprenticeships">Apprenticeships</h1><p>Given all the costs involved in University and the questionable relevance of some of the material, what alternatives are there? Well, what about apprenticeships? You&apos;re earning money whilst gaining skills and practical experience, plus a degree if you can get a place on a degree apprenticeship. So what is applying for apprenticeships actually like? Well, let&apos;s take a dive into the process!</p><p>Before we begin though, we need to get something out of the way. You&apos;re going to be doing this a while. Apprenticeship applications are generally much later in the year than University applications (I went to an assessment centre the day after my last exam), so even if you see yourself as an apprentice, it may still be worth applying for University, just to give you that backup. But don&apos;t get caught in the trap of thinking Apprenticeships are easier to get. Where a University course might have 50 places, I&apos;ve been at assessment centres for one position. Also, get ready to deal with rejection emails, they don&apos;t feel great...</p><h2 id="finding-something">Finding Something</h2><p>With all that being said, how do you actually find apprenticeships to apply for? There is no centralised website like UCAS, so how do you find something? Well, as a starting point, I&apos;d highly recommend some sites which do try and list all available apprenticeships</p><ul><li><a href="https://www.notgoingtouni.co.uk/">Not Going to Uni</a></li><li><a href="https://www.findapprenticeship.service.gov.uk/apprenticeshipsearch">Gov.uk Apprenticeship Finder</a></li><li><a href="https://careerfinder.ucas.com/jobs/apprenticeship/">UCAS (Yes, really)</a></li></ul><p>Specifically for Cyber however, I would recommend looking into some of the following:</p><ul><li>NCSC CyberFirst Degree Apprenticeship</li><li>Government Security Practitioners Cyber Security Apprenticeship</li><li>Santander Digital Technology Apprenticeship</li><li>BT Cyber Security Degree Apprenticeship</li><li>IBM Digital Degree Apprenticeship</li><li>QinetiQ Cyber Security Degree Apprenticeship</li><li>Home Office Cyber Security Degree Apprenticeship</li><li>Microsoft Cyber Security Apprenticeship</li><li>Vodafone Cyber Defence Higher Apprenticeship</li></ul><p>Some of these may not run again, and there are likely many that I have missed, but this should hopefully give you a starting point.</p><h2 id="the-application-process">The Application Process</h2><p>So whilst the application process can vary massively between organisers, things normally begin with a resume (or a resume copied into a poorly designed website), so make sure you have an up to date resume. Even if you&apos;re not applying for stuff now, try and make a resume now. It&apos;s going to take you a while, and it&apos;s much easier to keep it up to date then have to make a completely new one when it comes time to apply. Also prepare for some &quot;Why do you want to work here&quot; style questions in the initial application.</p><p>Once you&apos;ve got past that, there will normally be some kind of vetting process. Those which I have seen can be split into three categories, some places will do all three, some will only do one, one or two will skip all three.</p><h3 id="psychometric-testing">Psychometric Testing</h3><p>Did you do 11+? If yes, do you remember the dumb questions you had to do? If yes to both, you should feel right at home with psychometric testing. If not, let me give you an idea of the hell that awaits. Psychometric testing will generally consist of numerical sequences (GCSE Maths to A-Level Further Maths level), verbal reasoning (If Paris is to France, what is to England?), and non-verbal reasoning (see below).</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>Speaking from both my own experience and that of others who have been through this, expect to come out of this feeling like you&apos;ve failed, but don&apos;t worry, you&apos;ll be fine. If I were cynical, I would say that tests like these are mostly just testing how much you care, but I&apos;m not cynical, so I won&apos;t say that.</p><h3 id="subject-specialist-testing">Subject Specialist Testing</h3><p>Many programs will try and assess your Cyber skills by having you complete labs. I&apos;ll talk a bit more about Immersive Labs (the source of the below screenshot) in a minute, but as a suggestion, if you are given a minimum number of labs to do, do more. Do as many as you can.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-5.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><h3 id="written-testing">Written Testing</h3><p>If you&apos;re anything like me, next comes the worst part. At this point, many schemes will try and get as much writing out of you as they can to try and assess your suitability. On one application, I have seen 500 words on all of the following requested:</p><ul><li>Yourself</li><li>Teamwork</li><li>Effective Communication</li><li>Self-motivation and Drive to Succeed</li><li>Initiative</li><li>Client Focus</li><li>Adaptability</li><li>Technical Skill</li><li>Motivation for Applying</li></ul><p>I&apos;m not sure really what advice I can give for this beyond get other people to read your answers. It may sound great to you but utter rubbish to other people. Unfortunately, in this situation, it&apos;s other people&apos;s opinion which matters more than yours.</p><h2 id="assessment-centres">Assessment Centres</h2><p>So, congratulations, you&apos;ve made it through candidate vetting (and maybe some video interviews, which may be the most unpleasant thing you&apos;ll do whilst job hunting), it&apos;s time for an assessment centre. These are generally much more standard, with most containing these three elements.</p><h3 id="group-task">Group Task</h3><p>These will normally involve some kind of logic puzzle or judgement on attributes of an employee. The thing is however, in most cases, it doesn&apos;t actually matter if you get the right answer (if there is one), what is actually being assessed is your teamwork and communication, so make sure to focus on that.</p><h3 id="interviews">Interviews</h3><p>I&apos;ll be honest, I absolutely hate interviews, so I&apos;m probably not the best person to give advice about them. Instead I&apos;d recommend <a href="https://barclayslifeskills.com/i-want-to-prepare-for-an-interview/school/10-step-guide-to-interview-prep">this great article</a> by Barclays, which should help set you on the right direction. The only pointer I might give is that it&apos;s fine to be nervous, the interviewer is expecting it, and they&apos;ll do everything they can to calm you down.</p><h3 id="individual-activities">Individual Activities</h3><p>Sometimes organisers will ask you to give a presentation on a topic they specify. Depending on if you enjoy this kind of thing this can either be a Godsend or damnation. As with most things, practice is the key. I have claimed classrooms at school for hours to practice presentations, much to the bemusement of anyone who walks in, but the only way you are going to get comfortable presenting like this is practice. Oh, and don&apos;t wing it like I&apos;ve seen some people do. You may as well not even show up, it will be painfully obvious how little you&apos;ve prepared.</p><h2 id="offers">Offers</h2><p>If all goes well, you should be able to put your feet up at this point and wait for the offer! Or, as will often be the case, the rejection. I said it at the start, and I&apos;ll say it again, get ready for the rejections, no matter how well you think you did. If you do get rejected, make sure to ask for feedback so you can improve for next time. If you were accepted, congratulations!</p><h1 id="jobs">Jobs</h1><p>Alternatively to all that, you could always look at getting a job that&apos;s not part of an apprenticeship scheme. Many companies are happy to take younger less experienced people on and train them up. Don&apos;t worry if you feel a bit underqualified looking at job listings, just take the plunge and see if they respond. Unlike apprenticeships, jobs tend to have much simpler application processes, so applying for one is nowhere near as big of a commitment. Some stuff that might be worth applying for:</p><ul><li><a href="https://emp.jobylon.com/jobs/46494-f-secure-cyber-security-ltd-security-consultant/">F-Secure Consulting (Formerly MWR Infosecurity)</a></li><li><a href="https://www.nccgroup.trust/uk/about-us/careers/current-vacancies/security-consultant-uk-wide/">NCC Group</a></li><li><a href="https://www.pentestpartners.com/about-us/careers/">PenTestPartners</a></li><li><a href="https://www.modux.co.uk/">Modux</a></li></ul><p>(Recruiters, <a href="mailto:daniel@daniel-milnes.uk">email me</a> and I may add you to this list)</p><h1 id="making-yourself-stand-out">Making Yourself Stand Out</h1><p>This could probably be a blog post of its own at some point, but here are some things you can get involved in or do to help yourself really stand out from the other candidates.</p><h2 id="cyber-discovery">Cyber Discovery</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/FireJames.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>Ok, if you&apos;re here, you probably know what <a href="https://joincyberdiscovery.com/">Cyber Discovery</a> is, but for those of you who don&apos;t; Cyber Discovery is a UK Government funded scheme to train 14-18 year olds in everything Cyber Security with a <a href="https://discord.cyberdiscoverycommunity.uk">great community</a>. Starting from the very basics, up to industry level reverse engineering and web app testing, it&apos;s a great way to learn, and I can credit it with a large part of my knowledge. If you do really well, you may get the opportunity to participate in professional qualifications like <a href="https://www.sans.org/course/hacker-techniques-exploits-incident-handling">SEC504</a> and <a href="https://www.sans.org/course/windows-forensic-analysis">FOR500</a>, and if you&apos;re really lucky, <a href="https://thegingernoodle.wordpress.com/2018/09/05/future-cybersecurity-leaders-exchange-programme-2018-part-1/">go to the USA</a> to learn even more. They even let me write a <a href="https://medium.com/cyber-discovery/cyber-discovery-spotlight-daniel-milnes-d28986dbc270">blog post</a> on their site which is always nice. Bonus brownie points if you set up a club to help teach others.</p><h2 id="cybercenturion">CyberCenturion</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-7.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>CyberCenturion is a team based blue team competition for 12-18 year olds, focused around Windows and Linux security run by Cyber Security Challenge UK and Northrup Grumman. As your team patches vulnerabilities they are awarded points which can contribute to a place in the final, where a place on a <a href="https://blog.stuajnht.co.uk/2018/09/cybercenturion-iv-winners-trip-day-1/">trip to the USA</a> can be won. Did I mention I led the team who won this year?</p><h2 id="cyber-security-challenge-uk">Cyber Security Challenge UK</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-8.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>Cyber Security Challenge is an organisation dedicated to running competitions and training in Cyber Security for young people. For a long time they ran competitions for sponsors which I can give a <a href="/cyber-security-challenge-2018-masterclass/">ringing endorsement</a> to. Recently, they have shifted their focus to younger audiences, and I&apos;m interested to see where they go with this.</p><h2 id="hack-the-box">Hack the Box</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-9.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>Hack the Box is a free platform for Hackers to practice their skills. After completing the welcome challenge, you are given a VPN connection with 20 boxes to hack into in return for badges which you can use to show off what you can do to employers! Boxes are regularly rotated so there&apos;s always something fresh to try, and you can even submit your own boxes for ultimate bragging rights!</p><h2 id="immersive-labs">Immersive Labs</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-10.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>Immersive Labs is a huge collection of free labs, each designed around a specific skill. Want to practice unquoted service paths? There&apos;s a lab for that. Want to know a bit more about Snort? There&apos;s a lab for that. Immersive Labs is great for learning and practicing specific skills, and if you can get your future workplace to pay for it, there is a massive collection of premium labs with new ones added every week.</p><h2 id="google-code-in">Google Code-in</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-16.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>Whilst not stricly Cyber Security, Google Code-in is a competition for 13-17 year olds, where you participate in open source projects, and those with the greatest levels of participation are given a very expensive Google Goodie Bag and a free trip to Google&apos;s office in California.</p><h2 id="start-a-blog">Start a Blog</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-11.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>If you&apos;ve not noticed by now, I&apos;m a big fan of blogging. Blogging is a great way to show to employers what you can do, and the range of skills that you have. If you have a little bit of money to throw towards the project for a server to host on, I can highly recommend <a href="https://github.com/TryGhost/Ghost">Ghost</a> (WordPress also exists, but please don&apos;t use it), or if you want something completely free, Google&apos;s <a href="https://www.blogger.com">Blogger</a> is a great no-frills option. Make sure to check out other people&apos;s blogs to help you stay up to date with the industry.</p><h2 id="twitter">Twitter</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-12.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>Despite its many faults, Twitter is still a great platform for getting yourself out there and noticed. Twitter can be a great place to keep up with the Cyber Security industry, and to showcase things you&apos;d like an employer to see.</p><h2 id="conventions">Conventions</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-13.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>Less valuable from an employment perspective, but still great fun, conventions can be a brilliant way to network. You don&apos;t have to spend thousands to get to DEFCON, BSides events (<a href="https://www.securitybsides.org.uk/">London</a>, <a href="https://www.bsidesbristol.org.uk/">Bristol</a>, etc.) are excellent ways to meet people and expand both your knowledge and your circle of contacts. Oh, and drink a stupid amount of booze (if you&apos;re an adult and into that sort of thing, not for me but you do you), eat an unhealthy amount of pizza (much more my thing), and hack a bunch of stuff.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Day 2 of feeding the 500! <a href="https://t.co/CNGHw5aPKi">pic.twitter.com/CNGHw5aPKi</a></p>&#x2014; BSides Bristol (@bsidesbristol) <a href="https://twitter.com/bsidesbristol/status/1142060307013165057?ref_src=twsrc%5Etfw">June 21, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><h2 id="linkedin">LinkedIn</h2><figure class="kg-card kg-image-card"><img src="/content/images/2019/08/image-14.png" class="kg-image" alt="Cybering for Fun and Profit: Lessons from a Year of Cyber Security Job Hunting" loading="lazy"></figure><p>Oh LinkedIn, Facebook for old people (as it&apos;s known). Whilst on the surface LinkedIn may seem to be just another social media platform, it&apos;s so much more. LinkedIn is both a great way to stay in contact with people you meet, and conduct OSINT. Unlike Twitter, there&apos;s no one hiding behind a handle, and unlike Facebook, there&apos;s no well... Facebook. It&apos;s hardly perfect, but I am yet to find a better way to network with people.</p><h1 id="conclusion">Conclusion</h1><p>First of all, seriously well done for getting through all that. I know it&apos;s a lot, so thank you for sticking with me (you did read the whole thing right?). I&apos;m not saying that you need to do all these things to get a job in Cyber, nor that doing all these things will get you a job, far from it. These are simply some of the steps I have taken which have helped me move from education to a career in Cyber. Hopefully this has been of some value to you, and if it has (or if you have any suggestions for modifications), drop me an email on <a href="mailto:daniel@daniel-milnes.uk">daniel@daniel-milnes.uk</a>.</p>]]></content:encoded></item><item><title><![CDATA[CALM DOWN: Discord hasn't been hacked]]></title><description><![CDATA[With 130 million registered users, phishing campaigns targeting Discord are inevitable, but why are people suddenly talking about them, and what do they mean for me?]]></description><link>https://blog.daniel-milnes.uk/calm-down-discord-hasnt-been-hacked/</link><guid isPermaLink="false">6164c324d0c6870e761c525b</guid><category><![CDATA[Phishing]]></category><dc:creator><![CDATA[Daniel Milnes]]></dc:creator><pubDate>Fri, 19 Jul 2019 01:21:24 GMT</pubDate><media:content url="https://blog.daniel-milnes.uk/content/images/2019/07/longart.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.daniel-milnes.uk/content/images/2019/07/longart.png" alt="CALM DOWN: Discord hasn&apos;t been hacked"><p>With 130 million registered users, phishing campaigns targeting Discord are inevitable, but why are people suddenly talking about them, and what do they mean for me?</p><p>Before I go any further, I should really credit <a href="https://www.troyhunt.com/no-spotify-wasnt-hacked/">Troy Hunt&apos;s post</a> &quot;No, Spotify Wasn&apos;t Hacked&quot; for inspiration here, I&apos;ve refocused on the recent Discordgg.ga events, but most of what he said holds true here.</p><h1 id="what-s-going-on">What&apos;s going on?</h1><p>If you had Discord open on the evening of the 19th July 2019, you might have noticed the flurry of @everyone messages informing you that your account may have been breached and you, yes you, might be at risk!</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/07/image-13.png" class="kg-image" alt="CALM DOWN: Discord hasn&apos;t been hacked" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="/content/images/2019/07/image-16.png" class="kg-image" alt="CALM DOWN: Discord hasn&apos;t been hacked" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="/content/images/2019/07/image-15.png" class="kg-image" alt="CALM DOWN: Discord hasn&apos;t been hacked" loading="lazy"></figure><p>All of this leads back to the kind of phishing websites that are depressingly common on the internet today, in this case, discordgg.ga. This website perfectly replicated the Discord sign in page, collecting the credentials of anyone who signed in using it, it even connected back to Discord to check if they were valid.</p><p>Now normally, these kind of campaigns take place out of the public view, with the credentials being sold on by the creators of the phishing campaign to be used by others, but the creators of this campaign did something interesting, they published what they had collected online.</p><h1 id="what-does-this-mean-for-me">What does this mean for me?</h1><p>Well, someone else has your Discord account (unless you&apos;ve taken steps I&apos;ll come onto in a second). Anywhere you can send messages, now so can everyone who downloads the breach, everywhere you can take moderation action, now so can they, any server you can delete, now so can they.</p><h1 id="well-then-what-can-i-do-to-protect-myself">Well then, what can I do to protect myself?</h1><p>Before I go any further, I should clarify, you&apos;re probably not impacted by this. The attackers say they collected around 2,522 valid logins, and as such, for most people, this is a cautionary tale, rather than an incident to be responded to. Could Discord have done much better here? Yes, but for the moment, let&apos;s focus on what you can do.</p><h2 id="-everyone">@everyone</h2><p>Whilst my &quot;Personal Cyber Security from basics&quot; (name not final) series of posts is coming soon, for the moment, here are a few basic steps you can take remediate damage done by this attack and protect against future ones.</p><h3 id="passwords">Passwords</h3><p>The first step to dealing with anything like this is changing your password, making the one the attackers have non-effective. You&apos;re not re-using passwords between sites, are you? Oh, you are? Change everywhere that your Discord password is re-used. Password reuse is bad practice, and I&apos;d recommend moving away from it, but for the moment, get those passwords changed. In future, I&apos;d recommend using a password manager to generate and store random passwords, which I&apos;ll talk about more in another post. Whilst this won&apos;t protect you against future attacks, it will remediate the damage done by this one.</p><h4 id="how-to-change-discord-passwords">How to change Discord passwords</h4><p>First, go to &quot;User Settings&quot;</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/07/image-9.png" class="kg-image" alt="CALM DOWN: Discord hasn&apos;t been hacked" loading="lazy"></figure><p>&quot;Edit&quot;</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/07/image-10.png" class="kg-image" alt="CALM DOWN: Discord hasn&apos;t been hacked" loading="lazy"></figure><p>&quot;Change Password&quot;</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/07/image-11.png" class="kg-image" alt="CALM DOWN: Discord hasn&apos;t been hacked" loading="lazy"></figure><p>Fill out the form and press &quot;Save&quot;</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/07/image-12.png" class="kg-image" alt="CALM DOWN: Discord hasn&apos;t been hacked" loading="lazy"></figure><h3 id="multifactor-authentication">Multifactor Authentication</h3><p>For those not familiar, multifactor authentication (or 2FA as it&apos;s more often known) is the process of requiring multiple pieces of data to gain access to an account. This means that even if someone has one of the pieces of data, they can&apos;t get into the account. The first piece of data is normally a password, and the second is normally a code generated by an app or sent via SMS. There are alternatives like U2F Keys, but that&apos;s beyond the scope of this post. By enabling 2FA, you make any passwords collected by phishing campaigns useless, and for the two minutes it takes to turn it on, it&apos;s well worth the while. Unlike changing your password, this will protect against future attacks.</p><p>Discord have an official guide on enabling 2FA <a href="https://support.discordapp.com/hc/en-us/articles/219576828-Setting-up-Two-Factor-Authentication">here</a>. For <em>most people</em>, I&apos;d recommend using Authy with an SMS backup.</p><h2 id="-administrators">@Administrators</h2><p>Assuming you&apos;ve followed the above advice, you should now have 2FA enabled. Discord allows you to force this for your entire moderation team, and I would highly recommend doing so. This can be done on the &quot;Moderation&quot; tab of server settings.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/07/image-8.png" class="kg-image" alt="CALM DOWN: Discord hasn&apos;t been hacked" loading="lazy"></figure><p>Have I got something wrong, or have you got any suggestions for improvements? Let me know at <a href="mailto:daniel@daniel-milnes.uk">daniel@daniel-milnes.uk</a>.</p>]]></content:encoded></item><item><title><![CDATA[Cyber Security Challenge 2019 Santander F2F]]></title><description><![CDATA[Almost a year from when it started, my Cyber Security Challenge UK journey must sadly come to an end. Recently, Santander hosted the final (at least for now) face-to-face competition, and I'd like to share my experience at the event to help others to prepare for similar competitions.]]></description><link>https://blog.daniel-milnes.uk/cyber-security-challenge-2019-santander-f2f/</link><guid isPermaLink="false">6164c324d0c6870e761c525a</guid><category><![CDATA[CSC]]></category><dc:creator><![CDATA[Daniel Milnes]]></dc:creator><pubDate>Wed, 17 Apr 2019 14:48:00 GMT</pubDate><media:content url="https://blog.daniel-milnes.uk/content/images/2019/04/55840512_2167794769931113_6711660447596019712_o-1-.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.daniel-milnes.uk/content/images/2019/04/55840512_2167794769931113_6711660447596019712_o-1-.jpg" alt="Cyber Security Challenge 2019 Santander F2F"><p>Almost a year from when it started, my <a href="https://www.cybersecuritychallenge.org.uk/">Cyber Security Challenge UK</a> journey must sadly come to an end. Recently, <a href="https://www.santander.co.uk/">Santander</a> hosted the final (at least for now) face-to-face competition, and I&apos;d like to share my experience at the event to help others to prepare for similar competitions.</p><h1 id="qualifiers">Qualifiers</h1><p>At previous events, the qualification tasks have often been a good indication of what will actually happen at the event, but no such hints were available here. The qualifier for the National Crime Agency competition was a disk image, to match the forensics involved in the actual event, and the qualifier for the Bank of England competition was log analysis, which was most of what we did at the competition. As well as being the final face-to-face event, this was also the qualifier for Team UK, and as such, a wide variety of skills needed to be tested in the qualifier, meaning no hints were available. Last year&apos;s <a href="https://www.europeancybersecuritychallenge.eu/">ECSC</a> Final was hosted at Cyber Re:coded in London, and this year&apos;s competition will be in Bucharest, Romania, so places are hard fought after.</p><h2 id="qualifier-1">Qualifier 1</h2><p>The first qualifier was somewhat of a red herring as far as the actual event was concerned, as it was a penetration test of a web app. Whilst I obviously can&apos;t document the exact solution, it was a nice challenge, and it was interesting to see <a href="http://rangeforce.com/">Rangeforce&apos;s</a> take on more offensive tasks (more on Rangeforce later). My only experience with Rangeforce was at the <a href="https://blog.daniel-milnes.uk/cyber-security-challenge-2018-masterclass/">2018 Masterclass</a>, a defensive challenge, and as with most challenges like this, enumeration was the key, and was what made it take me much longer than it should have.</p><h2 id="qualifier-2">Qualifier 2</h2><p>The second qualifier was, whilst closer to the actual event, still a test of other skills. Although technically blue team, qualifier two focused on DFIR, specifically in the form of a network traffic capture and disk image. Whilst I found the network capture to be relatively simple, I must admit I was flummoxed by the disk image, and was very interested to hear some of the solutions used by other competitors.</p><p>Ultimately, whilst my performance in these qualifiers was enough to get me through to the actual event, qualifier two in particular highlighted an area I really needed to work on. I will confess that I was hoping for a blue team style event after winning CyberCenturion with TeamWhy2k a few weeks prior (blog post coming about this Soon&#x2122;), and in this regard, I somewhat got my wish.</p><h1 id="day-1">Day 1</h1><p>At this point, there&apos;s probably a law that says all I&apos;m allowed to tweet is photos from windows, and as such, that was how this event began.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Mixing up the train photos, I&apos;m driving (well, being driven) to Leicester for the final <a href="https://twitter.com/Cyberchallenge?ref_src=twsrc%5Etfw">@Cyberchallenge</a> <a href="https://twitter.com/santanderuk?ref_src=twsrc%5Etfw">@santanderuk</a> <a href="https://twitter.com/hashtag/CyberF2F?src=hash&amp;ref_src=twsrc%5Etfw">#CyberF2F</a>! Can&apos;t wait to see what&apos;s waiting for us, it should be a great couple of days! <a href="https://t.co/3b1MI5tRzx">pic.twitter.com/3b1MI5tRzx</a></p>&#x2014; Daniel Milnes (@thebeanogamer) <a href="https://twitter.com/thebeanogamer/status/1108736389657649159?ref_src=twsrc%5Etfw">March 21, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>After arriving at the Leicester Marriot Hotel, I quickly checked in to my room, before heading down to the lobby. Whilst I do know most of the regulars at these events, it was still refreshing to see an influx of new competitors, even at the last event, and a healthy representation of <a href="https://joincyberdiscovery.com/">Cyber Discovery</a> hoodies.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/03/image-1.png" class="kg-image" alt="Cyber Security Challenge 2019 Santander F2F" loading="lazy"></figure><p>After arriving at Santander&apos;s head offices, we got a briefing on the events of the coming day, and what we were all fighting for, a place on Team UK. As there is no Masterclass this year, and with the aforementioned trip, a place on the team was everyone&apos;s goal.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/03/image-3.png" class="kg-image" alt="Cyber Security Challenge 2019 Santander F2F" loading="lazy"></figure><p>We then spent some time getting to know the other competitors, and although it started out as a simple quiz, it quickly developed into a difficult logic puzzle, calling on our deduction skills. Whilst we ultimately didn&apos;t come out on top, it was a great experience to get us ready for the next day.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/04/image.png" class="kg-image" alt="Cyber Security Challenge 2019 Santander F2F" loading="lazy"></figure><p>After arriving back at the hotel, a large group of us collected in a hotel room and played <a href="https://jackboxgames.com/project/fibbage/">Fibbage</a> for a while, and it was a good thing that we also had the hotel rooms on both sides, as it turns out 14 people in one room do produce quite a bit of noise! It was also a really nice opportunity to see some of the staff, competitors, and assessors in a less formal environment (although not <a href="https://twitter.com/Cyberchallenge/status/1067231276388835328">ball pit</a> levels of informal), and I sat talking until the early hours of the morning in the bar, catching up with people I hadn&apos;t seen in months.</p><h1 id="day-2">Day 2</h1><p>One of the best ways to evaluate any hotel is the quality of the breakfast, and in this regard, I was certainly not let down.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/03/image.png" class="kg-image" alt="Cyber Security Challenge 2019 Santander F2F" loading="lazy"><figcaption>This qualifies as me going on a diet compared to Masterclass, right?</figcaption></figure><p>After stuffing down enough food to satisfy a hippo, I did the obligatory 50 checks of my room to make sure I hadn&apos;t forgotten anything, then got in a taxi over to the Santander offices.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/03/image-7.png" class="kg-image" alt="Cyber Security Challenge 2019 Santander F2F" loading="lazy"></figure><p>A large collection of sweets and a bottle of Ribena Light in hand (I went through 5 bottles of the stuff, God help my insides), we got a briefing from Rangeforce about what we would actually be doing for the competition. We were interns at a firm that made ambulance deployment management software, and the firm was experiencing a major breach. Like Masterclass, we were given a copy of the network topology, but this time with the added complication of &quot;satellites&quot; which had a 5mb/s link to us and the internet. Whilst we were lucky that the machines were mostly up to date and were accessed exclusively through SSH, this is an interesting idea I would really like to see built on. Personally, the most frustrating and least enjoyable competitions are those which are the furthest from an actual situation, and I think Rangeforce strikes a really good balance here, as whilst there are some simulated elements (for example, the scoreboard which was up around the room), they are kept to a minimum, and do a good job of keeping up the pressure.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/03/image-8.png" class="kg-image" alt="Cyber Security Challenge 2019 Santander F2F" loading="lazy"></figure><p>Speaking of Rangeforce, I would once again like to thank them for putting together the actual challenge for the event. Their challenge design and platform continues to be excellent, and I hope to be involved in an event they run again in the future.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/03/image-4.png" class="kg-image" alt="Cyber Security Challenge 2019 Santander F2F" loading="lazy"></figure><p>With all that out the way, what was the actual challenge like? Well, as I mentioned, the event was purely defensive, but not in the same style as CyberCenturion. Where Centurion had you patch common Windows and Linux vulnerabilities, at this event, the solely Linux environment had no common issues like these, it was entirely custom services, which really helped improve the experience. Whilst knowing how to secure fresh machines is an important skill, it does get repetitive, so having to quickly learn how custom services work and secure them in a tight time frame is a really fun experience.</p><p>Throughout the day, we saw a variety of interesting exploits, and whilst I obviously can&apos;t document them in full, one of the most interesting ones I saw related to <code>pam_deny.so</code>, which is the file Linux uses to reject authentication requests, and replacing it with <code>pam_allow.so</code>, essentially meaning that any authentication requests would be accepted. Additionally, I was shown why my beloved <code>fail2ban</code> isn&apos;t quite the magic bullet I hoped it would be. For context, <code>fail2ban</code> scans logs from a large number of common applications like <code>nginx</code> and <code>sshd</code>, then writes firewall rules to drop traffic from clients with high error rates. In theory this works really well, and indeed, it did block several exploits on the board, and this was lovely for the 30 seconds it took us to realise it had also blocked the scoring platform. A side effect of this network configuration was that the machines saw all traffic coming from the same source, so when they blocked the malicious traffic, they also blocked the ability for the scoring platform to see if the machine was working.</p><p>There were also some less advanced exploits, including things like RCE within the web app, which really highlighted the value of digging through logs for a task like this. If you&apos;ve got them, tools like <a href="https://www.splunk.com/">Splunk</a> and <a href="https://www.fluentd.org/">fluentd</a> are great, but often, things like a command backdoor constantly being tested will stick out like a sore thumb in logs, and spotting them mean you can quickly search the app&apos;s code for the function being exploited and remove it. Whilst there is obviously value in manually reviewing source code, especially in time sensitive situations, looking for signs of exploitation and working backwards from there will save you a lot of time, although in real world situations where a log event isn&apos;t being triggered every few seconds, this is less appropriate.</p><p>Unlike at Masterclass, where I worked on most-all of the reports we submitted, my involvement in the process this time was fairly minimal, as whilst it is something that I enjoy doing, there were people on the team more qualified to do them, both faster and to a higher standard than me. I did appreciate the relevance of the situation to the real world, as one vulnerability that we had to write about was passwords appearing in log files, which both <a href="https://www.bleepingcomputer.com/news/security/twitter-admits-recording-plaintext-passwords-in-internal-logs-just-like-github/">Twitter</a> and <a href="https://www.bleepingcomputer.com/news/security/github-accidentally-recorded-some-plaintext-passwords-in-its-internal-logs/">GitHub</a> have been caught doing recently.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/03/image-5.png" class="kg-image" alt="Cyber Security Challenge 2019 Santander F2F" loading="lazy"></figure><p>Just like at Masterclass, we bounced up and down the leaderboard, but in the final hours of the competition, it turned into a fight for uptime with a couple of other teams. We eventually reached the point of taking desperate steps, like the aforementioned <code>fail2ban</code>, or drastic changes to the permissions of system files. In the end though, it was good old fashioned vulnerability hunting (and a couple of people watching for downtime) that pulled us through. Whilst we did finish top of the board, there were still a large number of reports which needed to be marked, with the potential to radically change the scores.</p><p>Fortunately, the positions stuck, and we managed to come out on top overall. I&apos;d like to say thank you to the entire team, you were great, and I look forward to being able to work with you again.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">For those of you after the photos from the Santander ECSC Team UK Qualifier, head over to our Facebook page where the full album is now available. <br><br>&#x1F4F8; Thanks again to photographer <a href="https://twitter.com/mikeysewell?ref_src=twsrc%5Etfw">@mikeysewell</a> <a href="https://t.co/JPsec1OIuj">https://t.co/JPsec1OIuj</a> <a href="https://t.co/pwk43zOpBM">pic.twitter.com/pwk43zOpBM</a></p>&#x2014; Cyber Challenge UK (@Cyberchallenge) <a href="https://twitter.com/Cyberchallenge/status/1110183905347420161?ref_src=twsrc%5Etfw">March 25, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>This year&apos;s Team UK were then announced, and whilst I was obviously disappointed to not make the cut, the team is made up of people from whom I&apos;d seen amazing performances at both this event and others I had attended with them, and are the kind of people I don&apos;t have any issue losing to. Everyone on the team has done excellently to get this far, and I wish them good luck in the ECSC competition.</p><p>Once again, I&apos;d like to issue a massive thank you to everyone involved in the event, CSC, Santander, the assessors, Rangeforce, and everyone else who was involved in putting together this great event. I feel honoured to have had the involvement with Cyber Security Challenge that I have, and I wish the team there the best of luck with whatever the future may hold.</p><p>Unless stated otherwise, photos used are either my own or official event photos published here.</p>]]></content:encoded></item><item><title><![CDATA[Cyber Security Challenge 2018 Masterclass]]></title><description><![CDATA[I recently had the honour of participating in the 2018 Cyber Security Challenge UK Masterclass sponsored by Barclays. It was an absolutely insane experience, which I would encourage anyone interested in Cyber Security to get involved with. ]]></description><link>https://blog.daniel-milnes.uk/cyber-security-challenge-2018-masterclass/</link><guid isPermaLink="false">6164c324d0c6870e761c5255</guid><category><![CDATA[CSC]]></category><dc:creator><![CDATA[Daniel Milnes]]></dc:creator><pubDate>Fri, 18 Jan 2019 15:00:00 GMT</pubDate><media:content url="https://blog.daniel-milnes.uk/content/images/2019/04/IMG_20190121_135553.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.daniel-milnes.uk/content/images/2019/04/IMG_20190121_135553.jpg" alt="Cyber Security Challenge 2018 Masterclass"><p>I recently had the honour of participating in the 2018 Cyber Security Challenge UK Masterclass sponsored by Barclays. It was an absolutely insane experience, which I would encourage anyone interested in Cyber Security to get involved with. Hopefully this blog will give a taste of what was involved as well as some hints on how to get the most out of the event if you are lucky enough to qualify.</p><h1 id="22-days-to-go">22 Days To Go</h1><p>My story actually begins a couple of weeks prior to the Masterclass itself. To help with preparation for the event, CSC sent out a list of pre-reading. I went through most-all of this list over the next few weeks, but for any event like this, the pre-reading can be used as a great way to speculate about the course contents, and work out other helpful skills for the event.</p><p>Some of the pre-reading really stuck out to me, for example, we were told to read into National Security, suggesting to me a serious and organised crime focus. In addition, there were several items about different types of DDoS attacks and a mixture of Windows and Linux material. This all suggested that the event would be blue team focused, and whilst I did work on these skills through programs like <a href="https://www.cybersecuritychallenge.org.uk/competitions/cybercenturion">Cyber Centurion</a> and <a href="https://immersivelabs.co.uk/">Immersive Labs</a>, I made sure to work on my red teaming skills in case my assessment was incorrect.</p><hr><h1 id="11-days-to-go">11 Days To Go</h1><p>A few days before the event began, a very cryptic video was released by CSC. Amongst my friends this inspired some furious inspection (I&apos;ve watched this trailer more times than I dare to count) and some giggling from some who attended last year who thought they had (incorrectly) predicted what would happen.</p><figure class="kg-card kg-embed-card"><iframe width="480" height="270" src="https://www.youtube.com/embed/p1PVubpRgM4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></figure><hr><h1 id="day-1">Day 1</h1><p>The first day of the actual event began, as most do, with a tweet of a photo out of the window of a train to London. </p><figure class="kg-card kg-embed-card kg-card-hascaption"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Even the grim weather can&apos;t ruin my mood as I thunder towards what is looking to be an amazing 4 days at <a href="https://twitter.com/Cyberchallenge?ref_src=twsrc%5Etfw">@Cyberchallenge</a> <a href="https://twitter.com/BarclaysUK?ref_src=twsrc%5Etfw">@BarclaysUK</a> <a href="https://twitter.com/hashtag/CYBERMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC18</a>! <a href="https://t.co/V2UbVVtMyc">pic.twitter.com/V2UbVVtMyc</a></p>&#x2014; Daniel Milnes (@thebeanogamer) <a href="https://twitter.com/thebeanogamer/status/1066339012401610752?ref_src=twsrc%5Etfw">November 24, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<figcaption>These make up about 90% of my Twitter</figcaption></figure><p>I arrived at the <a href="https://www3.hilton.com/en/hotels/united-kingdom/hilton-london-tower-bridge-LONTBHI/index.html">Hilton London Bridge Hotel</a> extremely excited, and yet not entirely sure what I was in for. Whilst I had been over the pre-reading, everything I&apos;d heard from previous competitors suggested that the Masterclass was greater than the Bank of England and NCC Group Face to Face events I had attended in both scale and difficulty. They certainly weren&apos;t wrong there.</p><p>Once I had checked out my room, I made my way down to the lobby and met up with the other contestants. Whilst in previous years the attendance at challenge events, and especially the Masterclass, has been mostly university students, this year had seen a huge influx of sixth form students (making up 12 of the 48 competitors). All of these students (including myself) had participated in <a href="https://joincyberdiscovery.com/">Cyber Discovery</a>, and the fact that the Cyber Discovery team had been able to get sixth form students up to this standard was seriously impressive. This also gave me the advantage of knowing a substantial portion of the people attending, which turned out to be both a strength (already having bonded with many of the people present) and a weakness (helps me be introverted as hell).</p><figure class="kg-card kg-embed-card kg-card-hascaption"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Just checked into the hotel for the <a href="https://twitter.com/Barclays?ref_src=twsrc%5Etfw">@Barclays</a>&#x2019; <a href="https://twitter.com/Cyberchallenge?ref_src=twsrc%5Etfw">@Cyberchallenge</a> <a href="https://twitter.com/hashtag/CYBERMC2018?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC2018</a> and am absolutely overwhelmed by the view... I can tell that the next 3 days are going to be out of this world!! <a href="https://t.co/9X1ZxkgWrm">pic.twitter.com/9X1ZxkgWrm</a></p>&#x2014; Jess Ingrey (@JessicaIngrey) <a href="https://twitter.com/JessicaIngrey/status/1066360594335498240?ref_src=twsrc%5Etfw">November 24, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<figcaption>Someone who had the foresight to take photos of the room before dumping their stuff in it like I did</figcaption></figure><p>I&apos;ll be honest, there are few things in this world as dramatic as checking in to a hotel and being handed an envelope with the information for the next few days. Once I had unpacked a little I headed downstairs to meet with the other contestants and staff. We talked for a bit before making our ways over to Barclays&apos; Canary Wharf office. On the way we passed through a beautiful looking set of Christmas decorations, at which point I discovered my phone&apos;s lack of low light performance, but I managed to get a few usable shots.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/01/image.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"><figcaption>Apparently removing colour makes the visual noise bearable. Who knew?</figcaption></figure><p>Once we were in the venue we were introduced to our teams. In my case, that was formed of one person I already knew, four UK based new people, and one competitor from Singapore. Team building exercises take many forms at CSC events, from puzzles spread around museums to pub quizzes, and this event put yet another unique spin on the formula.</p><figure class="kg-card kg-embed-card kg-card-hascaption"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Just a few minutes left to solve the final challenges at the <a href="https://twitter.com/bankofengland?ref_src=twsrc%5Etfw">@bankofengland</a> <a href="https://twitter.com/hashtag/cyberF2F?src=hash&amp;ref_src=twsrc%5Etfw">#cyberF2F</a> - can Team Lamarr nab one last point? <a href="https://t.co/6csg6LwoYG">pic.twitter.com/6csg6LwoYG</a></p>&#x2014; Cyber Challenge UK (@Cyberchallenge) <a href="https://twitter.com/Cyberchallenge/status/992108708896395265?ref_src=twsrc%5Etfw">May 3, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<figcaption>The team building exercise at the Bank of England Face to Face</figcaption></figure><p>Representatives of the Metropolitan Police organised for us to play a <a href="https://www.computerweekly.com/news/252440491/City-Police-use-Lego-simulation-to-teach-businesses-cyber-security">game devised by Bristol University</a>. We were given a situation with a company who operated a power plant, a budget, and a list of potential spending options. For the most part, we did alright, making the systems and facilities more secure and fighting off the majority of attacks. That was until the last round, where we received a &#xA3;5.5 million fine from the ICO for GDPR violations. But hey, at least we weren&apos;t the team who had their power plant blown up. It&apos;s the small victories in life...</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Contestants have been divided into their groups and given a number of mini puzzles and props for the ice-breaker. What might they be doing that the <a href="https://twitter.com/metpoliceuk?ref_src=twsrc%5Etfw">@metpoliceuk</a> would be needed for? <a href="https://twitter.com/hashtag/CYBERMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC18</a> <a href="https://t.co/bHOs9KL77V">pic.twitter.com/bHOs9KL77V</a></p>&#x2014; Cyber Challenge UK (@Cyberchallenge) <a href="https://twitter.com/Cyberchallenge/status/1066389271932821504?ref_src=twsrc%5Etfw">November 24, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>We also got to experience a small snippet of life within Barclays&apos; SOC, through a virtual reality experience.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Well it&apos;s all getting kicked off here <a href="https://twitter.com/BarclaysUK?ref_src=twsrc%5Etfw">@BarclaysUK</a> in <a href="https://twitter.com/hashtag/london?src=hash&amp;ref_src=twsrc%5Etfw">#london</a> for <a href="https://twitter.com/hashtag/CYBERMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC18</a>. We&apos;ve got a few amazing days lined up for our contestant and we can&apos;t wait! <a href="https://t.co/Uq2r58majA">pic.twitter.com/Uq2r58majA</a></p>&#x2014; Cyber Challenge UK (@Cyberchallenge) <a href="https://twitter.com/Cyberchallenge/status/1066384220417925121?ref_src=twsrc%5Etfw">November 24, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>Once all that was done, we made our way to the nearby Giant Robot market, where we were bought dinner.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/01/image-1.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"><figcaption>We were given a budget, and I&apos;d be lying if I said I spent it in a sensible way...</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/01/image-2.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"><figcaption>I&apos;m not exactly known for my healthy diet</figcaption></figure><p>Once we had finished dinner (and Scottie had picked himself up off the floor from laughing at me taking a photo of my food, an admittedly very hipster thing to do), we made our way back to the hotel. I tried to write some of this blog post, but quickly realised the futility of that effort, so I headed off to bed.</p><hr><h1 id="day-2">Day 2</h1><p>After a &quot;small&quot; breakfast, we collected in the lobby and made our way over to the venue.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/01/image-3.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"><figcaption>A nice small snack</figcaption></figure><p>It was then that we were given the full explanation of the coming events. he story was a continuation of the one from the previous year. Nancy Oregon, a senior member of the Research4U firm, had been caught working to bring down the CEO, Rex Buckingham. Nancy was now serving time for Computer Misuse Act offences with the group 29Alpha and we had been hired as security interns at Research4U. It&apos;s at this point that I need to thank <a href="https://www.rangeforce.com/home">RangeForce</a>, the technical team behind the event. Whilst at some other events, physical infrastructure had been brought on site, RangeForce instead made use of their powerful cloud learning environment. This meant that each team had a fully simulated network, with Windows and Linux clients, an Active Directory domain, and workstations (as opposed to just servers). The actual challenge was incident response (ensuring systems remained online and secure), and so this setup was perfect.</p><p>We were given access to our workstations and a copy of the network topology, and were told to get to work. We spent a few minutes planning how we would spend our time, focusing on our areas and tools of expertise. This was a nice plan in theory, although it broke down quickly. I took the domain controllers as my initial area of focus, as I had gained quite a bit of experience auditing Windows Systems participating in <a href="https://www.cybersecuritychallenge.org.uk/competitions/cybercenturion">Cyber Centurion</a>. I took the usual basic steps before beginning to search for exploits (reset passwords, check members of the administrators group, check for users who shouldn&apos;t be part of the forest).</p><p>Throughout the day, evidence related to the overarching story was put up on both the computers and an evidence board, and members of our team made sure to make notes on the new information that was put up. To aid with this, during the day we were given the opportunity to interview Nancy, where we did a passable impression of people who weren&apos;t making their questions up on the spot.</p><figure class="kg-card kg-embed-card kg-card-hascaption"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Clues, interrogations and initiative &#x1F50E; we&#x2019;re nearly six hours into <a href="https://twitter.com/hashtag/CYBERMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC18</a> and Team Slammer are top of the leaderboard! <a href="https://t.co/aXlJcx8e8n">pic.twitter.com/aXlJcx8e8n</a></p>&#x2014; Cyber Challenge UK (@Cyberchallenge) <a href="https://twitter.com/Cyberchallenge/status/1066728553453158405?ref_src=twsrc%5Etfw">November 25, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<figcaption>&quot;No Comment&quot;</figcaption></figure><p>We continued work on securing the systems and uncovering the story, and as we approached the end of the day we began compiling reports for both the CEO and CTO of the company. Another member of the team and I worked on these reports (with me focusing on the situation report), and we made sure to check each other&apos;s work as we went. In my opinion, this was both one of our greatest strengths and weaknesses. We ended up splitting into pairs for most of the event, and whilst this did mean that we were able to ensure productivity and accuracy, it did lead to reduced communication between the entire team. There were multiple instances where one of us would get several minutes into trying to solve an issue before discovering that someone else on the team was already working on it. We did setup a Discord server as somewhere to share links and credentials (very secure), and I&apos;d highly recommend that any other team at a CSC event do the same. I&apos;ve sometimes scoffed at teams setting up Slack or Discord groups at events, but given how well it&apos;s always worked for them, I have had to eat my words in that regard.</p><p>I unfortunately can&apos;t include the exact reports, as that would ruin similar challenges for those attempting them in the future, but I can tell you that whilst we did find ourselves copying parts between the reports, we ensured that we used non-technical language in the CEO report, and made sure that there were simple points for him to repeat to press.</p><p>We probably spent longer than we should have on these reports, not submitting them until minutes before the deadline, but it was worth it, as we got 70/100 for the technical report, and 90/100 for the situational report. These reports do highlight our coordination issue though. Whilst we did get them in, we started them far too late, and kept retracting them to add new information we had found. Looking back, it would have been a good idea to implement some kind of time management system like <a href="https://trello.com/">Trello</a>, and although we did initially create tokens we handed round to ensure only one person was working on a machine at once, this went out of the window almost immediately.</p><p>What the reports don&apos;t mention however, is the solution we put in to keep the page off of the site whilst we came up with a real solution. A tmux session running the below code may not seem like the best solution, but as a stop gap, it worked surprisingly well.</p><!--kg-card-begin: html--><script src="https://gist.github.com/thebeanogamer/05ce37559eb42dae43bd5f03999cecfa.js?file=Bodge1.sh"></script><!--kg-card-end: html--><p>Once we had got the reports done, we had a bit more time to work on challenges from the board, and had to prepare a presentation for the team in the USA who we would be handing investigations over to for the night. We made an effort to collect notes and prepare, but this highlighted our communication issues in a similar way to the report, although we were moving in the right direction. We divided up responsibilities into what we had done, what we felt needed doing, any actions we would recommend, and threat intelligence. Finally, once all that was done, the day was rounded out with a check-in from 29Alpha.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Phew! Day one of <a href="https://twitter.com/hashtag/CYBERMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC18</a> is done. Closing the day with an update from the highly convincing BBN news team, with special Anonymous hacker guest. Well done to everyone who&#x2019;s shown fantastic dedication to the challenge today, time to get ready to present your findings! &#x1F44F; <a href="https://t.co/9iYWxfQ7b0">pic.twitter.com/9iYWxfQ7b0</a></p>&#x2014; Cyber Challenge UK (@Cyberchallenge) <a href="https://twitter.com/Cyberchallenge/status/1066767497486114816?ref_src=twsrc%5Etfw">November 25, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>We ate dinner before heading back into the challenge room for a whirlwind tour of cryptography. We learnt about various ciphers and heard the story of acquiring an Enigma Machine! Turns out, German border guards don&apos;t really like you trying to leave with one, but it all worked out in the end and this machine ended up in a museum in Bletchley.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/01/image-4.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"><figcaption>Up close and personal with the real thing!</figcaption></figure><p>After all that, we made our way back to the hotel and collapsed. Whilst on the first day I had left the strength to stay up for a bit and talk, I was in no state to do that after a day of incident response, and I was out like a light.</p><hr><h1 id="day-3">Day 3</h1><p>Despite being so tired, with all still to play for, I was up bright and early at 6:15. After being one of the first to get Breakfast, we headed back to Barclays. Upon arriving at Barclays, we were given a list of changes that the USA team had made, and their changes were about as helpful as our report to them (not very!). Servers were misconfigured and several previously patched vulnerabilities were now present again. We jumped onto our machines to start patching, but almost immediately hit a road block. Whenever we connected to any of the machines over SSH, we got an escape room to rival Vim. Whilst this was initially really annoying, once we realised what had happened, I did have to stop momentarily as I was laughing hard enough to stop me working.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="/content/images/2019/01/image-5.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"><figcaption>&quot;That&apos;s the evilest thing I can imagine&quot;</figcaption></figure><p>A quick <code>unalias -a</code> later we were back in business, but because of this quick fix, we never found the true cause, likely losing us points. We continued searching systems for issues, and whilst I wont bore you with a complete list of what we found, there was one example that I think works quite well as a cautionary tale.</p><p>One of the systems that we had to maintain was an API built in Ruby and published using nginx. We fixed the issue with the Ruby, but we couldn&apos;t get nginx to start. I spent quite a while trying to fix this before discovering that despite initially discounting nginx&apos;s error messages as they made references to places I could see there wasn&apos;t an issue, looking over them again, I noticed an issue that I&apos;d come across before. Many linters (and Python is especially guilty of this) wont actually throw an error on the line that&apos;s not been correctly ended, it&apos;ll throw it on the next line when it hits something it isn&apos;t expecting. So I&apos;m somewhat ashamed to admit I spent around an hour looking for an issue that was solved by adding a <code>;</code> to a config file...</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/01/image-6.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"></figure><p>Later in the day, we were asked to prep for a press conference. As with the other timed events, we probably didn&apos;t start preparing for it early enough, but by the time of the conference, a representative of our team was ready enough to present what we had found so far. Whilst many teams took the opportunity during the press conference to take a small break, our rapidly falling position on the leaderboard left us in no state to do this, and we pressed on. The press conference was concluded with the CEO being taken into custody.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/01/image-8.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"></figure><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">The plot thickens at <a href="https://twitter.com/hashtag/CYBERMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC18</a> as CEO ARRESTED mid press conference o gosh <a href="https://t.co/YXH5Kefdql">pic.twitter.com/YXH5Kefdql</a></p>&#x2014; Ed Locard (@L0C4RD) <a href="https://twitter.com/L0C4RD/status/1067035398059249664?ref_src=twsrc%5Etfw">November 26, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>Whilst we had thought that fixing nginx would represent the last of our issues with the API, boy were we wrong. The API continued going down, and whilst we did make our best efforts to fix it, it became clear that it was eating too much of our time, so we took inspiration from the first day, and implemented a stop-gap.</p><!--kg-card-begin: html--><script src="https://gist.github.com/thebeanogamer/05ce37559eb42dae43bd5f03999cecfa.js?file=Bodge2.sh"></script><!--kg-card-end: html--><p>Just as we started to get everything under control, we received word that our network was being blamed for a massive DDoS attack, and that it needed to be stopped immediately or we would be cut off. Fortunately, we had already taken steps against this by disabling UDP on our memcache server, and a few <code>iptables</code> rules later, we had the situation under control.</p><p>It was then that it started to come crashing down for 29Alpha, as more evidence began to be uncovered linking Nancy and her brother to the attacks. We had to submit one final report with all the information that we had collected from both the interview and the intel board in the corner of the room, and unlike previous reports, we didn&apos;t wait until the last minute to get this one in!</p><p>Again, I can&apos;t include the actual report here, but in the report, we recommended action for Research4U and law enforcement. We did have to be careful with the second one though, and I had to be corrected by a law student on our team, as I began propose action that was either not appropriate or not something we were in a place to propose.</p><p>A few minutes later, we came to the end of the time we had been allocated, and were finally able to relax. This triggered the usual discussion of answers that comes at the end of any CTF, and I had a few key takeaways:</p><ul><li>Don&apos;t fight your way through <code>iptables</code> when the box has <code>ufw</code>. If it works, use it.</li><li>Think like a pentester. Whilst we did run <code><a href="https://github.com/rebootuser/LinEnum">linenum</a></code> on one of the boxes, we stopped looking at it once we spotted a vulnerability, and never really went back. Had we actually looked at it some more, we would have spotted the cron jobs that were causing us so much misery.</li><li>Focus on patching the root cause, as opposed to the actual vulnerability. As the Rangeforce team revealed, all the vulnerabilities existed in at least two places. Patch one and the other would just bring it back. You needed to make sure you were removing all traces of the attackers on the machines, as any foothold was enough to bring the entire system down. This would also have been aided by taking better notes, although we were able to reconstruct most of our actions from memory.</li></ul><p>Once we had said our final goodbyes and thank yous to the Barclays team, we headed back over to the hotel to prep for the dinner in the evening. For reasons I don&apos;t entirely understand but thoroughly approve of, CSC reserved the hotel&apos;s ball pit for the under 18 candidates, and we made full use of it.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">A bit of ball pit fun before the dinner this evening <a href="https://twitter.com/hashtag/CyberMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CyberMC18</a> <a href="https://twitter.com/hashtag/CyberSecurity?src=hash&amp;ref_src=twsrc%5Etfw">#CyberSecurity</a> <a href="https://t.co/ZAJFWkC6bI">pic.twitter.com/ZAJFWkC6bI</a></p>&#x2014; Cyber Challenge UK (@Cyberchallenge) <a href="https://twitter.com/Cyberchallenge/status/1067074620086456320?ref_src=twsrc%5Etfw">November 26, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><figure class="kg-card kg-image-card"><img src="/content/images/2019/01/image-11.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"></figure><p>I can definitely think of worse ways to catch up on the events of the past few days than partially submerged in a ball pit, but it was eventually time to prepare for the dinner. After several minutes of competitors laughing at each other as we were all clearly not used to wearing formal clothes, we began to mingle amongst the other guests. I can&apos;t talk too closely about who I actually spoke to for obvious reasons, but let&apos;s just say &quot;various people from various walks of life&quot; and leave it at that. After some business card swapping, we made our way into the hall for dinner.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/01/image-12.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"></figure><p>After polishing off the food, we were then treated to a performance from a very unique dance troop.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">Here, everything&apos;s cyber <a href="https://twitter.com/hashtag/CYBERMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC18</a> <a href="https://twitter.com/hashtag/cyberdance?src=hash&amp;ref_src=twsrc%5Etfw">#cyberdance</a> <a href="https://t.co/lEutYJuOoq">pic.twitter.com/lEutYJuOoq</a></p>&#x2014; Pete (@soitspete) <a href="https://twitter.com/soitspete/status/1067157430646247444?ref_src=twsrc%5Etfw">November 26, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>The dinner was rounded out with the announcement of the winners of the competitions, the best newcomer award, and the best career changer award, along with some individual prizes. Whilst I earned a Yubikey U2F key and a year&apos;s membership to iisp, some participants managed to earn tickets to Blackhat EU and University courses. We spent some more time networking in the dinner room before making our ways out into the bar area, where I took the opportunity to catch up with some of the people that I&apos;d met throughout the experience. It wasn&apos;t long however before I spotted a massive group of CSC staff making their way over to the ball pit.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">The Challenge team did an amazing job this evening, now they are winding down in style <a href="https://twitter.com/hashtag/CYBERMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC18</a> <a href="https://twitter.com/hashtag/cyberpros?src=hash&amp;ref_src=twsrc%5Etfw">#cyberpros</a> <a href="https://twitter.com/hashtag/cybersecurity?src=hash&amp;ref_src=twsrc%5Etfw">#cybersecurity</a> <a href="https://t.co/g36pucyooi">pic.twitter.com/g36pucyooi</a></p>&#x2014; Cyber Challenge UK (@Cyberchallenge) <a href="https://twitter.com/Cyberchallenge/status/1067231276388835328?ref_src=twsrc%5Etfw">November 27, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>The rest of the evening flew past with some interesting conversations and opportunities to talk to people I would never normally be able to, but the highlight had to be watching the CSC team getting some well earned rest time, Stuart being pelted with balls and returning in kind, and a very different side to people I had only seen in a professional context. I honestly couldn&apos;t tell you what time we kept the hotel staff up until keeping an eye on us, but judging from the fact that I tweeted at 3am, it must&apos;ve been fairly late.</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">I can&apos;t say thank you enough to <a href="https://twitter.com/rugbymad1865?ref_src=twsrc%5Etfw">@rugbymad1865</a>, <a href="https://twitter.com/SPCoulson?ref_src=twsrc%5Etfw">@SPCoulson</a>, and the entirety of the <a href="https://twitter.com/Cyberchallenge?ref_src=twsrc%5Etfw">@Cyberchallenge</a> and <a href="https://twitter.com/BarclaysUK?ref_src=twsrc%5Etfw">@BarclaysUK</a> team for organising <a href="https://twitter.com/hashtag/CYBERMC18?src=hash&amp;ref_src=twsrc%5Etfw">#CYBERMC18</a>! From defending systems in a realistic scenario to throwing balls at <a href="https://twitter.com/CySecCol?ref_src=twsrc%5Etfw">@CySecCol</a>, it&apos;s been an experience I&apos;ll never forget! <a href="https://t.co/FrnIXARdUr">pic.twitter.com/FrnIXARdUr</a></p>&#x2014; Daniel Milnes (@thebeanogamer) <a href="https://twitter.com/thebeanogamer/status/1067248924166098944?ref_src=twsrc%5Etfw">November 27, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><p>I left my hotel room with a large pile of my business cards, and I came back with a large pile of other people&apos;s cards, so I think that counts as a success?</p><h1 id="day-4">Day 4</h1><p>After the previous day&apos;s festivities, I gave up all semblance of good timekeeping, and rolled out of bed around 9:30, although unsurprisingly I was still very tired. I sauntered down to Breakfast and ate a little, before throwing my messy pile of clothes into my case and starting the long journey home.</p><figure class="kg-card kg-image-card"><img src="/content/images/2019/01/image-13.png" class="kg-image" alt="Cyber Security Challenge 2018 Masterclass" loading="lazy"></figure><p>I&apos;ve said it several times, both to their faces and online, but I really can&apos;t thank the entire challenge team enough for what they did for me and the other competitors. The Masterclass was like nothing else I&apos;d ever experienced, and will be taking pride of place on my resume. There really is nothing else like a CSC event, and I&apos;d seriously recommend anyone who is even vaguely interested have a go. What have you got to lose?</p><hr><h1 id="advice">Advice</h1><p>Whilst obviously the entire Masterclass was an amazing experience, I can&apos;t expect you to read all of that and not get anything useful, so here&apos;s some advice for anyone at a future CSC event:</p><ul><li>If someone in a white shirt comes over, explain to them what you are doing. They are assessors, and they are making individual notes on you. Whilst your technical performance is obviously very important, your soft skills are also being closely assessed, so explain what you are doing and ask for help. These people are professionals, and whilst they can&apos;t give you the exact solution to the issue you are facing, they deal with this kind of stuff on a daily basis, and can probably give you a push in the right direction.</li><li>Get coordinated. Every event will begin with an icebreaker, and take that opportunity to set up some infrastructure. Get a Slack or Discord group, and for longer events, setup some kind of project board system like Trello.</li><li>Bring a mouse and USB drive. It&apos;ll save you so much time. Just trust me on this one.</li><li>If you think something that isn&apos;t working should be, let someone know. There&apos;s no point sitting there trying to fix something where nothing&apos;s actually wrong.</li><li>Actually do the pre-reading. Many people will look at the size of the pre-reading and give up, but it&apos;s worth doing. Even if you don&apos;t get the whole way through each piece, it&apos;s worth doing as much as you can. The reading isn&apos;t picked at random, and is generally a pretty good indication of what you&apos;ll be doing.</li><li>Once the actual challenge is revealed to you, stop and take stock of what you have. Spend a few minutes coming up with a plan, work on what you&apos;re good at, and let the others handle what they&apos;re good at. There may be times that you feel that you&apos;re out of your depth, but you need to remember that you have a team who are there to help you, and at the end of the day, this is an event. You&apos;re behaviour is being evaluated, and being adaptable is a great skill. Even if you don&apos;t know exactly what you are doing, a willingness to try and to learn is very important.</li><li>Take notes as you go. You&apos;ll usually be asked to produce some kind of report, and there&apos;s nothing worse in the world than having to write a report entirely from memory.</li><li>Get business cards. If you have the chance, give them to someone, the worst thing they can do is bin it. If someone offers you their card, take it, but remember to actually follow up, and fairly quickly. Getting an email that says &quot;we met 6 months ago but I&apos;ve not got round to emailing you&quot; doesn&apos;t look great.</li><li>Get LinkedIn. Get it now. I&apos;ll be doing a blog post about doing LinkedIn properly at some point, so keep an eye out for that.</li></ul><p>Congratulations on getting to the end of that, I know it was a lot. If you have any questions, feel free to email me on <a href="mailto:daniel@daniel-milnes.uk">daniel@daniel-milnes.uk</a> or on Twitter at <a href="https://www.twitter.com/thebeanogamer">@thebeanogamer</a>.</p>]]></content:encoded></item></channel></rss>