Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MinusFour

#3081
Hacking / Re: Hack my server II
1 Agosto 2014, 22:06 PM
Cita de: #!drvy en  1 Agosto 2014, 21:52 PM
@MinusFour como conseguiste ejecutar PHP ?

Saludos

No lo he podido lograr todavía, por alguna razón no escapa las comillas xD.

Pero está esto:

http://blog.sjinks.pro/wordpress/858-information-disclosure-via-sql-injection-attack/

Por cierto WHK te dejaste la IP en tus logs.

Edit: Noup, por más que lo intento las comillas las escapan y las imprimen, así que me imagino que esa vulnerabilidad no puede ejecutar código php.
#3082
Hacking / Re: Hack my server II
1 Agosto 2014, 21:42 PM
Cita de: #!drvy en  1 Agosto 2014, 21:32 PM
El ID es 1, hay usuarios del 1 al 7. WHK, el tienes el PHPMyADMIN desprotegido para lanzar cualquier SQL xD, el wp-config.php

db_user = 'root';
db_password = '';
db_name = 'hackme2';
db_prefix = 'wp_';

Saludos

¿El wp_config.php lo puedes ver usando el infile? :O

Por cierto el exploit en python lo estoy probando y como quiera no regresa el hash xD
#3083
Hacking / Re: Hack my server II
1 Agosto 2014, 21:09 PM
Cita de: WHK en  1 Agosto 2014, 20:50 PM
Por lo visto nadie le ha tomado encuenta al wordpress, solo he visto nmap y accesos via server y phpmyadmin pero nada del wordpress instalado.

Esa version de wordpress es un 2.0 Realse candidate y se puede saber mirando el código fuente de la pagina principal:

<meta name="generator" content="WordPress 2.0.1-rc1" /> <!-- leave this for stats -->

Al buscar la version en internet verás que hay muchos CVE-IDs con muchos agujeros, hay dos inyecciones sql, una subida arbitraria de archivos y muchos xss y xsrf, pero lo que mas importa son las inyecciones sql y la subida remota de archivos.

CVE-IDs:
http://www.cvedetails.com/version/80039/Wordpress-Wordpress-2.0.1.html

Yo me estoy enfocando en el CVE-ID: CVE-2009-2334 del cual encontré información directa y oficial acá:
http://www.openwall.com/lists/oss-security/2009/08/04/5

Fuí a la referencia de Wordpress y vi los diff de los archivos:
https://core.trac.wordpress.org/changeset/11769

Con esto me di cuenta que podias modificar links sin ser admin asi que reviso el código fuente de mi archivo objetivo: edit-link-form.php
https://core.trac.wordpress.org/browser/branches/2.8/wp-admin/edit-link-form.php?rev=11769

El problema es que no se despliega el contenido ni sirven las acciones en el archivo. Será que la versión es un fake? no quiero entrar al phpmyadmin para ver la version de wordpress o si no se pierde toda la gracia de hacer un hackeo de verdad.


Ese no lo habia visto, no lo categorizan como 2.0.1 rc1, lo ponen como 2.0.1 pero me imagino que es lo mismo o sin verificar en la RC1 xD.

Yo ya probe este:

http://www.cvedetails.com/cve/CVE-2010-4257/

Y funciona perfectamente. Pero le voy a dar una ojeada a los que aparecen como 2.0.1 porque los que yo veia eran estos:

http://www.cvedetails.com/vulnerability-list/vendor_id-2337/product_id-4096/version_id-80039/Wordpress-Wordpress-2.0.1.html

#3084
Hacking / Re: Hack my server II
1 Agosto 2014, 20:42 PM
Yo siempre pense que passwd no tenia permisos de lectura... pero parece ser que todo mundo puede ver passwd xD tiene permisos 644 por default en mi Debian.

Al parecer puedo correr código en PHP pero ni idea de que hacer, no puedo escribir a archivos y estoy limitado a lo que www-data puede hacer xD.
#3085
Hacking / Re: Hack my server II
1 Agosto 2014, 19:44 PM
Cita de: Baal_30 en  1 Agosto 2014, 19:42 PM
"tonto" jejeje

Teniendo la pass de admin, ¿no se pueden crear directorios y tal? O sea, crear la carpeta upload y todo eso... ¿o eso se hace sólo desde el server con algún programa de los que se usan?

Disculpen mi ignorancia :/

Esa pass la ha puesto yo xD así que dudo mucho que haya otro servicio con esa password xDDD. Alguien cambio la password original de todos modos, así que no podemos saber si la pass original servia para otras cosas.
#3086
Hacking / Re: Hack my server II
1 Agosto 2014, 19:30 PM
No hay permisos de escritura en la carpeta upload tampoco, lo acaba de probar, trate de hacer un post y esto fue lo que me dijo:

