El protocolo SOCKS y su diferencia con HTTP

SOCKS es un protocolo que facilita la ruta de los paquetes que se envían entre un cliente y un servidor a través de un servidor proxy. Originalmente, Socks5 fue un sistema de protocolo que ofrecía mucha seguridad, puesto que creaba firewalls y otros métodos de seguridad fáciles de administrar.

La versión 5 de Socks, que es una exensión de Socks 4, y provee un poderoso sistema de autentificación e incluye UDP, mientras que Socks 4 sólo ofrece un sistema de firewall inseguro basado en aplicaciones cliente-servidor TCP, incluidos TELNET, FTP y protocolos como HTTP, WAIS y GOPHER.

Pero ¿cuál es exactamente la diferencia entre proxies SOCKS y HTTP?

SOCKS: Bill quiere comunicarse con Jane a través de Internet, pero un firewall de su propia conexión no está autorizado a comunicarse a través de él. Por tanto, se conecta a una proxy SOCKS de su red y envía información sobre la conexión que desea hacer con Jane. El proxy SOCKS abre una conexión a través del firewall y facilita la comunicación entre Bill y Jane.

HTTP: Bill quiere descargarse una página Web que hospeda Jane en un Servidor Web. Bill no puede conectarse directamente al servidor de Jane, porque un firewall en la red se lo impide. Para poder comunicarse con el servidor, Bill se conecta a su red proxy HTTP. Su navegador de Internet se comunica con el servidor proxy y envía una cabecera HTTP solicitando la conexión. El servidor proxy HTTP lee la petición y busca el host de la cabecera. Luego se conecta al servidor especificado en al cabecera y transmite datos a Bill.

Fuente: Internet Lab

Repositorio de #cheatsheets

Las cheat sheets son pequeñas notas o apuntes que nos ayudan a recordar los puntos importantes sobre cierto tema. En informática son muy comunes encontrar de éstas por la cantidad de plataformas/sistemas/tecnologías que existen y las enormes funcionalidades que tienen.

cheat.sh es un sitio web que unifica varios repositorios de cheat sheets. Éste provee de una interfaz web limpia desde la que podemos acceder a más o menos 783 (actualmente), agrupadas en 8 secciones. Las secciones cubren comandos de Linux y varios lenguajes de programación.

Además, cheat.sh se asegura de una salida limpia, la cual nos permite consultar dichas cheat sheets desde la línea de comandos usando aplicaciones como curl, wget, entre otras.

curl cheat.sh/{comando}

Por ejemplo:

curl cheat.sh/sudo

El proyecto además está alojado en Github y aceptan adiciones o correcciones a través de pull requests.

Fuente: CyberHades

#Sysadmineando en Windows – Comandos útiles

Ahora, un poco de comandos útiles, pero, para Windows. Si bien son algo básicos, pretendo que luego sean más avanzados, no dejan de ser una ayuda fundamental en algún troubleshooting. ¡ Espero que les sirvan !

1: System File Checker

Es común que si fuiste infectado por malware éstos intenten reemplazar tus archivos del sistema por archivos maliciosos, tratando de tomar el control de tu máquina. SFC (system file checker) puede ser usado para verificar la integridad de todos los archivos del sistema Windows. El comando para utilizarlo es:

sfc /scannow

2: File Signature Verification

Una forma de verificar la integridad de un sistema es corroborando que todos los archivos estén firmados digitalmente. Esto se puede hacer a través del comando sigverif (Signature Verification). Si bien se lanza desde la línea de comandos, su uso se realiza a través de una interfaz GUI. Su meta es simple, avisar que archivos del sistema se encuentran o no firmados.

sigverif

3: driverquery

Tener instalado drivers que no sean los correctos, puede derivar en varios problemas en el sistema. Si se quiere saber cuáles están instalados, se utiliza el comando driverquery, el cual proveerá información detallada de cada driver que esté siendo utilizado. en caso que se quiera más información, agregar el argumento -v.

driverquery
driverquery -v

4: nslookup

Esta herramienta sirve para verificar que las resoluciones DNS estén funcionando correctamente. Cuando se corre nslookup contra un hostname, la herramienta mostrará como fue resuelto en nombre, así como también que servidor DNS se utilizó durante el lookup. Cabe destacar que es muy útil en casos de troubleshooting relacionados a registros DNS.

 

nslookup dc1.contoso.com

5: Ping

La más conocida y utilizada para diagnóstico. Es utilizada para verificar conexiones TCP/IP de forma básica, utilizando el protocolo ICMP.

ping 192.168.1.1

6: Pathping

