Header Ads

Veto Files

Con la reciente ola de ataques del ransomware Wannacry, que aprovecha la vulnerabilidad Microsoft Server Message Block 1.0 (SMBv1), muchos han tomado medidas, parcheando su sistema Windows, según las especificaciones  Microsoft Security Bulletin MS17-010 - Critical, sin embargo, con el ataque contenido y una herramienta disponible para descifrar los archivos, los cibercriminales no tardaron en sacar la evolución natural de wannacry: ethernalrocks, mucho más sofisticada, ya que según el portal  bleepingcomputer.com y blog.segu-info.com.ar "infecta al usuario mediante el uso de seis herramientas centradas en SMB expuestos en línea ETERNALBLUE, ETERNALCHAMPION, ETERNALROMANCE y ETERNALSYNERGY, que son exploits SMB utilizados para comprometer las computadoras vulnerables, mientras que SMBTOUCH y ARCHITOUCH son dos herramientas utilizadas para realizar reconocimiento de SMB expuestos  (Wannacry solo utiliza el exploit  EternalBlue)"
EternalRocks exploit. Cortesía de  bleepingcomputer.com
Hay muchas maneras de protegernos frente a estas amenazas. He aquí una breve lista de contramedidas (countermeasures), con sus factores condicionantes:
1. Parchear nuestros SO Windows: Es la mejor solución, pero muchas empresas tienen miles de terminales y el proceso de actualización puede tardar mucho tiempo, mientras tanto...
2. Protección contra virus: De acuerdo al último informe de WatchGuard Technologies (y otras firmas de seguridad lo confirman), el 30% del malware es `0-day´, indetectable por antivirus tradicionales, por tanto las soluciones antivirales eventualmente podrían garantizar combatir con relativa efectividad hasta un 70% de las amenazas.
3. Instalar un firewall: Los firewalls privados son costosos y las soluciones libres son difíciles de implementar para el usuario promedio. Podemos  bloquear los puertos de difusión de WINS y NetBIOS sobre TCP/IP, cerrando los puertos 137-139 (TCP/UDP), y filtrar el 445 (TCP/UDP) pero tendríamos problemas con los recursos compartidos y algunas aplicaciones que dependen de estos puertos.
4.  Copias de seguridad (local o en la nube): El ransomware puede cifrar cualquier cosa que el usuario infectado tenga acceso, usando los permisos de la cuenta que lo ejecuta, por tanto si cifra el contenido local en su equipo, muy probablemente esto ocurra en la nube.
5.  Copias de seguridad (en dispositivos externos sin conexión permanente): Es una solución razonable, pero al no estar conectados permanentemente, en el caso de un cifrado masivo, el usuario podrá recuperar la última copia que realizó, por tanto todo depende de la voluntad y el tiempo disponible del usuario para hacer backups.
6. Copias de seguridad en recursos compartidos: Tal vez esta sea una mejor alternativa, pero si no están protegidos, pueden convertirse en un vector de propagación por toda la red local.
Desactivando SMB v1
Los dispositivos usb, comúnmente utilizados para pasarse archivos entre los usuarios de las organizaciones, se han convertido en el mayor agente transmisor de todo tipo de " enfermedades informáticas" (virus, malware, troyanos, etc),  sobre todo en Latino América ( el segundo son los móviles) y responsable de muchas modalidades de robo de datos y otros delitos cibernéticos. Por esta razón muchas organizaciones están optando por bloquear los puertos usb de los terminales de sus usuarios y en reemplazo crean discos en red o dedicados dentro o fuera de sus servidores para el intercambio de información de sus usuarios. Y si alguien trae un dispositivo usb con información necesaria para la organización, pasa primero por el filtro del administrador IT, quien le hace una revisión exhaustiva antes de colocar la información en la carpeta compartida o en el usuario destino, pero esto es una tarea desgastante. Lo ideal sería que los usuarios pasaran directamente la información a las carpetas publicas compartidas o sus repositorios privados, pero ¿y si pasan malware?...
Primero, para implementar estas carpetas compartidas o personales en el entorno empresarial lo ideal es  Samba, pero en crudo no está exenta de malware. La propagación de los ransomwares mencionados se basa en la vulnerabilidad del protocolo SMBv1, el cual puede ser desactivado fácilmente en Windows (o actualizando nuestro sistema operativo, que es lo más recomendable). Y a pesar de que este problema no se presenta en Linux (al menos por el momento) US-Cert nos recomienda deshabilitarlo. Esto se logra modificando smb.conf en la plantilla [Global], y agregando las siguientes reglas, estableciendo como mínimo el uso de SMBv2:
client min protocol = SMB2
server min protocol = SMB2
Sin embargo esta implementación, al no contar con extensiones POSIX/Unix, trae como consecuencia que los clientes Linux y Android eventualmente no puedan acceder a los recursos compartidos. Y si tenemos en cuenta que las redes locales actuales son híbridas y muchos están migrando a Linux para escapar de estos ataques y, además, nadie garantiza que en un futuro no lejano, surjan nuevas vulnerabilidades relacionadas con SMB, que afecten a la v2 o superiores, entonces la regla anterior es inservible.
Pero nos queda un as debajo de la manga para evitar el malware en recursos compartidos. Samba tiene otra solución, un poco más complicada pero bastante efectiva, y es la regla veto files .
Esta regla consiste en poner una prohibición (veto) sobre las extensiones o archivos que no pueden almacenarse en el recurso compartido (por ejemplo un mp3), entonces si un cliente conectado intenta guardar una archivo mp3 en la carpeta compartida, Samba lo bloquea, impidiendo su escritura. Ejemplo:
[share]
 comment = public-share
 browseable = yes
 guest ok = yes
 public = yes
 read only = no
 printable = no
 valid users = nobody
 writeable = yes
 available = yes
 create mask = 0777
 directory mask = 0777
 path = /home/user/share
 veto files = /*.3gp/*.avi/*.mkv/*.mp3/*.mp4/*.mpeg/*.mpg/*.rmvb/*.wma/*.wmv/
 delete veto files = yes
Este comportamiento aplica también para cualquier otro tipo de archivos de la regla "veto", incluyendo las extensiones creadas por los ransomwares y otros malwares. Entonces simplemente le agregamos a nuestra regla "veto files", todas las extensiones de archivos relacionadas con el malware y así impediremos su propagación por los recursos compartidos.
A continuación un ejemplo de su implementación en  smb.conf:
[share]
 comment = public-share
 browseable = yes
 guest ok = yes
 public = yes
 read only = no
 printable = no
 valid users = nobody
 writeable = yes
 available = yes
 create mask = 0777
 directory mask = 0777
 path = /home/user/share
 veto files = /*Security*/*.tmp/*root*/._*/.DS_Store/*.bat/*.bin/*.info/*.css/*.dll/*.bin/*.chm/*.cmd/*.com/*.db/*.drv/*.dll/*.dem/*.exe/*.FAT/*.htm*/*.hta/*.ico/*.inf*/*.ini*/*.js*/*.lnk/*.msi/*.pif/*.py*/*.reg/*.shb/*.shs/*.sys/*.tmp/*.vb*/~*.*/__--*/--_*/*-_*/*.0x0*/*.1999*/*.1cbu1/*.1txt/*.2ed2/*.31392E30362E32303136_[ID-KEY]_LSBJ1/*.73i87A*/*.777*/*.7h9r*/*.7zipper/*.8c7f/*.8lock8/*.a19/*.a5zfn/*.aaa*/*.abc*/*ABCXYZ11/*.adk/*.adr/*.AES*/*.AFD*/*.aga*/*._AiraCropEncrypted/*.__AiraCropEncrypted!/*.alcatraz/AllFilesAreLocked*.bmp/*.amba/*.AMC*/*.angelamerkel/*.AngleWare/*.antihacker*/*.ap19/ASSISTANCE_IN_RECOVERY.txt/ATTENTION!!!.txt/*.axx*/*.AZG*/*.B6E1/*.BarRax/*.bart*/*.bytrcypt/*.bcin/*.better_call_saul*/*.bitstak/*.bleep*/*.bloc*/*.braincrypt/*.breaking_bad/*.bript/*.btc*/*.BZE*/*.cancer/*.canihelpyou/*.cbf*/*.ccc*/*.CCCRRRPPP/*.cerber*/*.checkdiskenced/*chifrator@qq_com*/*.CHIP/*.conficker/*.cifgksaffsfyghd/*.clf*/*.code*/*Coin.Locker.txt*/*.comrade/*confirmation.key*/*.coverton*/*cpyt*/*.crashed/*.crime*/*.crinf*/*.crip*/*.crjoker*/*.crptrgr/*.CRRRT/*.*cry*/*.*Cry*/*.*CRY*/*cryptolocker.*/*.CrySiS*/*_cry* /*.ctb*/*.CTB*/*.czvxce*/*.d4nk/*.dale/*.damage/*.*darkness*/*.darkness*/*.da_vinci_code*/*.dCrypt/*.decipher*/*decipher*/Decrypt*/*DECRYPT*.*/DECRYPT_*.*/*.decrypt2017/*DecryptAllFiles.txt*/*decrypt_instruct.*/*.ded/*.deria/*.dharma/*.disappeared/*.DJ/*djqfu.*/*.domino/*.doomed/*.dxxd/*.dyatel@qq_com/*dyatel@qq_com*/*.ecc*/*.edgel/*.EE/*.*enc*/*enc_files.txt*/*.EnCiPhErEd*/*.encmywork/*.encoderpass/*.ENCR/*.encrypt*/*.EnCrYpT*/*encryptor_raas_readme_liesmich.txt*/*.enigma*/*.epic/*.evillock/*.exotic/*.*exx*/*.ezz*/*.F9E8n*/*.fantom/*.fear/*.FenixIloveyou!!/*.file0locked/*.filegofprencrp/*.fileiscryptedhard*/*FILESAREGONE.TXT*/*.filock/*.firecrypt/*.flyper/*.frtrss*/*.fs0ciety/*.fuck*/*.Fuck*/*.fun*/*.gefickt/*.gembok/*.gen/*.globe/*@gmail_com_*/*.goforhelp/*.good*/*.gruzin@qq_com/*gruzin@qq_com*/*.GSupport*/*.gws*/*.GWS/*.h3ll*/*.ha3*/*.HA3/*.hairullah@inbox.lv/*.hakunamatata/*.hannah/*.happyday*/*.hb15*/*HELLOTHERE.TXT*/*.helpdecrypt*/*help_decrypt.*/*helpdecrypt.*/*Help_Decrypt.*/HELP_DECRYPT*/*helpdecrypt@ukr.net*/*.helpmeencedfiles/*help_recover*.*/*_H_e_l_p_RECOVER_INSTRUCTIONS*/*help_restore*.*/HELP_RESTORE_FILES.txt/*HELP_TO_DECRYPT_YOUR_FILES.*/*HELP_TO_SAVE_FILES.*/*help_your_file*.*/*.herbst/*.hnumkhotep/*.howcanihelpusir/*how_decrypt.*/How_Decrypt*/HowDecrypt.*/*how_recover*.*/*howrecover*.*/*how%sto%sdecrypt.*/*how_to_decrypt.*/*howtodecrypt.*/howtodecryptaesfiles.lnk/*HOW_TO_DECRYPT_FILES.*/*how_to_recover*.*/*howto_recover_file.*/*How_To_Recover_Files.*/*howto_restore*.*/*Howto_Restore*.*/*HowtoRESTORE*.*/*.hush/*.hydracrypt*/*IAMREADYTOPAY.*/*.iaufkakfhsaraf/*.ifuckedyou/*IHAVEYOURSECRET.KEY*/*.iloveworld/IndexerVolumeGuid*/*@india.com*/*.infected*/*install_tor.*/*install_tor*.*/*INSTRUCCIONES_DESCIFRADO.*/*instructions_xxxx.*/*.isis/*.iwanthelpuuu/*.JUST/*.justbtcwillhelpyou*/*.karma/*.*kb15*/*keemail.me*/*.kencf/*.kernel*/*keybtc@inbox_com*/*.KEYH0LES*/*.KEYZ*/*.KGT*/*.killedXXX/*.kimcilware*/*.kirked/*.kkk*/*.KKK*/*.KLS*/*.KMF*/*.KMS*/*.KMY*/*.korrektor*/*.kostya/*.kr3/*.*kraken*/*.kratos/*.KV/*.kyra/*.kzlrp/*.L0cked/*.L0CKED/*.lambda_l0cked/*_LAST/*last_chance.*/*.lechiffre*/*.LeChiffre*/*.legion/*.lesli/*.letmetrydecfiles/*.*lock*/*.*Lock*/*_Locky_recover_instructions.txt*/*.lol*/*.LOL*/*.lovewindows/*.madebyadam/*.magic*/*.maktub/*.MDW/*.merry/*message.txt*/*MESSAGE.txt*/*.micro*/*.MKJL*/*.MRCR1/*.msk/*.mxc/*.nalog@qq_com/*.neitrino*/*.nemo-hacks.at.sigaint.org/*.nil/*.*nochance*/*.nolvalid/*.no_more_ransom/*.noproblemwedecfiles/*.notfoundrans/*.nuclear55/*_nullbyte/*.NUS/*.obleep*/*.odcodc*/*.odin/*.omg*/*.OMG*/*.onion/*.only-we_can-help_you*/*.oops/*oor.*/oor*.*/*.openforyou@india.com/*oplata@qq_com*/*.oshit*/*.osiris/*.otherinformation/*.OXI/*.p5tkjw*/*.padcrypt/*.paybtcs*/*.paym*/*.payr*/*.pays*/*.payt*/*.pdcr/*.PEGS1/*.perl/*pizda@qq_com*/*.PLAUGE17*/*.PoAr2w*/*.porno*/*.potato/*.powerfulldecrypt/*.powned/*.pr0tect/*.protected*/*.purge/*.pzdc/*.PzZs*/*.qbl/*qq_com*/*.r16m/*.r16M/*.R16M01D05/*.r4a/*.R4A/*.r5a/*.R5A/*.RAD*/*.raid10/*.RARE1/*.razy/*.RC/*.rdm*/*.RDM/*.rdmk/*ReadDecryptFilesHere.txt*/*readme_decrypt.*/*readme_for_decrypt.*/*._read_thi$_file*/*_READ_THIS_FILE_*/*READTHISNOW*.TXT*/*.realfs0ciety@sigaint.org.fs0ciety/*recoverfile*.txt*/*recover_instruction*.*/*recovery+.*/*recovery_file.txt*/*recoveryfile.txt*/*RECOVERY_FILE*.txt*/*recovery_key.txt*/RECOVERY_KEY.TXT/*.rekt/*relock@qq_com*/*.remind*/*restore_fi*.*/*restore_files_rvrk.html*/*restorefile*.txt*/*.rip/*.R.i.P/*.RMCM1/*.rmd/*.rnsmwr/*.rokku*/*.RP/*.RPD/*.rrk*/*.RSNSlocked /*.RSplited*/_ryp/*_ryp.nalog@qq_com*/*.sage/*.salsa222/*.sanction*/*.scl*/*.scr/*.sct/*_secret_code.txt*/*SECRET*.KEY*/*.SecureCrypted/*.serpent/*.sexy/*.shino/*.shit/*.sifreli/*.Silent*/*.sport*/*.stn/*.supercrypt*/*.surprise*/*.SYN/SystemVolumeInformation/*.szf/*.TheTrumpLockerf/*.TheTrumpLockerfp/*.theworldisyours/*.thor/*.Tok*/*.toxcrypt*/*troyancoder@qq_com*/*.trun*/*.ttt*/*.tzu*/*.uk-dealer@sigaint.org/*ukr.net*/*.unavailable/*.unlockvt@india.com/*.UX/*.vault*/*vault.*/*.vbransom/*.vekanhelpu/*.velikasrbija/*.venusf/*.Venusp/*.versiegelt/*.VforVendetta/*.vhv*/*.vindows/*.vir*/*.vscrypt*/*.vvv*/*.vxLock/*.vxn*/*.wallet/*want%syour%sfiles%sback.*/*wantyourfilesback.*/*.wcry/*.WNCRY/*.wncry/*.wncryt/*.wnry/*.weareyourfriends/*.weencedufiles/*.wflx/*.Whereisyourfiles/*.Where_my_files.txt/*.windows10/*.wnx/*.wowreadfordecryp/*.wowwhereismyfiles/*.WPI*/*.WsF*/*.wuciwug/*.xcri/*.xka/X.mpeg*/*.xort*/*.___xratteamLucked/*.xrnt*/*.xrtn*/*.xspf*/*.xtbl*/*.xxc*/*.xxx*/*.xyz*/*.yaq*/*.ya.ru/*.YE*/*YOUR_FILES.*/*.yourransom/*.Z81928819*/*.zc3791/*.zcrypt*/*.zendr4/*.zepto/*.zorro/*.zXz/*.zyklon*/*.zzz*/
  delete veto files = yes
Para mantener actualizada nuestra lista de extensiones en "veto files", podemos descargarlas en los siguientes enlaces:
Github kinomakino
Nixbone List
Desafortunadamente Samba no maneja ACLs, para que pueda "leer" un archivo que contenga dichas extensiones maliciosas y poder automatizar su actualización, o sea, hay que escribirlas manualmente en el smb.conf, lo cual es algo tedioso, pero podemos simplificarlo creando un bash que descargue las listas, las compile, depure y finalmente escriba las extensiones en el archivo smb.conf con el formato de "veto_files".

Imagen cortesía de Securelist
Con la tecnología de Blogger.