Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sqlite-rsync-ssh — SQLite 3.53.4 sqlite3_rsync - Alto - Remoto - RCE - Iniezione di comandi tramite nome file SSH | Kitploit
Strumenti/GitHubGitHub/abraxas/sqlite-rsync-ssh
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlRed TeamingLab e Pratica
GitHubabraxas/sqlite-rsync-ssh

sqlite-rsync-ssh

SQLite 3.53.4 sqlite3_rsync - Alto - Remoto - RCE - Iniezione di comandi tramite nome file SSH

Vedi Repository
6 giorni 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

Abraxas Labs - sqlite-rsync-ssh

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  sqlite-rsync-ssh

sqlite-rsync-ssh

Classe: RCE (command injection) Portata: Remota (UI:R)

SQLite 3.53.4 (b09c88c) sqlite3_rsync racchiude USER@HOST:PATH tra virgolette per il locale /bin/sh -c. OpenSSH poi unisce con spazi gli argv remoti per la login shell senza quelle virgolette. Un punto e virgola, $(), un backtick o | nel PATH viene eseguito con l'UID remoto SSH. È un'utility, non libsqlite3. Lo stack smash readPow2 x>16 di Ada Logics è chiuso su questo pin.

IDnessuna CVE al momento
ClasseRCE (command injection con l'UID remoto SSH)
PortataRemota (la vittima esegue sqlite3_rsync; UI:R)
CWECWE-78
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
ProdottoSQLite utility sqlite3_rsync
Affetto3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69, SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc)
Authla vittima esegue sqlite3_rsync con un USER@HOST:PATH ostile
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1:18910. Echo witness. Nessuna reverse shell.

Cosa può fare un attaccante

Inserisci ;, $(), backtick o | nel percorso remoto di sqlite3_rsync USER@HOST:PATH. La vittima deve eseguire l'utility (UI:R). Il comando aggiuntivo viene eseguito con l'UID remoto SSH.

append_escaped_arg(..., 1) racchiude tra apici singoli per il locale /bin/sh -c. Quegli apici vengono consumati localmente. OpenSSH concatena gli argv rimanenti in un'unica stringa di comando remota. La login shell vede i metacaratteri senza virgolette.

Questo non è libsqlite3. Il sqlite3.c predefinito non include questo protocollo. Lo stack smash della replica di Ada Logics (cap dell'esponente readPow2) è già chiuso su 3.53.4.

Come l'ho trovato

Venti ricerche nel sorgente del tag SQLite version-3.53.4 dopo l'ondata FTS5 / session di 3.53.2. La libreria predefinita ha ancora altri residui (questo pacchetto è l'utility rsync). tool/sqlite3_rsync.c popen2 esegue /bin/sh -c. hostSeparator divide al primo due punti. Il valore di ritorno di append_escaped_arg non viene mai controllato.

Vicoli ciechi: considerare ancora aperto lo stack smash di Ada Logics; testare in laboratorio una reverse shell; parlare con un vero sshd; fissare la bozza 3.54.0; definire questa una RCE della libreria.

Lab

cd lab
./run.sh

Compila sqlite3_rsync dallo zip sorgente ufficiale 3.53.4. Il finto OpenSSH unisce gli argv dopo dest. Origin lab@host:;echo SQLITE-RSYNC-SSH-WITNESS>/work/sandbox/pwned.txt. Il comando remoto aveva ;echo senza virgolette. Bind su loopback.

SUCCESS sqlite-rsync-ssh how=openssh-argv-join dest=lab@host remote-has-semicolon=yes SQLITE-RSYNC-SSH-WITNESS

La correzione

Codifica in esadecimale i nomi dei file inviati al peer (isFilename==2 / --encoded-filenames) come fa il trunk b0db2db (2026-10-07, ANT-2026-31X9HVRR) dopo questa GA. USER@HOST e --ssh restano con quoting sh locale. Non fare affidamento sul fatto che gli apici singoli locali sopravvivano alla concatenazione degli argv di OpenSSH.

Riferimenti

  • https://sqlite.org/src pin https://github.com/sqlite/sqlite/tree/version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • https://github.com/sqlite/sqlite/blob/version-3.53.4/tool/sqlite3_rsync.c append_escaped_arg, popen2, argv SSH remoti ORIGIN/REPLICA
  • https://sqlite.org/rsync.html
  • Trunk hex-encode b0db2db / Fossil eaec2f7f (2026-10-07)
Scarica lo strumento