Domanda:
Quale exploit stanno cercando di usare questi programmi utente?
Alexis Evelyn
2019-04-02 23:44:02 UTC
view on stackexchange narkive permalink

Ho appena guardato la mia pagina di monitoraggio dell'agente utente sul mio sito (archiviata su Yandex) e ho notato questi agenti utente. Credo che siano un tentativo di sfruttare il mio server (Nginx con PHP). L'1 davanti è esattamente quante volte l'agente utente è stato visto nel registro di Nginx. Questi sono anche agenti utente abbreviati e non lunghi come Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit / 537.36 (KHTML, come Gecko) Chrome / 73.0.3683.86 Safari / 537.36 . Non ho più accesso ai log perché presumo che ciò sia avvenuto a gennaio o febbraio (i miei log più vecchi sono a marzo e ho creato il sito a gennaio).

  1 Mozilla / 5.9} print (238947899389478923-34567343546345); {1 Mozilla / 5.9 {$ {print (238947899389478923-34567343546345)}} 1 Mozilla / 5.9 \ x22 {$ {print (238947899389478923-34567343546345)}} \ x221 Mozilla / 5.922 238947899389478923-34567343546345); // 1 Mozilla / 5.9 \ x22  

Quale exploit è stato tentato e come posso testare per assicurarmi che questi exploit non siano utilizzabili?

Il programma utente inizia con "()"?Se sì, probabilmente è l '[exploit ShellShock] (https://en.wikipedia.org/wiki/Shellshock_ (software_bug))
@Ferrybig L'exploit shellshock ha una sintassi molto particolare: () {:;};è ciò che lo fa scattare.
Una domanda correlata è https://security.stackexchange.com/questions/184115/.
Aneddoticamente, apprezzo che i numeri utilizzati siano "piuttosto grandi".Ero solito ottenere risultati falsi positivi da uno scanner di vulnerabilità che aggiungeva due numeri a 3 cifre nei suoi test sui problemi di matematica.Quindi "corrisponderebbe" alla somma in una sottostringa di _intestazione "Content-Length".
In Plesk esisteva una vulnerabilità che consentiva di eseguire codice php contenuto nei log.Non sembra, ma il vettore di attacco è simile
Cinque risposte:
Dan Landberg
2019-04-03 01:12:09 UTC
view on stackexchange narkive permalink

Sembra che stia tentando di sfruttare una qualche forma di iniezione di comandi. Come ha menzionato DarkMatter nella sua risposta, questo è stato probabilmente un ampio tentativo di trovare server vulnerabili, piuttosto che mirare specificamente a te. Il payload stesso sembra solo essere testato per vedere se il server è vulnerabile all'iniezione di comandi. Non sembra avere alcuno scopo aggiuntivo.

Per verificare se si potrebbe essere influenzati da questi specifici payload, il modo più semplice sarebbe inviarli al proprio server e vedere come rispondono. Nota che lo dico solo perché i payload stessi sono benigni; Non consiglio di farlo con tutti i payload.

La mia scommessa è che il tuo server non sia vulnerabile, perché mi sarei aspettato di vedere una richiesta di follow-up per sfruttare effettivamente il tuo server.

Si noti che quando si riprova un payload in questo modo, non si controlla di non essere vulnerabili nel momento in cui si è verificato (quando forse alcuni aggiornamenti non sono stati ancora effettuati): solo che non si è * più vulnerabili *.Il tuo server potrebbe ancora essere stato compromesso, anche se non dico che sia necessario.
Il fatto che ci siano questi tentativi particolari (apparentemente non riusciti) nel registro non significa che non ce ne sia stato uno di successo, che non è stato registrato.Nota come alcuni di questi potenziali comandi hanno `$ {...}`, altri no, altri ancora hanno `\ x22` che è virgolette` "` ecc. - il server potrebbe essere stato immune ad alcune combinazioni dicitando / valutando mentre si è vulnerabili agli altri.
DarkMatter
2019-04-03 00:29:31 UTC
view on stackexchange narkive permalink

Probabilmente non è niente. Sembra l'ampio spam di uno scanner che cerca nel Web qualsiasi sito Web che valuti e restituisca tale sottrazione quando non dovrebbe. È una cosa abbastanza comune da vedere.

The D
2019-04-04 16:20:03 UTC
view on stackexchange narkive permalink

L'uso di nomi di funzioni effettivi (ad es. print ) suggerisce che stanno cercando siti Web che utilizzano eval in qualche modo (nota che potrebbe essere eval (string $ code) , JavaScript eval (string) e gli equivalenti di altri linguaggi di scripting).

Noto che il codice eseguibile appare immediatamente dopo il primo parametro version dopo Mozilla / . Ciò significa che gli autori di questo attacco credono che un numero sufficiente di siti web in circolazione stia effettivamente utilizzando eval come un modo (orribile) di analizzare una versione a due componenti ( major.minor ) number.

Quindi immagino che i siti Web vulnerabili stessero facendo qualcosa come questo (pseudo-codice):

  var userAgent = request.headers [" User-Agent "]; var indexOfVersion = userAgent.indexof ('/'); var indexOfVersionEnd = userAgent.indexof (indexOfVersion, ''); var versionText = userAgent.substring (indexOfVersion + 1, indexOfVersionEnd); var versionNumber = eval versionText); // < ------- questa è la vulnerabilità!  
520
2019-04-04 20:17:50 UTC
view on stackexchange narkive permalink

sembra che stiano cercando di iniettare codice PHP nei file di registro. L'idea è che se l'amministratore di sistema utilizza un'app PHP per analizzare i log, alcuni potrebbero visualizzare il file di log come attendibile (dopotutto, l'utente normalmente non può alterare direttamente il file di log) e quindi rinunciare a qualsiasi processo di sanificazione.

Se stai guardando i tuoi file di log tramite un desktop o un editor di testo CLI, non sarai mai vulnerabile a questo attacco. Se utilizzi un'app PHP, assicurati che tratti i log come non attendibili e disinfettali proprio come faresti con un normale campo di input dell'utente.

Steve Gazzo
2019-04-05 01:32:00 UTC
view on stackexchange narkive permalink

Questo è semplice; stanno provando l'iniezione di comandi PHP. Il processo consiste nel sostituire un'intestazione (in questo caso il campo del programma utente) con un'espressione matematica, quindi determinare se il codice viene eseguito vista il valore restituito. Se il codice viene eseguito, il valore restituito sarà il risultato dell'espressione, piuttosto che l'espressione originale. Noterai l'uso leggermente spam di parentesi aperte e chiuse, punti e virgola e altri caratteri spesso usati per ingannare le lingue interpretate nell'interpretare i dati come codice eseguibile. Niente di cui preoccuparsi, le scansioni automatiche delle vulnerabilità come questa sono la norma al giorno d'oggi.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...