Si bien ping hace un buen trabajo notificando cuando dos máquinas pueden comunicarse entre sí a través de TCP/IP, en el caso que no se puedan conectar la salida de error es muy limitada (casi nula). Allí es cuando pathping entra en juego. Ésta herramienta está diseñada para entornos en los que existan uno o más routers entre los hosts. Se envía una serie de paquetes a cada router que se encuentra en el path de destino del host en un esfuerzo para determinar si el router está trabajando lento (problemas con latencia, o lo que sea) o bien, dropeando paquetes.

pathping 192.168.1.1

7: Repair-bde

Si un dispositivo cifrado con BitLocker tiene problemas, a veces se puede recuperar la información utilizando repair-bde. Para utilizarlo, es necesario declarar un dispositivo para poder escribir toda la información recuperada, así como también la key de recuperación o contraseña de BitLocker.

repair-bde <source> <destination> -rk | rp <source>

8: Tasklist

Este comando está diseñado para proveer información sobre las tareas que están corriendo en un sistema Windows.

tasklist

Tiene varias funcionalidades más, las cuales se invocan con argumentos. Por ejemplo, utilizando -m, permite que tasklist muestre todos los módulos DLL asociados a una tarea en particular. Por otro lado, -svc muestra todos los servicios que soportan las tareas.

tasklist -m
tasklist -svc

9: Taskkill

Éste comando es para finalizar tareas, tanto como por nombre como por ID. Su sintaxis es relativamente fácil, tal como se muestra en los siguientes ejemplos.

taskkill -pid 4104
taskkill -im iexplore.exe

Contenido original en inglés, disponible en Tech Republic.

Comandos útiles para quienes migraron a Linux hace poco (II)

Por comentarios y vistas que recibí en la primera parte, creo que es una buena iniciativa seguir el hilo de éstos posts. No solo porque ayudan a quienes vienen de Windows, sino que también me sirven de ayuda-memoria en varios escenarios … En este caso, algunos comandos para verificar la información del CPU.

1. /proc/cpuinfo

Este archivo contiene todo el detalle individual de los núcleos del CPU. Para tener una vista más cómoda, ejecutarlo con lesscat.

$ less /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
stepping        : 10
microcode       : 0xa07
cpu MHz         : 1998.000
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips        : 5303.14
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

Cada procesador es listado de forma separada, con todos los detalles que se necesiten; grepeando, se puede saber fácilmente cuántas unidades de procesamiento están activas.

$ cat /proc/cpuinfo | grep processor | wc -l
4

 

Y para saber la cantidad de cores, se puede grepear de la siguiente forma.

$ cat /proc/cpuinfo | grep 'core id'
core id : 0
core id : 2
core id : 1
core id : 3

2. lscpu

Es un comando simple que no requiere ni siquiera argumentos. Devuelve un detalle muy completo de la arquitectura del CPU y sobre todo en un formato amigable.

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 23
Stepping:              10
CPU MHz:               1998.000
BogoMIPS:              5303.14
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              2048K
NUMA node0 CPU(s):     0-3

3. hardinfo

Ésta herramienta GUI, basada en GTK, se encarga de generar reportes sobre varios componentes del hardware. En caso de no contar con una interfaz GUI, se puede correr desde la línea de comandos.

$ hardinfo | less

4. lshw

Este comando devuelve información un tanto limitada del CPU. Por defecto, devuelve datos de varias partes del hardware, aunque utilizando el parámetro ‘-class’ se puede obtener información sobre una parte en específica.

The lshw command can display limited information about the cpu. lshw by default shows information about various hardware parts, and the ‘-class’ option can be used to pickup information about a specific hardware part.

$ sudo lshw -class processor
  *-cpu                   
       description: CPU
       product: Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
       vendor: Intel Corp.
       physical id: 0
       bus info: cpu@0
       version: Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
       slot: LGA 775
       size: 1998MHz
       capacity: 4GHz
       width: 64 bits
       clock: 333MHz
       capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority cpufreq

5. nproc

Solo devuelve la cantidad de unidades de procesamiento que estén disponibles en el momento. NOTA: éstas unidades de procesamiento no siempre son la misma cantidad de cores.

$ nproc
4

6. dmidecode

Devuelve abundante información sobre el CPU, incluyendo el tipo de socket, fabricante y otros flags.

$ sudo dmidecode -t 4
# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0000, DMI type 4, 35 bytes
Processor Information
        Socket Designation: LGA 775
        Type: Central Processor
        Family: Pentium D
        Manufacturer: Intel(R) Corporation
        ID: 7A 06 01 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 23, Stepping 10
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (FXSAVE and FXSTOR instructions supported)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Multi-threading)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
        Voltage: 1.6 V
        External Clock: 333 MHz
        Max Speed: 4000 MHz
        Current Speed: 2666 MHz
        Status: Populated, Enabled
        Upgrade: Socket LGA775
        L1 Cache Handle: 0x0003
        L2 Cache Handle: 0x0001
        L3 Cache Handle: Not Provided
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified

