<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>Certified in The Art of Hacking &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/certified-in-the-art-of-hacking/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Tue, 04 Nov 2025 06:56:01 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>Certified in The Art of Hacking &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[MSc Assignment 4 - Open Professional Practise - Cyber Security]]></title>
		<link>https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/</link>
					<comments>https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 13 Feb 2022 12:34:03 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Certified in The Art of Hacking]]></category>
		<category><![CDATA[MSc]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=41357</guid>

					<description><![CDATA[I&#039;m doing an apprenticeship MSc in Digital Technology. In the spirit of openness, I&#039;m blogging my research and my assignments.  This is my paper from the OPP module - where I can choose any subject. I picked Cybersecurity. You can read my Digital Leadership paper, my Data Analytics Paper, and my Business and Technology essay.  I&#039;ve previously written about the Art of Hacking course.  The middle…]]></description>
										<content:encoded><![CDATA[<p>I'm doing an apprenticeship <a href="https://shkspr.mobi/blog/tag/msc/">MSc</a> in Digital Technology. In the spirit of openness, I'm blogging my research and my assignments.</p>

<p>This is my paper from the OPP module - where I can choose any subject. I picked Cybersecurity. You can read <a href="https://shkspr.mobi/blog/2021/05/msc-first-assignment-technical-and-digital-leadership/">my Digital Leadership paper</a>, my <a href="https://shkspr.mobi/blog/2021/08/msc-assignment-2-data-analytics-principles/">Data Analytics Paper</a>, and my <a href="https://shkspr.mobi/blog/2021/11/msc-assignment-3-business-and-technology/">Business and Technology essay</a>.</p>

<p>I've previously written about the <a href="https://shkspr.mobi/blog/tag/certified-in-the-art-of-hacking/">Art of Hacking</a> course.  The middle two parts of this paper are about that - why I chose it and how I put it into practice. The first and fourth parts are, as far as I can tell, unrelated. We have to write about reflection in the workplace. I am not very introspective, and I don't really enjoy it. So it was somewhat tedious to churn out.</p>

<p>Nevertheless, I was happy with a mark of 64%. (In the English system 50% is a pass, 60% is a commendation, 70% is distinction.)</p>

<p>The main feedback was that I needed to do more reflection (ugh!) and write in more flowing paragraphs rather than staccato points. This is a consequence of my <a href="https://shkspr.mobi/blog/2022/01/an-algorithm-to-write-an-assignment/">Assignment Writing Algorithm</a> - which reverse engineers the marking scheme. But I'm only aiming for a pass, so I'm content to stick with that strategy.</p>

<p>Oh, and the other feedback was that my <a href="https://shkspr.mobi/blog/2021/11/what-is-my-career-development-plan/">Personal Development Plan was a little "unorthodox"</a>! Again, I've no real plans to change something which is working for me.</p>

<p>A few disclaimers:</p>

<ul>
<li>I don't claim it to be brilliant. I am not very good at academic-style writing.</li>
<li>It is fairly inaccurate. Many of the concepts on reflection were not relevant to my workplace, so there is a <em>lot</em> of fudging.</li>
<li>This isn't how I'd write a normal document for work - and the facts have not been independently verified.</li>
<li>This isn't the policy of my employer, nor does it represent their opinions. It has only been assessed from an academic point of view.</li>
<li>It has not been peer reviewed, nor are the data guaranteed to be an accurate reflection of reality. Cite at your own peril.</li>
<li>I've quickly converted this from Google Docs + <a href="https://shkspr.mobi/blog/2021/05/zotero-citations-to-markdown-via-csl/">Zotero into MarkDown</a>. Who knows what weird formatting that'll introduce!</li>
<li>All references are clickable - going straight to the source. Reference list is at the end, most links converted using <a href="https://shkspr.mobi/blog/2020/11/introducing-doi2ht-ml-the-simple-semantic-citation-server/">DOI2HT.ML</a>.</li>
</ul>

<p>And, once more, this is not official policy. It was not commissioned by anyone. It is an academic exercise. Adjust your expectations accordingly.</p>

<h2 id="abstract"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#abstract">Abstract</a></h2>

<p>This paper describes the author's experience with reflection in the workplace and how modern forms of reflection can be applied in their current workplace. It considers different models of reflection, and their comparative strengths and weaknesses.</p>

<p>It also discusses the selection and application of a cyber-security focussed piece of Continuing Professional Development. The author reflects on their experience and discusses how they will adjust their nascent Personal Development Plan based on what they have learned.</p>

<p>Finally, the author considers the topic of mentoring as a way to bring reflective practice into their workplace. What advantages does mentoring bring to employees and organisations? Are reverse mentors a suitable way to upskill senior leaders? Is the organisation ready to support a culture of mentoring and reflection?</p>

<h2 id="1-a-critical-review-of-reflective-activities-as-typically-practised-in-your-profession-compared-to-two-well-known-reflective-models-used-in-academia"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#1-a-critical-review-of-reflective-activities-as-typically-practised-in-your-profession-compared-to-two-well-known-reflective-models-used-in-academia">1. A critical review of reflective activities as typically practised in your profession compared to two well-known reflective models used in academia</a></h2>

<h3 id="reflective-activity-at-work"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#reflective-activity-at-work">Reflective Activity At Work</a></h3>

<p>In the author's 20 years of industry experience they have never experienced any form of <em>formal</em> reflective activity within an organisation. In their experience, reflection rarely occurs in delivery-led organisations and, when it does, it is sporadic and informal. Although annual appraisals have long been a feature of the UK Civil Service (Fletcher, 2008), they can be treated as a "tick box" exercise rather than formal periods of reflection.</p>

<p>Although the author believes that this could be an area for improvement, there has been very little study of whether reflective practises in digital organisations are effective (<a href="https://doi.org/10.1109/CSEET49119.2020.9206217">Dors <em>et al.</em>, 2020</a>). The author cannot tell if this is either a cause or a symptom of the unpopularity of reflective activity.</p>

<p>The author's current organisation uses a modified form of Agile product management modelled on a SCRUM (Schwaber, 2004).  Teams produce estimates of what can be delivered in a "sprint" (<a href="https://doi.org/10.1007/978-981-10-8848-3_6">Popli and Chauhan, 2019</a>), i.e. a time-bound period of work.  At the end of a sprint, a retrospective takes place. This is an opportunity for colleagues to reflect on what went well during the sprint and what could have been improved (<a href="https://doi.org/10.1007/978-3-319-57633-6_1">Andriyani, Hoda and Amor, 2017</a>).   A retrospective is a lightweight tool to enable teams to refine their estimates for the future and it may also help the team discover "blockers" (<a href="https://doi.org/10.1007/978-3-030-64148-1_4">Guckenbiehl and Theobald, 2020</a>) - i.e. people, processes, and events which disrupted or delayed the planned work.</p>

<p>In the author's organisation, what is being delivered is neither computer code nor technological features. Rather it is guidance, presentations, publications, and stakeholder engagement. The measurement of success is not as well defined as it is in the engineering profession. This makes more structured reflection difficult.</p>

<h3 id="well-known-reflective-models"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#well-known-reflective-models">Well-known Reflective Models</a></h3>

<p>The author will consider Johns' model for structured reflection (<a href="https://doi.org/10.1046/j.1365-2648.1995.22020226.x">Johns, 1995</a>). Although designed for the nursing profession, it is occasionally used in other industries.  It focuses on internal and external views of the self. It helps the user describe the situation, how they reacted to it, and what influenced them. There is a strong focus on emotions - which some users may find challenging (<a href="https://doi.org/10.1007/s12144-021-01413-3">Croom and Svetina, 2021</a>).</p>

<p>A different perspective is provided by Moon's "Levels of Learning" (<a href="https://doi.org/10.4324/9780203822296">Moon, 2013</a>) - focusing on an weakly-defined concept of "common sense". It is designed for individuals undertaking a learning journey rather than teams engaged in delivery. Much like John's model, it also focuses on understanding emotions.</p>

<p>The author has considered these three models and made a brief assessment of them:</p>

<table>
  <tbody><tr>
   <td colspan="4">Table 1 -  Evaluation of three reflective models
   </td>
  </tr>
  <tr>
   <td>
   </td>
   <td><strong>Retrospective</strong>
   </td>
   <td><strong>Johns' model for structured reflection</strong>
   </td>
   <td><strong>Moon's levels of learning</strong>
   </td>
  </tr>
  <tr>
   <td><strong>Strengths</strong>
   </td>
   <td>Lightweight.
<p>
Fits in with common software development patterns.
</p><p>
Well understood across Government.
   </p></td>
   <td>Structured and reflexive.
<p>
Includes ethical considerations.
</p><p>
Focus on improvement and support.
   </p></td>
   <td>Five step structured process.
<p>
Useful for assessing learning.
   </p></td>
  </tr>
  <tr>
   <td><strong>Weaknesses</strong>
   </td>
   <td>Rarely used across more than one sprint.
<p>
Can dissolve into "blamestorming" (<a href="https://doi.org/10.2307/j.ctt1sq5vnt">Dingwall and Hillier, 2015</a>).
   </p></td>
   <td>Focus on the individual - not the team.
<p>
Might be too emotionally intense for the workplace.
   </p></td>
   <td>Generic. No specific focus on unique issues encountered.
<p>
Unsuited to software development or technical writing.
   </p></td>
  </tr>
</tbody></table>

<p>While the retrospective has limitations, it enjoys strong support in the author's current organisation. It may be possible to improve the quality of a retrospective sprint assessment by applying rigorous statistical techniques (<a href="https://doi.org/10.1002/smr.1933">Erdoğan, Pekkaya and Gök, 2018</a>). By comprehensively analysing the team's estimates and how well they match up with delivery, more reliable estimates could be obtained.</p>

<p>John's model might be useful for individuals who decide to engage in reflective practice. But the author considers it unsuitable for team-based reflection. The author's organisation strongly believes that "The unit of delivery is the team" (<a href="https://www.sheffield.ac.uk/dcs/blog/10-years-genesys">Barabas, 2020</a>). This means that any form of reflective practice needs to be focused on the team rather than any particular individual.</p>

<p>Similarly, Moon's model may work well for individuals engaged in learning, but it is unsuited to facilitating teams to reflect on how well they have met their delivery goals due to its focus on individuals.</p>

<h2 id="2-a-reflective-discussion-of-the-selection-of-cpd-in-relation-to-the-wider-technical-area-the-context-within-your-organisation-and-your-specific-role"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#2-a-reflective-discussion-of-the-selection-of-cpd-in-relation-to-the-wider-technical-area-the-context-within-your-organisation-and-your-specific-role">2. A reflective discussion of the selection of CPD in relation to the wider technical area, the context within your organisation, and your specific role</a></h2>

<p>I am a Senior Technology Policy Advisor with a background in technology.  Although I have extensive experience in cybersecurity, I did not have any formal training or qualifications. An assessment was made of my team's skills and weaknesses. An opportunity was identified to improve the credibility of the team's guidance by gaining demonstrable qualifications - for example, in cybersecurity.</p>

<p>With my extensive knowledge of cybersecurity - and my team's need of qualified personnel - I concluded that this course would be a suitable way for me to upskill while also meeting organisational needs.  Given my ability to put this learning into practice, I thought it would enhance my retention of the knowledge. In Continuing Professional Development (CPD), the learner learns through an experiential process, then interrogates their experience, recognises what has occurred, and then puts their learning into practice.</p>

<p>This is often a cyclic process (Osterman and Kottkamp, 1993) which allows the learner to experiment, experience, analyse, and abstract.</p>

<table>
  <tbody><tr>
   <td>Figure 1 - Experiential Learning Cycle
   </td>
  </tr>
  <tr>
   <td>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/12/cycle.png" alt="A crappy diagram showing a cycle." width="733" height="213" class="aligncenter size-full wp-image-41358">
   </td>
  </tr>
  <tr>
   <td>(Osterman and Kottkamp, 1993)
   </td>
  </tr>
</tbody></table>

<p>As noted in my Personal Development Plan (See "Appendix: Professional Development Plan"), I am looking for interesting new career opportunities which may arise. Cybersecurity is currently an in-demand profession (<a href="https://doi.org/10.1145/3458026.3462153">Maurer <em>et al.</em>, 2021</a>) and I hope this certification will enable me to explore a wide range of roles in the future.  I also hoped that this course would improve my knowledge of legal and ethical matters in the field.</p>

<h3 id="reflective-activities"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#reflective-activities">Reflective Activities</a></h3>

<p>In order to better reflect on the experience, I have written a series of blog posts. Some of these have been published on my personal blog (<a href="https://shkspr.mobi/blog/tag/certified-in-the-art-of-hacking/">Eden, 2021</a>). The resultant discussion from readers has highlighted that there were a number of outdated concepts and that some of the information taught was factually incorrect.</p>

<p>In order to improve my personal brand within the organisation, I have written a blog post for the Cabinet Office Intranet. Writing this has enabled me to reflect on how I want to be perceived in a formal and professional setting.</p>

<p>I was unsure if I wanted to be identified as an apprentice. I recognised there can be a negative perception around the academic rigour of apprenticeship degrees. I was concerned whether I could write honestly about my experience while still demonstrating value for money for taxpayers.</p>

<p>I was also nervous that discussion of "hacking" on a Government website could be seen as inappropriate. I sometimes struggle to write in the Government "House Style" and I was concerned that the technical discussion could be misinterpreted.</p>

<h2 id="3-an-overview-of-how-the-cpd-has-been-applied-within-your-own-professional-practice"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#3-an-overview-of-how-the-cpd-has-been-applied-within-your-own-professional-practice">3. An overview of how the CPD has been applied within your own professional practice</a></h2>

<h3 id="3-1-an-overview-of-the-cpd"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#3-1-an-overview-of-the-cpd">3.1 An overview of the CPD</a></h3>

<p>The CPD undertaken was "Certified in The Art of Hacking" (<a href="https://www.qa.com/course-catalogue/courses/certified-in-the-art-of-hacking-qataoh/">QA.com, 2021</a>). For a full overview, see Appendix: CPD Course Description.</p>

<p>I will reflect on the experience using the DIEP model (<a href="https://doi.org/10.1023/A:1010986404527">Rogers, 2001</a>):</p>

<h4 id="describe"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#describe">Describe</a></h4>

<p>A basic cybersecurity course. It covered an older version of the Open Web Application Security Project's "Top 10" issues (<a href="https://owasp.org/www-project-top-ten/2017/Top_10.html">OWASP Foundation, 2017</a>) - which is a list of common computer security vulnerabilities.</p>

<h4 id="interpret"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#interpret">Interpret</a></h4>

<p>While my background gives me confidence in cybersecurity, I wished to further develop my skills and gain formal recognition.</p>

<h4 id="evaluate-effectiveness"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#evaluate-effectiveness">Evaluate effectiveness</a></h4>

<p>I found the "rote learning" style of the class challenging. My preferred learning style is based around understanding concepts rather than memorising commands.</p>

<p>Through this experience, I gained confidence in my existing skills. I was also reminded that my expertise didn't expand beyond the Linux operating system. It was useful to see how other operating systems work.</p>

<h4 id="plan-for-the-future"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#plan-for-the-future">Plan for the future</a></h4>

<p>In future, I hope to encourage more cybersecurity awareness among my peers.  However, early feedback from the wider cybersecurity community suggests that this CPD may not be relevant to the modern workplace.</p>

<h3 id="evaluation"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#evaluation">Evaluation</a></h3>

<p>I was delighted to pass the exam with a score of 80%. I was able to consolidate my learning by writing blog posts about what I learned, tutoring other students on the course, and building my own Kali Linux lab to experiment in.</p>

<p>The course did not cover the UK legislation relevant to the exploitation of computer vulnerability. The UK has strict laws which regulate how interactions with computers are governed (<a href="https://www.legislation.gov.uk/ukpga/1990/18/contents"><em>Computer Misuse Act</em>, 1990</a>). As such, I have made recommendations to the training provider, and have added a legal refresher to my CPD plan.</p>

<p>Similarly, there was no discussion of ethics. As a Member of the British Computer society - I am expected to follow a professional code of conduct (<a href="https://www.bcs.org/membership/become-a-member/bcs-code-of-conduct/">British Computer Society, 2021</a>).  This is also a requirement of my other professional memberships (<a href="https://www.theiet.org/about/governance/rules-of-conduct/">The Institution of Engineering and Technology, 2019</a>).  The ethics of cybersecurity is not a new field (Denning, 1999) - and I consider it crucial that practitioners understand the ethical issues which may occur if they practice these skills outside of a tightly controlled laboratory environment.</p>

<h3 id="3-2-identification-of-specific-projects-for-which-this-cpd-has-had-or-could-have-had-an-impact"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#3-2-identification-of-specific-projects-for-which-this-cpd-has-had-or-could-have-had-an-impact">3.2 Identification of <em>specific</em> projects for which this CPD has had or could have (had) an impact.</a></h3>

<p>I am working with the National Cyber Security Centre (NCSC) to implement "security.txt" (<a href="https://securitytxt.org/">Shafranovich, 2021</a>). This is a new cybersecurity standard which provides easily-accessible metadata to cybersecurity researchers. This promotes "responsible disclosure" of security issues to the website owner (Mori and Goto, 2018) by providing metadata relating to encryption keys, disclosure programmes, and expiration dates of security policies.</p>

<table>
  <tbody><tr>
   <td>Figure 2 - Example security.txt file
   </td>
  </tr>
  <tr>
   <td>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/12/example-file.png" alt="Screenshot of a text file." width="383" height="301" class="aligncenter size-full wp-image-41359">
   </td>
  </tr>
  <tr>
   <td>(<a href="https://www.ietf.org/id/draft-foudil-securitytxt-12.txt">Shafranovich and Foudil, 2021</a>)
   </td>
  </tr>
</tbody></table>

<p>This CPD will allow me to better provide a security assessment of standards and how they are implemented. With an increased knowledge of common flaws and how they can be exploited, I will be able to help my team create guidance for the above standard which is more security focussed.  This will lead to an increased awareness of cybersecurity issues throughout the organisation.</p>

<p>My team regularly provides input to international treaties and Memoranda of Understanding (MOU) as they relate to international open standards. Having a heightened security perspective will allow me to engage in higher level discussions about vulnerabilities and their potential for exploitation.</p>

<p>As our team creates the first comprehensive API Catalogue for Government, I am now able to discuss security issues with our developers, and to comprehensively identify misconfigurations which might lead to security issues on a sensitive government web server.</p>

<h3 id="3-3-a-discussion-of-how-you-have-applied-or-will-apply-the-new-skills-or-knowledge-gained"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#3-3-a-discussion-of-how-you-have-applied-or-will-apply-the-new-skills-or-knowledge-gained">3.3 A discussion of how you have applied or will apply the new skills or knowledge gained</a></h3>

<p>I have applied these new skills by obtaining consent from a number of administrators to run automated scanning tools against their servers. I made several discoveries which I responsibly disclosed. This has led to an increase of the security posture of our IT estate. While I am not at liberty to disclose the vulnerabilities found, these tools typically discover misconfigured servers, outdated software, and weak default passwords.</p>

<p>I will apply this new knowledge in several ways.  As part of my work conducting Service Assessments, I will be able to query teams on their ability to defend against common threats and the steps they will take to secure new systems.</p>

<p>As I consult with developers on a regular basis, I will be able to make suggestions on how to properly sanitise user generated content and ensure that it does not pose a threat to our internal infrastructure. While these flaws can be detected using machine learning (<a href="https://doi.org/10.1145/3442381.3450062">Melicher <em>et al.</em>, 2021</a>) there are often simpler, framework-based methods of protection (<a href="https://doi.org/10.1007/978-3-642-23822-2_9">Weinberger <em>et al.</em>, 2011</a>) - i.e. HTML escaping of supplied content.</p>

<p>I will discuss with stakeholders how we can assist the IETF ratification process for the proposed "security.txt" - and how we can use it to promote a culture of cybersecurity throughout the organisation. This should reduce the number of cybersecurity incidents and drive down the cost to the organisation of reacting to attacks.</p>

<h3 id="3-4-a-summary-of-next-steps-in-your-professional-development-based-on-your-experience"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#3-4-a-summary-of-next-steps-in-your-professional-development-based-on-your-experience">3.4 A summary of next steps in your professional development based on your experience.</a></h3>

<p>Having completed this short course, I can now evidence that I am familiar with modern cybersecurity issues and how they impact both the workplace and the government.</p>

<p>There is a concerted effort within the British Government to encourage people into cybersecurity related jobs (<a href="https://twitter.com/OliverDowden/status/1315586209415073793">Dowden, 2020</a>). With an increase in cybercrime during the COVID19 pandemic (<a href="https://doi.org/10.1016/j.cose.2021.102248">Lallie <em>et al.</em>, 2021</a>) it is clear that there is high demand for people with professional cybersecurity qualifications and experience.</p>

<p>I am already recognised as a cybersecurity expert in the media (<a href="https://www.infosecurity-magazine.com/news/mailchimp-found-leaking-email/">Seals, 2018</a>) (<a href="https://threatpost.com/twitter-data-privacy-bugs/140007/">O’Donnell, 2018</a>) (<a href="http://www.mirror.co.uk/news/technology-science/technology/hacked-nhs-websites-used-criminals-5935415">Hayward, 2015</a>). I've won bug bounties against Twitter (<a href="https://news.sophos.com/en-us/2018/12/18/twitter-fixes-bug-that-lets-unauthorized-apps-get-access-to-dms/">Vaas, 2018</a>), Samsung (<a href="https://www.zdnet.com/article/samsung-flaw-allows-attackers-to-bypass-android-lock-screen/">Whittaker, 2013</a>), and most recently, Google (<a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1242315">Eden, 2021</a>).This certification gives me further credibility in the professional world.</p>

<p>I need to ensure a synergy between my organisation's goals and my personal development goals. I will achieve this by amending my CPD plan (see Appendix: Professional Development Plan to include:</p>

<ul>
<li>Completing the MSc and, by consulting with my manager and peers, ensuring my next module aligns with their goals.</li>
<li>Undertaking further courses recommended by my peers</li>
<li>Teaching others about cybersecurity. I find that explaining a subject is an excellent way to crystalise my understanding.</li>
<li>Blogging about the experience for work. I think it is important to publicise the educational opportunities which exist in our organisation.</li>
</ul>

<h3 id="reflective-activity"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#reflective-activity">Reflective Activity</a></h3>

<p>I approached the task of reflection by assessing several models of Retrospective Reflection (Gonçalves and Linders, 2014). Because of the nature of the event (CPD based training) I decided to reflect using the key questions identified for discrete events (<a href="https://dl.acm.org/doi/book/10.5555/367065">Kerth, 2001</a>).</p>

<table>
  <tbody><tr>
   <td colspan="2">Table 2 - Kerth's Reflective Questions
   </td>
  </tr>
  <tr>
   <td><strong>What did we do well, that if we don’t discuss we might forget?</strong>
   </td>
   <td>Learning by doing is an excellent way to retain information. I learn best when I have real-life examples to practice on.
<p>
I should ensure that any training I give in the future allows participants to engage in practical learning rather than simply discussing theoretical concepts.
</p><p>
By teaching others in the class who were stuck on exercises, I was able to demonstrate to myself that I had successfully mastered the information.
</p><p>
I was able to retain focus for a whole week of intense study. This was my first week-long course and I was proud to have completed it without distraction.
   </p></td>
  </tr>
  <tr>
   <td><strong>What did we learn?</strong>
   </td>
   <td>I learned that a lot of security knowledge can be distilled into basic principles. Relating vulnerabilities back to a set of core "commandments" makes it simpler to identify issues and learn how they occur.
<p>
Much of what was taught was syntax and trivia. That is, learning the precise command-line switches to use, and the exact terminology for types of issues.
</p><p>
I found little value in memorising complex commands. While it is useful to learn the capabilities of the tools, their interfaces change regularly.  Similarly, I found it frustrating to be tested on knowledge which can easily be discovered by consulting in-built documentation.
   </p></td>
  </tr>
  <tr>
   <td><strong>What should we do differently next time?</strong>
   </td>
   <td>I need to be more forthcoming when I do not understand a subject. At times, I was confused by unfamiliar terminology and I felt embarrassed for asking for explanations. I should realise that my ignorance isn't a cause of shame and that the educator is paid to provide clarity.
<p>
I should be prepared to work harder on problems I don't understand. Even if I feel that the information won't be useful to me, it's important to get a rounded understanding of a wide variety of security information.
</p><p>
Next time I attend a workshop, I should make sure that my accessibility equipment won't cause any issues. I can get frustrated when I am unable to fully participate in a workshop.
   </p></td>
  </tr>
  <tr>
   <td><strong>What still puzzles us?</strong>
   </td>
   <td>I don't understand why the workshop material wasn't updated for 2021. I should be more assertive in challenging outdated training information.
<p>
I wasn't sure how I would relate this CPD training to a reflective based assessment.
</p><p>
How I can legally and ethically put these new skills into practice.
   </p></td>
  </tr>
</tbody></table>

<h2 id="4-a-discussion-on-whether-and-how-reflective-practice-could-be-integrated-or-further-developed-as-a-standard-activity-in-an-organisation-like-your-own"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#4-a-discussion-on-whether-and-how-reflective-practice-could-be-integrated-or-further-developed-as-a-standard-activity-in-an-organisation-like-your-own">4. A discussion on whether and how reflective practice could be integrated or further developed as a standard activity in an organisation like your own</a></h2>

<p>The author considers that the most practical form of reflective practice in their workplace is likely to be reflective mentoring. Mentoring would allow more junior staff to learn - and receive support - from more senior staff.</p>

<p>Interdisciplinary mentoring in digital industries has a long history (<a href="https://doi.org/10.4018/978-1-7998-5728-0.ch018">Hamburg, 2021</a>).  There is a concerted effort within the author's organisation to encourage mentoring relationships between staff (<a href="https://gds.blog.gov.uk/2019/03/08/learn-more-about-the-new-mentoring-scheme-from-the-gds-womens-network/">Stevens, 2019</a>).</p>

<p>In a typical mentoring situation, the mentee (the person being mentored) is usually a new starter to the organisation, or someone new to their job role. The mentor is usually someone who has been practising their craft for several years.</p>

<p>By pairing employees in this way, the organisation can facilitate knowledge sharing in both directions.  That is, both mentoring and "reverse mentoring".</p>

<h3 id="reflective-mentoring"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#reflective-mentoring">Reflective Mentoring</a></h3>

<p>This allows mentees to reflect on their own experiences in the workplace, and encourages them to address any issues that they might be facing (Khamis, 2000).</p>

<p>It is important that the mentor / mentee relationship is that as of equals - rather than the outmoded master / apprentice relationship. Having a mentor who steps in to "fix" all the mentee's problems deprives the mentee of the experience of fixing their own problems in their own way. Without a mentee being able to develop their own way of working, there is a risk that they will imitate their mentor and thus perpetuate outdated practises (<a href="https://www.jstor.org/stable/1477441">Hargreaves and Fullan, 2000</a>).</p>

<h3 id="reverse-mentoring"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#reverse-mentoring">Reverse Mentoring</a></h3>

<p>Reverse mentoring is part of the two-way dialectic process which encourages the mentor to learn from the mentee.</p>

<p>This is how the modern workforce expects to learn and socialise. Millennials in the workplace place a great emphasis on being able to reflect their culture back to the organisation (<a href="https://www.jstor.org/stable/40605780">Hershatter and Epstein, 2010</a>).</p>

<p>This typically takes place in two distinct spheres - technical and cultural.</p>

<h4 id="technical"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#technical">Technical</a></h4>

<p>In the technical sphere, reverse mentors may choose to help their mentees to understand and use modern technical practice. Although our leaders have enough technical literacy to understand that printing out email is an "archaic strategy" (Robinson, 2012) - the pace of digital change in our sector means it is easy for an individual or team to overlook new ways of working.</p>

<p>This also extends to new productivity tools, and new ways of promoting work on social media.</p>

<p>Finally, the reverse mentor may bring valuable experiences from different employment sectors.  Not only does this help "cross-pollinate" technologies - but it also brings in cultural changes.</p>

<h4 id="cultural"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#cultural">Cultural</a></h4>

<p>In the author's lifetime, there have been enormous changes in society and social norms. Where once any suggestion of homosexuality was enough to be banned from the Civil Service (<a href="https://issuu.com/fcohistorians/docs/homosexuality_and_the_fco">Southern, 2017</a>), nowadays the organisation openly welcomes people from across the LGBTQIA+ spectrum.  With younger people increasingly likely to have a more tolerant attitude to the Trans community (Faye, 2021), it could be extremely useful for senior leaders to understand how a more diverse workforce could benefit the organisation.</p>

<h3 id="finding-mentors"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#finding-mentors">Finding Mentors</a></h3>

<p>It is common in the technology industry to find mentors who are experts in their field, but who lack any formal training in mentoring (<a href="https://doi.org/10.1111/nyas.14470">Stelter, Kupersmidt and Stump, 2021</a>). The author considers there to be a need to establish best practises around mentoring.</p>

<p>Creating a centre of excellence within the organisation would allow for a formal mentoring programme to model itself on best practice. It should be used to encourage traditionally excluded groups into participating at all levels of the programme.</p>

<p>Better diversity means the organisation is better able to reflect the population it serves.</p>

<h3 id="reflections-on-reflection"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#reflections-on-reflection">Reflections on Reflection</a></h3>

<p>The author is unsure whether there is an appetite for adopting a culture of reflection within their workplace. In conversations with teammates, they found that there was little understanding of why reflection was important to their day-to-day practice.</p>

<p>While some individual reflection undoubtedly occurs, wholesale cultural transformation is likely to be difficult to achieve - especially given the paucity of evidence that it would be useful.</p>

<h2 id="appendix"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#appendix">Appendix</a></h2>

<h3 id="professional-development-plan"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#professional-development-plan">Professional Development Plan</a></h3>

<h4 id="history"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#history">History</a></h4>

<p>In my 20+ year career I have never had, nor needed a PDP.  My career thus far has consisted of waiting for interesting opportunities to arrive and then deciding whether I want to take them. In a world where the only constant is change, it strikes me as unnecessary and a little foolhardy to try and work out what the future looks like and how to fit in with it.</p>

<h4 id="current"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#current">Current</a></h4>

<p>I have reached a level of professional success which means that my material needs are more than satisfied, my intellectual curiosity is sated, and my reputation in the industry is well regarded.</p>

<h4 id="future"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#future">Future</a></h4>

<p>When considering my career so far, I think I have progressed as far as I want to. While a higher salary is always nice, I don't think it offsets the downsides of added work stress, more responsibilities, and management chores. I have no desire to pursue a management pathway - having previously managed people, I quickly realised that it was neither a good fit for my skills nor my interests.</p>

<h4 id="overarching-goals"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#overarching-goals">Overarching Goals</a></h4>

<p>Pursue interesting opportunities when they arise within a wide variety of industries, as bounded by my interests.</p>

<h4 id="previous-steps"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#previous-steps">Previous Steps</a></h4>

<ul>
<li>Started an MSc - with a view to engaging with the academic mindset to see if it would be a good fit for me in the future.</li>
<li>Identified a qualification gap with regard to Cyber Security skills - attended CPD to rectify.</li>
<li>Attended "Policy School" - to better understand policy making decisions.</li>
</ul>

<h4 id="next-steps"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#next-steps">Next Steps</a></h4>

<ul>
<li>Continue this MSc - with a view to exposing myself to a variety of new concepts.</li>
<li>Improve my understanding of legal and ethical issues - with a view to instilling more ethical behaviour in those I work with.</li>
<li>Become more involved with Trade Union training - with a view to improving the lives of those I work with.</li>
<li>Attend mentoring workshops - with a view to increasing the diversity of the organisation.</li>
</ul>

<h4 id="career"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#career">Career</a></h4>

<ul>
<li>Look for interesting opportunities in my current department which keep me roughly at the same level of work and responsibilities.</li>
<li>Once my MSc is completed, consider opportunities outside my current department.</li>
</ul>

<h2 id="references"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#references">References</a></h2>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Andriyani</span><span>, </span><span itemprop="givenName">Yanti</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Hoda</span><span>, </span><span itemprop="givenName">Rashina</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Amor</span><span>, </span><span itemprop="givenName">Robert</span></span></span> <q><cite itemprop="headline">Reflection in Agile Retrospectives</cite></q> <span>(</span><time itemprop="datePublished" datetime="2017">2017</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Springer International Publishing</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1007/978-3-319-57633-6_1">doi:10.1007/978-3-319-57633-6_1</a></span></span></p>

<p>Barabas, E. (2020) 10 years since Genesys | Computer Science | The University of Sheffield. Available at: <a href="https://www.sheffield.ac.uk/dcs/blog/10-years-genesys">https://www.sheffield.ac.uk/dcs/blog/10-years-genesys</a> (Accessed: 21 October 2021).</p>

<p>British Computer Society (2021) BCS Code of Conduct | BCS. Available at: <a href="https://www.bcs.org/membership/become-a-member/bcs-code-of-conduct/">https://www.bcs.org/membership/become-a-member/bcs-code-of-conduct/</a> (Accessed: 14 November 2021).</p>

<p>Computer Misuse Act (1990). Statute Law Database. Available at: <a href="https://www.legislation.gov.uk/ukpga/1990/18/contents">https://www.legislation.gov.uk/ukpga/1990/18/contents</a> (Accessed: 9 November 2021).</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><link itemprop="url" href="http://orcid.org/0000-0003-4497-3202"><span itemprop="name"><span itemprop="familyName">Croom</span><span>, </span><span itemprop="givenName">Simon</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Svetina</span><span>, </span><span itemprop="givenName">Marko</span></span></span> <q><cite itemprop="headline">Psychometric properties of the psychopathic personality inventory: Application to high-functioning business population</cite></q> <span>(</span><time itemprop="datePublished" datetime="2021">2021</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Springer Science and Business Media LLC</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1007/s12144-021-01413-3">doi:10.1007/s12144-021-01413-3</a></span></span></p>

<p>Denning, D. E. R. (1999) Information warfare and security. New York : Reading, Ma: ACM Press ; Addison-Wesley.</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Dingwall</span><span>, </span><span itemprop="givenName">Gavin</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Hillier</span><span>, </span><span itemprop="givenName">Tim</span></span></span> <q><cite itemprop="headline">Blamestorming, Blamemongers and Scapegoats</cite></q> <span>(</span><time itemprop="datePublished" datetime="2015">2015</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Bristol University Press</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.2307/j.ctt1sq5vnt">doi:10.2307/j.ctt1sq5vnt</a></span></span></p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Dors</span><span>, </span><span itemprop="givenName">Tania Mara</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Van Amstel</span><span>, </span><span itemprop="givenName">Frederick M. C.</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Binder</span><span>, </span><span itemprop="givenName">Fabio</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Reinehr</span><span>, </span><span itemprop="givenName">Sheila</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Malucelli</span><span>, </span><span itemprop="givenName">Andreia</span></span></span> <q><cite itemprop="headline">Reflective Practice in Software Development Studios: Findings from an Ethnographic Study</cite></q> <span>(</span><time itemprop="datePublished" datetime="2020">2020</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">IEEE</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1109/cseet49119.2020.9206217">doi:10.1109/cseet49119.2020.9206217</a></span></span></p>

<p>Dowden, O. (2020) ‘To those tweeting re #Fatima This is not something from @DCMS &amp; I agree it was crass This was a partner campaign encouraging people from all walks of life to think about a career in cyber security I want to save jobs in the arts which is why we are investing £1.57bn’, @OliverDowden, 12 October. Available at: <a href="https://twitter.com/OliverDowden/status/1315586209415073793"></a><a href="https://twitter.com/OliverDowden/status/1315586209415073793">https://twitter.com/OliverDowden/status/1315586209415073793</a> (Accessed: 17 October 2021).</p>

<p>Eden, T. (2021) 1242315 - Security: Manifest.json can display overlay on non-origin tabs - chromium, Chromium Bugs. Available at: <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1242315">https://bugs.chromium.org/p/chromium/issues/detail?id=1242315</a> (Accessed: 8 December 2021).</p>

<p>Eden, T. (2021) Certified in The Art of Hacking, Terence Eden’s Blog. Available at: <a href="https://shkspr.mobi/blog/tag/certified-in-the-art-of-hacking/">https://shkspr.mobi/blog/tag/certified-in-the-art-of-hacking/</a> (Accessed: 28 November 2021).</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><link itemprop="url" href="http://orcid.org/0000-0001-8173-6439"><span itemprop="name"><span itemprop="familyName">Erdoğan</span><span>, </span><span itemprop="givenName">Onur</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Pekkaya</span><span>, </span><span itemprop="givenName">Muhammed Emre</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Gök</span><span>, </span><span itemprop="givenName">Halime</span></span></span> <q><cite itemprop="headline">More effective sprint retrospective with statistical analysis</cite></q> <span>(</span><time itemprop="datePublished" datetime="2018">2018</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Wiley</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1002/smr.1933">doi:10.1002/smr.1933</a></span></span></p>

<p>Faye, S. (2021) The transgender issue: an argument for justice.</p>

<p>Fletcher, C. (2008) Appraisal, feedback and development: making performance review work. 4th ed. London ; New York: Routledge.</p>

<p>Gonçalves, L. and Linders, B. (2014) Getting value out of agile retrospectives: a toolbox of retrospective exercises.</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Guckenbiehl</span><span>, </span><span itemprop="givenName">Pascal</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Theobald</span><span>, </span><span itemprop="givenName">Sven</span></span></span> <q><cite itemprop="headline">Impediment Management of Agile Software Development Teams</cite></q> <span>(</span><time itemprop="datePublished" datetime="2020">2020</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Springer International Publishing</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1007/978-3-030-64148-1_4">doi:10.1007/978-3-030-64148-1_4</a></span></span></p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Hamburg</span><span>, </span><span itemprop="givenName">Ileana</span></span></span> <q><cite itemprop="headline">Interdisciplinary Training and Mentoring for Cyber Security in Companies</cite></q> <span>(</span><time itemprop="datePublished" datetime="2021">2021</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">IGI Global</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.4018/978-1-7998-5728-0.ch018">doi:10.4018/978-1-7998-5728-0.ch018</a></span></span></p>

<p>Hargreaves, A. and Fullan, M. (2000) ‘Mentoring in the New Millennium’, Theory Into Practice, 39(1), pp. 50–56. Available at: <a href="https://www.jstor.org/stable/1477441">https://www.jstor.org/stable/1477441</a> (Accessed: 10 October 2021).</p>

<p>Hayward, S. (2015) Criminals are selling Viagra and diet pills from hacked NHS websites, mirror. Available at: <a href="http://www.mirror.co.uk/news/technology-science/technology/hacked-nhs-websites-used-criminals-5935415">http://www.mirror.co.uk/news/technology-science/technology/hacked-nhs-websites-used-criminals-5935415</a> (Accessed: 17 October 2021).</p>

<p>Hershatter, A. and Epstein, M. (2010) ‘Millennials and the World of Work: An Organization and Management Perspective’, Journal of Business and Psychology, 25(2), pp. 211–223. Available at: <a href="https://www.jstor.org/stable/40605780">https://www.jstor.org/stable/40605780</a> (Accessed: 10 October 2021).</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Johns</span><span>, </span><span itemprop="givenName">Christopher</span></span></span> <q><cite itemprop="headline">Framing learning through reflection within Carper's fundamental ways of knowing in nursing</cite></q> <span>(</span><time itemprop="datePublished" datetime="1995">1995</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Wiley</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1046/j.1365-2648.1995.22020226.x">doi:10.1046/j.1365-2648.1995.22020226.x</a></span></span></p>

<p>Kerth, N. L. (2001) Project retrospectives: a handbook for team reviews. New York: Dorset House. Available at: <a href="https://dl.acm.org/doi/book/10.5555/367065">https://dl.acm.org/doi/book/10.5555/367065</a>.</p>

<p>Khamis, M. (2000) ‘The beginning teacher’, Teaching in context.</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Lallie</span><span>, </span><span itemprop="givenName">Harjinder Singh</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Shepherd</span><span>, </span><span itemprop="givenName">Lynsay A.</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><link itemprop="url" href="http://orcid.org/0000-0003-4118-1680"><span itemprop="name"><span itemprop="familyName">Nurse</span><span>, </span><span itemprop="givenName">Jason R.C.</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Erola</span><span>, </span><span itemprop="givenName">Arnau</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Epiphaniou</span><span>, </span><span itemprop="givenName">Gregory</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Maple</span><span>, </span><span itemprop="givenName">Carsten</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Bellekens</span><span>, </span><span itemprop="givenName">Xavier</span></span></span> <q><cite itemprop="headline">Cyber security in the age of COVID-19: A timeline and analysis of cyber-crime and cyber-attacks during the pandemic</cite></q> <span>(</span><time itemprop="datePublished" datetime="2021">2021</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Elsevier BV</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1016/j.cose.2021.102248">doi:10.1016/j.cose.2021.102248</a></span></span></p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Maurer</span><span>, </span><span itemprop="givenName">Chris</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Sumner</span><span>, </span><span itemprop="givenName">Mary</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Mazzola</span><span>, </span><span itemprop="givenName">Dan</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Pearlson</span><span>, </span><span itemprop="givenName">Keri</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Jacks</span><span>, </span><span itemprop="givenName">Tim</span></span></span> <q><cite itemprop="headline">The Cybersecurity Skills Survey: Response to the 2020 SIM IT Trends Study</cite></q> <span>(</span><time itemprop="datePublished" datetime="2021">2021</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">ACM</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1145/3458026.3462153">doi:10.1145/3458026.3462153</a></span></span></p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Melicher</span><span>, </span><span itemprop="givenName">William</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Fung</span><span>, </span><span itemprop="givenName">Clement</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Bauer</span><span>, </span><span itemprop="givenName">Lujo</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Jia</span><span>, </span><span itemprop="givenName">Limin</span></span></span> <q><cite itemprop="headline">Towards a Lightweight, Hybrid Approach for Detecting DOM XSS Vulnerabilities with Machine Learning</cite></q> <span>(</span><time itemprop="datePublished" datetime="2021">2021</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">ACM</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1145/3442381.3450062">doi:10.1145/3442381.3450062</a></span></span></p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Moon</span><span>, </span><span itemprop="givenName">Jennifer A.</span></span></span> <q><cite itemprop="headline">Reflection in Learning and Professional Development</cite></q> <span>(</span><time itemprop="datePublished" datetime="2013">2013</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Routledge</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.4324/9780203822296">doi:10.4324/9780203822296</a></span></span></p>

<p>Mori, S. and Goto, A. (2018) ‘Review of National Cybersecurity Policies’, p. 9.</p>

<p>O’Donnell, L. (2018) Twitter Fixes Bugs That Expose Data. Available at: <a href="https://threatpost.com/twitter-data-privacy-bugs/140007/">https://threatpost.com/twitter-data-privacy-bugs/140007/</a> (Accessed: 17 October 2021).</p>

<p>Osterman, K. F. and Kottkamp, R. B. (1993) Reflective practice for educators: improving schooling through professional development. Newbury Park, Calif: Corwin Press.</p>

<p>OWASP Foundation (2017) 2017 Top 10 | OWASP. Available at: <a href="https://owasp.org/www-project-top-ten/2017/Top_10.html">https://owasp.org/www-project-top-ten/2017/Top_10.html</a> (Accessed: 14 November 2021).</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Popli</span><span>, </span><span itemprop="givenName">Rashmi</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Chauhan</span><span>, </span><span itemprop="givenName">Naresh</span></span></span> <q><cite itemprop="headline">A Sprint Point Based Tool for Agile Estimation</cite></q> <span>(</span><time itemprop="datePublished" datetime="2019">2019</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Springer Singapore</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1007/978-981-10-8848-3_6">doi:10.1007/978-981-10-8848-3_6</a></span></span></p>

<p>QA.com (2021) qa.com | Certified in The Art of Hacking (QATAOH). Available at: <a href="https://www.qa.com/course-catalogue/courses/certified-in-the-art-of-hacking-qataoh/">https://www.qa.com/course-catalogue/courses/certified-in-the-art-of-hacking-qataoh/</a> (Accessed: 17 October 2021).</p>

<p>Robinson, H. M. (2012) Emergent computer literacy: a developmental perspective. London: Routledge.</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Rogers</span><span>, </span><span itemprop="givenName">Russell R.</span></span></span><span>(</span><time itemprop="datePublished" datetime="2001">2001</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Springer Science and Business Media LLC</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1023/a:1010986404527">doi:10.1023/a:1010986404527</a></span></span></p>

<p>Schwaber, K. (2004) Agile project management with Scrum. Redmond, Wash: Microsoft Press.</p>

<p>Seals, T. (2018) MailChimp Found Leaking Email Addresses, Infosecurity Magazine. Available at: <a href="https://www.infosecurity-magazine.com/news/mailchimp-found-leaking-email/">https://www.infosecurity-magazine.com/news/mailchimp-found-leaking-email/</a> (Accessed: 17 October 2021).</p>

<p>Shafranovich, Y. (2021) security.txt, security.txt. Available at: <a href="https://securitytxt.org/">https://securitytxt.org/</a> (Accessed: 17 October 2021).</p>

<p>Shafranovich, Y. and Foudil, E. (2021) ‘A File Format to Aid in Security Vulnerability Disclosure’. IETF. Available at: <a href="https://www.ietf.org/id/draft-foudil-securitytxt-12.txt">https://www.ietf.org/id/draft-foudil-securitytxt-12.txt</a> (Accessed: 8 December 2021).</p>

<p>Southern, J. (2017) Homosexuality at the FCO, 1967-1991. Available at: <a href="https://issuu.com/fcohistorians/docs/homosexuality_and_the_fco">https://issuu.com/fcohistorians/docs/homosexuality_and_the_fco</a> (Accessed: 14 November 2021).</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><link itemprop="url" href="http://orcid.org/0000-0002-9661-3789"><span itemprop="name"><span itemprop="familyName">Stelter</span><span>, </span><span itemprop="givenName">Rebecca L.</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><link itemprop="url" href="http://orcid.org/0000-0002-0559-2610"><span itemprop="name"><span itemprop="familyName">Kupersmidt</span><span>, </span><span itemprop="givenName">Janis B.</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Stump</span><span>, </span><span itemprop="givenName">Kathryn N.</span></span></span> <q><cite itemprop="headline">Establishing effective STEM mentoring relationships through mentor training</cite></q> <span>(</span><time itemprop="datePublished" datetime="2021">2021</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Wiley</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1111/nyas.14470">doi:10.1111/nyas.14470</a></span></span></p>

<p>Stevens, K. (2019) Learn more about the new mentoring scheme from the GDS Women’s Network - Government Digital Service. Available at: <a href="https://gds.blog.gov.uk/2019/03/08/learn-more-about-the-new-mentoring-scheme-from-the-gds-womens-network/">https://gds.blog.gov.uk/2019/03/08/learn-more-about-the-new-mentoring-scheme-from-the-gds-womens-network/</a> (Accessed: 14 November 2021).</p>

<p>The Institution of Engineering and Technology (2019) Rules of Conduct. Available at: <a href="https://www.theiet.org/about/governance/rules-of-conduct/">https://www.theiet.org/about/governance/rules-of-conduct/</a> (Accessed: 14 November 2021).</p>

<p>Vaas, L. (2018) ‘Twitter fixes bug that lets unauthorized apps get access to DMs’, Naked Security, 18 December. Available at: <a href="https://news.sophos.com/en-us/2018/12/18/twitter-fixes-bug-that-lets-unauthorized-apps-get-access-to-dms/">https://news.sophos.com/en-us/2018/12/18/twitter-fixes-bug-that-lets-unauthorized-apps-get-access-to-dms/</a> (Accessed: 8 December 2021).</p>

<p><span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Weinberger</span><span>, </span><span itemprop="givenName">Joel</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Saxena</span><span>, </span><span itemprop="givenName">Prateek</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Akhawe</span><span>, </span><span itemprop="givenName">Devdatta</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Finifter</span><span>, </span><span itemprop="givenName">Matthew</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Shin</span><span>, </span><span itemprop="givenName">Richard</span></span></span><span> &amp; </span><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="familyName">Song</span><span>, </span><span itemprop="givenName">Dawn</span></span></span> <q><cite itemprop="headline">A Systematic Analysis of XSS Sanitization in Web Application Frameworks</cite></q> <span>(</span><time itemprop="datePublished" datetime="2011">2011</time><span>)</span> <span itemprop="publisher" itemscope=""><span itemprop="name">Springer Berlin Heidelberg</span></span><span>.</span> <a itemprop="url" href="https://doi.org/10.1007/978-3-642-23822-2_9">doi:10.1007/978-3-642-23822-2_9</a></span></span></p>

<p>Whittaker, Z. (2013) Samsung flaw allows attackers to bypass Android lock screen, ZDNet. Available at: <a href="https://www.zdnet.com/article/samsung-flaw-allows-attackers-to-bypass-android-lock-screen/">https://www.zdnet.com/article/samsung-flaw-allows-attackers-to-bypass-android-lock-screen/</a> (Accessed: 8 December 2021).</p>

<h2 id="copyright-and-copyleft"><a href="https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/#copyright-and-copyleft">Copyright and Copyleft</a></h2>

<p>This document is <strong>🄯</strong> Terence Eden CC-BY-NC<a href="https://creativecommons.org/licenses/by-nc/4.0/"> </a><a href="https://creativecommons.org/licenses/by-nc/4.0/">https://creativecommons.org/licenses/by-nc/4.0/</a></p>

<p>It may not be used or retained in electronic systems for the detection of plagiarism. No part of it may be used for commercial purposes without prior permission.</p>

<p>Any source code is under the <a href="https://opensource.org/licenses/MIT">MIT Licence</a></p>

<p>This document contains public sector information licensed under the Open Government Licence v3.0. <a href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"></a><a href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/">https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/</a></p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=41357&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/02/msc-assignment-4-open-professional-practise/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[APMG Linux Proctoring - Certified In The Art of Hacking Exam]]></title>
		<link>https://shkspr.mobi/blog/2021/11/apmg-linux-proctoring-certified-in-the-art-of-hacking-exam/</link>
					<comments>https://shkspr.mobi/blog/2021/11/apmg-linux-proctoring-certified-in-the-art-of-hacking-exam/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 27 Nov 2021 12:34:28 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Certified in The Art of Hacking]]></category>
		<category><![CDATA[exam]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=41086</guid>

					<description><![CDATA[As I mentioned in a previous blog post, I was unsure how I was going to complete a security exam due to ProctorU not supporting Linux.  I&#039;m delighted to say that the examiners - APMG - were understanding about my plight. They were aware of ProctorU&#039;s limitations and had a workaround.  They had me install Beyond Trust&#039;s &#34;bomgar&#34; Linux client - which is a simple Remote Desktop app. It was…]]></description>
										<content:encoded><![CDATA[<p>As I mentioned in a previous blog post, I was unsure how I was going to complete a security exam due to <a href="https://shkspr.mobi/blog/2021/11/proctoru-is-dystopian-spyware/">ProctorU not supporting Linux</a>.</p>

<p>I'm delighted to say that the examiners - <a href="https://apmg-international.com/">APMG</a> - were understanding about my plight. They were aware of ProctorU's limitations and had a workaround.</p>

<p>They had me install <a href="https://www.beyondtrust.com/remote-support/platforms/linux">Beyond Trust's "bomgar" Linux client</a> - which is a simple Remote Desktop app. It was preconfigured with my invigilator's details and they were able to remotely see my screen and control my keyboard &amp; mouse. The app didn't run as root, thankfully! Once I closed the app, it automatically deleted itself - and I couldn't find any trace of it.  As it happens, I'm paranoid so I had made a separate user account on a freshly installed Linux partition, which was wiped immediately afterwards.</p>

<p>The Remote Desktop didn't have access to my webcam, so we jumped on a Microsoft Teams call in the browser. There the invigilator (a nice guy called Dave) had me point my webcam around my room to make sure I didn't have any notes visible, or a person crouching behind my desk feeding me answers. Dave then spent an hour watching me <del>pick my nose</del> scrunching up my face as I tried to remember arcane security trivia. He also got to listen to me mutter to myself. Fun! The invigilator was also there in case I had any technical problems with the exam. But, luckily, it all went well.</p>

<p>Sadly, the exam wasn't keyboard accessible. The buttons for marking your multiple choice answers couldn't be selected by the keyboard. And, annoyingly, they are presented horizontally while the questions are vertical.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/11/Buttons.png" alt="Vertical questions, but horizontal buttons." width="571" height="483" class="aligncenter size-full wp-image-41089">

<p>(Taken from their <a href="https://sampleexams.apmg-international.com/Marlin/SamplePapers.aspx">practice papers</a>)</p>

<p>Quite why that couldn't be a normal radio button next to each answer, I don't know!</p>

<p>The testing platform was a little slow - which made going back over my answers a little annoying.</p>

<p>All that notwithstanding, <a href="https://www.credly.com/badges/e3653af9-f568-420a-992e-52429c19135a/public_url">I passed</a>!</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/11/exam-results.jpg" alt="Screenshot of my exam results." width="1034" height="462" class="aligncenter size-full wp-image-41088">

<p>70 questions, 35 correct needed for a pass. So I was delighted with a score of 80%.</p>

<p>I reckon it was just about possible to pass the exam using only the slides. But there were questions on there about, say, FREAK and POODLE. They were mentioned in the lectures - but not in enough detail to successfully answer the questions.</p>

<p>Similarly, some of the questions were very much "it depends". Here's one taken from my memory:</p>

<blockquote>How would you find hidden directories in a web app?<ol><li>Look at `robots.txt`</li><li>Examine the source code</li><li>Use a web spider</li><li>Run a brute force scan</li></ol></blockquote>

<p>In the class, we learned DirBuster. Which is a brute-force tool. So I put that. But I also think it is totally legitimate to use <code>robots.txt</code>; it's a great source of finding directories that the owner doesn't want you scurrying around in. Similarly, commented out bits in source code is a valuable intelligence tool. A spider will show you all the directories which are publicly linked to.</p>

<p>I've no idea if "Brute Force" is the correct answer. And that's kinda the limitation of multiple-choice exams. If the question had been "describe the advantages and disadvantages of each of these techniques" then I think that would show the student had understood the material. But, of course, that takes longer to mark and is more expensive to run.</p>

<p>I don't think I've taken an exam since I was at university the first time around. And, to be quite honest, I've no desire to repeat the experience. It was a stressful time leading up to it and, frankly, a little demeaning to have to go through so much rigmarole to prove I wasn't cheating. And I'm not convinced that multiple choice questions about pub trivia is the best way to test knowledge.</p>

<p>I have two more training sessions coming up and I'm going to pick ones with a better attitude to testing.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=41086&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/11/apmg-linux-proctoring-certified-in-the-art-of-hacking-exam/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Certified in The Art of Hacking - Day 5]]></title>
		<link>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-5/</link>
					<comments>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-5/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 05 Nov 2021 12:34:51 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Certified in The Art of Hacking]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[MSc]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[xss]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40794</guid>

					<description><![CDATA[This is a diary of what I&#039;ve learned. Hopefully it will let other learners know what the course is like, and if it is worthwhile. Oh, and it might just help me remember what I&#039;m learning!  Verdicts  Some of the lab tasks were impossible without looking at the cheat sheet. I got stuck on one because the question told me to go to one URl, but I had to guess the one which was vulnerable. Felt like a …]]></description>
										<content:encoded><![CDATA[<p>This is a diary of what I've learned. Hopefully it will let other learners know what the course is like, and if it is worthwhile. Oh, and it might just help me remember what I'm learning!</p>

<h2 id="verdicts"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-5/#verdicts">Verdicts</a></h2>

<p>Some of the lab tasks were impossible without looking at the cheat sheet. I got stuck on one because the question told me to go to one URl, but I had to guess the one which was vulnerable. Felt like a bit of a "gotcha" moment. Perhaps in a proper lab environment it might have made more sense - but because we're mostly just learning how to use tools, I wasn't really prepared to use my critical thinking skills!</p>

<p>Only a half day, again. Good discussion of XSS and CSRF - but only a surface discussion of what they can do and how to prevent them.  That's the problem with these sorts of courses - they can only say "sanitise user input", they can't <em>explain</em> how to do it for every environment.</p>

<p>SQL Injection. Good length of session. The standard Little Bobby Tables joke. And quite focused on Burp Suite and SQLMAP. A small bit on preventing them with parametrised queries.</p>

<p>CIA triad was briefly mentioned - but not really discussed. I would have expected more on that as it is fairly fundamental.</p>

<p>XXE. Malicious XML files. Billion Laughs Attack was (very) briefly covered.</p>

<p>Web shells from insecure file upload. A few tricks on how to fool UGC checkers. But not too much on defending.</p>

<p>The object serialisation stuff seemed a bit obscure. Not sure how relevant that is to the real world - but interesting none the less.</p>

<p>In the end, my overall verdict is that this is a good practical course. But because it covers so much, and spends so long setting up environments, it only gives a brief overview. It's rather geared towards specific tools - and that means lots of syntax memorisation for the exam.</p>

<h2 id="the-exam"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-5/#the-exam">The Exam</a></h2>

<p>I <strong>fucking hate</strong> exams. There are very few times in life where you have a hard deadline, no one to help, and no ability to consult external sources.</p>

<p>Because of the intrusive spyware used on their proctoring system (more on that tomorrow), I'm going to have to go to a test centre to take the exam.</p>

<p>The exam gives 70 minutes to complete 50 multiple choice questions. 50% needed for a pass mark. That seems achievable. But it really depends on how many Windows questions there are, and how many ask me to precisely remember command line options.</p>

<p><a href="https://xkcd.com/1168/"><img src="https://imgs.xkcd.com/comics/tar.png" width="713" height="229" alt="XKCD comic.     [Megan and White Hat stand next to a nuclear bomb. The bomb has a hatch open on top, and a small blinking screen. The two people are shouting off-screen.]     Megan: Rob! You use Unix!     White Hat: Come quick!      [Megan, White Hat, and Rob look at the screen on the bomb. Rob peers closely. The screen is on the bomb, but is shown at the top of the panel in black with white letters, except " tar"="" and="" the="" last="" underscore="" which="" is="" in="" gray="" "ten"="" black="" but="" written="" a="" white="" box.="" text="" reads:]="" to="" disarm="" bomb,="" simply="" enter="" valid="" tar="" command="" on="" your="" first="" try.="" no="" googling.="" you="" have="" ten="" seconds.="" ~#="" _="" [they="" all="" stand="" same="" position,="" without="" displayed.="" beat="" panel.]="" [still="" position="" hat="" becomes="" impatient.]="" hat:="" ...rob?="" rob:="" i'm="" so="" sorry."="" class="aligncenter size-medium"></a></p>

<h2 id="practice-questions"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-5/#practice-questions">Practice questions</a></h2>

<p>The first time I scored 10/10. I know this stuff ☺</p>

<ol>
<li>John has run dirbuster against a target website looking for possible pages to investigate and receives the following results. What does the 401 response mean?

<ul>
<li>HTTP 401 response means that the page is not available</li>
<li>HTTP 401 response means that the server has returned an internal error</li>
<li>HTTP 401 response means that the client should use the version in its cache</li>
<li>HTTP 401 response means that the resource is available, but requires authentication credentials to be able to be accessed</li>
</ul></li>
<li>What port does BurpSuite use by default?

<ul>
<li>80</li>
<li>4444</li>
<li>8888</li>
<li>8080</li>
</ul></li>
<li>What file is commonly used to inform search engines about the folders/files they are forbidden to index?

<ul>
<li>robots.txt</li>
<li>index.html</li>
<li>search.csv</li>
<li>spider.txt</li>
</ul></li>
<li>Sally wishes to retrieve all the pdf documents from targetsite.com. Which of the following Google Dorks would satisfy that demand?

<ul>
<li>intitle:index_of *.pdf location:targetsite.com</li>
<li>site:targetsite.com filetype:pdf</li>
<li>pdf domain:targetsite.com</li>
<li>targetsite.com filetype:pdf</li>
</ul></li>
<li>Connor is experimenting with a XSS vulnerability on a website. He uploads the following script but gets no response. What is the issue here? <code>&lt;script&gt;alert(XSS);&lt;/script&gt;</code>

<ul>
<li>The syntax should be <code>&lt;script&gt;alert("XSS");&lt;/script&gt;</code></li>
<li>The syntax should be <code>&lt;script alert("XSS); /&gt;</code></li>
<li>syntax should be <code>&lt;script&gt;alert="XSS";&lt;/script&gt;</code></li>
<li>syntax should be <code>&lt;script&gt;display.alert("XSS");&lt;/script&gt;</code></li>
</ul></li>
<li>Fiona has identified a vulnerable web app that allows her to perform SQLi. She wants to identify what database is behind the web app. What SQLi command would allow Fiona to get this data?

<ul>
<li>SELECT @@information_schema --</li>
<li>@@version --</li>
<li>@@database --</li>
<li>@@schema--</li>
</ul></li>
<li>Jonas has identified a vulnerable web app that allows SQLi. He is using SQLMap to explore the system. What command should Jonas use to enumerate the available databases on the server?

<ul>
<li>--database</li>
<li>--layout</li>
<li>--dbs</li>
<li>--db</li>
</ul></li>
<li>Which of the following file uploads should you prohibit if you wanted to ensure no-one can upload malicious files to your webserver?

<ul>
<li>file.asp:.jpg</li>
<li>file.php.jpg</li>
<li>php%00.jpg</li>
<li>All of them</li>
</ul></li>
<li>True or False, SSL v3.0 offers better encryption than TLS v1.2

<ul>
<li>True</li>
<li>False</li>
</ul></li>
<li>Complete the sentence... HTTP is classed as a ________ protocol

<ul>
<li>secure</li>
<li>stateless</li>
<li>web 2.0</li>
<li>dynamic</li>
</ul></li>
</ol>

<h2 id="notes"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-5/#notes">Notes</a></h2>

<p>XSS. Recap. Can be from HTTP headers, cookies, and other weird things - not just GET.  Can persist on the server.</p>

<p>Impact - phishing, hijack cookies, use browser exploitation, BitCoin mining.</p>

<p>Bug bounties available.</p>

<p>How <em>not</em> to prevent. Don't use blacklist regex - easy to bypass. XSS can work without script tags, eg onmouseover. UTF-7 encoding, URL encoding.</p>

<p>CSRF - cross site request forgery. Not stealing cookies and credentials. Force the user's browser to connect to a previously authorised site. Session Riding or Confused Deputy.  Eg craft a link which forces the user to change their password on a different site. Relies on predictable patterns. Use of random tokens per request - which are then verified.  Tokens shouldn't be reusable.</p>

<p>SQL injection. Can take input from the user, no filtering, pass requests directly to the DB. Good way to exfiltrate data - or even destroy it. Use of single quotes, boolean operators, balancing syntax.</p>

<p>Error based SQLi - see the stack trace etc from error messages. UNION operator - concatenate multiple queries - first legit, 2nd malicious. Blind - you can't see the results. Time Based - if my request is OK, sleep for 5 seconds. Out of Band - rare, depends of privileges being enabled when they shouldn't be.</p>

<p>String vs integer.</p>

<p><code>Select X from Y where Z UNION SELECT @@version--</code></p>

<p>Metadata table - <code>information_schema</code></p>

<p>Pentest Monkey cheat sheets.</p>

<p>Concatenate results.</p>

<p>UDF - user defined functions to run code on machine. Local File Access. Create web shell by browsing to maliciously uploaded code.</p>

<p>Use of ASCII values rather than quoted strings. Blind injection - observe the difference in what is returned by a true or false query.</p>

<p>Principle of least privilege. Make sure the website can only read. A separate trusted process to write. <code>root</code> and <code>sa</code>(?) shouldn't be enabled from the web.</p>

<p>SQLMAP tool. Use of, find vulns, get tables, set up proxy to Burp.</p>

<p>Defend using input validation - blocklists not enough. Paramatise the SQL. ORM(?) Object-relational-mapping Frameworks. Principle of Least Privilege. Don't roll your own!</p>

<p>CIA (Confidentiality, Integrity, Availability)</p>

<p>XXE to get <code>/etc/passwd</code> - weakly configured XML parser. Anything which accepts user-created XML could be vulnerable. Very common on SOAP.</p>

<p>Insecure file upload. Get Web Shell. Filenames can have XSS. Distribute malware or warez.</p>

<p>%00 null byte to avoid extension check <code>file.php%00.jpg</code></p>

<p>Change content type header - send a .php file as image/jpg. Fiddle with magic bytes. <code>malicious.asp;jpg</code> on IIS. Or <code>file.php.jpg</code></p>

<p>WebDAV and Put might be available.</p>

<p>WebShell provides a web interface to the OS level commands. What context are you running in? Might not be root. Upload and download. Execute SQL. Kali stores them in <code>/usr/share/webshells</code></p>

<p>C99 Shell - and other tools. Hacking tools are often backdoored. The creator has access to the shell you've created.</p>

<p>EICAR test to see if anti-malware is running. Change MiMe type when uploading. Is JS checking for file types?</p>

<p>Validate headers and MIME. Check file size. Don't rely on client side - always server side. Only upload to web root. Rename files after upload. Upload to temporary, then virus scan. Change the extension. Restrict folder permissions.</p>

<p>Serialise / Deserialise.</p>

<p>Take PHP, serialise it to an object. PHP warms of passing untrusted user input to unserialize. JSON is better than serialised objects.  Must use magic method to attack (??) eg <code>__construct()</code> Trying to force the server to gadget chain??</p>

<p>pickle.load in Python. Marshal.load() in Ruby. Allow list for the things you want to serealised. Some firewalls</p>

<p>Use <code>!ENTITY</code> (variables). Inject external XML files.  Calls to SMB servers to get NTLM hashes. Then SMBRelay to pass the hash. Using PSexec. Back to Windows ☹. Disable XXE in the parser - or have very strict allow-lists.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40794&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-5/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Certified in The Art of Hacking - Day 4]]></title>
		<link>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-4/</link>
					<comments>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-4/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 04 Nov 2021 20:57:10 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Certified in The Art of Hacking]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[MSc]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40792</guid>

					<description><![CDATA[This is a diary of what I&#039;ve learned. Hopefully it will let other learners know what the course is like, and if it is worthwhile. Oh, and it might just help me remember what I&#039;m learning!  The penultimate day. Try not to worry about the upcoming exam!  Today was lots of HTTP, TLS, and other low-ish level stuff like that. But mostly focussed on common website attacks.  Verdict  Bit of a repeat of…]]></description>
										<content:encoded><![CDATA[<p>This is a diary of what I've learned. Hopefully it will let other learners know what the course is like, and if it is worthwhile. Oh, and it might just help me remember what I'm learning!</p>

<p>The penultimate day. Try not to worry about the upcoming exam!</p>

<p>Today was lots of HTTP, TLS, and other low-ish level stuff like that. But mostly focussed on common website attacks.</p>

<h2 id="verdict"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-4/#verdict">Verdict</a></h2>

<p>Bit of a repeat of yesterday's Windows session to make up for the broken labs. The exam requires 50% right answers to pass - so I feel quite relaxed if I fail the Windows portion. I reckon I should be about to get a few correct questions either by guesswork or memorising metasploit commands. With a bit of luck, I'll never have to interact with Windows in my professional life!</p>

<p>Painful start trying to get half-a-dozen students to correctly configure Burp suite. Sort of thing which either needs to be built into the labs, or have fool-proof instructions.</p>

<p>Discussion of OWASP - but only up to 2017. Lots of the stuff is a bit outdated. Tutor seemed to think the 2021 Top 10 was only in draft...</p>

<p>There was a good demo website to attack <a href="https://web.archive.org/web/20211218081412/http://notsosecureapp.com/">NotSoSecureApp.com</a> - lots of playing around with Burp and DirBuster.</p>

<p>Again, only a short bit on mitigation. I think that would have been more useful for the target audience.</p>

<p>And, again, lots of trivia. There was one slide on Certificate Authorities. What could have been an interesting discussion on how they work and their weaknesses, was reduced to "they exist".</p>

<p>Similarly - there's an attack called POODLE. What is it? How does it work? Can it be defended against? Nothing.</p>

<p>But, overall, good. It was really focussed on Burp and SSLscan - just learning the tools rather than the underlying problems.</p>

<h2 id="practice-questions"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-4/#practice-questions">Practice Questions</a></h2>

<p>From the Windows session. Through guesswork, I got 7/10.</p>

<ol>
<li>What Windows service typically uses UDP port 5353? (This question was wrong. Should be 5355.)

<ul>
<li>Kerberos</li>
<li>LLMNBR</li>
<li>NBTNS</li>
<li>NetBIOS</li>
</ul></li>
<li>Responder is often used with the -f switch, but what does that switch do?

<ul>
<li>Perform DNS lookups</li>
<li>Enables fast mode</li>
<li>Responds with false answers to DNS lookups</li>
<li>Enables fingerprinting of hosts that issue LLMNR queries</li>
</ul></li>
<li>James has run the nbtstat command against a device and receives a code 1C. what does this code denote?

<ul>
<li>The machine is a File Server Service</li>
<li>The machine is a Domain Master Browser</li>
<li>machine is a Workgroup member</li>
<li>machine is a Domain Controller</li>
</ul></li>
<li>What does the RID value 502 denote?

<ul>
<li>The account is an administrator account</li>
<li>The account is a guest account</li>
<li>The account is a bespoke user account</li>
<li>The account is a Kerberos Key Distribution service</li>
</ul></li>
<li>A common command when using PowerShell is the IEX command. What does IEX stand for?

<ul>
<li>IEX is an alias for Invoke-Expression</li>
<li>IEX stands for Import Executable</li>
<li>IEX stands for Interactive Executable</li>
<li>IEX is an alias for Import-External module</li>
</ul></li>
<li>Simon has PowerShell capabilities on a Windows 10 device and wants to record details about the default program installation paths, etc. What command should Simon use?

<ul>
<li><code>Get-ChildItem env:</code></li>
<li><code>ComputerInfo</code></li>
<li><code>System</code></li>
<li><code>AppvStatus</code></li>
</ul></li>
<li>Carl has attempted to run enum4linux against a Windows host device and has received the following error message: <code>Couldn't get SID: NT_STATUS_ACCESS_DENIED. RID cycling not possible</code>. What is the most likely cause of this error message?

<ul>
<li>The host isn't a Windows host</li>
<li>Carl needs to run enum4linux with the -NT switch</li>
<li><code>RestrictAnonymous</code> registry key on the host is most likely set to 1</li>
<li><code>RestrictAnonymous</code> registry key on the host is most likely set to 0</li>
</ul></li>
<li>Sandra has access via PowerShell to a Windows 10 host and wants to enumerate the machine to try to identify those users who are members of the Domain Admins group. What does she need to do to do in order to get this information?

<ul>
<li>Import the Microsoft.ActiveDirectory,Management.dll and then run <code>Get-ADGroupMember -identity "Domain Admins"</code></li>
<li>Import the Microsoft.ActiveDirectory,Management.dll and then run <code>Get-ADGroup -identity "Domain Admins"</code></li>
<li>Use the Get-SmbShare command to access the $IPC share on the domain controller and then run <code>Get-GroupMember -Identity "Domain Admins"</code></li>
<li>Run the <code>Get-DomainAdmins</code> command</li>
</ul></li>
<li>Vernon has downloaded a ps1 file he wrote from his server to a Windows Server device, and now wishes to execute the file. What should he check before attempting to run the script?

<ul>
<li>The ExecutionPolicy should be checked to allow Vernon to run the unsigned script which has been downloaded from the Internet</li>
<li>That the PowerShell service has been started</li>
<li>That windows bitlocker is disabled</li>
<li>That he is an administrator</li>
</ul></li>
<li>James has gained access to a Windows network and has enumerated a device for SIDs. He has received the following 4 SIDs:
<code>S-1-5-21-2000478354-1708537768-1957994488-500</code>
<code>S-1-5-21-2000478354-1708537768-1957994488-502</code>
<code>S-1-5-21-2000478354-1708537768-1957994488-1000</code>
<code>S-1-5-21-2000478354-1708537768-1957994488-1001</code>

<ul>
<li>Which of the SIDs is identified as the default admin account?</li>
</ul></li>
</ol>

<h2 id="notes"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-4/#notes">Notes</a></h2>

<p>HOSTS file manipulation</p>

<p>Basics of HTTP. Statelessness. Requests. Headers. User Agents.</p>

<p><code>curl -v -X TRACE http://www.example.com</code></p>

<p>Intro to Burp. Would have been better off watching <a href="https://www.youtube.com/embed/nECt-0zW0O4">https://www.youtube.com/embed/nECt-0zW0O4</a></p>

<p>DirBuster. Automated finding of common directories</p>

<p>Passive Scanning with Google.</p>

<p>Bug Bounties (!)</p>

<p>Useful info - defaults, directories, plugins, cms, server version, error messages. Extra methods like WebDAV being enabled.</p>

<p>Google "Dorks" - search for filetypes and common patterns.</p>

<p>2FA, authentication, OAuth.</p>

<p>GitHub info leakage.</p>

<p>OWASP cheat sheet.</p>

<p>Base64 basic auth. Digest MD5. NTLM.</p>

<p>Username enumeration. Login error messages can leak info.</p>

<p>Burp intruder - generates lots of server side logs.  Intruder to iterate through usernames and passwords.</p>

<p>Password strength, HaveIBeenPwned. Password recovery. Stored hashed and salted. Poor account recovery questions like Mother's Maiden Name,</p>

<p>Increase security means reduced usability.</p>

<p>Use of <code>sslscan</code> to look for SSL/TLS errors.</p>

<p>Hash collisions. Store above SHA1. Token expiration times and reuse.</p>

<p>Don't store sensitive info in logs etc.</p>

<p>TLS to encrypt in transit.  How to share keys? Diffie-Helman!</p>

<p>AES for symmetrical.</p>

<p>TLS stages - asym to start, then sym.  Certificate authorities issue certs and validate them.</p>

<p>SSL is obsolete. TLS1.1 also obsolete.  Disable old ones. Cupers &gt; 128 bit.</p>

<p>Vertical attack - standard user elevating themselve. Horizontal - accessing someone else's info. Business logic attacks.</p>

<p>Parameter tampering.</p>

<p>WebScarab to check entropy of cookies. Session fixation - copy cookies to get access. Session ID in URl. Can be resused to get access. Use POST for those requests.</p>

<p>Basics of XSS. Reflected (sent by user). Stored (on server). Header manipulation.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40792&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Certified in The Art of Hacking - Day 3]]></title>
		<link>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-3-2/</link>
					<comments>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-3-2/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 03 Nov 2021 20:53:19 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Certified in The Art of Hacking]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[MSc]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40790</guid>

					<description><![CDATA[This is a diary of what I&#039;ve learned. Hopefully it will let other learners know what the course is like, and if it is worthwhile. Oh, and it might just help me remember what I&#039;m learning!  Day 3 - the day I was dreading most of all… Windows!  I&#039;ve been avoiding M$ WinDoze (LOL!!!) since long before it was fashionable. Even at my earliest jobs, I&#039;d find a way to convince the IT department to let m…]]></description>
										<content:encoded><![CDATA[<p>This is a diary of what I've learned. Hopefully it will let other learners know what the course is like, and if it is worthwhile. Oh, and it might just help me remember what I'm learning!</p>

<p>Day 3 - the day I was dreading most of all… Windows!</p>

<p>I've been avoiding M$ WinDoze (LOL!!!) since long before it was fashionable. Even at my earliest jobs, I'd find a way to convince the IT department to let me run Linux on their kit. I'm penguin-powered, baby!</p>

<p>So, what can an Ubuntu toting geek learn about the gentle art of cracking Windows wide open?</p>

<p>Not much. It was mostly a whistle-stop tour of various Linux tools and a brief explanation of Windows security models.</p>

<h2 id="verdict"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-3-2/#verdict">Verdict</a></h2>

<p>The demo Windows network wasn't working, so all a bit theoretical to start. Once it was up, we had another "script kiddie" day. Run <code>nmap</code>, run <code>enum4linux</code>, run metasploit. Vaguely interesting, but not sure what parts we need to remember for the exam.</p>

<p>Some of the tasks weren't possible unless you had a Windows machine. Most people had a "GoToMyPC" instance they could use - but those of us on Linux machines were basically stuck watching the tutor run some demos.  Lots of memorising of Windows Powershell commands. But, again, no idea if they'll be on the exam.</p>

<p>Some team exercises which was a nice change. I hosted an exploit, another student executed it. But, in the end, the code didn't work. The labs are a bit broken.</p>

<p>Afternoon descended into farce because GoToMyPC went down and lots of students couldn't get back in. Combined with yesterday's inexplicable half-day, meant a lot of confused and frustrated students.</p>

<p>The <a href="https://www.qa.com/course-catalogue/courses/certified-in-the-art-of-hacking-qataoh/?daterange=03%2F11%2F2021%20-%2003%2F11%2F2023&amp;learningMethod=Virtual&amp;">course description</a> was:</p>

<blockquote><p>Unlike [Certified Ethical Hacker], where the focus is to run a tool to achieve an objective which helps attendees pass the exam, we focus on the underlying principles on which tools work and provide attendees an understanding on what is the root cause of the vulnerability and how does the tool work to exploit it. We also talk about how the vulnerability should be mitigated.</p></blockquote>

<p>But, at the moment, it is just running metasploit and a few other tools. Nothing much about the principles. And only a passing comment on how to defend against things.</p>

<p>Similarly, it says:</p>

<blockquote><p>we do not talk about hacking windows XP and 2003 servers (unlike CEH) but talk about circumventing controls in Modern OS such as Windows 2012 / 16 servers. High impact vulnerabilities such and or mass compromise vulnerabilities are taught in the class.</p></blockquote>

<p>Yet there was lots of discussion of Windows 7 and outdated versions of Chrome. Not quite what was advertised.</p>

<p>Turns out the exam <strong>isn't</strong> on Friday. We have a voucher and we can book the exam in the next 12 months. Think I'll take it sooner rather than later - but will give myself enough time to cram and memorise every command line option in existence.</p>

<h2 id="practice-questions-linux-hacking"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-3-2/#practice-questions-linux-hacking">Practice Questions - Linux Hacking</a></h2>

<p>Here are the test questions from yesterday. Once again, it's mostly "can you remember the <em>exact</em> command line without running <code>--help</code> - which I'm not sure is useful. I got 6/10.  This really needs a practical exam. A CTF or similar. Sure, with a bunch of hackers, it could turn into the "Kobayashi Maru" exercise. But that's better than trying to rote learn the command line.</p>

<ol>
<li>Which of the following is NOT an attack against SSL?

<ul>
<li>Heartbleed</li>
<li>POODLE</li>
<li>FREAK</li>
<li>RowHammer</li>
</ul></li>
<li>What is the maximum amount of data retrievable by each Heartbleed heartbeat?

<ul>
<li>64kb</li>
<li>1Mb</li>
<li>512kb</li>
<li>256kb</li>
</ul></li>
<li>True of false, Shellshock affects BASH v 4.4

<ul>
<li>True</li>
<li>False</li>
</ul></li>
<li>Which command allows you to display the full kernel version on a Linux system?

<ul>
<li>cat /etc/kernel</li>
<li>uname -a</li>
<li>echo version</li>
<li>cat /env/kernel</li>
</ul></li>
<li>Jenkins is a popular continuous integration service, often run on Linux servers. What port does Jenkins listen on by default?

<ul>
<li>80</li>
<li>443</li>
<li>666</li>
<li>8080</li>
</ul></li>
<li>True or false - The Jenkins web console is vulnerable to a deserialization attack?

<ul>
<li>True</li>
<li>False</li>
</ul></li>
<li>Simon has managed to obtain a meterpreter shell on a remote Linux machine by exploiting a weak implementation of WordPress. What command should he run to see what user-instance he is using?

<ul>
<li>sysinfo</li>
<li>ps</li>
<li>whoami</li>
<li>getuid</li>
</ul></li>
<li>Rebecca has managed to get a meterpreter payload on a victim machine which is configured with a reverse TCP setting which will attempt to connect to ker Kali machine on 80.17.222.34:4444. She needs to set up a netcat listener on her Kali machine to receive any TCP sessions from the victim machine when the payload is executed. Which of the following commands would do this?

<ul>
<li>nc --listen 4444</li>
<li>nc -nlp 4444</li>
<li>nc -tup 4444</li>
<li>nc -nl 4444</li>
</ul></li>
<li>James has obtained a meterpreter shell on a remote machine but only has restricted user access. He decides to try using a post-exploitation command to try to elevate his privilege level, but he needs to return to his msfconsole prompt to load an auxiliary tool. What command should James use to keep the meterpreter session alive, but allow him to return the msfconsole prompt

<ul>
<li>back</li>
<li>exit</li>
<li>suspend</li>
<li>background</li>
</ul></li>
<li>James has identified a suitable auxiliary command to use in conjunction with an existing meterpreter instance. How can James identify which meterpreter instance to use?

<ul>
<li>session -i</li>
<li>session -l</li>
<li>sessions -l</li>
<li>meterpreter -l</li>
</ul></li>
</ol>

<h2 id="notes"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-3-2/#notes">Notes</a></h2>

<p>netbios - old and unused, should probably be disabled. LLMNR useful is DNS resolution has failed. Generates a lot of sniffable traffic. Can force Windows machines to give up data. Set up a fake server to received the LLMR broadcasts.</p>

<p>Some services are blocked on IPv4 but open on IPv6.</p>

<p>If DNS fails to resolve a host, LLMNR and NBT-NS will ask other hosts in the network if they know the IP address. Net NTLMv2 Challenge response hash is sent by the victim, the fake machine intercepts the hash and can start to crack it. Tell <code>john</code> the <code>--format=netntlmv2</code> to crack it.</p>

<p>If SMB signing is disabled on the target, you can relay the original hash to a new target.</p>

<p>NetBT is netbios over TCP/IP. It does IP to name resolution.  A legacy protocol, should probably be disabled.</p>

<p>EPM is End Point Mapping (?). RPC is Remote Procedure Call (an API?). Bunch of other random acronyms and port numbers.</p>

<p><code>nbtstat</code> on Window, <code>nmblookup</code> on Linux.</p>

<p><code>1c</code> for domain controllers.</p>

<p>Windows enumeration usually on 135, 137 (UDP), 139, 445.  Harder to detect attacks on 135 as it gets lots of traffic. 139 is obsolete from Vista.</p>

<p>Used to be able to connect to InterProcess Communication shares using anon / null session. <code>rpcclient -U "" -N 192.168...</code></p>

<p>Relative Identified - RID. Unique but sequentially assigned. Can cycle through them, RID also identifies role of the user.</p>

<p>SID is the security ID. Primary key for objects in active directory. Unique.  Has relative level, top level authority, the domain, the RID.</p>

<p>RID 500 is Admin, 501 Guest, 502 Kerberos. Everything else 1000+.</p>

<p>RPC can do user to SID and SID to user.  <code>ridenum</code> and <code>enum4linux</code> both good tools for this.</p>

<p>Registry key has restrict anonymous usernames. Can be set to default, don't allow enumeration, no access.</p>

<p>RID cycling over NULL doesn't work on Win 2008+.  If you can do RID cycling with a valid domain user it might leak interesting information.</p>

<p>Use of <code>hash-identifier</code> to see what sort of hash it is. Online services to check weak MD5 hashes.</p>

<p>Once into a Windows machine, use PowerShell as it runs in memory and isn't detected by antivirus. Use GetExecution Policy to change policies. Powershell is case insensitive. Variables start with <code>$</code>. There are per-user preferences. Can declare arrays <code>$a = 1,2,3</code> etc.</p>

<p>To execute <code>Import-Module .\scriptname.ext</code></p>

<p><code>IEX (iwr 'url')</code> to execute a URL??</p>

<p><code>Get-ComputerInfo</code> and <code>Get-ChildIntem env</code> to find out about the target. <code>Get-ADDomainControler</code> to find other stuff.</p>

<p>Open Shares an issue - can allow us to read and write.</p>

<p>Default installations of web apps are often insecure.</p>

<p>Printers are highly trusted, they receive all the hashes, so if you can get in with default credentials you can sniff everything. Printers have LDAP - can start malicious LDAP services.</p>

<p>Use of client side attacks. Use metasploit (again) to host the exploit - get the target to access the metasploit server. Can host malicious web pages, documents with macros. Use Metasploit handler to listen to what's going on. Chrome 72-73 are vulnerable to Array.map, buffer overflow, read arbitrary memory. Chrome must be in <code>--no-sandbox</code></p>

<p>Electron - a shell around Chromium rendering and Node.js runtime - basically a web browser specifically for cross platform apps. Multiple processes.</p>

<p>Joplin, also built on Electron. Can POST to the <code>/notes</code> API to deploy a payload. Can use JS to <code>exec()</code> a local .exe</p>

<p>Looks for Kernel exploits, weak permissions, DLL hijacking etc with <code>post/multi/recon/local_exploit_suggester</code>. Look for PATH environment variable, and place DLLs earlier in the enumeration.</p>

<p>Look for credentials using things like <code>findstr</code> or <code>reg query</code>. Or User Access Controls.</p>

<p>Windows 7 issues. Cleartext creds in memory. No default antivirus. All apps are trusted.</p>

<p>Win10 security features. Device guard - hard and software, locks down device, code integrity, prevents malicious code.
Cred guard. Virtualised, isolates LSASS secrets. Enabled via the registry. Returns encrypted strings rather than NTLM hash.</p>

<p>Local Security Authority (LSA). Prevents memory access to creds.</p>

<p>AMSI - anti malware scan interface. In memory scans for malicious powershell script execution.</p>

<p><code>whoami /priv</code> to see privileges.</p>

<p>winpeas to automate searching.</p>

<p>CVE against things like IE, AppX, allow you to elevate privs.</p>

<p>CVE against cryptoAPI - crypt32.dll allows you to self sign a malicious executable.</p>

<p>RDP vulns.</p>

<p>EternalBlue (ancient!) and Fuzzbunch.</p>

<p>Microsoft COM RCE with device deserialisation flaws.</p>

<p>AMSI can be bypassed via signatures? And ScanBuffer? and C# version? WHAT?</p>

<p>Mimikatz can register a malicious DLL for a Security Support Provider and get creds. Can also bypass LSA.</p>

<p>ColdFusion - lots of exploits. Directory traversal, misconfiguration, default password, FCK Editor - doesn't sanitise input so can upload and execute.</p>

<p>Metasploit web server can bypass AV.</p>

<p>Post exploitation is vital. Once you're in, what can be done? Dump users, password hashes, escalate, pivot (use as a staging post to get further into the network), replay credentials to masquerade as someone else, persistent access, permanent backdoor.</p>

<p>Windows credential vault can store web passwords in plaintext. LSA has logged in user's passwords.</p>

<p>Security Accounts Manager (SAM) - can't be accessed while system is running. Might be able to grab a backup snapshot. Can be accessed on the Domain Controller.</p>

<p>Meterpreter can run hashdump in memory - so AV isn't triggered.</p>

<p>Previous 10 unique logins are cached if DC not available. This is to allow the user to login to the system. Salted hashs. Salt is the username. Encrypted with LSA NL$KM account (??) cachedump can do this.</p>

<p>LSA protected storage for passwords for users and tasks. System privs needed to extract.</p>

<p>LSASS process memory - cleartext passwords for RDP login.</p>

<p>Mimikatz is the main tool for this.</p>

<p>Adding new accounts to Domain Admin group is very noisy - great way to get noticed.</p>

<p>NTLM challenge response. 16 bit challenge, hashed with the user??</p>

<p>Pass the hash</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40790&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-3-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Certified in The Art of Hacking - Day 2]]></title>
		<link>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-2/</link>
					<comments>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-2/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 02 Nov 2021 20:34:47 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Certified in The Art of Hacking]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[MSc]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40783</guid>

					<description><![CDATA[This is a diary of what I&#039;ve learned. Hopefully it will let other learners know what the course is like, and if it is worthwhile. Oh, and it might just help me remember what I&#039;m learning!  Day 1 was all about password cracking and metasploit. Today? Linux Hacking! Sadly, we aren&#039;t learning anything to do with distributing 1337 cracks for warez (so 1998!).  One point to note is that the questions…]]></description>
										<content:encoded><![CDATA[<p>This is a diary of what I've learned. Hopefully it will let other learners know what the course is like, and if it is worthwhile. Oh, and it might just help me remember what I'm learning!</p>

<p><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/">Day 1</a> was all about password cracking and metasploit. Today? Linux Hacking! Sadly, we aren't learning anything to do with distributing 1337 cracks for warez (<em>so</em> 1998!).</p>

<p>One point to note is that the questions we're set are extremely vague.  Here's a sample:</p>

<blockquote><p>Exploit the HeartBleed vulnerability on 192.168.123.123 to get administrative access to the login interface on the server</p></blockquote>

<p>That doesn't tell me anything about what HeartBleed is, what tools I should be using, or - importantly - what exactly I'll be tested on. Do I need to know the exact sequence of bit to fire at a server? The name of a tool? How it could be defended against?  The teaching slides we have are OK - but make large logical leaps. For example, telling us to run a <code>curl</code> command against a specific path without telling us how we would know about that specific URl.</p>

<h2 id="practice-questions"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-2/#practice-questions">Practice Questions</a></h2>

<p>Got a bit more info about the sort of questions. Mostly trivia really. Some of the topics weren't really discussed yesterday.</p>

<p>Here are the Port Scanning questions.  I was a bit narked to get 50% (a barely passing grade). How well would you do?</p>

<ol>
<li>Sam has scanned a device in his network with nmap, and has identified a service running on port 22. What service should Sam assume this is?

<ul>
<li>FTP</li>
<li>SSH</li>
<li>HTTP</li>
<li>SNMP</li>
</ul></li>
<li>Jackie wants to scan all TCP ports with her nmap scan. What switch will enable Jackie to scan all ports?

<ul>
<li><code>-P</code></li>
<li><code>-p</code></li>
<li><code>-p-</code></li>
<li><code>-A</code></li>
</ul></li>
<li>Simon wants to scan a number of devices in his network with a half-connect scan. What switch should Simon use to accomplish this?

<ul>
<li><code>-sU</code></li>
<li><code>-sT</code></li>
<li><code>-oA</code></li>
<li><code>-sS</code></li>
</ul></li>
<li>If an nmap scan is executed with the -F (fast) switch set, how many ports does nmap scan?

<ul>
<li>The 1st 1000 ports</li>
<li>The first 100 ports</li>
<li>The top 1000 most common ports</li>
<li>The top 100 most common ports</li>
</ul></li>
<li>Which timing switch is more commonly known as the insane mode?

<ul>
<li><code>-T1</code></li>
<li><code>-T5</code></li>
<li><code>-T0</code></li>
<li><code>-T9</code></li>
</ul></li>
<li>James wants to scan the SSH service on his device. Which of the following will allow James to do this?

<ul>
<li><code>-p 22</code></li>
<li><code>-p ssh</code></li>
<li><code>-p T:22</code></li>
</ul></li>
<li>Sandra has run the following scan; what does it do? <code>nmap -Pn -O -sV -oA scan_results 192.168.0.1</code>

<ul>
<li>Performs a ping scan, OS enumeration, Service enumeration, and outputs data to a file called scan_results</li>
<li>Performs a scan of all ports, performs OS enumeration, performs a half-connect scan and outputs results to a file called scan_results</li>
<li>Does not perform any nmap discovery scans, performs an overt scan, a verbose scan and outputs results to a file called scan_results</li>
<li>Does not perform any nmap discovery scans, performs an OS scan, a service enumeration scan, and outputs results to a file called scan_results</li>
</ul></li>
<li>Which of the following outputs is NOT a nmap file output type

<ul>
<li>Normal</li>
<li>Grepable</li>
<li>XML</li>
<li>HTML</li>
</ul></li>
<li>True or False, performing a TCP Half-Connect (-sS) scan required privleges on the scanning computer?

<ul>
<li>True</li>
<li>False</li>
</ul></li>
<li>How many TCP ports does nmap scan by default unless told otherwise?

<ul>
<li>100</li>
<li>1,024</li>
<li>1,000</li>
<li>10,000</li>
</ul></li>
</ol>

<p>Mostly convinced me that most UNIX tools need a better CLI UI!</p>

<p>A DB quiz. Again, mostly trivia. And some stuff not covered. I got 7/9.</p>

<p>Art of Hacking - Database hacking</p>

<ol>
<li>Sarah has scanned a server and has identified a service running on port 3306. What is this service likely to be?

<ul>
<li>MySQL</li>
<li>Postgresql</li>
<li>Microsoft SQL</li>
<li>Mongo DB</li>
</ul></li>
<li>When attacking a MySQL server, which common account should you try to attack that is normally not configured to lockout?

<ul>
<li>Admin</li>
<li>User1</li>
<li>MySQL</li>
<li>Root</li>
</ul></li>
<li>Gary has identified a weakness in a MySQL database installation and has managed to use the database to extract the contents of the /etc/passwd file from the underlying server. what command would Gary have used to do this?

<ul>
<li><code>select LOAD_FILE('/etc/passwd');</code></li>
<li><code>select READ_FILE('etc/passwd');</code></li>
<li><code>select * from /etc/passwd</code></li>
<li><code>select all from FILE('/etc/passwd');</code></li>
</ul></li>
<li>What is the default port for a postgres SQL database?

<ul>
<li>1234</li>
<li>5544</li>
<li>2345</li>
<li>5432</li>
</ul></li>
<li>What is the default user for a postgres SQL database?

<ul>
<li>root</li>
<li>admin</li>
<li>postgres</li>
<li>user0</li>
</ul></li>
<li>James has recovered a set of credentials for a MySQL database running on IP address 192.168.0.43. The credentials he has discovered are: <code>user = root</code> <code>password = P@55w0rd</code>. What syntax should James use to gain access to the database?

<ul>
<li><code>mysql -u root -p P@55w0rd -h 192.168.0.43</code></li>
<li><code>mysql -u root -p -h 192.168.0.43</code></li>
<li><code>mysql -a root -p -u 192.168.0.43</code></li>
<li><code>mysql -u root --password -h 192.168.0.43</code></li>
</ul></li>
<li>David has managed to locate a vulnerable Microsoft SQL database application and wants to find out the version of database in use. What syntax should David use to obtain the version data?

<ul>
<li><code>UNION SELECT @@version --</code></li>
<li><code>SELECT * FROM DB_VERSION #</code></li>
<li><code>VERSION FROM TB_DATABASE WHERE V &gt;1 --</code></li>
<li><code>SELECT * FROM @@version #</code></li>
</ul></li>
<li>What is the name of the file that all databases have that describes the database structure, including database names, table names, column names, and data types, amongst others?

<ul>
<li>DB_STRUCTURE</li>
<li>db_schema</li>
<li>data_definitions</li>
<li>information_schema</li>
</ul></li>
<li>What sqlmap switch would you use to retrieve all the contents from a targeted database table?

<ul>
<li><code>--ALL</code></li>
<li><code>--download</code></li>
<li><code>--dump</code></li>
<li><code>--loot</code></li>
</ul></li>
</ol>

<p>Password questions - again, trivia. I got 7/10 with a few guesses.</p>

<ol>
<li>Kali Linux comes with some pre-installed word lists for use when conducting password attacks. What is the location of these files?

<ul>
<li><code>/usr/share/wordlists</code></li>
<li><code>/var/temp/wordlists</code></li>
<li><code>/usr/wordlists</code></li>
<li><code>/etc/wordlists</code></li>
</ul></li>
<li>What switch should Carl use to provide hydra with a single username to try in an online password attack?

<ul>
<li><code>-L</code></li>
<li><code>-D</code></li>
<li><code>-p</code></li>
<li><code>-l</code></li>
</ul></li>
<li>Denise is trying to use hydra to attack an ftp server which is running on the non-standard port (2121) - what syntax should Denise use when configuring hydra to target this service?

<ul>
<li><code>:2121</code></li>
<li><code>-p 2121</code></li>
<li><code>-s 2121</code></li>
<li><code>p:2121</code></li>
</ul></li>
<li>Joanne has extracted the following data from a Linux server; What hashing algorithm is the system using to generate the password hash? <code>root:$1$/avpfBJ1$x0z8w5UF9Iv./DR9E9Lid.:14747:0:99999:7:::</code>

<ul>
<li>SHA-512</li>
<li>Blowfish</li>
<li>SHA-256</li>
<li>MD5</li>
</ul></li>
<li>What encryption standard did Windows LanMan use to secure its hashes?

<ul>
<li>DES</li>
<li>AES</li>
<li>3DES</li>
<li>RSA</li>
</ul></li>
<li>In order for John-the-Ripper to process Linux passwd &amp; shadow files, they have to be unshadowed first and the results placed into a new file. What is the correct syntax to achieve this?

<ul>
<li><code>unshadow /etc/passwd /etc/shadow &gt; hashfile</code></li>
<li><code>unshadow /etc/shadow /etc/passwd &gt; hashfile</code></li>
<li><code>/etc/passwd /etc/shadow unshadow | hashfile</code></li>
<li><code>unshadow /etc/passwd /etc/shadow | hashfile</code></li>
</ul></li>
<li>What does the "-a0" switch denote when using hashcat?

<ul>
<li>To use only 1 core of the CPU for processing</li>
<li>To output all results to the screen</li>
<li>To use a brute-force attack</li>
<li>To use a dictionary attack</li>
</ul></li>
<li>Which password hashes does Windows salt

<ul>
<li>The SAM file</li>
<li>NTLM hashes</li>
<li>Cached domain hashes</li>
<li>The NTDS.dit file</li>
</ul></li>
<li>Which of the following is not a hash function

<ul>
<li>MD5</li>
<li>Blowfish</li>
<li>SHA-1</li>
<li>RIPEMD-160</li>
</ul></li>
<li>What is the maximum length of a LanMan password

<ul>
<li>14 charters</li>
<li>20 characters</li>
<li>7 characters</li>
<li>32 characters</li>
</ul></li>
</ol>

<h2 id="verdict"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-2/#verdict">Verdict</a></h2>

<p>Lots of students hadn't been exposed to Linux or these tools before. Concern expressed about lots of rote memorisation. All the above questions could be answered with <code>-h</code> - but not able to do that one a proctored exam.</p>

<p>Quite a "script kiddie" day. Lots of loading up metasploit and just guessing until things work.  A few infrastructure problems - broken test servers made things quite frustrating.</p>

<p>Lots of technical jargon without any explanation. Jenkins, Groovy, Sandbox, Metaprogramming. What are they? What definitions are needed for the exam?</p>

<p>Nothing so far about law and ethics… Which is a bit worrying. We're only working on a restricted demo lab, and all the exploits are ancient.</p>

<p>There's still no checking if students have done the tasks. It would be helpful if each student had to, say, retrieve a specific file or string from the target and present it back to the tutor. I know a couple of students who are a bit bewildered but a bit nervous to ask for help.</p>

<p>A short day - so off to Cloud Academy to brush up on my skills.</p>

<h2 id="notes"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-2/#notes">Notes</a></h2>

<p>Heartbleed - get up to 64KB data from memory. Ask for specific length, bounds aren't checked. Only on old versions of TLS. Can also check key length - under 128bit may be vulnerable.</p>

<p>Heartbleed to find username / password. Log in via the web. View source to find .cgi path.</p>

<p>Metasploit - use the right module and configure. Exploit and then <code>cat</code> the <code>/etc/passwd</code> file.</p>

<p>Shellshock - as above. Copy and paste commands.</p>

<p><code>LD_PRELOAD</code> need to ensure you keep privileges.</p>

<p>Use of <code>nc</code> to get remote machine to connect to your machine in order to get a shell on it.</p>

<p>Use of <code>history</code> to check for entered passwords and other interesting bits.</p>

<p>Weak Linux permissions. Can you overwrite a command run by root?</p>

<p><code>cron</code> jobs a good source of this.</p>

<p>Use of local Python server to transfer files across. <code>linpeas.sh</code></p>

<p>Always compile exploits on target machine to ensure architecture compatibility.</p>

<p>Basic use of <code>wget</code> and <code>chmod</code></p>

<p>Exploiting other Linux things like JBoss, Tomcat, Jenkins. What is our attack surface? Weak defaults. Outdated versions with CVE.</p>

<p>Data Serialisation. Can be weaponised into a payload which will be parsed and executed. Tools like CommonsCollections1.</p>

<p>CMS targets like Joomla, Drupal, WordPress. Lots of complexity leads to misconfiguration. Vulnerable plugins and add-ons. Version leakage.</p>

<p><code>joomscan</code> and <code>wpscan</code> both useful automated tools. As are DroopeScan and DruPwn for Drupal</p>

<p>Injection of serialised objects into HTTP_HEADER. Chain with <code>x-forward-for</code> to trigger the payload.</p>

<p>Basics of scanning for unknown ports then running <code>droopescan</code> and <code>wpscan</code>.</p>

<p>EXIF metadata can also be used to hide information - old WP plugins particularly vulnerable.</p>

<p>Use of <code>dirb</code> to find directories on remote webservers.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40783&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-2/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Certified in The Art of Hacking - Day 1]]></title>
		<link>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/</link>
					<comments>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 01 Nov 2021 20:34:07 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Certified in The Art of Hacking]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[MSc]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40780</guid>

					<description><![CDATA[As part of my MSc, I have to take three &#34;Professional Practice&#34; courses. The course provider, QA.com, let me choose anything from their online catalogue.  The first I&#039;m doing is Certified in The Art of Hacking.  As regular readers will know, I&#039;m pretty reasonable at hacking. I have received bug bounties from Google, Twitter, Samsung, and a bunch of others. I don&#039;t claim to be an expert - and I…]]></description>
										<content:encoded><![CDATA[<p>As part of my MSc, I have to take three "Professional Practice" courses. The course provider, QA.com, let me choose anything from their online catalogue.  The first I'm doing is <a href="https://www.qa.com/course-catalogue/courses/certified-in-the-art-of-hacking-qataoh/">Certified in The Art of Hacking</a>.</p>

<p>As regular readers will know, I'm pretty reasonable at hacking. I have received bug bounties from Google, Twitter, Samsung, and a bunch of others. I don't claim to be an expert - and I doubt I'll be on any top-10 lists - but I have a reasonable, albeit informal, background. It's that "informal" which is annoying me. I want a bit of paper which says that, yes, actually, I <em>do</em> know what I'm talking about.</p>

<p>Computer Science - and hackers especially - eschew formal qualifications. The earliest hackers and phreakers learned their craft on the mean streets of the early Infobahn. Geeks don't need qualifications! We're not <em>nerds!</em></p>

<p>But, hey, a free qualification is not to be sniffed at. I know it probably won't be as rigorous as some other certifications - but it was all that was available to me.</p>

<p>Looking through the course agenda there were a few things I knew well - XSS, Port Scanning, Password Hashing - but it's always good to pick up a reminder. 
Some things I've heard of but not used - Burp, Heartbleed, Metasploit - so will be good to get a solid understanding. 
And some things <em>way</em> outside my experience - Windows stuff, Tomcat, XXE - yay new learning!</p>

<p>The thing that I'm looking forward to the least is the exam at the end. It's multiple choice and requires 50% correct - but I always find myself second-guessing those sorts of questions. Especially if there's lots of "well, <em>technically</em>" type questions. Also - concentrating for 70 minutes!!? And proctored? Does that mean I can't run to Wikipedia for help?!?</p>

<p>Anyway, I'm going to try and keep a diary of what I've learned. Hopefully that will let other learners know what the course is like, and if it is worthwhile.</p>

<h2 id="verdict"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/#verdict">Verdict</a></h2>

<p>A bit more theory than I was expecting. Diving straight in to TCP flags was a bit alienating for some students - although I already knew about them. Similarly, lots of discussion of ports - but didn't actually explain the fundamentals of what they are.</p>

<p>Lots of terminology thrown at people - so probably not great for complete beginners.</p>

<p>Similarly, the <code>nmap</code> discussion was a bit whistle-stop. It was mostly a case of following the PDF instructions without much explanation. Lots of people (me included!) got tripped up by the command line flags.</p>

<p>Some of the practical exercises were a bit copy-and-paste without much understanding of what was going on.</p>

<p>Not much feedback from students. No one was asked to prove they'd got the right answer.</p>

<p>Crucially - I have no idea what sort of questions are going to be on the exam! Is it the port numbers? The name of tools? The specific syntax?</p>

<p>Had to ask. Turns out will need to remember port numbers, nmap options, etc.</p>

<h2 id="day-1-notes"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/#day-1-notes">Day 1 Notes</a></h2>

<p>Started on a poor note - had to use GoToMyPC which doesn't have a Linux client.  The Linux option was use OpenVPN to connect to the provider's infrastructure, and then SSH into a Kali Linux image. Installing your own Kali would also be possible, but you still need to connect to the VPN to "attack" the provided vulnerabilities.</p>

<p>Would have been useful if they gave those instructions beforehand. Wasted half an hour while people worked out what to do.</p>

<p>Brief discussion of password cracking. Looking at HaveIBeenPwned and various top 10 lists.</p>

<p>Basics of the <a href="https://en.wikipedia.org/wiki/Kill_chain#The_cyber_kill_chain">Cyber Kill Chain</a>. Enumerate, identify vulnerabilities, exploit, post-exploit, use privileges, repeat. No real discussion of it, or its shortcomings.</p>

<h3 id="module-1-port-scanning"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/#module-1-port-scanning">Module 1 - port scanning</a></h3>

<p>ARP - layer 2 of OSI. Below IPv4. ARP maps hardware MAC to IP. Note - only for IPv4. ARP broadcast can ask machines on a local network for the IP addresses.</p>

<p><code>arp-scan</code> to find the live hosts.</p>

<p>Basics of TCP. 3 way handshake. Flags. Segment Header format. SYN. SYN/ACK. ACK.</p>

<p>Use of Wireshark to examine TCP packets.</p>

<p>UDP - what it is, why it is unreliable, header formats.</p>

<p>Ports - what they are, reserved ports, port state. Basics of <code>netstat</code>.</p>

<p>Basics of <code>nmap</code>. 3 way handshake then <code>RST</code>. Don't need special privileges - handy if you have compromised a machine. Plays by the rules, so less likely to trip firewalls. Slower than a half-open scan, so use <code>-sS</code> for SYN, SYN/ACK, RST. Requires privileges, and might get picked up by Intrusion Detection Systems (IDS).</p>

<p>UDP scan <code>-sU</code>. Requires privileges, sends empty UDP packet to every targeted port. Can send specific data <code>--data</code>. Might be blocked by firewalls. Ports can be filtered.
UDP is often used on VPN, NTP, DNS, SNMP.</p>

<p>Dump to file(s) for later ingestion into metasploit:
<code>nmap -sS -sV -nvv -O 192.168.3.0/24 -oA portscan_tcp</code></p>

<h3 id="module-2-password-attacks"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/#module-2-password-attacks">Module 2 - password attacks</a></h3>

<p>Online and offline attacks. Sending repeated requests vs looking though a dumped file.</p>

<p>Enumerate users. What are lockout policies? Admins are often exempt from lockout. Throttle brute-force attempts. Often generates lots of log entries and / or alarms.</p>

<p>Intro to SNMP. UDP 161. 1 &amp; 2c have <em>no</em> auth or encryption. Need to know the "community string" or use manufacturer's default. Public string vs Private string.</p>

<p><code>onesixtyone</code> can bruteforce common strings.</p>

<p>OID values. No real explanation of what they were.</p>

<p><code>snmpwalk -v 1 -c ???? 192.168.?.? &lt;OID&gt;</code> Need to learn that syntax.</p>

<h3 id="attacking-mysql"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/#attacking-mysql">Attacking MySQL</a></h3>

<p>Old RCE. SQL Injection. Abusing phpMyAdmin. Brute force. Root user is almost always there and has no lockout.</p>

<p><code>hydra</code> to guess passwords</p>

<p>Once logged in, can use <code>Select LOAD_FILE('/etc/passwd');</code> Or <code>Select * from mysql.user;</code> to get all users.</p>

<p>Quite a good exercise, find a MySQL server via <code>nmap</code>, use <code>hydra</code> to try common passwords, log in, get credit card data and other password info.</p>

<h3 id="chaining"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/#chaining">Chaining</a></h3>

<p>Using the above, use <code>nmap</code> to find the <code>ssh</code> port. Use one of the users found and brute force their password.</p>

<p>use <code>ssh -t</code> to exfiltrate data. <code>ssh -t user@192.168.3.123 -p 1234 "cat /etc/passwd"</code></p>

<p>Then brute the postgres user password and get shell using <code>sqlmap -f -d postgres://postgres:password@192.168.3.123:5432/postgres --os-shell</code></p>

<h3 id="metasploit-basics"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/#metasploit-basics">Metasploit basics</a></h3>

<p>Loading output of <code>nmap</code> into it.  <code>msfconsole</code>.  Most exploits can be detected by common anti-virus. Use <code>show axillary</code> and <code>show exploits</code> and <code>show payloads</code> to get list.</p>

<p>bind - waits for a response. reverse shell - the machine connects directly to you. Useful for bypassing firewalls.</p>

<p><code>meterpreter</code> is the most advanced payload.</p>

<p>Grepping through metasploit. Getting reverse shell on an IRC (!) server.</p>

<h3 id="cracking-passwords"><a href="https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/#cracking-passwords">Cracking Passwords</a></h3>

<p>MD5, SHA1, LM/NTLM, Blowfish, SHA256, SHA512 hashing etc. Rainbow tables to use offline attacks. Salting etc.</p>

<p>Encoding, encrypting, hashing. Transforming clear text via a reversible algorithm eg Base64. Asymmetric encryption relying on public and private keys. Hashing is a one-way function - usually produces a fixed length string.</p>

<p>Salting - a way to obfuscate the hash.</p>

<p><code>openssl passwd -1 -salt 123 password</code> use MD5 password with salt.</p>

<p>Salt can be cached domain credentials like the username. Unix uses random salt.</p>

<p>LM (LanMan) is an insecure Windows hashing for XP and earlier.</p>

<p>John The Ripper - can brute force per character (slow) or a word list (faster).
<code>unshadow /etc/passwd /etc/shadow &gt; hashes</code>
<code>john --single hashes</code>
<code>john -w=wordlist</code></p>

<p>Hashcat can use a GPU for password cracking.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40780&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/11/certified-in-the-art-of-hacking-day-1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
