Grub no detecta imagen de kernel

En una reciente instalación de linux, despues de recompilar kernel y hacer el ‘make install’ y situar la imagen del kernel en /boot/ queda configurar GRUB2 para que arranque con la nueva imagen del kernel. Esto se hace con:

# grub-mkconfig -o /boot/grub/grub.cfg

Esto lo que ocurria es que GRUB no detecta las imagenes del kernel con nombre ‘vmlinuz’. Tras algunas investigaciones, encuentro un mensaje en el foro de la comunidad de gentoo, en la cual un usuario experimenta el mismo problema.

Al parecer, GRUB2 no detecta las imagenes del kernel si no empiezan con el nombre ‘kernel’. Por lo que, en este caso, lo que realice es cambiar el nombre del kernel vmlinuz:

# mv vmlinuz-6.12.16 kernel-6.12.16

Ahora al hacer:

# grub-mkconfig -o /boot/grub/grub.cfg

Ya detecta la imagen del kernel y podemos arrancar con el.

Fuente: https://forums.gentoo.org/viewtopic-p-8765343.html?sid=20a0503872cf5d61732216ef3e8575b5

Share

Click derecho crear fichero nuevo en GNOME

Recientemente he realizado una nueva instalación de GNOME y algo que es indispensable para mi, es poder hacer click derecho y crear un fichero nuevo de texto. Esto, en GNOME se puede activar siguiendo algunos pasos:

# mkdir -p /home//Templates

# touch /home/user/Templates/Documento\ de\ texto

Revisamos que en el archivo de configuración de gnome, Templates apunta donde tiene que apuntar /home/usuario/Templates:

# xdg-user-dir TEMPLATES

Si templates, no muestra el directorio /home/usuario/Templates, hay que cambiarlo… lo editamos y lo dejamos:

XDG_TEMPLATES_DIR=»$HOME/Templates»

Guardamos y reiniciamos….

Ya estaria funcionando

Share

Instalar extensiones Gnome manualmente

Tras una instalación reciente de un sistema Gnome toca modificarlo a nuestro gusto. Y eso es lo que he tenido que hacer. Queria tener la posibilidad de poner ficheros en el escritorio y con las extensiones que venian con gentoo instaladas no podia hacerlo. Por lo que me he visto con la necesidad de instalar una extensión externa de gnome, manualmente.

Es muy sencillo, facilito los pasos por si a alguien le sirve de ayuda:

  1. Descargamos la extensión:

https://extensions.gnome.org/extension/2087/desktop-icons-ng-ding/

2. Realizamos la instalación con gnome-extensions:

gnome-extensions install –force FILENAME.ZIP

3. Reiniciamos.

Ahora si accedemos a gnome-weak-tools tendremos disponible la extensión instalada para poder activarla.

Espero que sirva!

Share

PulseAudio. Sin audio en Gentoo

Comparto este pequeña receta para que sirva como ayuda y auto recordatorio que despues de instalar un sistema Gentoo y si trabajas con pulseaudio, hay que activar el servicio al inicio con SystemD, con:

# systemctl –global enable pulseaudio.service pulseaudio.socket

Ademas de agregar el usuario local al grupo audio (no estoy seguro si esto a dia de hoy es necesario hacerlo. Antes si lo era)

# gpasswd -a <usuario> audio

Share

NetworkManager no muestra algunas redes WiFi

En una instalación reciente de Gentoo, me encontré con un problema que bastante extraño. Y es que al finalizar la instalación de Gnome y dejarlo todo funcionando, veo que NetworkManager, el gestor de redes, muestra algunas redes wifi si y otras no…

Lo primero que pense era que el problema podria estar en el modulo del kernel. Tras investigar y hacer algunas pruebas al respecto pude darme cuenta que ese no era el problema, ya que con el paquete ‘net-wireless/wireless-tools’ disponible en portage pude ver que con iwlist si mostraba todas las redes wifi.

Tras investigar un poco, me encontré con un mensaje en la comunidad de gentoo que comentaba mismo problema y por lo visto a la hora de realizar la compilación de ‘net-wireless/wpa_supplicant’, se realizó sin la USE ‘tkip’

Por lo que la solucion fue sencilla:

# echo «net-wireless/wpa_supplicant tkip wep» >> /etc/portage/package.use/wpa_supplicant && emerge net-wireless/wpa_supplicant

Una vez realizado la activación de la USE ‘tkip’ para wpa_supplicant y hacer emerge de nuevo. Podemos ver en consola por ejemplo, como networkmanager ya detecta todas las redes a su alcance:

# nmcli dev wifi list

Espero que a alguien le pueda servir!

