<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>clo.ng</title>
    <link>https://clo.ng/</link>
    <description>Recent content on clo.ng</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Thu, 27 Jul 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://clo.ng/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Leveraging osquery to examine the XProtect Behavioral Service DB</title>
      <link>https://clo.ng/blog/osquery-xpdb/</link>
      <pubDate>Thu, 27 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/osquery-xpdb/</guid>
      <description>&lt;p&gt;Upon reading Mandiant&amp;rsquo;s &lt;a href=&#34;https://www.mandiant.com/resources/blog/north-korea-supply-chain&#34;&gt;&amp;ldquo;North Korea Leverages SaaS Provider in a Targeted Supply Chain Attack&amp;rdquo;&lt;/a&gt;, one of the artifacts that stood out to me was the usage of XProtect&amp;rsquo;s Behavior Service DB. Until now, I had assumed all XProtect detections were signature based, but it sounds like Apple may be testing some behavioral-based rules to flag suspicious process executions in newer versions of MacOS.&lt;/p&gt;&#xA;&lt;h1 id=&#34;examining-the-db-locally-using-sqlite3&#34;&gt;Examining the DB locally using sqlite3&lt;/h1&gt;&#xA;&lt;p&gt;If you&amp;rsquo;d like to take a look at the DB on your own system, you can simply run &lt;code&gt;sudo sqlite3 /var/protected/xprotect/XPdb&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sunsetting DetectionLab</title>
      <link>https://clo.ng/blog/sunsetting-detectionlab/</link>
      <pubDate>Sat, 31 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/sunsetting-detectionlab/</guid>
      <description>&lt;p&gt;On Dec 11, 2017, I published the initial release of DetectionLab. I never expected the project to garner the attention that it did, and I couldn&amp;rsquo;t be more thankful for all of the positive experiences that came about from building it. However, after nearly 6 years of actively maintaining, expanding, and improving the project, I think it&amp;rsquo;s finally time to call it a day on DetectionLab development.&lt;/p&gt;&#xA;&lt;p&gt;During the past two years, I became a father and also joined a startup &amp;ndash; two things that are both extremely rewarding in their own ways, but are also very large time commitments. Multi-hour uninterrupted blocks of free time no longer exist for me and that is essentially a prerequisite for doing active development and testing of DetectionLab. Over the years, I&amp;rsquo;ve spent hundreds of hours testing changes and implementing new features. In that time:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quick and Dirty Linux Forensics</title>
      <link>https://clo.ng/blog/quick_and_dirty_linux_forensics/</link>
      <pubDate>Mon, 27 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/quick_and_dirty_linux_forensics/</guid>
      <description>&lt;p&gt;Over the past few years, I&amp;rsquo;ve occasionally needed to do some quick forensics on Linux hosts. Each time I do, I find myself stitching together 5-10 different pages of content to pull together the information I need to grab the disk and memory collections.&lt;/p&gt;&#xA;&lt;p&gt;This is a guide that attempts to pull all of that into one place and will likely serve as a future reference for me, but I hope others can derive some value from it as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Take on the Decent Coffee Cart</title>
      <link>https://clo.ng/blog/espresso-cart/</link>
      <pubDate>Sat, 02 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/espresso-cart/</guid>
      <description>&lt;p&gt;In 2020, I decided to invest in an espresso machine since I am spending an inordinate amount of time at home and find myself regularly longing for a latte. However, I didn&amp;rsquo;t have the kitchen counter space for a machine, grinder, and all of the tools needed for a reasonable workflow.&lt;/p&gt;&#xA;&lt;p&gt;After looking at a bunch of portable kitchen carts, I eventually came across the &lt;a href=&#34;https://decentespresso.com/coffeecart&#34;&gt;Decent Coffee Cart&lt;/a&gt;. Decent Espresso is a company that makes custom espresso products and the Decent coffee cart is sort of a DIY project where you modify an IKEA cart and convert it into an ideal coffee cart.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Installing DetectionLab on ESXi</title>
      <link>https://clo.ng/blog/detectionlab-on-esxi/</link>
      <pubDate>Wed, 04 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/detectionlab-on-esxi/</guid>
      <description>&lt;p&gt;I recently purchased an Intel NUC that I will be installing ESXi 7 on. I decided this would be a great opportunity to create a step-by-step guide on deploying DetectionLab on ESXi.&lt;/p&gt;&#xA;&lt;h2 id=&#34;hardware&#34;&gt;Hardware&lt;/h2&gt;&#xA;&lt;p&gt;For the hardware, I went with a Skull Canyon i7 NUC. For their size and price point, these things are hard to beat. I found a used one on eBay for $300 and got 2x1TB NVME drives and 32GB of RAM for an additional $300 bringing the total to $600. You can likely build a machine with more RAM/CPU for that price, but almost certainly not in such a quiet and compact case.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Too Big to Care</title>
      <link>https://clo.ng/blog/too-big-to-care/</link>
      <pubDate>Thu, 08 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/too-big-to-care/</guid>
      <description>&lt;p&gt;In 2020, I was excited to finally upgrade to a Macbook Pro with a physical escape key and keyboard with more travel. From a hardware perspective, the 2020 MBP13 was everything I wanted. However, upon the release of MacOS Catalina 10.15.5, I noticed that my USB devices would often stop working when I plugged it into my CalDigit TS3 dock until I rebooted the machine. While this was massively inconvenient, I chalked it up to hardware incompatibility or digital ghosts. I was extra relieved to see the release notes for 10.15.6 include the following fix:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working Through Splunk&#39;s Boss of the SOC - Part 6</title>
      <link>https://clo.ng/blog/bots-part6/</link>
      <pubDate>Mon, 13 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/bots-part6/</guid>
      <description>&lt;h3 id=&#34;question-51-325&#34;&gt;Question 51 (325)&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Microsoft cloud services often have a delay or lag between &amp;ldquo;index time&amp;rdquo; and &amp;ldquo;event creation time&amp;rdquo;. For the entire day, what is the max lag, in minutes, for the sourcetype: ms:aad:signin? Answer guidance: Round to the nearest minute without the unit of measure.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is an excellent question! Let&amp;rsquo;s start putting together a query to show the time and indextime.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://community.splunk.com/t5/Splunk-Search/How-to-display-index-time-in-table/m-p/84022/highlight/true#M21417&#34;&gt;You can&amp;rsquo;t just &lt;code&gt;table&lt;/code&gt; the &amp;ldquo;_indextime&amp;rdquo; field&lt;/a&gt;, so we&amp;rsquo;ll use eval to create a field:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working Through Splunk&#39;s Boss of the SOC - Part 5</title>
      <link>https://clo.ng/blog/bots-part5/</link>
      <pubDate>Sun, 12 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/bots-part5/</guid>
      <description>&lt;h3 id=&#34;question-41-315&#34;&gt;Question 41 (315)&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;During the attack, two files are remotely streamed to the /tmp directory of the on-premises Linux server by the adversary. What are the names of these files? Answer guidance: Comma separated without spaces, in alphabetical order, include the file extension where applicable.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;We know it&amp;rsquo;s likely that we&amp;rsquo;ll be able to find these files in the &lt;code&gt;/tmp&lt;/code&gt; directory based on the question, so I&amp;rsquo;m going to start pretty broad here:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working Through Splunk&#39;s Boss of the SOC - Part 4</title>
      <link>https://clo.ng/blog/bots-part4/</link>
      <pubDate>Tue, 07 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/bots-part4/</guid>
      <description>&lt;h3 id=&#34;question-31-304&#34;&gt;Question 31 (304)&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;What is the name of the user that was created after the endpoint was compromised?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have no idea what &amp;ldquo;the endpoint&amp;rdquo; is referring to here, so basically I&amp;rsquo;m stuck looking for anything user-creation related.&lt;/p&gt;&#xA;&lt;p&gt;I wish I could tell you I had some surefire way of finding the answer, but here&amp;rsquo;s how I solved this one. I started with this query becuase it captured any event that had both &amp;ldquo;user&amp;rdquo; and &amp;ldquo;add&amp;rdquo;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working Through Splunk&#39;s Boss of the SOC - Part 3</title>
      <link>https://clo.ng/blog/bots-part3/</link>
      <pubDate>Sun, 28 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/bots-part3/</guid>
      <description>&lt;h3 id=&#34;question-21-220&#34;&gt;Question 21 (220)&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;AWS access keys consist of two parts: an access key ID (e.g., AKIAIOSFODNN7EXAMPLE) and a secret access key (e.g., wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). What is the secret access key of the key that was leaked to the external code repository?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;No SPL needed here. Answer this question by following the link to the Github commit mentioned in the email from Question 20.&lt;/p&gt;&#xA;&lt;details&gt;&#xA;&lt;summary&gt;Question 21 answer: &lt;/summary&gt;&#xA;&lt;br&gt;Bx8/gTsYC98T0oWiFhpmdROqhELPtXJSR9vFPNGk&lt;br&gt;&#xA;&lt;/details&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;question-22-221&#34;&gt;Question 22 (221)&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Using the leaked key, the adversary makes an unauthorized attempt to create a key for a specific resource. What is the name of that resource? Answer guidance: One word.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working Through Splunk&#39;s Boss of the SOC - Part 2</title>
      <link>https://clo.ng/blog/bots-part2/</link>
      <pubDate>Sat, 27 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/bots-part2/</guid>
      <description>&lt;p&gt;I hope you enjoyed &lt;a href=&#34;https://clo.ng/blog/bots-part1/&#34;&gt;part 1&lt;/a&gt; of this series and learned a few things along the way. I&amp;rsquo;m going to jump right into questions for part 2.&lt;/p&gt;&#xA;&lt;h3 id=&#34;question-11-214&#34;&gt;Question 11 (214)&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;What is the short hostname of the only Frothly endpoint to actually mine Monero cryptocurrency? (Example: ahamilton instead of ahamilton.mycompany.com)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;NOTE: This answer writeup contains spoilers for question 9!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Wow, that&amp;rsquo;s a broad question. To me, the question implies that the attempt to mine cryptocurrency was actually successful and proof of work may have been submitted over the network. However, it&amp;rsquo;s not totally clear how the word &amp;ldquo;actually&amp;rdquo; is being used here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working Through Splunk&#39;s Boss of the SOC - Part 1</title>
      <link>https://clo.ng/blog/bots-part1/</link>
      <pubDate>Fri, 26 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/bots-part1/</guid>
      <description>&lt;center&gt;&lt;img src=&#34;https://clo.ng/img/2020/06/bots.png&#34; width=&#34;300&#34;&gt;&lt;/center&gt;&#xA;&lt;p&gt;It occurred to me yesterday as I was updating documentation for DetectionLab that although it includes a script to install Boss of the SOC, I&amp;rsquo;ve never actually partipated in it or tried it out.&#xA;I thought this could be a great place to document how I walk through the series of questions to help other people understand my methodology.&lt;/p&gt;&#xA;&lt;p&gt;If you&amp;rsquo;d like to follow along, you can quickly spin up BOTS in DetectionLab as well: &lt;a href=&#34;https://github.com/clong/DetectionLab/wiki/Install-the-Splunk-Boss-of-the-SOC-(BOTS)-Dataset(s)&#34;&gt;https://github.com/clong/DetectionLab/wiki/Install-the-Splunk-Boss-of-the-SOC-(BOTS)-Dataset(s)&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>2019 in Review</title>
      <link>https://clo.ng/blog/2019_in_review/</link>
      <pubDate>Fri, 03 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/2019_in_review/</guid>
      <description>&lt;h1 id=&#34;2019-in-review&#34;&gt;2019 in Review&lt;/h1&gt;&#xA;&lt;p&gt;From a personal standpoint, 2019 was a year filled with challenges and accomplishments. It was the first time I felt truly depressed in over a decade and some moments forced me to open up, be vulnerable, and seek help. I discovered the need to build better habits and learned that without structure, although I&amp;rsquo;m able to keep myself busy, I don&amp;rsquo;t often gravitate towards doing things that benefit me in the long term. However, 2019 also ended on a high note. I joined a new company and awesome team that has helped me to question a lot of assumptions I&amp;rsquo;ve made about enterprise security, I got to see two of my best friends get married, and I got to spend quality time with my family. My personal relationships greatly improved and I learned to really cherish some of my oldest friendships.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Wireguard VPN with Algo</title>
      <link>https://clo.ng/blog/algo_vpn/</link>
      <pubDate>Sat, 30 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/algo_vpn/</guid>
      <description>&lt;hr&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been lagging behind on keeping my VPN servers up to date, but I was delighted to see that Trail of Bits&amp;rsquo; &lt;a href=&#34;https://github.com/trailofbits/algo&#34;&gt;Algo&lt;/a&gt; supports Wireguard VPNs (and has for quite awhile now).&lt;/p&gt;&#xA;&lt;p&gt;Wireguard &lt;a href=&#34;https://arstechnica.com/gadgets/2018/08/wireguard-vpn-review-fast-connections-amaze-but-windows-support-needs-to-happen/&#34;&gt;offers a few advantages&lt;/a&gt; over other types of VPNs but the main feature I wanted it for was faster connection negotiations. When using on-demand VPN connections, I don&amp;rsquo;t want to be waiting more than a few seconds for my connection to be available over VPN.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Completing My Multi-Computer Desk Setup</title>
      <link>https://clo.ng/blog/desk/</link>
      <pubDate>Mon, 13 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/desk/</guid>
      <description>&lt;p&gt;Over the past few years, I&amp;rsquo;ve been trying to find a desk and hardware configuration that I&amp;rsquo;ve been satisfied with to control multiple computers. There are many hardware and software solutions available on the market, but I found most of them to be lacking in one way or another. My requirements for this setup were:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Supporting 3-4 different computers: 2 Laptops and 2 desktops.&lt;/li&gt;&#xA;&lt;li&gt;Supporting full resolution and 60hz on a 34&amp;quot; wide screen display&lt;/li&gt;&#xA;&lt;li&gt;No input lag or dependency on the network to share devices&lt;/li&gt;&#xA;&lt;li&gt;Easy to add/remove peripherals to/from machines. Only the keyboard, mouse, and webcam should be shared across all devices.&lt;/li&gt;&#xA;&lt;li&gt;I should not have to change any monitor settings or flip more than a single switch to transition between computers once they are plugged in.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;A combination of hardware and software issues have plagued me until just recently, when I was finally able to get everything working the way I wanted.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Osquery to Detect Reverse Shells on MacOS</title>
      <link>https://clo.ng/blog/osquery_reverse_shell/</link>
      <pubDate>Sun, 21 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/osquery_reverse_shell/</guid>
      <description>&lt;h2 id=&#34;reverse-shell-detection&#34;&gt;Reverse Shell Detection&lt;/h2&gt;&#xA;&lt;p&gt;One challenge when it comes to building defenses for MacOS are the numerous scripting languages that come pre-installed with the operating system. While it may be convenient for developers, it provides attackers with a variety of methods for establishing persistence and bootstrapping connections to command and control servers.&lt;/p&gt;&#xA;&lt;p&gt;Once attackers gain a foothold on systems, they frequently like to gain shell access by launching reverse shells. The benefits of this are well documented &lt;a href=&#34;https://andreafortuna.org/cybersecurity/some-thoughts-about-reverse-shells/&#34;&gt;here&lt;/a&gt;. As you might expect, there are numerous ways to initiate these connections using native utilities such as:&lt;/p&gt;</description>
    </item>
    <item>
      <title>pwnable.kr: [mistake]</title>
      <link>https://clo.ng/blog/mistake/</link>
      <pubDate>Thu, 07 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://clo.ng/blog/mistake/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;As my first post, I thought I would do a quick writeup of the &lt;a href=&#34;http://pwnable.kr/play.php&#34;&gt;Mistake&lt;/a&gt; challenge found on &lt;a href=&#34;http://pwnable.kr&#34;&gt;pwnable.kr&lt;/a&gt;. This challenge took me a bit longer than I expected, but the mistake does turn out to have interesting side effects.&lt;/p&gt;&#xA;&lt;p&gt;The challenge is as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We all make mistakes, let&amp;rsquo;s move on.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;(don&amp;rsquo;t take this too seriously, no fancy hacking skill is required at all)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;This task is based on real event&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