Contenido original en inglés: Binary Tides

Comandos útiles para quienes migraron a Linux hace poco

Para todos aquellos que migraron hace poco hacia alguna distribución de Linux, una lista bastante completa de comandos que te pueden ayudar en el día a día.

Comandos Generales

dmesg
Imprime los mensajes desplegados por el “kernel” al inicio.

depmod -a
Genera un archivo que contiene las dependencias de los módulos que son cargados para el “Kernel”, esto es, es capaz de reconocer cuales módulos deben de ser cargados para que un tercero sea utilizado en el sistema.

free
Estadísticas de uso de Memoria.

init q
Comando que vuelve a leer los parámetros que se encuentran en inittab.

insmod
Habilita (“loads”) el modulo que se especifica en la línea, para que el “kernel” sea capaz de utilizarlo. Ejemplo: insmod ip_alias.o

ldconfig
Actualiza las librerías utilizadas por el sistema, recomendable ejecutarlo cada vez que se instale un programa.

Read More

Todo lo que trae #iOS11

Durante el día de ayer Apple presentó iOS 11 al mundo en la conferencia para desarrolladores. Dado que habían muchas cosas que presentar, tan sólo nos mostraron las características más importantes. Sin embargo, no son las únicas novedades que tenemos en el nuevo sistema operativo para iPhone y iPad.

Si vas a instalar iOS 11 en tu iPhone o iPad (siempre y cuando sea compatible) debes tener en cuenta aunque además de lo que ya se sabe de la keynote, existen numerosas novedades y características ocultas en el sistema operativo. Hemos recopilado todas aquellas que hemos encontrado hasta el momento.

¿Qué características ocultas tiene iOS 11?

  • Escribirle a Siri: Hasta ahora la única opción para interactuar con Siri era hablando, ahora también puedes escribirle para no sacar ni una sílaba de tu boca y no hacer ningún ruido.
Img 0580

Read More

Usando “df” para verificar el espacio libre en nuestro sistema #Linux

El comando df (disk filesystem por sus siglas en Inglés), es utilizado para tener un reporte completo del espacio del disco, indicando espacios libres y usados del mismo, entre otra información importante. A continuación, una serie de parámetros muy útiles para sacarle provecho completo a ésta herramienta nativa:

1. Verificar los espacios de uso del disco

Utilizando solo el comando df, vamos a tener un reporte sobre los nombres de los dispositivos, bloques, espacio usado/libre y puntos montados del sistema.

