TL & DR
Come fanno quei file offuscati che molti utenti si lamentano di su questo sito SE su come ottenere sui loro sistemi? E dopo, ancora più interessante come vengono eseguiti? Questo è causato dal modo in cui funziona php? Oppure è un problema di configurazioni preinstallate che devono essere modificate per proteggere un sistema 1 ?
Ho letto molte volte qui persone che si lamentano di alcuni file sul loro sistema, non sanno cosa fanno, da dove vengono né come sono arrivati lì.
In realtà non riesco nemmeno a capirlo, quindi come può essere? Questo è costituito dalla meccanica di PHP 2 ?
Ad esempio, ho impostato il mio webserver come fcgi-app, scritto in semplice C che sta comunicando su CGI con nginx.
Il daemon FCGI (con il quale viene invocato il webhost) si trova in un gruppo di utenti con permessi speciali per la lettura / scrittura dei percorsi in cui sono archiviati i file. Quindi, prima di tutto, quando un utente sta caricando qualcosa, la mia app sta analizzando esattamente l'intero pacchetto HTTP. Quindi non riesco davvero a capire come possa essere immagazzinato qualcosa che non voglio conservare lì. Ma ok, le probabilità sono alte Non so tutto (ovviamente non lo faccio) quindi supponiamo che qualcuno abbia creato un pacchetto HTTP con contenuti corporei maligni che passano attraverso il nginx, quindi è l'input della mia app. Questa app ora non si accorge che non è un $WhatEverUsersAreSupposedToUpLoad$
e mette anche questo file dannoso ora nel punto in cui si trovano tutti gli altri file. Con lo stesso accesso limitato a tutti gli altri file (chiamato solo questo gruppo di daemon può leggere / scrivere il file).
Quindi tutto quello che posso immaginare come si possa usare un simile file ora per sfruttare il mio sistema richiede un bug maggiore nella mia app FCGI che risulta in
- 1: Alcuni come consente a un utente Web di modificare i diritti di accesso dell'app stessa ai file in modo che sia eseguibile E in qualche modo lo esegue
- 2: consente alla mia app Web di accedere al file come previsto e in qualche modo utilizzare il contenuto per sfruttare l'app stessa
o
- 3: in qualche modo rende la mia app che analizza i suoi dati di input, fa eseguire il file analizzato nell'app stessa. (Dal momento che il codice eseguibile C deve essere compilato non riesco a immaginare nessuno scenario in cui ciò potrebbe accadere a patto che non si verifichi il passaggio di buffer)
come ho scritto tutti e 3 i punti ora devo ammettere che suonano senza senso ... Ma che altro?
Queste preoccupazioni non riguardano le loro applicazioni in sé, ma le configurazioni di un sistema operativo non funzionante e le app che hanno installato, ignorano qualsiasi misura fatta per il materiale da utilizzare, ma alcune funzionalità principali predefinite del sistema operativo sono sfruttabili se non disabilitate quelle configurazioni?!
Se è così dovrei essere anche interessato?
Tutto ciò che ho configurato è la disabilitazione dell'accesso root remoto e dell'accesso SSH limitato all'autenticazione della chiave.
installato:
- postgresql (limitato agli accessi locali solo dal gruppo di utenti web demoni)
- nginx (configurato per consentire a fcgi con la mia app come percorso di esecuzione)
- installato l'ultimo file fcgi per freeBSD supportato da nginx.
In realtà non ho nemmeno php sul mio sistema.
Ma dal momento che non sono un addetto alla sicurezza (altrimenti probabilmente non lo chiederò a questo),
Non so se questa è la fonte, ed è l'ultima cosa che rimane che potrei immaginare di causare questa minaccia. Ci sono altri file preconfigurati in un'installazione naked che stanno provocando questo tipo di securitythreat da solo?
1 Questo mi consente di ipotizzare che un'installazione del sistema operativo più recente sia da considerare sfruttabile?!
2 La mia ipotesi deriva dal fatto che questo reclamo ogni volta è legato a php