The uploaded file could not be moved to .

Aunque bien puede ser que no exista la carpeta uploads o que haya un .htaccess denegando xD.
#3087
Hacking / Re: Hack my server II
1 Agosto 2014, 19:21 PM
Cita de: ret2libc en  1 Agosto 2014, 19:09 PM
http://WEB/wp-includes/ FPD


Código (php) [Seleccionar]

function wp_handle_upload(&$file, $overrides = false) {
// The default error handler.
if (! function_exists('wp_handle_upload_error') ) {
function wp_handle_upload_error(&$file, $message) {
return array('error'=>$message);
}
}

// You may define your own function and pass the name in $overrides['upload_error_handler']
$upload_error_handler = 'wp_handle_upload_error';

// $_POST['action'] must be set and its value must equal $overrides['action'] or this:
$action = 'wp_handle_upload';

// Courtesy of php.net, the strings that describe the error indicated in $_FILES[{form field}]['error'].
$upload_error_strings = array(false,
__("The uploaded file exceeds the <code>upload_max_filesize</code> directive in <code>php.ini</code>."),
__("The uploaded file exceeds the <em>MAX_FILE_SIZE</em> directive that was specified in the HTML form."),
__("The uploaded file was only partially uploaded."),
__("No file was uploaded."),
__("Missing a temporary folder."),
__("Failed to write file to disk."));

// Accepted MIME types are set here as PCRE. Override with $override['mimes'].
$mimes = apply_filters('upload_mimes', array (
'jpg|jpeg|jpe' => 'image/jpeg',
'gif' => 'image/gif',
'png' => 'image/png',
'bmp' => 'image/bmp',
'tif|tiff' => 'image/tiff',
'ico' => 'image/x-icon',
'asf|asx|wax|wmv|wmx' => 'video/asf',
'avi' => 'video/avi',
'mov|qt' => 'video/quicktime',
'mpeg|mpg|mpe' => 'video/mpeg',
'txt|c|cc|h' => 'text/plain',
'rtx' => 'text/richtext',
'css' => 'text/css',
'htm|html' => 'text/html',
'mp3|mp4' => 'audio/mpeg',
'ra|ram' => 'audio/x-realaudio',
'wav' => 'audio/wav',
'ogg' => 'audio/ogg',
'mid|midi' => 'audio/midi',
'wma' => 'audio/wma',
'rtf' => 'application/rtf',
'js' => 'application/javascript',
'pdf' => 'application/pdf',
'doc' => 'application/msword',
'pot|pps|ppt' => 'application/vnd.ms-powerpoint',
'wri' => 'application/vnd.ms-write',
'xla|xls|xlt|xlw' => 'application/vnd.ms-excel',
'mdb' => 'application/vnd.ms-access',
'mpp' => 'application/vnd.ms-project',
'swf' => 'application/x-shockwave-flash',
'class' => 'application/java',
'tar' => 'application/x-tar',
'zip' => 'application/zip',
'gz|gzip' => 'application/x-gzip',
'exe' => 'application/x-msdownload'
));

// All tests are on by default. Most can be turned off by $override[{test_name}] = false;
$test_form = true;
$test_size = true;

// If you override this, you must provide $ext and $type!!!!
$test_type = true;

// Install user overrides. Did we mention that this voids your warranty?
if ( is_array($overrides) )
extract($overrides, EXTR_OVERWRITE);

// A correct form post will pass this test.
if ( $test_form && (!isset($_POST['action']) || ($_POST['action'] != $action)) )
return $upload_error_handler($file, __('Invalid form submission.'));

// A successful upload will pass this test. It makes no sense to override this one.
if ( $file['error'] > 0 )
return $upload_error_handler($file, $upload_error_strings[$file['error']]);

// A non-empty file will pass this test.
if ( $test_size && !($file['size'] > 0) )
return $upload_error_handler($file, __('File is empty. Please upload something more substantial.'));

// A properly uploaded file will pass this test. There should be no reason to override this one.
if (! @ is_uploaded_file($file['tmp_name']) )
return $upload_error_handler($file, __('Specified file failed upload test.'));

// A correct MIME type will pass this test.
if ( $test_type ) {
$type = false;
$ext = false;
foreach ($mimes as $ext_preg => $mime_match) {
$ext_preg = '![^.]\.(' . $ext_preg . ')$!i';
if ( preg_match($ext_preg, $file['name'], $ext_matches) ) {
$type = $mime_match;
$ext = $ext_matches[1];
}
}

if ( !$type || !$ext )
return $upload_error_handler($file, __('File type does not meet security guidelines. Try another.'));
}

// A writable uploads dir will pass this test. Again, there's no point overriding this one.
if ( ! ( ( $uploads = wp_upload_dir() ) && false === $uploads['error'] ) )
return $upload_error_handler($file, $uploads['error']);

// Increment the file number until we have a unique file to save in $dir. Use $override['unique_filename_callback'] if supplied.
if ( isset($unique_filename_callback) && function_exists($unique_filename_callback) ) {
$filename = $unique_filename_callback($uploads['path'], $file['name']);
} else {
$number = '';
$filename = str_replace('#', '_', $file['name']);
$filename = str_replace(array('\\', "'"), '', $filename);
if ( empty($ext) )
$ext = '';
else
$ext = ".$ext";
while ( file_exists($uploads['path'] . "/$filename") ) {
if ( '' == "$number$ext" )
$filename = $filename . ++$number . $ext;
else
$filename = str_replace("$number$ext", ++$number . $ext, $filename);
}
}

// Move the file to the uploads dir
$new_file = $uploads['path'] . "/$filename";
if ( false === @ move_uploaded_file($file['tmp_name'], $new_file) )
die(printf(__('The uploaded file could not be moved to %s.'), $file['path']));

// Set correct file permissions
$stat = stat(dirname($new_file));
$perms = $stat['mode'] & 0000777;
@ chmod($new_file, $perms);

// Compute the URL
$url = $uploads['url'] . "/$filename";

return array('file' => $new_file, 'url' => $url, 'type' => $type);
}





