source: https://www.securityfocus.com/bid/51621/info
The 'com_some' component for Joomla! is prone to a local file-include vulnerability because it fails to properly sanitize user-supplied input.
An attacker can exploit this vulnerability to obtain potentially sensitive information and execute arbitrary local scripts in the context of the webserver process. This may allow the attacker to compromise the application and the computer; other attacks are also possible.
http://www.example.com/index.php?option=com_some&controller=../../../../../../../../../../../../../etc/passwd%00
.png.c9b8f3e9eda461da3c0e9ca5ff8c6888.png)
-
Entries
16114 -
Comments
7952 -
Views
863131713
About this blog
Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.
Entries in this blog
source: https://www.securityfocus.com/bid/51622/info
The 'com_bulkenquery' component for Joomla! is prone to a local file-include vulnerability because it fails to properly sanitize user-supplied input.
An attacker can exploit this vulnerability to obtain potentially sensitive information and execute arbitrary local scripts in the context of the webserver process. This may allow the attacker to compromise the application and the computer; other attacks are also possible.
http://www.example.com/index.php?option=com_bulkenquery&controller=../../../../../../../../../../../../../etc/passwd%00
El Path Hijacking y el Library Hijacking son dos técnicas básicas de escalada de privilegios, las cuales si se juntan con por ejemplo, privilegio SUID o sudo, puede llegar a ser peligroso desde el punto de vista de la seguridad.
Índice:
- ¿Qué es el PATH?
- Path Hijacking
- Library Hijacking
¿Qué es el PATH?
Cuando ejecutamos un comando en una terminal o un cmd, como sabe la shell que esa palabra que hemos escrito corresponde a un comando con X función. ¿Qué decide que un comando sea detectado y otro no?:

Todo esto es gracias al PATH. El path es una variable de entorno la cual contiene rutas del sistema. Cuando ejecutamos un comando, el sistema va buscando algún archivo con el nombre del comando que hemos escrito, en cada ruta del path.
Es decir, por ejemplo, cuando escribimos pwd
, el sistema irá buscando un archivo con el mismo nombre en los siguientes directorios con el siguiente orden:

Lo mismo pasaría en Windows:

Y también se aplica a lenguajes de programación, por ejemplo, python:

Solo se hace uso del path cuando se escribe rutas relativas:

En la primera ejecución, el sistema ha usado el path para encontrar donde estaba el binario de whoami
, sin embargo, en la segunda no hace falta, porque ya le indicamos donde se encuentra. Por lo que de la segunda forma podemos evitar ataques como el path hijacking y el library hijacking. De cara al desarrollo de cualquier binario/script, es muy recomendable utilizar rutas absolutas siempre, tanto para comandos si estamos en un lenguaje de comandos como bash o librerías si estamos en un lenguaje de programación como por ejemplo python.
Path Hijacking
Para realizar el path hijacking he creado el siguiente programa en C:

Como vemos, el programa saca las 10 primeras líneas del archivo passwd dos veces, la primera se hace usando la ruta absoluta de head
, y la segunda, de forma relativa. En este punto, compilamos con gcc
para crear el binario:

Nota: en este caso lo hago con un binario compilado para poder hacer uso del permiso SUID de forma idónea.
Para ver de forma más clara el peligro de no usar rutas absolutas, le voy a asignar permiso SUID:

Con esto, si ejecutamos el binario desde el usuario normal lo haremos como el usuario root por el permiso SUID:

Con todo esto hecho, vamos a llevar a cabo el Path Hijacking, si hacemos un strings al binario podemos identificar que se está llamando al comando de forma relativa (esta sería una posible forma de identificarlo si no tenemos acceso al código original):

De esta forma podemos darnos cuenta, aunque no siempre se da el caso en el que podamos verlo.
Además, podemos fijarnos en que se está usando setuid
en el código, esto significa que el código se ejecutará con el usuario del UID que indiquemos (ojo, aunque pongamos 0, no se ejecutará como root si no tiene el permiso SUID, necesitas por así decirlo un doble check, por eso además del setuid
en 0, le ponemos el permiso SUID. Este doble check no aplicaría si fuésemos el usuario root, ya que tenemos privilegios totales, así que con setuid
sería suficiente).
En este punto, vamos a cambiar el PATH añadiéndole la ruta actual y la propia variable del PATH, para no tener problemas de comandos:

En este punto, como el comando que queremos suplantar es head
, creamos un archivo con el mismo nombre y que contenga el comando que queremos ejecutar, en mi caso, bash -p
:

Con el path cambiado para que mire en la ruta actual y un archivo que suplante al head
legítimo, si ejecutamos ahora el binario:

Vemos como en la parte del código que se ejecuta head
de forma relativa, se ejecuta el comando que hemos escrito, de esta forma hemos ejecutado un path hijacking (secuestro del path) y conseguido una shell como root.
Library Hijacking
Entendiendo el path hijacking, el library hijacking es básicamente lo mismo, solo cambiando un poco el aspecto práctico. Vamos a usar el siguiente código en python:

