No sille wy in oare manier besykje fan SQL-ynjeksje. Lit ús sjen oft de databank bliuwt te smiten flater berjochten. Dizze metoade wurdt "wachtsjen op fertraging" neamd, en de fertraging sels wurdt as folget skreaun: wachtsje op fertraging 00:00:01'. Ik kopiearje dit fan ús bestân en plak it yn 'e adresbalke fan' e browser.

Dit wurdt allegear "blinde tydlike SQL-ynjeksje" neamd. Alles wat wy hjir dogge is te sizzen, "wachtsje op in fertraging fan 10 sekonden." As jo opfallen binne, hawwe wy linksboppe it opskrift "ferbine ...", dat is, wat docht ús side? It wachtet op de ferbining, en nei 10 sekonden ferskynt de juste side op jo monitor. Mei dizze technyk nimme wy kontakt op mei de databank, sadat wy it in pear mear fragen kinne stelle, bygelyks as de brûker Joe is, dan moatte wy 10 sekonden wachtsje. It is dúdlik? As de brûker dbo is, wachtsje dan ek 10 sekonden. Dit is de bline SQL-ynjeksjemetoade.
Ik tink dat ûntwikkelders dizze kwetsberens net reparearje by it meitsjen fan patches. Dit is in SQL-ynjeksje, mar ús IDS-programma sjocht it ek net, lykas eardere metoaden fan SQL-ynjeksje.
Litte wy wat ynteressanter besykje. Litte wy dizze rigel kopiearje mei it IP-adres en plakke yn 'e browser. It wurke! De TCP-balke yn ús programma waard read, it programma notearre 2 feiligensbedrigingen.

Geweldich, litte wy sjen wat der dêrnei barde. Wy hawwe ien bedriging foar de XP-shell, en in oare bedriging - in SQL-ynjeksjepoging. Yn totaal waarden twa pogingen notearre om de webapplikaasje oan te fallen.

Okee, help my no mei logika. Wy hawwe in ynbraakgegevenspakket wêryn IDS seit dat it hat reagearre op ferskate ynfallen yn 'e XP-shell.

As wy rôlje omleech, wy sjogge in tabel fan HEX koades, oan de rjochterkant fan dat der in flagge mei it berjocht xp_cmdshell + & 27ping, en fansels is dit min.

Litte wy hjir sjen wat der bard is. Wat hat de SQL-tsjinner dien?

De SQL-tsjinner sei: "Jo kinne it wachtwurd hawwe foar myn databank, jo kinne alle records yn myn databank krije, mar dude, ik wol net dat jo jo kommando's op my útfiere, dat is hielendal net cool"!
Wat wy moatte dwaan is derfoar soargje dat sels as de IDS in bedriging rapportearret foar de XP-shell, de bedriging wurdt negearre. As jo SQL Server 2005 of SQL Server 2008 brûke, as in SQL-ynjeksjepoging wurdt ûntdutsen, sil de kommando-shell fan it bestjoeringssysteem beskoattele wurde, en foarkomt dat jo jo wurk trochgean. Dit is tige ferfelend. Dus wat moatte wy dwaan? Jo moatte besykje de tsjinner tige freonlik te freegjen. Moatte jo dit sizze: "asjebleaft, heit, kin ik dizze koekjes hawwe"? Dat is wat ik dwaan, serieus, ik freegje de tsjinner hiel beleefd! Ik freegje om ekstra opsjes, ik freegje om rekonfiguraasje, en ik freegje om XP shell ynstellings wurde wizige foar in make de shell tagonklik omdat ik nedich it!

Wy sjogge dat IDS dit ûntdutsen hat - jo sjogge, 3 bedrigingen binne hjir al notearre.

Sjoch hjir mar - wy hawwe de befeiligingslogboeken opblaasd! It liket in krystbeam, hjir hinget safolle! Sawol 27 feiligensbedrigingen! Hoera jonges, wy fongen dizze hacker, wy hawwe him!

