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

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

Contando líneas de ficheros en #Linux

Si en alguna ocasión has necesitado contar las líneas de un archivo de texto, lo más probable es que hayas visto información de algún menú de propiedades del archivo en tu editor de texto habitual. Esto requiere tener el archivo abierto y cuando éste es voluminoso se puede tardar bastante en conocer un dato tan simple como este.

Vamos a contar las líneas del archivo: wc

Afortunadamente, los usuarios de GNU/Linux disponemos de un comando muy agradecido, wc (sigla que responde al término Word Count). Este comando nos permite contar las líneas (entendiendo como tal el número de caracteres nueva línea que haya en el archivo), bytes o palabras. La sintaxis del comando, para contar las líneas, es muy sencilla:

En [ARCHIVOS] se introduce el nombre o nombres de los archivos en los que queremos efectuar la cuenta. Cuando son varios los archivos, el comando devuelve, además, una línea resumen con la suma de los conteos efectuados. Podemos usar wc también para contar palabras, en cuyo caso se consideran como tal las secuencias de longitud no-nula delimitadas por espacios o directamente caracteres. En este caso, la llamada  sería:

Otras opciones interesantes son -c y -m, que te devuelven el número de bytes y/o caracteres del archivo, respectivamente (hay que tener en cuenta que el carácter de fin de línea también se cuenta) y -L, que da la longitud máxima de línea (o sea, la longitud de la línea más larga). Si empleamos wc sin archivos de entrada, el conteo se hará sobre la entrada estándar y se contará sobre lo que escribamos en consola. para salir de este modo, se pulsará Ctrl+D y el programa nos devuelve los valores que hemos pedido al invocar el comando. Por último, si invocamos el comando sin opciones de conteo (contar las líneas, las palabras, etc), el comando nos devolverá directamente cuatro columnas: la cuenta de palabras, de líneas y de bytes totales del archivo.

Fuente: Imasdemase

Recuperando la contraseña en #Linux usando #GRUB

como-recuperar-la-contrasena-de-linux-usando-grub

Para aquellos que utilizamos GNU Linux no es algo tan extraño haber pasado por esto: olvidamos la contraseña de nuestros usuarios de la distribución de Linux que usamos y no tenemos forma de recuperar el acceso., ¿o si? Descubre a continuación lo fácil que es recuperar la contraseña de Linux usando GRUB.

¿Qué es el GRUB de Linux?

GRand Unified Loader o GRUB es un cargador de arranque (bootloader). O lo que es lo mismo: el primer programa que se inicia durante el arranque de los sistemas operativos basados en Linux. Es responsable de cargar y transferir el control al kernel del sistema operativo (Ubuntu, en el caso de hoy). El kernel, en cambio, inicia el resto del sistema operativo.

GRUB2 es la versión actualmente actualizada, pasándose a llamar la anterior GRUB Legacy.

Básicamente, lo que haremos para poder restablecer la contraseña de Ubuntu -en nuestro caso- es arrancar el GRUB en modo Recovery o Recuperación.

Read More

Tomando el control de un Windows 10

Comparto una simple forma de generar un backdoor indetectable para Windows 10. Me pareció un buen procedimiento sin tantas vueltas. A la fuente original (del colega CreadPag) voy a corregir algunas líneas para poder entender mejor.

El otro día estaba jugando con un backdoor que era indetectable para todos los AV’s; pero como hay personas que scanean su malware antes de usarlo en ataque, algunos de ellos cometen el error de publicarlo en VirusTotal. Recuerda que es una empresa que reporta, obviamente que por dinero, el malware a las empresas de AV.

Aquí hay dos paginas donde puedes scanearlo y que no sea compartido para esas compañías de antivirus.

Screenshot from 2016-02-26 13-28-33

Aquí puedes encontrar esta pagina se llama https://virusscan.jotti.org

Screenshot from 2016-02-26 13-28-27

Read More

Redireccionando las salidas de nuestros programas en Linux

En Linux se tiene 3 maneras estandar de mostrar los flujos de información de entrada y salida, estos son los siguientes:
  • Entrada estandar (stdin – Standard Input): generalmente asociada al teclado. Esta representada con el número 0.
  • Salida estandar (stdout – Standard Output): usada para mostrar la salida, generalmente la salida por el monitor. Esta representada con el número 1.
  • Salida estandar de error (stderr – Standard Error): usada para mostrar los errores de la salida estandar. Esta representada con el número 2.
Se utilizan los siguientes simbolos para redireccionar la entrada/salida estandar:
Mayor que “>”: Redirige la salida estandar, tambien se puede utilizar de la forma 1>, aunque si se omite el numero 1, el valor por defecto de la salida es 1.  Menor que “<”: Redirige la entrada estandar.

Utilizar “>>” para redirigir la salida a un archivo ya existente sin sobreescribir su contenido.

Read More

GHOST: Una vulnerabilidad en Linux de hace más de 10 años

Investigadores de la empresa de seguridad Qualys han descubierto un agujero de seguridad muy importante en la biblioteca de C de GNU Linux (glibc). La vulnerabilidad ya tiene nombre y imagen relacionada:GHOST (proviene de GetHOST), ha sido identificado como CVE-2015-0235 y permite tomar el control de sistemas Linux remotamente, sin conocer datos de autenticación como usuario y contraseña. Aquí se puede ver el video publicado por la empresa.

Read More