Ethical Hacking Academy · Lezione

Cron job e PATH

Abuso delle attività pianificate

Lezione 3 di 413 passaggi

Cron job e PATH è una lezione Ethical Hacking Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ethical Hacking Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ethical Hacking Academy include 4 lezioni in totale.

I cron job come vettore

Il demone cron esegue attività pianificate, spesso come root. Se può influenzare ciò che un cron job root esegue — il suo script, i suoi input o il modo in cui risolve i comandi — può eseguire codice come root.

Enumerazione di Cron

Legga il crontab di sistema e le directory di cron. Annoti chi esegue ogni attività e quali script vengono chiamati.

cat /etc/crontab
ls -la /etc/cron.d /etc/cron.daily /etc/cron.hourly
cat /var/spool/cron/crontabs/* 2>/dev/null

Ricerca dei job nascosti

Alcuni job non si trovano nei file più ovvi. pspy monitora la creazione dei processi senza richiedere privilegi root, mostrando i comandi cron nel momento in cui vengono eseguiti — inclusi quelli che non può leggere nella configurazione.

./pspy64
# watch for periodic root processes

Script Cron scrivibili

L'abuso più semplice: un job cron root esegue uno script su cui Lei può scrivere. Aggiunga un payload e attenda l'esecuzione successiva.

ls -la /opt/backup.sh   # -rwxrwxrwx root
echo "cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash" >> /opt/backup.sh

Iniezione tramite wildcard

Se un job cron root usa una wildcard come tar -czf backup.tar.gz * in una directory che Lei controlla, può creare file i cui nomi vengono interpretati come opzioni da riga di comando (iniezione di argomenti), costringendo tar a eseguire il comando desiderato.

touch -- "--checkpoint=1"
touch -- "--checkpoint-action=exec=sh shell.sh"
echo "cp /bin/bash /tmp/rb; chmod +s /tmp/rb" > shell.sh

Che cos'è PATH?

PATH è l'elenco delle directory in cui la shell cerca i comandi. Quando uno script richiama un comando usando solo il nome (ad esempio backup invece di /usr/bin/backup), viene utilizzato il primo file corrispondente in PATH.

echo $PATH
# /usr/local/bin:/usr/bin:/bin

Dirottamento di PATH

Se uno script eseguito da root richiama un comando senza un percorso assoluto e Lei può anteporre a PATH una directory scrivibile, vi collochi un binario malevolo con quel nome. Root eseguirà la Sua versione.

echo -e "#!/bin/bash\ncp /bin/bash /tmp/rb; chmod +s /tmp/rb" > /tmp/backup
chmod +x /tmp/backup
export PATH=/tmp:$PATH

Percorso relativo nei binari SUID

Lo stesso difetto si presenta nei binari SUID personalizzati che chiamano system("service ...") senza un percorso completo. Il dirottamento di PATH esegue quindi il Suo codice come root — combinando l'abuso di PATH con il concetto di SUID.

Sfruttare una directory scrivibile di PATH

Anche senza modificare PATH, se una directory già presente in PATH (come /usr/local/bin) è scrivibile e un job root richiama un comando che si trova al suo interno, è sufficiente inserirvi il proprio binario.

ls -ld /usr/local/bin   # check for write permission

Tempistica dell'attacco

L'escalation basata su cron richiede pazienza — è necessario attendere l'orario pianificato. Annoti l'intervallo, inserisca il payload e verifichi il risultato (ad esempio la shell SUID) dopo l'esecuzione del job.

watch -n 5 ls -la /tmp/rootbash

Difese ed etica

Chi difende i sistemi dovrebbe usare percorsi assoluti negli script, limitare i permessi sugli script cron e sulle relative directory, evitare wildcard nei percorsi controllabili dall'attaccante e impostare un PATH sicuro all'interno di cron. Metta alla prova queste tecniche solo dove è autorizzato.

Verifica rapida

Verifichi le Sue conoscenze di cron/PATH.

Riepilogo

Ha imparato a conoscere l'escalation tramite cron e PATH:

  • I job cron root che richiamano script scrivibili o usano wildcard sono sfruttabili
  • pspy rivela i processi pianificati nascosti
  • Il dirottamento di PATH sfrutta i comandi richiamati senza un percorso assoluto
  • Inserisca il payload, attenda l'esecuzione pianificata e ottenga i privilegi root

Prossimo argomento: gli exploit del kernel.

Gratis per iniziare

Impara Ethical Hacking Academy con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
31
Lezioni
111

Domande Frequenti

La lezione «Cron job e PATH» è gratuita?

Sì — il testo completo di «Cron job e PATH» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ethical Hacking Academy, passa a CoddyKit PRO. Il corso Ethical Hacking Academy include 4 lezioni in totale.

Cosa imparerò in «Cron job e PATH»?

Abuso delle attività pianificate Eserciti Ethical Hacking Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Ethical Hacking Academy?

Non è richiesta alcuna esperienza precedente. Ethical Hacking Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Cron job e PATH»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Ethical Hacking Academy?

Sì. Ogni lezione Ethical Hacking Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Enumerazione
  2. Abuso di SUID e sudo
  3. Cron job e PATH
  4. Exploit del kernel
← Torna a Ethical Hacking Academy