[root@tecmint ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/cciss/c0d0p2     78361192  23185840  51130588  32% /
/dev/cciss/c0d0p5     24797380  22273432   1243972  95% /home
/dev/cciss/c0d0p3     29753588  25503792   2713984  91% /data
/dev/cciss/c0d0p1       295561     21531    258770   8% /boot
tmpfs                   257476         0    257476   0% /dev/shm

2. Mostrar información de todos los filesystems

Lo mismo que el punto anterior, aunque también muestra información de particiones dummy del sistema (por ejemplo, proc sysfs). Éstas particiones se caracterizan por tener un tamaño de 0 bloques (esto quiere decir que no corresponden a un dispositivo físico, sino que son puramente virtuales). Suelen ser utilizadas para propósitos especiales.

[root@tecmint ~]# df -a
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/cciss/c0d0p2     78361192  23186116  51130312  32% /
proc                         0         0         0   -  /proc
sysfs                        0         0         0   -  /sys
devpts                       0         0         0   -  /dev/pts
/dev/cciss/c0d0p5     24797380  22273432   1243972  95% /home
/dev/cciss/c0d0p3     29753588  25503792   2713984  91% /data
/dev/cciss/c0d0p1       295561     21531    258770   8% /boot
tmpfs                   257476         0    257476   0% /dev/shm
none                         0         0         0   -  /proc/sys/fs/binfmt_misc
sunrpc                       0         0         0   -  /var/lib/nfs/rpc_pipefs

Read More

Hackeando el reconocimiento por iris del #Samsung S8

La característica de reconocimiento de iris del nuevo smartphone Samsung Galaxy S8 ha sido superada por hackers alemanes de Chaos Computer Club (CCC), menos de un mes después de que comenzara su venta en todo el mundo.
En un video publicado por el CCC, el colectivo de hackers de larga trayectoria formado en Berlín en 1981, muestra cómo la seguridad del teléfono puede ser fácilmente salteada a través de la “creación” de un ojo falso. CCC es el mismo grupo que salteó los sensores de huellas dactilares TouchID de Apple, pocas semanas después de que el primer iPhone 5 llegara al mercado.

El ojo artificial es creado usando una impresora y una lente de contacto para emparejar la curvatura del ojo. El iris se crea usando una fotografía del iris de la víctima, tomadas con una cámara fotográfica digital en “modo noche”.

“El riesgo de seguridad en el reconocimiento del iris es mayor que el de las huellas dactilares, ya que exponemos mucho más nuestros iris”, dijo el portavoz del grupo, Dirk Engling. “Si usted valora los datos en su teléfono -y posiblemente incluso quiera usarlo para realizar pagos – usar la tradicional protección con PIN es un enfoque más seguro que usar características biométricas para la autenticación”.

Samsung dijo que “sería imposible usar una imagen normal de iris, por muy alta resolución que sea, para engañar la s característica de seguridad. Engling advierte que “en algunas circunstancias, una imagen de alta resolución de Internet es suficiente para capturar un iris”,

En el Galaxy S8 también viene con una función de reconocimiento facial, que fue hackeado antes de que el teléfono estuviera a la venta: se lo puede engañar con algo tan simple como una imagen impresa del propietario.

Este hack es aún más simple, y podría ser llevado a cabo con una foto levantada de Facebook, una impresora láser convencional y una lente de contacto. “De lejos, la parte más cara del hack de biometría del iris fue la compra del teléfono Galaxy S8”, dijeron los hackers. “Irónicamente, obtuvimos los mejores resultados con impresoras láser hechas por Samsung”.

Fuente: Segu Info

¿Qué nos trajo Google en #io17?

Google reúne a desarrolladores y curiosos en su conferencia anual para presentar las nuevas herramientas con las que va a sorprender al mundo.

En la última Conferencia de Desarrolladores I/O, que se acaba de celebrar, la realidad virtual y la inteligencia artificial tienen un lugar destacado al ser el motor común de muchas de las novedades que Google irá implementando poco a poco en los dispositivos de los usuarios.

Google Lens estará disponible tanto en el Asistente como en Google Photos

Parecido al sistema que ya usa Pinterest para reconocer elementos en una imagen y buscar objetos similares en la red, Google lanza Lens, una herramienta que, a través de la cámara, reconoce lo que se está encuadrando y da información adicional. Por ejemplo, bastará con usar Lens como si fuéramos a hacer una foto al cartel de un restaurante por la calle para que Google nos proporcione el horario de apertura del local, entre otras informaciones.

Si lo que se mira desde el objetivo es la clave del Wi-Fi de un establecimiento, Lens asociará que se está intentando conectar a una red; leerá la fotografía y lo hará de forma automática. La herramienta promete volver más rápidos algunos procesos diarios, como pasar de una aplicación a otra para buscar información.

Google Lens estará disponible en poco tiempo en la aplicación de Google Photos y el Asistente de Google.

Por otra parte, la empresa ha anunciado también mejoras en el asistente de hogar Google Home, al que pronto podremos oír con diferentes voces para personalizar más aún al dispositivo.

 

El sistema de inteligencia artificial de Google no solo sirve para ampliar nuestro conocimiento; la empresa también ha anunciado que gracias a ella, Gmail podrá sugerir respuestas a correos que queramos responder, por ejemplo. Y va mucho más allá: pone a disposición de investigadores en, por ejemplo, la cura del cáncer de mama, todo el material de la empresa con la intención de que los avances en tecnología repercutan de forma directa en otras áreas, como la medicina.

Google también ha aprovechado para presentar oficialmente Google for Jobs, su aplicación para conectar a empresas, recruiters y solicitantes de empleo.

Fuente: TreceBits

Eliminar la passphrase de una llave privada

Normalmente, cuando se generan un par de claves privada/pública para ser utilizadas en conexiones SSH entre dos ordenadores, se especifica una “passphrase” que protege la clave privada, para evitar el uso no autorizado de la misma.

También es necesario generar un par de claves privada/pública cuando se instala un certificado en un servidor web para permitir el uso del protocolo HTTPS.

Pero la existencia de esta passphrase supone un problema cuando se quiere automatizar un proceso que implica el establecimiento desatendido de una conexión ssh entre dos ordenadores.

De entre las posibles soluciones, la más sencilla es eliminar la passphrase que protege la clave privada. El comando openssl permite generar una clave privada sin passphrase, a partir de la clave privada protegida:

$ cd ~/.ssh
$ openssl rsa -in id_rsa -out id_rsa.desprotegida

Si optamos por esta solución, deberemos tomar las medidas necesarias para evitar que personas no autorizadas tengan acceso a la clave privada.

Fuente: OpenAlfa