<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Kali Linux</title><link>https://www.kali.org/</link><description>Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.</description><language>en-us</language><copyright>© OffSec Services Limited 2026. All rights reserved.</copyright><lastBuildDate>Sat, 28 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.kali.org/rss.xml" rel="self" type="application/rss+xml"/><webfeeds:cover image="https://www.kali.org/images/kali-logo.svg"/><webfeeds:icon>https://www.kali.org/images/favicon.svg</webfeeds:icon><webfeeds:logo>https://www.kali.org/images/favicon.svg</webfeeds:logo><webfeeds:related layout="card" target="browser"/><webfeeds:accentColor>367BF0</webfeeds:accentColor><item><title>Kali Linux 2026.1 Release (2026 Theme &amp; BackTrack Mode)</title><link>https://www.kali.org/blog/kali-linux-2026-1-release/</link><guid isPermaLink="true">https://www.kali.org/blog/kali-linux-2026-1-release/</guid><pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/kali-linux-2026-1-release/images/banner-2026.1-release.jpg" type="image/jpg"/><description>&lt;p>New year, new release - Kali 2026.1 is here! There is everything from a fresh coat of paint to a nod to our roots, with normal ongoing improvements.
Building on from &lt;a href="https://www.kali.org/blog/kali-linux-2025-4-release/">December&amp;rsquo;s 2025.4&lt;/a>, the summary of the &lt;a href="https://bugs.kali.org/changelog_page.php">changelog&lt;/a>:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2026-1-release/#2026-theme-refresh">2026 Theme Refresh&lt;/a>&lt;/strong> - Our yearly theme refresh&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2026-1-release/#backtrack-mode-for-kali-undercover">BackTrack Mode For Kali-Undercover&lt;/a>&lt;/strong> - New mode celebrating BackTrack&amp;rsquo;s 20th anniversary&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2026-1-release/#kalis-13th-birthday-event">Kali&amp;rsquo;s 13th Birthday Event&lt;/a>&lt;/strong> - A little community event&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2026-1-release/#new-tools-in-kali">New Tools&lt;/a>&lt;/strong> - 8 new programs&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="2026-theme-refresh">2026 Theme Refresh&lt;/h2>
&lt;p>As with previous 20xx.1 releases, this major update brings our &lt;strong>annual theme refresh&lt;/strong>, a long-standing tradition that keeps the Kali Linux interface as modern and innovative. This year&amp;rsquo;s release unveils a brand-new theme from the moment you boot. Everything from the &lt;strong>boot menu, installer to the login display, and a fresh set of &lt;a href="https://www.kali.org/wallpapers/">desktop wallpapers&lt;/a>&lt;/strong>.&lt;/p>
&lt;p>&lt;strong>Boot Animation&lt;/strong>&lt;/p>
&lt;p>The changes to the boot animation are subtle, but now the &lt;strong>animation is fixed for live images&lt;/strong>, where it used to get stuck at the beginning, showing only the tail. It will also restart the loop in case the boot process takes longer, making it look smoother.&lt;/p>
&lt;style>
#content video {
border-radius: 8px;
box-shadow: 0 0 20px rgba(0, 0, 0, .5);
}
&lt;/style>
&lt;video class="video-shortcode" preload="metadata" autoplay muted loop>
&lt;source src="https://www.kali.org/blog/kali-linux-2026-1-release/videos/kali-boot-splash-animation.mp4" >
Your browser does not support the video tag.
&lt;/video>
&lt;hr>
&lt;p>&lt;strong>Boot Menu&lt;/strong>&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-grub.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-grub.png" alt="Kali 2026 Default Grub Boot Menu" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Graphical Installer&lt;/strong>&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-installer.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-installer.png" alt="Kali 2026 Graphical Installer" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Login&lt;/strong>&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-login.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-login.png" alt="Kali 2026 Default Login" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Desktop&lt;/strong>&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-desktop.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-desktop.png" alt="Kali 2026 Default Desktop" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Kali Purple Desktop&lt;/strong>&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-desktop-purple.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-desktop-purple.png" alt="Kali Purple 2026 Default Desktop" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>&lt;strong>New Wallpapers&lt;/strong>&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-wallpapers.jpg' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/kali-wallpapers.jpg" alt="New Kali Wallpapers For 2026" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;h2 id="backtrack-mode-for-kali-undercover">BackTrack Mode For Kali-Undercover&lt;/h2>
&lt;p>2026 marks &lt;strong>the 20th anniversary of &lt;a href="https://www.backtrack-linux.org/">BackTrack Linux&lt;/a>&lt;/strong>, the &lt;a href="https://www.kali.org/docs/introduction/kali-linux-history/">predecessor to Kali&lt;/a>. To celebrate this milestone, we wanted to bring back some nostalgia for longtime users of this legendary cybersecurity distribution by adding a &amp;ldquo;BackTrack mode&amp;rdquo; to &lt;code>kali-undercover&lt;/code>. This mode transforms the desktop to recreate the look and feel of BackTrack 5, with the same wallpaper, colors, and window themes.&lt;/p>
&lt;p>You can run it directly from the menu or by running &lt;code>kali-undercover --backtrack&lt;/code> in the terminal. You can switch back to the default Kali desktop (or not) by running it again.&lt;/p>
&lt;video class="video-shortcode" preload="metadata" autoplay muted loop>
&lt;source src="https://www.kali.org/blog/kali-linux-2026-1-release/videos/kali-backtrack-mode.mp4" >
Your browser does not support the video tag.
&lt;/video>
&lt;hr>
&lt;p>Here is a screenshot of BackTrack 5, so you can compare it with our theme:&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/backtrack5-screenshot.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/backtrack5-screenshot.png" alt="BackTrack Linux 5r3" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;h2 id="kalis-13th-birthday-event">Kali&amp;rsquo;s 13th Birthday Event&lt;/h2>
&lt;p>Kali recently had our 13th birthday. To celebrate this, &lt;a href="https://discord.kali.org/">our discord&lt;/a> had a little event and prize give away to mark the occasion.
Shout-out to the people who managed to solve it already:&lt;/p>
&lt;ul>
&lt;li>@AI Program&lt;/li>
&lt;li>@Arszilla&lt;/li>
&lt;li>@UltraStrawberryDream&lt;/li>
&lt;/ul>
&lt;p>Even though the top 3 places and prizes have been claimed, we will keep it open for a little longer.
To help you get started, Kali is always getting &lt;a href="https://www.kali.org/blog/kali-linux-2026-1-release/#new-tools-in-kali">new tools&lt;/a>, it can take some patience to learn about each of them.&lt;/p>
&lt;blockquote>
&lt;p>The Quieter You Become, The More You Are Able To Hear&lt;/p>
&lt;/blockquote>
&lt;p>&lt;em>Thanks to @BeamOfOldLight and @cr4mb0 from the DAFreqs for creating the puzzles!&lt;/em>&lt;/p>
&lt;h2 id="new-tools-in-kali">New Tools in Kali&lt;/h2>
&lt;p>It would not be a Kali release without some new tools!
Here is a quick rundown of the 8 new tools which have been added &lt;em>(to the network repositories)&lt;/em>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/tools/adaptixc2/">AdaptixC2&lt;/a> - Extensible post-exploitation and adversarial emulation framework&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/atomic-operator/">Atomic-Operator&lt;/a> - Execute Atomic Red Team tests across multiple operating system environments&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/fluxion/">Fluxion&lt;/a> - Security auditing and social-engineering research tool&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/gef/">GEF&lt;/a> - Modern experience for GDB with advanced debugging capabilities&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/metasploitmcp/">MetasploitMCP&lt;/a> - MCP server for Metasploit&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/sstimap/">SSTImap&lt;/a> - Automatic SSTI detection tool with interactive interface&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/wpprobe/">WPProbe&lt;/a> - Fast WordPress plugin enumeration tool&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/xsstrike/">XSStrike&lt;/a> - Advanced XSS scanner&lt;/li>
&lt;/ul>
&lt;p>&lt;em>There have been a total of 25 new packages, 9 removed, and 183 updates. On top of that, we also bump the Kali kernel to 6.18.&lt;/em>&lt;/p>
&lt;h2 id="known-issues">Known Issues&lt;/h2>
&lt;p>Bad news for users of the &lt;code>kali-tools-sdr&lt;/code> metapackage (aka. Software Defined Radio): the GNU Radio ecosystem is not in great shape in this release. Tools like &lt;code>gr-air-modes&lt;/code> or &lt;code>gqrx-sdr&lt;/code> are known to be broken. Maybe other related tools as well. We expect it to be fixed in the next release though, so no need to panic!&lt;/p>
&lt;h2 id="kali-nethunter-updates">Kali NetHunter Updates&lt;/h2>
&lt;p>We are starting this year fresh with some cleaning, providing improvements to the &lt;a href="https://store.nethunter.com/packages/com.offsec.nethunter/">Kali NetHunter app&lt;/a>, such as the WPS scan bug, HID permission check, or the back button issue.&lt;/p>
&lt;hr>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/nethunter-Redmi-Note-8-%28ginkgo%29.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/nethunter-Redmi-Note-8-%28ginkgo%29.png" alt="Redmi Note 8 (Ginkgo)" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>&lt;strong>Redmi Note 8 (Ginkgo)&lt;/strong>&lt;/p>
&lt;p>The &lt;a href="https://nethunter.kali.org/device-kernels.html">Redmi Note 8&lt;/a> now has a &lt;a href="https://nethunter.kali.org/kernels.html">new kernel&lt;/a> for &lt;a href="https://nethunter.kali.org/android-versions.html">Android 16&lt;/a> by &lt;a href="https://gitlab.com/ikteach">@ikteach&lt;/a>.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Wardriving with Samsung S10&lt;/strong>&lt;/p>
&lt;p>The Samsung S10 series are now even happier thanks to &lt;a href="https://github.com/pr0misc">@Quazi Anwar&lt;/a>, his patch of &lt;a href="https://github.com/pr0misc/Libnexmonkali-Plus">libnexmonkali&lt;/a> fixes the use of internal wireless firmware in Kali chroot. That means &lt;a href="https://www.kali.org/tools/reaver/">reaver&lt;/a>, &lt;a href="https://www.kali.org/tools/bully/">bully&lt;/a>, and even &lt;a href="https://www.kali.org/tools/kismet/">kismet&lt;/a> is finally working!&lt;/p>
&lt;hr>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/nethunter-honda.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/nethunter-honda.png" alt="NetHunter &amp;amp; Civic Type-R" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>&lt;strong>KITT is alive and he is hacking all the things!&lt;/strong>&lt;/p>
&lt;p>&lt;a href="https://www.linkedin.com/in/kristopher-wilson-208b59123">Kristopher Wilson&lt;/a> has turned his &lt;a href="https://www.linkedin.com/pulse/kitt-from-knight-rider-real-runs-nmap-kristopher-wilson-yycec">Civic Type-R into a pentesting tool using Kali NetHunter rootless on 4 wheels&lt;/a>.&lt;/p>
&lt;p>And if AI is your thing, you can read what &lt;a href="https://www.linkedin.com/pulse/i-built-ai-can-ssh-my-cars-head-unit-from-virtual-machine-wilson-plffc">he is done using that&lt;/a>.&lt;/p>
&lt;hr>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2026-1-release/images/nethunter-wifi-injection-test2.jpg' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2026-1-release/images/nethunter-wifi-injection-test2.jpg" alt="QCACLD v3.0 Injection" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>&lt;strong>Wireless Injection on QCACLD-3.0&lt;/strong>&lt;/p>
&lt;p>Drumroll - the first working patch for injection is landed by &lt;a href="https://github.com/Loukious">@Loukious&lt;/a> after several years! That will potentially unlock the ability to port the patch to most of phones that use Qualcomm chipsets. If you would like to try it on your kernel source, you can find &lt;a href="https://github.com/Loukious/android_kernel_xiaomi_sm8150/commit/8f0698bf92abef517980fe9a84615cd8bad16622">the commit here&lt;/a>.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Kali NetHunter Podcast - Nexmon Team&lt;/strong>&lt;/p>
&lt;p>Meet the Nexmon team! The masters behind wireless injection on internal chipsets. If you ever wondered who are they, and how they started working on firmware reversing, &lt;a href="https://gitlab.com/yesimxev">@yesimxev&lt;/a> had a great talk on episode 2 with &lt;a href="https://www.linkedin.com/in/matthiasschulz1">@Matthias Schulz&lt;/a> and &lt;a href="https://github.com/jlinktu">@Jakob Link&lt;/a>. We appreciate them for coming onto their first podcast ever! The session is also &lt;a href="https://open.spotify.com/episode/46wU1TlAFHbwtCwEand6MX">available on Spotify&lt;/a> if you want to listen on the go.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.kali.org/blog/kali-linux-2026-1-release/https://www.youtube-nocookie.com/embed/6FNd77iu2W0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
&lt;/div>
&lt;h3 id="kali-blog-recap">Kali Blog Recap&lt;/h3>
&lt;p>Since our last release, we have published the following &lt;a href="https://www.kali.org/blog/">blog posts&lt;/a>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/blog/kali-llm-claude-desktop/">Kali &amp;amp; LLM: macOS with Claude Desktop &amp;amp; Anthropic Sonnet LLM&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/blog/kali-llm-ollama-5ire/">Kali &amp;amp; LLM: Completely local with Ollama &amp;amp; 5ire&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="community-shout-outs">Community Shout-Outs&lt;/h2>
&lt;p>These are &lt;strong>members of the community who have supported Kali&lt;/strong> and the team throughout the last release. We want to recognize and thank them for their contributions &lt;em>(we believe in giving credit where it is due!)&lt;/em>:&lt;/p>
&lt;p>&lt;strong>Packaging&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://gitlab.com/Arszilla">@Arszilla&lt;/a> who has been helping with &lt;a href="https://www.kali.org/tools/kali-meta/">kali-meta&lt;/a> and &lt;a href="https://www.kali.org/tools/netexec/">netexec&lt;/a> &lt;/li>
&lt;li>&lt;a href="https://gitlab.com/mambu020">@Giovanni Terranova&lt;/a> who has been helping with &lt;a href="https://www.kali.org/tools/legion/">legion&lt;/a> &lt;/li>
&lt;li>&lt;a href="https://gitlab.com/jloehel">@Jürgen&lt;/a> who has been helping with &lt;a href="https://www.kali.org/tools/mcp-kali-server/">mcp-kali-server&lt;/a> &lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Shubhamvis98">@Shubham Vishwakarma&lt;/a> who has been helping with &lt;a href="https://www.kali.org/tools/kali-meta/">kali-meta&lt;/a> &lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Kali Documentation&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://gitlab.com/Chen-Yuanmeng">@Chen-Yuanmeng&lt;/a> &lt;/li>
&lt;li>&lt;a href="https://gitlab.com/mr00k3">@mr00k3&lt;/a> &lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Simeon53424">@Simeon_YT&lt;/a> &lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Soroushnk80">@Soroush Nekoozadeh&lt;/a> &lt;/li>
&lt;/ul>
&lt;p>Anyone and everyone is welcomed to get &lt;a href="https://www.kali.org/docs/community/contribute/">involved&lt;/a>!&lt;/p>
&lt;hr>
&lt;p>@Tristram has a few words they would like to say:&lt;/p>
&lt;blockquote>
&lt;p>As a defender, my role centers on protecting organizations, strengthening systems, and continuously identifying opportunities for improvement. But effective security is not built by defenders alone. It is shaped through the combined efforts of both blue teamers and penetration testers, each bringing a different perspective to the same mission. Where one side looks to defend, the other works to challenge, expose gaps, and ultimately make those defenses stronger.&lt;/p>
&lt;p>That relationship is critical. Penetration testers help uncover weaknesses before adversaries do, while defenders take those insights and turn them into actionable improvements. When that exchange is rooted in respect and a shared purpose, it creates a feedback loop that benefits the entire cybersecurity ecosystem. The result is not just better tools or processes, but a more resilient and adaptive security posture.&lt;/p>
&lt;p>With that in mind, I want to call out @Aura and @Greenjam for their contributions to the Kali Linux Community. Their work represents the best of what this collaboration should look like. Through their willingness to share knowledge, support others, and contribute meaningfully to the community, they help bridge the gap between offensive and defensive security in a way that strengthens both sides.&lt;/p>
&lt;p>In a field that is constantly evolving, it is this kind of collaboration and mindset that makes the difference. Whether you are on the blue team or working in an offensive role, we are all working toward the same goal. Contributions like theirs help ensure that we continue to learn from one another, improve together, and build a stronger, more unified cybersecurity community.&lt;/p>
&lt;p>With love,&lt;/p>
&lt;p>Tristram&lt;/p>
&lt;/blockquote>
&lt;h3 id="new-kali-mirrors">New Kali Mirrors&lt;/h3>
&lt;p>We welcomed &lt;strong>4 new mirrors&lt;/strong> during this release cycle:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Azerbaijan&lt;/strong>: &lt;a href="https://mirror.yer.az/kali/">mirror.yer.az&lt;/a>, sponsored by &lt;a href="https://yer.az/">YER Hosting&lt;/a>.&lt;/li>
&lt;li>&lt;strong>China&lt;/strong>: &lt;a href="https://mirrors.qlu.edu.cn/kali/">mirrors.qlu.edu.cn&lt;/a>, sponsored by the &lt;a href="https://www.qlu.edu.cn/">Qilu University of Technology&lt;/a> and thanks to 刘正阳.&lt;/li>
&lt;li>&lt;strong>South Korea&lt;/strong>: &lt;a href="https://mirror.wane.kr/kali/">mirror.wane.kr&lt;/a>, thanks to &amp;ldquo;@parkard&amp;rdquo; and &amp;ldquo;@kmw&amp;rdquo;.&lt;/li>
&lt;li>&lt;strong>Spain&lt;/strong>: &lt;a href="https://mirror.raiolanetworks.com/kali/">mirror.raiolanetworks.com&lt;/a>, sponsored by &lt;a href="https://raiolanetworks.com">Raiola Networks&lt;/a> and thanks to @Martin Gomez.&lt;/li>
&lt;/ul>
&lt;p>If you have the disk space and bandwidth, &lt;a href="https://www.kali.org/docs/community/setting-up-a-kali-linux-mirror/">we always welcome new mirrors&lt;/a>.&lt;/p>
&lt;hr>
&lt;h2 id="get-kali-linux-20261">Get Kali Linux 2026.1&lt;/h2>
&lt;p>&lt;strong>Fresh Images&lt;/strong>:
So what are you waiting for? Go &lt;a href="https://www.kali.org/get-kali/">get Kali&lt;/a> already!&lt;/p>
&lt;p>Seasoned Kali Linux users are already aware of this, but for those who are not, we also produce &lt;strong>&lt;a href="https://cdimage.kali.org/kali-images/kali-weekly/">weekly builds&lt;/a>&lt;/strong> that you can use. If you cannot wait for our next release and you want the latest packages &lt;em>(or bug fixes)&lt;/em> when you download the image, you can just use the weekly image instead.
This way you will have fewer updates to do.
&lt;em>Just know that these are automated builds that we do, not QA like we do for our standard &lt;a href="https://www.kali.org/releases/">release images&lt;/a>&lt;/em>. But we gladly take &lt;a href="https://bugs.kali.org/">bug reports&lt;/a> about those images because we want any issues to be fixed before our next release!&lt;/p>
&lt;p>&lt;strong>Existing Installs&lt;/strong>:
If you already have an existing Kali Linux installation, remember you can always do a quick &lt;a href="https://www.kali.org/docs/general-use/updating-kali/">update&lt;/a>:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ echo &amp;quot;deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware&amp;quot; | sudo tee /etc/apt/sources.list
[...]
┌──(kali㉿kali)-[~]
└─$ sudo apt update &amp;amp;&amp;amp; sudo apt -y full-upgrade
[...]
┌──(kali㉿kali)-[~]
└─$ cp -vrbi /etc/skel/. ~/
[...]
┌──(kali㉿kali)-[~]
└─$ [ -f /var/run/reboot-required ] &amp;amp;&amp;amp; sudo reboot -f
&lt;/code>&lt;/pre>
&lt;p>You should now be on Kali Linux 2026.1. We can do a quick check by doing:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ grep VERSION /etc/os-release
VERSION=&amp;quot;2026.1&amp;quot;
VERSION_ID=&amp;quot;2026.1&amp;quot;
VERSION_CODENAME=&amp;quot;kali-rolling&amp;quot;
┌──(kali㉿kali)-[~]
└─$ uname -v
#1 SMP PREEMPT_DYNAMIC Kali 6.18.12-1kali1 (2026-02-25)
┌──(kali㉿kali)-[~]
└─$ uname -r
6.18.12+kali-amd64
&lt;/code>&lt;/pre>
&lt;p>&lt;em>NOTE: The output of &lt;code>uname -r&lt;/code> may be different depending on the system &lt;a href="https://pkg.kali.org/pkg/linux">architecture&lt;/a>.&lt;/em>&lt;/p>
&lt;hr>
&lt;p>As always, should you come across any bugs in Kali, please submit a report on our &lt;a href="https://bugs.kali.org/">bug tracker&lt;/a>. &lt;em>We will never be able to fix what we do not know is broken!&lt;/em> &lt;strong>And Social networks are not bug trackers!&lt;/strong>&lt;/p>
&lt;hr>
&lt;p>Want to keep up-to-date easier? We&amp;rsquo;ve got you!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/blog/">Blog&lt;/a>? Use our &lt;a href="https://www.kali.org/rss.xml">RSS feed&lt;/a> and &lt;a href="https://www.kali.org/newsletter/">newsletter&lt;/a> &lt;/li>
&lt;li>&lt;a href="https://www.kali.org/get-kali/">Download&lt;/a>? We have a &lt;a href="https://www.kali.org/torrents.xml">Torrent RSS feed&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/community/list-of-official-kali-sites/#social-media-networks">Socials&lt;/a>? &lt;a href="https://bsky.app/profile/kalilinux.bsky.social">Bluesky&lt;/a>, &lt;a href="https://www.facebook.com/KaliLinux/">Facebook&lt;/a>, &lt;a href="https://www.instagram.com/kalilinux/">Instagram&lt;/a>, &lt;a href="https://infosec.exchange/@kalilinux">Mastodon&lt;/a> &amp;amp; &lt;a href="https://x.com/kalilinux">X&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Kali &amp; LLM: Completely local with Ollama &amp; 5ire</title><link>https://www.kali.org/blog/kali-llm-ollama-5ire/</link><guid isPermaLink="true">https://www.kali.org/blog/kali-llm-ollama-5ire/</guid><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/kali-llm-ollama-5ire/images/banner-kali-ollama-5ire.jpg" type="image/jpg"/><description>
&lt;p>We are extending our LLM-driven Kali series, where natural language replaces manual command input. This time however, we are doing &lt;strong>everything locally and offline&lt;/strong>. We are using our own hardware and not relying on any 3rd party services/SaaS. &lt;/p>
&lt;p>&lt;em>Note: Local LLMs are hardware-hungry. The cost factor here is buying hardware and the running costs. If you have anything that you can re-use, great! &lt;/em>&lt;/p>
&lt;h2 id="gpu-nvidia">GPU (Nvidia)&lt;/h2>
&lt;p>Let&amp;rsquo;s first find out what our hardware is:&lt;/p>
&lt;pre>&lt;code class="language-console">$ lspci | grep -i vga
07:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
$
&lt;/code>&lt;/pre>
&lt;p>&lt;em>NVIDIA GeForce GTX 1060 (6 GB).&lt;/em>&lt;/p>
&lt;h3 id="drivers">Drivers&lt;/h3>
&lt;p>We will check that our hardware is ready by making sure &amp;ldquo;non-free&amp;rdquo; proprietary drivers are installed. The non-free option allows for CUDA support which the open-source, &lt;code>nouveau&lt;/code>, drivers lack.
At the same time, make sure our Kernel and headers are at the latest version too:&lt;/p>
&lt;pre>&lt;code class="language-console">$ sudo apt update
[...]
$
$ sudo apt install -y linux-image-$(dpkg --print-architecture) linux-headers-$(dpkg --print-architecture) nvidia-driver nvidia-smi
[...]
│ Conflicting nouveau kernel module loaded │
│ The free nouveau kernel module is currently loaded and conflicts with the non-free nvidia kernel module. │
│ The easiest way to fix this is to reboot the machine once the installation has finished. |
[...]
$
$ sudo reboot
&lt;/code>&lt;/pre>
&lt;div class="notices info">
&lt;p data-header="Info">
Using a different GPU manufacture, such as AMD or Intel etc, is out of scope for this guide.
&lt;/p>
&lt;/div>
&lt;h3 id="testing">Testing&lt;/h3>
&lt;p>Once the box is back up and we are logged in again, we can do a quick check with &lt;code>nvidia-smi&lt;/code>:&lt;/p>
&lt;pre>&lt;code class="language-console">$ lspci -s 07:00.0 -v | grep Kernel
Kernel driver in use: nvidia
Kernel modules: nvidia
$
$ lsmod | grep '^nouveau'
$
$ lsmod | grep '^nvidia'
nvidia_drm 126976 2
nvidia_modeset 1605632 3 nvidia_drm
nvidia 60710912 29 nvidia_drm,nvidia_modeset
$
$ nvidia-smi
Tue Jan 27 14:33:31 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.163.01 Driver Version: 550.163.01 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce GTX 1060 6GB Off | 00000000:07:00.0 On | N/A |
| 0% 30C P8 6W / 120W | 25MiB / 6144MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 969 G /usr/lib/xorg/Xorg 21MiB |
+-----------------------------------------------------------------------------------------+
$
&lt;/code>&lt;/pre>
&lt;p>Everything looks to be in order.&lt;/p>
&lt;h2 id="ollama">Ollama&lt;/h2>
&lt;p>Next up, we need to install &lt;a href="https://ollama.com/download/linux">Ollama&lt;/a>. Ollama will allow us to load our local LLM.
&lt;em>Ollama is a wrapper for &lt;code>llama.cpp&lt;/code>. 5ire supports Ollama, but not llama.cpp.&lt;/em>&lt;/p>
&lt;p>If you do not want to-do &lt;code>curl|bash&lt;/code>, see the &lt;a href="https://docs.ollama.com/linux">manual method&lt;/a>, or follow below for &lt;code>v0.15.2&lt;/code> &lt;em>(latest at the time of writing, 2026-01-27)&lt;/em>:&lt;/p>
&lt;pre>&lt;code class="language-console">$ sudo apt install -y curl
[...]
$
$ curl --fail --location https://ollama.com/download/ollama-linux-amd64.tar.zst &amp;gt; /tmp/ollama-linux-amd64.tar.zst
[...]
$
$ file /tmp/ollama-linux-amd64.tar.zst
/tmp/ollama-linux-amd64.tar.zst: Zstandard compressed data (v0.8+), Dictionary ID: None
$ sha512sum /tmp/ollama-linux-amd64.tar.zst
1c16259de4898a694ac23e7d4a3038dc3aebbbb8247cf30a05f5c84f2bde573294e8e612f3a9d5042201ebfe148f5b7fe64acc50f5478d3453f62f85d44593a1 /tmp/ollama-linux-amd64.tar.zst
$
$ sudo tar x -v --zstd -C /usr -f /tmp/ollama-linux-amd64.tar.zst
[...]
$
$ sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
$
$ sudo usermod -a -G ollama $(whoami)
$
$ cat &amp;lt;&amp;lt;EOF | sudo tee /etc/systemd/system/ollama.service &amp;gt;/dev/null
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment=&amp;quot;PATH=\$PATH&amp;quot;
[Install]
WantedBy=multi-user.target
EOF
$
$ sudo systemctl daemon-reload
$
$ sudo systemctl enable --now ollama
Created symlink '/etc/systemd/system/multi-user.target.wants/ollama.service' → '/etc/systemd/system/ollama.service'.
$
$ systemctl status ollama
● ollama.service - Ollama Service
Loaded: loaded (/etc/systemd/system/ollama.service; enabled; preset: disabled)
Active: active (running) since Tue 2026-01-27 14:44:39 GMT; 18s ago
[...]
$
$ ollama -v
ollama version is 0.15.2
$
&lt;/code>&lt;/pre>
&lt;p>The service is reporting to be active and running (and nothing is off in the logs files).&lt;/p>
&lt;h3 id="llm">LLM&lt;/h3>
&lt;p>Now we need an LLM for Ollama to run! There are a few places to find pre-generated LLMs:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://ollama.com/search?c=tools">Ollama.com&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://huggingface.co/models?apps=ollama">HuggingFace.co&lt;/a> &lt;em>(aka HF)&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>Which models you might ask? &lt;em>Time to experiment!&lt;/em>&lt;/p>
&lt;ul>
&lt;li>We need a model which has &amp;ldquo;Tools&amp;rdquo; support. &lt;em>We will explain later why this is important.&lt;/em>&lt;/li>
&lt;li>Your hardware will dictate how complex of a model you can run. &lt;em>The hardware we are using has 6GB of VRAM , so we will need a model size which requires less.&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>We have chosen 3 to test:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://ollama.com/library/llama3.1">llama3.1&lt;/a> - &lt;code>ollama pull llama3.1:8b&lt;/code>&lt;/li>
&lt;li>&lt;a href="https://ollama.com/library/llama3.2">llama3.2&lt;/a> - &lt;code>ollama pull llama3.2:3b&lt;/code>&lt;/li>
&lt;li>&lt;a href="https://ollama.com/library/qwen3">qwen3&lt;/a> - &lt;code>ollama pull qwen3:4b&lt;/code>&lt;/li>
&lt;/ul>
&lt;pre>&lt;code class="language-console">$ ollama list
NAME ID SIZE MODIFIED
llama3.1:8b 46e0c10c039e 4.9 GB 8 minutes ago
llama3.2:3b a80c4f17acd5 2.0 GB 29 minutes ago
qwen3:4b 359d7dd4bcda 2.5 GB 39 minutes ago
$
&lt;/code>&lt;/pre>
&lt;h3 id="testing-1">Testing&lt;/h3>
&lt;p>Let&amp;rsquo;s test that Ollama is working.&lt;/p>
&lt;pre>&lt;code class="language-console">$ ollama run qwen3:4b
&lt;/code>&lt;/pre>
&lt;p>The first time we do this, it needs to load the model into memory. This may take a while depending on your hardware.&lt;/p>
&lt;p>When the LLM has been loaded, we will get a prompt. Let&amp;rsquo;s just say &amp;ldquo;Hello world!&amp;rdquo;:&lt;/p>
&lt;pre>&lt;code>&amp;gt;&amp;gt;&amp;gt; Hello world!
Thinking...
Okay, the user said &amp;quot;Hello world!&amp;quot; and wants me to respond. Let me think about how to approach this. First, I should acknowledge their greeting. Since they used the classic &amp;quot;Hello World!&amp;quot; which is often
the first program in many programming languages, maybe I can relate that to my capabilities. I should make sure to keep the tone friendly and open for further conversation. Let me check if there's
anything specific they might need help with. Maybe they're just testing me or want to start a discussion. I'll keep the response simple and welcoming, inviting them to ask questions or share what they
need help with. Also, I should avoid any markdown and keep it natural. Alright, time to put that together.
...done thinking.
Hello! 😊 How can I assist you today? Whether you have questions, need help with something, or just want to chat, I'm here for you! What's on your mind?
&amp;gt;&amp;gt;&amp;gt; /exit
$
&lt;/code>&lt;/pre>
&lt;p>We can check Ollama status by doing:&lt;/p>
&lt;pre>&lt;code class="language-console">$ ollama ps
NAME ID SIZE PROCESSOR CONTEXT UNTIL
qwen3:4b 359d7dd4bcda 3.5 GB 100% GPU 4096 4 minutes from now
$
&lt;/code>&lt;/pre>
&lt;p>Great, it appears that everything is working well here.&lt;/p>
&lt;h2 id="mcp-server-mcp-kali-server">MCP Server (MCP Kali Server)&lt;/h2>
&lt;p>We will now need to install and run a MCP server.&lt;/p>
&lt;p>For this guide, we did a fresh &lt;a href="https://www.kali.org/docs/troubleshooting/common-minimum-setup/">minimal installation&lt;/a> of Kali, which means there isn&amp;rsquo;t any pre-installed tools.&lt;/p>
&lt;p>Sticking once again to &lt;a href="https://www.kali.org/tools/mcp-kali-server/">mcp-kali-server&lt;/a>:&lt;/p>
&lt;pre>&lt;code class="language-console">$ sudo apt install -y mcp-kali-server dirb gobuster nikto nmap enum4linux-ng hydra john metasploit-framework sqlmap wpscan wordlists
[...]
$
$ sudo gunzip -v /usr/share/wordlists/rockyou.txt.gz
/usr/share/wordlists/rockyou.txt.gz: 61.9% -- replaced with /usr/share/wordlists/rockyou.txt
$
$ kali-server-mcp
2026-01-27 15:54:01,339 [INFO] Starting Kali Linux Tools API Server on 127.0.0.1:5000
* Serving Flask app 'kali_server'
* Debug mode: off
2026-01-27 15:54:01,352 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
2026-01-27 15:54:01,352 [INFO] Press CTRL+C to quit
&lt;/code>&lt;/pre>
&lt;div class="notices info">
&lt;p data-header="Info">
&lt;em>Long term, there are various different ways to have &lt;code>kali-server-mcp&lt;/code> running in the background, such as using a tmux/screen session, or creating a systemd.unit, but that&amp;rsquo;s out of scope for this.&lt;/em>
&lt;/p>
&lt;/div>
&lt;h3 id="testing-2">Testing&lt;/h3>
&lt;p>Let&amp;rsquo;s manually run &lt;code>mcp-server&lt;/code> now:&lt;/p>
&lt;pre>&lt;code class="language-console">$ mcp-server
2026-01-27 15:54:18,802 [INFO] Initialized Kali Tools Client connecting to http://localhost:5000
2026-01-27 15:54:18,811 [INFO] Successfully connected to Kali API server at http://localhost:5000
2026-01-27 15:54:18,811 [INFO] Server health status: healthy
2026-01-27 15:54:18,826 [INFO] Starting Kali MCP server
2026-01-27 15:54:18,804 [INFO] Executing command: which nmap
2026-01-27 15:54:18,806 [INFO] Executing command: which gobuster
2026-01-27 15:54:18,807 [INFO] Executing command: which dirb
2026-01-27 15:54:18,808 [INFO] Executing command: which nikto
2026-01-27 15:54:18,810 [INFO] 127.0.0.1 - - [27/Jan/2026 15:54:18] &amp;quot;GET /health HTTP/1.1&amp;quot; 200 -
&lt;/code>&lt;/pre>
&lt;p>Everything is looking good! No errors or warnings.&lt;/p>
&lt;p>We can also see that &lt;code>kali-server-mcp&lt;/code> has additional lines in its log. Good.&lt;/p>
&lt;h2 id="5ire">5ire&lt;/h2>
&lt;p>So we have a local LLM working, and a MCP.
Ollama doesn&amp;rsquo;t support MCP (yet?), so we need to use something that can take bridge the gap.
Enter 5ire - &amp;ldquo;A Sleek AI Assistant &amp;amp; MCP Client&amp;rdquo;.&lt;/p>
&lt;p>Next, Download &lt;a href="https://github.com/nanbingxyz/5ire/releases/latest">5ire&amp;rsquo;s AppImage&lt;/a> &lt;em>(&lt;code>5ire-0.15.3-x86_64.AppImage&lt;/code> at the time of writing, 2026-01-27)&lt;/em> and make a menu entry:&lt;/p>
&lt;pre>&lt;code class="language-console">$ curl --fail --location https://github.com/nanbingxyz/5ire/releases/download/v0.15.3/5ire-0.15.3-x86_64.AppImage &amp;gt; 5ire-x86_64.AppImage
[...]
$
$ file 5ire-x86_64.AppImage
5ire-x86_64.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, stripped
$ sha512sum 5ire-x86_64.AppImage
bdf665fc6636da240153d44629723cb311bba4068db21c607f05cc6e1e58bb2e45aa72363a979a2aa165cb08a12db7babb715ac58da448fc9cf0258b22a56707 5ire-x86_64.AppImage
$
$ sudo mkdir -pv /opt/5ire/
mkdir: created directory '/opt/5ire/'
$
$ sudo mv -v 5ire-x86_64.AppImage /opt/5ire/5ire-x86_64.AppImage
renamed '5ire-x86_64.AppImage' -&amp;gt; '/opt/5ire/5ire-x86_64.AppImage'
$
$ chmod -v 0755 /opt/5ire/5ire-x86_64.AppImage
mode of '/opt/5ire/5ire-x86_64.AppImage' changed from 0664 (rw-rw-r--) to 0755 (rwxr-xr-x)
$
$ mkdir -pv ~/.local/share/applications/
mkdir: created directory '/home/kali/.local/share/applications/'
$
$ cat &amp;lt;&amp;lt;EOF | tee ~/.local/share/applications/5ire.desktop &amp;gt;/dev/null
[Desktop Entry]
Name=5ire
Comment=5ire Desktop AI Assistant
Exec=/opt/5ire/5ire-x86_64.AppImage
Terminal=false
Type=Application
Categories=Utility;Development;
StartupWMClass=5ire
EOF
$
$ sudo ln -sfv /opt/5ire/5ire-x86_64.AppImage /usr/local/bin/5ire
'/usr/local/bin/5ire' -&amp;gt; '/opt/5ire/5ire-x86_64.AppImage'
$
$ sudo apt install -y libfuse2t64
[...]
$
&lt;/code>&lt;/pre>
&lt;p>We can now either use the menu, or call it from a terminal.&lt;/p>
&lt;hr>
&lt;p>Now we need to configure 5ire to use Ollama (for LLM) and &lt;code>mcp-kali-server&lt;/code> (MCP server):&lt;/p>
&lt;p>Let&amp;rsquo;s now setup 5ire to use Ollama.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-00-Kali-Menu.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-00-Kali-Menu.png" alt="Figure 01: Kali Menu" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>Open 5ire, then:&lt;/p>
&lt;ul>
&lt;li>5ire -&amp;gt; Workspace -&amp;gt; Providers -&amp;gt; Ollama&lt;/li>
&lt;/ul>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-02-Providers-Menu.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-02-Providers-Menu.png" alt="Figure 02: Providers Menu" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>Let&amp;rsquo;s toggle &lt;code>Default&lt;/code> to Enable it&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-04-Providers-Default.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-04-Providers-Default.png" alt="Figure 03: Enabling Default Provider" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>Select each of the Ollama models, and then make sure &amp;ldquo;Tools&amp;rdquo; and &amp;ldquo;Enabled&amp;rdquo; are both toggled to enable -&amp;gt; Save.
Repeat for each of them.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-05-Providers-Enabling.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-05-Providers-Enabling.png" alt="Figure 04: Enabling Providers Options" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-08-Providers-Complete.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-08-Providers-Complete.png" alt="Figure 05: Providers Model Overview" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>&lt;em>If you wish, select a model to be the default one.&lt;/em>&lt;/p>
&lt;h3 id="testing-3">Testing&lt;/h3>
&lt;p>Now let&amp;rsquo;s test 5ire out!&lt;/p>
&lt;ul>
&lt;li>New Chat -&amp;gt; Ollama&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>Hello world!&lt;/p>
&lt;/blockquote>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-11-Prompt-Generating.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-11-Prompt-Generating.png" alt="Figure 06: Hello World Processing" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>Again, checking status:&lt;/p>
&lt;pre>&lt;code class="language-console">$ ollama ps
NAME ID SIZE PROCESSOR CONTEXT UNTIL
qwen3:4b 359d7dd4bcda 3.5 GB 100% GPU 4096 2 minutes from now
$
&lt;/code>&lt;/pre>
&lt;hr>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-12-Prompt-Result.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-12-Prompt-Result.png" alt="Figure 07: Hello World Response" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>Looks to be working well! Time to setup the MCP.&lt;/p>
&lt;h2 id="mcp-client-5ire">MCP Client (5ire)&lt;/h2>
&lt;p>We can use 5ire&amp;rsquo;s GUI :&lt;/p>
&lt;ul>
&lt;li>5ire -&amp;gt; Tools -&amp;gt; Local&lt;/li>
&lt;/ul>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-13-Tools.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-13-Tools.png" alt="Figure 08: Adding MCP Tools" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>Now to fill in the boxes:&lt;/p>
&lt;ul>
&lt;li>Name: &lt;code>mcp-kali-server&lt;/code>&lt;/li>
&lt;li>Description: &lt;code>MCP Kali Server&lt;/code>&lt;/li>
&lt;li>Approval Policy: &amp;hellip;Up to you&lt;/li>
&lt;li>Command: &lt;code>/usr/bin/mcp-server&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>Save&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-15-New-Tool.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-15-New-Tool.png" alt="Figure 09: MCP Tool Settings" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>Do not forget to make sure to enable it!&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-16-Tools-Enabling.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-16-Tools-Enabling.png" alt="Figure 10: Enabling MCP Tools" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>We can see what we now have on offer. &lt;code>...&lt;/code> -&amp;gt; Browse&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-18-Tools-Browse.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-18-Tools-Browse.png" alt="Figure 11: Browsing MCP Tools" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-19-Tools-Result.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-19-Tools-Result.png" alt="Figure 12: MCP Tools Options" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;h3 id="testing-4">Testing&lt;/h3>
&lt;ul>
&lt;li>New Chat -&amp;gt; Ollama&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>Can you please do a port scan on &lt;code>scanme.nmap.org&lt;/code>, looking for TCP 80,443,21,22?&lt;/p>
&lt;/blockquote>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-22-Check-LLM-Tools-Support.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-22-Check-LLM-Tools-Support.png" alt="Figure 13: Check MCP LLM Support" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-23-Nmap-Prompt-Generating.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-23-Nmap-Prompt-Generating.png" alt="Figure 14: Nmap Scan Process" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-24-Nmap-Prompt-Thinking.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-24-Nmap-Prompt-Thinking.png" alt="Figure 15: Nmap Scan Scanning" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-26-Nmap-Prompt-Result-Stats.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-ollama-5ire/images/5ire-26-Nmap-Prompt-Result-Stats.png" alt="Figure 16: Nmap Scan Result" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>Wonderful!&lt;/p>
&lt;h2 id="recap">Recap&lt;/h2>
&lt;p>As a recap:&lt;/p>
&lt;ul>
&lt;li>On our Kali local instance, we enabled our GPU for development.&lt;/li>
&lt;li>We setup Ollama and grabbed a few LLMs, such as &lt;code>qwen3:4b&lt;/code>.&lt;/li>
&lt;li>Setup a MCP server, &lt;code>MCP-Kali-Server&lt;/code>.&lt;/li>
&lt;li>We installed a GUI interface, &lt;code>5ire&lt;/code>.&lt;/li>
&lt;li>We setup 5ire to use Ollama&amp;rsquo;s LLMs as well as MCP client to use mcp-kali-server.&lt;/li>
&lt;li>We then used it all to-do a &lt;code>nmap&lt;/code> port scan of &lt;code>scanme.nmap.org&lt;/code> &lt;strong>&amp;hellip;all processed locally&lt;/strong>!&lt;/li>
&lt;/ul>
&lt;p>&lt;em>We may be talking about AI, but AI was not used to write this!&lt;/em>&lt;/p>
&lt;hr>
&lt;p>&lt;em>Find out more about advanced red teaming for AI environments at &lt;a href="https://www.offsec.com/courses/osai/?utm_source=kali&amp;amp;utm_medium=web&amp;amp;utm_campaign=blog">OffSec.com&lt;/a>.&lt;/em>&lt;/p></description></item><item><title>Kali &amp; LLM: macOS with Claude Desktop &amp; Anthropic Sonnet LLM</title><link>https://www.kali.org/blog/kali-llm-claude-desktop/</link><guid isPermaLink="true">https://www.kali.org/blog/kali-llm-claude-desktop/</guid><pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/kali-llm-claude-desktop/images/banner-kali-claude-desktop.jpg" type="image/jpg"/><description>
&lt;p>This post will focus on an alternative method of using Kali Linux, moving beyond direct terminal command execution. Instead, we will leverage a Large Language Model (LLM) to translate &amp;ldquo;natural language&amp;rdquo; descriptions of desired actions into technical commands. Achieving this setup requires the integration of three distinct systems:&lt;/p>
&lt;ul>
&lt;li>UI: Apple&amp;rsquo;s macOS &lt;em>(Can also use Microsoft Windows, but not covered in this guide)&lt;/em> - with Claude Desktop&lt;/li>
&lt;li>Attacking box: Kali Linux - using various tools&lt;/li>
&lt;li>LLM: &lt;em>In the cloud&lt;/em> - Anthropic&amp;rsquo;s Sonnet 4.5 &lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>The LLM is only part of the story. When paired with Model Context Protocol (MCP)&amp;rsquo;s, it allows/enables the LLM to seamlessly connect with external sources (data, programs/tools etc).
At a very high level:&lt;/p>
&lt;ol>
&lt;li>We can ask a LLM to-do a task via a &amp;ldquo;prompt&amp;rdquo;.&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>&lt;em>&amp;ldquo;Can you please port scan &lt;code>scanme.nmap.org&lt;/code>, if you find a valid web server, check if &lt;code>security.txt&lt;/code> exists&amp;rdquo;&lt;/em>&lt;/li>
&lt;/ul>
&lt;ol start="2">
&lt;li>The LLM will understand what we asked it to-do.&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>&lt;em>&amp;ldquo;First task, I need to use Nmap/Network Mapper to-do a port scan of scan &lt;code>scanme.nmap.org&lt;/code>&amp;rdquo;&lt;/em>&lt;/li>
&lt;/ul>
&lt;ol start="3">
&lt;li>LLM will then request the MCP to-do any action(s).&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>&lt;em>&amp;ldquo;Is Nmap installed? Can I access it?&amp;rdquo;&lt;/em>&lt;/li>
&lt;/ul>
&lt;ol start="4">
&lt;li>MCP will run the request and return results&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>&lt;em>&lt;code>$ nmap scanme.nmap.org&lt;/code>&lt;/em>&lt;/li>
&lt;/ul>
&lt;ol start="5">
&lt;li>The LLM will process the results as well as showing it to us as end-users.&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>&lt;em>&amp;ldquo;I found that &lt;code>scanme.nmap.org&lt;/code> is up, and contains a web server on port 80/TCP &amp;amp; 443/TCP.&amp;rdquo;&lt;/em>&lt;/li>
&lt;/ul>
&lt;ol start="6">
&lt;li>If needed, could be a loop, and re-run a command/action again back in the MCP until the prompt has been completed/full-filled.&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>&lt;em>&amp;ldquo;Now I need see if &lt;code>/.well-known/security.txt&lt;/code> gives &lt;code>HTTP 200&lt;/code> response&amp;rdquo;&lt;/em>&lt;/li>
&lt;/ul>
&lt;div class="notices info">
&lt;p data-header="Info">
Just like the joys of text editors wars &lt;em>(&lt;code>vim&lt;/code> vs &lt;code>emacs&lt;/code> vs &lt;code>nano&lt;/code>)&lt;/em>, this is not to say its the &amp;ldquo;best&amp;rdquo; way to-do it. This is &lt;strong>a way&lt;/strong>.&lt;br />
This scenario may work for you, or it may not be acceptable to you &lt;em>(e.g. privacy)&lt;/em>. That is fine.&lt;br />
&lt;/p>
&lt;/div>
&lt;hr>
&lt;p>If you are wonder &amp;ldquo;Why this setup? Why are you using multiple OSes?&amp;rdquo;, there are various reasons why!&lt;/p>
&lt;ul>
&lt;li>You may want a graphical user interface (GUI), which Claude Desktop is.
&lt;ul>
&lt;li>Its an official product from Anthropic, who is making the model we want to run. However Claude Desktop is not officially supported on Linux.&lt;/li>
&lt;li>There are workarounds (e.g. &lt;a href="https://github.com/aaddrick/claude-desktop-debian">community packages&lt;/a> or &lt;a href="https://www.winehq.org/">WINE&lt;/a>, as well as other solutions, such as &lt;a href="https://github.com/nanbingxyz/5ire">5ire&lt;/a>, &lt;a href="https://anythingllm.com/">AnythingLLM&lt;/a>, &lt;a href="https://block.github.io/goose/">Goose (Desktop)&lt;/a> &amp;amp; &lt;a href="https://witsyai.com/">Witsy&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>It being &amp;ldquo;free&amp;rdquo;.
&lt;ul>
&lt;li>&lt;em>At the time of writing, 2026-01&lt;/em>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Speed
&lt;ul>
&lt;li>Having Kali running in &amp;ldquo;the cloud&amp;rdquo;, may have greater network connection , or be closer to your target - thus speeding things up!&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="ssh">SSH&lt;/h2>
&lt;p>We are going to want our macOS box, to be able to talk/interact/communicate to Kali.
For this, we will use SSH.&lt;/p>
&lt;h3 id="kali-setup">Kali Setup&lt;/h3>
&lt;p>First up, Kali.
If you are using Kali in the cloud, you likely already have SSH pre-setup.
If SSH is not setup, let&amp;rsquo;s quickly install and run:&lt;/p>
&lt;pre>&lt;code class="language-console">$ sudo apt update
[...]
$
$ sudo apt install -y openssh-server
[...]
$
$ sudo systemctl enable --now ssh
[...]
$
&lt;/code>&lt;/pre>
&lt;h3 id="macos">macOS&lt;/h3>
&lt;p>Switching over to our macOS machine, open up &lt;code>Terminal&lt;/code> &lt;em>(or similar program)&lt;/em>, and either find out public SSH key or generate one:&lt;/p>
&lt;pre>&lt;code class="language-console">user@Users-MacBook-Pro ~ % ls -lah .ssh
ls: .ssh: No such file or directory
user@Users-MacBook-Pro ~ %
&lt;/code>&lt;/pre>
&lt;p>This is a clean install, so we will be generating a new key.&lt;/p>
&lt;hr>
&lt;p>Generating a new SSH key, is the same steps as doing it on Linux:&lt;/p>
&lt;pre>&lt;code class="language-console">user@Users-MacBook-Pro ~ % ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/user/.ssh/id_ed25519):
Created directory '/Users/user/.ssh'.
Enter passphrase for &amp;quot;/Users/user/.ssh/id_ed25519&amp;quot; (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/user/.ssh/id_ed25519
Your public key has been saved in /Users/user/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:9JWMFmD6Jhq9gSLVrWSQaqR0hOOfGC5wd/HoMW1CoKU user@Users-MacBook-Pro.local
The key's randomart image is:
+--[ED25519 256]--+
| +oo. o.. |
| =.B .oo + . |
|=.E +.o=. o + |
|+=.o.+*o+o . |
|=.=.=o+=S . |
|.+ + o.= |
|. . . |
| |
| |
+----[SHA256]-----+
user@Users-MacBook-Pro ~ %
user@Users-MacBook-Pro ~ % cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFVZPT158E6mNNGrtOXTBQtK/7sXj09gRGZjkyMt82hs user@Users-MacBook-Pro.local
user@Users-MacBook-Pro ~ %
&lt;/code>&lt;/pre>
&lt;p>&lt;em>Password is not shown&lt;/em>&lt;/p>
&lt;hr>
&lt;p>Now, lets add that public SSH key from macOS to Kali, allowing for key authentication.
Our Kali is located at &lt;code>192.168.1.30&lt;/code>, change the IP to match your setup:&lt;/p>
&lt;pre>&lt;code class="language-console">user@Users-MacBook-Pro ~ % ssh-copy-id kali@192.168.1.30
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: &amp;quot;/Users/user/.ssh/id_ed25519.pub&amp;quot;
The authenticity of host '192.168.1.30 (192.168.1.30)' can't be established.
ED25519 key fingerprint is SHA256:s1EHXZomZxup5ybdUSgTJwnyjwrMBxFSmAgt4+ijhws.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
kali@192.168.1.30's password:
Number of key(s) added: 1
Now try logging into the machine, with: &amp;quot;ssh 'kali@192.168.1.30'&amp;quot;
and check to make sure that only the key(s) you wanted were added.
user@Users-MacBook-Pro ~ %
&lt;/code>&lt;/pre>
&lt;p>&lt;em>Password is not shown&lt;/em>&lt;/p>
&lt;p>This hopefully will be the last time you need to type in your Kali password when connecting via SSH!&lt;/p>
&lt;hr>
&lt;h3 id="testing">Testing&lt;/h3>
&lt;p>Finally, let&amp;rsquo;s test it out:&lt;/p>
&lt;pre>&lt;code class="language-console">user@Users-MacBook-Pro ~ % ssh kali@192.168.1.30
Linux kali 6.16.8+kali-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.16.8-1kali1 (2025-09-24) x86_64
The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Jan 21 13:47:48 2026 from 192.168.30.153
┏━(Message from Kali developers)
┃
┃ This is a minimal installation of Kali Linux, you likely
┃ want to install supplementary tools. Learn how:
┃ ⇒ https://www.kali.org/docs/troubleshooting/common-minimum-setup/
┃
┗━(Run: “touch ~/.hushlogin” to hide this message)
┌──(kali㉿kali)-[~]
└─$
&lt;/code>&lt;/pre>
&lt;p>&lt;em>Please replace &lt;code>192.168.1.30&lt;/code> with &lt;strong>YOUR&lt;/strong> Kali IP address.&lt;/em>&lt;/p>
&lt;p>Boom!&lt;/p>
&lt;h2 id="mcp-server-mcp-kali-server">MCP Server (MCP Kali Server)&lt;/h2>
&lt;p>Now that we have a console on Kali, let&amp;rsquo;s continue our MCP server setup. There are many of MCP server options out there already with more being created every day.
We will be using &lt;a href="https://www.kali.org/tools/mcp-kali-server/">mcp-kali-server&lt;/a>:&lt;/p>
&lt;pre>&lt;code class="language-console">$ sudo apt install -y mcp-kali-server
[...]
$
$ kali-server-mcp
2026-01-21 13:54:41,734 [INFO] Starting Kali Linux Tools API Server on 127.0.0.1:5000
* Serving Flask app 'kali_server'
* Debug mode: off
2026-01-21 13:54:41,748 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
2026-01-21 13:54:41,748 [INFO] Press CTRL+C to quit
&lt;/code>&lt;/pre>
&lt;div class="notices info">
&lt;p data-header="Info">
&lt;em>Long term, there are various different ways to have &lt;code>kali-server-mcp&lt;/code> running in the background, such as using a tmux/screen session, or creating a systemd.unit, but that is out of scope for this post.&lt;/em>
&lt;/p>
&lt;/div>
&lt;h3 id="testing-1">Testing&lt;/h3>
&lt;p>To test that everything so far is working, in another terminal run &lt;code>mcp-server&lt;/code> (this is what our MCP client, Claude Desktop, will end up running):&lt;/p>
&lt;pre>&lt;code class="language-console">$ mcp-server
2026-01-21 14:03:25,804 [INFO] Initialized Kali Tools Client connecting to http://localhost:5000
2026-01-21 14:03:25,812 [INFO] Successfully connected to Kali API server at http://localhost:5000
2026-01-21 14:03:25,812 [INFO] Server health status: healthy
2026-01-21 14:03:25,812 [WARNING] Not all essential tools are available on the Kali server
2026-01-21 14:03:25,812 [WARNING] Missing tools: dirb, gobuster, nikto, nmap
2026-01-21 14:03:25,828 [INFO] Starting Kali MCP server
&lt;/code>&lt;/pre>
&lt;p>Did you see anything wrong? Did you spot the warning?&lt;/p>
&lt;blockquote>
&lt;p>Missing tools: &lt;a href="https://www.kali.org/tools/dirb/">dirb&lt;/a>, &lt;a href="https://www.kali.org/tools/gobuster/">gobuster&lt;/a>, &lt;a href="https://www.kali.org/tools/nikto/">nikto&lt;/a>, &lt;a href="https://www.kali.org/tools/nmap/">nmap&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;p>Let&amp;rsquo;s install them now (as well other tools which &lt;code>mcp-kali-server&lt;/code> can use), we can re-use the &lt;code>mcp-server&lt;/code> terminal before closing it:&lt;/p>
&lt;pre>&lt;code class="language-console">2026-01-21 14:03:25,828 [INFO] Starting Kali MCP server
^C
[...]
$
$ sudo apt install -y mcp-kali-server dirb gobuster nikto nmap enum4linux-ng hydra john metasploit-framework sqlmap wpscan wordlists
[...]
$
$ sudo gunzip -v /usr/share/wordlists/rockyou.txt.gz # Alt: `$ wordlists`
/usr/share/wordlists/rockyou.txt.gz: 61.9% -- replaced with /usr/share/wordlists/rockyou.txt
$
$ exit
&lt;/code>&lt;/pre>
&lt;p>&lt;em>Our Kali installation was a &lt;a href="https://www.kali.org/docs/troubleshooting/common-minimum-setup/">minimal installation&lt;/a>, without any tools pre-installed, which is why this happened.&lt;/em>&lt;/p>
&lt;h2 id="claude-desktop">Claude Desktop&lt;/h2>
&lt;p>Time to switch machines, and on macOS, download &lt;a href="https://claude.com/download">Claude Desktop&lt;/a>. This will be our interface to the LLM, and it also is a MCP client, which will talk to our MCP server (&lt;code>mcp-kali-server&lt;/code>), which will run commands on Kali.&lt;/p>
&lt;p>&lt;a href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect">Download Claude.dmg&lt;/a> &lt;em>(At the time of writing, 2026-01, latest version &lt;code>v1.1.381-c2a39e&lt;/code>)&lt;/em>&lt;/p>
&lt;p>Afterwards, open &lt;code>Claude.dmg&lt;/code> and copy &lt;code>Claude.app&lt;/code> into Applications before running it.&lt;/p>
&lt;div class="notices info">
&lt;p data-header="Info">
If you are using Microsoft Windows, setup should be similar, but it is out of scope for this post.
&lt;/p>
&lt;/div>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-01-Install.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-01-Install.png" alt="Figure 01 - Install" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>Now, we need to follow the complete the first time items, and follow the steps to to register/sign in&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-07-MainScreen.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-07-MainScreen.png" alt="Figure 07 - Main Screen" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;div class="notices info">
&lt;p data-header="Info">
At the time of writing, 2026-01, Claude Desktop is on Apple macOS and Microsoft Windows. There is not an official Linux build.&lt;br />
&lt;br />
Others have reported that using &lt;a href="https://www.winehq.org/">WINE&lt;/a> is possible, as well as other &lt;a href="https://github.com/aaddrick/claude-desktop-debian">unofficial Linux builds&lt;/a> - You do you (and at your own risk!)&lt;br />
&lt;br />
Using Claude Code, requires a API key, which at the time of writing, does not have a free-tier option.
&lt;/p>
&lt;/div>
&lt;hr>
&lt;h2 id="mcp-client-claude-desktop">MCP Client (Claude Desktop)&lt;/h2>
&lt;p>With all that out of the way, we need to setup Claude Desktop&amp;rsquo;s MCP client.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-08-Settings.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-08-Settings.png" alt="Figure 08 - Settings" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>Open settings (Claude -&amp;gt; Settings), then find &lt;code>Deveploper&lt;/code> (Under &lt;code>Desktop app&lt;/code>), and click &lt;code>Edit Config&lt;/code>.&lt;/p>
&lt;p>Finder should open up with &lt;code>claude_desktop_config.json&lt;/code> highlighted (otherwise: &lt;code>/Users/[USERNAME]/Library/Application Support/Claude/claude_desktop_config.json&lt;/code>).&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-10-DeveloperFinder.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-10-DeveloperFinder.png" alt="Figure 10 - Developer macOS Finder" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>Open/edit the file using your text editor of choice, and paste in:&lt;/p>
&lt;pre>&lt;code class="language-json">{
&amp;quot;mcpServers&amp;quot;: {
&amp;quot;mcp-kali-server&amp;quot;: {
&amp;quot;command&amp;quot;: &amp;quot;ssh&amp;quot;,
&amp;quot;args&amp;quot;: [
&amp;quot;kali@192.168.1.30&amp;quot;,
&amp;quot;mcp-server&amp;quot;
],
&amp;quot;transport&amp;quot;: &amp;quot;stdio&amp;quot;
}
}
}
&lt;/code>&lt;/pre>
&lt;p>&lt;em>Please replace &lt;code>192.168.1.30&lt;/code> with YOUR Kali IP address as before.&lt;/em>&lt;/p>
&lt;p>So for us, it looks like:&lt;/p>
&lt;pre>&lt;code class="language-console">user@Users-MacBook-Pro ~ % cat /Users/user/Library/Application\ Support/Claude/claude_desktop_config.json | jq
{
&amp;quot;preferences&amp;quot;: {
&amp;quot;quickEntryShortcut&amp;quot;: &amp;quot;off&amp;quot;,
&amp;quot;menuBarEnabled&amp;quot;: false
},
&amp;quot;mcpServers&amp;quot;: {
&amp;quot;mcp-kali-server&amp;quot;: {
&amp;quot;command&amp;quot;: &amp;quot;ssh&amp;quot;,
&amp;quot;args&amp;quot;: [
&amp;quot;-i&amp;quot;,
&amp;quot;/Users/user/.ssh/id_ed25519&amp;quot;,
&amp;quot;kali@192.168.1.30&amp;quot;,
&amp;quot;mcp-server&amp;quot;
],
&amp;quot;transport&amp;quot;: &amp;quot;stdio&amp;quot;
}
}
}
user@Users-MacBook-Pro ~ %
&lt;/code>&lt;/pre>
&lt;hr>
&lt;p>Finally restart Claude Desktop by quitting and re-opening for our settings to take affect.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-13-DeveloperRunning.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-13-DeveloperRunning.png" alt="Figure 13 - Developer Running" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;h3 id="testing-2">Testing&lt;/h3>
&lt;p>Let&amp;rsquo;s see what all the hype about and give it a quick spin:&lt;/p>
&lt;blockquote>
&lt;p>Can you please do a port scan for me on &lt;code>scanme.nmap.org&lt;/code>?&lt;/p>
&lt;/blockquote>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-14-Prompt.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-14-Prompt.png" alt="Figure 14 - Prompt" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>Claude will check if we trust the MCP, and if we wish to run commands.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-15-MCPPermissions.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-15-MCPPermissions.png" alt="Figure 15 - MCP Permissions" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>Afterwards, we just wait.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-16-Running.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-16-Running.png" alt="Figure 16 - Running" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>If you are impatient, you can peek behind the curtain a little bit by checking the logs!
In the terminal which we ran &lt;code>kali-server-mcp&lt;/code>, we can then see:&lt;/p>
&lt;pre>&lt;code class="language-console">2026-01-21 14:20:21,688 [INFO] Executing command: which nmap
2026-01-21 14:20:21,690 [INFO] Executing command: which gobuster
2026-01-21 14:20:21,692 [INFO] Executing command: which dirb
2026-01-21 14:20:21,693 [INFO] Executing command: which nikto
2026-01-21 14:20:21,695 [INFO] 127.0.0.1 - - [21/Jan/2026 14:20:21] &amp;quot;GET /health HTTP/1.1&amp;quot; 200 -
2026-01-21 14:21:25,385 [INFO] Executing command: nmap -sV scanme.nmap.org
2026-01-21 14:21:39,295 [INFO] 127.0.0.1 - - [21/Jan/2026 14:21:39] &amp;quot;POST /api/tools/nmap HTTP/1.1&amp;quot; 200 -
&lt;/code>&lt;/pre>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-19-ResultsFull.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-llm-claude-desktop/images/ClaudeDesktop-19-ResultsFull.png" alt="Figure 19 - Results Full" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;h2 id="recap">Recap&lt;/h2>
&lt;p>In review:&lt;/p>
&lt;ul>
&lt;li>We have a Kali instance running (could be on the same network, or in the Cloud).&lt;/li>
&lt;li>On Kali, we setup SSH service to allow for secure communication.&lt;/li>
&lt;li>On Kali, we ran &lt;code>MCP-Kali-Server&lt;/code> for our MCP server.
&lt;ul>
&lt;li>We also made sure Kali has the needed tools installed!&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>On macOS, we setup Claude Desktop, and configured a MCP client.
&lt;ul>
&lt;li>macOS can SSH into our Kali box, to run &lt;code>MCP-Kali-Server&lt;/code>&amp;rsquo;s client.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>We then used Anthropic&amp;rsquo;s &lt;code>Sonnet 4.5&lt;/code> LLM to-do a &lt;code>nmap&lt;/code> port scan of &lt;code>scanme.nmap.org&lt;/code>.&lt;/li>
&lt;/ul>
&lt;p>&amp;hellip;and we did this for &amp;ldquo;free&amp;rdquo;!&lt;/p>
&lt;p>&lt;em>We may be talking about AI, but AI was not used to write this!&lt;/em>&lt;/p>
&lt;hr>
&lt;p>&lt;em>Find out more about advanced red teaming for AI environments at &lt;a href="https://www.offsec.com/courses/osai/?utm_source=kali&amp;amp;utm_medium=web&amp;amp;utm_campaign=blog">OffSec.com&lt;/a>.&lt;/em>&lt;/p></description></item><item><title>Kali Linux 2025.4 Release (Desktop Environments, Wayland &amp; Halloween Mode)</title><link>https://www.kali.org/blog/kali-linux-2025-4-release/</link><guid isPermaLink="true">https://www.kali.org/blog/kali-linux-2025-4-release/</guid><pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/kali-linux-2025-4-release/images/banner-2025.4-release.jpg" type="image/jpg"/><description>&lt;p>Say hello to Kali Linux 2025.4!
Expect updated tools, performance tweaks, and improved support - no fluff, just the essentials.&lt;/p>
&lt;p>The summary of the &lt;a href="https://bugs.kali.org/changelog_page.php">changelog&lt;/a> since the &lt;a href="https://www.kali.org/blog/kali-linux-2025-3-release/">2025.3 release from September&lt;/a> is:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-4-release/#desktop-environments">Desktop Environments&lt;/a>&lt;/strong> - Changes to all! GNOME, KDE &amp;amp; Xfce&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-4-release/#vm-guest-utils-support-for-wayland">Wayland&lt;/a>&lt;/strong> - VM Guest Utils Support&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-4-release/#kali-halloween-mode">Halloween Mode&lt;/a>&lt;/strong> - dresses the desktop for the occasion&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-4-release/#new-tools-in-kali">3 New Tools&lt;/a>&lt;/strong> - As always, new packages added and upgraded!&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="desktop-environments">Desktop Environments&lt;/h2>
&lt;h3 id="gnome-49">GNOME 49&lt;/h3>
&lt;p>As with previous GNOME updates in Kali, we&amp;rsquo;ve given all our themes a fresh coat of paint - everything has been tuned to look sharp and feel smooth.&lt;/p>
&lt;p>The &lt;strong>Totem video player has been replaced with the new Showtime app&lt;/strong>, and the &lt;strong>app grid now finally organizes Kali tools into folders&lt;/strong>, just like the menu does, making it far more intuitive to find the tool you need.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-4-release/images/gnome-kali-tools-app-grid.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-4-release/images/gnome-kali-tools-app-grid.png" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;div class="notices info">
&lt;p data-header="Info">
Changes to the application grid do not affect already installed versions of Kali. This is done to avoid overwriting the user’s application layout. If you still want to see the new folders in the application grid, you can force the update with the following command:
&lt;/p>
&lt;/div>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ cat /etc/dconf/db/local.d/kali-menu | dconf load /
&lt;/code>&lt;/pre>
&lt;hr>
&lt;p>Another quality-of-life improvement is the addition of a &lt;strong>shortcut to quickly open a terminal&lt;/strong> (finally!), using &lt;code>Ctrl&lt;/code>+&lt;code>Alt&lt;/code>+&lt;code>T&lt;/code> or &lt;code>Win&lt;/code>+&lt;code>T&lt;/code> - just like in our other desktops.&lt;/p>
&lt;p>One of the major changes in GNOME 49 is the removal of X11 session support. &lt;strong>Wayland is now the default - and only - window server&lt;/strong>, but do not worry: the transition is seamless and, as we explain later, even VM support is excellent.&lt;/p>
&lt;p>If you want to know more about the details of the new shell version, check out the official &lt;a href="https://release.gnome.org/49/">GNOME 49 release notes&lt;/a>.&lt;/p>
&lt;h3 id="kde-plasma-65">KDE Plasma 6.5&lt;/h3>
&lt;p>KDE Plasma desktop has been bumped up to version 6.5, which brings two major releases of the desktop together. Here are some of the most relevant new features:&lt;/p>
&lt;ul>
&lt;li>More &lt;strong>flexible window tiling&lt;/strong>&lt;/li>
&lt;li>&lt;strong>New screenshot tool&lt;/strong>, with extra editing features&lt;/li>
&lt;li>Quick access to &lt;strong>pinned clipboard items&lt;/strong> in the panel&lt;/li>
&lt;li>&lt;strong>Fuzzy matching support for KRunner&lt;/strong> (Plasma&amp;rsquo;s search/launch/calculator/&amp;hellip; tool), which means that even if you misspell an app&amp;rsquo;s name, it will still find it for you.&lt;/li>
&lt;/ul>
&lt;p>If you want to learn more about the new changes for this awesome DE, check out the &lt;a href="https://kde.org/announcements/plasma/6/6.4.0/">Plasma 6.4 announcement&lt;/a> and &lt;a href="https://kde.org/announcements/plasma/6/6.5.0/">Plasma 6.5 announcement&lt;/a>.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-4-release/images/kali-plasma-6.5.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-4-release/images/kali-plasma-6.5.png" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;h3 id="new-colors-for-xfce-desktop">New Colors for Xfce Desktop&lt;/h3>
&lt;p>With this update, we wanted to bring &lt;strong>support for color themes to Xfce&lt;/strong>, putting it on par with the already available settings in the other desktops (GNOME and KDE). Now you can fully customize the colors of your Kali installation with the new themes for icons, GTK 3/4 windows, Qt 5/6 windows, and Xfce&amp;rsquo;s window manager decorations.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-4-release/images/xfce-themes.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-4-release/images/xfce-themes.png" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>All these settings can be changed through the &amp;ldquo;Appearance&amp;rdquo; application, except for Qt programs, which require separate themes and can be tweaked through qt5ct or qt6ct (both installed by default).&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-4-release/images/xfce-themes-settings.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-4-release/images/xfce-themes-settings.png" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;h2 id="vm-guest-utils-support-for-wayland">VM Guest Utils Support For Wayland&lt;/h2>
&lt;p>&lt;a href="https://www.kali.org/docs/general-use/wayland/">Wayland&lt;/a> is a modern display protocol that serves as the successor to the older X11 system for handling graphics in Linux. It specifies how graphical applications (clients) communicate with a display server to render content and process user input. &lt;strong>For years, X11 has been the default system in most UNIX desktops, but the time has come for a change to more modern software&lt;/strong> with a more efficient and secure architecture.&lt;/p>
&lt;p>Now that &lt;a href="https://www.kali.org/blog/kali-linux-2025-4-release/#gnome-49">GNOME has moved to only supporting Wayland&lt;/a>, and KDE in Kali has already used it by default for a few years (since &lt;a href="https://www.kali.org/blog/kali-linux-2023-1-release/">Kali Linux 2023.1&lt;/a>), we wanted to ensure that the transition and experience were seamless. The only thing that we felt was missing was support for &lt;a href="https://www.kali.org/docs/virtualization/">VM guest tools&lt;/a>, like clipboard sharing and window scaling, but things have been progressing, and now all the major VM software fully supports Wayland.&lt;/p>
&lt;p>We have tested Kali installations with Wayland as the guest OS in &lt;a href="https://www.kali.org/docs/virtualization/install-virtualbox-guest-vm/">VirtualBox&lt;/a>, &lt;a href="https://www.kali.org/docs/virtualization/install-vmware-guest-vm/">VMware&lt;/a>, and &lt;a href="https://www.kali.org/docs/virtualization/install-qemu-guest-vm/">QEMU&lt;/a>, configured the missing parts, and we are happy to announce that &lt;strong>all of the VM guest additions that you expected in X11 before are now working in Wayland&lt;/strong> without trouble.&lt;/p>
&lt;h2 id="kali-halloween-mode">Kali Halloween Mode&lt;/h2>
&lt;p>During last Halloween season, we wanted to celebrate by launching a Kali/Hacker-themed pumpkin carving contest. We also launched a &lt;strong>new mode for &lt;code>kali-undercover&lt;/code>&lt;/strong> called &lt;strong>Halloween mode&lt;/strong>, which dresses the desktop for the occasion!&lt;/p>
&lt;video class="video-shortcode" preload="metadata" autoplay muted loop>
&lt;source src="https://www.kali.org/blog/kali-linux-2025-4-release/videos/kali-halloween-mode.mp4" >
Your browser does not support the video tag.
&lt;/video>
&lt;p>While the Halloween mode has now been hidden from the menu, you can still launch it from your terminal in case you missed it and want to give it a try.&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ kali-undercover --halloween
&lt;/code>&lt;/pre>
&lt;h2 id="kali-live-image-is-now-distributed-over-bittorrent-only">Kali Live image Is Now Distributed Over BitTorrent Only&lt;/h2>
&lt;p>To download Kali images, we usually provide two options: direct HTTP download or BitTorrent. HTTP downloads are served either by a mirror from the community, or the &lt;a href="https://blog.cloudflare.com/cloudflare-repositories-ftw/">Cloudflare CDN&lt;/a>. For the later, there&amp;rsquo;s a hard size limit: around 5 GB, or 5,049,942,016 bytes to be precise.&lt;/p>
&lt;p>We already have an image that is way, way too big for the CDN: it&amp;rsquo;s the &lt;a href="https://www.kali.org/docs/introduction/what-image-to-download/#everything">Everything image&lt;/a>, which contains all Kali tools, and peaks at 13 GB (installer) and 15 GB (live). This image can only be downloaded via BitTorrent.&lt;/p>
&lt;div class="notices info">
&lt;p data-header="Info">
With this release, another image will now be available &lt;strong>only over BitTorrent&lt;/strong>: it&amp;rsquo;s the &lt;a href="https://www.kali.org/get-kali/#kali-live">Live image&lt;/a>
&lt;/p>
&lt;/div>
&lt;p>For more background: &lt;strong>we try hard to provide the same Kali Linux experience by default, for all images&lt;/strong>: whether you download a &lt;a href="https://www.kali.org/docs/introduction/download-official-kali-linux-images/">Pre-built VM&lt;/a>, &lt;a href="https://www.kali.org/docs/introduction/what-image-to-download/">a Installer ISO or a Live ISO&lt;/a>, you&amp;rsquo;ll get the same Kali, with the same Xfce desktop environment, and the same set of tools pre-installed. We also try to keep the default set of tools relatively stable, so that the tools that you use today are still present in the next release.&lt;/p>
&lt;p>As time passes, packages tend to gain new dependencies, acquire more features, and generally speaking: everything gets bigger and bigger, and so do our Kali images. The Live image has been flirting with the 5 GB limit for a while, and this time it&amp;rsquo;s over the limit for good.&lt;/p>
&lt;p>The Live image has always been an outlier in terms of size: it is a fully-fledged and ready-to-run Kali system, but it can also be used to install Kali, meaning that it also contains the Kali installer with a minimal pool of packages. For this reason, this image has always been bigger than any others.&lt;/p>
&lt;p>After discussions with the team, we decided that we did not want to remove tools from the default installation, as other images are well below the size limit. We do not want to remove tools from the Live image only either, as it&amp;rsquo;s going to be confusing, and it&amp;rsquo;s just going to make the Live image less useful. So our only option at this point is to remove the Live image from the HTTP distribution channel, and distribute it over BitTorrent only. Like we already do for the everything image.&lt;/p>
&lt;p>Just to be geeky, here&amp;rsquo;s a breakdown of sizes for the last &lt;code>2025.3&lt;/code> release, and the explanation for their sizes:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/get-kali/#kali-virtual-machines">Pre-built VM&lt;/a>: 3.5 GB, these are the smaller images, basically it&amp;rsquo;s your default Kali Linux that is pre-installed and compressed with &lt;code>xz&lt;/code>. That&amp;rsquo;s the best we can do in terms of compression.&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/get-kali/#kali-installer-images">Installer&lt;/a>: 4.3 GB, it contains the same set of packages, but uninstalled (ie. as &lt;code>.deb&lt;/code> files), so in terms of compression it&amp;rsquo;s a mixed bag of &lt;code>gz&lt;/code> and &lt;code>xz&lt;/code> compression (&lt;code>gz&lt;/code> compresses much less than &lt;code>xz&lt;/code>). Additionally it contains the Kali installer, which is a kind of mini OS dedicated to installing Kali.&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/get-kali/#kali-live">Live&lt;/a>: 4.7 GB, as said above, it&amp;rsquo;s a pre-installed Kali system, compressed with &lt;code>xz&lt;/code>, plus the Kali installer, plus a minimal pool of packages.&lt;/li>
&lt;/ul>
&lt;h2 id="new-tools-in-kali">New Tools in Kali&lt;/h2>
&lt;p>As with every Kali release, new tools have been introduced (to the network repositories). Below is a brief summary of the additions:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/tools/bpf-linker/">bpf-linker&lt;/a> - Simple BPF static linker&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/evil-winrm-py/">evil-winrm-py&lt;/a> - Python-based tool for executing commands on remote Windows machines using the WinRM&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/hexstrike-ai/">hexstrike-ai&lt;/a> - MCP server that lets AI agents autonomously run tools&lt;/li>
&lt;/ul>
&lt;p>&lt;em>In addition, numerous packages have been updated, and new libraries have been incorporated. We also bump the Kali kernel to 6.16.&lt;/em>&lt;/p>
&lt;h2 id="kali-nethunter-updates">Kali NetHunter Updates&lt;/h2>
&lt;p>We are delighted to start this year&amp;rsquo;s winter season with awesome news! As usual, snowfall is now back on the Kali NetHunter app. Bugfixes, new features, new devices, an interview, and a live showcase podcast with offensive attacks.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-4-release/images/Kali-NetHunter-christmas.jpg' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-4-release/images/Kali-NetHunter-christmas.jpg" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Android 16 Support&lt;/strong>&lt;/p>
&lt;p>Our recommended device family kicks in the door of Android 16. Made by &lt;a href="https://gitlab.com/V0lk3n">@V0lk3n&lt;/a>, the Samsung Galaxy S10, S10e, S10 Plus, and S10 5G running LineageOS 23 are now added with all the Kali NetHunter features including CAN, as well as internal wireless injection support. Check out the &lt;a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-samsung-galaxy-s10/">install guide for the S10&lt;/a> as an example. OnePlus Nord now also has Android 16 support by &lt;a href="https://gitlab.com/kimocoder">@kimocoder&lt;/a>. Last but not least, &lt;a href="https://gitlab.com/k0d14k">@k0d14k&lt;/a> added support for Xiaomi Mi 9 on Android 15.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-4-release/images/Kali-NetHunter-devices.jpg' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-4-release/images/Kali-NetHunter-devices.jpg" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Kali NetHunter Terminal&lt;/strong>&lt;/p>
&lt;p>We are extremely thankful for your patience since the last release. The &lt;a href="https://store.nethunter.com/packages/com.offsec.nhterm/">Terminal&lt;/a> is now up and running again, thanks to the team effort of @yesimxev, @kimocoder, and &lt;a href="https://gitlab.com/Martinvlba">@martin&lt;/a>. At the same time, @kimocoder added support for any Magisk version that has interactive mode. Therefore, hitting CTRL+C would not close the terminal session anymore.&lt;/p>
&lt;p>As of this writing, Magisk v30.6 is supported by the Terminal app.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Wifipumpkin 3&lt;/strong>&lt;/p>
&lt;p>Wifipumpkin3 tab now has preview available in in NH app, updated by @yesimxev. He also added the latest templates of @IKTEACH and @dr.rootsu - Facebook, Instagram, iCloud, Snapchat. Credits for the great collaboration.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-4-release/images/Kali-NetHunter-Wifipumpkin.jpg' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-4-release/images/Kali-NetHunter-Wifipumpkin.jpg" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;p>The kernel install tab is temporarily disabled as it needs some more maintenance. You will notice that @kimocoder started transforming some of the fragments to the new style. He also added a very early alpha version of the in-app terminal. You can enable in Kali NetHunter app settings if you&amp;rsquo;d like to check it out. Most commands will still go to the external Terminal app. Magisk installer now supports modules install, credits to &lt;a href="https://gitlab.com/cyberknight777">@cyberknight777&lt;/a>. Therefore, installed Kali NetHunter kernel modules will show up in Modules tab.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Kali NetHunter Live Podcast&lt;/strong>&lt;/p>
&lt;p>@yesimxev hosted the first NetHunter Live Podcast featuring &lt;a href="https://github.com/androidmalware">@Lukas Stefanko&lt;/a>, also known as Mobile Hacker. Live wireless attacks from phone and smartwatch, kon-boot Windows password bypass using smartwatch, Q&amp;amp;A, and guest talk. Make sure you check out if you missed the live stream! Episode two coming in January. Feedbacks are very welcomed.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.kali.org/blog/kali-linux-2025-4-release/https://www.youtube-nocookie.com/embed/PVi0udZ5-W0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
&lt;/div>
&lt;hr>
&lt;p>&lt;strong>Kali NetHunter Blog Interview&lt;/strong>&lt;/p>
&lt;p>A &lt;a href="https://www.mobile-hacker.com/2025/11/11/inside-the-mind-of-a-kali-nethunter-developer-a-deep-dive-with-yesimxev/">deep dive&lt;/a> into our lead Kali NetHunter developer, @yesimxev&amp;rsquo;s mind. His story of how he&amp;rsquo;s got into cybersecurity and NetHunter, a brief overview of features, devices, future plans, and more!&lt;/p>
&lt;h2 id="kali-documentation">Kali Documentation&lt;/h2>
&lt;p>We have refreshed our&lt;a href="https://www.kali.org/docs/">Kali documentation&lt;/a> with updates to current pages and a handful of new ones:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/docs/troubleshooting/graphics-issues-on-bare-metal-installation/">Graphics issues on bare-metal installation&lt;/a> &lt;em>(new)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-samsung-galaxy-s10/">Installing NetHunter on the Samsung Galaxy S10&lt;/a> &lt;em>(new)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/development/setting-up-packaging-system/">Setting up a system for packaging&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;/ul>
&lt;h2 id="community-shout-outs">Community Shout-Outs&lt;/h2>
&lt;p>These are &lt;strong>community members who contributed to Kali&lt;/strong> during the latest release, and we want to recognize their efforts &lt;em>(we believe in giving credit where it&amp;rsquo;s due!)&lt;/em>.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://gitlab.com/Hackman2381">@Hackman2381&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Soroushnk80">@Soroush Nekoozadeh&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/V0lk3n">@V0lk3n&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/yesimxev">@yesimxev&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Anyone is welcome to contribute, and anyone can get &lt;a href="https://www.kali.org/docs/community/contribute/">involved&lt;/a>!&lt;/p>
&lt;h3 id="new-kali-mirrors">New Kali Mirrors&lt;/h3>
&lt;p>We have &lt;strong>3 new mirrors&lt;/strong> in Asia! Those are:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>India&lt;/strong>: &lt;a href="https://mirrors.esto.network/kali/">mirrors.esto.network&lt;/a>, sponsored by &lt;a href="https://esto.network/">Esto Networks&lt;/a> and thanks to Rahul Makhija.&lt;/li>
&lt;li>&lt;strong>South Korea&lt;/strong>: &lt;a href="https://mirror2.keiminem.com/kali/">mirror2.keiminem.com&lt;/a>, sponsored by &lt;a href="https://keiminem.com/">Keiverse&lt;/a>.&lt;/li>
&lt;li>&lt;strong>South Korea&lt;/strong>: &lt;a href="https://mirror.eliv.digital/kali/">mirror.eliv.digital&lt;/a>, sponsored by &lt;a href="https://eliv.digital/">PROJECT ELIV&lt;/a> and thanks to Chobi.&lt;/li>
&lt;/ul>
&lt;p>And &lt;strong>1 new mirror&lt;/strong> in North America:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>United States&lt;/strong>: &lt;a href="https://mirror.us.cdn-perfprod.com/kali/">mirror.us.cdn-perfprod.com&lt;/a>, thanks to Marc Gómez.&lt;/li>
&lt;/ul>
&lt;p>If you have the disk space and bandwidth, &lt;a href="https://www.kali.org/docs/community/setting-up-a-kali-linux-mirror/">we always welcome new mirrors&lt;/a>.&lt;/p>
&lt;h2 id="miscellaneous">Miscellaneous&lt;/h2>
&lt;p>Here are a few additional Kali updates we are calling out, though they do not warrant a deep dive:&lt;/p>
&lt;ul>
&lt;li>Our &lt;a href="https://status.kali.org/">status page&lt;/a> has been refreshed! &lt;/li>
&lt;li>Early this year, &lt;a href="https://gitlab.com/arnaudr">@arnaudr&lt;/a> gave a talk at &lt;a href="https://debconf25.debconf.org/talks/122-kali-linux-delivery-of-a-rolling-distro-at-scale-with-mirrorbits/">DebCon25&lt;/a> about mirrorbits (&lt;a href="https://arnaudr.io/static/debconf25-kali-mirrorbits/">Slides&lt;/a>, &lt;a href="https://meetings-archive.debian.net/pub/debian-meetings/2025/DebConf25/debconf25-217-kali-linux-delivery-of-a-rolling-distro-at-scale-with-mirrorbits.av1.webm">Video&lt;/a>) &lt;/li>
&lt;li>Various CI fixes for &lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-cloud">Kali Cloud&lt;/a> &amp;amp; &lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-wsl-app">Kali WSL App&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="get-kali-linux-20254">Get Kali Linux 2025.4&lt;/h2>
&lt;p>&lt;strong>Fresh Images&lt;/strong>:
So what are you waiting for? Go &lt;a href="https://www.kali.org/get-kali/">get Kali&lt;/a> already!&lt;/p>
&lt;p>Seasoned Kali Linux users are already aware of this, but for those who are not, we also produce &lt;strong>&lt;a href="https://cdimage.kali.org/kali-images/kali-weekly/">weekly builds&lt;/a>&lt;/strong> that you can use. If you cannot wait for our next release and you want the latest packages &lt;em>(or bug fixes)&lt;/em> when you download the image, you can just use the weekly image instead.
This way you will have fewer updates to do.
&lt;em>Just know that these are automated builds that we do, not QA like we do for our standard &lt;a href="https://www.kali.org/releases/">release images&lt;/a>&lt;/em>. But we gladly take &lt;a href="https://bugs.kali.org/">bug reports&lt;/a> about those images because we want any issues to be fixed before our next release!&lt;/p>
&lt;p>&lt;strong>Existing Installs&lt;/strong>:
If you already have an existing Kali Linux installation, remember you can always do a quick &lt;a href="https://www.kali.org/docs/general-use/updating-kali/">update&lt;/a>:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ echo &amp;quot;deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware&amp;quot; | sudo tee /etc/apt/sources.list
[...]
┌──(kali㉿kali)-[~]
└─$ sudo apt update &amp;amp;&amp;amp; sudo apt -y full-upgrade
[...]
┌──(kali㉿kali)-[~]
└─$ cp -vrbi /etc/skel/. ~/
[...]
┌──(kali㉿kali)-[~]
└─$ [ -f /var/run/reboot-required ] &amp;amp;&amp;amp; sudo reboot -f
&lt;/code>&lt;/pre>
&lt;p>You should now be on Kali Linux 2025.4. We can do a quick check by doing:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ grep VERSION /etc/os-release
VERSION=&amp;quot;2025.4&amp;quot;
VERSION_ID=&amp;quot;2025.4&amp;quot;
VERSION_CODENAME=&amp;quot;kali-rolling&amp;quot;
┌──(kali㉿kali)-[~]
└─$ uname -v
#1 SMP PREEMPT_DYNAMIC Kali 6.16.8-1kali1 (2025-09-24)
┌──(kali㉿kali)-[~]
└─$ uname -r
6.16.8+kali-amd64
&lt;/code>&lt;/pre>
&lt;p>&lt;em>NOTE: The output of &lt;code>uname -r&lt;/code> may be different depending on the system &lt;a href="https://pkg.kali.org/pkg/linux">architecture&lt;/a>.&lt;/em>&lt;/p>
&lt;hr>
&lt;p>As always, should you come across any bugs in Kali, please submit a report on our &lt;a href="https://bugs.kali.org/">bug tracker&lt;/a>. &lt;em>We will never be able to fix what we do not know is broken!&lt;/em> &lt;strong>And Social networks are not bug trackers!&lt;/strong>&lt;/p>
&lt;hr>
&lt;p>Want to keep up-to-date easier? We&amp;rsquo;ve got you!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/blog/">Blog&lt;/a>? Use our &lt;a href="https://www.kali.org/rss.xml">RSS feed&lt;/a> and &lt;a href="https://www.kali.org/newsletter/">newsletter&lt;/a> &lt;/li>
&lt;li>&lt;a href="https://www.kali.org/get-kali/">Download&lt;/a>? We have a &lt;a href="https://www.kali.org/torrents.xml">Torrent RSS feed&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/community/list-of-official-kali-sites/#social-media-networks">Socials&lt;/a>? &lt;a href="https://bsky.app/profile/kalilinux.bsky.social">Bluesky&lt;/a>, &lt;a href="https://www.facebook.com/KaliLinux/">Facebook&lt;/a>, &lt;a href="https://www.instagram.com/kalilinux/">Instagram&lt;/a>, &lt;a href="https://infosec.exchange/@kalilinux">Mastodon&lt;/a> &amp;amp; &lt;a href="https://x.com/kalilinux">X&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Kali Linux 2025.3 Release (Vagrant &amp; Nexmon)</title><link>https://www.kali.org/blog/kali-linux-2025-3-release/</link><guid isPermaLink="true">https://www.kali.org/blog/kali-linux-2025-3-release/</guid><pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/kali-linux-2025-3-release/images/banner-2025.3-release.jpg" type="image/jpg"/><description>&lt;p>Another quarter, another drop - Kali 2025.3 is now here! Bringing you another round of updates, new features and introducing some new tools - pushing Kali further.
The summary of the &lt;a href="https://bugs.kali.org/changelog_page.php">changelog&lt;/a> since the &lt;a href="https://www.kali.org/blog/kali-linux-2025-2-release/">2025.2 release from June&lt;/a> is:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-3-release/#hashicorp-packer--vagrant">Packer &amp;amp; Vagrant&lt;/a>&lt;/strong> - &lt;em>HashiCorp&amp;rsquo;s products have had a refresh&lt;/em>&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-3-release/#nexmon-support">Nexmon Support&lt;/a>&lt;/strong> - &lt;em>Monitor mode and injection for Raspberry Pi&amp;rsquo;s in-built Wi-Fi&lt;/em>&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-3-release/#new-tools-in-kali">10 New Tools&lt;/a>&lt;/strong> - &lt;em>As always, various new packages added (as well as updates)&lt;/em>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="hashicorp-packer--vagrant">HashiCorp: Packer &amp;amp; Vagrant&lt;/h2>
&lt;p>Kali has been using two HashiCorp products, which go hand-in-hand with each other:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://developer.hashicorp.com/packer">&lt;strong>Packer&lt;/strong>&lt;/a> - &lt;em>&lt;strong>Creating VMs&lt;/strong> for multiple platforms from a single source configuration&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://developer.hashicorp.com/vagrant">&lt;strong>Vagrant&lt;/strong>&lt;/a> - &lt;em>&lt;strong>Building and managing&lt;/strong> VM environments&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>Until now, we have been using our Packer build-script to generate our Vagrant VMs. This has been working well for us.
We wanted to streamline our platform building process more, which prompted us to revisit how we generate Vagrant VMs.
Whilst it is possible to automate Packer, it was not ideal for our infrastructure setup and workflow &lt;em>(e.g. trying to build Hyper-V images on Linux)&lt;/em>.&lt;/p>
&lt;p>This caused us to refresh a few items:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://gitlab.com/kalilinux/recipes/kali-preseed-examples">Kali &lt;strong>pre-seed examples&lt;/strong>&lt;/a> - Packer uses pre-seed to automate the Kali installer - we made sure they are &lt;strong>all consistent&lt;/strong>.&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-packer/-/tree/main">Kali &lt;strong>Packer build-scripts&lt;/strong>&lt;/a> - We were using v1 of the standards. &lt;strong>We upgraded to v2&lt;/strong>.&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-vm">Kali &lt;strong>VM build-scripts&lt;/strong>&lt;/a> - Vagrant images are VMs which a few tweaks done to them. &lt;strong>We added these modification to our existing VM build-scripts&lt;/strong>.&lt;/li>
&lt;/ul>
&lt;p>For more information, please keep reading our blog post: &lt;a href="https://www.kali.org/blog/kali-vagrant-rebuilt/">Kali Vagrant Rebuilt: Out With Packer, In With DebOS&lt;/a>&lt;/p>
&lt;h2 id="nexmon-support">Nexmon Support&lt;/h2>
&lt;p>Nexmon is a &amp;ldquo;patched&amp;rdquo; firmware, for certain wireless chips, to extend their functionally to allow:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Monitor mode&lt;/strong> - &lt;em>able to &lt;strong>sniff packets&lt;/strong>&lt;/em>&lt;/li>
&lt;li>&lt;strong>Injection mode&lt;/strong> - &lt;em>frame injection allows for &lt;strong>custom raw packets&lt;/strong> to be sent, outside of the &amp;ldquo;standard&amp;rdquo; stack ordering&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>Both are really useful when it comes to information security!
&lt;em>For the record, it is possible to-do both of the features above without Nexmon, as it depends on the device&amp;rsquo;s chipset and drivers.&lt;/em>&lt;/p>
&lt;p>Now, Nexmon supported wireless chips are Broadcom &amp;amp; Cypress, which are in a various devices, including the Raspberry Pi&amp;rsquo;s in-built Wi-Fi!
In &lt;a href="https://www.kali.org/blog/kali-linux-2025-1-release/">Kali 2025.1&lt;/a>, we changed how we package our Raspberry Pi kernel, as well as bump to a new major version. Now Nexmon support is back as well as supporting Raspberry Pi 5!
&lt;em>&lt;strong>Other devices can also use Nexmon, its not limited to Raspberry Pis.&lt;/strong>&lt;/em>&lt;/p>
&lt;p>To find out more, please see our previous blog post: &lt;a href="https://www.kali.org/blog/raspberry-pi-wi-fi-glow-up/">The Raspberry Pi&amp;rsquo;s Wi-Fi Glow-Up&lt;/a>&lt;/p>
&lt;h2 id="dropping-armel">Dropping ARMel&lt;/h2>
&lt;p>We are announcing that we too are &lt;strong>dropping support for ARMel&lt;/strong> (Acorn RISC Machine, Little-Endian). We are &lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1113680">following Debian&amp;rsquo;s footsteps in this decision&lt;/a>: Debian &amp;ldquo;trixie&amp;rdquo; 13 is the &lt;a href="https://www.debian.org/releases/trixie/release-notes/issues.en.html#armel-last-release">last release with ARMel support&lt;/a>, and Debian testing (which Kali is based on) doesn&amp;rsquo;t provide ARMel packages anymore.&lt;/p>
&lt;p>Luckily, the &lt;strong>&lt;a href="https://arm.kali.org/images.html">amount of devices&lt;/a> which use this architecture is very limited&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>Raspberry Pi 1 (Original)&lt;/li>
&lt;li>Raspberry Pi Zero W&lt;/li>
&lt;li>&lt;em>ODROID-W, which already is End-Of-Life&lt;/em>.&lt;/li>
&lt;/ul>
&lt;p>We cannot justify the amount of resources, both human power as well as hardware, required to support such a limited amount of legacy hardware. &lt;em>We would much rather put the time into RISC-V&amp;hellip;&lt;/em>&lt;/p>
&lt;h2 id="configurable-vpn-ip-panel-plugin-xfce">Configurable VPN IP panel plugin (Xfce)&lt;/h2>
&lt;p>In &lt;a href="https://www.kali.org/blog/kali-linux-2024-1-release/">Kali 2024.1&lt;/a>, we introduced a new Xfce panel plugin that allows users to quickly check and copy the current IP address of their VPN connection. Until now, it was only possible to view the IP of the first VPN, but if you were using multiple connections or wanted to check a different interface, there was no way to switch it. To improve the usability of this plugin, &lt;strong>we have now added the option to choose which network interface the plugin monitors&lt;/strong>.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-3-release/images/xfce-vpn-ip-plugin.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-3-release/images/xfce-vpn-ip-plugin.png" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>To configure it, right-click the VPN-IP plugin and open the preferences dialog, where you can set the new interface at the end of the &lt;strong>&amp;ldquo;Command&amp;rdquo;&lt;/strong> parameter. If you don&amp;rsquo;t see the VPN-IP plugin, you can find it in the panel preferences by searching for the &lt;strong>&amp;ldquo;Generic Monitor&amp;rdquo;&lt;/strong> plugin in the &lt;strong>&amp;ldquo;Items&amp;rdquo;&lt;/strong> tab.&lt;/p>
&lt;h2 id="new-tools-in-kali">New Tools in Kali&lt;/h2>
&lt;p>It would not be a Kali release if there were not any new tools added! A quick run down of the &lt;strong>10 tools&lt;/strong> which have been added to the network repositories:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/tools/caido/">Caido&lt;/a> - The client side of caido (the graphical/desktop aka the main interface) - a web security auditing toolkit&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/caido-cli/">Caido-cli&lt;/a> - The server section of caido - a web security auditing toolkit&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/detect-it-easy/">Detect It Easy (DiE)&lt;/a> - File type identification&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/gemini-cli/">Gemini CLI&lt;/a> - An open-source AI agent that brings the power of Gemini directly into your terminal&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/krbrelayx/">krbrelayx&lt;/a> - Kerberos relaying and unconstrained delegation abuse toolkit&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/ligolo-mp/">ligolo-mp&lt;/a> - Multiplayer pivoting solution&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/llm-tools-nmap/">llm-tools-nmap&lt;/a> - Enables LLMs to perform network discovery and security scanning tasks using the nmap&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/mcp-kali-server/">mcp-kali-server&lt;/a> - MCP configuration to connect AI agent to Kali&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/patchleaks/">patchleaks&lt;/a> - Spots the security fix and provides detailed description so you can validate - or weaponize - it fast&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/vwifi-dkms/">vwifi-dkms&lt;/a> - Setup &amp;ldquo;dummy&amp;rdquo; Wi-Fi networks, establishing connections, and disconnecting from them&lt;/li>
&lt;/ul>
&lt;p>&lt;em>There have also been numerous packages updates and new libraries as well.&lt;/em>&lt;/p>
&lt;div class="notices info">
&lt;p data-header="Info">
As a heads up, we are looking at &lt;strong>altering the tools which get installed by default in Kali 2025.4&lt;/strong>, via the &lt;code>kali-linux-default&lt;/code> metapackage.
&lt;/p>
&lt;/div>
&lt;h2 id="kali-nethunter-updates">Kali NetHunter Updates&lt;/h2>
&lt;p>Kali NetHunter team and the community has been busy working away on Kali on mobile devices, with Kali NetHunter, &lt;a href="https://store.nethunter.com/packages/com.offsec.nethunter/">app&lt;/a> and &lt;a href="https://store.nethunter.com/packages/com.offsec.nhterm/">terminal&lt;/a>!&lt;/p>
&lt;h3 id="wireless-injection">Wireless Injection&lt;/h3>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-3-release/images/Kali-NetHunter-WiFi-Injection.jpeg' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-3-release/images/Kali-NetHunter-WiFi-Injection.jpeg" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>We are happy to announce that we &lt;strong>finally have a new budget friendly device&lt;/strong> since Nexus 5, which supports internal monitor mode with injection on both 2.4Ghz and 5Ghz. After an awesome collaboration, the Kali NetHunter &lt;strong>Samsung Galaxy S10&lt;/strong> is born. The &lt;a href="https://github.com/seemoo-lab/nexmon">Nexmon team&lt;/a> patched the broadcom firmware, &lt;a href="https://linktr.ee/v0lk3n">@V0lk3n&lt;/a> ported the Kali NetHunter kernel, and &lt;a href="https://gitlab.com/yesimxev">@yesimxev&lt;/a> released Hijacker arm64 version to avoid app crashes. The install guide is available here for &lt;a href="https://forums.kali.org/t/hijacker-on-the-samsung-galaxy-s10-with-wireless-injection/10305">Nexmon&lt;/a> and &lt;a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-samsung-galaxy-s10/">Kali NetHunter&lt;/a>.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.kali.org/blog/kali-linux-2025-3-release/https://www.youtube-nocookie.com/embed/cZUrad7UMN8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
&lt;/div>
&lt;h3 id="carsenal-update">CARsenal Update&lt;/h3>
&lt;p>Kali NetHunter Car Hacking, CARsenal, continues to expand with a lot of change and new features by @V0lk3n!&lt;/p>
&lt;p>You will need to run the setup again, to apply all the new changes and install any new packages.&lt;/p>
&lt;div class="notices info">
&lt;p data-header="Info">
Even if it&amp;rsquo;s a &amp;ldquo;Car Hacking&amp;rdquo; toolset, we discourage you from trying this on your daily driver. Use it on a controlled environment. Either OffSec or the Kali team will not take responsibility for your actions, especially if you break your car.
&lt;/p>
&lt;/div>
&lt;p>&lt;strong>What&amp;rsquo;s New?&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Main&lt;/strong> - Settings has been moved to menu bar and all service commands can be edited by long pressing oranges buttons. New &lt;code>RFCOMM Connect&lt;/code> service.&lt;/li>
&lt;li>&lt;strong>Tools&lt;/strong> - Settings has been moved to menu bar. When configuring your settings, tools buttons will be updated with it, and all tools commands can be edited by long pressing oranges buttons.&lt;/li>
&lt;li>&lt;strong>CAN-USB&lt;/strong> - Settings as been moved to menu bar. When configuring your settings, &lt;code>Run&lt;/code> button will be updated with it.&lt;/li>
&lt;li>&lt;strong>Caring Caribou&lt;/strong> - All modules and sub-modules as been added to &lt;code>Caribou&lt;/code>, excepted &lt;code>doip&lt;/code> which should come in 2025.4 update and &lt;code>DCM&lt;/code> which is replaced by &lt;code>UDS&lt;/code>. All module spinner have been merged into &lt;code>modules&lt;/code> and &lt;code>submodules&lt;/code> spinner. Settings parameters is now displayed depending of the module/submodule chosen.&lt;/li>
&lt;li>&lt;strong>ICSim rewrite&lt;/strong> - &lt;code>ICSim&lt;/code> is renamed to &lt;code>Simulator&lt;/code>, and &lt;code>UDSim&lt;/code> has been added to it - enjoy more simulation for learning and testing purpose! Also a new feature to hide/display the controls view and to make ICSim/UDSim a float-able window has been added! Keep the simulator in front of your eyes while running tools from CARsenal or NetHunter Terminal!&lt;/li>
&lt;li>&lt;strong>New MSF tab&lt;/strong> - A new MSF tab has been added, providing automotive modules for &lt;a href="https://www.kali.org/tools/metasploit-framework/">Metasploit-Framework&lt;/a>. Setup a hardware bridge, connect to it and run post modules!&lt;/li>
&lt;li>&lt;strong>About dialog&lt;/strong> - About dialog page and it&amp;rsquo;s credit has been updated.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What Else?&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>UI&lt;/strong> - User Interface has been updated a lot! Thanks to @kimocoder for inspiration!&lt;/li>
&lt;li>&lt;strong>Bug Fix&lt;/strong> - A lot of bug fix and no more outdated libraries used! Thanks again to @kimocoder for this!&lt;/li>
&lt;li>&lt;strong>CARsenal Refactoring&lt;/strong> - Refactoring process of CAN Arsenal to CARsenal is now complete.&lt;/li>
&lt;li>&lt;strong>Documentation&lt;/strong> - Complete rewrite of &lt;a href="https://www.kali.org/docs/nethunter/nethunter-carsenal/">CARsenal documentation&lt;/a> for 2025.3 content (no change for the kernel documentation part).&lt;/li>
&lt;li>&lt;strong>New Kernel Supporting CAN&lt;/strong> - OnePlus6 for LineageOS 22.2 (Android 15). Note that it was made for OnePlus6 and not it&amp;rsquo;s 6T variant. This will be updated soon as well to support it.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What to come next?&lt;/strong>&lt;/p>
&lt;p>Expect to see for 2025.4 more UI update, better MSF screen terminal, Simulator update and more! We are also planning to make series of videos demonstrating CARsenal, If you notice a bug or simply wish to have a feature added to CARsenal, get in touch!&lt;/p>
&lt;h3 id="modules-in-magisk">Modules in Magisk&lt;/h3>
&lt;p>&lt;strong>Kernel modules install with Magisk is now supported&lt;/strong> and are included in the released install images. It is still in experimental state. Credits to @yesimxev and &lt;a href="https://gitlab.com/cyberknight777">@cyberknight777&lt;/a>.&lt;/p>
&lt;h3 id="bugfixes--improvements">Bugfixes &amp;amp; Improvements&lt;/h3>
&lt;p>Thanks largely to &lt;a href="https://x.com/kimocoder">@kimocode&lt;/a> who made a lot of code updates improving UI, stability and more!
Bellow is a list of changes:&lt;/p>
&lt;ul>
&lt;li>Boot animation is now fixed&lt;/li>
&lt;li>Improved/Added API 21 to API 34+&lt;/li>
&lt;li>Made &lt;code>busybox_nh&lt;/code> available in Android (SU) shell&lt;/li>
&lt;li>Made the &lt;code>bootkali&lt;/code>&amp;quot; and &amp;ldquo;&lt;code>killkali&lt;/code>&amp;rdquo; scripts available in Android (SU) shell&lt;/li>
&lt;li>Removed the non-working &amp;lsquo;Deauth&amp;rsquo; tab (fragment)&lt;/li>
&lt;li>Replaced many deprecated libraries&lt;/li>
&lt;li>Replaced the deprecated &amp;lsquo;AsyncTask&amp;rsquo; with &amp;lsquo;Executer&amp;rsquo; which improves threading and background tasks making the application for stable and improve performance&lt;/li>
&lt;li>Updated all libraries in use to latest&lt;/li>
&lt;li>Updated BusyBox binaries&lt;/li>
&lt;li>Updated Gradle / JAVA&lt;/li>
&lt;li>Updated the &amp;ldquo;Audio&amp;rdquo; fragment&lt;/li>
&lt;li>Updated the &amp;ldquo;GPS&amp;rdquo; fragment&lt;/li>
&lt;li>Updated the kernel &amp;ldquo;Modules&amp;rdquo; fragment&lt;/li>
&lt;li>Updated vulnerable database list (WPS)&lt;/li>
&lt;li>WP3: Fix templates not showing in the Spinner&lt;/li>
&lt;/ul>
&lt;h3 id="playground">Playground&lt;/h3>
&lt;p>@yesimxev had fun on his car radio again. Let&amp;rsquo;s combine a Kali NetHunter phone, RTL-SDR, and a car radio. The result? &lt;a href="https://github.com/mebrown47/airspace-visualizer">Airspace visualizer&lt;/a> in your car, bringing the wardriving vibes, especially with the radar design. Credits to @ElbaSatGuy for creating this awesome project.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.kali.org/blog/kali-linux-2025-3-release/https://www.youtube-nocookie.com/embed/IdDGZfugxzw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
&lt;/div>
&lt;hr>
&lt;p>Finally, he tried out the Bad Bluetooth Attack on his smartwatch, to take over a Samsung tablet.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.kali.org/blog/kali-linux-2025-3-release/https://www.youtube-nocookie.com/embed/j923flrNiz8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
&lt;/div>
&lt;h2 id="kali-arm-sbc-updates">Kali ARM SBC Updates&lt;/h2>
&lt;p>Other than Nexmon, which we have already covered, Kali ARM has also had a few other improvements:&lt;/p>
&lt;ul>
&lt;li>We have fixed an issue with the Kernels not always getting updated. &lt;/li>
&lt;li>For our Raspberry Pi images, we are now r&lt;strong>ecommending to use the 64-bit (&lt;code>arm64&lt;/code>) image&lt;/strong> rather than 32-bit (&lt;code>armhf&lt;/code>).&lt;/li>
&lt;li>The Raspberry Pi 64-bit (&lt;code>arm64&lt;/code>) image will also do Raspberry Pi 5! There is &lt;strong>no longer a dedicated image&lt;/strong> just for this device.&lt;/li>
&lt;li>The &lt;strong>Raspberry Pi 2 doesn&amp;rsquo;t support 64-bit&lt;/strong> (&lt;code>arm64&lt;/code>), so if you are still rocking it, grab the 32-bit (&lt;code>armhf&lt;/code>). &lt;/li>
&lt;/ul>
&lt;h2 id="miscellaneous">Miscellaneous&lt;/h2>
&lt;p>Below are a few other things which have been updated in Kali, which we are calling out, which do not have as much detail:&lt;/p>
&lt;ul>
&lt;li>New &lt;strong>&lt;a href="https://www.kali.org/wallpapers/community/">community wallpapers&lt;/a>&lt;/strong> in multiple colors (thanks &lt;a href="https://gitlab.com/IAmNewbie99">@IAmNewbie99&lt;/a>)&lt;/li>
&lt;li>OffSec, the company who founded Kali, will be soon offering a &lt;strong>free &amp;ldquo;Capture The Flag&amp;rdquo; (CTF) event in October&lt;/strong> with $100,000 in prizes. For more information, and to pre-register see &amp;ldquo;&lt;a href="https://www.offsec.com/events/the-gauntlet/?utm_source=kali&amp;amp;utm_medium=web&amp;amp;utm_campaign=blog">The Gauntlet&lt;/a>&amp;rdquo;&lt;/li>
&lt;li>A great guide to read: &lt;a href="https://gitlab.com/akabulous/So_You_Want_To_Build_A_Nethunter_Kernel">So You Want To Build A NetHunter Kernel&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="kali-documentation">Kali Documentation&lt;/h2>
&lt;p>Our &lt;a href="https://www.kali.org/docs/">Kali documentation&lt;/a> has had various updates to existing pages as well as new pages:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/docs/containers/installing-docker-on-kali/">Installing Docker on Kali Linux&lt;/a> &lt;em>(Updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/general-use/gpgkey-expiry/">Resolving APT Errors Caused by an Expired Kali Linux Signing Key&lt;/a> &lt;em>(New)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/development/setting-up-packaging-system/">Setting up a system for packaging&lt;/a> &lt;em>(Updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/bloodhound/#reset-bloodhounds-admin-password">Reset Bloodhound&amp;rsquo;s admin password&lt;/a> &lt;em>(Updated)&lt;/em> &lt;/li>
&lt;/ul>
&lt;h2 id="kali-blog-recap">Kali Blog Recap&lt;/h2>
&lt;p>Since our last release, we did the following &lt;a href="https://www.kali.org/blog/">blog posts&lt;/a>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/blog/raspberry-pi-wi-fi-glow-up/">The Raspberry Pi&amp;rsquo;s Wi-Fi Glow-Up&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/blog/kali-apple-container-containerization/">Kali Linux &amp;amp; Containerization (Apple&amp;rsquo;s Container)&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/blog/kali-vagrant-rebuilt/">Kali Vagrant Rebuilt: Out With Packer, In With DebOS&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="community-shout-outs">Community Shout-Outs&lt;/h2>
&lt;p>These are &lt;strong>people from the public who have helped Kali&lt;/strong> and the team for the last release. And we want to praise them for their work &lt;em>(we like to give credit where due!)&lt;/em>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://gitlab.com/Arszilla">@Arszilla&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/cjp256">@Chris Patterson&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/eko.wibowo87">@Eko Wibowo&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Funeoz">@Funeoz&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/hinoshiba">@hinoshiba&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/IAmNewbie99">@IAmNewbie99&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/serval123">@serval&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Anyone can help out, anyone can get &lt;a href="https://www.kali.org/docs/community/contribute/">involved&lt;/a>!&lt;/p>
&lt;h3 id="new-kali-mirrors">New Kali Mirrors&lt;/h3>
&lt;p>First, we have a new machine to host our tier-0 mirror &lt;code>archive.kali.org&lt;/code>! The tier-0 mirror is the source from where all the other mirrors sync. This new machine has more bandwidth; we went &lt;strong>from 500 Mb/s to 3 Gb/s&lt;/strong>, in other words we increased capacity by 6! In practical terms, it means mirrors will sync faster, which is especially relevant for &amp;ldquo;big syncs&amp;rdquo;, when a lot of new packages land in the repository at once. Faster mirror syncs means users get new packages faster, and it means smoother operations overall. This is a very welcome upgrade, long overdue!&lt;/p>
&lt;p>Now, for the list of new Kali mirrors, this release cycle was again busy, we welcomed &lt;strong>6 new mirrors in Asia&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>China: &lt;a href="https://mirror.nju.edu.cn/kali/">mirror.nju.edu.cn&lt;/a>, sponsored by the &lt;a href="https://sci.nju.edu.cn/">eScience Center, Nanjing University&lt;/a>, thanks to YAO Ge.&lt;/li>
&lt;li>China: &lt;a href="https://mirror.nyist.edu.cn/kali/">mirror.nyist.edu.cn&lt;/a>, sponsored by the &lt;a href="https://www.nyist.edu.cn/">Nanyang Institute of Technology&lt;/a>, thanks to Palve.&lt;/li>
&lt;li>China: &lt;a href="https://mirrors.tuna.tsinghua.edu.cn/kali/">mirrors.tuna.tsinghua.edu.cn&lt;/a>, sponsored by the &lt;a href="https://www.tsinghua.edu.cn/en/">Tsinghua University&lt;/a>, thanks to Miao Wang.&lt;/li>
&lt;li>Japan: &lt;a href="https://mirror.tefexia.net/kali/">mirror.tefexia.net&lt;/a>, sponsored by &lt;a href="https://www.tefexia.net/">Tefexia&lt;/a>, thanks to Seungha Lee.&lt;/li>
&lt;li>South Korea: &lt;a href="https://mirror.jeonnam.school/kali/">mirror.jeonnam.school&lt;/a>, sponsored by &lt;a href="http://jeonnam.gen.hs.kr/">Jeonnam High School&lt;/a>, thanks to Wonchan Lee.&lt;/li>
&lt;li>South Korea: &lt;a href="https://mirror.zzunipark.com/kali/">mirror.zzunipark.com&lt;/a>, sponsored by &lt;a href="https://homelab.zzunipark.com/">zzuniMirror&lt;/a>, thanks to MinJun Park.&lt;/li>
&lt;/ul>
&lt;p>We also welcomed a pair of mirrors sponsored by &lt;a href="https://www.ionos.com/">IONOS&lt;/a>, thanks to William Fleurant:&lt;/p>
&lt;ul>
&lt;li>Germany: &lt;a href="https://eu.mirror.ionos.com/kali/">eu.mirror.ionos.com&lt;/a>&lt;/li>
&lt;li>United States: &lt;a href="https://us.mirror.ionos.com/kali/">us.mirror.ionos.com&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>If you have the disk space and bandwidth, &lt;a href="https://www.kali.org/docs/community/setting-up-a-kali-linux-mirror/">we always welcome new mirrors&lt;/a>.&lt;/p>
&lt;hr>
&lt;h2 id="get-kali-linux-20253">Get Kali Linux 2025.3&lt;/h2>
&lt;p>&lt;strong>Fresh Images&lt;/strong>:
So what are you waiting for? Go &lt;a href="https://www.kali.org/get-kali/">get Kali&lt;/a> already!&lt;/p>
&lt;p>Seasoned Kali Linux users are already aware of this, but for those who are not, we also produce &lt;strong>&lt;a href="https://cdimage.kali.org/kali-images/kali-weekly/">weekly builds&lt;/a>&lt;/strong> that you can use. If you cannot wait for our next release and you want the latest packages &lt;em>(or bug fixes)&lt;/em> when you download the image, you can just use the weekly image instead.
This way you will have fewer updates to do.
&lt;em>Just know that these are automated builds that we do, not QA like we do for our standard &lt;a href="https://www.kali.org/releases/">release images&lt;/a>&lt;/em>. But we gladly take &lt;a href="https://bugs.kali.org/">bug reports&lt;/a> about those images because we want any issues to be fixed before our next release!&lt;/p>
&lt;p>&lt;strong>Existing Installs&lt;/strong>:
If you already have an existing Kali Linux installation, remember you can always do a quick &lt;a href="https://www.kali.org/docs/general-use/updating-kali/">update&lt;/a>:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ echo &amp;quot;deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware&amp;quot; | sudo tee /etc/apt/sources.list
[...]
┌──(kali㉿kali)-[~]
└─$ sudo apt update &amp;amp;&amp;amp; sudo apt -y full-upgrade
[...]
┌──(kali㉿kali)-[~]
└─$ cp -vrbi /etc/skel/. ~/
[...]
┌──(kali㉿kali)-[~]
└─$ [ -f /var/run/reboot-required ] &amp;amp;&amp;amp; sudo reboot -f
&lt;/code>&lt;/pre>
&lt;p>You should now be on Kali Linux 2025.3. We can do a quick check by doing:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ grep VERSION /etc/os-release
VERSION=&amp;quot;2025.3&amp;quot;
VERSION_ID=&amp;quot;2025.3&amp;quot;
VERSION_CODENAME=&amp;quot;kali-rolling&amp;quot;
┌──(kali㉿kali)-[~]
└─$ uname -v
#1 SMP PREEMPT_DYNAMIC Kali 6.12.38-1kali1 (2025-08-12)
┌──(kali㉿kali)-[~]
└─$ uname -r
6.12.38+kali-amd64
&lt;/code>&lt;/pre>
&lt;p>&lt;em>NOTE: The output of &lt;code>uname -r&lt;/code> may be different depending on the system &lt;a href="https://pkg.kali.org/pkg/linux">architecture&lt;/a>.&lt;/em>&lt;/p>
&lt;hr>
&lt;p>As always, should you come across any bugs in Kali, please submit a report on our &lt;a href="https://bugs.kali.org/">bug tracker&lt;/a>. &lt;em>We will never be able to fix what we do not know is broken!&lt;/em> &lt;strong>And Social networks are not bug trackers!&lt;/strong>&lt;/p>
&lt;hr>
&lt;p>Want to keep up-to-date easier? We&amp;rsquo;ve got you!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/blog/">Blog&lt;/a>? Use our &lt;a href="https://www.kali.org/rss.xml">RSS feed&lt;/a> and &lt;a href="https://www.kali.org/newsletter/">newsletter&lt;/a> &lt;/li>
&lt;li>&lt;a href="https://www.kali.org/get-kali/">Download&lt;/a>? We have a &lt;a href="https://www.kali.org/torrents.xml">Torrent RSS feed&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/community/list-of-official-kali-sites/#social-media-networks">Socials&lt;/a>? &lt;a href="https://bsky.app/profile/kalilinux.bsky.social">Bluesky&lt;/a>, &lt;a href="https://www.facebook.com/KaliLinux/">Facebook&lt;/a>, &lt;a href="https://www.instagram.com/kalilinux/">Instagram&lt;/a>, &lt;a href="https://infosec.exchange/@kalilinux">Mastodon&lt;/a> &amp;amp; &lt;a href="https://x.com/kalilinux">X&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Kali Vagrant Rebuilt: Out With Packer, In With DebOS</title><link>https://www.kali.org/blog/kali-vagrant-rebuilt/</link><guid isPermaLink="true">https://www.kali.org/blog/kali-vagrant-rebuilt/</guid><pubDate>Thu, 21 Aug 2025 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/kali-vagrant-rebuilt/images/banner-kali-vagrant-refresh.jpg" type="image/jpg"/><description>&lt;p>Vagrant files, &lt;code>*.box&lt;/code>, are pre-configured Virtual Machines (VM) VM images, which when imported into HashiCorp&amp;rsquo;s Vagrant, allow for VMs to be interacted with via the command line.
You create, start, interact, stop, destroy VMs all without leaving the terminal. &lt;em>Think containers (Docker/Podman), but for VMs.&lt;/em>&lt;/p>
&lt;hr>
&lt;p>Previously we have been using &lt;a href="https://developer.hashicorp.com/packer">HashiCorp&amp;rsquo;s Packer&lt;/a> to generate our &lt;a href="https://developer.hashicorp.com/vagrant">HashiCorp&amp;rsquo;s Vagrant&lt;/a> images.&lt;/p>
&lt;p>Packer is a wrapper, around whatever hypervisor you wish, and it will automate installing the OS (unattended setup via &lt;a href="https://gitlab.com/kalilinux/recipes/kali-preseed-examples">preseeding&lt;/a>), run any commands or scripts, export the VM and finally compress it.&lt;/p>
&lt;p>The down-side to Packer is that you need to have the chosen hypervisor installed on the host OS, you can&amp;rsquo;t cross-build. If you use Linux, you can&amp;rsquo;t build Window&amp;rsquo;s Hyper-V.&lt;/p>
&lt;hr>
&lt;p>For &lt;a href="https://www.kali.org/blog/kali-vm-builder-weekly/">a few years now&lt;/a> , we have been using &lt;a href="https://github.com/go-debos/debos">DebOS&lt;/a>, to automate building &lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-vm">our VMs&lt;/a>. This has been working great for us.&lt;/p>
&lt;p>Recently we realized: &amp;ldquo;&lt;em>Why do we have two different systems, for the same purpose?&lt;/em>&amp;rdquo;.
A little bit of digging into &amp;ldquo;&lt;a href="https://developer.hashicorp.com/vagrant/docs/boxes/base">how to make a vagrant base box VM&lt;/a>&amp;rdquo; boils down to just a few requirements:&lt;/p>
&lt;ul>
&lt;li>Fix username &lt;em>(&lt;code>vagrant&lt;/code>)&lt;/em>&lt;/li>
&lt;li>Fix/Known pubic SSH keys &lt;em>(&lt;a href="https://github.com/hashicorp/vagrant/tree/main/keys">default/standard insecure keypairs&lt;/a>)&lt;/em>&lt;/li>
&lt;li>Able to perform superuser actions &lt;em>(&lt;code>sudo&lt;/code>)&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>Simple really, just need to make sure that Vagrant can easy access the VM!&lt;/p>
&lt;p>Optional items (and recommended), as it helps benefits user&amp;rsquo;s rather than Vagrant:&lt;/p>
&lt;ul>
&lt;li>Known/Fix credentials &lt;em>(&lt;code>vagrant&lt;/code> everywhere)&lt;/em>&lt;/li>
&lt;li>SSH tweaks &lt;em>(speed up for airgap networks)&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>All of this can be handled in a &lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-vm/-/blob/main/scripts/setup-vagrant.sh">post-install step&lt;/a>, which we have &lt;strong>put into our Kali-VM build-script&lt;/strong>.&lt;/p>
&lt;hr>
&lt;p>Now, we are building all of our VMs, automatically, in the same matter (Stock and Vagrant), all in the same infrastructure setup (Linux!).&lt;/p>
&lt;hr>
&lt;p>Since Microsoft Windows 10 1607 / Server 2016, when exporting VMs, there would be 3 additional &amp;ldquo;binary&amp;rdquo; files, &lt;code>*.vmcx/*.vmrs&lt;/code> included as well as an &lt;code>*.xml&lt;/code>. As we were no longer exporting the VM from Hyper-V, but generating it outside of, we do not have these files.&lt;/p>
&lt;p>Now, we could create a &amp;ldquo;&lt;em>template&lt;/em>&amp;rdquo; binary which would act as a dummy marker.&lt;/p>
&lt;p>But this didn&amp;rsquo;t sit right with us, we didn&amp;rsquo;t want to include items, especially binary files.&lt;/p>
&lt;hr>
&lt;p>Out of the box, Vagrant expected those binary files and failed without them. However a &lt;a href="https://github.com/hashicorp/vagrant/pull/13691">merge request&lt;/a> later to upstream, and support has been added. As a result, trying to use Kali 2025.2 or higher on Windows using Hyper-V, using vagrant older than &lt;code>v2.4.7&lt;/code> will NOT work. You need to use either an older Kali, different hypervisor, manually patch or to &lt;strong>upgrade Vagrant to be &lt;code>v2.4.8&lt;/code> &lt;em>(released 2025-08-05)&lt;/em>&lt;/strong> or higher.&lt;/p>
&lt;hr>
&lt;p>As Packer is no longer generating our Vagrant VMs, &lt;strong>we renamed the git repository&lt;/strong> (&lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-vagrant">gitlab.com/kalilinux/build-scripts/kali-vagrant&lt;/a> -&amp;gt; &lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-packer">gitlab.com/kalilinux/build-scripts/kali-packer&lt;/a>).&lt;/p>
&lt;p>Finally, before &lt;strong>sunsetting our Packer build-scripts, we did a refresh of these build-scripts&lt;/strong> one more time. &lt;em>We might not be using it, but that doesn&amp;rsquo;t mean you can&amp;rsquo;t.&lt;/em>&lt;/p>
&lt;hr>
&lt;h2 id="demo">Demo&lt;/h2>
&lt;p>After getting &lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-packer/-/blob/main/README.vagrant.md">Vagrant and VirtualBox installed&lt;/a>:&lt;/p>
&lt;pre>&lt;code class="language-shell">$ vagrant box add kalilinux/rolling
==&amp;gt; box: Loading metadata for box 'kalilinux/rolling'
box: URL: https://vagrantcloud.com/api/v2/vagrant/kalilinux/rolling
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.
1) hyperv
2) libvirt
3) virtualbox
4) vmware_desktop
Enter your choice: 3
==&amp;gt; box: Adding box 'kalilinux/rolling' (v2025.2.1) for provider: virtualbox (amd64)
box: Downloading: https://vagrantcloud.com/kalilinux/boxes/rolling/versions/2025.2.1/providers/virtualbox/amd64/vagrant.box
box: Calculating and comparing box checksum...
==&amp;gt; box: Successfully added box 'kalilinux/rolling' (v2025.2.1) for 'virtualbox (amd64)'!
$
$ vagrant box list
kalilinux/rolling (virtualbox, 2025.2.1, (amd64))
$
$ mkdir -pv vagrant-demo/; cd vagrant-demo/
mkdir: created directory 'vagrant-demo/'
$
$ vagrant init --force --minimal kalilinux/rolling
[...]
$
$ cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(&amp;quot;2&amp;quot;) do |config|
config.vm.box = &amp;quot;kalilinux/rolling&amp;quot;
end
$
$ vagrant up --provider virtualbox
Bringing machine 'default' up with 'virtualbox' provider...
==&amp;gt; default: Importing base box 'kalilinux/rolling'...
==&amp;gt; default: Generating MAC address for NAT networking...
==&amp;gt; default: Checking if box 'kalilinux/rolling' version '2025.2.1' is up to date...
==&amp;gt; default: Setting the name of the VM: vagrant-demo_default_1753960552589_87147
Vagrant is currently configured to create VirtualBox synced folders with
the `SharedFoldersEnableSymlinksCreate` option enabled. If the Vagrant
guest is not trusted, you may want to disable this option. For more
information on this option, please refer to the VirtualBox manual:
https://www.virtualbox.org/manual/ch04.html#sharedfolders
This option can be disabled globally with an environment variable:
VAGRANT_DISABLE_VBOXSYMLINKCREATE=1
or on a per folder basis within the Vagrantfile:
config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate: false
==&amp;gt; default: Clearing any previously set network interfaces...
==&amp;gt; default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==&amp;gt; default: Forwarding ports...
default: 22 (guest) =&amp;gt; 2222 (host) (adapter 1)
==&amp;gt; default: Running 'pre-boot' VM customizations...
==&amp;gt; default: Booting VM...
==&amp;gt; default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection reset. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Connection reset. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==&amp;gt; default: Machine booted and ready!
==&amp;gt; default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 7.0.20
default: VirtualBox Version: 7.1
==&amp;gt; default: Mounting shared folders...
default: /tmp/vagrant-demo =&amp;gt; /vagrant
$
$ vagrant ssh
Linux kali 6.12.25-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.12.25-1kali1 (2025-04-30) x86_64
The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
┌──(vagrant㉿kali)-[~]
└─$
&lt;/code>&lt;/pre>
&lt;h3 id="cheat-sheet">Cheat-Sheet&lt;/h3>
&lt;pre>&lt;code class="language-shell">vagrant box add kalilinux/rolling --force --clean --provider virtualbox --box-version 2025.2.1
mkdir -pv kali-vagrant/ &amp;amp;&amp;amp; cd $_
vagrant init kalilinux/rolling --force --minimal --output - --box-version 2025.2.1 | tee Vagrantfile
vagrant up --provider virtualbox
vagrant ssh
&lt;/code>&lt;/pre>
&lt;h2 id="more-reading">More Reading&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/docs/virtualization/install-vagrant-guest-vm/">Kali inside Vagrant (Guest VM)&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/virtualization/customizing-kali-vagrant/">Customizing a Kali Vagrant Vagrantfile&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-packer/-/blob/main/README.vagrant.md">kali-packer/README.vagrant.md&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-packer/-/blob/main/README.packer.md">kali-packer/README.packer.md&lt;/a>&lt;/li>
&lt;li>Build Script: &lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-packer">kali-packer&lt;/a>&lt;/li>
&lt;li>Build Script: &lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-vm">kali-vm&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Kali Linux &amp; Containerization (Apple's Container)</title><link>https://www.kali.org/blog/kali-apple-container-containerization/</link><guid isPermaLink="true">https://www.kali.org/blog/kali-apple-container-containerization/</guid><pubDate>Tue, 29 Jul 2025 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/kali-apple-container-containerization/images/banner-kali-apple-containerization.jpg" type="image/jpg"/><description>&lt;p>If you&amp;rsquo;re an Apple user, you may have heard of Apple&amp;rsquo;s upcoming feature &lt;code>Containerization&lt;/code> during &lt;a href="https://www.youtube.com/watch?v=JvQtvbhtXmo">WWDC 2025&lt;/a>.
Quick summary:&lt;/p>
&lt;ul>
&lt;li>&lt;code>Container&lt;/code> is a CLI tool, which works with &lt;a href="https://github.com/apple/containerization">Containerization&lt;/a>. This is &lt;a href="https://github.com/apple/container">what end-users interact with&lt;/a>.&lt;/li>
&lt;li>&lt;code>Containerization&lt;/code> handles creating the containers, that talks to &lt;code>Virtualization.framework&lt;/code>.&lt;/li>
&lt;li>&lt;code>Virtualization.framework&lt;/code> is the hypervisor API (high level), and creates a new VM per container via &lt;code>Hypervisor.framework&lt;/code>.&lt;/li>
&lt;li>&lt;code>Hypervisor.framework&lt;/code> is the low level hypervisor API, which uses the macOS kernel &lt;em>(the hypervisor)&lt;/em>.&lt;/li>
&lt;/ul>
&lt;p>It is similar to Microsoft&amp;rsquo;s &lt;a href="https://www.kali.org/docs/wsl/">Windows Subsystem for Linux 2 (WSL)&lt;/a>, where a very small lightweight virtual machine (VM) is launched in the background, so a Linux kernel can be used on a non Linux host &lt;em>(WSL2 uses Hyper-V)&lt;/em>. &lt;em>Not to be confused with WSL1, which was more like WINE!&lt;/em>&lt;/p>
&lt;p>Its set to be publicly released for the next major OS release, macOS &amp;ldquo;Tahoe&amp;rdquo; 26, and also for macOS &amp;ldquo;Sequoia&amp;rdquo; 15 .&lt;/p>
&lt;p>&lt;code>Containerization&lt;/code> supports containers which are &lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-docker">&amp;ldquo;Open Container Initiative (OCI) compliant&amp;rdquo;, luckily our Kali image are&lt;/a>!&lt;/p>
&lt;h2 id="setup">Setup&lt;/h2>
&lt;p>If the first thing we see when trying to run &lt;code>container&lt;/code> is:&lt;/p>
&lt;pre>&lt;code class="language-console">~ % container
zsh: command not found: container
~ %
&lt;/code>&lt;/pre>
&lt;p>&amp;hellip;We need to install it.&lt;/p>
&lt;hr>
&lt;p>Doing a quick check to make sure our system is supported:&lt;/p>
&lt;pre>&lt;code class="language-console">~ % sw_vers -productVersion
15.5
~ %
~ % uname -m
arm64
~ %
&lt;/code>&lt;/pre>
&lt;p>We are using macOS 15.5, on an Apple Silicon series device (aka arm64).&lt;/p>
&lt;p>We are good to go!&lt;/p>
&lt;hr>
&lt;p>If &lt;a href="https://brew.sh/">Homebrew&lt;/a> is installed:&lt;/p>
&lt;pre>&lt;code class="language-console">~ % brew install --cask container
==&amp;gt; Downloading https://github.com/apple/container/releases/download/0.2.0/container-0.2.0-installer-signed.pkg
==&amp;gt; Downloading from https://release-assets.githubusercontent.com/github-production-release-asset/993475914/c5fb6a42-f282-4dd7-95c2-af9b142f0ed1?sp=r&amp;amp;sv=2018-11-09&amp;amp;sr=b&amp;amp;spr=https&amp;amp;se=2025-07-17T14%3A06%3A32Z&amp;amp;r
######################################################################################################################################################################################################### 100.0%
==&amp;gt; Installing Cask container
==&amp;gt; Running installer for container with sudo; the password may be necessary.
Password:
installer: Package name is container-0.2.0-installer-signed
installer: Upgrading at base path /
installer: The upgrade was successful.
🍺 container was successfully installed!
~ %
&lt;/code>&lt;/pre>
&lt;p>Otherwise, we can manually grab the (signed) setup file from &lt;a href="https://github.com/apple/container/releases/latest">github.com/apple/container&lt;/a>. &lt;em>At the time of writing its &lt;code>container-0.2.0-installer-signed.pkg&lt;/code>.&lt;/em>&lt;/p>
&lt;hr>
&lt;p>Now when we try and run it:&lt;/p>
&lt;pre>&lt;code class="language-console">~ % container
OVERVIEW: A container platform for macOS
USAGE: container [--debug] &amp;lt;subcommand&amp;gt;
OPTIONS:
--debug Enable debug output [environment: CONTAINER_DEBUG]
--version Show the version.
-h, --help Show help information.
CONTAINER SUBCOMMANDS:
create Create a new container
delete, rm Delete one or more containers
exec Run a new command in a running container
inspect Display information about one or more containers
kill Kill one or more running containers
list, ls List containers
logs Fetch container stdio or boot logs
run Run a container
start Start a container
stop Stop one or more running containers
IMAGE SUBCOMMANDS:
build Build an image from a Dockerfile
images, image, i Manage images
registry, r Manage registry configurations
OTHER SUBCOMMANDS:
builder Manage an image builder instance
system, s Manage system components
~ %
&lt;/code>&lt;/pre>
&lt;p>&amp;hellip;but we are not fully yet there!&lt;/p>
&lt;hr>
&lt;p>When we use &lt;code>container&lt;/code> to try and interact with &lt;code>Containerization&lt;/code>, we may get:&lt;/p>
&lt;pre>&lt;code class="language-console">~ % container ls
Error: interrupted: &amp;quot;internalError: &amp;quot;failed to list containers&amp;quot; (cause: &amp;quot;interrupted: &amp;quot;XPC connection error: Connection invalid&amp;quot;&amp;quot;)
Ensure container system service has been started with `container system start`.&amp;quot;
~ %
&lt;/code>&lt;/pre>
&lt;p>We can address this by starting up the service in the background:&lt;/p>
&lt;pre>&lt;code class="language-console">~ % container system start
Verifying apiserver is running...
Installing base container filesystem...
No default kernel configured.
Install the recommended default kernel from [https://github.com/kata-containers/kata-containers/releases/download/3.17.0/kata-static-3.17.0-arm64.tar.xz]? [Y/n]: y
Installing kernel...
~ %
&lt;/code>&lt;/pre>
&lt;p>Now we are off to the races!&lt;/p>
&lt;h2 id="running-containers">Running Containers&lt;/h2>
&lt;p>Like &lt;a href="https://www.kali.org/docs/containers/using-kali-docker-images/">Docker&lt;/a>, and &lt;a href="https://www.kali.org/docs/containers/using-kali-podman-images/">Podman&lt;/a>, we can run our containers as we would expect:&lt;/p>
&lt;pre>&lt;code class="language-console">~ % container run --rm -i -t kalilinux/kali-rolling
┌──(root㉿9ff4685f-76e1-42fa-86ba-f12e76c79843)-[/]
└─# id
uid=0(root) gid=0(root) groups=0(root)
&lt;/code>&lt;/pre>
&lt;p>The first time running, &lt;code>container&lt;/code> will need to pull down the container image.
The default container registry is currently &lt;a href="https://hub.docker.com/u/kalilinux/">DockerHub (which Kali is on)&lt;/a>.&lt;/p>
&lt;hr>
&lt;p>We are able to-do the same features as Docker/Podman as you would expect, such as sharing a directory :&lt;/p>
&lt;pre>&lt;code class="language-console">~ % container run --remove --interactive --tty --volume $(pwd):/mnt --workdir /mnt docker.io/kalilinux/kali-rolling:latest
┌──(root㉿4be77ff5-bd57-4076-8bf0-8e51caff047e)-[/mnt]
└─# uname -a
Linux 4be77ff5-bd57-4076-8bf0-8e51caff047e 6.12.28 #1 SMP Tue May 20 15:19:05 UTC 2025 aarch64 GNU/Linux
&lt;/code>&lt;/pre>
&lt;h3 id="alias">Alias&lt;/h3>
&lt;p>Once everything is working as expected, we can create a quick alias to avoid retyping the full command each time:&lt;/p>
&lt;pre>&lt;code class="language-console">~ % alias container-shell='container run --remove --interactive --tty --entrypoint=/bin/bash --volume $(pwd):/mnt --name &amp;quot;$(hostname -s)-$(mktemp -u XXXXXX)&amp;quot; --workdir /mnt'
~ %
~ % echo &amp;quot;alias container-shell='container run --remove --interactive --tty --entrypoint=/bin/bash --volume $(pwd):/mnt --name &amp;quot;$(hostname -s)-$(mktemp -u XXXXXX)&amp;quot; --workdir /mnt'&amp;quot; &amp;gt;&amp;gt; ~/.zshrc
~ %
~ % container-shell kalilinux/kali-rolling:latest
┌──(root㉿mba22-vB9af6)-[/mnt]
└─#
&lt;/code>&lt;/pre>
&lt;h2 id="troubleshooting">Troubleshooting&lt;/h2>
&lt;p>Currently there are a &lt;a href="https://github.com/apple/container/blob/main/docs/technical-overview.md#macos-15-limitations">few known limitations of Containerization, especially using macOS &amp;ldquo;Sequoia&amp;rdquo; 15&lt;/a>, such as &lt;a href="https://github.com/apple/container/blob/main/docs/technical-overview.md#container-ip-addresses">container&amp;rsquo;s network access not getting an IP address or no network access&lt;/a>. We recommend reading and following Apple&amp;rsquo;s advice if you run into these issues. &lt;/p>
&lt;hr>
&lt;p>And just like that, we have a quick way to run Kali containers on macOS. This is part of our ongoing commitment of &amp;ldquo;&lt;a href="https://www.kali.org/blog/kali-everywhere/">Kali Everywhere&lt;/a>&amp;rdquo;, where we put the &lt;a href="https://www.kali.org/tools/">tools&lt;/a> you need in as many places as possible and easy for you to make use of. There are many different ways to run Kali, be sure to check out our &lt;a href="https://www.kali.org/get-kali/">get Kali&lt;/a> page to find the one that best fits your needs.&lt;/p></description></item><item><title>The Raspberry Pi's Wi-Fi Glow-Up</title><link>https://www.kali.org/blog/raspberry-pi-wi-fi-glow-up/</link><guid isPermaLink="true">https://www.kali.org/blog/raspberry-pi-wi-fi-glow-up/</guid><pubDate>Tue, 22 Jul 2025 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/raspberry-pi-wi-fi-glow-up/images/banner-raspberry-pi-wi-fi-glow-up.jpg" type="image/jpg"/><description>&lt;p>&lt;em>Thanks to Nexmon and fresh Kali packages, on-board wireless is ready for monitor mode and injection (again!).&lt;/em>&lt;/p>
&lt;p>&lt;a href="https://www.kali.org/get-kali/#kali-arm">Kali Linux users on Raspberry Pi&lt;/a> now have an improved and more integrated way to use the on-board Wi-Fi interface for wireless assessments. While the Nexmon project has long made this technically possible, our support in Kali has recently been refined.&lt;/p>
&lt;p>In &lt;a href="https://www.kali.org/blog/kali-linux-2025-1-release/">Kali 2025.1&lt;/a>, with the move to a newer Raspberry Pi kernel and a chance to revisit our packaging, we have cleaned up and formalized support for Nexmon through new packages. This not only improves the setup experience and adds support for more devices, including the Raspberry Pi 5, but also makes it easier to enable other hardware supported by Nexmon within Kali.&lt;/p>
&lt;h2 id="where-we-started">Where We Started&lt;/h2>
&lt;p>The Raspberry Pi has always been a compelling platform for portable Kali setups. But when it came to wireless assessments, things were less ideal. Raspberry Pi models use Broadcom/Cypress Wi-Fi chipsets, which don&amp;rsquo;t support monitor mode or injection by default. That left users needing an external USB adapter.&lt;/p>
&lt;p>The &lt;a href="https://github.com/seemoo-lab/nexmon">Nexmon&lt;/a> project, created by &lt;a href="https://www.seemoo.tu-darmstadt.de/">SEEMOO Lab at TU Darmstadt&lt;/a>, changed that by offering a firmware patching framework that extends Broadcom&amp;rsquo;s closed firmware with additional capabilities — notably, monitor mode and injection. Nexmon works by modifying the firmware binaries themselves and providing patches for the Linux driver (&lt;code>brcmfmac&lt;/code>) to support the required modes.&lt;/p>
&lt;p>Kali&amp;rsquo;s integration of Nexmon has come a long way, though it hasn&amp;rsquo;t always been smooth. We were on the 5.15 kernel series for quite some time, in part due to how we were packaging the kernel and managing patchsets. This made it difficult to support newer devices like the Raspberry Pi 5, which requires a more recent kernel. When we attempted to move to 6.6, we encountered stability issues. These were not caused by Nexmon itself, but by changes in the kernel and how they interacted with our setup. Rather than ship something unreliable, we decided to pause development until we could revisit the approach.&lt;/p>
&lt;h2 id="whats-new">What&amp;rsquo;s New&lt;/h2>
&lt;p>With the switch to the 6.12 kernel, we&amp;rsquo;ve taken the time to rebuild things properly. We&amp;rsquo;ve released two new packages:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://pkg.kali.org/pkg/brcmfmac-nexmon-dkms">&lt;code>brcmfmac-nexmon-dkms&lt;/code>&lt;/a>: A DKMS-based version of the &lt;code>brcmfmac&lt;/code> driver with Nexmon patches&lt;/li>
&lt;li>&lt;a href="https://pkg.kali.org/pkg/firmware-nexmon">&lt;code>firmware-nexmon&lt;/code>&lt;/a>: Nexmon-patched firmware for supported Broadcom chips&lt;/li>
&lt;/ul>
&lt;p>These packages make it possible to use the on-board Wi-Fi interface on &lt;strong>supported Raspberry Pi boards for monitor mode and frame injection, no USB adapter required&lt;/strong>!&lt;/p>
&lt;p>The DKMS driver rebuilds against your kernel on installation, which should help keep things working across updates.&lt;/p>
&lt;h2 id="supported-devices">Supported Devices&lt;/h2>
&lt;p>We&amp;rsquo;ve tested the new Nexmon-enabled packages on:&lt;/p>
&lt;ul>
&lt;li>Raspberry Pi 5 (64-bit)&lt;/li>
&lt;li>Raspberry Pi 4 (64-bit and 32-bit)&lt;/li>
&lt;li>Raspberry Pi 3B (64-bit and 32-bit)&lt;/li>
&lt;li>Raspberry Pi Zero 2 W (43436s variant)&lt;/li>
&lt;li>Raspberry Pi Zero W&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>If your board has a compatible Broadcom Wi-Fi chipset, it may work as well. &lt;em>If it does, let us know!&lt;/em>&lt;/strong>&lt;/p>
&lt;h2 id="installing-the-packages">Installing the Packages&lt;/h2>
&lt;p>On a Raspberry Pi Kali image:&lt;/p>
&lt;pre>&lt;code class="language-console">$ sudo apt update
$ sudo apt full-upgrade -y
$ sudo apt install -y brcmfmac-nexmon-dkms firmware-nexmon
$ sudo reboot
&lt;/code>&lt;/pre>
&lt;hr>
&lt;p>Once the device is back up, you can check that the Nexmon-patched driver is in use with:&lt;/p>
&lt;pre>&lt;code class="language-console">$ modinfo brcmfmac | grep filename
&lt;/code>&lt;/pre>
&lt;h2 id="using-monitor-mode">Using Monitor Mode&lt;/h2>
&lt;pre>&lt;code class="language-console">$ airmon-ng start wlan0
&lt;/code>&lt;/pre>
&lt;hr>
&lt;p>In the command output you may see a message similar to:&lt;/p>
&lt;pre>&lt;code class="language-console">command failed: Unknown error 524 (-524)
&lt;/code>&lt;/pre>
&lt;p>This is expected. Despite the message, monitor mode usually works. Confirm with:&lt;/p>
&lt;pre>&lt;code class="language-console">$ iw dev
&lt;/code>&lt;/pre>
&lt;p>You should see an interface like &lt;code>wlan0mon&lt;/code> in monitor mode.&lt;/p>
&lt;h2 id="verifying-injection">Verifying Injection&lt;/h2>
&lt;p>Test injection with:&lt;/p>
&lt;pre>&lt;code class="language-console">$ sudo aireplay-ng --test wlan0mon
&lt;/code>&lt;/pre>
&lt;p>You should see the &lt;code>Injection is working!&lt;/code> message. This is not always stable however, and depends on device.&lt;/p>
&lt;h2 id="tips-and-troubleshooting">Tips and Troubleshooting&lt;/h2>
&lt;ul>
&lt;li>Disable power management: &lt;code>sudo iwconfig wlan0 power off&lt;/code>&lt;/li>
&lt;li>Stop NetworkManager if needed: &lt;code>sudo systemctl stop NetworkManager&lt;/code>&lt;/li>
&lt;li>Confirm firmware loads: &lt;code>dmesg | grep brcmfmac&lt;/code>&lt;/li>
&lt;li>If you need to rebuild the driver, re-run: &lt;code>sudo dpkg-reconfigure brcmfmac-nexmon-dkms&lt;/code>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>If upgrading on the Raspberry Pi 3B (64-bit), Wi-Fi may stop working due to the &lt;code>clm_blob&lt;/code>. You can verify if this is the issue by running:&lt;/p>
&lt;pre>&lt;code class="language-console">$ dmesg | grep clm_blob
&lt;/code>&lt;/pre>
&lt;p>If you see it failing to load the &lt;code>clm_blob&lt;/code>, run &lt;code>sudo rm -v /lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.clm_blob&lt;/code> and then reboot.&lt;/p>
&lt;h2 id="special-thanks">Special Thanks&lt;/h2>
&lt;p>We want to give a couple of shout outs to our friends in the community who helped make this possible:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/geneerik">@GeneErik&lt;/a> for discussing the pain points of working with Nexmon at a distro level, and he said it would be great if we could use DKMS with the driver. Additionally, many long nights of discussions and troubleshooting.&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/nursejackass">@NurseJackass&lt;/a> contributed the initial support for supporting the 6.12 kernel.&lt;/li>
&lt;li>&lt;a href="https://www.raspberrypi.com/">The Raspberry Pi Foundation&lt;/a> for hardware donations, permissions, and assistance as needed.&lt;/li>
&lt;/ul>
&lt;h2 id="reporting-and-feedback">Reporting and Feedback&lt;/h2>
&lt;p>If:&lt;/p>
&lt;ul>
&lt;li>It works on your board (especially if unlisted), let us know!&lt;/li>
&lt;li>It doesn&amp;rsquo;t work, &lt;a href="https://bugs.kali.org/bug_report_page.php">report&lt;/a> the issue with logs and hardware details!&lt;/li>
&lt;li>You get it working on an unsupported board, share how!&lt;/li>
&lt;/ul>
&lt;p>Report in the &lt;a href="https://forums.kali.org/">Kali Linux forums&lt;/a> or the &lt;a href="https://discord.kali.org/">Kali Linux Discord server&lt;/a> the &lt;code>#kali-arm&lt;/code> channel is the best place for these discussions.&lt;/p>
&lt;h2 id="looking-ahead">Looking Ahead&lt;/h2>
&lt;p>This is one of several improvements we&amp;rsquo;re making across Kali ARM. Nexmon support gives Raspberry Pi users more freedom and portability when doing wireless assessments, especially when minimal hardware is key.&lt;/p>
&lt;p>Thanks to the Nexmon team for their research and patches, and to the Kali community for helping us test and refine these packages.&lt;/p>
&lt;p>We look forward to hearing how this works for you.&lt;/p></description></item><item><title>Kali Linux 2025.2 Release (Kali Menu Refresh, BloodHound CE &amp; CARsenal)</title><link>https://www.kali.org/blog/kali-linux-2025-2-release/</link><guid isPermaLink="true">https://www.kali.org/blog/kali-linux-2025-2-release/</guid><pubDate>Fri, 13 Jun 2025 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/kali-linux-2025-2-release/images/banner-2025.2-release.jpg" type="image/jpg"/><description>&lt;p>We&amp;rsquo;re almost half way through 2025 already, and we&amp;rsquo;ve got a lot to share with you in this release, &lt;strong>Kali 2025.2&lt;/strong>.&lt;/p>
&lt;p>The summary of the &lt;a href="https://bugs.kali.org/changelog_page.php">changelog&lt;/a> since the &lt;a href="https://www.kali.org/blog/kali-linux-2025-1-release/">2025.1 release from March&lt;/a> is:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-2-release/#desktop-updates">Desktop Updates&lt;/a>&lt;/strong> - Kali-Menu refresh, GNOME 48 &amp;amp; KDE 6.3 updates&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-2-release/#bloodhound-community-edition">BloodHound Community Edition&lt;/a>&lt;/strong> - Major upgrade with full set of ingestors&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-2-release/#smartwatch-wi-fi-injection">Kali NetHunter Smartwatch Wi-Fi Injection&lt;/a>&lt;/strong> - TicWatch Pro 3 now able to de-authenticate and capture WPA2 handshakes&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-2-release/#carsenal">Kali NetHunter CARsenal&lt;/a>&lt;/strong> - Car hacking tool set!&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://www.kali.org/blog/kali-linux-2025-2-release/#new-tools-in-kali">New Tools&lt;/a>&lt;/strong> - 13 new shinny tools added &lt;em>(and various updates)&lt;/em>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="desktop-updates">Desktop Updates&lt;/h2>
&lt;h3 id="kali-menu-refresh">Kali Menu Refresh&lt;/h3>
&lt;p>We&amp;rsquo;ve &lt;strong>completely reworked the Kali Menu&lt;/strong>! It&amp;rsquo;s now reorganized to follow the &lt;strong>&lt;a href="https://attack.mitre.org/">MITRE ATT&amp;amp;CK framework&lt;/a> structure&lt;/strong> – which means that finding the right tool for your task should now be a lot more intuitive for red and blue teams alike.&lt;/p>
&lt;p>Previously the Kali menu structure followed what was in BackTrack&amp;hellip; which followed WHAX before it. The previous structure was an in-house item, &lt;a href="https://attack.mitre.org/resources/faq/">before MITRE was a thing&lt;/a>.
When our menu was first created, there wasn&amp;rsquo;t as much design planning done, which we suffered for later. It meant that over time, scaling and adding new tools became difficult for us.
The knock on effect was that this made it harder for you, the end-users, to discover new tools as similar tools with overlapping functions were in different places or missing entries.
&lt;em>Yes, seasoned professionals may not use the menu to start up items, using shortcuts such as &lt;code>super key&lt;/code> and typing the tool name , or via a terminal window. We see the menu as a way to discover tools&lt;/em>.&lt;/p>
&lt;p>The final nail in the coffin in the setup was the fact that it was manually managed. Yes, all those entries were previously created by-hand (which also may explain a few things).
As a result, we had stopped adding new tools to the menu&amp;hellip; until now.&lt;/p>
&lt;p>Now, we have created a new system and automated many aspects, making it easier for us to manage, and easier for you to discover items. Win win.
Over time, we hope to start to add this to &lt;a href="https://www.kali.org/tools/">kali.org/tools/&lt;/a>.&lt;/p>
&lt;p>Currently Kali Purple still follows &lt;a href="https://www.nist.gov/cyberframework">NIST CSF&lt;/a> (National Institute of Standards and Technology Critical Infrastructure Cybersecurity), rather than &lt;a href="https://d3fend.mitre.org/">MITRE D3FEND&lt;/a>.&lt;/p>
&lt;p>This is a big change, and we want your feedback! Think something should be renamed, moved, or see a tool that&amp;rsquo;s missing? Help us improve the menu by editing the structure directly — it&amp;rsquo;s all open and managed through a &lt;strong>&lt;a href="https://gitlab.com/kalilinux/packages/kali-menu/-/blob/kali/master/categories.yaml">simple YAML file&lt;/a>&lt;/strong>.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-2-release/images/kali-menu.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-2-release/images/kali-menu.png" alt="Kali Menu Refresh in Xfce" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;h3 id="gnome-48">GNOME 48&lt;/h3>
&lt;p>GNOME has been bumped up to version 48, and brings with it:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Notification Stacking&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Performance Improvements&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Dynamic triple buffering&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Enhanced Image Viewer&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Digital Wellbeing&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Preserve Battery Health&lt;/strong>&lt;/li>
&lt;li>&lt;strong>HDR (High Dynamic Range) Support&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Updated Text Editor&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-2-release/images/gnome-48.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-2-release/images/gnome-48.png" alt="Kali GNOME 48" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>As with previous GNOME updates in Kali, we&amp;rsquo;ve given all our themes a fresh coat of paint – everything&amp;rsquo;s been tuned to look sharp and feel smooth. The document reader evince has been replaced with the new papers app. If you&amp;rsquo;re rocking Kali with GNOME, this update is definitely worth the reboot. Want the full scoop? Check out the &lt;a href="https://release.gnome.org/48/">official GNOME 48 release notes&lt;/a>.&lt;/p>
&lt;h4 id="new-gnome-vpn-ip-extension">New GNOME VPN IP Extension&lt;/h4>
&lt;p>Just like we did for Xfce back in &lt;a href="https://www.kali.org/blog/kali-linux-2024-1-release/#xfce">Kali 2024.1&lt;/a>, we&amp;rsquo;ve now brought the VPN IP indicator to GNOME too!&lt;/p>
&lt;p>It shows the IP address of your current VPN connection right in the panel — and with a simple click, it copies it straight to your clipboard. Handy, right?&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-2-release/images/gnome-vpn-extension.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-2-release/images/gnome-vpn-extension.png" alt="Kali GNOME VPN IP" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>Huge thanks to &lt;a href="https://github.com/sarthakpriyadarshi/">@Sarthak Priyadarshi&lt;/a> who not only came up with the idea, but also provided all of the coding to make it happen. Community contributions like this make Kali better for everyone!&lt;/p>
&lt;h3 id="kde-plasma-63">KDE Plasma 6.3&lt;/h3>
&lt;p>KDE Plasma fans, rejoice – we&amp;rsquo;ve included Plasma 6.3, and it&amp;rsquo;s packed with polish:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Huge overhaul of fractional scaling&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Accurate screen colors when using the Night Light&lt;/strong>&lt;/li>
&lt;li>&lt;strong>More accurate CPU usage in system sonitor&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Info Center provides more information&lt;/strong>, like GPUs data or batteries&amp;rsquo; cycle counts&lt;/li>
&lt;li>&lt;strong>More customization features&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-2-release/images/plasma-6.3.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-2-release/images/plasma-6.3.png" alt="Kali KDE Plasma 6.3" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>Whether you&amp;rsquo;re into tiling window madness or prefer a traditional desktop setup, Plasma 6.3 brings both flexibility and style. You can read more about all the new changes for Plasma desktop in their &lt;a href="https://kde.org/announcements/plasma/6/6.3.0/">official release post&lt;/a>.&lt;/p>
&lt;h3 id="new-community-wallpapers">New Community Wallpapers&lt;/h3>
&lt;p>There are also new changes in the &lt;a href="https://www.kali.org/wallpapers/community/">Community Wallpapers&lt;/a> package (&lt;a href="https://pkg.kali.org/pkg/kali-community-wallpapers">pkg&lt;/a>), including 2 new backgrounds provided by &lt;a href="https://x.com/Onix32032044">@Onix32032044&lt;/a> and 1 background provided by &lt;a href="https://gitlab.com/Arszilla">@Arszilla&lt;/a>.&lt;/p>
&lt;p>To access these wallpapers, simply install the &lt;code>kali-community-wallpapers&lt;/code> package, which also offers many other stunning backgrounds created by our community contributors.&lt;/p>
&lt;p>&lt;a href="https://www.kali.org/wallpapers/community/">&lt;img src="https://www.kali.org/blog/kali-linux-2025-2-release/images/community-wallpapers.png">&lt;/a>&lt;/p>
&lt;h2 id="bloodhound-community-edition">BloodHound Community Edition&lt;/h2>
&lt;p>If you&amp;rsquo;re doing Active Directory recon, this upgrade is a game changer. BloodHound just got a major upgrade – we&amp;rsquo;ve &lt;strong>bumped it up to the latest version: BloodHound Community Edition (CE)&lt;/strong>. With this update, we&amp;rsquo;re also shipping the full set of ingestors to support it:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/tools/azurehound/">azurehound&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/bloodhound-ce-python/">bloodhound-ce-python&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/sharphound/">sharphound&lt;/a>&lt;/li>
&lt;/ul>
&lt;div class="notices info">
&lt;p data-header="Info">
Heads up: &lt;strong>&lt;code>bloodhound-ce-python&lt;/code>&lt;/strong> is the ingestor made specifically &lt;strong>for BloodHound CE&lt;/strong>.&lt;br />
Don&amp;rsquo;t mix it up with the &lt;strong>old &lt;code>bloodhound-python&lt;/code>&lt;/strong>, which only work with the &lt;strong>legacy version&lt;/strong>.
&lt;/p>
&lt;/div>
&lt;p>So what&amp;rsquo;s new in BloodHound CE? Expect a smoother interface, better performance, and new capabilities for mapping complex Active Directory environments.&lt;/p>
&lt;p>You can check our guide about &lt;strong>how to configure a new installation of Bloodhound-CE in Kali &lt;a href="https://www.kali.org/tools/bloodhound/">here&lt;/a>&lt;/strong>.&lt;/p>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-2-release/images/bloodhound.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-2-release/images/bloodhound.png" alt="Bloodhound CE" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;h2 id="new-tools-in-kali">New Tools in Kali&lt;/h2>
&lt;p>It would not be a Kali release if there were not any new tools added! A quick run down of what has been added &lt;em>(to the network repositories)&lt;/em>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/tools/azurehound/">azurehound&lt;/a> - BloodHound data collector for Microsoft Azure&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/binwalk3/">binwalk3&lt;/a> - Firmware Analysis Tool&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/bloodhound-ce-python/">bloodhound-ce-python&lt;/a> - Python based ingestor for BloodHound CE&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/bopscrk/">bopscrk&lt;/a> - Generate smart and powerful wordlists&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/chisel-common-binaries/">chisel-common-binaries&lt;/a> - Prebuilt binaries for chisel&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/crlfuzz/">crlfuzz&lt;/a> - Fast tool to scan CRLF vulnerability written in Go (Submitted by &lt;a href="https://gitlab.com/Arszilla">@Arszilla&lt;/a>)&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/donut-shellcode/">donut-shellcode&lt;/a> - Generates position-independent shellcode from memory and runs them&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/gitxray/">gitxray&lt;/a> - Scan GitHub repositories and contributors to collect data (Submitted by &lt;a href="https://gitlab.com/weirdlantern/">@weirdlantern&lt;/a>)&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/ldeep/">ldeep&lt;/a> - In-depth LDAP enumeration utility&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/ligolo-ng-common-binaries/">ligolo-ng-common-binaries&lt;/a> - Prebuilt binaries for Advanced ligolo-ng&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/rubeus/">rubeus&lt;/a> - Raw Kerberos interaction and abuses&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/sharphound/">sharphound&lt;/a> - BloodHound CE collector&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/tools/tinja/">tinja&lt;/a> - CLI tool for testing web pages for template injection&lt;/li>
&lt;/ul>
&lt;p>&lt;em>There has also been numerous new libraries as well as packages updates as well, such as &lt;code>PowerShell&lt;/code> and &lt;a href="https://pkg.kali.org/pkg/code-oss">code-oss&lt;/a>.&lt;/em>&lt;/p>
&lt;h3 id="xclip-pre-installed">Xclip pre-installed&lt;/h3>
&lt;p>We&amp;rsquo;ve added &lt;a href="https://www.kali.org/tools/xclip/">xclip&lt;/a> by default across all desktop environments in Kali.&lt;/p>
&lt;p>Why? Because being able to &lt;strong>quickly send output to the clipboard from the terminal&lt;/strong> is incredibly useful — especially during reporting, note-taking, or sharing on-the-fly.&lt;/p>
&lt;p>Here are a few quick examples:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~/Downloads]
└─$ ip a | grep inet | xclip -selection clipboard
&lt;/code>&lt;/pre>
&lt;p>Boom — now your IP info is in your clipboard, ready to paste.&lt;/p>
&lt;p>Or maybe you&amp;rsquo;ve just cracked a hash and want to copy the flag:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~/Downloads]
└─$ grep FLAG crackme.txt | xclip -sel c
# Or pass it to the next command
┌──(kali㉿kali)-[~/Downloads]
└─$ xclip -o -sel c | grep FLAG
&lt;/code>&lt;/pre>
&lt;p>No more mouse highlighting or right-click gymnastics. Just pipe it to xclip and paste wherever you need. Small tool, big quality-of-life boost.&lt;/p>
&lt;h2 id="kali-nethunter-updates">Kali NetHunter Updates&lt;/h2>
&lt;h3 id="smartwatch-wi-fi-injection">Smartwatch Wi-Fi Injection&lt;/h3>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-2-release/images/nethunter-watch.jpg' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-2-release/images/nethunter-watch.jpg" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>After 3 years, we are proud to introduce the &lt;strong>first actual smartwatch that finally has wireless injection support&lt;/strong>! Thanks to the exceptional collaboration by &lt;a href="https://gitlab.com/yesimxev">@yesimxev&lt;/a> and &lt;a href="https://github.com/jlinktu">@Jakob Link&lt;/a> from &lt;a href="https://github.com/seemoo-lab/nexmon">NexMon&lt;/a> team. Countless emails, lost brain cells, but it was worth it. Now Kali NetHunter on the TicWatch Pro 3 &lt;em>(all variants with bcm43436b0 chipset)&lt;/em> supports wireless injection, de-authentication, and able to capture WPA2 handshakes! Check out the &lt;a href="https://forums.kali.org/t/hijacker-on-ticwatch-pro-3-with-wireless-injection/6242">install guide&lt;/a>.&lt;/p>
&lt;hr>
&lt;h3 id="carsenal">CARsenal&lt;/h3>
&lt;p>&lt;strong>CAN Arsenal come with a new version&lt;/strong> by &lt;a href="https://gitlab.com/V0lk3n">@V0lk3n&lt;/a>. It is now renamed as CARsenal, to better match the goal which is to provide a car hacking tool set.&lt;/p>
&lt;p>Code got a lot of rewrite, and provide a more friendly UI.&lt;/p>
&lt;p>Also it come with new tools such as:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>hlcand&lt;/strong>: Modified slcand for ELM327 use&lt;/li>
&lt;li>&lt;strong>VIN Info&lt;/strong>: Decode your VIN identifier&lt;/li>
&lt;li>&lt;strong>CaringCaribou&lt;/strong>: Actually provide Listener, Dump, Fuzzer, Send, UDS and XCP modules&lt;/li>
&lt;li>&lt;strong>ICSim&lt;/strong>: Provide a great simulator to play with VCAN and test CARsenal toolset without hardware needed&lt;/li>
&lt;/ul>
&lt;p>Actual kernel with CAN support enabled:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Samsung Galaxy S9&lt;/strong> (A13/exynos9810)&lt;/li>
&lt;li>&lt;strong>Samsung Galaxy S10&lt;/strong> (A14 &amp;amp; A15/exynos9820)&lt;/li>
&lt;li>(NEW!) &lt;strong>Realme C15&lt;/strong> (A10)&lt;/li>
&lt;li>(NEW!) &lt;strong>Redmi Note 11&lt;/strong> (A15)&lt;/li>
&lt;/ul>
&lt;p>Its &lt;a href="https://www.kali.org/docs/nethunter/nethunter-carsenal/">documentations&lt;/a> and &lt;a href="https://www.kali.org/docs/nethunter/nethunter-kernel-9-config-8/">kernel configuration&lt;/a> has been updated as well.&lt;/p>
&lt;hr>
&lt;h3 id="android-radio">Android Radio&lt;/h3>
&lt;p>&lt;p style="text-align: center">
&lt;a href='https://www.kali.org/blog/kali-linux-2025-2-release/images/nethunter-car-radio.png' target="_blank" style="display: inline-block">
&lt;img src="https://www.kali.org/blog/kali-linux-2025-2-release/images/nethunter-car-radio.png" alt="" />
&lt;/a>
&lt;/p>
&lt;/p>
&lt;p>There&amp;rsquo;s another possibly first use case of &lt;strong>Kali NetHunter KeX running on Android radio&lt;/strong>. A teaser to the upcoming Android Auto support&amp;hellip;&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.kali.org/blog/kali-linux-2025-2-release/https://www.youtube-nocookie.com/embed/nbX27_yCTmc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
&lt;/div>
&lt;hr>
&lt;h3 id="kali-nethunter-kernels">Kali NetHunter Kernels&lt;/h3>
&lt;p>&lt;a href="https://nethunter.kali.org/kernels.html">Kali NetHunter kernels&lt;/a> updates:&lt;/p>
&lt;ul>
&lt;li>(NEW!) &lt;strong>Xiaomi Redmi 4/4X&lt;/strong> (A13) (by &lt;a href="https://gitlab.com/momboteq">@MomboteQ&lt;/a>) &lt;/li>
&lt;li>(NEW!) &lt;strong>Xiaomi Redmi Note 11&lt;/strong> (A15) (by &lt;a href="https://gitlab.com/Madara273">@Madara273&lt;/a>)&lt;/li>
&lt;li>Updated &lt;strong>Realme C15&lt;/strong> (A10) (by &lt;a href="https://gitlab.com/Frostleaft07">@Frostleaft07&lt;/a>)&lt;/li>
&lt;li>Updated &lt;strong>Samsung Galaxy S10&lt;/strong> (A14,A15/exynos9820) (by &lt;a href="https://gitlab.com/V0lk3n">@V0lk3n&lt;/a>)&lt;/li>
&lt;li>Updated &lt;strong>Samsung Galaxy S9&lt;/strong> (A13/exynos9810) (by &lt;a href="https://gitlab.com/V0lk3n">@V0lk3n&lt;/a>)&lt;/li>
&lt;/ul>
&lt;h2 id="kali-arm-sbc-updates">Kali ARM SBC Updates&lt;/h2>
&lt;p>We will start off with some Raspberry Pi updates:&lt;/p>
&lt;ul>
&lt;li>We have combined some of our Raspberry Pi images, so that &lt;strong>Raspberry Pi 5 does not need its own separate image&lt;/strong> . It is now supported by our 64-bit image! &lt;em>This is reflected by the new name of the download link on &lt;a href="https://www.kali.org/get-kali/">get-kali&lt;/a>.&lt;/em>&lt;/li>
&lt;li>Raspberry Pi devices have had their &lt;strong>kernel upgraded to a 6.12&lt;/strong> based kernel. This was made possible thanks to &lt;a href="https://gitlab.com/nursejackass">@Nurse Jackass&lt;/a> who add support to the brcmfmac nexmon driver. &lt;/li>
&lt;li>Additionally, the udev rule that used to allow you to run &lt;code>vgencmd&lt;/code> without requiring root rights on Raspberry Pi devices was updated, so you no longer need elevated privileges to run it.&lt;/li>
&lt;/ul>
&lt;p>Now onto some USB Armory MKII:&lt;/p>
&lt;ul>
&lt;li>It also has had its &lt;strong>kernel upgraded to a 6.12&lt;/strong> based kernel.&lt;/li>
&lt;li>The &lt;strong>bootloader upgraded to 2025.04&lt;/strong>.&lt;/li>
&lt;/ul>
&lt;p>PowerShell on the ARM images has been bumped from 7.1.3 to 7.5.1&lt;/p>
&lt;p>&lt;a href="https://gitlab.com/kalilinux/build-scripts/kali-arm">Build-scripts&lt;/a>:&lt;/p>
&lt;ul>
&lt;li>Mirror replacement is fixed, so if you want to build a custom image pointing at a specific mirror, just follow the instructions in the README&lt;/li>
&lt;li>Occasionally there would be a build failure with no output. This was tracked down to the limit_cpu function and has been fixed so we no longer swallow the error code when there is one, and pass it on so when a failure happens we can know why.&lt;/li>
&lt;/ul>
&lt;h2 id="kali-website-updates">Kali Website Updates&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/community/">Kali Linux Community and Support&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/about-us/">Meet The Kali Team&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="kali-documentation">Kali Documentation&lt;/h3>
&lt;p>Our &lt;a href="https://www.kali.org/docs/">Kali documentation&lt;/a> has had various updates to existing pages as well as new pages:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/docs/usb/usb-persistence-encryption/">Adding Encrypted Persistence to a Kali Linux Live USB Drive&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/usb/usb-persistence/">Adding Persistence to a Kali Linux Live USB Drive&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/troubleshooting/postgresql-collation-mismatch-error/">Fixing PostgreSQL &amp;lsquo;collation version mismatch&amp;rsquo;&lt;/a> &lt;em>(new)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-oneplus-5t/">Installing NetHunter on the OnePlus 5T&lt;/a> &lt;em>(new by &lt;a href="https://gitlab.com/i-liek-turtals">@Güray Çakmak&lt;/a>)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/nethunter/installing-nethunter-on-the-xiaomi-mi-a3/">Installing NetHunter on the Xiaomi Mi A3&lt;/a> &lt;em>(new by &lt;a href="https://gitlab.com/mr00k3">@mr00k3&lt;/a>)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/usb/live-usb-install-with-linux/">Making a Kali Bootable USB Drive (Linux)&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/usb/live-usb-install-with-mac/">Making a Kali Bootable USB Drive (macOS/OS X)&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/nethunter/nethunter-wardriving/">NetHunter Wardriving&lt;/a> &lt;em>(new by &lt;a href="https://gitlab.com/gh0stbuster">@Alex&lt;/a>)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/community/list-of-official-kali-sites/">Official Kali Linux Sites&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi/">Raspberry Pi 1 (Original)&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi-64-bit/">Raspberry Pi 2 v1.2&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi-2/">Raspberry Pi 2&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi-3/">Raspberry Pi 3&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi-400/">Raspberry Pi 400&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi-4/">Raspberry Pi 4&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi-5/">Raspberry Pi 5&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi-zero/">Raspberry Pi Zero&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi-zero-w/">Raspberry Pi Zero W&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/arm/raspberry-pi-zero-2-w/">Raspberry Pi Zero 2 W&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/usb/verify-usb-write/">Verifying USB Write&lt;/a> &lt;em>(new by &lt;a href="https://gitlab.com/serval123">@serval&lt;/a>)&lt;/em>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/community/contribute/">Where and How to Contribute to Kali&lt;/a> &lt;em>(updated)&lt;/em>&lt;/li>
&lt;/ul>
&lt;h3 id="kali-blog-recap">Kali Blog Recap&lt;/h3>
&lt;p>Since our last release, we did the following &lt;a href="https://www.kali.org/blog/">blog posts&lt;/a>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/blog/new-kali-archive-signing-key/">A New Kali Linux Archive Signing Key&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="kali-team-updates">Kali Team Updates&lt;/h2>
&lt;p>It&amp;rsquo;s also with a heavy heart to announce that both &lt;a href="https://mastodon.social/@_elwood_">@elwood&lt;/a> as well as &lt;a href="https://gitlab.com/Gamb1t">@gamb1t&lt;/a> have stepped down and are no longer part of the &lt;a href="https://www.kali.org/about-us/">Kali team&lt;/a>. We hope you join us in wishing them all the best with their adventures going forward.
@elwood has been part of Kali before it was called Kali and @gamb1t joined the team back in 2019. Both of them were very active and well known in Kali&amp;rsquo;s history as well as community.&lt;/p>
&lt;p>&lt;a href="https://bsky.app/profile/shubhamvis98.bsky.social">Shubham Vishwakarma (@shubhamvis98)&lt;/a> has been doing a lot of heavy lifting with Kali NetHunter Pro since the start and has now fully joined the team.&lt;/p>
&lt;p>&lt;a href="https://infosec.exchange/@v0lk3n">@v0lk3n&lt;/a> has now been active and passionate for a while, with his work and efforts into the project it makes sense for him to have joined the Kali NetHunter team.&lt;/p>
&lt;p>Please welcome &lt;a href="https://infosec.exchange/@graylsidus">@Aura&lt;/a>, &lt;a href="https://infosec.exchange/@Greenjam94">James Green (@greenjam94)&lt;/a> and &lt;a href="https://github.com/gh0x0st">@Tristram&lt;/a> as Kali&amp;rsquo;s Community Leaders! You will see them in various places, such as our real-time chat and forums. Come and say hi to them.&lt;/p>
&lt;h2 id="community-shout-outs">Community Shout-Outs&lt;/h2>
&lt;p>These are &lt;strong>people from the public who have helped Kali&lt;/strong> and the team for the last release. We want to praise them for their work &lt;em>(we like to give credit where due!)&lt;/em>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://gitlab.com/gh0stbuster">@Alex&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Arszilla">@Arszilla&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Vishal">@chewbaqa&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Data_19C">@Data 19C&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/florent4014">@florent4014&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Frostleaft07">@Frostleaf&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/i-liek-turtals">@Güray Çakmak&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/k1m0cod3r">@Kimo Coder&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/k.olmstead">@Kyle Olmstead&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/Madara273">@Madara273&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/momboteq">@MomboteQ&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/mr00k3">@mr00k3&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/nursejackass">@Nurse Jackass&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/serval123">@serval&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/SkyW4r33x">@SkyW4r33x&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/soffensive">@soffensive&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/V0lk3n">@V0lk3n&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/bv3">@Volodymyr BOBER&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/xenix4845">@x&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Anyone can help out, anyone can get &lt;a href="https://www.kali.org/docs/community/contribute/">involved&lt;/a>!&lt;/p>
&lt;h3 id="the-rokfoss-initiative-by-and-for-korean-users">The ROKFOSS initiative, by and for Korean users&lt;/h3>
&lt;p>In South Korea, a group of users that go by the name of &lt;a href="https://krfoss.org/">ROKFOSS&lt;/a> have been very active lately. Over the last few months, they have helped to setup new Kali Linux mirrors, and we now have a total of 6 mirrors in this country thanks to their support.&lt;/p>
&lt;p>But the initiative goes further: they now provide a translation of the &lt;a href="https://kali.krfoss.org">Kali Linux documentation in Korean&lt;/a>, along with a &lt;a href="https://chat.krfoss.org/">chat instance&lt;/a>.&lt;/p>
&lt;p>Big thanks for this initiative!&lt;/p>
&lt;h3 id="new-kali-mirrors">New Kali Mirrors&lt;/h3>
&lt;p>We added &lt;em>2&lt;/em> new mirrors to the pool during this release cycle:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>India&lt;/strong>: &lt;a href="https://mirror.del2.albony.in/kali-images/">mirror.del2.albony.in&lt;/a>, sponsored by &lt;a href="https://albony.in/">Albony Network&lt;/a> and thanks to Shrirang Kahale.&lt;/li>
&lt;li>&lt;strong>South Korea&lt;/strong>: &lt;a href="https://mirror.hemino.net/kali/">mirror.hemino.net&lt;/a>, thanks to &amp;ldquo;QuietSky&amp;rdquo;.&lt;/li>
&lt;/ul>
&lt;p>If you have the disk space and bandwidth, &lt;a href="https://www.kali.org/docs/community/setting-up-a-kali-linux-mirror/">we always welcome new mirrors&lt;/a>.&lt;/p>
&lt;h2 id="miscellaneous">Miscellaneous&lt;/h2>
&lt;p>Below are a few other things which have been updated in Kali, which we are calling out which do not have as much detail:&lt;/p>
&lt;ul>
&lt;li>Community post: &lt;a href="https://medium.com/@yzw.joe/what-i-learned-about-kali-purple-hub-malcolm-and-autopilot-at-black-hat-asia-2025-89bf697559b2">What I Learned About Kali Purple Hub, MALCOLM, and Autopilot at Black Hat Asia 2025&lt;/a>&lt;/li>
&lt;li>Community post: &lt;a href="https://www.reddit.com/r/unixporn/comments/1k6bg0l/kde_my_first_rice/#lightbox">[KDE] My first rice&lt;/a>&lt;/li>
&lt;li>Community post: Kali on Pi4 &lt;a href="https://www.thingiverse.com/thing:7010296">Cyberdeck - Triskel_mk1&lt;/a> &lt;/li>
&lt;li>Community post: &lt;a href="https://hackaday.io/project/203116-nethunter-c-deck">NetHunter C-deck&lt;/a>&lt;/li>
&lt;li>Kali is now on &lt;a href="https://bsky.app/profile/kalilinux.bsky.social">Bluesky, &lt;code>@kalilinux.bsky.social&lt;/code>&lt;/a> &lt;/li>
&lt;li>Kali is now on &lt;a href="https://video.infosec.exchange/c/kalilinux/videos">PeerTube, &lt;code>kalilinux@video.infosec.exchange&lt;/code>&lt;/a> &lt;/li>
&lt;li>We updated our &lt;a href="https://gitlab.com/kalilinux/recipes/kali-preseed-examples">preseed examples repos&lt;/a>&lt;/li>
&lt;li>These changes are all the public items, if you would like a peak behind the curtain to see other items we have been working on check out GitLab &lt;a href="https://gitlab.com/groups/kalilinux/-/activity">activity&lt;/a> and &lt;a href="https://gitlab.com/groups/kalilinux/-/milestones/28">milestones&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="get-kali-linux-20252">Get Kali Linux 2025.2&lt;/h2>
&lt;p>&lt;strong>Fresh Images&lt;/strong>:
So what are you waiting for? Go &lt;a href="https://www.kali.org/get-kali/">get Kali&lt;/a> already!&lt;/p>
&lt;p>Seasoned Kali Linux users are already aware of this, but for those who are not, we also produce &lt;strong>&lt;a href="https://cdimage.kali.org/kali-images/kali-weekly/">weekly builds&lt;/a>&lt;/strong> that you can use. If you cannot wait for our next release and you want the latest packages &lt;em>(or bug fixes)&lt;/em> when you download the image, you can just use the weekly image instead.
This way you will have fewer updates to do.
&lt;em>Just know that these are automated builds that we do, not QA like we do for our standard &lt;a href="https://www.kali.org/releases/">release images&lt;/a>&lt;/em>. But we gladly take &lt;a href="https://bugs.kali.org/">bug reports&lt;/a> about those images because we want any issues to be fixed before our next release!&lt;/p>
&lt;p>&lt;strong>Existing Installs&lt;/strong>:
If you already have an existing Kali Linux installation, remember you can always do a quick &lt;a href="https://www.kali.org/docs/general-use/updating-kali/">update&lt;/a>:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ echo &amp;quot;deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware&amp;quot; | sudo tee /etc/apt/sources.list
[...]
┌──(kali㉿kali)-[~]
└─$ sudo wget https://archive.kali.org/archive-keyring.gpg -O /usr/share/keyrings/kali-archive-keyring.gpg
[...]
┌──(kali㉿kali)-[~]
└─$ sudo apt update &amp;amp;&amp;amp; sudo apt -y full-upgrade
[...]
┌──(kali㉿kali)-[~]
└─$ cp -vrbi /etc/skel/. ~/
[...]
┌──(kali㉿kali)-[~]
└─$ [ -f /var/run/reboot-required ] &amp;amp;&amp;amp; sudo reboot -f
&lt;/code>&lt;/pre>
&lt;div class="notices info">
&lt;p data-header="Info">
Do make sure your &lt;a href="https://www.kali.org/blog/new-kali-archive-signing-key/">kali-archive-keyring has been updated&lt;/a>.
&lt;/p>
&lt;/div>
&lt;hr>
&lt;p>You should now be on Kali Linux 2025.2. We can do a quick check by doing:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ grep VERSION /etc/os-release
VERSION_ID=&amp;quot;2025.2&amp;quot;
VERSION=&amp;quot;2025.2&amp;quot;
VERSION_CODENAME=kali-rolling
┌──(kali㉿kali)-[~]
└─$ uname -v
#1 SMP PREEMPT_DYNAMIC Kali 6.12.25-1kali1 (2025-04-30)
┌──(kali㉿kali)-[~]
└─$ uname -r
6.12.25-amd64
&lt;/code>&lt;/pre>
&lt;p>&lt;em>NOTE: The output of &lt;code>uname -r&lt;/code> may be different depending on the system &lt;a href="https://pkg.kali.org/pkg/linux">architecture&lt;/a>.&lt;/em>&lt;/p>
&lt;hr>
&lt;p>As always, should you come across any bugs in Kali, please submit a report on our &lt;a href="https://bugs.kali.org/">bug tracker&lt;/a>. &lt;em>We will never be able to fix what we do not know is broken!&lt;/em> &lt;strong>And Social networks are not bug trackers!&lt;/strong>&lt;/p>
&lt;hr>
&lt;p>Want to keep up-to-date easier? We&amp;rsquo;ve got you!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.kali.org/blog/">Blog&lt;/a>? Use our &lt;a href="https://www.kali.org/rss.xml">RSS feed&lt;/a> and &lt;a href="https://www.kali.org/newsletter/">newsletter&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/get-kali/">Download&lt;/a>? We have a &lt;a href="https://www.kali.org/torrents.xml">Torrent RSS feed&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kali.org/docs/community/list-of-official-kali-sites/#social-media-networks">Socials&lt;/a>? &lt;a href="https://bsky.app/profile/kalilinux.bsky.social">Bluesky&lt;/a>, &lt;a href="https://www.facebook.com/KaliLinux/">Facebook&lt;/a>, &lt;a href="https://www.instagram.com/kalilinux/">Instagram&lt;/a>, &lt;a href="https://infosec.exchange/@kalilinux">Mastodon&lt;/a> &amp;amp; &lt;a href="https://x.com/kalilinux">X&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>A New Kali Linux Archive Signing Key</title><link>https://www.kali.org/blog/new-kali-archive-signing-key/</link><guid isPermaLink="true">https://www.kali.org/blog/new-kali-archive-signing-key/</guid><pubDate>Mon, 28 Apr 2025 00:00:00 +0000</pubDate><enclosure url="https://www.kali.org/blog/new-kali-archive-signing-key/images/new-kali-signing-key.jpg" type="image/jpg"/><description>&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;p>Bad news for Kali Linux users! In the coming day(s), &lt;code>apt update&lt;/code> is going to fail for pretty much everyone out there:&lt;/p>
&lt;pre>&lt;code class="language-plaintext">Missing key 827C8569F2518CC677FECA1AED65462EC8D5E4C5, which is needed to verify signature.
&lt;/code>&lt;/pre>
&lt;p>Reason is, we had to roll a new signing key for the Kali repository. &lt;strong>You need to download and install the new key manually&lt;/strong>, here&amp;rsquo;s the one-liner:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ sudo wget https://archive.kali.org/archive-keyring.gpg -O /usr/share/keyrings/kali-archive-keyring.gpg
&lt;/code>&lt;/pre>
&lt;p>Now your Kali is ready to keep rolling! Sorry for the inconvenience.&lt;/p>
&lt;hr>
&lt;h2 id="long-version">Long version&lt;/h2>
&lt;p>In the coming day(s), pretty much every Kali system out there will fail to update. You are likely to see this error message when you run &lt;code>apt update&lt;/code>:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ sudo apt update
Get:1 https://http.kali.org/kali kali-rolling InRelease [41.5 kB]
Err:1 https://http.kali.org/kali kali-rolling InRelease
Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 827C8569F2518CC677FECA1AED65462EC8D5E4C5, which is needed to verify signature.
Fetched 41.5 kB in 3s (16.5 kB/s)
82 packages can be upgraded. Run 'apt list --upgradable' to see them.
Warning: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. OpenPGP signature verification failed: https://http.kali.org/kali kali-rolling InRelease: Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 827C8569F2518CC677FECA1AED65462EC8D5E4C5, which is needed to verify signature.
Warning: Failed to fetch https://http.kali.org/kali/dists/kali-rolling/InRelease Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 827C8569F2518CC677FECA1AED65462EC8D5E4C5, which is needed to verify signature.
Warning: Some index files failed to download. They have been ignored, or old ones used instead.
&lt;/code>&lt;/pre>
&lt;p>This is not only you, this is for everyone, and this is entirely our fault. We lost access to the signing key of the repository, so we had to create a new one. At the same time, we froze the repository (you might have noticed that there was no update since Friday 18th), so nobody was impacted yet. But we&amp;rsquo;re going to unfreeze the repository this week, and it&amp;rsquo;s now signed with the new key.&lt;/p>
&lt;p>As a result, there&amp;rsquo;s a bit of manual work for you. You need to download and install this new key manually, as such:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ sudo wget https://archive.kali.org/archive-keyring.gpg -O /usr/share/keyrings/kali-archive-keyring.gpg
&lt;/code>&lt;/pre>
&lt;p>If you prefer using curl, that&amp;rsquo;s just as easy:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ sudo curl https://archive.kali.org/archive-keyring.gpg -o /usr/share/keyrings/kali-archive-keyring.gpg
&lt;/code>&lt;/pre>
&lt;p>As a matter of good practice, you should verify that the checksum of the file matches the one below:&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ sha1sum /usr/share/keyrings/kali-archive-keyring.gpg
603374c107a90a69d983dbcb4d31e0d6eedfc325 /usr/share/keyrings/kali-archive-keyring.gpg
&lt;/code>&lt;/pre>
&lt;p>You can also take a closer look at the new keyring, it contains the old signing key (&lt;code>ED444FF07D8D0BF6&lt;/code>) and the new signing key (&lt;code>ED65462EC8D5E4C5&lt;/code>):&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ gpg --no-default-keyring --keyring /usr/share/keyrings/kali-archive-keyring.gpg -k
/usr/share/keyrings/kali-archive-keyring.gpg
--------------------------------------------
pub rsa4096 2025-04-17 [SC] [expires: 2028-04-17]
827C8569F2518CC677FECA1AED65462EC8D5E4C5
uid [ unknown] Kali Linux Archive Automatic Signing Key (2025) &amp;lt;devel@kali.org&amp;gt;
pub rsa4096 2012-03-05 [SC] [expires: 2027-02-04]
44C6513A8E4FB3D30875F758ED444FF07D8D0BF6
uid [ unknown] Kali Linux Repository &amp;lt;devel@kali.org&amp;gt;
sub rsa4096 2012-03-05 [E] [expires: 2027-02-04]
&lt;/code>&lt;/pre>
&lt;p>And as you can see, &lt;code>apt update&lt;/code> still works (or works again, if you&amp;rsquo;re reading this &lt;em>after&lt;/em> seeing the apt error):&lt;/p>
&lt;pre>&lt;code class="language-console">┌──(kali㉿kali)-[~]
└─$ sudo apt update
[...]
68 packages can be upgraded. Run 'apt list --upgradable' to see them.
&lt;/code>&lt;/pre>
&lt;p>Time to update your system!&lt;/p>
&lt;h2 id="restarting-from-scratch">Restarting from scratch&lt;/h2>
&lt;p>In some cases, you might just prefer to rebuild your Kali system(s) from scratch. For that purpose, we updated all of our images so that it contains the new keyring.&lt;/p>
&lt;p>Just head to &lt;a href="https://www.kali.org/get-kali/">Get Kali&lt;/a> and grab the latest images. You will notice that the version in the filenames is &lt;code>2025.1c&lt;/code>. These are the exact same images as the ones we &lt;a href="https://www.kali.org/blog/kali-linux-2025-1-release/">released a month ago&lt;/a>, the only difference being that it contains the new keyring. You can also use the weekly images, starting from &lt;code>2025-W17&lt;/code> they contain the new keyring. &lt;/p>
&lt;p>We also updated Kali NetHunter, VM, Cloud, Docker, WSL, etc etc&amp;hellip; Please ping us if you think we forgot something.&lt;/p>
&lt;h2 id="q--a">Q &amp;amp; A&lt;/h2>
&lt;p>&lt;strong>Q&lt;/strong>. So your key was compromised and you don&amp;rsquo;t want to admit it, right?&lt;/p>
&lt;p>&lt;strong>A&lt;/strong>. No. As you can see we still include the old key in the keyring, if it was compromised we would have removed it and provided a revocation certificate.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Q&lt;/strong>. I don&amp;rsquo;t trust this new key! Are you really Kali Linux?&lt;/p>
&lt;p>&lt;strong>A&lt;/strong>. The new key is signed by some developers from the Kali team, and the signatures are available on the Ubuntu OpenPGP keyserver. You can check it out at &lt;a href="https://keyserver.ubuntu.com/pks/lookup?search=827C8569F2518CC677FECA1AED65462EC8D5E4C5&amp;amp;fingerprint=on&amp;amp;op=index">https://keyserver.ubuntu.com/pks/lookup?search=827C8569F2518CC677FECA1AED65462EC8D5E4C5&amp;amp;fingerprint=on&amp;amp;op=index&lt;/a>.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Q&lt;/strong>. Wait a moment, I have an impression of &lt;em>déjà vu&lt;/em>&amp;hellip;&lt;/p>
&lt;p>&lt;strong>A&lt;/strong>. Back in 2018, we had let the GPG key expire accidentally&amp;hellip; There&amp;rsquo;s still an old tweet &lt;a href="https://x.com/kalilinux/status/959515084157538304">https://x.com/kalilinux/status/959515084157538304&lt;/a> to testify.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>More questions? Need support?&lt;/strong> Head to the Kali Linux &lt;a href="https://forums.kali.org/">Forums&lt;/a>, &lt;a href="https://discord.kali.org/">Discord Channel&lt;/a> or &lt;a href="https://www.kali.org/docs/community/kali-linux-irc-channel/">IRC Channel&lt;/a>, at your preference, and get in touch. We&amp;rsquo;ll be happy to help.&lt;/p></description></item></channel></rss>