Un saludo (;

Fuente: https://forums.gentoo.org/viewtopic-t-1147807-start-0.html

Share

Timo SMS FedEx

Esta semana se ha propagado un timo el cual utilizaba el nombre de una famosa empresa de transporte llamada ‘Fedex’.

El timo consiste en un envío de SMS a la victima que contiene un enlace hacia una aplicación para que el usuario la descargue para conocer el numero de seguimiento de un pedido que supuestamente no ha podido ser entregado.

El usuario, al pinchar el enlace y descargar la aplicación y conceder a esta permisos, consigue poner su teléfono a merced de este malware. El timo se divide en varias fases:

1 . Envio de SMS a la victima:

SMS recibido por la victima

La victima recibie un sms con su nombre que contiene el enlace con la aplicación .apk maliciosa.

2. Infección y propagación.

Tras la instalación de la apk maliciosa en el teléfono de la victima. Lee todos los contactos del teléfono de la victima, nombre y teléfono de contacto y para cada uno de estos registros envia un SMS a ese mismo teléfono con el mensaje:

Hola XXXXX, siendo XXXX el nombre del contacto almacenado en la memoria del telefono.

Tras esta última fase, la historia se repite hasta llegar al mayor numero de personas posibles.

Tras un pequeño estudio de la aplicación maliciosa podemos observar:

– Cada envio de sms redirige a la victima a un sitio comprometido donde se almacena la .apk para ser descargada.

– Los atacantes alojan el archivo .apk malicioso en sitios comprometidos. La mayoria páginas con wordpress instalados sin actualizar.

– Si se trata de un navegador web móvil muestra el contenido, si se trata de un navegador web un PC simplemente no muestra nada.

Metodología de Ataque

Al parecer, los propietarios que han diseñado este malware tienen una gran extensa lista de sitios web comprometidos. El 100% de los sitios que he podido comprobar son sitios que implementan WordPress desactualizados.

Los atacantes, aprovechan para crear un directorio dentro de esa página web donde alojan un fichero .php, que es el que muestra la siguiente imagen:

Visualización de la página con enlace de descarga de la aplicación

Ese fichero .php creará un contenido totalmente dinámico.

Dependiendo si es visitado por un dispositivo móvil y el idioma del visitante.

Si cargamos ese enlace con un PC no podremos ver contenido alguno. Este comportamiento es gracias a la comprobación de las cabeceras HTTP ‘User-Agent’ el cual es posible determinar que plataforma, navegador e idioma tiene el visitante y así generar un contenido a medida de la victima.

Una vez creada esa página fake, el siguiente paso será mostrar el enlace de la aplicación. La ruta de este enlace redirige a otro sitio web comprometido, en el cual se encuentra la aplicación .apk

Todo esto con el desconocimiento absoluto de los propietarios de cada sitio web hackeado.

Analizando el .apk de la aplicación maliciosa.

Para el analisis del archivo .apk lo primero que tenemos que hacer es “decompilar” dicho fichero. En mi caso he utilizado uno de los muchos servicios online para este proposito:

https://www.apkdecompilers.com/

Analisis de ficheros:

AndroidManifest.xml:

  • <uses-permission android:name=»android.permission.INTERNET»/>
  • <uses-permission android:name=»android.permission.READ_CONTACTS»/>
  • <uses-permission android:name=»android.permission.WRITE_SMS»/>
  • <uses-permission android:name=»android.permission.READ_SMS»/>
  • <uses-permission android:name=»android.permission.SEND_SMS»/>
  • <uses-permission android:name=»android.permission.RECEIVE_SMS»/>
  • <uses-permission android:name=»android.permission.READ_PHONE_STATE»/>
  • <uses-permission android:name=»android.permission.QUERY_ALL_PACKAGES»/>
  • <uses-permission android:name=»android.permission.WAKE_LOCK»/>
  • <uses-permission android:name=»android.permission.FOREGROUND_SERVICE»/>
  • <uses-permission android:name=»android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS»/>
  • <uses-permission android:name=»android.permission.CALL_PHONE»/>
  • <uses-permission android:name=»android.permission.REQUEST_DELETE_PACKAGES»>

Este archivo es utilizado en las aplicaciónes de Android para declarar que permisos necesitará el software para funcionar. Será el usuario el que PERMITA o DENIEGE estos permisos.

Describo los permisos (por orden) que pedirá la aplicación para funcionar,:

  • Permisos para utilizar internet.
  • Lectura de contactos.
  • Escritura y lectura de SMS
  • Leer el estado general del terminal
  • Lectura para propiedades de otros paquetes.
  • Ejecución en 2 plano
  • Evitar que el proceso sea matado por optimizaciones de bateria
  • Realizar llamadas

Visto los permisos listados, esta aplicación seguirá corriendo en el terminal infectado aun estando bloqueado ya que se le permite el uso de ejecución en 2 plano.

A traves de lo que se conoce en programación android como ‘BroadcastReceiver’, la aplicación es notificada de casi todo lo que ocurre en nuestro terminal

Declara un Listener propio llamado ‘MyNotificationListener’:

  • <service android:enabled=»true» android:name=»com.tencent.mobileqq.MyNotificationListener» android:permission=»android.permission.BIND_NOTIFICATION_LISTENER_SERVICE»>
  • <intent-filter>
  • <action android:name=»android.service.notification.NotificationListenerService»/>
  • </intent-filter>
  • </service>

Lectura de TODOS los SMS y MMS entrantes del terminal:

  • <receiver android:name=»com.tencent.mobileqq.SmsReceiver» android:permission=»android.permission.BROADCAST_SMS»>
  • <intent-filter>
  • <action android:name=»android.provider.Telephony.SMS_DELIVER»/>
  • </intent-filter>
  • <receiver android:name=»com.tencent.mobileqq.MmsReceiver» android:permission=»android.permission.BROADCAST_WAP_PUSH»>
  • <intent-filter>
  • <action android:name=»android.provider.Telephony.WAP_PUSH_DELIVER»/>
  • <data android:mimeType=»application/vnd.wap.mms-message»/>

Con el tag <receiver>, se declará un receiver el cual hará que android, avise a esta aplicación maliciosa cada vez que llegue un SMS nuevo.

En la carpeta /res / del archivo .apk descomprimido podemos encontrar los strings para varios idiomas, lo que nos dinca que la aplicación esta diseñada para muchos idiomas.

Si observamos el contenido de / sources / np / e intentamos visualizar los archivos .java presentes podremos ver que el código de estos archivos ha sido ofuscado para intentar ocultar su funcionamiento. Para más complicación, el decompilador que he utilizado al parecer ha tenido que renombrar gran parte del código ya que contenia caracteres no printables.

Este malware es doblemente peligroso, ya que, por un lado intenta robar dinero a la victima y por otro lado, GENERA a la victima un gasto extra en su factura por el envio de SMS utilizando el dispositivo. Con lo que puede llegar a aumentar considerablemente la factura de su linea móvil.

Espero que haya servido de ayuda, seguimos con las investigaciones de este malware..

Share

Ubuntu. Actualizar distribucion obsoleta

Hola. Publico como siempre una pequeña receta a modo de apunte. En esta ocasión se trata de como actualizar un sistema ubuntu muy anticuado y que al realizar un ‘apt-get update’ nos responde con errores 404 Not found…

1. sudo gedit /etc/apt/sources.list

2. Cambiar los dominios:

http://es.archive.ubuntu.com/

por:

http://old-releases.ubuntu.com/

(Podemos utilizar el buscar y reemplazar de gedit para realizar estos cambios másivamente)

3. Guardamos el fichero editado.

4. apt-get update && apt-get upgrade && apt-get dist-upgrade

FIN.

Share

Altavoces o Auriculares sin audio en Gentoo

En esta ocasión les traigo una solución para nuestro equipo Linux en base Gentoo. Si conectamos los auriculares o altavoces externos a nuestro portatil y no funciona, la solución es sencilla.

Se trata de instalar el paquete alsa-firmware para que nos instale el firwmare relacionado con nuestra tarjeta de sonido. El sonido suena por los altavoces internos por que el modulo del kernel se encuentra perfectamente seleccionado y levantado pero no funciona como debería. Instalado el paquete sys-firmware/alsa-firmware se soluciona el problem:

  • emerge sys-firmware/alsa-firmware
    • rebooot

Con esto ya tendriamos funcionando al 100% nuestra tarjeta de sonido.

Entiendo que esta solución puede ser extendible tambien a otras distribuciones como Ubuntu o debian. Simplemente deberiamos buscar el paquete binario alsa-firmware e instalarlo ya sea con ‘apt-get’ o ‘yum’ o el gestor de paquetes de la distribución que nos encontremos.

Un saludo.

Share

Emerge world para actualizar Gentoo

Con:

  • emerge -avuDN –with-bdeps=y –changed-deps @world

realizará una actualización completa de nuestro sistema, detectando ademas los paquetes que se vean afectados por un cambio de USE global en nuestro sistema.

Si este comando lo vamos a ejecutar por la noche en el que no vamos a estar presentes delante de nuestro equipo. Podemos ejecutar:

  • emerge -avuDN –with-bdeps=y –changed-deps -keep-going y @world

Con el comando anterior emerge intentará omitir un paquete que falle al compilar, compilando todos los demás para finalizar el proceso. Más tarde cuando estemos delante de nuestro equipo tendremos que ver que paquete dió error al compilar y solucionarlo nosotros manualmente.

Hay que añadir que si el paquete que falle al compilar es uno con «fuertes dependencias» la compilación no va a continuar ya que el resto de paquetes que dependan de él tambien mostraran error al compilar. No obstante el parametro ‘–keep-going y’ es una muy buena opción para ganar tiempo si dejamos el pc actualizando en horas nocturas.

Un saludo.

Fuentes: https://forums.gentoo.org/viewtopic-p-7511690.html

https://forums.gentoo.org/viewtopic-t-1083728-start-0.html

Share

ERROR: ModuleNotFoundError: No module named ‘pkg_resources’

Hola.

Hoy al intentar realizar un emerge de algunos paquetes en mi sistema gentoo me ha aparecido el siguiente error:

«ModuleNotFoundError: No module named ‘pkg_resources'»

El cual he solucionado realizando lo siguiente:

  • eselect python list
  • eselect python set 1 // Seleccionar la versión más reciente para nuestro sistema

y por ultimo… realizar de nuevo la instalación del paquete ‘setuptools’ de python:

  • emerge dev-pyton/setuptools

Un saludo.

Share