Ho la possibilità di eseguire codice Python arbitrario sull'utente 'apache'. Che danno posso fare?

46

Quindi, a causa di una cattiva programmazione da parte di uno dei miei ex colleghi, una delle nostre app Web interne consente all'utente di caricare ed eseguire un file Python arbitrario. Questo di recente è venuto alla luce tramite un suggerimento anonimo. Finora non ho fatto niente di troppo pazzo, semplicemente usando la libreria os per esplorare un po 'la struttura delle directory. Non sono sicuro di quanto danno potrei fare, comunque. C'è un'app web Python e un database MySQL in esecuzione sul server.

Potrei in qualche modo concedermi l'accesso SSH? Non riesco a capire esattamente come andrei su questo. Inoltre, non penso di poter accedere al database, poiché non ho alcuna informazione sull'utente.

Quindi, qual è il limite pratico del danno peggiore che potrei fare qui?

    
posta ian93 07.06.2016 - 18:47
fonte

1 risposta

89

Potresti scrivere del codice Python per caricare un binario del server SSH e poi eseguirlo, questo ti darà pieno accesso SSH sotto i privilegi dell'utente Apache.

Da lì puoi facilmente leggere i file di configurazione dell'app Python e collegarti al database usando le credenziali da lì, che ti permetteranno di catturare dati riservati (non sono necessari exploit in quanto l'app ha già accesso al database).

Inoltre, come indicato da @Aroth nei commenti, puoi anche compromettere altre app in esecuzione sotto lo stesso account utente.

Infine puoi dare un'occhiata a quale versione sono in esecuzione il kernel / le librerie ed eventualmente usare un exploit per ottenere i privilegi di root.

    
risposta data 07.06.2016 - 20:13
fonte

Leggi altre domande sui tag