-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
monkeyhack
committed
Nov 28, 2023
1 parent
898ecb3
commit f7f6b6f
Showing
15 changed files
with
313 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
--- | ||
layout: post | ||
title: Devel - Hack The Box | ||
date: 2023-11-25 | ||
categories: [htb, windows] | ||
tags: [smb, cve, eternalblue, easy] | ||
image: | ||
path: htb-writeup-devel/devel_logo.png | ||
alt: devel | ||
--- | ||
|
||
![logo](htb-writeup-devel/logo.png){: .right w="200" h="200" } | ||
|
||
Legacy es una máquina interesante, enumerando el puerto `445` donde corre `smb`, y con la herramienta `crackmapexec` | ||
vimos la versión del windows que era 5.1 y claramente tenía que ser vulnerable al `EternalBlue`, lo pudimos comprobar con los | ||
scripts de `nmap`, buscamos el `CVE` en github para luego ejecutar el exploit y ganar acceso al sistema, lo crítico del | ||
`EternalBlue` es que al ganar acceso lo hacemos directamente como usuario Administrador. | ||
|
||
## Reconocimiento | ||
|
||
### Directorios de trabajo | ||
|
||
```bash | ||
mkdir devel | ||
cd devel | ||
mkdir nmap content exploit | ||
``` | ||
{: .nolineno} | ||
|
||
### nmap | ||
|
||
```bash | ||
sudo nmap -p- --open -sS --min-rate 5000 -Pn -n -sCV 10.10.10.5 -oN version-port | ||
``` | ||
{: .nolineno} | ||
|
||
### version-port | ||
|
||
```ruby | ||
Nmap scan report for 10.10.10.5 | ||
Host is up (0.16s latency). | ||
Not shown: 65533 filtered tcp ports (no-response) | ||
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit | ||
PORT STATE SERVICE VERSION | ||
21/tcp open ftp Microsoft ftpd | ||
| ftp-syst: | ||
|_ SYST: Windows_NT | ||
| ftp-anon: Anonymous FTP login allowed (FTP code 230) | ||
| 03-18-17 01:06AM <DIR> aspnet_client | ||
| 03-17-17 04:37PM 689 iisstart.htm | ||
| 11-24-23 01:40PM 2905 reverse.aspx | ||
|_03-17-17 04:37PM 184946 welcome.png | ||
80/tcp open http Microsoft IIS httpd 7.5 | ||
|_http-server-header: Microsoft-IIS/7.5 | ||
| http-methods: | ||
|_ Potentially risky methods: TRACE | ||
|_http-title: IIS7 | ||
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows | ||
``` | ||
{: .nolineno} | ||
|
||
- 135: msrpc | ||
+ Microsoft Windows RPC | ||
- 139: netbios-ssn | ||
+ Microsoft Windows netbios-ssn | ||
- 445: microsoft-ds | ||
+ Windows XP microsoft-ds | ||
|
||
el puerto que me llama la atención es `445` suele ser `smb` y cuando puedo siempre enumero ese servicio | ||
|
||
|
||
## 445: smb | ||
|
||
### crackmapexec | ||
|
||
para darme una primera idea de a qué me voy a enfrentar, uso la herramienta `crackmapexec` para ver el nombre de la máquina | ||
ver si el smb está firmado, el dominio etc. yo lo ejecuto con `poetry` hay muchas forma de usarlo | ||
|
||
```bash | ||
poetry run crackmapexec smb 10.10.10.4 | ||
SMB 10.10.10.4 445 LEGACY [*] Windows 5.1 (name:LEGACY) (domain:legacy) (signing:False) (SMBv1:True) | ||
``` | ||
{: .nolineno} | ||
|
||
- name:LEGACY | ||
- signing:False | ||
- SMBv1:True | ||
- domain:legacy | ||
|
||
### smbclient | ||
|
||
ahora quiero ver los recursos compartidos a nivel de red de este servidor, una herramienta muy buena es `smbclient` | ||
que me permite justo eso, listar los recursos | ||
|
||
![](htb-writeup-legacy/smbclient.png) | ||
|
||
no me muestra información, intentemos con otra herramienta | ||
|
||
### smbmap | ||
|
||
`smbmap` también me permite listar los recurso, lo bueno de `smbmap` es que me muestra los recurso y los permisos | ||
que tengo asignado para cada uno de ellos. | ||
|
||
![](htb-writeup-legacy/smbmap.png) | ||
|
||
pero tampoco me muestra nada, hace un momento ví con el `crackmapexec` la versión de windows y es algo antigua, es decir | ||
puede que funcione el `EternalBlue`, y como sabemos eso?. | ||
|
||
lancemos los scripts de `nmap` para que me den más información, y nos reporte si es vulnerable al `EternalBlue` | ||
|
||
![](htb-writeup-legacy/eternal1.png) | ||
|
||
en efecto ese `CVE` está relacionado con el `EternalBlue`, si no tienes ni idea de que es esto | ||
|
||
- [EternalBlue](https://keepcoding.io/blog/que-es-ms17-010/) | ||
+ una pequeña explicación | ||
|
||
- [Exploit EternalBlue](https://github.com/worawit/MS17-010) | ||
+ repositorio del exploit en python | ||
|
||
## intrusión | ||
|
||
nos clonamos el repositorio para explotar la vulnerabilidad | ||
|
||
![logo](htb-writeup-legacy/exploit1.png) | ||
|
||
podemos ver si con el archivo `checker.py` es poblible hacer el ataque | ||
|
||
![logo](htb-writeup-legacy/exploit2.png) | ||
|
||
lo que sale como `pipes` es lo que nos pide para poder tener éxito con el exploit | ||
|
||
ahora para ejecutar comandos, solo tenemos que modificar una función del archivo `zzz_exploit.py` | ||
|
||
![logo](htb-writeup-legacy/exploit3.png) | ||
|
||
primero me descargo el nc.exe de mi equipo, luego lo ejecuto | ||
|
||
![logo](htb-writeup-legacy/exploit4.png) | ||
|
||
ahora modifico el `zzz_exploit.py` para ejecutar el netcat y mandarme una reverse shell | ||
|
||
![logo](htb-writeup-legacy/exploit5.png) | ||
|
||
y listo estamos dentro del sistema como `Administrator` esto es lo fuerte del `EternalBlue` | ||
|
||
![logo](htb-writeup-legacy/flag1.png) | ||
|
||
### flag user john | ||
|
||
me dirijo al directorio del usuario john para ver la primera flag | ||
|
||
![logo](htb-writeup-legacy/flag2.png) | ||
|
||
### flag user Administrator | ||
|
||
y al directorio de Administrator | ||
|
||
![logo](htb-writeup-legacy/flag3.png) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
--- | ||
layout: post | ||
title: Optimum - Hack The Box | ||
date: 2023-11-25 | ||
categories: [htb, windows] | ||
tags: [web, cve, suggester, easy] | ||
image: | ||
path: htb-writeup-optimum/optimum_logo.png | ||
alt: optimum | ||
--- | ||
|
||
![logo](htb-writeup-optimum/logo.png){: .right w="200" h="200" } | ||
|
||
Optimum me pareció una máquina relajada :v, en la primera parte solo viendo la web ya nos dan un nombre y una versión que se pudo | ||
encontrar sin problema en `searchsploit`, con eso ganamos acceso como el usuario `kostas` y ya pudimos ver la primera flag, la otra parte | ||
hice uso de un repositorio de github llamado `windows-exploit-suggester` que nos permitió encontrar un `CVE` para escalar nuestros privilegios y | ||
ser `nt authority\system`. | ||
|
||
|
||
## Reconocimiento | ||
|
||
### Directorios de trabajo | ||
|
||
```bash | ||
mkdir optimum | ||
cd optimum | ||
mkdir nmap content exploit | ||
``` | ||
{: .nolineno} | ||
|
||
### nmap | ||
|
||
```bash | ||
sudo nmap -p- --open -sS --min-rate 5000 -Pn -n -sCV 10.10.10.8 -oN version-port | ||
``` | ||
{: .nolineno} | ||
|
||
### version-port | ||
|
||
```ruby | ||
Nmap scan report for 10.10.10.8 | ||
Host is up (0.16s latency). | ||
Not shown: 65534 filtered tcp ports (no-response) | ||
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit | ||
PORT STATE SERVICE VERSION | ||
80/tcp open http HttpFileServer httpd 2.3 | ||
|_http-server-header: HFS 2.3 | ||
|_http-title: HFS / | ||
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows | ||
``` | ||
{: .nolineno} | ||
|
||
- 80: http | ||
+ HttpFileServer httpd 2.3 | ||
|
||
## http | ||
|
||
veo que corre un servicio web, así que démonos una idea de que puede estar ejecutando por detras | ||
|
||
### whatweb | ||
|
||
voy a lanzar el whatweb a ver que me muestra | ||
|
||
![](htb-writeup-optimum/whatweb1.png) | ||
|
||
nehh nada emocionante que me ayude | ||
|
||
### firefox | ||
|
||
ahora pongo la ip en `firefox` a ver como se ve la web | ||
|
||
![](htb-writeup-optimum/web1.png) | ||
|
||
## intrusión | ||
|
||
### searchsploit | ||
|
||
veo de nombre `HttpFileServer 2.3` esto me llama la atención, así que lo busco en `searchsploit` | ||
|
||
```bash | ||
searchsploit http file server 2.3 | ||
--------------------------------------------------------------------------------------------- --------------------------------- | ||
Exploit Title | Path | ||
--------------------------------------------------------------------------------------------- --------------------------------- | ||
Apache James Server 2.3.2 - Insecure User Creation Arbitrary File Write (Metasploit) | linux/remote/48130.rb | ||
HFS (HTTP File Server) 2.3.x - Remote Command Execution (3) | windows/remote/49584.py | ||
HFS Http File Server 2.3m Build 300 - Buffer Overflow (PoC) | multiple/remote/48569.py | ||
Rejetto HTTP File Server (HFS) - Remote Command Execution (Metasploit) | windows/remote/34926.rb | ||
Rejetto HTTP File Server (HFS) 2.2/2.3 - Arbitrary File Upload | multiple/remote/30850.txt | ||
Rejetto HTTP File Server (HFS) 2.3.x - Remote Command Execution (1) | windows/remote/34668.txt | ||
Rejetto HTTP File Server (HFS) 2.3.x - Remote Command Execution (2) | windows/remote/39161.py | ||
Rejetto HTTP File Server (HFS) 2.3a/2.3b/2.3c - Remote Command Execution | windows/webapps/34852.txt | ||
Rejetto HttpFileServer 2.3.x - Remote Command Execution (3) | windows/webapps/49125.py | ||
--------------------------------------------------------------------------------------------- --------------------------------- | ||
``` | ||
{: .nolineno} | ||
|
||
escojo el último exploit en python, lo copio en local y vemos el código para saber como usarlo. | ||
|
||
![](htb-writeup-optimum/exploit1.png) | ||
|
||
parece que solo se ejecuta pasando la ip y el puerto del servidor, y el último parámetro es el comando a ejecutar, | ||
vemos un ejemplo en el que se monta un servidor y se ejecuta el script en `powershell` de `nishang`, es lo que voy a hacer | ||
|
||
como estoy en `parrot` tengo esos script en local, entoces me los copio y le cambio el nombre | ||
|
||
```bash | ||
cp /usr/share/nishang/Shells/Invoke-PowerShellTcp.ps1 PS.ps1 | ||
``` | ||
{: .nolineno} | ||
|
||
y ya saben modificamos la última linea para hacer que el script se ejecute mandano una reverse shell a nuestra máquina, | ||
ahora me monto un servidor donde esté el recurso que nombré `PS.ps1` | ||
|
||
![](htb-writeup-optimum/exploit2.png) | ||
|
||
y estamos dentro, | ||
|
||
## flag de usuario kostas | ||
|
||
![](htb-writeup-optimum/flag1.png) | ||
|
||
ashh rayo tengo incovenientes para ejecutar algunos comando en `powershell`, jejeje debe ser que no soy | ||
muy bueno en `powershell`, voy a subir el `nc.exe` y con la terminal que tengo, me voy a mandar un `cmd` por `netcat` | ||
para estar algo más cómodo. listo enumeremos | ||
|
||
![](htb-writeup-optimum/systeminfo.png) | ||
|
||
nada interesante, voy a clonarme el `windows-exploit-suggester` esta utilidad nos permite buscar vulnerabilidades solo con la información | ||
del `systeminfo` , entoces me copio toda la información que sale con el comando `systeminfo` lo guardo en la carpeta donde cloné el repositorio | ||
|
||
### windows-exploit-suggester | ||
|
||
![](htb-writeup-optimum/exploit3.png) | ||
|
||
- --update | ||
+ descarga la base de datos, donde busca vulnerabilidades con respecto a la información que vea | ||
- --database | ||
+ le pasamos el archivo que descarga cuadno hacemos el --update | ||
- --systeminfo | ||
+ le pasamos el archivo con la información del systeminfo de la máquina víctima | ||
|
||
veo una vulnerabilida interesante que según veo me va permitir escalar mis privilegios, así que me descargo el binario relacionado a esa | ||
vulnerabilidad para subirlo al servidor de la víctima. | ||
|
||
![](htb-writeup-optimum/exploit4.png) | ||
|
||
lo ejecuto y ya somos `nt authority\system` | ||
|
||
ahora solo queda ir por la flag y list | ||
|
||
## flag usuario administrator | ||
|
||
![](htb-writeup-optimum/flag2.png) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.