Como vemos, la función del script es hacer una petición al blog y ver su código de respuesta:

Entonces, como se ve en el código, se está llamando a la librería requests
de forma relativa:

Vamos a aprovecharnos de esto para ejecutar un Library Hijacking. Lo primero de todo es comprobar el path que sigue python3
, esto lo podemos hacer con la librería sys
:

Si nos fijamos, el primer sitio donde python comprueba de forma por defecto la existencia de la librería es en ' '
, esto significa la ruta actual. Por lo que simplemente vamos a crear un archivo que se llame requests.py
en la ruta actual:

De esta forma, si ejecutamos el script:

Conseguimos ejecutar el comando que hemos especificado, en este caso, una shell.
Ojo, en este caso, el privilegio SUID no se lo aplicamos a python, ya que al tratarse de un script, interfiere la propia capa de seguridad del propio permiso SUID:

Sin embargo, si podríamos aprovecharnos para convertirnos en root si por ejemplo tenemos privilegios sudo sobre la ejecución del script.
source: https://www.securityfocus.com/bid/51620/info
The 'com_car' component for Joomla! is prone to multiple SQL-injection vulnerabilities because it fails to sufficiently sanitize user-supplied data before using it in an SQL query.
Exploiting these issues could allow an attacker to compromise the application, access or modify data, or exploit latent vulnerabilities in the underlying database.
http://www.example.com/index.php?option=com_car&view=product&modelsid=[SQLi]
http://www.example.com/index.php?option=com_car&view=product&task=showAll&markid=[SQLi]
http://www.example.com/index.php?option=com_car&brand_id=[SQLi]
http://www.example.com/index.php?option=com_car&view=product&task=detail&markid=6&modelsid=&cid[]=[SQLi]
http://www.example.com/index.php?option=com_car&view=product&markid=&modelsid=[SQLi]

Joomla! Component com_kp - 'Controller' Local File Inclusion
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Joomla! Component com_rand - SQL Injection
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

WebGate WESP SDK 1.2 - ChangePassword Stack Overflow
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

WebGate WinRDS 2.0.8 - PlaySiteAllChannel Stack Buffer Overflow
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Multiple WordPress UpThemes Themes - Arbitrary File Upload
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

WordPress Plugin WP Easy Slideshow 1.0.3 - Multiple Vulnerabilities
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Configurar Linux para que actúe como Router (IP Forwarding)
HACKER · %s · %s
Para este post estaremos usando las siguientes máquinas:
3 Equipos:Kali –> Mi equipo de atacanteIP: 192.168.10.10 Debian 1 –> Actuará como RouterIP: 192.168.10.20 y 192.168.20.10 –> 2 Interfaces de Red Debian 2 –> Servidor Apache 2 activadoIP: 192.168.20.20 Para comprobarlo, tendremos que mirar el contenido del archivo /proc/sys/net/ipv4/ip_forward.
Si está desactivado, el contenido será 0, por lo que, si queremos activarlo, tendremos que modificar su contenido a 1:
echo '1' > /proc/sys/net/ipv4/ip_forward
Teniendo este valor activado en el Debian 1, ya solo queda agregar el enrutamiento estático.
¡OJO!, importante, tendremos que agregar la ruta estática por supuesto a nuestro kali, pero no olvidemos que también tendremos que agregarla a la máquina con la que queramos interactuar de la otra red (Debian 2), para que las respuestas sepan llegar a nosotros.
Podemos ver las rutas estáticas con el siguiente comando:
Podemos agregar y eliminar rutas estáticas a nuestro antojo con los siguientes comandos (hace falta root):
Agregar: ip route add <ip de red a llegar>/<mascara de red en CIDR> via <ip del router> dev <interfaz a usar>
Eliminar: ip route delete <ip de red a llegar>/<mascara de red en CIDR> via <ip del router> dev <interfaz a usar>
De esta forma, en este caso, las rutas a agregar tanto en el Kali como en el Debian 2, serían las siguientes:
Kali: Debian 2: Teniendo el IP Forwarding ya activado en el Debian 1 y las rutas estáticas tanto en el Kali como en el Debian 2, ya podemos comunicarnos entre estos dos dispositivos sin ningún tipo de problema:
Y con esto ya habríamos configurado un Linux como router, además de hacer uso de ip route para agregar rutas que no tenemos de forma por defecto.
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

WordPress Plugin Simple Ads Manager - Information Disclosure
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Ericsson Drutt MSDP (Instance Monitor) - Directory Traversal
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Raven 1.0 - 'connector.asp' Arbitrary File Upload
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

WordPress Plugin Business Intelligence - SQL Injection (Metasploit)
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

WebGate eDVR Manager 2.6.4 - Connect Method Stack Buffer Overflow
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Kemp Load Master 7.1.16 - Multiple Vulnerabilities
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

WordPress Plugin Simple Ads Manager - Multiple SQL Injections
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

WordPress Plugin Simple Ads Manager 2.5.94 - Arbitrary File Upload
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

phpSFP Schedule Facebook Posts 1.5.6 - SQL Injection
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view