Instalando herramientas de desarrollo Java para ambiente Linux

INSTALL LINUX:

sudo apt-get install alien dpkg-dev debhelper build-essential

SOPORTE PARA ARCHIVOS COMPRIMIDOS:
sudo apt-get install rar unace p7zip p7zip-full p7zip-rar unrar lzip lhasa arj sharutils mpack lzma lzop

SOPORTE FUENTES:
sudo apt-get install ttf-aenigma
sudo apt-get install ttf-adf-* ttf-isabella ttf-junicode ttf-kacst ttf-kacst-one\
 ttf-kochi-gothic ttf-kochi-mincho ttf-liberation ttf-alee ttf-mona ttf-marvosym \
 ttf-mikachan ttf-anonymous-pro ttf-oxygen-font-family ttf-arabeyes ttf-sjfonts\
 ttf-atarismall ttf-radisnoir ttf-baekmuk ttf-staypuft ttf-bitstream-vera \
 ttf-summersby ttf-dejavu ttf-dejavu-core ttf-dejavu-extra ttf-tiresias ttf-engadget \
 ttf-tomsontalks ttf-essays1743 ttf-femkeklaver ttf-fifthhorseman-dkg-handwriting \
 ttf-freefarsi ttf-unifont ttf-wqy-microhei ttf-georgewilliams ttf-wqy-zenhei \
 ttf-goudybookletter fonts-3270 fonts-inconsolata fonts-roboto fonts-rufscript \
 fonts-ricty-diminished fonts-quattrocento fonts-prociono fonts-play fonts-pecita \
 fonts-linuxlibertine

Instalar la corrección ortográfica en LibreOffice:

sudo apt-get install myspell-es

VIRTUALIZACION:
sudo apt-key add oracle_vbox_2016.asc
sudo apt-key add oracle_vbox.asc
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -


sudo apt-get update
sudo apt-get install virtualbox-5.1

---------------------------------------------------------------------------------------------
HERRAMIENTAS DE DESARROLLO:

INSTALL JAVA:
sudo apt-get install icedtea-8-plugin openjdk-8-jre

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update && sudo apt-get install oracle-java7-installer


IDES:

Descargar y instalar Netbeans:
https://netbeans.org/downloads/start.html?platform=linux&lang=es&option=all
chmod +x
./


Eclipse:
https://www.eclipse.org/downloads/

eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz

cd /opt/ && sudo tar -zxvf ~/Downloads/eclipse-*.tar.gz

sudo nano /usr/share/applications/eclipse.desktop

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse Mars
Comment=Integrated Development Environment
Exec=/opt/eclipse/eclipse -vm /usr/lib/jvm/java-7-openjdk-amd64/bin
Icon=/opt/eclipse/icon.xpm
Categories=Application;Development;Java;IDE
Type=Application
Terminal=false

sudo nano /opt/eclipse/eclipse.ini


GIT:
sudo apt-get install git

MAVEN:
sudo apt-get purge maven maven2 maven3
sudo apt-add-repository ppa:andrei-pozolotin/maven3
sudo apt-get update
sudo apt-get install maven3

export M2_HOME=/usr/share/maven3
export M2=$M2_HOME/bin

export PATH=$M2:$PATH
-----------------------------------------------------------------------------------------------------------------------------
HERRAMIENTAS DE BD:
DBeaver: DBeaver itself requires Java 1.7 or higher.
http://dbeaver.jkiss.org/download/

sudo dpkg -i dbeaver-.deb. Then execute “dbeaver &”.

MYSQL:
sudo apt-get install mysql-workbench-community


Sqldeveloper:
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

