{"id":833438,"date":"2026-01-21T10:54:52","date_gmt":"2026-01-21T09:54:52","guid":{"rendered":"https:\/\/www.devoteam.com\/expert-view\/ai-becomes-domain-admin\/"},"modified":"2026-01-21T10:54:52","modified_gmt":"2026-01-21T09:54:52","slug":"ai-becomes-domain-admin","status":"publish","type":"expert-view","link":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/","title":{"rendered":"AI Becomes Domain Admin"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>TLDR: This article explains the thought process behind developing an AI capable of compromising an Active Directory environment without human intervention.<\/em><\/p>\n\n\n\n<p class=\"has-primary-color has-text-color has-link-color wp-elements-1 wp-block-paragraph\"><strong><em>NB : This article is the result of internal research and development and does not reflect methods used during client engagements.<\/em><\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-2\" id=\"h-introduction\"><strong>Introduction<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The power of an AI is only proportional to the tools it has access to. <\/strong>Thus, a few years ago, when LLMs (Large Language Models) became available to the general public (notably via ChatGPT), it marked a technological breakthrough and created a fear of replacement for non-technical roles. In cybersecurity, we approach the tool as an aid to better develop, better understand, and better configure. <strong>But what if artificial intelligence could do more than that?<\/strong>\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">More generally, <strong>What is AI capable of doing in the context of an internal Red Team\/Pentest?<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-3\" id=\"h-tooling-et-mcp-nbsp\"><strong>Tooling et MCP&nbsp;<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Model Context Protocol (MCP) <\/strong>is an open standard designed to securely connect artificial intelligence assistants to systems where data resides, such as local servers, databases, or professional tools (Slack, GitHub, etc.) :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-66-1024x199.png\" alt=\"\" class=\"wp-image-818684\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Interactions between User, LLM and MCP<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It acts as a <strong>&#8220;universal plug&#8221; <\/strong>(similar to a USB-C port for software), allowing developers to create a single, standardized connection for AI to read information or perform actions, without having to build specific integrations for each source. <strong>In short, an MCP is the building block that bridges the gap between a simple LLM and an agentic AI.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An MCP already exists for Kali Linux, and it&#8217;s called <a href=\"https:\/\/www.kali.org\/tools\/mcp-kali-server\/\">\u201cmcp-kali-server\u201d<\/a> (available on the official Kali repository). However, our tests quickly revealed that the features of this MCP server were far below the capabilities of current LLM models, and the creation of an alternative became necessary.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-4\" id=\"h-kali-mcp-server-modifications\">Kali MCP server modifications<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">First, once these LLMs have been tested with the tool <strong>mcp-kali-server<\/strong>,<strong> <\/strong>Several observations were made:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Clearly defining the available tools allows for a more effective LLM<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">All models tend to legitimize their actions as soon as a MCP is available. The LLM may tend to understand that the MCP is part of itself and therefore, <strong>does not necessarily ask himself questions about the legitimacy (or not) of his actions.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The different LLMs tested also have the <strong>tendency to change tools as soon as the first one did not give complete satisfaction. <\/strong>However, the tools offered by the Kali MCP server are not very comprehensive :\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"599\" height=\"288\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-22.png\" alt=\"\" class=\"wp-image-816407\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-22.png 599w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-22-300x144.png 300w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Tools available on \u201cmcp-kali-server\u201d<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The creator&#8217;s idea of \u200b\u200bdeveloping tools to achieve &#8220;quick wins&#8221; with these various tools is smart. However, LLM will test these tools one by one and will automatically apply a reward or penalty function based on the success or failure of the test.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thus, if \u201c<strong><em>enum4linux_scan<\/em><\/strong>&#8221; doesn&#8217;t work, it&#8217;s normal (and even logical) to move on to another test. But if a test is performed by the tool \u201c<em>execute_command<\/em>\u201d which is the &#8220;catch-all&#8221; tool allowing you to make arbitrary commands, say for example to use &#8220;<strong><em>netexec<\/em><\/strong>&#8220;, the LLM will penalize this tool, and will not be able to make another arbitrary command, let&#8217;s say \u201c<strong><em>certipy<\/em><\/strong><em>&#8211;<\/em><strong><em>ad<\/em><\/strong><em>&#8221; <\/em>for example. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Enhanced categorization leads to better results<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Now that we have demonstrated that having all the tools individually allows the LLM to function better, why not integrate all the tools directly into the LLM?<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"152\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-61-1024x152.png\" alt=\"\" class=\"wp-image-817594\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-61-1024x152.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-61-300x45.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-61-768x114.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-61.png 1199w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Warning on Github copilot if too many tools are loaded<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s what happens when more than 128 tools are loaded. The context window (that is the number of tokens the LLM can store in memory) is too small for all the tools we need. This is because the LLM needs to load all the tools into its memory to select the most appropriate one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To address this issue, while still allowing LLM access to all tools, here is a proposal to improve tool selection capabilities :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"436\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-67-1024x436.png\" alt=\"\" class=\"wp-image-818733\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-67-1024x436.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-67-300x128.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-67-768x327.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-67-1536x655.png 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-67.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Custom server MCP structure<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This proposal allows for the inclusion of all available tools, thereby avoiding penalizing one tool more than another, and encourages reading the manual of each tool before its execution. This helps to minimize errors and therefore avoid &#8220;penalizing&#8221; a tool before it can be executed correctly.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Let the LLM determine the timeout<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The context given to the AI \u200b\u200bchanges how it uses the tools. Experience shows that by informing it that its target is a &#8220;lab&#8221; environment, it goes straight to the point to save as much time as possible :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"995\" height=\"320\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-60.png\" alt=\"\" class=\"wp-image-817571\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-60.png 995w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-60-300x96.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-60-768x247.png 768w\" sizes=\"auto, (max-width: 995px) 100vw, 995px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Intensive nmap scan performed by Claude (T4)<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the mcp-kali-server, the timeout is defined by a global variable which is set to 300 seconds by default:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"679\" height=\"179\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-30.png\" alt=\"\" class=\"wp-image-816674\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-30.png 679w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-30-300x79.png 300w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Timeout defined by a global variable on \u201cmcp-kali-server\u201d<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>This forces the LLM to use fast timings and\/or find roundabout ways to execute its command within 300 seconds.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even worse, if we ask the LLM to adopt a \u201cRed Team\u201d approach, this requires long scans, with slow timings, and therefore commands that would inevitably end up expiring\u2026 We could lengthen the timeout, but this could penalize the LLM in its quest for speed if a command is held for any reason.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The chosen solution was therefore to let the LLM define the timeout for each of its commands :\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"955\" height=\"474\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-31.png\" alt=\"\" class=\"wp-image-816696\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-31.png 955w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-31-300x149.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-31-768x381.png 768w\" sizes=\"auto, (max-width: 955px) 100vw, 955px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Netexec scan by Claude with a 60s timeout<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With this solution, depending on the behavior requested from the LLM, the model will be able to adapt the timeouts of each of its commands.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Managing interactive tools<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">While LLMs execute instant commands without any issue, they experience difficulties with interactive tools such as <strong>responder<\/strong>, <strong>ntlmrelayx, <\/strong>etc\u2026 And that&#8217;s normal! The timeout is fixed, so they are limited to the number of seconds they have left. Therefore, tricks have been developed by those models to make these tools work :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"952\" height=\"324\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-33.png\" alt=\"\" class=\"wp-image-816767\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-33.png 952w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-33-300x102.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-33-768x261.png 768w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Using an interactive tool with a one-liner<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To support these tools, we developed new capabilities via MCP to handle session creation. These sessions run the interactive process, allowing the LLM to interact with and interrupt them through a memory system.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-37.png\" alt=\"\" class=\"wp-image-816877\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Tools available via the customized Kali MCP server<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With this session system, the LLM can create sessions in parallel, interact with them simultaneously, and terminate them if necessary. Here&#8217;s an example using responder :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"972\" height=\"496\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-38.png\" alt=\"\" class=\"wp-image-816899\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-38.png 972w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-38-300x153.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-38-768x392.png 768w\" sizes=\"auto, (max-width: 972px) 100vw, 972px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Retrieving a Net-NTLM hash via an interactive session by Claude<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><em>Note : The modified MCP is available <\/em><a href=\"https:\/\/github.com\/DVT-Purple\/mcp-kali-server\"><em>on this github link.<\/em><\/a><em> Any contribution or suggestions are welcome !<\/em><\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-5\" id=\"h-prompt-for-the-win\">Prompt for the win<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">We have modified the MCP server and therefore the way the tools are used. But there is one last piece of the puzzle to put in place : <strong>the prompt<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even if someone has the best possible model, if they don&#8217;t have the right prompt, the LLM won&#8217;t be able to achieve the desired result. After several empirical tests, it was found that a good prompt meets these criteria :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Persona <\/strong>: The prompt must have a &#8220;persona&#8221;. This is the first sentence that allows the LLM to define its role and connect it to the context. For example, for an internal Red Team, the persona could be the following :<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"115\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-18-1024x115.png\" alt=\"\" class=\"wp-image-816231\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-18-1024x115.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-18-300x34.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-18-768x86.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-18.png 1352w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tooling : <\/strong>The prompt should briefly present the tools available to the LLM. For example :<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-23-1024x458.jpg\" alt=\"\" class=\"wp-image-816429\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Format : <\/strong>Although LLM was trained with human data, it prefers a format that allows for quick identification of the different parts of the prompt. This can be achieved by using tags or adapting the <strong>Markdown format :<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-23-1024x360.png\" alt=\"\" class=\"wp-image-816473\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-6\" id=\"h-david-vs-goadliath\"><strong>David vs GOADliath<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Once we have modified the LLM&#8217;s interaction capabilities, we can ask the following question: How would their performance be against an <strong>Active Directory <\/strong>made vulnerable by poor configurations, like a GOAD?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>N.B. GOAD is an Active Directory environment based on the Game of Thrones universe with intentionally introduced vulnerabilities, designed for practice in exploiting them. Created by MayFly, available<\/em><em> <\/em><a href=\"https:\/\/github.com\/Orange-Cyberdefense\/GOAD\"><strong><em>here<\/em><\/strong><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From a single prompt, without any information about the environment <strong>Active Directory, <\/strong>How long would it take for an LLM to become a Domain Administrator? That&#8217;s what we wanted to find out. Here are the models that will participate in this &#8220;competition&#8221; :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gemini 3 Pro<\/li>\n\n\n\n<li>Claude Opus 4.5<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em>The following sections will address the paths selected by AI. The concepts will not be simplified or explained, but each technique will have a link allowing the reader to understand the technique used.<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-7\" id=\"h-claude-4-5-opus\">Claude 4.5 Opus<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">In his first step, Claude observed that all the machines in GOAD had &#8220;Game of Thrones&#8221; names. Therefore, he created a list of Game of Thrones-based users :\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"807\" height=\"107\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-39.png\" alt=\"\" class=\"wp-image-816943\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-39.png 807w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-39-300x40.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-39-768x102.png 768w\" sizes=\"auto, (max-width: 807px) 100vw, 807px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Creating a user list based on Game of Thrones<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once this list was compiled, he found the user \u201cmissandei\u201d, <a href=\"https:\/\/en.hackndo.com\/kerberos-asrep-roasting\/\">who did not have Kerberos pre-authentication enabled<\/a>. Consequently, he obtained his TGT and cracked it, obtaining his first account in the \u201cessos.local\u201d domain :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"106\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-40.png\" alt=\"\" class=\"wp-image-816987\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-40.png 624w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-40-300x51.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Acquiring the first user on \u201cessos.local\u201d<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Subsequently, he also obtained the TGT of \u201cbrandon.stark\u201d via the same technique, allowing him to obtain an account in the \u201cnorth.sevenkingdoms.local\u201d child domain :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"639\" height=\"239\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-41.png\" alt=\"\" class=\"wp-image-817009\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-41.png 639w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-41-300x112.png 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Obtaining a second user on \u201cnorth.sevenkingdoms.local\u201d<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once Claude obtained an account, he was able to list the domain and see that several users were vulnerable to <a href=\"https:\/\/beta.hackndo.com\/kerberoasting\/\">Kerberoasting <\/a>(user with an SPN) allowing them to obtain their TGT as well :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"595\" height=\"139\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-42.png\" alt=\"\" class=\"wp-image-817068\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-42.png 595w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-42-300x70.png 300w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Identification of a constrained delegation on \u201cjon.snow\u201d<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, he focused his efforts on \u201cjon.snow\u201d since it allowed him to perform a <a href=\"https:\/\/en.hackndo.com\/constrained-unconstrained-delegation\/\">Constrained delegation<\/a> on \u201cWINTERFELL\u201d, which is the DC of \u201cnorth.sevenkingdoms.local\u201d:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"520\" height=\"157\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-44.png\" alt=\"\" class=\"wp-image-817124\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-44.png 520w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-44-300x91.png 300w\" sizes=\"auto, (max-width: 520px) 100vw, 520px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Identification of the target of the constrained delegation<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once the constrained delegation was carried out, Claude was able to usurp the administrator account \u201c<a href=\"mailto:Administrator@north.sevenkingdoms.local\">Administrator@north.sevenkingdoms.local<\/a>\u201d on \u201cWINTERFELL\u201d and exfiltrate the entire NTLM database from the child domain \u201cNORTH\u201d. The first domain is compromised in <strong>21 min !<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once the child domain is obtained, all that remains is to forge a <a href=\"https:\/\/en.hackndo.com\/kerberos-silver-golden-tickets\/\">Inter-Realm Golden Ticket<\/a><strong>with the &#8216;Enterprise Admins&#8217; SID injected into the <\/strong><a href=\"https:\/\/www.thehacker.recipes\/ad\/persistence\/sid-history\"><strong>sIDHistory<\/strong><\/a> (the primary group that allows rights over the entire forest), which Claude does :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"163\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-45.png\" alt=\"\" class=\"wp-image-817146\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-45.png 580w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-45-300x84.png 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Identification of the SIDs needed to build the golden ticket<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"125\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-46.png\" alt=\"\" class=\"wp-image-817168\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-46.png 799w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-46-300x47.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-46-768x120.png 768w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Message from Claude saying that the domain \u201csevenkingdoms.local\u201d has been compromised<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"548\" height=\"157\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-47.png\" alt=\"\" class=\"wp-image-817212\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-47.png 548w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-47-300x86.png 300w\" sizes=\"auto, (max-width: 548px) 100vw, 548px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Dump of the domain \u201csevenkingdoms.local\u201d<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The parent domain is compromised in <strong>26 minutes.<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-8\" id=\"h-gemini-3-pro\">Gemini 3 pro<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Gemini&#8217;s path was surprisingly quite different from Claude&#8217;s. Indeed, Gemini chose to use the &#8220;CASTELBLACK&#8221; web server, located in the &#8220;north.sevenkingdoms.local&#8221; domain :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-50.png\" alt=\"\" class=\"wp-image-817278\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Web service discovery on 192.168.10.22 (CASTELBLACK)<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once this was done, Gemini quickly discovered a &#8220;webshell upload&#8221; vulnerability. It then forged an ASP webshell and uploaded it to execute commands :<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"923\" height=\"461\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-52.png\" alt=\"\" class=\"wp-image-817322\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-52.png 923w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-52-300x150.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-52-768x384.png 768w\" sizes=\"auto, (max-width: 923px) 100vw, 923px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Using a webshell on CASTELBLACK<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even more surprisingly, Gemini chose to create a reverse shell via Msfvenom, and to use a Metasploit session to execute commands on \u201cCASTELBLACK\u201d :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"892\" height=\"359\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-53.png\" alt=\"\" class=\"wp-image-817344\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-53.png 892w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-53-300x121.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-53-768x309.png 768w\" sizes=\"auto, (max-width: 892px) 100vw, 892px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>An open Meterpreter session allowing Gemini to take control of the server<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once Meterpreter was launched, Gemini was able to obtain all the local NTLM hashes from the server :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"893\" height=\"407\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-54.png\" alt=\"\" class=\"wp-image-817366\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-54.png 893w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-54-300x137.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-54-768x350.png 768w\" sizes=\"auto, (max-width: 893px) 100vw, 893px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Using the \u201chashdump\u201d command to obtain local NTLM hashes<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Using one of the hashes obtained from this dump, Gemini was able to enumerate the domain with <strong>bloodhound-python<\/strong> :\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"896\" height=\"196\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-55.png\" alt=\"\" class=\"wp-image-817389\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-55.png 896w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-55-300x66.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-55-768x168.png 768w\" sizes=\"auto, (max-width: 896px) 100vw, 896px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Domain enumeration with the account \u201csql_svc\u201d and \u201cbloodhound-python\u201d<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The exploitation of data from a <strong>bloodhound-python <\/strong>is usually done with <strong>Bloodhound<\/strong>, a graphical tool for finding exploitation paths. This did not prevent Gemini from directly exploiting the results via the <strong>.json <\/strong>files. Using specific grep commands, Gemini was able to reconstruct an exploitation path in order to compromise a domain administrator account :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"908\" height=\"380\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-56.png\" alt=\"\" class=\"wp-image-817411\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-56.png 908w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-56-300x126.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-56-768x321.png 768w\" sizes=\"auto, (max-width: 908px) 100vw, 908px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Using the .json files obtained via Bloodhound<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Having made this list, Gemini arrives at the same conclusion as Claude: \u201cjon.snow\u201d is vulnerable to constrained delegation :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"893\" height=\"426\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-57.png\" alt=\"\" class=\"wp-image-817433\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-57.png 893w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-57-300x143.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-57-768x366.png 768w\" sizes=\"auto, (max-width: 893px) 100vw, 893px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Exploiting constrained delegation with \u201cimpacket-getST\u201d on the \u201cjon.snow\u201d account<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The children&#8217;s domain is compromised in <strong>16 minutes. <\/strong>The logic for obtaining the parent domain is the same as Claude&#8217;s (note the sid ending in -519 to target the &#8220;Enterprise Admins&#8221; group):<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"893\" height=\"426\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-57.png\" alt=\"\" class=\"wp-image-817455\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-57.png 893w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-57-300x143.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/image-57-768x366.png 768w\" sizes=\"auto, (max-width: 893px) 100vw, 893px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--x-small);margin-bottom:var(--wp--preset--spacing--x-small)\"><strong><em><strong><em>Creating a golden ticket with \u201cimpacket-ticketer\u201d<\/em><\/strong><\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The parent domain is compromised in <strong>18 minutes.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading has-primary-color has-text-color has-link-color wp-elements-9\" id=\"h-comparatif-et-conclusion\"><strong>Comparatif et conclusion<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It seems clear from the technical results that the big winner is <strong>Gemini 3 Pro. <\/strong>However, our conclusion is more nuanced.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gemini is the fastest model, <strong>but Claude is the most \u201ccomplete\u201d model. <\/strong>Indeed, both models achieved their objectives, but the reporting during and after the tests was much clearer and more detailed. And in an internal penetration test, what remains in the end is the report, regardless of the techniques used.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gemini 3 Pro also had a lot of trouble respecting the boundaries. Indeed, after specifying in the prompt that the LLM was not allowed to touch any file other than &#8220;\/tmp\/ai&#8221;, for example, Claude understood and never modified any file outside of that, whereas <strong>Gemini has repeatedly attempted to install packages or edit the \/etc\/hosts file.<\/strong>(which is in itself legitimate but not authorized). That is also why we recommend to use those LLM <strong>only in a containerized environment.&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, will the pentester be replaced by an LLM? It is clear that a pentester will not necessarily be able to accomplish these tasks in such a short time, and that a level of technical expertise such as that shown by the various LLMs takes several years to achieve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, humans offer several things that an LLM cannot:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Transparency: <\/strong>A LLM may sometimes conceal actions and\/or break rules if they believe doing so will help them to achieve their objectives. Therefore, even if all actions that could lead to an availability issue are prohibited, <strong>the LLM may still perform them.<\/strong><\/li>\n\n\n\n<li><strong>Advice : <\/strong>A penetration tester, through their background and experience, can provide realistic and nuanced advice and discuss with the client to determine the best possible remediation.<\/li>\n\n\n\n<li><strong>Confidentiality : <\/strong>It is clear that the best models are closed-source models hosted on servers outside the EU. Therefore, it is impossible to guarantee the confidentiality of this data, especially since some of the data may be sensitive (domain dumps, certificates, etc.).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>It is more likely that LLMs will become a tool for the penetration tester to perform repetitive tasks, <\/strong>such as enumerating and identifying vulnerable services, for example. <strong>AI would become just another tool, <\/strong>allowing the pentester to perform their task, and the added value of the human element would lie in the initial prompt and the analysis, validation, and exploitation of the data obtained.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, while we have set limits on the use of AI, what about <strong>state organizations<\/strong> that could develop their <strong>own models<\/strong>, perfectly aligned and trained on their internal research? What about <strong>APT groups<\/strong> that could simply bypass the boundaries we have set for ourselves? AI would then enable<strong> the industrialization of complex cyberattacks<\/strong>, placing them within reach of <strong>anyone with the necessary means&#8230;<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>TLDR: This article explains the thought process behind developing an AI capable of compromising an Active Directory environment without human intervention. NB : This article is the result of internal research and development and does not reflect methods used during client engagements. Introduction The power of an AI is only proportional to the tools it [&hellip;]<\/p>\n","protected":false},"featured_media":815533,"template":"","categories":[7022],"tags":[],"industry":[],"class_list":["post-833438","expert-view","type-expert-view","status-publish","has-post-thumbnail","hentry","category-cert"],"acf":[],"cards":"\n\t<div class=\"single-post-card\">\n\n\t\t<figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/\" target=\"_self\" ><img width=\"1920\" height=\"1200\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"AI Becomes Domain Admin\" style=\"aspect-ratio:4\/3;width:100%;object-fit:cover;\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425.jpg 1920w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425-300x188.jpg 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425-1024x640.jpg 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425-768x480.jpg 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425-1536x960.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/figure>\n\n\t\t\n\t\t<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-43282307 wp-block-group-is-layout-flex\">\n\t<p style=\"font-style:normal;font-weight:700\" class=\"has-link-color wp-elements-19 wp-block-lp-post-type has-text-color has-primary-color has-small-font-size\">Expert View<\/p>\n\n\t\t\n\t\t<h3 style=\"font-style:normal;font-weight:400\" class=\"wp-block-post-title has-base-font-size\"><a href=\"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/\" target=\"_self\" >AI Becomes Domain Admin<\/a><\/h3><\/div>\n\t\t\n\t<\/div>\n\n","yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>AI Becomes Domain Admin | Devoteam<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI Becomes Domain Admin\" \/>\n<meta property=\"og:description\" content=\"TLDR: This article explains the thought process behind developing an AI capable of compromising an Active Directory environment without human intervention. NB : This article is the result of internal research and development and does not reflect methods used during client engagements. Introduction The power of an AI is only proportional to the tools it [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/\" \/>\n<meta property=\"og:site_name\" content=\"Devoteam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/ai-becomes-domain-admin\\\/\",\"url\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/ai-becomes-domain-admin\\\/\",\"name\":\"AI Becomes Domain Admin | Devoteam\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/ai-becomes-domain-admin\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/ai-becomes-domain-admin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/GettyImages-1804931425.jpg\",\"datePublished\":\"2026-01-21T09:54:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/ai-becomes-domain-admin\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/ai-becomes-domain-admin\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/ai-becomes-domain-admin\\\/#primaryimage\",\"url\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/GettyImages-1804931425.jpg\",\"contentUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/GettyImages-1804931425.jpg\",\"width\":1920,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/ai-becomes-domain-admin\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert View\",\"item\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/expert-view\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"AI Becomes Domain Admin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/#website\",\"url\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/\",\"name\":\"Devoteam\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/devoteam.info\\\/uk\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AI Becomes Domain Admin | Devoteam","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/","og_locale":"en_GB","og_type":"article","og_title":"AI Becomes Domain Admin","og_description":"TLDR: This article explains the thought process behind developing an AI capable of compromising an Active Directory environment without human intervention. NB : This article is the result of internal research and development and does not reflect methods used during client engagements. Introduction The power of an AI is only proportional to the tools it [&hellip;]","og_url":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/","og_site_name":"Devoteam","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/","url":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/","name":"AI Becomes Domain Admin | Devoteam","isPartOf":{"@id":"https:\/\/devoteam.info\/uk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/#primaryimage"},"image":{"@id":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/#primaryimage"},"thumbnailUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425.jpg","datePublished":"2026-01-21T09:54:52+00:00","breadcrumb":{"@id":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/#primaryimage","url":"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425.jpg","contentUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425.jpg","width":1920,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/devoteam.info\/uk\/expert-view\/ai-becomes-domain-admin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devoteam.info\/uk\/"},{"@type":"ListItem","position":2,"name":"Expert View","item":"https:\/\/devoteam.info\/uk\/expert-view\/"},{"@type":"ListItem","position":3,"name":"AI Becomes Domain Admin"}]},{"@type":"WebSite","@id":"https:\/\/devoteam.info\/uk\/#website","url":"https:\/\/devoteam.info\/uk\/","name":"Devoteam","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devoteam.info\/uk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"}]}},"uagb_featured_image_src":{"full":["https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425.jpg",1920,1200,false],"thumbnail":["https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425-150x150.jpg",150,150,true],"medium":["https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425-300x188.jpg",300,188,true],"medium_large":["https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425-768x480.jpg",768,480,true],"large":["https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425-1024x640.jpg",1024,640,true],"1536x1536":["https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425-1536x960.jpg",1536,960,true],"2048x2048":["https:\/\/devoteam.info\/wp-content\/uploads\/2026\/01\/GettyImages-1804931425.jpg",1920,1200,false]},"uagb_author_info":{"display_name":"fr.victor","author_link":"https:\/\/devoteam.info\/uk\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"TLDR: This article explains the thought process behind developing an AI capable of compromising an Active Directory environment without human intervention. NB : This article is the result of internal research and development and does not reflect methods used during client engagements. Introduction The power of an AI is only proportional to the tools it&hellip;","_links":{"self":[{"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/expert-view\/833438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/expert-view"}],"about":[{"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/types\/expert-view"}],"version-history":[{"count":0,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/expert-view\/833438\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/media\/815533"}],"wp:attachment":[{"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/media?parent=833438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/categories?post=833438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/tags?post=833438"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/devoteam.info\/uk\/wp-json\/wp\/v2\/industry?post=833438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}