jueves, 1 de diciembre de 2016

Script: CazandoSMB.sh

Hace tiempo desarrolle un pequeño script en bash para obtener información vía protocolo SMB, además de parsear la información relativa a recursos compartidos y comprobar si tenemos lo que hay para acceder para acceder a los mismos sin necesidad de credenciales.

El script se basa en:

1.- Nmap
2.- SmbClient

Entre otras cosas el script obtiene información sobre:

1.- Sistema Operativo
2.- Recursos compartidos
3.- Usuarios
4.- Procesos
5.- Dominios
6.- Grupos
7.- Sesiones

De la información obtenida, y mediante el script: "Parsea-SMB.sh", se parsea/trata la información relativa al Sistema Operativo y a los recursos compartidos. Además de intentar acceder remotamente a los recursos compartidos para los que el "nmap" determina que tenemos permiso de R (read) y/o R/W (read/write) , mediante el uso del programa: "smbclient".

Información obtenida:

1.- Información aportada por el Nmap en formato "xml" y que poseen el formato: <IP>-SMB.xml.

2.- Informe parseado con toda la información obtenida respecto al sistema operativo y los recursos compartidos por cada dirección IP encontrada con los puertos vinculados al protocolo SMB abiertos. El archivo posee el nombre: InformacionSMB.info.

3.- Informe parseado con toda la información obtenida respecto al sistema operativo y los recursos compartidos sobre los que se tiene permisos de R y R/W por cada IP encontrada con los puertos vinculados al protocolo SMB. El archivo posee el nombre: InformacionSMB-DeInteres.info.

4.- Informe parseado con toda la información obtenida respecto al sistema operativo y los recursos compartidos sobre los que se tiene permisos de R y R/W, y que además se ha podido acceder remotamente, por cada IP encontrada con los puertos vinculados al protocolo SMB. El archivo posee el nombre: InformacionSMB-Accedidos.info.

Código del script: CazandoSMB.sh
 
   
 
Código del script: Parsea-SMB.sh

Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.

viernes, 25 de noviembre de 2016

Monta un servidor web en menos de 1 minuto.

Si te descargas un exploit basado en código PHP, la mejor manera de ejecutarlo sin necesidad de configurar un servidor web capaz de interpretar código PHP es utilizar el siguiente comando:

php -S <dirección IP>:<puerto>

NOTA: Por supuesto es necesario tener instalado PHP

Este comando permite montar un servidor web capaz de interpretar código PHP sobre el directorio sobre el que se ejecuta. Si le añades la opción: -t <directorio>, montará el servicio web sobre el directorio especificado.

Ejemplo: php 127.0.0.1:3535 -t .

NOTA: Es necesario ejecutar el comando con permiso de: root, para poder utilizar puertos inferiores al 8081. Para los demás, no es necesario ejecutar el comando  como "root"

Más información:
                http://stackoverflow.com/questions/12235876/python-simplehttpserver-with-php
                http://serverfault.com/questions/338394/how-to-run-php-with-simplehttpserver

Ejecución del exploit basado en PHP con nombre: 38534.php, descargado desde la base de datos de exploits: https://www.exploit-db.com/


Se aprovecha este espacio para comentar la existencia del script de python de nombre: SimpleHTTPserver.

Dicho script te permite, al igual que se ha comentado anteriormente, generar un servidor web del directorio desde donde se ejecute mediante el comando:

python -m SimpleHTTPserver <puerto>

NOTA: Al solicitar la raíz del servidor web montado, obtendremos un listado del contenido del directorio sobre el que hemos montado el servidor web.

IMPORTANTE: NO interpreta  código .php

Más información
                https://creadpag.wordpress.com/2016/01/09/como-utilizar-simplehttpserver-en-kali-linux-2-0/

Ejecución del script de python: SimpleHTTPserver.


martes, 15 de noviembre de 2016

Una fina línea entre el bien y el mal.

Hace tiempo me solicitaron un documento ofimático que enviara información a un servicio web, el cual procesaría la información y elaboraría estadísticas sobre el grado de concienciación del entorno sobre el cual se distribuyera el archivo.

El concepto que se utilizo: Data Leak, y  el código de prueba que desarrollé coge parte del código de lo que hacen la totalidad de los downloader, pero en sentido inverso. Los downloaders descargan el malware que infectará el host, para lo cual solicitan el recurso mediante una macro que se ejecuta al abrir un documento, nuestro código recoge información del sistema y la envía al servidor mediante una macro que se ejecuta al abrir un documento.

NOTA: La macro ejecutará automáticamente la macro con nombre: AutoOpen, y no otra.

