libredtail-http in Your Access Log: The RedTail Cryptominer Attacks
Published
The user agent of the RedTail cryptomining malware's attacks over HTTP, which try known PHP exploits against every server they reach and, where one works, install the RedTail miner.
What it looks like
libredtail-http
The User-Agent header as an access log records it — in nginx's and Apache's combined format, the last quoted field.
On our own server, the 30 days to 1 November 2026
3,519
requests · about 117 a day
67
source addresses
| Most requested paths | Requests |
|---|---|
| /index.php | 369 |
| /hello.world | 80 |
| / | 78 |
| /test.hello | 77 |
| /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php | 77 |
| /vendor/phpunit/phpunit/Util/PHP/eval-stdin.php | 77 |
| /vendor/phpunit/src/Util/PHP/eval-stdin.php | 77 |
| /vendor/phpunit/Util/PHP/eval-stdin.php | 77 |
LogTriage's production API server (Hetzner, Germany): port 22 open to the internet, key-only since 6 October 2026 (password and keyboard-interactive authentication off); nginx in front of the API on ports 80 and 443. Requests nobody asked for (API traffic and our own monitoring left out); paths as requested, query strings dropped and identifiers redacted; counted weekly from the nginx access log. Linked paths are scanner probes explained on their own pages. More in the monthly attack report, and you can check the addresses in your own log against free blocklists.
Sources on who sends it
The operator's or the researchers' own pages; what this page says about the sender comes from them.
What it is
libredtail-http is the User-Agent header of RedTail cryptominer attacks over HTTP. A SANS Internet Storm Center guest diary found it to be the most common user agent on the author’s DShield honeypot, sent from 113 different addresses, and describes the attack in detail. Each run begins with four POST requests. The first two attempt directory traversal toward /bin/sh, one of them URL-encoded, looking for CGI misconfigurations that allow command execution, with a command that downloads a shell script through wget or curl. The next two exploit CVE-2024-4577, a flaw in older PHP versions whose “Best-Fit” character replacement misinterprets characters as PHP options: the request sets allow_url_include=1 and auto_prepend_file=php://input, so PHP runs the body of the request as code. After that the attack probes PHP installation paths for PHPUnit.
According to SANS, the script the attack runs (cve_2024_4577.selfrep) finds out the system’s architecture, finds directories it can write to, looks for cron jobs of other cryptominers and stops their services, and installs a RedTail binary named .redtail, a hidden file, in x86_64, i686, aarch64 or arm7 builds. SANS notes that RedTail cryptominers have been around since 2023 and that libredtail-http and CVE-2024-4577 started appearing in mid 2024.
On our own server, libredtail-http was among the busiest user agents of the last 30 days (counts above). The paths it requested most were /index.php, /hello.world and /, and PHPUnit’s eval-stdin.php under at least five vendor paths. / and each of those eval-stdin.php paths were requested exactly the same number of times, as you would expect from one fixed sequence of requests repeated on every run.
Who sends it
Bots, from many unrelated machines. SANS saw 113 addresses on one honeypot and judged them likely to be bots, two of them probably running the same script; on our server the requests came from several dozen addresses in a month. There is no company behind the header and no opt-out.
Is it a threat?
Yes: it is an exploitation attempt, not research (MITRE ATT&CK T1190, exploit public-facing application). The servers at risk are those running a vulnerable PHP-CGI setup or an old PHPUnit inside the web root. A successful exploit ends with the server mining cryptocurrency for someone else (T1496, resource hijacking). For any other server the requests are noise, but noise worth blocking, since nothing legitimate sends this header.
How to handle it
- Search the access log for the user agent and look at the status codes. 404 and 403 mean the probes found nothing.
- Any 200 to one of its requests for a PHP script or an
eval-stdin.phppath means an exploit may have run: look for a.redtailfile, new cron jobs, unknown processes and unexpected CPU load. - Patch PHP, never expose PHP-CGI directly, and remove PHPUnit and other development tools from production web roots.
- Refuse the user agent at the edge.
Find its requests, and any that did not end in an error:
grep 'libredtail-http' /var/log/nginx/access.log | awk '{print $9}' | sort | uniq -c
grep 'libredtail-http' /var/log/nginx/access.log | awk '$9 < 400'
Refuse it in nginx (server block):
if ($http_user_agent ~* "^libredtail-http") {
return 403;
}
The free log analyzer groups these requests by source in an access log and flags any probe that got a 200 back; the IP blocklist checker shows which free blocklists already list the addresses.
Probes it sends
- eval-stdin.php Requests in Your Logs: Scanners Probing for CVE-2017-9841 An automated probe for a leftover PHPUnit test-runner file under an exposed /vendor folder, which on unpatched versions turns POST data into PHP code the server executes.
Other user agents in the same logs
- Fake Googlebot in Your Access Log: How to Tell It From the Real Crawler The Googlebot user agent copied by a client that is not Google's crawler — on our server nearly every request that claimed to be Googlebot, and mostly after files that hold secrets — which only the request's source address can tell apart from the real thing.
Detect it
Frequently Asked Questions
- What is libredtail-http?
- It is the User-Agent header of RedTail cryptominer attacks that arrive over HTTP. A SANS Internet Storm Center guest diary describes it as a variety of redtail attacks operating via HTTP instead of SSH or telnet, exploiting PHP to download a script that installs the miner, and notes that libredtail-http started appearing in mid 2024. The bare string is the whole header.
- Was my server compromised if libredtail-http appears in my log?
- Not by its appearance alone; it is sent to every server the bots reach. Look at the responses. Requests that ended in 404 or 403 found nothing. A 200 for one of its PHP exploit requests, a hidden file named .redtail, new cron jobs or unknown processes using the CPU are the signs that an exploit worked and need an incident response.
- Which vulnerabilities does libredtail-http try?
- SANS ISC describes directory traversal toward /bin/sh, looking for CGI misconfigurations, and CVE-2024-4577, a flaw in older PHP versions whose Best-Fit character replacement turns certain characters into PHP options. The attacks then probe PHP installation paths for PHPUnit. On our own server the same user agent asked for PHPUnit's eval-stdin.php under several vendor paths, the probe explained on its own page here.
- Is it safe to block libredtail-http by user agent?
- Yes. Nothing legitimate depends on this header, and SANS ISC suggests a rule blocking it on a WAF, reverse proxy, IPS, host firewall or a tool like Fail2Ban. It is not enough on its own, since the header can change; patching PHP and removing PHPUnit from production servers close the holes the attacks are looking for.
See which scanners are hitting your server
Drop an nginx or Apache access log into the free browser analyzer: scanners and probes are grouped by source with the evidence lines, any probe that got a 200 back is flagged, and known user agents and probes link back here. Nothing is uploaded.
Investigating something right now? LogTriage checks every address in the file against threat intelligence and writes the incident report: 10 analyses a month free. The incident pack adds the in-depth AI analysis and files up to 100 MB: 25 analyses for $19, one payment, no subscription. Pricing