<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Research on kimobu</title><link>https://www.kimobu.space/categories/research/</link><description>Recent content in Research on kimobu</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright Kimo B</copyright><lastBuildDate>Mon, 17 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://www.kimobu.space/categories/research/index.xml" rel="self" type="application/rss+xml"/><item><title>GPT Detections on Windows and Linux</title><link>https://www.kimobu.space/posts/GPT-Detections-on-Windows-and-Linux/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://www.kimobu.space/posts/GPT-Detections-on-Windows-and-Linux/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;This is a follow up to &lt;a href="https://www.kimobu.space/posts/A-Little-Less-Malware-a-Little-More-Context/"&gt;A Little Less Malware&lt;/a&gt;, applying the same techniques to Linux and Windows data. There are some differences with this experiment. In the last one, we used Apple&amp;rsquo;s ESF to collect telemetry, which gave us process group identifiers to work with. In this experiment, I&amp;rsquo;m using only the Elastic Agent and the process telemetry it provides. Unfortunately, Elastic Agent does not send PGID for Linux, and while Windows notionally &lt;a href="https://learn.microsoft.com/en-us/windows/console/console-process-groups"&gt;supports the concept&lt;/a&gt;, in practice it does not exist. First let&amp;rsquo;s look at a couple of ways to group activity without PGIDs.&lt;/p&gt;</description></item><item><title>A Little Less Malware a Little More Context: Using AI to detect malicious activity</title><link>https://www.kimobu.space/posts/A-Little-Less-Malware-a-Little-More-Context/</link><pubDate>Fri, 27 Dec 2024 00:00:00 +0000</pubDate><guid>https://www.kimobu.space/posts/A-Little-Less-Malware-a-Little-More-Context/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A coworker and I gave a &lt;a href="https://objectivebythesea.org/v7/talks/OBTS_v7_mBumanglag_jMillman.pdf"&gt;talk at Objective by the Sea v7&lt;/a&gt; on using Large Language Models (LLMs) as a behavioral detection. Another speaker, &lt;a href="https://x.com/DefSecSentinel"&gt;Colson&lt;/a&gt;, gave a great &lt;a href="https://objectivebythesea.org/v7/talks/OBTS_v7_cWilhoit.pdf"&gt;talk&lt;/a&gt; on why behavioral detections are so useful. LLMs are particularly adept at understanding and processing language-like structures, which include not only traditional text but also command-line arguments. In cybersecurity events, where command-line interactions often reveal attacker behaviors, LLMs can be leveraged to do behavioral detection without needing to be an expert in analyzing malicious actions or writing detections.&lt;/p&gt;</description></item><item><title>SecurityOnion GPT</title><link>https://www.kimobu.space/posts/SecurityOnion-GPT/</link><pubDate>Mon, 12 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.kimobu.space/posts/SecurityOnion-GPT/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;I was recently catching up on some conference videos and saw a talk by Roberto Rodriguez on &lt;a href="https://www.youtube.com/watch?v=TiBIP7kWaks&amp;amp;list=PL7ZDZo2Xu3332bKrXyCb0VEg52nqmMAcv&amp;amp;index=31"&gt;Empowering Security Teams with Generative AI: GPT models&lt;/a&gt;. This got me thinking about how to integrate GPT to hunting with Security Onion.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Goals&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Summarize activity found in Security Onion&lt;/li&gt;
&lt;li&gt;Enrich activity with MITRE ATT&amp;amp;CK attribution&lt;/li&gt;
&lt;li&gt;Convert English questions to Kibana Query Language to hunt&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In this post, I&amp;rsquo;ll tackle goals 1 and 2. I&amp;rsquo;ll do goal 3 in a separate post. These experiments will be conducted in Jupyter lab.&lt;/p&gt;</description></item><item><title>Hacking a Computer Remotely through a Phone</title><link>https://www.kimobu.space/posts/Hacking-a-Computer-Remotely-through-a-Phone/</link><pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate><guid>https://www.kimobu.space/posts/Hacking-a-Computer-Remotely-through-a-Phone/</guid><description>&lt;p&gt;In a recent demonstration of cyber and electronic warfare capabilities, I had the opportunity to enable access into a network by exploiting a computer remotely through a cell phone. In this blog post, I’ll document some of the challenges that were encountered and how they were overcome.&lt;/p&gt;
&lt;h1 id="scenario"&gt;Scenario&lt;/h1&gt;
&lt;p&gt;The scenario for this demonstration was: an offensive cyber operations team wants to gain access into a targeted computer network which includes a wireless access point. The targeted network is firewalled and NAT’d, and social engineering techniques such as spear phishing have been unsuccessful. In order to gain access into the network, a human source is used to approach the facility that houses the network (think a residential building) and gains close enough proximity to sense the radio frequency (RF) emissions from the facility.&lt;/p&gt;</description></item><item><title>Converting DoH to DNS</title><link>https://www.kimobu.space/posts/Converting-DoH-to-DNS/</link><pubDate>Wed, 06 Jan 2021 00:00:00 +0000</pubDate><guid>https://www.kimobu.space/posts/Converting-DoH-to-DNS/</guid><description>&lt;p&gt;In a &lt;a href="https://www.kimobu.space/posts/Investigating-DoH/"&gt;previous post&lt;/a&gt; I wrote about investigations
that I performed on DNS over HTTPS (DoH). That research was performed as part of
&lt;a href="https://catalog.dsu.edu/preview_course_nopop.php?catoid=32&amp;amp;coid=20604"&gt;Cyber Security Research&lt;/a&gt;. During
&lt;a href="https://catalog.dsu.edu/preview_course_nopop.php?catoid=32&amp;amp;coid=20607"&gt;Security Tool Development&lt;/a&gt;, I
expanded on that research by implementing a Python script which creates DNS wire
format packets from a DoH packet capture. This post describes how that script
was made and how it works.&lt;/p&gt;
&lt;h1 id="updates-to-gen_dohpy"&gt;Updates to gen_doh.py&lt;/h1&gt;
&lt;p&gt;In addition to the use of &lt;code&gt;sslkeylog&lt;/code&gt; which was discussed in the previous post, I needed to update the &lt;code&gt;client_protocol.py&lt;/code&gt; file. Line 45 of that file contains:&lt;/p&gt;</description></item><item><title>Investigating DoH</title><link>https://www.kimobu.space/posts/Investigating-DoH/</link><pubDate>Tue, 31 Dec 2019 00:00:00 +0000</pubDate><guid>https://www.kimobu.space/posts/Investigating-DoH/</guid><description>&lt;h1 id="dns-security"&gt;DNS Security&lt;/h1&gt;
&lt;p&gt;As a plain-text protocol, DNS lacks Confidentiality, Integrity, and Availability (CIA) protections. An attacker who can observe DNS activity can see where the DNS request originated from, where responses came from, what the query and response were, or tamper with the response.&lt;/p&gt;
&lt;p&gt;DNS over HTTPS (DoH) effectively mitigates many of those weaknesses. Instead of being a plain-text protocol over UDP, DoH is an exchange of DNS queries and responses over a TLS encrypted connection, using the HTTP2 protocol to transmit messages. Because of this encryption, an attacker can neither observe nor tamper with DoH queries and responses.&lt;/p&gt;</description></item></channel></rss>