Archivo

Archive for the ‘Ubuntu’ Category

Instalación de Cluster de Kubernetes con Vagrant

marzo 4, 2020 1 comentario

Como parte de las labores de despliegue de software, la automatizar los procesos de infraestructura como código, es vital, para las actividades de Pentesting / Ethical Hacking tener construir tus entornos y escenarios locales de prueba sirve infinitamente para poder realizar tus P.O.C.

Es así que aquí va el procedimiento para automatizar la instalacion de un Cluster de Kubernetes usando Vagrant en Centos 7, este es el Escenario.

Ubuntu 16.04.6 LTS
Vagrant 2.2.3

Este es Vagantfile

###########################################

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = «2»
##Variables de configuracion ###
INTERFASE_BRIDGE = «wlps01»
DIRECCION_IP_BRIDGE = «192.168.1.151»
MASCARA_RED = «255.255.255.0»
PUERTA_ENLACE = «192.168.1.1»
##Configuracion de la VM master
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = «centos/7»
config.disksize.size = ’50GB’
config.vm.network «public_network», bridge: INTERFASE_BRIDGE, ip: DIRECCION_IP_BRIDGE, netmask: MASCARA_RED, gateway: PUERTA_ENLACE
config.vm.hostname = «k8s-master»
config.vm.provider «virtualbox» do |v|
v.name = «k8s-master»
v.memory = 2048
v.cpus = 2
end
##Insertar llave SSH
config.ssh.insert_key = false
config.ssh.private_key_path = [‘~/.vagrant.d/insecure_private_key’, ‘~/.ssh/id_rsa’]
config.vm.provision «file», source: «~/.ssh/id_rsa.pub», destination: «~/.ssh/authorized_keys»
##Configuracion de SSH, SELINUX, IPTABLES, SWAP, FIREWALLD
config.vm.provision «shell», inline: <<-EOC
sudo sed -i -e «\\#PasswordAuthentication yes# s#PasswordAuthentication yes#PasswordAuthentication no#g» /etc/ssh/sshd_config
sudo sed -i -e «\\#PermitRootLogin prohibit-password# s#PermitRootLogin prohibit-password#PermitRootLogin yes#g» /etc/ssh/sshd_config
sudo sed -i -e «\\#SELINUX=enforcing# s#SELINUX=enforcing#SELINUX=disabled#g» /etc/selinux/config
sudo systemctl restart sshd.service
sudo setenforce 0
sudo modprobe br_netfilter
sudo echo ‘1’ > /proc/sys/net/bridge/bridge-nf-call-iptables
sudo sed -i ‘/swap/d’ /etc/fstab
sudo swapoff -a
sudo systemctl stop firewalld
sudo systemctl mask firewalld
echo «Instalacion de Docker»
sudo yum -y install vim yum-utils net-tools
sudo yum -y install epel-release
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager –add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce
echo «Instalacion de Kubernetes»
sudo yum-config-manager –add-repo=http://www.silcom.com.pe/soft/kubernetes.repo
sudo yum-config-manager –enable Kubernetes
sudo yum install -y kubelet kubeadm kubectl
echo «Fin de Instalacion»
EOC
##Reinicio de la VM
config.vm.provision :reload
##Configuracion e inicio de servicio docker y kunernestes
config.vm.provision «shell», env: {«VARIP» => «192.168.1.151»}, inline: <<-EOC
sudo sed -i ‘1i $VARIP k8s-master k8s-master’ /etc/hosts
sudo systemctl start docker && systemctl enable docker
sudo systemctl start kubelet && systemctl enable kubelet
sudo sed -i ‘s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g’ /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
sudo systemctl daemon-reload
sudo systemctl restart kubelet
echo «Inicializacion de Cluster»
sudo kubeadm init –apiserver-advertise-address=$VARIP –pod-network-cidr=10.244.0.0/16
sudo mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
echo «Fin de Inicializacion de Cluster»
echo «Desplegar el pod network»
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
echo «Pod network creado»
echo «FIN»
EOC
#Fin SSH
end

##############################################################3

Finalmente este es el video donde se muestra el despliegue :

Espero les sirva.
Saludos
@jroliva

 

Anuncio publicitario

búsqueda de vulnerabilidades mediante análisis de código fuente estático

enero 11, 2019 5 comentarios

