Agregar archivos aca-shell, client-side, heres-johny
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Aca-Shell-A
|
||||
|
||||
En este desafío nos encontramos pruebas relacionadas a comandos básicos de
|
||||
sistemas operativos *nix.
|
||||
|
||||
Primero nos conectamos al servidor con `netcat`.
|
||||
|
||||
Seguimos las instrucciones que nos presenta el servidor. Entramos al directorio
|
||||
`secret`, listamos los archivos y eliminamos todos los archivos de intel.
|
||||
|
||||
```
|
||||
$ rm intel*
|
||||
```
|
||||
|
||||
Nos movemos al directorio `executables` y ejecutamos el bianrio.
|
||||
|
||||
```
|
||||
$ ./dontLookHere
|
||||
```
|
||||
|
||||
Mostramos el usuario con `whoami` y copiamos el archivo `TopSecret` al
|
||||
directorio `tmp`. Por últimos ubicamos el archivo `TopSecret` y mostramos su
|
||||
contenido con `cat`.
|
||||
|
||||
Listo, con eso deberíamos de obtener la bandera.
|
||||
@@ -0,0 +1,37 @@
|
||||
# Client Side is Still Bad
|
||||
|
||||
Se nos da una dirección [URL](http://2018shell2.picoctf.com:55790/)
|
||||
donde encontramos un portal de acceso. Revisando el código fuente encontramos
|
||||
un script que ejecuta la página:
|
||||
|
||||
```javascript
|
||||
<script type="text/javascript">
|
||||
function verify() {
|
||||
checkpass = document.getElementById("pass").value;
|
||||
split = 4;
|
||||
if (checkpass.substring(split*7, split*8) == '}') {
|
||||
if (checkpass.substring(split*6, split*7) == 'd366') {
|
||||
if (checkpass.substring(split*5, split*6) == 'd_3b') {
|
||||
if (checkpass.substring(split*4, split*5) == 's_ba') {
|
||||
if (checkpass.substring(split*3, split*4) == 'nt_i') {
|
||||
if (checkpass.substring(split*2, split*3) == 'clie') {
|
||||
if (checkpass.substring(split, split*2) == 'CTF{') {
|
||||
if (checkpass.substring(0,split) == 'pico') {
|
||||
alert("You got the flag!")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert("Incorrect password");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Si ponemos atención podremos ver que la función realiza la comparación
|
||||
contra la flag, de aquí sólo queda unirla correctamente.
|
||||
@@ -0,0 +1,44 @@
|
||||
# HEEEEEEERE'S Johnny!
|
||||
|
||||
Para este problema se nos entregan dos archivos: `passwd` y `shadow`, desde
|
||||
este momento es posible visualizar hacia donde va el problema:
|
||||
|
||||
El título hace referencia a `john`, un software especializado en realizar
|
||||
_cracking_ de contraseñas. Para el correcto funcionamiento de `john`necesitamos
|
||||
dos archivos, justo los dos que nos son entregados para el reto.
|
||||
|
||||
```
|
||||
root:x:0:0:root:/root:/bin/bash
|
||||
|
||||
root:$6$LcvKHioa$67O1HA8Ti.KHeNbD4rE79ZMl1RbiCw4V7eM.r6AURp2wGnapUpXC.VdVB4WGoS2J5eVKP/1MFeMmXIdveJeOS0:17695:0:99999:7:::
|
||||
```
|
||||
Para realizar un crack simple de la contraseña ejecutamos:
|
||||
|
||||
```
|
||||
# john shadow
|
||||
```
|
||||
|
||||
Revisando la salida del comando nos encontramos lo sigueinte:
|
||||
|
||||
> El proceso es lento. En nuestro caso tomó de 3 a 5 minutos aprox.
|
||||
|
||||
Si revisamos los hints que nos ofrece el desafío podremos ver que hace
|
||||
referencia a `rockyou`, el cual es un popular diccionario que contiene muchas
|
||||
contraseñas obtenidas de Internet.
|
||||
|
||||
Ejecutamos el comando anterior, ahora agregando dos parámetro más:
|
||||
|
||||
```
|
||||
# john --format=crypt --wordlist rockyou.txt shadow
|
||||
```
|
||||
> Agregamos la opción de formato del hash para una búsqueda más rápida.
|
||||
|
||||
Una vez que haya finalizado, podremos mostrar la contraseña:
|
||||
|
||||
```
|
||||
# john --show shadow
|
||||
thematrix
|
||||
```
|
||||
|
||||
Eso debería completar las credenciales de acceso al servidor, una
|
||||
vez que entremos se nos entregará la flag.
|
||||
Reference in New Issue
Block a user