Escalation dalla shell di Apache alla root

6

Ho una domanda noob. Ho provato a sfruttare shellshock sul mio server Linux Slackware, ma dopo essermi connesso con reverse shell e User Agent ottengo che sono un utente apache e l'utente apache non ha troppi privilegi, quindi penso che non ci sia modo per nessuno di accedere all'account root o fare qualcosa di sbagliato sul sistema. Ho ragione?

    
posta Vladimir 27.09.2014 - 15:42
fonte

2 risposte

8

Hai ragione a ottenere l'accesso all'UID del processo / script che hai sfruttato. Nel caso dell'identità di Apache senza controllo obbligatorio degli accessi e senza una corretta separazione dei ruoli di sviluppatore e apache, puoi:

  • distruggi o distruggi i siti Web gestiti da Apache
  • modifica il codice dei siti web per filtrare tutto il database degli utenti su un URL fisso che puoi quindi consultare
  • aggiungi script dannosi alle pagine per offrire malware ai visitatori del sito
  • ospita i tuoi siti web (ad esempio, per far crescere l'infrastruttura di comando e controllo della botnet esistente)

Con un criterio di controllo di accesso obbligatorio di base (ad esempio, SELinux / AppArmor) che non separa il ruolo di amministratore Apache dal processo effettivo (in genere, che consente al dominio che esegue l'effettivo binario di Apache di scrivere nei file apache _ * t) e con un accesso in sola lettura al codice web puoi probabilmente:

E probabilmente un paio di altre cose ... Qui non ti interessa del sistema operativo in sé, ti preoccupi della capacità del contenuto dell'host, rubi i dati e altera i siti web esistenti e visitati. La sicurezza che conservi dopo l'exploit dipende molto da quanto bene hai suddiviso in compartimenti il tuo sistema operativo in primo luogo.

    
risposta data 27.09.2014 - 16:07
fonte
3

Possono solo avere accesso all'account utente Apache, ma potrebbe esserci un altro exploit o errata configurazione sul tuo particolare sistema che consentirebbe a un utente malintenzionato elevate i loro privilegi a quelli di root.

Local privilege escalation happens when one user acquires the system rights of another user. Network intruders have many techniques for increasing privileges once they have gained a foothold on a system. The initial intrusion could start from anywhere. A guest account? A local user who has carelessly written a username and password on a Post It note? Everyday users typically operate at a relatively low privilege level – specifically to prevent someone who obtains their credentials from gaining control of the system. Once inside, the intruder employs privilege escalation techniques to increase the level of control over the system.

Ad esempio, è sufficiente eseguire il Kernel Linux < = 2.6.36-rc8 - Escalation dei privilegi locali del protocollo RDS exploit eleverà la shell corrente su root su un kernel vulnerabile:

[limited@fedora ~]$ whoami
limited
[limited@fedora ~]$ id
uid=500(limited) gid=500(limited) groups=500(limited)

[limited@fedora ~]$ ./linux-rds-exploit 
[*] Linux kernel >= 2.6.30 RDS socket exploit
[*] by Dan Rosenberg
[*] Resolving kernel addresses...
 [+] Resolved rds_proto_ops to 0xe125ca1c
 [+] Resolved rds_ioctl to 0xe124706a
 [+] Resolved commit_creds to 0xc0444f65
 [+] Resolved prepare_kernel_cred to 0xc0444dc6
[*] Overwriting function pointer...
[*] Triggering payload...
[*] Restoring function pointer...
[*] Got root!
sh-4.0# whoami
root
    
risposta data 28.09.2014 - 10:32
fonte

Leggi altre domande sui tag