Luego de terminar el año a full, regresar de unas pequeñas vacaciones me pongo al día con el blog ya que lo he tenido un poco descuidado. Como parte de las actividades en los proyectos de Ethical Hacking se tienen requerimientos para buscar vulnerabilidades en el código fuente de manera estática, es decir sin que la aplicación evaluada este ejecutándose, para realizar ello nos podemos ayudar en ciertas herramientas que pueden AYUDAR en realizar esto, y resalto AYUDAR por que ninguna herramienta va hacer el trabajo al 100% , siempre va ser necesario realizar un análisis posterior de los casos.

En este caso, vamos a aprender a instalar , configurar y usar Sonarqube es una herramienta que me a ayudado mucho en estas labores, este procedimiento se puede aplicar en Ubuntu 18.04.1 u otro derivado.

 

1.- Instalar java

sudo apt install openjdk-8-jdk openjdk-8-jre

2.- Crear directorio

mkdir sonarqube

2. -Descargar Sonarqube

Para ello es necesario ingresar a la pagina : https://www.sonarqube.org/downloads/

También es necesario descargar el escaner de : https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

Al descomprimir los archivos tendremos lo siguiente :

3.- Luego descargaremos un proyecto opensource como DVWA para analizarlo

Para esto descargaremos un viejo conocido como DVWA

4.- Ahora vamos a configurar el escaner

– Crear una carpeta «main» en la ruta sonar-scanner-3.2.0.1227-linux/bin

cd sonar-scanner-3.2.0.1227-linux/bin
mkdir main

– luego dentro de la carpeta «main» vamos a mover y descomprimir la carpeta de la aplicacion a analizar

mv DVWA-master.zip sonar-scanner-3.2.0.1227-linux/bin/main/
cd sonar-scanner-3.2.0.1227-linux/bin/main/
unzip DVWA-master.zip

– Ahora crear un archivo «sonar-project.properties» indicando la aplicación a evaluar de la siguiente forma

cd sonar-scanner-3.2.0.1227-linux/bin
vim sonar-project.properties

5.- Finalmente iniciamos el panel de sonar y luego escaner para iniciar el análisis

– Iniciar sonar
cd sonarqube/sonarqube-6.7.5/bin/linux-x86-64
./sonar.sh start

Sonar iniciara en el puerto 9000 del localhost de la siguiente forma

 

– Ahora iniciar el escaner
cd sonarqube/sonar-scanner-3.2.0.1227-linux/bin
./sonar-scanner

Como vemos el análisis del de las paginas se realizo correctamente.

6.- Análisis de resultados

Luego de que el escáner termine el análisis en el panel de sonar aparecerá un nuevo proyecto de la siguiente forma

Como vemos ahora tenemos un proyecto analizado, al ingresar veremos que tenemos catalogadas los bugs, vulnerabilidades, entre otros resultados.

Al ingresar a las vulnerabilidades, tendremos un listado de las mismas.

El siguiente paso es analizar cada una de las vulnerabilidades reportadas en el código para identificar la importancia de las mismas, su importancia en el modelo de negocio y por su puesto como poder corregirlas.

 

Espero que les sirva.
Saludos
Juan Oliva

 

Kamailio entendiendo lógica de enrutamiento

junio 24, 2016 6 comentarios

kamailio_logicaUno de los aspectos mas importantes y a la vez complicados de entender en Kamailio es la lógica de enrutamiento, debido a que tiene mucho que ver con el comportamiento del protocolo SIP.

Luego de mi charla en el ElastixWorld 2015 he tenido varias consulta referente a Kamailio y su comportamiento, un poco de ello lo explique en la charla «Usando el módulo PIKE en Elastix MT»  sin embargo en este post vamos a dar un alcance un poco mayor a este tema.

Primero vemos de manera genera lo que trae el archivo de configuración.

kamailioEsta imagen representa el esquema a nivel de parametrización de un archivo kamailio.cfg

Ahora vamos a ver cada punto:

1.- Definiciones Globales
Variables que vamos a usar a lo largo de la lógica de enrutamiento, las cuales pueden estar referidas a parámetros de log, direcciones IP y puertos que va escuchar el servidor, entre otras.

Tiene la siguiente forma:

Kamailio_globals2.- Sección de Módulos
Es donde definimos o «cargamos» los módulos vamos a user, por ejemplo el modulo de MYSQL  para guardar los registros en base de datos, o el modulo de TLS para cifrado de la señalización.