El siguiente código no es el código integro, sino la base utilizada para la comunicación con el servidor web. Y que radica en tres puntos:

1.- Objeto basado en "msxml2.XMLHTTP".
2.- Definición de los parámetros de envío.
3.- Establecimiento del canal y envío de datos.


Código base desarrollado


Una PoC...


Código para establecer la comunicación con nuestro servidor de estadísticas


Comunicación recibida en el servidor de estadísticas.


Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.

PD: Muchas gracias Ismael González por el comentario.

lunes, 24 de octubre de 2016

URGENTE!!!!. Ransomware!!!!.

De manera urgente se informa de una nueva propagación de ransomware a través de los siguientes archivos:

Nombre:             ORDER_985.js  
MD5:                  756DBEC9003F1383854C54FD75D34733
VirusTotal:         11/49

Nombre:             EMAIL_20087.js
MD5:                  70A0E48D3EAAF218CE0F106E22574456
VirusTotal:         22/54

Nombre:             SHOP_30089.js
MD5:                  3384FC28C733626B62F80FAE43AF117E
VirusTotal:         18/53

Nombre:             SHOP_5689.js
MD5:                  76FC21CE41C534B94BEA7E1A7BCE327C
VirusTotal:         24/55

Nombre:             LOVE_6164.js
MD5:                  5C2B21A2FC369DE68910F949C59DAD7D
VirusTotal:         Sin datos

Estos archivos javascript son downloader. Las URLs desde donde descargan son:

www.injusticeil.top/user.php?f=<digito>.dat
www.importantxc.top/user.php?f=<digito>.dat
www.unnaturaldc.top/user.php?f==<digito>.dat

NOTA: El nombre del archivo ".dat" es un dígito, no se descartan otros posibles combinaciones.

Las cuales se encuentran activas, y permiten descargar dos ejecutables distintos:

Nombre:             Roaming.exe
MD5:                  8D54B0EA871C5536B236E658575CF809
VirusTotal:         7/56

Nombre:             Roaming.exe
MD5:                  0AFB7AEF27FCE860AD0E86AEDEBE45A9
VirusTotal:         Sin datos

Estos archivos una vez lanzados reportaran información hacía las siguientes URLs:

91.200.14.124/linuxsucks.php
185.102.136.77/linuxsucks.php
109.234.35.215/linuxsucks.php

Actualmente se encuentran activas todas las URLs.

ACTUALIZACIÓN

En la siguiente URL se informa se aporta más información sobre el mismo ransomware

http://blog.dynamoo.com/2016/10/malware-spam-fake-receipt-leads-to.html

ACTUALIZACIÓN del 25/10/2016

Nuevos archivos han sido detectados:

Nombre:             EURO_16851.js
Hash md5:          49D6D5061DF8AD438EC65CCD3ECF3D62
VirusTotal:         Sin datos

Nombre:             SHOP_7874.js
Hash md5:          79AC56F7DDEC84230865285D8B53FE21
VirusTotal:         3/55

Nombre:             SHOP_30971.js
Hash md5:          B7FAFF528AAE5072260CCE5E2B847052
VirusTotal:         4/54

Nombre:             ALERT_18376.js
Hash md5:          F5BB88DE35A093E333EE26DB1CE0AA70
VirusTotal:         Sin datos

Nombre:             ONLINE_20141.js
Hash md5:          166764A43A748323A6FAF1DDD640F8B4
VirusTotal:         Sin datos

Nombre:             ONLINE_21702.js
Hash md5:          504A6B3C1991E8F3022047DB766C0A8C
VirusTotal:         1/54

Nombre:             MONEY_14896.js
Hash md5:          264F8CA72B0C5322AD9016227809EDE6
VirusTotal:         Sin datos

Nombre:             INFO_2511.js
Hash md5:          9BBD90333BEC5D657E595E2F63A824DD
VirusTotal:         1/55

Nombre:             MONEY_3336.js
Hash md5:          72B990A33B8285746221B1EEE5C7E81B
VirusTotal:         Sin datos

Nombre:             EMAIL_14142.js
Hash md5:          6AE96DD0D97A06375AC39FDE9AF92B79
VirusTotal:         Sin datos

Nombre:             BALLANCE_16862.js
Hash md5:          0C1875601DAD18D7C45AA2AC9A1FC016 
VirusTotal:         2/55

Nombre:             ONLINE_5338.js
Hash md5:          5F236F391A762EB874F6026D23855932
VirusTotal:         Sin datos

Nuevos archivos  downloader. Las URLs desde donde descargan son:

vegetablecs.top/user.php?f=<digito>.dat
sonyserofa.top/user.php?f=<digito>.dat

NOTA: El nombre del archivo ".dat" es un digito, no se descartan otros posibles combinaciones.

Las cuales se encuentran activas, y permiten descargar el siguiente ejecutable:

Nombre:             Roaming.exe
MD5:                 EF3E66188F20CCCBF1FDD9B43B161CB8
VirusTotal:         Sin datos

Los nuevos C2C:

77.123.137.221/linuxsucks.php --- No se encuentra activa

mehksltbkd.info/linuxsucks.php (69.195.129.70) --- Se encuentra activa

miércoles, 5 de octubre de 2016

Nuestro BOT ha crecido!!!

En estos días se ha recibido varios archivos para analizar.

Los datos de los susodichos son:

Nombre:  blood.dat
Md5: BF8A28BD6F426C4AC7A6295A9C120A0D

Nombre: config.dat
Md5: BF8A28BD6F426C4AC7A6295A9C120A0D

Nombre: system.vbs
Md5: FBD2172DD8B2A745188D53ECC151FF0F

El primero que se reviso es el último de los archivos comentados: system.vbs

En él se encontró el siguiente código:










Código encontrado en el archivo: system.vbs

En visto del código visualizado y de que los otros dos ficheros son en definitiva el mismo, se selecciono uno al azar para descrifrarlo, tal y como se hizo en la entrada anterior a esta: http://4null0.blogspot.com.es/2016/09/botnet-de-verano-para-mi.html


























Archivo: blood.dat, antes de descifrarlo




























Archivo: blood.dat, después de descifrarlo

Se revisó el código, encontrando tantas similitudes con el analizado en la serie de entradas:


, que se puede decir que estamos ante una nueva versión del bot (de 34.12 se ha pasado a la 39.13).



















Versión de código del bot


Por lo que sólo se procederá a comentar los datos de interés, de este

1.- Se crean/modifican las siguientes claves de registro

HKCU\Software\Microsoft\Windows Script Host\Settings\Timeout=0
HKCU\Software\Policies\Microsoft\Windows\System\DisableCMD=0
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\disabletaskmgr=0
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\rescue=%allusersprofile%\rescue.vbe
HKLM\software\microsoft\windows\currentversion\policies\system\consentpromptbehavioradmin=0
HKLM\software\microsoft\windows\currentversion\policies\system\enablelua=0


2.- Se crean/modifican las siguientes claves de registro para auto-defensa

HKEY_CLASSES_ROOT\Applications\Notepad2.exe\shell\open\command=%SystemRoot%\System32\Notepad.exe
HKEY_CLASSES_ROOT\Applications\notepad.exe\shell\open\command=%SystemRoot%\System32\Notepad.exe
HKEY_CLASSES_ROOT\Batfile\Shell\Edit\Command=%SystemRoot%\System32\Notepad.exe
HKEY_CLASSES_ROOT\VBEFile\Shell\Edit\Command\=%SystemRoot%\System32\Notepad.exe

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden=2
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools=0
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden=0

3.- Se crean las siguientes carpetas y archivos

%systemdrive%\security\blood.dat
%systemdrive%\security\svchost.exe
%systemdrive%\security\zoneh.dat
%systemdrive%\security\zoneh.exe
%systemdrive%\security\bump.jpg
%systemdrive%\security\bump.vbe
%systemdrive%\security\av.jpg
%systemdrive%\security\av.bat
%systemdrive%\security\system.jpg
%systemdrive%\security\system.exe
%systemdrive%\security\explorer.jpg
%systemdrive%\security\explorer.exe
%systemdrive%\security\update.jpg
%systemdrive%\security\update.exe
%systemdrive%\kernel\update.jpg
%systemdrive%\kernel\update.exe
%systemdrive%\kernel\explorer.jpg
%systemdrive%\kernel\explorer.exe
%systemdrive%\kernel\system.jpg
%systemdrive%\kernel\system.exe
%systemdrive%\kernel\av.jpg
%systemdrive%\kernel\av.bat
%systemdrive%\kernel\bump.jpg
%systemdrive%\kernel\bump.vbe
%systemdrive%\kernel\zoneh.dat
%systemdrive%\kernel\zoneh.exe
%systemdrive%\kernel\blood.dat
%systemdrive%\kernel\svchost.exe
%systemdrive%\kernel\r00t3r
%systemroot%\system32\system\msg\config.txt
%temp%\uac.bat
%temp%\ADMIN.vbe
%temp%\CPBA.bat
%temp%\tp.vbe
%temp%\tmp.bat
%temp%\booter.dat
%temp%\reskp.exe