Wy binne net benaud dat hy ús gegevens sil stelle, mar as hy systeemkommando's kin útfiere yn ús "fak" - dit is al serieus! Jo kinne tekenje in Telnet rûte, FTP, kinne jo oernimme myn gegevens, dat is cool, mar ik meitsje my gjin soargen oer it, ik gewoan net wolle dat jo oernimme de shell fan myn "box".
Ik wol prate oer dingen dy't my echt krigen hawwe. Ik wurkje foar organisaasjes, ik haw in protte jierren foar har wurke, en ik fertel jo dit om't myn freondinne tinkt dat ik wurkleas bin. Se tinkt dat ik allinne mar op it poadium stean en petearje, dit kin net as wurk beskôge wurde. Mar ik sis: "nee, myn freugde, ik bin in adviseur"! Dat is it ferskil - ik sprek myn gedachten en ik wurd der foar betelle.
Ik sil dit sizze - wy, as hackers, hâlde fan de shell te kraken, en foar ús is d'r gjin grutter wille yn 'e wrâld dan "de shell slikken." As IDS-analisten har regels skriuwe, sjogge jo dat se se skriuwe om te beskermjen tsjin shell-tampering. Mar as jo prate mei de CIO oer it probleem fan data-ekstraksje, sil hy jo fertelle om te tinken oer twa opsjes. Litte wy sizze dat ik in applikaasje haw dy't 100 "stikken" per oere docht. Wat is wichtiger foar my: it garandearjen fan de feiligens fan alle gegevens yn dizze applikaasje of de feiligens fan 'e "box" shell? Dit is in serieuze fraach! Wat moatte jo mear soargen meitsje?

Krekt om't jo "box" shell beskeadige is, betsjut net needsaaklik dat immen tagong hat krigen ta de ynderlike wurking fan 'e applikaasjes. Ja, dit is mear dan wierskynlik, en as it noch net bard is, kin it gau barre. Mar tink derom dat in protte feiligensprodukten binne boud op de oanname dat in oanfaller troch jo netwurk beweecht. Dat se betelje omtinken foar de útfiering fan kommando's, de útfiering fan kommando's, en jo moatte opmerke dat dit in serieuze ding is. Se jouwe oandacht oan triviale kwetsberens, oan heul ienfâldige cross-site scripting, oan heul ienfâldige SQL-ynjeksjes. Se skele net oer avansearre bedrigingen of fersifere berjochten, se skele net oer datsoarte dingen. Jo kinne sizze dat alle befeiligingsprodukten op syk binne nei lûd, se sykje yap, se sykje om iets te stopjen dat jo ankel byt. Hjir is wat ik haw leard by it omgean mei feiligensprodukten. Jo hoege gjin feiligensprodukten te keapjen, jo moatte de frachtwein net efterút ride. Jo hawwe kompetinte, betûfte minsken nedich dy't de technology begripe. Ja, myn God, krekt minsken! Wy wolle gjin miljoenen dollars goaie op dizze problemen, mar in protte fan jo hawwe op dit fjild wurke en witte dat sa gau as jo baas in advertinsje sjocht, hy nei de winkel rint en raast: "Wy moatte dit ding krije! " Mar wy hoege net echt, wy moatte gewoan de rommel reparearje dy't efter ús leit. Dat wie it útgongspunt foar dizze foarstelling.
De befeiligingsomjouwing is iets wêr't ik in protte tiid trochbrocht om te begripen hoe't de feiligensmeganismen wurkje. Sadree't jo begripe de beskerming meganismen, omgean de beskerming is net dreech. Bygelyks, ik haw in webapplikaasje dy't beskerme is troch in eigen firewall. Ik kopiearje it adres fan it ynstellingspaniel, plak it yn 'e adresbalke fan' e browser en gean nei ynstellings en besykje cross-site scripting.

As resultaat krij ik in firewallberjocht oer in bedriging - ik bin blokkearre.

Ik tink dat dit slim is, binne jo it iens? Jo hawwe in feiligensprodukt tsjinkaam. Mar wat as ik soksawat besykje: ik fier de parameter Joe'+OR+1='1 yn