Tienen las siguiente forma:

kamailio_modules3.- Sección de configuración de módulos
En esta sección de parametrizan o configuran los módulos que hemos cargado en la sección  anterior, es muy importante configurar los módulos adecuadamente, ya que en algunos casos se activan con configuraciones por defecto, lo cuales pueden producir a la larga efectos extraños en el comportamiento.

Tienen la siguiente forma:

kamailio_modules4.- Bloques de rutas o lógica de enrutamiento
Esta es la sección es «clave» en el archivo de configuración ya que va establecer todo el camino que va seguir las peticiones SIP que recibamos, aquí hay que decir que no existe un patrón único, ya que uno puede hacer su lógica tan simple o tan compleja como lo desee, es decir con mas o menos bloques de rutas, sin embargo existen ciertos patrones que uno siempre va respetar o encontrar en otros archivos, estos son bloques de rutas que normalmente vamos a encontrar:

  • Principal (Main ó request_route)
  • Secundarias (REQINIT, WITHINDLG,REGISTRAR)
  • Failure (failure_route)
  • Branch (branch_route)

En esquema que pude realizar para mi autocompasión de un esquema de enrutamiento maso menos complejo:

kamailioComo se puede apreciar todo parte del bloque «Main» o «Request Route» y va ingresando a los demás bloques en donde cada uno tiene un objetivo puntual aplicado a la solicitud SIP entrante.

El bloque «REQINIT» tiene un papel muy importante ya que hace la mayoría de la comprobaciones previas como la evaluación de seguridad entre otras cosas.

Luego los métodos secundarios realizan el registro, localización y reenvío de las solicitudes SIP a otro server, un Asterisk por ejemplo. según sea el caso.

Enlaces:
https://www.kamailio.org/wiki/cookbooks/4.0.x/core
https://www.kamailio.org/wiki/tutorials/getting-started/main

Bueno espero que este post les amplié el panorama respecto al funcionamiento de kamailio, mas adelante desmenuzaremos otros aspectos de este formidable software.

Saludos
Juan Oliva

 

 

 

 

 

 

Instalación de Openstack en Ubuntu

junio 5, 2016 4 comentarios

openstackHace un tiempo que llevo investigando, trabajando y usando de Openstack, es todo un mundo nuevo y fascinante, a continuación les muestro como instalarlo sobre Ubuntu 14.04 64bits en una instalación  All-in-One (todo en uno) ya que existe también la arquitectura muli nodo.

1.- Preparación del sistema operativo

Algunos detalles de la instalación y post instalación de Ubuntu para openstack

  • Es recomendable crear un usuario «stack» para ser usado, luego ingresar con ese usuario para realizar la instalación.
  • Es necesario configurar una dirección IP fija en el archivo «interfaces»

2.- Instalación de pre-requisitos
Ingresar con el usuario «stack» y luego escalar a root

2.1.- Instalar git
sudo su
sudo apt-get -y install git

2.2.- Clonar openstack del repostitorio dev
git clone https://git.openstack.org/openstack-dev/devstack

2.3.- Configurar el archivo «local.conf» con las credenciales y parámetros de red.
cp /home/stack/devstack/samples/local.conf /home/stack/devstack/local.conf
cd devstack/
vim local.conf

openstackDonde:

ADMIN_PASSWORD : Es la contraseña de acceso para horinzon
FLOATING_RANGE=192.168.10.224/27 : El el segmento LAN de la red, se considera el pool de IPs que seran asignadas para las maquinas virtuales.
FIXED_RANGE=10.11.12.0/24 : El segmento de direcciones internas asignadas a las maquinas virtuales.

3.- Instalación de Openstack
Una vez que tengamos configurado el archivo «local.conf» iniciarnos el proceso de instalación, Es un proceso largo, de 30 a 40 minutos, así que tengan un buen cafe a la mano.

./stack.sh

4.- Ingresar a Horizon
Una vez que el proceso culmine será posible ingresar a hortizon que es la interfase de administración de openstack de la siguiente forma:

openstack5.- Crear imágenes
Se puede definir a una imagen como un sistema pre configurado que se usa como base para crear una «instancia» , aterrizando conceptos sería instancia = maquina virtual, una instalación por defecto:

openstackEvidentemente es posible crear una nueva imagen las cuales pueden ser de tipo : AKI, AMI, ARI, hasta de tipo ISO, sin embargo la mas común es de tipo QCOW2 que son de tipo qemu.

Una buena explicación de los tipos de imágenes pueden encontrarla aquí: http://docs.openstack.org/image-guide/image-formats.html

Se puede encontrar imágenes de las principales distribuciones de Linux :
https://www.rdoproject.org/resources/image-resources/

Y crear sus propias imágenes :

openstack6.- Crear instancias.
Conceptual mente es un «clon» de una imagen que crea un usuario, es decir es bueno tener una diversa cantidad de imágenes para poder tener instancias de los diversas distribuciones.

openstack7.- Conclusiones
Definitivamente Openstack es ahora una nueva alternativa para crear nubes o virtualizar simplemente, definitivamente crear instancias solo es la punta del iceberg en este entorno de trabajo.

Una Guía muy detallada de como usar horizon pueden encontrarla aquí

Espero les sirva
Juan Oliva
@jroliva

 

 

 

 

 

OWASP Broken Web Applications Project

junio 16, 2015 Deja un comentario

owbaComo parte de la enseñanza de los cursos de Ethical Hacking que tengo la oportunidad de impartir, suelo hacer uso de aplicaciones o sistemas vulnerables, con el objetivo de poder recrear escenarios y que los participantes puedan no solo identificar fallos de seguridad, si no también poner en practica, diversas técnicas de explotación de vulnerabilidades y desarrollar un adecuado análisis de la razón por la cual se producen estos bugs.

OWASP Broken Web Applications Project  (OWASPBWA) sirve perfecto para este objetivo, ya que es un conjunto de aplicaciones web vulnerables que se distribuye en una máquina virtual que puede ser importada en VirtualBox por ejemplo.

OBWA es una maquina virtual que contiene instaladas aplicaciones web como WordPress, Jommla, phpBB2 entre otros proyectos como Webgoat, DVWA, Multidae, etc.

OWASPBWA

Lo más interesante desde el punto de vista académico, claro está 😀 es la gran cantidad de vulnerabilidades que podemos encontrar, basta con realizar un análisis con Nessus para darse cuenta de ello.

owaspbwa

owaspbwa

Dentro de las vulnerabilidades que se pueden explotar podemos citar algunas como :

WORDPRESS

CVE-2014-10021
WORDPRESS WP Symposium 14.11 shell upload
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-10021

CVE-2007-2426
high myGallery mygallerybrowser.php ‘myPath’
http://www.cvedetails.com/cve/CVE-2007-2426/

JOOMLA
CVE-2014-0793
Multiple cross-site scripting (XSS)
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0793

phpBB2
CVE-2003-1215, CVE-2003-1216
SQL injection vulnerability
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1215

Entre muchas otras vulnerabilidades que se pueden encontrar.

Mas información :

Página del proyecto
https://code.google.com/p/owaspbwa/

Archivo OVA para importar en VirtualBox
http://sourceforge.net/projects/owaspbwa/files/1.1.1/

User Guide
https://code.google.com/p/owaspbwa/wiki/UserGuide

Vídeo de la conferencia de presentación
https://www.youtube.com/watch?v=cwjcfAgKqcg

Espero les sirva
Saludos
Juan Oliva
@jroliva

 

 

 

 

 

 

 

Error org.freedesktop.Hal.Device.UnknownError. en Ubuntu Juanty 9.04

mayo 14, 2009 3 comentarios

Tenia un menudo problema , con ubuntu 9.04 (actualizado al día) , en mi laptop ,cuando necesitaba trabajar con dispositivos usb y la partición ntfs , de mi laptop,  tenia  estos errores:

Error org.freedesktop.Hal.Device.UnknownError.
DBus error org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)

Despues de leerme ( con mucha paciencia claro) todos los hilos relacionados con este aparente bug , llegue a este que me parece el mas certero:  https://bugs.launchpad.net/ubuntu/+source/hal/+bug/292874

Despues de mucho darle vuelta a las posibles soluciones, llegue a este procedimiento que soluciono mi problema

#apt-get install usbmount
#apt-get install –reinstall hal

Espero que les sirva

Categorías: Linux, Ubuntu

Plug-in de integración de Thunderbird y SugarCrm

diciembre 30, 2008 Deja un comentario

