Ik heb thuis een server draaien met al mijn media, Homeassistant en Nextcloud. Allemaal achter een SWAG reverse proxy.
Ik gebruik daarvoor al ruime tijd naar volle tevredenheid Dockstarter, waarmee je relatief eenvoudig de juiste Docker containers aan kunt vinken en de juiste configuratie in kunt stellen.
Tot mijn schrik zag ik gisteren dat de CPU bezetting sinds 5:00 naar 100% ging. Een vlugge blik met htop leerde mij dat er een miner stond te draaien:
/f/image/T6NirvejHgYL1Ygd2Kkj7b0I.png?f=fotoalbum_large)
Pogingen om de miner te killen of te throttlen leken niet te werken, er bleven gewoon weer nieuwe processen opduiken. Dus de server maar offline gehaald en de logs geïnspecteerd.
In de bash history was niks te vinden, dus waarschijnlijk is er geen toegang geweest tot de cli (of de hacker heeft z'n eigen commando's gewist)
In de Access.log van SWAG zag ik wel het volgende:
Dit is slechts een selectie, er werd sinds begin oktober al gezocht naar kwetsbaarheden.
Aangezien ik nergens bewijs kon vinden dat de hacker daadwerkelijk toegang had gekregen via de proxy, waren de docker containers de volgende verdachte:
Het lijkt er op dat watchtower een update binnen haalde en de geupdate docker container daarna gelijk een exploit draaide om op afstand toegang te krijgen en mijn clipboard uit te lezen. Er bleek binnen de container inderdaad een .config directory te zijn waar een scriptje stond dat xmrig downloade, verbinding maakt met een pool (pool.supportxmr.com) en in een loop nieuwe miner processen start.
Nu rest mij nog de vraag, was de docker image zelf de schuldige, of kon deze .config directory op een andere manier open staan? Vanzelfsprekend heb ik de calibre container verwijderd, is de rest van de server nog wel safe?
Ik gebruik daarvoor al ruime tijd naar volle tevredenheid Dockstarter, waarmee je relatief eenvoudig de juiste Docker containers aan kunt vinken en de juiste configuratie in kunt stellen.
Tot mijn schrik zag ik gisteren dat de CPU bezetting sinds 5:00 naar 100% ging. Een vlugge blik met htop leerde mij dat er een miner stond te draaien:
/f/image/T6NirvejHgYL1Ygd2Kkj7b0I.png?f=fotoalbum_large)
Pogingen om de miner te killen of te throttlen leken niet te werken, er bleven gewoon weer nieuwe processen opduiken. Dus de server maar offline gehaald en de logs geïnspecteerd.
In de bash history was niks te vinden, dus waarschijnlijk is er geen toegang geweest tot de cli (of de hacker heeft z'n eigen commando's gewist)
In de Access.log van SWAG zag ik wel het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| IP_RANGE_1 - - [09/Oct/2025:03:32:04 +0200] "\x17\x03\x03\x03e4C\xEB\xA6\xCD\xFDnL\x93\xC7\x04\xF4\x9C\xEC\x17q=\xFCK\xEC\xD0|^4\xB4\xDDST\x96\xAB\xCFk\xEF\x07\xC3\xB8\xCEWK\xF5\xD8<\xD6\xE6\x8D\xC5\x881\xCD\xE2\xDCp\x9A\x1B\x8E\x85\x1F\x81\xB8-\xF1\xE5;\xD9\x96I`\xB9D\x94\xBF\x19\xEA\x8A`\xF0u\xFA!\xB6L9Ww\x1C\xD0\xB8&\xDBry3\x071\xB3_/\xF1\x0B\xD0\xB5\x1C\x92`\xD2\x97\xEA;\xDA\xF5\xAB\xA9\xC2\xEB\x04(\xDF\x04\xA6\xBE\xF0\x96\xDD\x8D_\xF5\x00\xA8\xC4\xE6\x0C%\xABW\x8Ct\x97M\xBC\xEFG\x1D\xED\xB17\xDF+\xACj \x1E\xF6g\xD7.d\x82\x9A\xEAZ\x5C\x12\xAB\xE1\xAD\xADt\xFAA\x92\x1D3A\xDA\xB1w\xB4\xFD\x14*E\x8A\xE9vG\x1C\xB2\xDF\xF6\x899\x1E\x00\x5C0,D\x86\x14\x9D\xD9PW/R\x94\xBD\xA3@-\x07\xCB\xF9\xAC\xCF\xE5\x98L\xB3'E)\xB5\x9B\xB7\xAC\xE2-\xF6J2\x03fn\xB0\x0C\x01\xB3\xDA\xDC\xE4WK\xB7" 400 150 "-" "-" IP_RANGE_2 - - [09/Oct/2025:03:33:51 +0200] "\x16\x03\x01\x00{\x01\x00\x00w\x03\x03\xB7B\xE11\xDE\xC0\x80t\xE8\xA3\x1D\xE9\x0F\xFE\xD9\x1C\x19\xB5?\x89<\x18c`\x98\xD9" 400 150 "-" "-" IP_RANGE_3 - - [09/Oct/2025:03:36:56 +0200] "GET /index.php/204 HTTP/1.1" 204 0 "-" "Mozilla/5.0 (Android) Nextcloud-android/3.34.0" [REPEATED_NEXTCLOUD_ENTRIES...] IP_RANGE_4 - - [09/Oct/2025:03:49:46 +0200] "CONNECT httpbin.org:443 HTTP/1.1" 400 150 "-" "-" IP_RANGE_5 - - [09/Oct/2025:03:51:21 +0200] "MGLNDD_IP_RANGE_3_80" 400 150 "-" "-" [REPEATED_NEXTCLOUD_ENTRIES...] IP_RANGE_6 - - [09/Oct/2025:03:53:45 +0200] "GET / HTTP/1.1" 301 162 "-" "bitdiscovery-suggestions" IP_RANGE_6 - - [09/Oct/2025:03:53:46 +0200] "GET / HTTP/1.1" 502 150 "-" "-" IP_RANGE_6 - - [09/Oct/2025:03:54:06 +0200] "GET / HTTP/1.1" 502 150 "-" "bitdiscovery-suggestions" IP_RANGE_4 - - [09/Oct/2025:04:03:31 +0200] "CONNECT httpbin.org:443 HTTP/1.1" 400 150 "-" "-" [REPEATED_NEXTCLOUD_ENTRIES...] IP_RANGE_7 - - [09/Oct/2025:04:10:03 +0200] "\x03\x00\x00/*\xE0\x00\x00\x00\x00\x00Cookie: mstshash=Administr" 400 150 "-" "-" IP_RANGE_8 - - [09/Oct/2025:04:11:51 +0200] "GET / HTTP/1.1" 301 162 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" IP_RANGE_9 - - [09/Oct/2025:04:16:41 +0200] "GET / HTTP/1.1" 301 162 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" IP_RANGE_10 - - [09/Oct/2025:04:26:07 +0200] "GET / HTTP/1.1" 400 650 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_1) AppleWebKit/537.36" IP_RANGE_11 - - [09/Oct/2025:04:28:12 +0200] "GET /.git/refs/remotes/ HTTP/1.1" 301 162 "-" "Mozilla/5.0 (Linux; Android 8.0.0; SM-A910F) AppleWebKit/537.36" [REPEATED_NEXTCLOUD_ENTRIES...] IP_RANGE_3 - - [09/Oct/2025:04:57:59 +0200] "POST /api/webhook/REDACTED_WEBHOOK_ID HTTP/1.1" 200 6927 "-" "Home Assistant/2025.8.7-17352 (Android 13; SM-G781B)" IP_RANGE_3 - - [09/Oct/2025:04:57:59 +0200] "POST /api/webhook/REDACTED_WEBHOOK_ID HTTP/1.1" 200 6927 "-" "Home Assistant/2025.8.7-17352 (Android 13; SM-G781B)" IP_RANGE_12 - - [09/Oct/2025:05:07:15 +0200] "GET / HTTP/1.1" 200 595 "-" "Mozilla/5.0 (compatible; ModatScanner/1.1; +https://modat.io/)" IP_RANGE_13 - - [09/Oct/2025:05:11:26 +0200] "\x16\x03\x01\x00\xEA\x01\x00\x00\xE6\x03\x03`f\xA8\x0C\x0E\xFE\xECC\xAE\x1ETQH\xB1\x85\x84y\xEE,N4\xEC$\x85\xAB\x16\x8B+\xDD\xEE\xFB\x7F 4\xC0\xF8\xC9B\xA9d\x13\x8E\xE9\x94\x93\x9D\x04\xC8\x22\x83\xA5\x9E\x9E\xB3\xC9\xD3\xBA\xA8:\x10\xC4\x8DMM \x00&\xC0+\xC0/\xC0,\xC00\xCC\xA9\xCC\xA8\xC0\x09\xC0\x13\xC0" 400 150 "-" "-" IP_RANGE_13 - - [09/Oct/2025:05:11:36 +0200] "GET / HTTP/1.1" 400 0 "-" "-" IP_RANGE_13 - - [09/Oct/2025:05:12:10 +0200] "GET / HTTP/1.1" 400 0 "-" "-" |
Dit is slechts een selectie, er werd sinds begin oktober al gezocht naar kwetsbaarheden.
Aangezien ik nergens bewijs kon vinden dat de hacker daadwerkelijk toegang had gekregen via de proxy, waren de docker containers de volgende verdachte:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
| Oct 09 04:00:43 Docker watchtower[786]: time="2025-10-09T04:00:43+02:00" level=info msg="Found new lscr.io/linuxserver/jackett:latest image (90ad38b535ef)" Oct 09 04:00:55 Docker watchtower[786]: time="2025-10-09T04:00:55+02:00" level=info msg="Found new eclipse-mosquitto:latest image (bd1d569fb062)" Oct 09 04:01:24 Docker watchtower[786]: time="2025-10-09T04:01:24+02:00" level=info msg="Found new lscr.io/linuxserver/lidarr:latest image (feb69c3671ec)" Oct 09 04:01:59 Docker watchtower[786]: time="2025-10-09T04:01:59+02:00" level=info msg="Found new lscr.io/linuxserver/calibre:latest image (cd13e4256be2)" Oct 09 04:02:09 Docker watchtower[786]: time="2025-10-09T04:02:09+02:00" level=info msg="Found new lscr.io/linuxserver/prowlarr:latest image (4142daf406e4)" Oct 09 04:02:17 Docker watchtower[786]: time="2025-10-09T04:02:17+02:00" level=info msg="Stopping /prowlarr (f60f66ad3145) with SIGTERM" Oct 09 04:02:21 Docker watchtower[786]: time="2025-10-09T04:02:21+02:00" level=info msg="Stopping /calibre (b67359e9a33f) with SIGTERM" Oct 09 04:02:21 Docker calibre[786]: Waiting up to 5 seconds for desktop processes to terminate... Oct 09 04:02:26 Docker calibre[786]: s6-supervise svc-de: warning: finish script lifetime reached maximum value - sending it a SIGKILL Oct 09 04:02:30 Docker watchtower[786]: time="2025-10-09T04:02:30+02:00" level=info msg="Stopping /lidarr (5aae6811122c) with SIGTERM" Oct 09 04:02:35 Docker watchtower[786]: time="2025-10-09T04:02:35+02:00" level=info msg="Stopping /mosquitto (ff688c040c88) with SIGTERM" Oct 09 04:02:36 Docker watchtower[786]: time="2025-10-09T04:02:36+02:00" level=info msg="Stopping /jackett (0c63186e04e2) with SIGTERM" Oct 09 04:02:40 Docker watchtower[786]: time="2025-10-09T04:02:40+02:00" level=info msg="Creating /jackett" Oct 09 04:02:41 Docker watchtower[786]: time="2025-10-09T04:02:41+02:00" level=info msg="Creating /mosquitto" Oct 09 04:02:41 Docker watchtower[786]: time="2025-10-09T04:02:41+02:00" level=info msg="Creating /lidarr" Oct 09 04:02:42 Docker watchtower[786]: time="2025-10-09T04:02:42+02:00" level=info msg="Creating /calibre" Oct 09 04:02:42 Docker watchtower[786]: time="2025-10-09T04:02:42+02:00" level=info msg="Creating /prowlarr" Oct 09 04:02:43 Docker calibre[786]: [migrations] started Oct 09 04:02:43 Docker calibre[786]: [migrations] no migrations found Oct 09 04:02:43 Docker watchtower[786]: time="2025-10-09T04:02:43+02:00" level=info msg="Removing image aa67f9c18c82" Oct 09 04:02:44 Docker calibre[786]: ─────────────────────────────────────── Oct 09 04:02:44 Docker calibre[786]: Oct 09 04:02:44 Docker calibre[786]: ██╗ ███████╗██╗ ██████╗ Oct 09 04:02:44 Docker calibre[786]: ██║ ██╔════╝██║██╔═══██╗ Oct 09 04:02:44 Docker calibre[786]: ██║ ███████╗██║██║ ██║ Oct 09 04:02:44 Docker calibre[786]: ██║ ╚════██║██║██║ ██║ Oct 09 04:02:44 Docker calibre[786]: ███████╗███████║██║╚██████╔╝ Oct 09 04:02:44 Docker calibre[786]: ╚══════╝╚══════╝╚═╝ ╚═════╝ Oct 09 04:02:44 Docker calibre[786]: Oct 09 04:02:44 Docker calibre[786]: Brought to you by linuxserver.io Oct 09 04:02:44 Docker calibre[786]: ─────────────────────────────────────── Oct 09 04:02:44 Docker calibre[786]: Oct 09 04:02:44 Docker calibre[786]: To support LSIO projects visit: Oct 09 04:02:44 Docker calibre[786]: https://www.linuxserver.io/donate/ Oct 09 04:02:44 Docker calibre[786]: Oct 09 04:02:44 Docker calibre[786]: ─────────────────────────────────────── Oct 09 04:02:44 Docker calibre[786]: GID/UID Oct 09 04:02:44 Docker calibre[786]: ─────────────────────────────────────── Oct 09 04:02:44 Docker calibre[786]: Oct 09 04:02:44 Docker calibre[786]: User UID: 1000 Oct 09 04:02:44 Docker calibre[786]: User GID: 1000 Oct 09 04:02:44 Docker calibre[786]: ─────────────────────────────────────── Oct 09 04:02:44 Docker calibre[786]: Linuxserver.io version: v8.12.0-ls362 Oct 09 04:02:44 Docker calibre[786]: Build-date: 2025-10-08T06:50:33+00:00 Oct 09 04:02:44 Docker calibre[786]: ─────────────────────────────────────── Oct 09 04:02:44 Docker calibre[786]: Oct 09 04:02:44 Docker watchtower[786]: time="2025-10-09T04:02:44+02:00" level=info msg="Removing image 3b548e4de8f5" Oct 09 04:02:45 Docker watchtower[786]: time="2025-10-09T04:02:45+02:00" level=info msg="Removing image 42292b8c6592" Oct 09 04:02:45 Docker watchtower[786]: time="2025-10-09T04:02:45+02:00" level=info msg="Removing image 173e4230c45d" Oct 09 04:02:45 Docker watchtower[786]: time="2025-10-09T04:02:45+02:00" level=info msg="Removing image 3d4e9952b966" Oct 09 04:02:45 Docker watchtower[786]: time="2025-10-09T04:02:45+02:00" level=info msg="Session done" Failed=0 Scanned=32 Updated=5 notify=no Oct 09 04:02:46 Docker calibre[786]: [ls.io-init] Creating initial backup of system rc.xml Oct 09 04:02:47 Docker calibre[786]: [custom-init] No custom files found, skipping... Oct 09 04:02:47 Docker calibre[786]: _XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created. Oct 09 04:02:47 Docker calibre[786]: screen 0 shmid 0 Oct 09 04:02:47 Docker calibre[786]: xsettingsd: Loaded 1 setting from /config/.xsettingsd Oct 09 04:02:47 Docker calibre[786]: [ls.io-init] done. Oct 09 04:02:51 Docker calibre[786]: The XKEYBOARD keymap compiler (xkbcomp) reports: Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86CameraAccessEnable Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86CameraAccessDisable Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86CameraAccessToggle Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86NextElement Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86PreviousElement Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86AutopilotEngageToggle Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86MarkWaypoint Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86Sos Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86NavChart Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86FishingChart Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86SingleRangeRadar Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86DualRangeRadar Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86RadarOverlay Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86TraditionalSonar Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86ClearvuSonar Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86SidevuSonar Oct 09 04:02:51 Docker calibre[786]: > Warning: Could not resolve keysym XF86NavInfo Oct 09 04:02:51 Docker calibre[786]: Errors from xkbcomp are not fatal to the X server Oct 09 04:02:51 Docker calibre[786]: xsettingsd: Created window 0x200001 on screen 0 with timestamp 404282787 Oct 09 04:02:51 Docker calibre[786]: xsettingsd: Selection _XSETTINGS_S0 is owned by 0x0 Oct 09 04:02:51 Docker calibre[786]: xsettingsd: Took ownership of selection _XSETTINGS_S0 Oct 09 04:02:51 Docker calibre[786]: 19 Oct 09 04:02:52 Docker calibre[786]: 20 Oct 09 04:02:54 Docker calibre[786]: dbus-daemon[282]: [system] Activating service name='org.freedesktop.login1' requested by ':1.26' (uid=0 pid=383 comm="su") (using servicehelper) Oct 09 04:02:54 Docker calibre[786]: dbus-daemon[282]: [system] Activated service 'org.freedesktop.login1' failed: Failed to execute program org.freedesktop.login1: Permission denied Oct 09 04:02:54 Docker calibre[786]: dbus-daemon[282]: [system] Activating service name='org.freedesktop.login1' requested by ':1.27' (uid=0 pid=395 comm="su") (using servicehelper) Oct 09 04:02:54 Docker calibre[786]: dbus-daemon[282]: [system] Activated service 'org.freedesktop.login1' failed: Failed to execute program org.freedesktop.login1: Permission denied Oct 09 04:02:55 Docker calibre[786]: INFO:data_websocket:pcmflux library found. Audio capture is available. Oct 09 04:02:55 Docker calibre[786]: INFO:data_websocket:pixelflux library found. Striped encoding modes available. Oct 09 04:02:56 Docker calibre[786]: INFO:root:Expected C js_config_t size (from ctypes): 1354 bytes Oct 09 04:02:57 Docker calibre[786]: INFO:main:Upload directory ensured: /config/Desktop Oct 09 04:02:57 Docker calibre[786]: INFO:main:Starting Selkies (WebSocket Mode) with settings: {'audio_enabled': (True, False), 'microphone_enabled': (True, False), 'gamepad_enabled': (True, False), 'clipboard_enabled': (True, False), 'command_enabled': (True, False), 'file_transfers': ['upload', 'download'], 'encoder': 'x264enc', 'framerate': (8, 120), 'h264_crf': (5, 50), 'jpeg_quality': (1, 100), 'h264_fullcolor': (False, False), 'h264_streaming_mode': (False, False), 'use_cpu': (False, False), 'use_paint_over_quality': (True, False), 'paint_over_jpeg_quality': (1, 100), 'h264_paintover_crf': (5, 50), 'h264_paintover_burst_frames': (1, 30), 'second_screen': (True, False), 'audio_bitrate': '320000', 'is_manual_resolution_mode': (False, False), 'manual_width': 0, 'manual_height': 0, 'scaling_dpi': '96', 'enable_binary_clipboard': (False, False), 'use_browser_cursors': (False, False), 'use_css_scaling': (False, False), 'ui_title': 'Selkies', 'ui_show_logo': (True, False), 'ui_show_core_buttons': (True, False), 'ui_show_sidebar': (True, False), 'ui_sidebar_show_video_settings': (True, False), 'ui_sidebar_show_screen_settings': (True, False), 'ui_sidebar_show_audio_settings': (True, False), 'ui_sidebar_show_stats': (True, False), 'ui_sidebar_show_clipboard': (True, False), 'ui_sidebar_show_files': (True, False), 'ui_sidebar_show_apps': (True, False), 'ui_sidebar_show_sharing': (True, False), 'ui_sidebar_show_gamepads': (True, False), 'ui_sidebar_show_fullscreen': (True, False), 'ui_sidebar_show_gaming_mode': (True, False), 'ui_sidebar_show_trackpad': (True, False), 'ui_sidebar_show_keyboard_button': (True, False), 'ui_sidebar_show_soft_buttons': (True, False), 'port': 8082, 'dri_node': '', 'audio_device_name': 'output.monitor', 'watermark_path': '', 'watermark_location': -1, 'debug': (False, False), 'enable_sharing': (True, False), 'enable_collab': (True, False), 'enable_shared': (True, False), 'enable_player2': (True, False), 'enable_player3': (True, False), 'enable_player4': (True, False)} Oct 09 04:02:57 Docker calibre[786]: INFO:main:Initial Encoder: x264enc, Framerate: 60 Oct 09 04:02:57 Docker calibre[786]: INFO:main:SelkiesStreamingApp initialized: encoder=x264enc, display=1024x768 Oct 09 04:02:57 Docker calibre[786]: INFO:main:All main components initialized. Running server... Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:System DPI detected as ~96. Cursor size cap set to 32x32px. Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:Resetting keyboard modifiers. Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:Clipboard monitor running (binary mode: False) Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:Found XFIXES version 4.0 Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:starting cursor monitor Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:watching for cursor changes Oct 09 04:02:57 Docker calibre[786]: WARNING:data_websocket:Cannot broadcast cursor data: no clients connected or server not ready. Oct 09 04:02:57 Docker calibre[786]: INFO:data_websocket:Data WebSocket Server listening on port 8082 Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:Initializing 4 persistent gamepad instances... Oct 09 04:02:57 Docker calibre[786]: INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js0): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64) Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js0.sock, EVDEV socket: /tmp/selkies_event1000.sock. Using fixed config: Microsoft X-Box 360 pad Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:Initialized and started persistent gamepad instance for index 0 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js0.sock, EVDEV: /tmp/selkies_event1000.sock). Oct 09 04:02:57 Docker calibre[786]: INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js1): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64) Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js1.sock, EVDEV socket: /tmp/selkies_event1001.sock. Using fixed config: Microsoft X-Box 360 pad Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:Initialized and started persistent gamepad instance for index 1 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js1.sock, EVDEV: /tmp/selkies_event1001.sock). Oct 09 04:02:57 Docker calibre[786]: INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js2): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64) Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js2.sock, EVDEV socket: /tmp/selkies_event1002.sock. Using fixed config: Microsoft X-Box 360 pad Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:Initialized and started persistent gamepad instance for index 2 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js2.sock, EVDEV: /tmp/selkies_event1002.sock). Oct 09 04:02:57 Docker calibre[786]: INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js3): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64) Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js3.sock, EVDEV socket: /tmp/selkies_event1003.sock. Using fixed config: Microsoft X-Box 360 pad Oct 09 04:02:57 Docker calibre[786]: INFO:webrtc_input:Initialized and started persistent gamepad instance for index 3 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js3.sock, EVDEV: /tmp/selkies_event1003.sock). Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:Gamepad /tmp/selkies_js0.sock: Event processor started. Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js0.sock Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:Gamepad /tmp/selkies_js1.sock: Event processor started. Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js1.sock Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:Gamepad /tmp/selkies_js2.sock: Event processor started. Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js2.sock Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:Gamepad /tmp/selkies_js3.sock: Event processor started. Oct 09 04:02:57 Docker calibre[786]: INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js3.sock Oct 09 04:02:58 Docker calibre[786]: INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1000.sock Oct 09 04:02:58 Docker calibre[786]: INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1001.sock Oct 09 04:02:58 Docker calibre[786]: INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1002.sock Oct 09 04:02:58 Docker calibre[786]: INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1003.sock Oct 09 04:17:58 Docker calibre[786]: WARNING:webrtc_input:Error reading clipboard with xclip: |
Het lijkt er op dat watchtower een update binnen haalde en de geupdate docker container daarna gelijk een exploit draaide om op afstand toegang te krijgen en mijn clipboard uit te lezen. Er bleek binnen de container inderdaad een .config directory te zijn waar een scriptje stond dat xmrig downloade, verbinding maakt met een pool (pool.supportxmr.com) en in een loop nieuwe miner processen start.
Nu rest mij nog de vraag, was de docker image zelf de schuldige, of kon deze .config directory op een andere manier open staan? Vanzelfsprekend heb ik de calibre container verwijderd, is de rest van de server nog wel safe?