Sa't jo sjen kinne, it wurke. Korrizjearje my as ik bin ferkeard, mar wy hawwe sjoen SQL ynjeksje ferslaan de applikaasje firewall. Litte wy no foarstelle dat wy in bedriuw foar befeiligingsimplementaasje wolle begjinne, dus sille wy ús hoed foar softwaremakker opsette. No ferbyldzje wy it kwea, om't it in swarte hoed is. Ik bin in adviseur, dus ik kin itselde dwaan mei softwarefabrikanten.
Wy wolle in nij sabotagedeteksjesysteem oanmeitsje en ynsette, dus sille wy in sabotagedeteksjebedriuw begjinne. Snort, as in iepen boarne-produkt, befettet hûnderttûzenen hantekeningen foar bedriging. Wy moatte etysk hannelje, dus wy sille dizze hantekeningen net stelle fan oare applikaasjes en ynfoegje yn ús systeem. Wy sille gewoan sitte en se allegear oerskriuwe - hey, Bob, Tim, Joe, kom hjir, rin gau troch al dizze 100 hantekeningen!
Wy moatte ek in kwetsberensscanner meitsje. Jo witte dat Nessus, in programma foar automatysk sykjen nei kwetsberens, goed 80 tûzen hantekeningen en skripts hat dy't kontrolearje op kwetsberens. Wy sille wer ethysk hannelje en se allegear sels oerskriuwe yn ús programma.
Minsken freegje my, "Joe, jo dogge al dizze tests mei iepen boarne software lykas Mod Security, Snort en sa, hoe ferlykber binne se mei produkten fan oare fabrikanten?" Ik antwurdzje harren: "Se lykje hielendal net op elkoar!" Om't fabrikanten gjin guod stelle fan iepen boarne befeiligingsprodukten, sitte se en skriuwe al dizze regels sels.
As jo jo eigen hantekeningen en oanfalsstringen kinne meitsje wurkje sûnder iepen boarne produkten te brûken, is dit in geweldige kâns foar jo. As jo net kinne konkurrearje mei kommersjele produkten, yn 'e goede rjochting bewegen, moatte jo in konsept fine dat jo sil helpe ferneamd te wurden yn jo fjild.
Elkenien wit dat ik drink. Lit my dy sjen litte wêrom't ik drink. As jo ea in boarnekoadekontrôle yn jo libben hawwe dien, sille jo perfoarst drinke, fertrou my, dêrnei sille jo begjinne te drinken.

Dat, ús favorite taal is C++. Litte wy nei dit programma sjen - Web Knight, it is in firewall-applikaasje foar webservers. It hat standert útsûnderings. Dit is ynteressant - as ik dizze firewall ynset, sil it my net beskermje tsjin Outlook Web Access.

Prachtich! Dit komt om't in protte softwareferkeapers regels fan ien applikaasje lûke en se yn har produkt plakke sûnder in hiele protte ûndersyk te dwaan. Dus as ik de webfirewall-applikaasje ynsette, fyn ik dat alles oer webmail ferkeard dien wurdt! Om't hast elke webmail standert feiligens brekt. Jo hawwe webkoade dy't systeemkommando's en queries útfiert foar LDAP of in oare brûkersdatabasewinkel direkt op it ynternet.
Fertel my, op hokker planeet kin sa'n ding as feilich beskôge wurde? Tink der mar oan: jo iepenje Outlook Web Access, drukke op ctrl + K, sykje nei brûkers en dat alles, jo beheare Active Directory direkt fan it ynternet, jo útfiere systeemkommando's op Linux, as jo Squirrel Mail, of Horde of wat dan ek brûke oars. Jo lûke al dizze evals en oare soarten ûnfeilige funksjonaliteit út. Dêrom slúte in protte firewalls se út fan 'e list mei feiligensrisiko's, besykje jo softwarefabrikant hjiroer te freegjen.
Litte wy weromgean nei de Web Knight-applikaasje. It stiel in protte feiligensregels fan 'e URL-scanner, dy't al dizze IP-adresberiken scant. Dat, binne al dizze adresbereiken útsletten fan myn produkt?

Wolle ien fan jo dizze adressen op jo netwurk ynstallearje? Wolle jo dat jo netwurk op dizze adressen rint? Ja, it is geweldich. Okee, lit ús dit programma nei ûnderen rôlje en nei oare dingen sjen dy't dizze firewall net dwaan wol.
Se wurde "1999" neamd en se wolle dat har webserver werom yn 'e tiid giet! Unthâldt ien fan jimme dit jiskefet: /scripts, /iishelp, msads? Miskien sille in pear minsken mei nostalgy ûnthâlde hoe leuk it wie om sokke dingen te hacken. "Onthâlde jo, dude, hoe lang lyn wy servers "fermoarde", it wie cool!

No, as jo nei dizze útsûnderingen sjogge, sille jo sjen dat jo al dizze dingen kinne dwaan - msads, printers, iisadmpwd - al dizze dingen dy't gjinien hjoed nedich hat. Hoe sit it mei de kommando's dy't jo net kinne útfiere?