Siguiendo con el tema de integraciones con sugarcrm, encontré Asertiva Thunderbird Extension for Sugar , un interesante plugin , agregado , modulo , como lo quieran llamar 🙂  para trabajar las funcionalidades de sugarcrm desde thunderbird , la estalación es muy sencilla basta con descargar el archivo sugarbird-0.9.9.2.xpi (la version actual en este momento) y ir a  thunderbird , e ir al menú :  Herramientas/agregados  y pulsar en el botón ¨instalar¨  buscamos el archivo descargado y lo instalamos.  luego de eso hay que configurar los parámetros del servidor  como sigue :

sugar-thunderbird1

sugar-thunderbird2

Luego podremos trabajar con los objetos de sugar de manera transparente y crear cuentas,contactos , oprtunidades..etc.

sugar-thunderbird3

Esto es muy comodo en realidad, cuando queremos cargar datos rapidamente y no ingresar a toda la aplicacion web, que se torna un poco pesada de acuarde cuanta data tengamos.

Ubuntu Hardy y los problemas con la BCM94311MCG de broadcom

mayo 5, 2008 14 comentarios

Hace una semana que se lazo la nueva vercion de ubuntu , 8.04 Hardy y no me aguante de probarla ni bien salio , despues de estos dias de personalizacion y ajustando el entorno a mi gusto 🙂 , y encontrado con felicidad las actualizaciones de la mayoria de los programas que uso , pero sin embargo encontre el mismo trauma con la famosa tarjeta wifi de broadcom ( BCM94311MCG Wlan mini-PCI ) hasta cuando broadcom lanzara sus drivers oficiales , como lo han echo Ati , Nvidia ..etc.

Lamentablemente con el drivers que trae hardy no funciona 😦  , sin embargo googleando ya algien lo habia solucionado y tubo la genial idea de compartir su experiencia  ,ok  vamos a dividirlo en 2 partes

1.- con este tutorial instalan y configuran la tarjeta y funciona sin reiniciar  🙂 , sin embargo , cuando reinician no carga correctamente el driver. para lo cual usamos esta correccion publicado por Luis Guitierrez en la misma pagina.

2.- Crear un archivo ejem. iniciar-wifi.sh con el siguiente contenido

#!/bin/bash
cd /home/juan/compat-wireless-2008-04-27   #esto depende donde hallan descargado el driver
sudo make load
exit 0
#Fin del archivo

– Darle permisos de ejecucion /  copiarlo a las siguientes ubicaciones y crear enlaces para su carga en el arranque del sistema.

chmod a+x iniciar-wifi.sh
sudo cp iniciar-wifi.sh /bin
sudo cp iniciar-wifi.sh /etc/init.d
sudo ln -s /etc/init.d/iniciar-wifi.sh /etc/rcS.d/S62wifi

Con esto se soluciona el problema de la broadcom con Hardy

Actualización 11/08/2008
Con la nueva actualización ubuntu-8.04.1-desktop-i386.iso , y kernel 2.6.24-19 , se revuelve todo este drama, aun se usan drivers propietarios pero el proceso es mas simple.


Ubuntu Install Party Lima 2007

octubre 31, 2007 Deja un comentario

El Sábado 27 de Octubre participe de con una charla sobre virtualizacion de sistemas sobre ubuntu en el Ubuntu Install Party Lima 2007, cuyo objetivo era difundir y mostrar el uso de ubuntu  y en mi caso demostra que es una alternativa valida para el trabajo en entornos empresariales y por supuesto promocionar la nueva versión de Ubuntu “Gusty” (7.10)

Para ello desarrolle esta presentación

 

Categorías: Ubuntu

Howto Beryl en Ubuntu 7.04 Fiesty

junio 20, 2007 Deja un comentario

Obsecionado con activar beryl en mi laptop encontre este tutorial (el cual tomo como referencia) para la instalacion de el espectacular beryl

Ahora es super facil detallo los pasos:

1.- Instalación

#synaptic

Y marcamos la instalacion de los siguientes paquetes:

beryl
beryl-manager
emerald
emerald-themes

beryl-ubuntuo

2.- Ejecución
Después de completar la instalacion vamos a iniciar beryl en el menu :

Aplicaciones / Herramientas / Beryl Manager

Y listo con esto tenemos funcionando todos los efectos !!!!  es imprecionante el avance en la instalación

Categorías: Linux, Ubuntu