Debidos a los problemas provocados por el RANSOMWARE WANNACRYPT, que secuestras tus archivos de tu pc, me recomendaron escanear la red en busca de posibles equipos con Windows que no tenga el parche que evitar el contagio en la red.
Para esto se requiere utilizar nmap, ya sea para su versión para Linux o Windows junto con el nse de escaneo smb-vuln-ms17-010.nse que se puede encontrar en https://github.com/cldrn/nmap-nse-scripts/tree/master/scripts.
Pasos a seguir:
Para Windows
- Descargar el siguiente link https://nmap.org/dist/nmap-7.40-setup.exe
- Instalar archivo descargado.
- Copiar script “smb-vuln-ms17-010.nse” en la siguiente carpeta:
C:\Program Files (x86)\Nmap\scripts
- Ejecutar Nmap, con las siguientes opciones:
nmap -sC -p 445 --max-hostgroup 3 --open --script smb-vuln-ms17-010.nse x.x.x.x/x
Por pantalla te entregara el resultado del escaneo, si aparece algo de la forma
Nmap scan report for 10.10.10.33
Host is up (0.00013s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
MAC Address: A0:D3:C6:64:66:D3 (Hewlett Packard)
Host script results:
| smb-vuln-ms17-010:
| VULNERABLE:
| Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
| State: VULNERABLE
| IDs: CVE:CVE-2017-0143
| Risk factor: HIGH
| A critical remote code execution vulnerability exists in Microsoft SMBv1
| servers (ms17-010).
|
| Disclosure date: 2017-03-14
| References:
| https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
| https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143
Ese equipo es vulnerable, debes actualizar los parches de Windows.
Para Linux
- Instalar o actualizar RPM de Nmap:
rpm -vhU https://nmap.org/dist/nmap-7.40-1.x86_64.rpm
- Copiar script “smb-vuln-ms17-010.nse” en la siguiente carpeta:
/usr/share/nmap/scripts/
- Ejecutar el siguiente scan:
nmap -sC -p 445 --max-hostgroup 3 --open --script smb-vuln-ms17-010.nse x.x.x.x/x
Dependiendo del tamaño de la red puede tomar entre 2 minutos a 30 minutos
No olvides dejar tu comentario, duda o sugerencia.
sábado, 8 de julio de 2017
jueves, 6 de julio de 2017
En mi dominio con samba4, los usuarios no ven el sysvol
Para uno de mis clientes debí generar un dominio con samba4,
la instalación fue rápida y sin problemas. Se podía crear los usuarios mediante
la interfaz de Windows o mediante línea de comandos.
[sysvol]
path = /var/lib/samba/sysvol
read only = No
msdfs root = Yes
nt acl support = No
directory mask = 0750
Los PC de los usuarios se unían al dominio en forma fácil y
segura. Al crear carpetas compartidas, era posible asignar los usuarios y
privilegios sin problemas.
Pero cuando se comenzó a configurar las políticas de grupo para
el dominio, están no se podían aplicar, indicando como error que no se tenía
acceso al sysvol. (carpeta compartida donde se almacenan las “group policy”).
El error solo aparecía cuando se trata de conectar al
recurso de red \\dominio\, si en vez del nombre
de dominio se usaba la ip el el nombre del contralador de dominio, el error no ocurría.
Pero las “group policy” solo usaba el nombre del dominio, lo
cual no se puede cambiar.
Al buscar solución siempre llegaba a que en el servidor
samba se debía ejecutar:
samba-tool ntacl sysvolreset
Pero esto no resolvía el problema, al analizar en mayor
detalle como se usa el sysvol, esta es una carpeta especial que usa dfs para
distribuir la información en ella, debido a esto se debe agregar el soporte de dfs y los acl de seguridad en el smb.conf, en mi caso quedo de la forma:
path = /var/lib/samba/sysvol
read only = No
msdfs root = Yes
nt acl support = No
directory mask = 0750
en la sección global debi agregar
host msdfs =
yes
Luego de eso ya pude distribuir las políticas del dominio.
No olvides dejar tu comentario, duda o sugerencia.
No olvides dejar tu comentario, duda o sugerencia.
sábado, 13 de agosto de 2016
Aritmética en bash
Cada cierto tiempo en los script en bash necesito implementar un contador, sumar dos números o realizar alguna operación aritmética, buscando descubrí que existe una forma sencilla de realizar estas operaciones dentro de un script bash, con el siguiente formato:
$((expresión aritmética))Ejemplos
$(( 2 + 3 )) $(( x *3 )) $(( 2 / 3 ))Esto puede realizar tanto con variables que contengan un número como con constantes o números, un ejemplo básico de un script seria:
#!/bin/bash x=15 y=10 suma=$(( x + y )) echo "$x + $y = $suma"Al ejecutar entregaría
15 + 10 = 25Operaciones con Enteros
Operador
|
Descripción
|
Ejemplo
|
Valor
|
+
|
Adición (suma)
|
echo $(( 20 + 15 ))
|
35
|
-
|
Sustracción (resta)
|
echo $(( 20 - 7 ))
|
13
|
/
|
División
|
echo $(( 20 / 4 ))
|
5
|
*
|
Multiplicación
|
echo $(( 20 * 3 ))
|
60
|
%
|
Modulo
|
echo $(( 20 % 6 ))
|
2
|
++
|
post-incremento (agrega 1 a la variable)
|
x=4
echo $(( x++ )) echo $(( x++ )) |
4
5 |
--
|
post-decremento (resta 1 a la variable)
|
x=7
echo $(( x-- ))
echo $(( x-- ))
|
7
6
|
**
|
Exponencial
|
x=2
y=3 echo $(( x ** y )) |
8
|
viernes, 12 de agosto de 2016
Error en configtool - instancia desaparecida
Después de la migración de un portal sap netweaver 7.0, desde aix a Redhat Linux 7.2, al conectarme con el configtool para modificar un parámetro, la rama de la instancia no existía.
Este es la vista donde falta la instancia
Esta es una vista normal con instancia
Al revisar encontré que en la vista del detalles de la configuración, no existía el “property sheet” instance.properties, este sheet entrega la información de que componentes existe en el cluster java, es decir el dispatches y los servers. Al no existir, el configtool no es capaz de desplegar esta información a pesar que suben los procesos.
La mejor forma de recrear este sheet es realizar un export desde otro portal, el export crea un archivo zip que contiene un archivo xml con los datos de la instancia, se debe ajustar el xml con los datos de la instancia destino, ya que los ID cambian, una vez cambiados se debe comprimir y realizar el import respectivo.
Como base para esta solución utilice la nota SAP
martes, 26 de julio de 2016
Crear un laboratorio con licencias validas de windows
Cuando uno necesita probar un software o producto, necesita una plataforma donde ejecutarlo, en la mayoría de los casos se requiere un servidor Windows con o sin base de datos SQL.
Para estos fines Microsoft permite bajar desde su sitio web, el iso del sistema operativo con una licencia con validez de 180 días, esto permite instalar el sistema operativo sin temor a caer en prácticas ilegales o dudosas, desde el siguiente link, se puede bajar 3 versiones diferentes del Sistema Operativo: Windows server 2012, Windows server 2012 R2 y Windows server 2016.
En esta misma página se puede bajar el hipervisor de Microsoft "Hyper-V Server 2012 R2", la mejor versión de esta herramienta de virtualización de Microsoft.
Cuando necesito probar en producto en mi pc, uso VMWare Workstation pro o virtualbox de Oracle, instalo el sistema operativo que requiero en evaluación y el software que deseo probar, esto me permite tener un primer acercamiento al producto sin requerir un hardware dedicado para la prueba. Una vez evaluado, puedo migrarlo a una solución más robusta para pruebas de rendimiento y carga.
También Microsoft permite bajar en modo de evaluación su software de base de datos MSSQL, permitiendo de esta forma acercarse a esta herramienta.
Para estos fines Microsoft permite bajar desde su sitio web, el iso del sistema operativo con una licencia con validez de 180 días, esto permite instalar el sistema operativo sin temor a caer en prácticas ilegales o dudosas, desde el siguiente link, se puede bajar 3 versiones diferentes del Sistema Operativo: Windows server 2012, Windows server 2012 R2 y Windows server 2016.
En esta misma página se puede bajar el hipervisor de Microsoft "Hyper-V Server 2012 R2", la mejor versión de esta herramienta de virtualización de Microsoft.
Cuando necesito probar en producto en mi pc, uso VMWare Workstation pro o virtualbox de Oracle, instalo el sistema operativo que requiero en evaluación y el software que deseo probar, esto me permite tener un primer acercamiento al producto sin requerir un hardware dedicado para la prueba. Una vez evaluado, puedo migrarlo a una solución más robusta para pruebas de rendimiento y carga.
También Microsoft permite bajar en modo de evaluación su software de base de datos MSSQL, permitiendo de esta forma acercarse a esta herramienta.
lunes, 25 de julio de 2016
Como instalar un certificado digital para tu sitio web - Gratis con letsencrypt
Cada día la seguridad en internet es mas importante y una de las primeras medidas es encriptar las paginas web, cambiando de http a https (apareciendo el candado verde en la url ).
Gracias al proyecto letsencrypt es posible activar el uso de certificado digital en nuestros sitios web de forma gratuita y automática, para esto se deben seguir unos simples pasos.
1.- Bajar desde https://certbot.eff.org/ el programa certbot el cual automatiza el proceso de implementación, en este sitio se debe ingresar el tipo de servidor web y el sistema operativo donde esta alojado. En nuestro ejemplo servidor web apache y sistema operativo Centos 6

Una vez seleccionado aparecen las instrucciones para bajar la aplicación certbot
2.- En el caso de centos es necesario antes de la instalación habilitar el repositorio de epel, como root o utilizando sudo ejecutar
3.- Bajar el aplicativo desde la página web dl.eff.org, ya sea en forma manual o vía wget
4.- ejecutar certbot-auto, el cual instalara todos los prerequisitos desde los repositorios configurados.
5.- Una vez que termine la instalacion de los prerequisitos y la generacion de los datos de configuración inicial, y es posible obtener el certificado para nuestro sitio web, previamente el servidor web apache debe estar configurado con el nombre del sitio web, por ejemplo prueba.ejemplo.cl, para que de esta forma la aplicación solicite el certificado respectivo, solo bastara ejecutar
Este configurara en forma automática el sitio web con el certificado respectivo, preguntara que se acepte los termino y condiciones, y confirmara las diferentes opciones.
Para una correcta instalacion el puerto 80 y 443 deben estar abiertos a conexiones desde internet.
Gracias al proyecto letsencrypt es posible activar el uso de certificado digital en nuestros sitios web de forma gratuita y automática, para esto se deben seguir unos simples pasos.
1.- Bajar desde https://certbot.eff.org/ el programa certbot el cual automatiza el proceso de implementación, en este sitio se debe ingresar el tipo de servidor web y el sistema operativo donde esta alojado. En nuestro ejemplo servidor web apache y sistema operativo Centos 6
Una vez seleccionado aparecen las instrucciones para bajar la aplicación certbot
2.- En el caso de centos es necesario antes de la instalación habilitar el repositorio de epel, como root o utilizando sudo ejecutar
yum install epel-release
3.- Bajar el aplicativo desde la página web dl.eff.org, ya sea en forma manual o vía wget
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
Recordar dar permisos de ejecución con chmod
4.- ejecutar certbot-auto, el cual instalara todos los prerequisitos desde los repositorios configurados.
./certbot-auto
5.- Una vez que termine la instalacion de los prerequisitos y la generacion de los datos de configuración inicial, y es posible obtener el certificado para nuestro sitio web, previamente el servidor web apache debe estar configurado con el nombre del sitio web, por ejemplo prueba.ejemplo.cl, para que de esta forma la aplicación solicite el certificado respectivo, solo bastara ejecutar
./certbot-auto --apache
Este configurara en forma automática el sitio web con el certificado respectivo, preguntara que se acepte los termino y condiciones, y confirmara las diferentes opciones.
Para una correcta instalacion el puerto 80 y 443 deben estar abiertos a conexiones desde internet.
lunes, 11 de abril de 2016
Software Logistics Toolset 1.0 => Software Provisioning Manager 1.0
SAP genero una evolucion del antiguo sapint para la instalacion y actualizacion de sistemas SAP, llamado: Software Logistics Toolset, que agrupa una seria de herramientas para la instalacion y mantencion de los sistemas:
>
Las herramientas mas comunmente usadas son:
Los sistemas operativos soportados son:
Existen dos versiones de la herramienta: para sistemas con SAP Netweaver 7.0X (Ej. 70SWPM10SP10_4-20009707.sar ) y para sistemas de versiones mayores a SAP Netweaver 7.0X (EJ. SWPM10SP10_4-20009707.SAR)
Les presentare las opciones iniciales para las dos versiones
70SWPM

Se puede apreciar las diferentes suites soportadas hasta (7i 2011), desde SAP Netweaver 7.0 a 7.0 EHP3, pasando por SAP Solution Manager 7.1 SP1 y 7.0 EHP1 SP1. La capacidad de dividir un Dual-Stack (la cual ya no es soportada en versiones superiores) y otros componentes adicionales como TREX y los agentes de Diagnosticos. Por ejemplo para la suite 7i 2011, se tiene los siguientes productos ( SAP CRM 7.0 , ERP 6.0, SCM 7.0 y SRM 7.0):

Para SAP NetWeaver 7.0 EHP 2 (PI, MI, ABAP , JAVA):

SWPM
Donde se pueden apreciar las nuevas suites, productos y la aparición de HANA como repositorio.

En otro post veremos un ejemplo de instalación de un AS ABAP.
Las herramientas mas comunmente usadas son:
- Software Update Manager (version al dia de hoy: 1.0 SP16 parche 6)
- Software Provisioning Manager (version al dia de hoy: 1.0 SP10 parche 3)
Los sistemas operativos soportados son:
- AIX 64bit
- HP-UX on IA64 64bit
- HP-UX on PA-RISC 64bit
- Linux on IA32 32bit
- Linux on IA64 64bit
- Linux on Power BE 64bit
- Linux on x86_64 64bit
- Linux on zSeries 64bit
- OS/400
- Solaris on SPARC 64bit
- Solaris on x86_64 64bit
- Windows Server on IA32 32bit
- Windows on IA64 64bit
- Windows on x64 64bit
Existen dos versiones de la herramienta: para sistemas con SAP Netweaver 7.0X (Ej. 70SWPM10SP10_4-20009707.sar ) y para sistemas de versiones mayores a SAP Netweaver 7.0X (EJ. SWPM10SP10_4-20009707.SAR)
Les presentare las opciones iniciales para las dos versiones
70SWPM

Se puede apreciar las diferentes suites soportadas hasta (7i 2011), desde SAP Netweaver 7.0 a 7.0 EHP3, pasando por SAP Solution Manager 7.1 SP1 y 7.0 EHP1 SP1. La capacidad de dividir un Dual-Stack (la cual ya no es soportada en versiones superiores) y otros componentes adicionales como TREX y los agentes de Diagnosticos. Por ejemplo para la suite 7i 2011, se tiene los siguientes productos ( SAP CRM 7.0 , ERP 6.0, SCM 7.0 y SRM 7.0):
Para SAP NetWeaver 7.0 EHP 2 (PI, MI, ABAP , JAVA):
SWPM
Donde se pueden apreciar las nuevas suites, productos y la aparición de HANA como repositorio.

En otro post veremos un ejemplo de instalación de un AS ABAP.
miércoles, 6 de abril de 2016
Expect - como integrar un programa interactivo a un script
Expect es una herramienta muy útil para integrar esos programas interactivos, que se ejecutan en una shell, con nuestros o script de administración o páginas web o procesos por lotes.
Una descripción de este seria:
"Expect es un programa que “conversa” con otros programs interativos según un "guión" (o script). Siguiendo el guión, Expect sabe lo que puede esperarse de un programa y cuál debería ser la respuesta correcta. Un lenguaje interpretado proporciona estructuras de ramificación y de control de alto nivel para dirigir el diálogo. Además, el usuario puede tomar el control e interactuar directamente cuando se desea, después de devolver el control al script."
Ejemplo de usos de expect:
Para poder comprender su uso, presentare un ejemplo simple de como crear una vlan en varios switch cisco. La ip del switch es contenido de un archivo que contiene una lista de ips y se pasa como parámetros el usuario y contraseña común a cada switch.
Cada vez que se envia un comando utilizamos "\r" para representar la tecla "Intro" o "Enter"
Una descripción de este seria:
"Expect es un programa que “conversa” con otros programs interativos según un "guión" (o script). Siguiendo el guión, Expect sabe lo que puede esperarse de un programa y cuál debería ser la respuesta correcta. Un lenguaje interpretado proporciona estructuras de ramificación y de control de alto nivel para dirigir el diálogo. Además, el usuario puede tomar el control e interactuar directamente cuando se desea, después de devolver el control al script."
Ejemplo de usos de expect:
- Se desea automatizar la ejecución de un comando en un servidor Unix o Linux, cuya salida puede variar y se desea analizar.
- Necesitas repetir la misma configuración en varios switchs que se administran vía ssh. Por ejemplo borrar una vlan.
- Integrar un viejo menú en una aplicación web.
Para poder comprender su uso, presentare un ejemplo simple de como crear una vlan en varios switch cisco. La ip del switch es contenido de un archivo que contiene una lista de ips y se pasa como parámetros el usuario y contraseña común a cada switch.
#!/usr/bin/expect -f
# Al igual que todo script se declara en la primera línea la shell a usar
# en este caso /usr/bin/expect con la opcion -f
# Definicio de variables
# defino la variable f que abre el archivo /home/switch/scripts/listado.txt donde
# están almacenadas las ips de los switch que se configuraran, una ip por línea
set f [open "/home/switch/scripts/listado.txt"]
# defino dos variables basado en los argumentos entregados al script 0 para $1 y 1 para $2 ...
# usuario seria el primer argumento
set usuario [lindex $argv 0]
# passwword seria el segundo argumento
set password [lindex $argv 1]
# en este caso el usuario y contraseña es comun a todos los switch a configurar
# para manejar en mejor forma el contenido del archivo genero una lista usando split y la almaceno
# la variable hosts
set hosts [split [read $f] "\n"]
# cierro el archivo /home/switch/scripts/listado.txt
close $f
# para cada una de las ips genero un bucle
foreach host $hosts {
# ejecuto el comando ssh (spawn, permite ejecutar un comando)
spawn ssh $usuario@$host
# la conexion ssh genera una respuesta, la que generalmente puede ser:
# - Pregunta si se debe aceptar el certificado, si esta es la nueva conexion. Si es este caso
# se espera una linea que termina con "no)?" y se envia (send) la palabra "yes", para indicar
# que se acepta y "\r" para el salto de linea o enter.
# - O pregunta por la contraseña, por lo cual se espera una linea terminada en "assword:"
# el comando expect es el encargado de interpretar la salida del comando anterior
# y segun parametros de busqueda determina la siguiente operacion, para este caso que se envia con send
#
expect {
"no)?" {
send "yes\r"
expect "assword:"
}
"assword:"
}
# se envia la contraseña
send $password\r"
# luego se revisa si se accedio al prompt "#"
expect "#"
# se envia "conf term\r" para ingresar al modo de configuracion del switch
send "conf term\r"
# luego se revisa si se accedio al prompt "#"
expect "#"
# se envia "vlan 96\r" para crear (si no existe) o modificar la vlan 96
send "vlan 96\r"
# luego se revisa si se accedio al prompt "#"
expect "#"
# Se configura el nombre de la vlan a vlan96
send "name vlan96\r"
# luego se revisa si se accedio al prompt "#"
expect "#"
# se envia "end" para termina el modo de configuraci&oacuta;n
send "end\r"
# luego se revisa si se accedio al prompt "#"
expect "#"
# se envia "wr" para grabar la configuraci&oacuta;n
send "wr\r"
# luego se revisa si se accedio al prompt "#"
expect "#"
# se envia "exit" para salidar
send "exit\r"
}
Cada vez que se envia un comando utilizamos "\r" para representar la tecla "Intro" o "Enter"
martes, 5 de abril de 2016
Deshabilitar los pendrive en un windows
Debido a los continuos problemas de seguridad que los pendrive (usb) ocasionaban a un cliente, me solicito deshabilitar los pendrive (usb) de los pc windows de los usuarios.
Luego de una búsqueda en Microsoft encontré lo siguiente: https://support.microsoft.com/en-us/kb/823732
Una opción es cambiar los permisos de los archivos:
La segunda opcion ( que considero mas inteligente) es modificar un registro de windows, para que no se inicie el servicio que monta los discos o pendrive usb, bajo la llave:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]
Se modifica el registro start de 3 a 4 para deshabilitar.
CLASS MACHINE
CATEGORY !!category
CATEGORY !!categoryname
POLICY !!policynameusb
KEYNAME "SYSTEM\CurrentControlSet\Services\USBSTOR"
EXPLAIN !!explaintextusb
PART !!labeltextusb DROPDOWNLIST REQUIRED
VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
END CATEGORY
END CATEGORY
[strings]
category="Custom Policy Settings"
categoryname="Restrict Drives"
policynameusb="Disable USB"
explaintextusb="Disables the computers USB ports by disabling the usbstor.sys driver"
labeltextusb="Disable USB Ports"
Enabled="Enabled"
Disabled="Disabled"
Luego de una búsqueda en Microsoft encontré lo siguiente: https://support.microsoft.com/en-us/kb/823732
Una opción es cambiar los permisos de los archivos:
- %SystemRoot%\Inf\Usbstor.pnf
- %SystemRoot%\Inf\Usbstor.inf
La segunda opcion ( que considero mas inteligente) es modificar un registro de windows, para que no se inicie el servicio que monta los discos o pendrive usb, bajo la llave:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]
Se modifica el registro start de 3 a 4 para deshabilitar.
Si se desea configurar este registro desde una política de dominio, pueden generar un txt (con extensión .adm) con el siguiente contenido:
CLASS MACHINE
CATEGORY !!category
CATEGORY !!categoryname
POLICY !!policynameusb
KEYNAME "SYSTEM\CurrentControlSet\Services\USBSTOR"
EXPLAIN !!explaintextusb
PART !!labeltextusb DROPDOWNLIST REQUIRED
VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
END CATEGORY
END CATEGORY
[strings]
category="Custom Policy Settings"
categoryname="Restrict Drives"
policynameusb="Disable USB"
explaintextusb="Disables the computers USB ports by disabling the usbstor.sys driver"
labeltextusb="Disable USB Ports"
Enabled="Enabled"
Disabled="Disabled"
Y agregarlo como una nueva política. Y esta nueva política aplicarlo al grupo de equipos a ser configurados (se debe cambia a Enabled).
Suscribirse a:
Entradas (Atom)
Instalación rapida de kvm manager de oracle
Para instalar kvm manager de oracle se deben seguir los siguientes pasos: Instalar Oracle Linux 7 configurar el fqdn en el archivo /etc/hos...
-
aveces es necesario aumentar el tamaño de un tablespcae, agrandando el datafile que lo compone, para esto existe 2 formas bien conocidas: ...
-
Un cliente tiene una consola de monitoreo en un windows 10, la cual tiene acceso a todas las redes. Un día necesita tomar por escritorio rem...