Solution de lrstx pour Horreur, malheur 2/5 - Accès initial

forensics

1 mai 2024

On jette un œil aux logs de l’équipement :

$ tar tJvf horreur-malheur.tar.xz 
drwxr-xr-x fcsc2024/fcsc2024 0 1970-01-01 00:00 data/
drwxr-xr-x fcsc2024/fcsc2024 0 1970-01-01 00:00 data/var/
drwxr-xr-x fcsc2024/fcsc2024 0 1970-01-01 00:00 data/var/dlogs/
-rw-r--r-- fcsc2024/fcsc2024 1522 1970-01-01 00:00 data/var/dlogs/esapdata_rest_server.log.old
-rw-r--r-- fcsc2024/fcsc2024 28203108 1970-01-01 00:00 data/var/dlogs/debuglog.old
-rw-r--r-- fcsc2024/fcsc2024     1854 1970-01-01 00:00 data/var/dlogs/config_rest_server.log.old
-rw-r--r-- fcsc2024/fcsc2024   210956 1970-01-01 00:00 data/var/dlogs/debuglog
-rw-r--r-- fcsc2024/fcsc2024      210 1970-01-01 00:00 data/var/dlogs/user_import_debuglog
-rw-r--r-- fcsc2024/fcsc2024  1133915 1970-01-01 00:00 data/var/dlogs/nodemonlog.old
-rw-r--r-- fcsc2024/fcsc2024     1698 1970-01-01 00:00 data/var/dlogs/gwpolicy_rest_server.log
-rw-r--r-- fcsc2024/fcsc2024     1698 1970-01-01 00:00 data/var/dlogs/config_rest_server.log
-rw-r--r-- fcsc2024/fcsc2024  1210302 1970-01-01 00:00 data/var/dlogs/nodemonlog
-rw-r--r-- fcsc2024/fcsc2024 15635297 1970-01-01 00:00 data/var/dlogs/system_import_debuglog
-rw-r--r-- fcsc2024/fcsc2024     1698 1970-01-01 00:00 data/var/dlogs/session_rest_server.log
-rw-r--r-- fcsc2024/fcsc2024     1522 1970-01-01 00:00 data/var/dlogs/gwpolicy_rest_server.log.old
-rw-r--r-- fcsc2024/fcsc2024     1698 1970-01-01 00:00 data/var/dlogs/namedusersrestserver.log
-rw-r--r-- fcsc2024/fcsc2024     1522 1970-01-01 00:00 data/var/dlogs/tasks_rest_server.log.old
-rw-r--r-- fcsc2024/fcsc2024     1698 1970-01-01 00:00 data/var/dlogs/tasks_rest_server.log
-rw-r--r-- fcsc2024/fcsc2024     1698 1970-01-01 00:00 data/var/dlogs/aaaservices_rest_server.log
-rw-r--r-- fcsc2024/fcsc2024     1699 1970-01-01 00:00 data/var/dlogs/custom_actions_rest_server.log
-rw-r--r-- fcsc2024/fcsc2024     1524 1970-01-01 00:00 data/var/dlogs/custom_actions_rest_server.log.old
-rw-r--r-- fcsc2024/fcsc2024     1522 1970-01-01 00:00 data/var/dlogs/aaaservices_rest_server.log.old
-rw-r--r-- fcsc2024/fcsc2024     1522 1970-01-01 00:00 data/var/dlogs/enduserportal_rest_server.log.old
-rw-r--r-- fcsc2024/fcsc2024     1568 1970-01-01 00:00 data/var/dlogs/namedusersrestserver.log.old
-rw-r--r-- fcsc2024/fcsc2024     2958 1970-01-01 00:00 data/var/dlogs/ueba_webserv.log
-rw-r--r-- fcsc2024/fcsc2024 17404787 1970-01-01 00:00 data/var/dlogs/cav_webserv.log
-rw-r--r-- fcsc2024/fcsc2024     3080 1970-01-01 00:00 data/var/dlogs/monrestserver.log
-rw-r--r-- fcsc2024/fcsc2024     1698 1970-01-01 00:00 data/var/dlogs/esapdata_rest_server.log
-rw-r--r-- fcsc2024/fcsc2024 24600541 1970-01-01 00:00 data/var/dlogs/cav_webserv.log.old
-rw-r--r-- fcsc2024/fcsc2024     1698 1970-01-01 00:00 data/var/dlogs/enduserportal_rest_server.log

Bon, des logs donc… Que doit-on chercher ? Renseignons-nous sur les vulnérabilités Ivanti. Une bonne introduction est fournie par cet article de Rapid7. On cherche également quelques exploits publiés et voir si on trouve des choses qui ressemblent dans les logs.

On grep totp pour voir:

data/var/dlogs/config_rest_server.log.old:[pid: 6299|app: 0|req: 1/1] 172.18.0.4 () {30 vars in 501 bytes} [Fri Mar 15 06:29:17 2024] POST /api/v1/totp/user-backup-code/../../system/maintenance/archiving/cloud-server-test-connection => generated 14 bytes in 164281 msecs (HTTP/1.1 200) 2 headers in 71 bytes (1 switches on core 0)

Et on a une adresse IP en plus ! Mais ça ne valide pas avec le flag FCSC{CVE-2024-21887:172.18.0.4}. Un grand classique dans ce genre de logs est que l’adresse présentée est celle du reverse-proxy. Et ça se confirme dans le log data/var/dlogs/nodemonlog. Ce log nous indique aussi qu’il existe des connexions de la même IP extérieure depuis un shell, on a donc bien notre attaquant !

web        6264     root   23u     IPv6            1707721       0t0        TCP 172.18.0.4:https->20.13.3.0:55102 (ESTABLISHED)
web        6264     root   29u     IPv4            1707724       0t0        TCP 172.18.0.4:55889->127.0.0.1:8090 (ESTABLISHED)
sh        21972     root    0u     IPv4            1465043       0t0        TCP 172.18.0.4:13606->20.13.3.0:krb524 (ESTABLISHED)
sh        21972     root    1u     IPv4            1465043       0t0        TCP 172.18.0.4:13606->20.13.3.0:krb524 (ESTABLISHED)
sh        21972     root    2u     IPv4            1465043       0t0        TCP 172.18.0.4:13606->20.13.3.0:krb524 (ESTABLISHED)
sh        21972     root  255u     IPv4            1465043       0t0        TCP 172.18.0.4:13606->20.13.3.0:krb524 (ESTABLISHED)

Le flag est FCSC{CVE-2024-21887:20.13.3.0}.