Dit binne arp, at, cacls, chkdsk, cipher, cmd, com. As jo list se, Jo binne oerwûn mei oantinkens oan 'e âlde dagen, "dude, tink om doe't wy oernaam dy tsjinner, tink dy dagen"?
Mar hjir is wat echt ynteressant is - sjocht immen WMIC of miskien PowerShell hjir? Stel jo foar dat jo in nije applikaasje hawwe dy't funksjonearret troch skripts op it lokale systeem te rinnen, en dit binne moderne skripts om't jo Windows Server 2008 wolle útfiere, en ik sil in geweldich ding dwaan troch it te beskermjen mei regels ûntwurpen foar Windows 2000. Dat de folgjende kear as in ferkeaper nei jo komt mei har webapplikaasje, freegje har: "hey man, hawwe jo dingen opnommen lykas bits admin, of it útfieren fan powershell-kommando's, hawwe jo alle oare dingen kontrolearre, om't wy sille bywurkje en brûk de nije ferzje fan DotNET"? Mar al dizze dingen moatte standert oanwêzich wêze yn in feiligensprodukt!

It folgjende ding dat ik mei jo oer prate wol is logyske flaters. Litte wy nei 192.168.2.6 gean. Dit is sawat deselde applikaasje as de foarige.

Jo kinne miskien wat nijsgjirrichs fernimme as jo de side nei ûnderen rôlje en op 'e kontakt mei ús klikke link.

As jo nei de boarnekoade sjogge fan it ljepblêd "Kontakt mei ús", dat is ien fan 'e pentestingmetoaden dy't ik de hiele tiid doch, sille jo dizze rigel fernimme.

Tink der oer nei! Ik hear dat doe't se dit seagen, in protte seinen: "Wow"! Ik die ienris penetraasjetesten foar bygelyks in miljardêrbank, en ik fernaam wat ferlykber. Dat, wy hawwe gjin SQL-ynjeksje of cross-site skripting nedich - wy hawwe de basis, dizze adresbalke.

Dus, sûnder oerdriuwing - de bank fertelde ús dat se sawol in netwurkspesjalist as in webinspekteur hienen, en se makken gjin opmerkingen. Dat is, se achte it normaal dat in tekstbestân iepene en lêzen wurde koe troch in browser.
Dat is, jo kinne it bestân gewoan direkt fan it bestânsysteem lêze. It haad fan har feiligensteam fertelde my: "ja, ien fan 'e scanners fûn dizze kwetsberens, mar beskôge it as lyts." Dêrop antwurde ik, okee, jou my in minút. Ik typte triemnamme = ../../../../boot.ini yn 'e adresbalke en koe it bootbestân fan it bestânsysteem lêze!

Dêrfoar fertelden se my: "nee, nee, nee, dit binne gjin krityske bestannen"! Ik antwurde - mar dit is Server 2008? Se seine ja, it is him. Ik sis - mar dizze tsjinner hat in konfiguraasjetriem leit yn de root triemtafel fan de tsjinner, rjochts? "Krekt," antwurdzje se. "Geweldich," sis ik, "wat as in oanfaller dit docht," en ik typ filename=web.config yn 'e adresbalke. Se sizze - dus wat, jo sjogge neat op 'e monitor?

Ik sis - wat as ik mei de rjochter mûsklikke op de monitor en de opsje Toan sideboarne selektearje? En wat sil ik hjir fine? "Neat kritysk"? Ik sil it wachtwurd fan de tsjinnerbehearder sjen!

En jo sizze dat hjir gjin probleem is?
Mar myn favorite diel is dit folgjende. Jo net tastean my te fieren kommando's yn it fak, mar ik kin stelle it web tsjinner administrator wachtwurd yn en databank, sjoch troch de hiele databank, rip út al it materiaal oer de databank en systeem flaters, en krije fuort mei it allegear. Dit is in gefal fan 'e minne keardel dy't sei, "hey man, hjoed is de grutte dei"!