Mi upload muere en : die(printf(__('The uploaded file could not be moved to %s.'),$file['path']));

Devolviendo como string un .
Es decir : "The uploaded file could not be moved to  ."

Intento desde /wp-admin/link-import.php

Modifico el MAX_FILE_SIZE ,que es un input type="hidden",para poder subir mi shell que tiene mas tamaño.

A ver si alguno se le cae alguna idea de como pasar desde ahi , y tendriamos un bypass al uploader de wordpress.


¿No creo que haya permisos en la carpeta de upload o si? Si es así creo que puedo poner una shell. Según tengo entendido todo el directorio de www esta sin permisos de escritura, solo de lectura y ejecución.
#3088
Hacking / Re: Hack my server II
1 Agosto 2014, 19:17 PM
Cita de: dimitrix en  1 Agosto 2014, 19:05 PM
Exacto, la 2.0 con la ayuda de Peibol consegui una lista de versiones viejas xD

Ganate unos puntitos explicado como sabes que es la 2.0.

http://ipdelserver/readme.html

Y si necesitas saber exactamente la versión de wordpress, necesitas meterte como admin... pongo aquí como hacerlo pero estoy seguro que a alguien ya se le ocurrio... estoy casi seguro.

Para meterte como admin, basta con volver a setear la password del admin en phpmyadmin, esta en la tabla wp_users. Para poner la password, solo basta con remplazar el hash por nuestra contraseña en hash...

http://www.miraclesalad.com/webtools/md5.php

Copias el hash y lo pegas y listo, te puedes loguear como admin xD.

En el footer tenemos una versión exacta de Wordpress...



Por cierto a mi no fue el primero que se me ocurrio lo de cambiar la password, pero que cabron el que lo hizo porque ya me habia puesto a crackear el hash >.> y ahora se que no me va a decir nada LOL.

Otra cosa, ya que puse aquí como ganar privilegios de admin en el wordpress, sería bueno que lo dejaramos en una sola password.
#3089
Hacking / Re: Hack my server II
1 Agosto 2014, 18:42 PM
Por cierto para el que haya encontrado alguna vulnerabilidad de wordpress, si viene con permisos por default el proceso de apache no va a permitir escribir a la carpeta de www así que si intentan subir una shell por ahí ni lo intenten. Lo que podrían hacer si encontraron una vulnerabilidad es usar shell_exec...

Para el que no se haya dado cuenta O.o esto es wordpress 2.0... estoy seguro que debe haber muchas vulnerabilidades....

WordPress
Version 2.0
#3090
Hacking / Re: Re: Hack my server II
1 Agosto 2014, 18:30 PM
Cita de: alkage en  1 Agosto 2014, 18:27 PM
Que Lammer urruina juego! No siguió las reglas.

Tranquilo, ya he restaurado la pagina.

Muy buena esa #!drvy XDDD (si es que fuiste tu...)

Para el que quiera saber del deface, eso fue una cosa muy sencilla. Simplemente a modificado la noticia e insertado HTML que cubria el blog entero.

No se han modificado archivos de la instalacion de wordpress, probablemente porque tiene permisos por default:

root root rwxr-xr-x