Run Toad Freeware on Linux!:
Install WineTricks to improve Wine reliability ( http://wiki.winehq.org/winetricks)
wget http://www.kegel.com/wine/winetricks
sh winetricks corefonts vcrun6

Install Toad for Oracle freeware
Download freeware files: toad_free.zip and freeware_update.zip
Unzip toadfree.zip file into a temporary directory (e.g. /home/user/temp)
Open a Linux command window and cd to that temporary directory
Wine toad freeware install.exe (remember to use \ before spaces)
Unzip freeware_update.zip file into /home/user/.wine/c_drive/Program Files/Quest Software/Toad for Oracle FREEWARE
Install Oracle 10g (not 11g) Client 32-bit for Windows
Download Oracle 10g 32-bit client file: 10201_cleint_win32.zip
unzip 10201_cleint_win32.zip file into a temporary directory
open a command window and cd to that temporary directory
cd again into the client directory and wine setup.exe
Make sure to set Oracle Installer’s Oracle Home directory to a Wine subdirectory such as /home/user/.wine/c_drive/oracle/product/10g/client
Optional Step: copy and/or create a tnsnames.ora file in that directory

Run Toad via the Linux Application Main Menu -> Wine -> Programs -> Quest Software -> Toad for Oracle Freeware

-------------------------------------------------------------------------------------------------------------------------------
SOAP-UI:
Installation
Download the Linux binary zip (no JRE) from http://www.soapui.org/
Unzip it into a preferable directory such as your home folder or /opt
Make sure that you have proper permissions on the unziped soapUI folder
Go into the folder and run $ bin/soapui.sh (open source)


Download Oracle WebLogic Server 10.3.6:
http://uanscarvalho.com.br/instalacao-oracle-soasuite-11g-parte-3-oracle-weblogic-server-10-3-6/
http://www.oracle.com/technetwork/middleware/soasuite/downloads/soasuite11gdownload-2210918.html
wls1036_generic.jar
sudo chmod 777 wls1036_generic.jar
java -jar wls1036_generic.jar
paso siguiente configurar dominio weblogic o exportar desde plantilla.




Oracle Service Bus XOP/MTOM Support Ejemplo de implementacion

Primero las integraciones de SOAP inicialmente son XML o String, JSON, pero cuando se necesita enviar mas información y se debe asegurar la integridad de la misma y se dispone del ancho de banda necesario, se envia bajo el formato XML datos binarios (XOP), son paquetes de datos en XML optimizados.

Este protocolo proporciona una formar de referenciar de manera fiable los datos externos desde dentro de un documento XML. Por ejemplo, la especificación SOAP con Adjuntos decía que el dato binario podía enviarse como parte de un documento MIME multipart, donde el dato XML componía la primera parte, y el dato binario incorporado, como partes adicionales. El problema de esto es que, aunque su programa pueda desconocer la existencia del dato, el documento no. Tampoco permite la optimización selectiva del documento, o el procesamiento retroactivo de un documento existente que incluya datos binarios.

XOP mejora esta situación mediante el suministro de un mecanismo por el cual se puede extraer selectivamente la información que debe ser optimizada, la incorpora a un mensaje MIME multipart que también incluye nuestro mensaje SOAP, y hace una referencia directa a él. Veamos un ejemplo.

SOAP, datos binarios, y Axis2

El proceso de utilización de XOP en documentos SOAP se denomina MTOM (para Mecanismo de optimización de transmisión de mensajes SOAP). Axis2 proporciona soporte para esta forma de trabajo con datos SOAP, pero usted debe asegurarse de configurar la aplicación de manera apropiada.

Ahora el BUS OSB proporciona soporte para tratar archivos adjuntos tanto en el mensaje de la petición y la respuesta. Solo hay que definir en el Proxy el tipo de datos que se adjuntan en la respuesta.

EJ:

Observando el esquema en el objeto Response viene adjunto un archivo como respuesta.

En el proxy agregar en la configuración de mensajes el soporte para archivos XOP/MTOM.













[OSB] Introducción a Oracle Service Bus

1         Introducción a Oracle Service Bus


Por el surgimiento de la Arquitectura Orientada a Servicios (SOA) y de la necesidad que tienen los clientes de comunicarse con socios y demás. Dentro del contexto de una arquitectura orientada a servicios se destaca el concepto "Bus de servicios", cuyo objetivo es proveer una capa de virtualización de servicios entre los proveedores y los clientes. Si hacemos referencia a la matriz de madurez que provee The Open Group (www.opengroup.org) llamada OSIMM (Open group Service Integration Maturity Model), el Bus de Servicios es el encargado de cumplir con el nivel de madurez llamado "Servicios Virtualizados".
Es muy importante contar con esta capa de virtualización pues de esta manera los clientes no consumirán directamente los servicios expuestos por los proveedores, proporcionando agilidad para poder realizar transformaciones, orquestaciones, cambio en interfaces y desacoplamiento entre los servicios expuestos y/o los servicios consumidores.
Beneficios de utilizar OSB:
• Virtualización de Servicios
• Ruteos
 
• Orquestamiento
 
• Cambio en interfaces
 
• SLA's a nivel de servicios
• Balanceo entre varios servicios desplegados en distintos servidores
• Desacoplamiento entre los clientes y los proveedores
• Aseguramiento de Servicios
• Agilidad en los cambios de interfaces
• Migraciones virtuales de servicios
• Cambios ágiles en las interfaces sin afectar a los clientes
Los componentes elementales del bus de servicios son dos:
1. Business Service
2. Proxy Service
Business Service: Es el servicio final que expone un determinado proveedor.
Proxy Service: Es un servicio virtual que provee el bus de servicios y en el cual se puede realizar ruteos, orquestaciones y demás.
Flujo de datos:
Un cliente consume el servicio virtual expuesto por el bus de servicios, dentro de éste servicio virtual (Proxy Service) se realiza algunas transformaciones y/o ruteos, luego los datos transformados son enviados al servicio final (Business Service), éste procesa la información y nuevamente regresa el resultado al servicio virtual, para después ser entregado al cliente.

En la siguiente imagen se puede observar cómo interactúa el "Business Service" con el "Proxy Service":

1.1       Integración para exponer en el bus un servicio SOAP

§  Primero se necesita tener un Oracle osb instalado con las siguientes características mínimas:
Parte 1: Oracle Database XE 11g

Ahora si se quiere crear proyectos OSB con el ide eclipse se debe instalar:
Oracle Enterprise Pack for Eclipse 11gR1 (11.1.1.8)
Manual de instalación


Ejemplo de aplicación OSB.

Teniendo ya todo instalado solo necesitamos el WSDL y el XSD del webservice SOAP que queremos exponer, se puede obtener desde la consola en donde publicamos el proyecto SOAP.
Teniendo el archivo se pueden crear los proyectos de dos formas usando la consola de administración del OSB: IP:PUERTO/sbconsole



La Consola tiene inconvenientes como timeout de sesión, algunos cambios se demoran en guardar, navegación en muchas pantallas, se pierden cambios entre sesiones si no se es ordenado, las modificaciones sobre un mismo proyecto son complicadas, no hay mantención de los aplicativos, no se puede llevar un respaldo un error y se pueden perder los proyectos por un error humano o error de configuración de servidor.
O la otra forma es usando el OEPE:







[C][LINUX][GCC][SHELL] Error de compilacion LIBXML2

Tratando de parsear el XML con la librería existente en la maquina Redhat. Pero al momento de compilar me arroja los siguientes errores, los cuales no he podido resolver durante la mañana:

SDP.c:(.text+0x13d5): undefined reference to `xmlParseMemory'
SDP.c:(.text+0x13ec): undefined reference to `xmlDocGetRootElement'
SDP.c:(.text+0x1403): undefined reference to `xmlFreeDoc'
SDP.c:(.text+0x141b): undefined reference to `xmlStrcmp'
SDP.c:(.text+0x142b): undefined reference to `xmlFreeDoc'

En el archivo SDP.c hago la referencia a la libreria:
#include 
#include 
#include 
Y en el Makefile esta incluida igual:


LIBXML      = -I/cons/cons

cons: $(IF_UPDATE) 
 $(CC)  $(INC_KRONOS)  -g $(CFLAGS) -DIPC $(ARCHIVO_CONF_PROD) SDP.c $(MSGs_ALARMA) $(LIBXML) ${LIBRPC} $(SDPINC) $(FILES_COMPILAR) $(I
NC_CONF) $(LIB_CONF) $(INC_ALARMA) $(LIB_ALARMA) $(LIB_OUM) -o $@ $(LIBADICIONAL)



Red Hat Enterprise Linux 5:-

1
2
3
4
checking for libxml2 config script... /usr/bin/xml2-config
checking if libxml2 is at least v2.6.29... no, 2.6.26
configure: error: NOTE: libxml2 library must be at least 2.6.29
 Actualizar la librería:

libxml2-2.9.1.tar.gz
$ wget -i ftp://xmlsoft.org/libxml2/libxml2-2.9.4.tar.gz

$ tar -xvf libxml2-2.9.4.tar.gz


Esta linea al entrar al directorio descomprimido le damos una ruta alternativa donde configurar los fuentes resultantes, ya que generalmente en una maquina de desarrollo no tenemos permisos de ROOT para instalar el paquete completo en la maquina, por lo que opte por descomprimir en un directorio distinto al tipo /opt o el /usr
$./configure --prefix=/cons/cons/libxml2/libxml --with-python=no


Se agrego la opción --with-python=no ya que no es necesario en este caso utilizar python para compilar la libreria en este caso.

$make clean
$ make && make install



Luego de compilar se debe cambiar la referencia estática a la librería en el MAKEFILE:
$ diff Makefile Makefile.20160922
26,27c26
< #Eliminar path en produccion $(shell xml2-config --cflags)
< LIBXML      = $(shell /cons/cons/cons/libxml2/libxml/bin/xml2-config --cflags --libs)
---
> LIBXML      = -I/cons/cons






Con este cambio se dejara a la librería obtener la ruta de las cabeceras xml2-config --cflags --libs
$ diff SDP.c SDP.c.20160922
23,25c23,24
< #include 
< #include 
< #include 
---
> #include 
> #include 
36,37d34
En el codigo editar las referencias a las cabeceras de las librerias de la LIBXML2:
Compilar y al pasar a produccion tener el cuidado de sacar la ruta de desarrollo en donde quedo la libreria compilada :
/cons/cons/libxml2/libxml/bin/

AWK y tratamiento de archivos

Para confeccionar las pruebas de Stress prepare varios archivos con los móviles por ej para utilizar distinto orden de los móviles para poder  hacer una creación con móviles padres existentes:

sort -n -r msisdn2x2.txt > msisdn2x2Inv.txt
Luego de esto confeccione otro archivo con 4 columnas con tanda de 500 móviles cada fila uno con los msisdn como venían ordenados fila 1 y fila 2 o la fila 2 y 4 con el orden invertido.
Para aplicar el AWK solo se debe tener en cuenta que solo funciona con String y se debe tener cuidado con las comillas ( "" ), para ello los XML de entrada las reemplace por @
Como el archivo debe ir un String con :   SOAPAction OPERACION|
Las variables $1 y $2 corresponden a las columnas del archivo : "moviles/msisdn2x2.txt" 
el comando sed es para reemplazar caracteres sed 's/@/"/g' reemplaza el string "@" por " y elimina los espacios entre caracteres.
manual/gawk.html

Para el problema de reemplazo de móviles con varios registros se deben confeccionar archivos de prueba con los Request de peticiones SOAP y se deben enviar varias variables por cada linea que se lea del archivo de pruebas, es necesario usar AWK.
//cambio de numero $1 padre inicial del 1 al 500 y numero nuevo $2 del 501 al 1000


awk '{print "@SOAPAction: changeMDNumber@|"$1""$2""}' moviles/msisdn2x2.txt | sed 's/@/"/g' > changeMDNumberMultiSmart.txt


Mr Robot de la ficcion a la realidad Version 2( nuevas temporadas)


Mr. Robot es una serie de televisión estadounidense creada por Sam Esmail.1 Se estrenó el 24 de junio de 2015 en la cadena USA Network. La serie sigue a Elliot Alderson (Rami Malek), un joven hacktivista que sufre de fobia social, depresión clínica y delirios3 , trabaja como ingeniero de seguridad informática y usa sus habilidades para proteger a las personas por las que se preocupa. Elliot es reclutado por Mr. Robot (Christian Slater), el misterioso líder de un grupo de hacktivistas que quiere destruir a poderosos empresarios de multinacionales que están manejando el mundo. La temática de la serie revela algunos temas conocidos como el uso de linux en especial la favorita es Kali Linux es una distribución basada en Debian GNU/Linux diseñada principalmente para la auditoría y seguridad informática en general. Fue fundada y es mantenida por Offensive Security Ltd. Mati Aharoni and Devon Kearns, ambos pertenecientes al equipo de Offensive Security, desarrollaron la distribución a partir de la reescritura de BackTrack, que se podría denominar como la antecesora de Kali Linux. En varios capítulos los protagonistas hacen uso de esta distro en Raspberry Pi, en un capitulo se ve que Darlene via fono le pide activar las conexiones de red a Angela Moss desde su terminal, para ello debe iniciar Kali Linux desde USB:

  
 

En otra escena se puede ver a Eliot llegando a su casa y fabricando una antena de WIFI con un embace de papas fritas para aumentar la seña de recepción y usar la WIFI del vencino.

 

En la primera temporada se puede ver a Eliot con Tyrell teniendo la discusión filosófica de cual es el entorno de escritorio es el mejor Gnome o KDE:


O en el primer capitulo donde se puede ver un ataque de DDoS que resulto ser un rootkit en los servidores de E Corp:

 

En otro capitulo se puede ver el uso de herramientas como osTicket: osTicket es un Sistema de Soporte al cliente a través de Internet, totalmente automatizado y con capacidad para integrar numerosos teleoperadores y tareas automáticas. osTicket funciona protocolos como perl gateway, pop3, gestiona un número ilimitado de emails, etc.

 
La Administración incorpora acciones de borrado de tickets de la base de datos, creación de categorías y representantes, creación de grupos, implantación de alertas y un largo etcétera. Características: Categorías y Representantes Flujos de E-mail Conexiones Pop3 Direcciones de correo ilimitadas Monitorización de Operadores Seguimiento de Visitantes Auto asignación de Tickets Paneles de Administración Paneles de Operadores Paneles de Usuarios Alertas para dispositivos móviles etc.

Para realizar el hackeo a E Corp utilizan una van robada utilizando una vulnerabilidad conocida en los CPU de los autos:
hackers-remotely-kill-jeep-highway






El uso Raspberry Pi:  es un ordenador de placa reducida, ordenador de placa única u ordenador de placa simple (SBC) de bajo coste desarrollado en Reino Unido por la Fundación Raspberry Pi.
RASPBERRY-Pi-3-Model-B-Wireless-Lan-1-2GHz-Quad-Core-64Bit-1GB-RAM-2016-Model






Hacen un super computador con la Raspberry Pi :
university-builds-cheap-supercomputer-with-raspberry-pi-and-legos


En el capitulo 9 de la segunda temporada se usa el pwn phone para hackear al dark army, de hecho este telefono viene con Kali Linux preinstalado con todas sus herramientas, en el video del demo se puede ver como usa el pwn para obtener la cuenta de google de la victima usando una red wifi abierta y robandoles las credenciales con una pagina falsa de login de google.

pwn-phone2014b


Existen técnicas y maneras de conseguir acceso físico a un equipo y explotar las vulnerabilidades, y lo único que hay que hacer es forzar los condicionantes adecuados para poder llevarlo a cabo. Perder de vista el equipo o prestarlo a un amigo un momento para revisar las novedades de algún blog, o separarte de tu escritorio por unos momentos para ir al lavabo, es tiempo suficiente para que un atacante pueda llegar y enchufar un dispositivo como el “USB Rubber Ducky”.

Este dispositivo es un teclado programado con forma de USB que nada más conectarse comienza a escribir en el equipo de forma automatizada, para lanzar programas y herramientas que bien pueden estar en el equipo víctima o cargados en la memoria Micro SD que lleva incluida.

En cuestión de segundos tendría acceso a información que se podría subir automáticamente a un servidor FTP u otro sitio. Algo parecido a lo que se explicaba con USB Dumper, pero al revés, es decir, en lugar de ser el servidor el malicioso que roba los datos del USB, sería USB Rubber Ducky el que robaría los datos al equipo.



¿Qué es USB Rubber Ducky?

Casi todos los sistemas operativos de computadoras portátiles, tablets o smartphones permiten la comunicación con el usuario a través de los teclados USB. Es por eso que hay una especificación en el estándar USB ubicua conocida como HID (Human Interface Device) – o dispositivo de interfaz humana. En pocas palabras, cualquier sistema operativo al que conectemos el USB Rubber Ducky lo detectara y será bien aceptado automáticamente como si se hubiera conectado un teclado, ya sea en Windows, OS X, Linux o Android.


Al final, el teclado sigue siendo un interfaz fundamental y lo que hará USB Rubber Ducky es "teclear comandos" en el sistema como si lo estuviera haciendo el usuario que se ha conectado a la sesión. Usando un sencillo lenguaje de programación y un editor de texto podríamos compilar un binario que automatice diversos “payloads” con lo cual podríamos realizar ataques en cuestión de segundos.
  
Debido a su estructura, los sistemas operativos ofrecen una confianza inherente a las pulsaciones del teclado, por lo tanto los dispositivos que abusan de la interfaz HID no pueden ser detectados por las contramedidas tradicionales de forma sencilla ya que iría contra la filosofía Plug&Play de los sistemas. Esto hace que sea una herramienta muy útil en procesos de pentesting internos, ataques de ingeniería social del tipo "¿me puedes imprimir un documento?" o de auténticos atacantes de dentro de la organización.

¿Qué ataques se pueden realizar?

Al final, cuando un usuario pincha un USB Rubber Ducky en su sesión de usuario es como si le hubiera dejado el teclado al atacante para que este ejecutase lo que quisiera. Es decir, este ataque se aprovecha de la confianza del usuario, que al final siempre es “el eslabón mas débil” o de la seguridad física de muchos equipos expuestos.

¿Cuántos de ustedes han llegado a alguna oficina gubernamental, banco y tienen a simple vista y acceso a los puertos USB de los equipos? ¿A cuántos de ustedes les han prestado algún equipo para revisar el correo, las redes sociales, etcétera? ¿Cuántos no tienen en la oficina un equipo de un compañero con cuentas de diferentes administradores o que tenga más permisos que el resto? ¿Cuántas veces no has visto un puerto USB en un Kiosco de Internet o un Punto de Información? Si ninguno de esos puertos bloquea el interfaz HID, puedes hacer el ataque. Al final quizás agregar, subirlas a un servidor FTP en cuestión de segundos.

Seguro que os ha tocado llegar a una oficina a resolver tramites y la persona que te atendió tuvo que salir un par de minutos, y esto es tiempo suficiente para un atacante enchufar el USB Rubber Ducky y lanzar el payload - en lugar de hacer un David Hasselhoff para robar las passwords -Por mencionar algunos ataques brevemente:

Recolección de información del sistema operativo.
* Robar información importante de los navegadores de Internet.
* Robar y usar las cookies de las sesiones abiertas.
* Hacer capturas de pantalla del escritorio y carpetas importantes del sistema.
* Robar y utilizar las contraseñas de las conexiones WiFi de la víctima.
* Subir la información a traves un servidor FTP.
 Ataques dirigidos al sistema:
* Agregar usuarios con permisos administrativos al equipo de la víctima.
* Borrar usuarios del sistema.
* Hacer Pharming de DNS.
* Infección del sistema descargando y ejecutando un binario de Internet.
* Crackear passwords del administrador en el sistema.
* Crear un Backdoor WiFi.
* Bloquear programas en el sistema operativo de forma sigilosa.
¿Cómo podemos protegernos de estos ataques?

Desde que el grupo de hackers de Hack5 hizo pública la herramienta, algunos siguen pensando que desactivando el “autoplay” de los discos USB podrían detenerlo, pero esto no es posible hacerlo de esa manera ya que el ataque no sea hace vía un USB de almacenamiento sino como si alguien estuviera tecleando en un teclado USB.

Las formas que se puede utilizar para detectar que un USB es realmente un HID USB, se puede hacer un script en PowerShell que enumere la lista de dispositivos HID que alerte cuando uno nuevo se haya conectado y se bloquee. Aquí hay información sobre cómo acceder a la lista de los dispositivos desde PowerShell. A partir de ese punto, la forma en la que quieres estar protegido depende de ti.

En el trabajo de Adrian Crenshaw, titulado "Plug & Prey: Malicious USB devices" que fue presentado en la ShmooCON 2011 se explica en detalle la lista de posibles ataques que se pueden hacer por USB. Entre ellos, por supuesto, los teclados USB que abusan de la interfaz HID.

NTPassword



NTPassword es un software forense que se utiliza para recuperar contraseñas almacenadas en el registro de Windows. No es necesario que el sistema esté conectado a Internet, ya que el programa se ejecuta desde una unidad externa como CD o un USB. En el episodio 8 de la segunda temporada, Mobley de fsociety utiliza esta herramienta para crackear el ordenador de Susan Jacobs, la empleada de E Corp cuya casa han ocupado.

MagSpoof



¿Cómo utilizar los datos de la banda magnética de una tarjeta sin tener una tarjeta en donde copiarlos? Fácil: utiliza MagSpoof. Es un dispositivo que usa un electroimán simulando ser la barra magnética de una tarjeta. Claro está: previamente hay que haber guardado los números contenidos en la banda de la tarjeta que se quiere explotar. Lo utiliza Darlene en el episodio 6 de la segunda temporada para entrar a la habitación de hotel desde donde dará las indicaciones a Angela para conseguir hackear al FBI.

El ransomware

El ransomware ha sido la gran estrella de 2015. Según datos de Kaspersky, 754.684 ordenadores se infectaron el año pasado con troyanos chantajistas, un 171% más que en 2014. Ya lo contamos en eldiario.es: este tipo de malware funciona de forma similar a un troyano y tiene la capacidad de encriptar determinados archivos o datos de nuestro sistema, pidiendo después un rescate por liberarlos. Así empieza la segunda temporada de Mr. Robot.
Como curiosidad: alguien ha creado un ransomware imitando al fsociety que aparece en la serie. Lo subieron a Virustotal hace algo menos de un mes y, aunque de momento no ha infectado a nadie, es código abierto.

TOR browser

Es el navegador que recomiendan los whistleblowers y todo aquel que quiera garantizarse una expectativa mínima de privacidad en la red. La red TOR funciona a través de nodos interconectados que enmascaran la dirección IP del sistema. Los datos viajan encriptados de unos nodos a otros y solo se descifran al llegar a su destino, haciendo que el rastro sea prácticamente imposible de seguir ya que antes, los paquetes de datos han cambiado de IP varias veces. Por ejemplo. Ray, que le pide ayuda a Elliot para aumentar la seguridad de sus sistemas, tiene una página web con pornografía infantil en la Deep web a la que solo se puede acceder vía TOR.

Bluescanner y Bluesniff

Elliot ataca a lo largo de la serie varios dispositivos Bluetooth utilizando Bluescanner y Bluesniff. La distro de Linux que también utiliza Elliot, Kali Linux, los lleva de serie. El primero sirve para rastrear dispositivos Bluetooth y extraer información de ellos sin necesidad de emparejarse con él. El segundo rastrea redes Bluetooth ocultas y ataca los dispositivos vulnerables para acceder a sus sistemas.

Wickr


Aunque pueda parecer lo contrario, Wickr no es nueva. Fue lanzada en 2012, pero experimenta cierto auge gracias a la serie de Sam Esmail. Como en Signal, Telegram o WhatsApp, las conversaciones van cifradas de extremo a extremo. Además, elimina todos los metadatos de cada conversación y permite poner fecha de caducidad a los mensajes: desde 3 segundos a 6 días. En Wickr están tan seguros de que tienen el software total que ofrecen 10.000 dólares a quien descubra fallos en la app. Es ese candado en Mr. Robot que Elliot, Mobley o Darlene tocan y, después de leer el mensaje, se autodestruye.

DeepSound

Cada vez que hackea a alguien, Elliot almacena la información en un CD que previamente ha encriptado utilizando una herramienta llamada DeepSound. Este software permite esconder o cifrar los datos en un archivo de música con extensión .wav, .mp3, etc. Es por eso que Elliot no llama a los CDs por el nombre del hackeado: para él son discos de grupos de música famosos como Led Zeppelin, Blur, Van Halen...

Elliot usa Kibana para visualizar los esfuerzos del Ejército Oscuro para robar datos en "eps3.4_runtime-error.r00". Los usuarios elásticos en todo el mundo hacen una doble toma. Tratamos de escribir con calma una publicación de blog.
El Sr. Robot es un favorito de toda la compañía por razones que probablemente sean obvias. El programa es famoso por representar escenarios de ciberseguridad con una estrategia de detección realista, herramientas y respuestas. Entonces, cuando el equipo de Mr. Robot se acercó a nosotros, nos emocionó saber que querían presentar a Kibana en un próximo episodio. Nosotros, por supuesto, dijimos "¡sí!". No podíamos esperar para ver nuestro software en acción en el mundo de Elliot. Por cierto, notará que no es la última versión de Kibana, sino que Kibana 4 se ajusta a la línea de tiempo del programa.

En forma real, las mentes técnicas del Sr. Robot querían construir un auténtico tablero Kibana poblado de datos, creado con las herramientas reales. ¿Puedes ver por qué somos fanáticos?
Ryan Kazanciyan , Consultor Técnico de Mr. Robot, nos complace a todos en el contexto de ciberseguridad detrás de cada episodio. En su última publicación, se sumerge en cómo hizo un tablero de Kibana que representa la actividad maliciosa realizada por el Ejército Oscuro. Para empezar, Ryan construyó una máquina virtual ELK (hoy denominada Elastic Stack) compuesta por Elasticsearch, Logstash y Kibana. Luego lo llenó con datos de sistemas Windows y Linux. Para obtener más comentarios entre bastidores sobre cómo construyó cada sección del tablero, dirígete a su publicación de blog .

monitoring-the-dark-army-with-kibana-mr-robot

Por eso nos gusta a los informáticos esta serie de tv, contenido y acción (acción informática).

Mysql definicion de claves primarias PK

Claves primarias ¿simples o compuestas? 

 

Clave primaria compuesta.


Las claves primarias pueden ser simples, formadas por un solo campo o compuestas, más de un campo.
Recordemos que una clave primaria identifica 1 solo registro en una tabla. Para un valor del campo clave existe solamente 1 registro. Los valores no se repiten ni pueden ser nulos.
Retomemos el ejemplo de la playa de estacionamiento que almacena cada día los datos de los vehículos que ingresan en la tabla llamada "vehiculos" con los siguientes campos:

 - patente char(6) not null,
 - tipo char (4),
 - horallegada time not null,
 - horasalida time,
 
Necesitamos definir una clave primaria para una tabla con los datos descriptos arriba. No podemos usar la patente porque un mismo auto puede ingresar más de una vez en el día a la playa; tampoco podemos usar
la hora de entrada porque varios autos pueden ingresar a una misma hora. Tampoco sirven los otros campos.

Como ningún campo, por si solo cumple con la condición para ser clave, es decir, debe identificar un solo registro, el valor no puede repetirse, debemos usar 2 campos.

Definimos una clave compuesta cuando ningún campo por si solo cumple con la condición para ser clave.
 Usamos 2 campos como clave, la patente junto con la hora de llegada, así identificamos unívocamente cada registro.

Para establecer más de un campo como clave primaria usamos la siguiente sintaxis:

 create table vehiculos(
  patente char(6) not null,
  tipo char(4),
  horallegada time not null
  horasalida time,
  primary key(patente,horallegada)
 );
Ahora desarrollando me encontré con el siguiente TABLA :

CREATE TABLE `ServiceBalanceQuota` (
  `idServicePCRF` int(11) NOT NULL,
  `idBalance` int(11) NOT NULL default '0',
  `idQuota` int(11) NOT NULL,
  `idProduct` int(11) NOT NULL,
  PRIMARY KEY  (`idServicePCRF`,`idQuota`,`idProduct`),
  KEY `IDX_Produ` (`idProduct`),
  KEY `IDX_Service` (`idServicePCRF`),
  KEY `IDX_Balance` (`idBalance`),
  KEY `IDX_Quota` (`idQuota`),
  CONSTRAINT `FK_Balance` FOREIGN KEY (`idBalance`) REFERENCES `Balance` (`idBalance`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `Fk_Product` FOREIGN KEY (`idProduct`) REFERENCES `Product` (`idProduct`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `FK_Quota` FOREIGN KEY (`idQuota`) REFERENCES `Quota` (`idQuota`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `FK_Service` FOREIGN KEY (`idServicePCRF`) REFERENCES `ServicePCRF` (`idServicePCRF`) ON DELETE NO ACTION ON UPDATE NO ACTION
)


Podemos ver que tiene clave compuesta de ,

  PRIMARY KEY  (`idServicePCRF`,`idQuota`,`idProduct`)
Ahora si se quiere insertar los siguientes registros con esta estructura ?

 MultiSmart
Bal_Plan_1
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A



 MultiSmart
Bal_Plan_1
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A




 MultiSmart
Bal_Plan_2
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A


 MultiSmart
Bal_Addon_1
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A



 MultiSmart
Bal_Addon_2
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A



Obviamente no se puede.

Una Primary Key no puede tener valores repetidos ni valores nulos. Y eso, hay varias formas de conseguirlo.
Lo más conveniente siempre es que la columna que actúa como Primary Key (o una de las columnas, si es compuesta) sea autoincremental porque eso nos asegura que no tendrá valores repetidos ni nulos porque el mismo Firebird se encarga de asignarle valores a esa columna.
Pero ¿una columna o varias columnas?
Si planeas usar replicación entonces lo más conveniente es que la Primary Key esté compuesta por dos (o más) columnas. Si crees que nunca usarás replicación entonces puedes usar una sola columna autoincremental para ella.
La replicación es enviar los datos de una Base de Datos a otra Base de Datos. Por ejemplo tienes sucursales en Buenos Aires, Montevideo y Bogotá, cada una de ellas con su respectiva Base de Datos y quieres consolidar las ventas de esas tres sucursales para tenerlas en una sola Base de Datos. Entonces, debes poder distinguir en cual sucursal se realizó cada venta y los identificadores no te servirán porque pueden estar repetidos.

Conclusión:
  • Si no usas ni planeas usar replicación entonces la Primary Key puede estar compuesta por una sola columna autoincremental
  • Si usas o podrías llegar a usar replicación, entonces la Primary Key debería estar compuesta por dos columnas: una que identifique a la Sucursal y otra que sea autoincremental

BD MYSQL 5.X definicion de columnas

diseñemos una BD en MYSQL: pongámosle value  a una columna , GENIOS!!

ERROR 1064 (42000): You have an error in your SQL syntax ...
near '
 
 

El problema con eso es que hay palabras reservadas para MYSQL la mayoría deṕende de la versión que estemos utilizando.

Para evitar los errores se debe escapear las columnas con esos nombre mal definidos, para ello se debe usar `COLUMNA_NAME` o si la SQL_MODE esta en 'ANSI'  se debe usar comillas dobles "COLUMNA_NAME" , depende de la session del SQL.


Table 10.2 Keywords and Reserved Words in MySQL 5.7
ACCESSIBLE (R) ACCOUNT[a] ACTION
ADD (R) AFTER AGAINST
AGGREGATE ALGORITHM ALL (R)
ALTER (R) ALWAYS[b] ANALYSE
ANALYZE (R) AND (R) ANY
AS (R) ASC (R) ASCII
ASENSITIVE (R) AT AUTOEXTEND_SIZE
AUTO_INCREMENT AVG AVG_ROW_LENGTH
BACKUP BEFORE (R) BEGIN
BETWEEN (R) BIGINT (R) BINARY (R)
BINLOG BIT BLOB (R)
BLOCK BOOL BOOLEAN
BOTH (R) BTREE BY (R)
BYTE CACHE CALL (R)
CASCADE (R) CASCADED CASE (R)
CATALOG_NAME CHAIN CHANGE (R)
CHANGED CHANNEL[c] CHAR (R)
CHARACTER (R) CHARSET CHECK (R)
CHECKSUM CIPHER CLASS_ORIGIN
CLIENT CLOSE COALESCE
CODE COLLATE (R) COLLATION
COLUMN (R) COLUMNS COLUMN_FORMAT
COLUMN_NAME COMMENT COMMIT
COMMITTED COMPACT COMPLETION
COMPRESSED COMPRESSION[d] CONCURRENT
CONDITION (R) CONNECTION CONSISTENT
CONSTRAINT (R) CONSTRAINT_CATALOG CONSTRAINT_NAME
CONSTRAINT_SCHEMA CONTAINS CONTEXT
CONTINUE (R) CONVERT (R) CPU
CREATE (R) CROSS (R) CUBE
CURRENT CURRENT_DATE (R) CURRENT_TIME (R)
CURRENT_TIMESTAMP (R) CURRENT_USER (R) CURSOR (R)
CURSOR_NAME DATA DATABASE (R)
DATABASES (R) DATAFILE DATE
DATETIME DAY DAY_HOUR (R)
DAY_MICROSECOND (R) DAY_MINUTE (R) DAY_SECOND (R)
DEALLOCATE DEC (R) DECIMAL (R)
DECLARE (R) DEFAULT (R) DEFAULT_AUTH
DEFINER DELAYED (R) DELAY_KEY_WRITE
DELETE (R) DESC (R) DESCRIBE (R)
DES_KEY_FILE DETERMINISTIC (R) DIAGNOSTICS
DIRECTORY DISABLE DISCARD
DISK DISTINCT (R) DISTINCTROW (R)
DIV (R) DO DOUBLE (R)
DROP (R) DUAL (R) DUMPFILE
DUPLICATE DYNAMIC EACH (R)
ELSE (R) ELSEIF (R) ENABLE
ENCLOSED (R) ENCRYPTION[e] END
ENDS ENGINE ENGINES
ENUM ERROR ERRORS
ESCAPE ESCAPED (R) EVENT
EVENTS EVERY EXCHANGE
EXECUTE EXISTS (R) EXIT (R)
EXPANSION EXPIRE EXPLAIN (R)
EXPORT EXTENDED EXTENT_SIZE
FALSE (R) FAST FAULTS
FETCH (R) FIELDS FILE
FILE_BLOCK_SIZE[f] FILTER[g] FIRST
FIXED FLOAT (R) FLOAT4 (R)
FLOAT8 (R) FLUSH FOLLOWS[h]
FOR (R) FORCE (R) FOREIGN (R)
FORMAT FOUND FROM (R)
FULL FULLTEXT (R) FUNCTION
GENERAL GENERATED[i] (R) GEOMETRY
GEOMETRYCOLLECTION GET (R) GET_FORMAT
GLOBAL GRANT (R) GRANTS
GROUP (R) GROUP_REPLICATION[j] HANDLER
HASH HAVING (R) HELP
HIGH_PRIORITY (R) HOST HOSTS
HOUR HOUR_MICROSECOND (R) HOUR_MINUTE (R)
HOUR_SECOND (R) IDENTIFIED IF (R)
IGNORE (R) IGNORE_SERVER_IDS IMPORT
IN (R) INDEX (R) INDEXES
INFILE (R) INITIAL_SIZE INNER (R)
INOUT (R) INSENSITIVE (R) INSERT (R)
INSERT_METHOD INSTALL INSTANCE[k]
INT (R) INT1 (R) INT2 (R)
INT3 (R) INT4 (R) INT8 (R)
INTEGER (R) INTERVAL (R) INTO (R)
INVOKER IO IO_AFTER_GTIDS (R)
IO_BEFORE_GTIDS (R) IO_THREAD IPC
IS (R) ISOLATION ISSUER
ITERATE (R) JOIN (R) JSON[l]
KEY (R) KEYS (R) KEY_BLOCK_SIZE
KILL (R) LANGUAGE LAST
LEADING (R) LEAVE (R) LEAVES
LEFT (R) LESS LEVEL
LIKE (R) LIMIT (R) LINEAR (R)
LINES (R) LINESTRING LIST
LOAD (R) LOCAL LOCALTIME (R)
LOCALTIMESTAMP (R) LOCK (R) LOCKS
LOGFILE LOGS LONG (R)
LONGBLOB (R) LONGTEXT (R) LOOP (R)
LOW_PRIORITY (R) MASTER MASTER_AUTO_POSITION
MASTER_BIND (R) MASTER_CONNECT_RETRY MASTER_DELAY
MASTER_HEARTBEAT_PERIOD MASTER_HOST MASTER_LOG_FILE
MASTER_LOG_POS MASTER_PASSWORD MASTER_PORT
MASTER_RETRY_COUNT MASTER_SERVER_ID MASTER_SSL
MASTER_SSL_CA MASTER_SSL_CAPATH MASTER_SSL_CERT
MASTER_SSL_CIPHER MASTER_SSL_CRL MASTER_SSL_CRLPATH
MASTER_SSL_KEY MASTER_SSL_VERIFY_SERVER_CERT (R) MASTER_TLS_VERSION[m]
MASTER_USER MATCH (R) MAXVALUE (R)
MAX_CONNECTIONS_PER_HOUR MAX_QUERIES_PER_HOUR MAX_ROWS
MAX_SIZE MAX_STATEMENT_TIME[n] MAX_UPDATES_PER_HOUR
MAX_USER_CONNECTIONS MEDIUM MEDIUMBLOB (R)
MEDIUMINT (R) MEDIUMTEXT (R) MEMORY
MERGE MESSAGE_TEXT MICROSECOND
MIDDLEINT (R) MIGRATE MINUTE
MINUTE_MICROSECOND (R) MINUTE_SECOND (R) MIN_ROWS
MOD (R) MODE MODIFIES (R)
MODIFY MONTH MULTILINESTRING
MULTIPOINT MULTIPOLYGON MUTEX
MYSQL_ERRNO NAME NAMES
NATIONAL NATURAL (R) NCHAR
NDB NDBCLUSTER NEVER[o]
NEW NEXT NO
NODEGROUP NONBLOCKING[p] NONE
NOT (R) NO_WAIT NO_WRITE_TO_BINLOG (R)
NULL (R) NUMBER NUMERIC (R)
NVARCHAR OFFSET OLD_PASSWORD[q]
ON (R) ONE ONLY
OPEN OPTIMIZE (R) OPTIMIZER_COSTS[r] (R)
OPTION (R) OPTIONALLY (R) OPTIONS
OR (R) ORDER (R) OUT (R)
OUTER (R) OUTFILE (R) OWNER
PACK_KEYS PAGE PARSER
PARSE_GCOL_EXPR[s] PARTIAL PARTITION (R)
PARTITIONING PARTITIONS PASSWORD
PHASE PLUGIN PLUGINS
PLUGIN_DIR POINT POLYGON
PORT PRECEDES[t] PRECISION (R)
PREPARE PRESERVE PREV
PRIMARY (R) PRIVILEGES PROCEDURE (R)
PROCESSLIST PROFILE PROFILES
PROXY PURGE (R) QUARTER
QUERY QUICK RANGE (R)
READ (R) READS (R) READ_ONLY
READ_WRITE (R) REAL (R) REBUILD
RECOVER REDOFILE REDO_BUFFER_SIZE
REDUNDANT REFERENCES (R) REGEXP (R)
RELAY RELAYLOG RELAY_LOG_FILE
RELAY_LOG_POS RELAY_THREAD RELEASE (R)
RELOAD REMOVE RENAME (R)
REORGANIZE REPAIR REPEAT (R)
REPEATABLE REPLACE (R) REPLICATE_DO_DB[u]
REPLICATE_DO_TABLE[v] REPLICATE_IGNORE_DB[w] REPLICATE_IGNORE_TABLE[x]
REPLICATE_REWRITE_DB[y] REPLICATE_WILD_DO_TABLE[z] REPLICATE_WILD_IGNORE_TABLE[aa]
REPLICATION REQUIRE (R) RESET
RESIGNAL (R) RESTORE RESTRICT (R)
RESUME RETURN (R) RETURNED_SQLSTATE
RETURNS REVERSE REVOKE (R)
RIGHT (R) RLIKE (R) ROLLBACK
ROLLUP ROTATE[ab] ROUTINE
ROW ROWS ROW_COUNT
ROW_FORMAT RTREE SAVEPOINT
SCHEDULE SCHEMA (R) SCHEMAS (R)
SCHEMA_NAME SECOND SECOND_MICROSECOND (R)
SECURITY SELECT (R) SENSITIVE (R)
SEPARATOR (R) SERIAL SERIALIZABLE
SERVER SESSION SET (R)
SHARE SHOW (R) SHUTDOWN
SIGNAL (R) SIGNED SIMPLE
SLAVE SLOW SMALLINT (R)
SNAPSHOT SOCKET SOME
SONAME SOUNDS SOURCE
SPATIAL (R) SPECIFIC (R) SQL (R)
SQLEXCEPTION (R) SQLSTATE (R) SQLWARNING (R)
SQL_AFTER_GTIDS SQL_AFTER_MTS_GAPS SQL_BEFORE_GTIDS
SQL_BIG_RESULT (R) SQL_BUFFER_RESULT SQL_CACHE
SQL_CALC_FOUND_ROWS (R) SQL_NO_CACHE SQL_SMALL_RESULT (R)
SQL_THREAD SQL_TSI_DAY SQL_TSI_HOUR
SQL_TSI_MINUTE SQL_TSI_MONTH SQL_TSI_QUARTER
SQL_TSI_SECOND SQL_TSI_WEEK SQL_TSI_YEAR
SSL (R) STACKED START
STARTING (R) STARTS STATS_AUTO_RECALC
STATS_PERSISTENT STATS_SAMPLE_PAGES STATUS
STOP STORAGE STORED[ac] (R)
STRAIGHT_JOIN (R) STRING SUBCLASS_ORIGIN
SUBJECT SUBPARTITION SUBPARTITIONS
SUPER SUSPEND SWAPS
SWITCHES TABLE (R) TABLES
TABLESPACE TABLE_CHECKSUM TABLE_NAME
TEMPORARY TEMPTABLE TERMINATED (R)
TEXT THAN THEN (R)
TIME TIMESTAMP TIMESTAMPADD
TIMESTAMPDIFF TINYBLOB (R) TINYINT (R)
TINYTEXT (R) TO (R) TRAILING (R)
TRANSACTION TRIGGER (R) TRIGGERS
TRUE (R) TRUNCATE TYPE
TYPES UNCOMMITTED UNDEFINED
UNDO (R) UNDOFILE UNDO_BUFFER_SIZE
UNICODE UNINSTALL UNION (R)
UNIQUE (R) UNKNOWN UNLOCK (R)
UNSIGNED (R) UNTIL UPDATE (R)
UPGRADE USAGE (R) USE (R)
USER USER_RESOURCES USE_FRM
USING (R) UTC_DATE (R) UTC_TIME (R)
UTC_TIMESTAMP (R) VALIDATION[ad] VALUE
VALUES (R) VARBINARY (R) VARCHAR (R)
VARCHARACTER (R) VARIABLES VARYING (R)
VIEW VIRTUAL[ae] (R) WAIT
WARNINGS WEEK WEIGHT_STRING
WHEN (R) WHERE (R) WHILE (R)
WITH (R) WITHOUT[af] WORK
WRAPPER WRITE (R) X509
XA XID[ag] XML
XOR (R) YEAR YEAR_MONTH (R)
ZEROFILL (R)


keywords MYSQL 

Problemas de activación WIFI6 en LG_OLED55CXPSA

  Mi experiencia con este TV  ah sido impecable hasta ahora, llevaba un uso normal y no tenia que usar la conexión por wifi ya que tengo una...