Lit feiligensprodukten jo net siik meitsje! Lit feiligensprodukten jo net siik meitsje! Fyn wat nerds, jou se al dy Star Trek-memorabilia, meitsje se ynteressearre, stimulearje se om by jo te bliuwen, om't dy saaie stinkers dy't net elke dei dûsje binne dejingen dy't jo netwurken wurkje moatte! Dit binne de minsken dy't jo befeiligingsprodukten sille helpe wurkje sa't se moatte.
Sis my, hoefolle fan jimme binne by steat om te bliuwen yn deselde keamer foar in lange tiid mei in persoan dy't hieltyd seit: "Och, ik moat driuwend te typen dit skript!", en wa is dwaande mei it hiele tiid? Mar jo hawwe de minsken nedich dy't jo feiligensprodukten meitsje wurkje.
Ik sil it nochris sizze - befeiligingsprodukten binne dom, om't ljochten konstant flaters meitsje, hieltyd shittige dingen dogge, se jouwe gewoan gjin feiligens. Ik haw noait in goed befeiligingsprodukt sjoen dat gjin persoan mei in schroevendraaier nedich hie om it oan te spannen wêr't it nedich is om it min of mear normaal te wurkjen. It is gewoan in enoarme list mei regels dy't sizze dat it min is, dat is alles!
Dat ik wol dat jim sjogge nei ûnderwiis, saken lykas feiligens, polytechnyske training, om't d'r in protte fergese online kursussen binne oer feiligensproblemen. Learje Python, lear gearkomste, lear testen fan webapplikaasjes.

Dit is wat jo echt sil helpe jo netwurk te beskermjen. Tûke minsken beskermje netwurken, netwurkprodukten net! Gean werom oan it wurk en fertel jo baas dat jo mear budzjet nedich hawwe foar mear tûke minsken, ik wit dat dit in krisis is, mar fertel him dochs - wy hawwe mear jild nedich foar minsken, foar it oplieden fan har. As wy in produkt keapje, mar gjin kursus keapje oer hoe't jo it brûke, om't it djoer is, wêrom keapje wy it dan überhaupt as wy minsken net leare hoe't se it brûke moatte?
Ik haw wurke foar in protte leveransiers fan befeiligingsprodukten, myn hiele libben trochbrocht oan it ymplementearjen fan dy produkten, en ik bin siik fan alle netwurk tagongskontrôle en guod, om't ik al dy crap produkten ynstallearre en rûn. Ik kaam ienris by in kliïnt, se woenen de 802.1x-standert ymplementearje foar it EAP-protokol, sadat se MAC-adressen en sekundêre adressen foar elke haven hiene. Ik kaam, seach dat it min wie, draaide my om en begon knoppen op de printer te drukken. Jo witte, de printer kin in testside fan netwurkapparatuer printsje mei alle MAC-adressen en IP-adressen. Mar it die bliken dat de printer de 802.1x-standert net stipet, dus it moat útsletten wurde.
Doe haw ik de printer loskeppele fan it netwurk en feroare it MAC-adres fan myn laptop yn it MAC-adres fan 'e printer en ferbûn myn laptop, sadat dizze djoere MAC-oplossing omgean, tink der oer! Dus wat kin dizze MAC-oplossing foar my dwaan as in persoan gewoan ien stik apparatuer kin trochjaan as in printer of in VoIP-tillefoan?
Dat hjoed, pentesting foar my is dat ik tiid besteegje om te besykjen it befeiligingsprodukt te begripen en te begripen dat myn klant hat kocht. Tsjintwurdich hat elke bank dy't ik penetraasjetesten by al dizze HIPS, NIPS, LAUGHHS, MACS en in hiele bosk oare akronyms dy't folsleine crap binne. Mar ik besykje út te finen wat dizze produkten besykje te dwaan en hoe't se besykje it te dwaan. Dan, as ik ienris útfine hokker soarte metoade en logika se brûke om beskerming te bieden, wurdt it hielendal net dreech om it te omgean.
Myn favorite produkt dat ik sil ferlitte jo mei hjit MS 1103. It is in blêder-basearre eksploitaasje dy't "sprays" HIPS, Host Intrusion Prevention Signature, of host ynbraak previnsje hantekeningen. Yn feite is it ûntworpen om HIPS-hantekeningen te omgean. Ik wol net sjen litte hoe't it wurket, om't ik gjin tiid wol om it te demonstrearjen, mar it docht in geweldige baan om dy feiligens te omgean en ik wol dat jo it besykje.
Ok jongens, ik gean no fuort.

Guon advertinsjes 🙂
Tankewol foar it bliuwen by ús. Hâld jo fan ús artikels? Wolle jo mear ynteressante ynhâld sjen? Stypje ús troch in bestelling te pleatsen of oan te befeljen oan freonen, , in unike analoog fan servers op yngongsnivo, dy't troch ús foar jo útfûn is: (beskikber mei RAID1 en RAID10, oant 24 kearnen en oant 40GB DDR4).
Dell R730xd 2 kear goedkeaper yn Equinix Tier IV data sintrum yn Amsterdam? Allinne hjir yn Nederlân! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - fan $99! Lêze oer
Boarne: www.habr.com