4.- Peticiones hacía Internet (URLs)

http://sauvegarde.1x.biz/booter.dat
http://registered.co.nf/sat39/index.php
http://zoneh.me.pn/zoneh.dat
http://users2.Jabry.com/mysiteweb2/bump.jpg
http://newsonline.125mb.com/av.jpg
http://mysiteweb.eu5.org/system.jpg
http://mysiteweb.freezoy.com/explorer.jpg
http://babybot.125mb.com/update.jpg

5.- Método de propagación

El método de propagación se realiza a través de las unidades compartidas/pendrives que tenga enlazadas el host.

A esas unidades compartidas/drives se copian los archivos ".dat" de las carpetas:

1.- %systemdrive%\security
2.- %systemdrive%\kernel

Se renombran y se establecen los atributos del sistema y ocultos, y por último, se crean enlaces por cada archivo encontrado y se ocultan los archivos originales.

RESPUESTA DEL ENTORNO AV

Según VirusTotal y sus motores, SÓLO 11 de 56 motores, califican a el archivo con md5: BF8A28BD6F426C4AC7A6295A9C120A0D, como malicioso.

Si se tiene constancia de dicho archivo en VirusTotal desde hace más de un año.

Más información:

https://virustotal.com/es/file/b41a2670d3beb228e811c6925e2ecae91c1c96610bbb86c3926eeb9d452b3aa4/analysis/






viernes, 16 de septiembre de 2016

BotNet de verano para mi

Durante el día de ayer llego a mis manos dos archivos con las siguientes características:

Nombre: Manuel.doc
MD5: cc2db35f43b4a12700c431811a463439

Nombre: SysinfY2X.db
MD5: cc2db35f43b4a12700c431811a463439

MD5 de los archivos a analizar

Se busco información en VirusTotal, obtenemos que 31 motores lo detectan como malicioso.

Más información:
                https://virustotal.com/es/file/fe9c78249937d57aaed2792238caeea298e715d9cf261add1fbfbaeeab084d40/analysis/


A continuación se procedió a intentar sacar algo más de jugo al documento ofimático, ya sabéis una/s URL/s, archivo embebido, etc.

Pero al comprobar si realmente nos encontrábamos ante un documento ofimático nos encontramos con ...

Tipo de archivos

Al abrir con el bloc de notas el archivo "Manuel.doc", se encontró:











Contenido del archivo: "Manuel.doc"

En ese momento, se recordó la siguiente entrada del blog: http://4null0.blogspot.com.es/2016/02/analizando-el-archivo-updatedat.html, en donde se trabajó con las extensiones: vbs y vbe.

Por lo que se procedió a descifrar mediante el descifrador que se utilizó la vez anterior.

Una vez hecho, se encontró:
  

































Código tras descifrar el archivo: "Manuel.doc"

¡¡Genial!!, un hermoso código que estudiar, y del cual escribir.

Por ahora, comento lo fundamental para que se tomen las contramedidas oportunas:

0.- MD5 de los archivos: cc2db35f43b4a12700c431811a463439

1.- Sustituye, dentro cada unidad de red que se encuentre en el ordenador exceptuando la unidad C:, los archivos por enlaces. Estos enlaces lanzarán el archivo : Manuel.doc, tras cuya ejecución lanzará el archivo original, este último tendrá atributos de oculto frente al sistema.

Es decir, estamos ante un método de propagación por red

2.- Modificará las siguientes claves de registro para ganar persistencia, y protegerse:
  2.1.- Persistencia

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\SysinfY2X.db = C:\WINDOWS\system32\cmd.exe /c start wscript  /e:VBScript.Encode %temp%\SysinfY2X.db

  2.2.- Protección: configura el parámetro que dice que los archivos archivos ocultos no se muestren.

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden = 2

3.-  Almacena en la ubicación que marque la variable del sistema: %Temp% el archivo: SysinfY2X.db.
  3.1.- Comprueba la existencia en la ubicación que marque la variable del sistema: %Temp% del archivo: SysinfYhX.db. Si existe lo elimina

4.- Realiza peticiones hacía Internet.
  4.1.-  realy.mooo.com/bot/lancer/index.php?cmd=ping
  4.2.-  realy.mooo.com/bot/lancer/index.php?cmd=<tamañodelarchivo>SysinfY2X.db
  4.3.-  realy.mooo.com/bot/lancer/index.php?cmd=list


Espero haber ayudado en algo