Mostrando entradas con la etiqueta Sistemas Operativos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Sistemas Operativos. Mostrar todas las entradas

jueves, 5 de mayo de 2022

Instalación remota - PSEXEC III

 He realizado un cambio en el script (javaV3.bat) usado para instalar java para eliminar las versiones antiguas en el mismo proceso.

Este es el repositorio de github

Enjoy!

Culex.


jueves, 24 de mayo de 2018

PSEXEC II, Software remote installation

Hello everyone,

I've done a litte improvement on the scripts for installing Adobe Acrobat, Chrome, Firefox, Flash player and Java.

On previous version of the script  you have to write down the user&pass you were using for installing (normally an admin account) on the script itselft on text plane. This isn't a very good idea at all.

On this new version you pass then  like paremeters when you run the script.



In addition to this, there is a control if the target machine is online. This can save an important amount of time if you have to update a 'BIG' number of machines.



Here you are the GitHub repository when you can donwload them. They are named like V2.


Enjoy.

Culex

martes, 10 de abril de 2018

Install windows fonts on a remote computer

Hello everyone,

Some weeks ago we're requested for installing the new corporative font.

We thought it would be quite easy. We just needed to copy it on the folder %SystemRoot%\fonts via a script but we're wrong.

It seems when you copy them via windows explorer an extra proccess is executed for installing the new fonts on the backgroud but it isn't when you copy them from a different computer using the xcopy command  or similar.

We tried a couple of aproaches and finally we deploy the new fonts using the following script.

An standard output may be the following,



Culex.

miércoles, 16 de agosto de 2017

Instalación remota - PSEXEC II

Finalmente aquí están unos cuantos scripts que usan PSEXEC para realizar instalaciones desatendidas de forma remota y alguna otra cosilla.

Esta es la lista:

Installing Acrobat Reader
Installing Chrome
Installing Firefox
Installing FlashPlayer
Installing Java
Uninstalling software (UninstallString)
Running vbs script
Checking computer architecture,
Checking HF installed,
Checking computers online,
Checking IE version,

Este es el repositorio en github

Enjoy!

Culex.


jueves, 10 de agosto de 2017

Instalación remota Windows Update - PSEXEC

Como lo prometido es deuda, hoy voy a explicar como instalar actualizaciones de windows de forma remota.

El proceso es similar a la instalación de otros ejecutables pero vamos a tener que usar wusa.exe (windows-update-standalone-installer).

Previamente tenemos que copiar el ejecutable en el equipo que queremos parchear, se crea un directorio, se copia y finalmente se deja todo limpito, vamos como si no ha pasado nada :-)

Para evitar problemas con la copia usamos robocopy  (a mi nunca me ha fallado).

Aquí vemos un ejemplo para parchear el sistema contra Wannacry




Al igual que con el resto de ejecutables se generan dos archivos log para controlar la correcta instalación.

Adjunto el código (just in case)

Enjoy

Culex





lunes, 31 de julio de 2017

Instalación remota - PSEXEC

Estando un poco aburrido de tener mal parcheado los ordenadores de mi curro, y después de que la asignatura DyASO me haya abierto los ojos respecto al uso de script, me he puesto a trastear un poco y al final me he montado unos script para instalar de forma remota, desatendida y silenciosa unos cuantos programas que se están actualizando un día sí y otro también.

En concreto los siguientes; Adobe Reader, Chrome, Firefox, Flash Player y java.

Y ya puestos a la tarea también actualizaciones de Windows pero este va en otro post.

La utilidad de línea de comandos que hace posible todo esto es PSEXEC.EXE  

PSEXEC es parte de Sysinternal  y para hacer de una explicación larga una corta, podemos resumir diciendo que nos permite ejecutar procesos en un equipo remoto.

La sintaxis es (resumiendo mucho) la siguiente: psexec \\computer [arguments]

Y con más detalle: psexec [\\computer[,computer2[,...] | @file\]\]\[-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]

Y como el movimiento se demuestra andando vamos a explicar un poco el tema. Normalmente se usan siempre los mismos argumentos y solo tenemos que investigar un poco para ver cómo podemos instalar el programa que nos interesa desde la línea de comandos y sin interactuar con el usuario.

Por ejemplo, el siguiente comando instalaría flashPlayer en el pc1.

psexec \\pc1 -c -s -u dominio\username -p password \\path\flashplayer.exe -install -force

y explicando un poco más,

-c, copia el ejecutable desde la ruta indicada \\path\flashplayer.exe  a la máquina local
-s, ejecuta el proceso con privilegios system
-u y -p, nos permiten especificar el usuario y contraseña con la que hacemos log on en la máquina remota. (obviamente un administrador)
flashplayer.exe -install -force, argumentos necesarios para la instalación.





Esto no está mal pero si tienes que parchear 100 equipos pues al final es un poco rollo, así que por qué no lo mejoramos un poco y lo hacemos en los 100 del tirón J

La cosa es sencilla, un bucle que va leyendo los nombres de máquina de un fichero (equipos.txt) y punto. Luego para tener todo controlado usamos unos ficheros de log y  voila! … un script muy útil que nos va a ahorrar bastante tiempo a la hora de tener parcheado los equipos.

Usamos dos fichero de log, uno para ver que ha pasado de un vistazo (log.txt) y poder actualizar nuestro dashboard de forma rápida y otro con el detalle por si tenemos que hacer debugging (detalle_%MYDATE: =%.log).

Aquí hay un ejemplo del script para Acrobat,



Y un ejemplo de ejecución con Java.



Estoy seguro que debe haber muchísimaaaaaaas formas distintas de hacerlo, mejores y más rápidas pero esta tampoco funciona mal.

Una cosita que es recomendable es abrir la consola que vamos a usar para lanzar el script con un usuario con permisos admin en las maquinas objetivo

Lo bueno es que podemos usar PSEXEC para instalar casi de todo, ejecutar comandos remotos etc etc….

Adjunto el código del ejemplo de Acrobat

Enjoy J

Culex.




sábado, 29 de abril de 2017

Problemas montando unidad de red con cifs


El otro día me estuve pegando con CIFS intentando montar un enlace permanente al NAS de la marca sysnology que tengo en casa porque ya estaba cansando de tener que montarlo con SMB cada vez que quería acceder a el. Además quería usarlo directamente desde la aplicaciones sin tener que pasar por el disco duro local.
Como de costumbre me documente un poco por la red y todo parecía de color de rosa (como siempre), unos cuantos comandos en el Shell y a rular….
Pero claro, al final todo es de color marrón  mierd...... y nada es tan fácil como parece.

El proceso se basa en un par de pasos, primero creamos un directorio dentro de la carpeta /media que es donde se nos va a montar la unidad de red:
sudo mkdir /media/miCarpeta

Y luego, editamos el fichero fstab y añadimos lo siguiente:
//ipdestino/carpetaDestino /media/miCarpeta cifs user=usuario,password=contraseña,noexec,users,rw,nounix,uid=1000,iocharset=utf8 0 0,
Pero en mi caso es que, al intertar montar la carpeta, no funcionaba.
Mi ruta tenía espacios en blanco y pense reemplazarlos por %20 como en las url pero nada..
Trasteando un poco me encontre con una forma para echar un vistazo a log del kernel, lo que es muy útil para realizar un poco de troubleshooting.
Podemos ver solo el final del log con tail
tail -f /var/log/kern.log
buscar lineas con errores 
cat /var/log/kern.log | grep error
o mejor aún errores que tengan algo que ver con cifs
cat /var/log/kern.log | grep -E “cifs|error”
Al final, cuando ya estaba un poco desesperado se me ocurrio cambiar el nombre del recurso de red (eliminando los espacios en blanco) y como por arte de magia todo empezo a funcionar.
Culex.

martes, 9 de agosto de 2016

Sobreviviendo el primer dia en BASH

Jim Lehmer ha creado un breve libro 'Ten Steps to Linux Survival, Essentials for Navigating the Bash Jungle' editado por O'Reilly y GRATUITO para que cualquier principiante pueda hacer las tareas más sencillas de diagnóstico y recuperación de un sistema Linux en 10 pasos esenciales:

http://www.oreilly.com/programming/free/ten-steps-to-linux-survival.csp

Culex.

Entendiendo el proceso de arranque (Understanding startup process)

Como decía en el post anterior lo bueno de meter la pata es que siempre puedes aprender algo nuevo para solucionar el problema.

Cuando me presentaron al BCD me quede con ganas de saber un poco mejor cómo funciona el proceso de arranque y después de documentarme un poco he juntado todo en el siguiente documento (está en ingles).

el 90% de la información la encontré en la siguiente url y está copiada prácticamente tal cual. Good job Daddy! whoever you are :-).


El aporte por mi parte ha venido por un mayor detalle en la explicación sobre el MBR(boot code & partition table) y un refuerzo de algunas partes con imágenes.

También encontré documentación interesante en las siguientes url's


Bueno sin enrollarme más adjunto el documento  enjoy!

Culex.

domingo, 31 de julio de 2016

Master Boot Record & Boot Configuration Data en Windows 7

En vista de la insistencia con la cual MS nos pedía actualizar a W10 y viendo que el dead-line se aproximaba tuve una de mis ideas geniales. Si ya sabes, una de esas con la que te cargas todo y después de un buen rato intentando solucionarlo aprendes un par de cosillas :-).

El caso es que no estaba muy convencido de migrar pero ya sabéis lo que dicen de la curiosidad y los gatos..... y pensé... hago una imagen de W7 actualizo a W10, hago una imagen de W10 para el futuro y recupero la imagen previa de W7... todo parecía fácil de realizar por lo que me pongo con la tarea.

Después de probar W10 un par de días y ver que todo funciona bien, ayer por la noche decidí volver a W7 y hay empezó la pequeña crisis..... después de recuperar la imagen de W7 upss! sorpresa no arranca el SO.




¡Que raro!, si esto lo he hecho decenas de veces..... pues ya ves, esta vez ha fallado y ha fallado porque a los SO de Microsoft (en concreto al bootmgr & bootloader) parece que nos les gusta mucho que los usuarios les degraden a una versión anterior .

The boot sector of the Windows partition was corrupted or overwritten somehow.

Una vez descartado un error en la imagen mis pasos se dirigieron a ver que pasaba con el MBR pues parecía que el gestor de arranque no localizaba la tabla de  particiones. 

Intente recuperar el MBR de varias formas pero el SO seguía sin arrancar por lo que tenía que haber algo más.

Y en efecto, algo más había de por  medio.  Hello    Boot Configuration Database.

Este archivo viene a ser lo que era boot.ini , es decir contiene información sobre las entradas presentes en el gestor inicio de windows (Windows Boot Manager).

Usando las opciones de recuperación desde la consola intente reparar el BCD pero al ejecutar el comando   bootrec /rebuildbcd   obtenía algo así.


cuando un resultado normal seria algo como esto.



Por lo que al final lo solucione a las bravas. Instale W7 desde cero para restaurar el archivo luego recupere la imagen y usando la opción de reparar equipo (F8) ajusto el BCD existente al nuevo de la imagen restaurada y voila!

Más tarde leyendo un poco más encontré la forma de solucionarlo sin tanto rollo. Básicamente necesitaba cambiar los atributos del archivo para poder editarlo.

attrib c:\boot\bcd -h -r- s 

Y

bootrec /rebuildBCD 


Finalmente, adjunto unos enlaces que me han parecido interesantes. En el ultimo es donde encontré la forma de solucionarlo :)


Culex.


lunes, 25 de abril de 2016

Ingeniería inversa

Surfeando un poco por ahí me he encontrado este trabajo Reverse Engineering for Beginners.
Awesome!! + 900 paginas  o la versión lite con 150 :).



Como me gustaria llegar algún día llegar a conocer alguno de estos temas con la suficiente profundidad como para escribir algo parecido.

Culex.


viernes, 20 de marzo de 2015

EMET - Enhanced Mitigation Experience Toolkit


Ya sé que muchos de los que lean esto dirán que le mejor herramienta para proteger nuestro PC es no usar los SO de Microsoft.... 

Sin entrar en este tipo de debates que no llevan a ningún sitio, hoy quería comentar que se ha publicado nueva versión EMET 5.2.

EMET es un  kit de herramientas de gran utilidad para mitigar la explotación de vulnerabilidades mediante la inclusión de capas de protección adicionales.



Yo lo llevo usando desde el verano pasado y no he notado ningún tipo de problema salvo en una configuración W8.1 + Office 2007 donde MS-Word tarda más de lo normal en abrir (no estoy seguro al 100% que el origen del problema sea EMET) 

Empece a usarlo después de leer Máxima Seguridad en Windows y  recomiendo su uso.

Aquí ->  EMET 5.2

Culex.

Fuente original: UnaAlDía

miércoles, 13 de agosto de 2014

Suite protocolos TCP-IP

Estaba el otro día trasteando un poco con el firewall de W7 y me llamo la atención las opciones de configuración a nivel de protocolos.


El caso que me puse a 'recordar' cosillas y al final me salio un documento que puede venir bien para consulta.

Aquí --> Suite TCP-IP

Como casi siempre, la fuente de información es http://www.wikipedia.org/

Culex.

viernes, 27 de diciembre de 2013

SO (viejas y nuevas glorias)

En esta página     http://www.therestartpage.com/#   podemos simular el inicio de unos cuantos SO.





La verdad que es curioso y trae muy buenos recuerdos

Culex.


jueves, 26 de diciembre de 2013

BlackViper(optimizando Windows)

Para los que como yo siempre andamos trasteando a ver como podemos optimizar un poco más nuestro SO y liberar unos cuantos megabytes de RAM, uso CPU and so on ...  puede que está página sea de utilidad.


Culex.

viernes, 12 de julio de 2013

Sistema Archivos W8 (GPT)

El otro día me encontré con un problema en un portátil con W8. Necesitaba instalar W7 32 bits pero cuando lanzaba el instalador me decía que no se podía instalar en la partición elegida.

Después de investigar un poco resulta que W8 usa un sistema de archivos 'GPT' que no es compatible con versiones Windows anteriores de 32 bits.

Un poco de información para los curiosos :)

http://en.wikipedia.org/wiki/GUID_Partition_Table#Operating_System_support_of_GPT

El caso es que hay que eliminar el sistema de archivos  para volver a nuestro viejo conocido MBR.

Una forma de hacerlo es desde una consola  con el comando DISKPART.



Identificamos el disco usando list disk y usamos clean or clean all para eliminar el sistema GPT.

Culex.


viernes, 1 de marzo de 2013

Netsh

De vez en cuando nos podemos encontrar con situaciones donde tenemos que estar cambiado la configuración de red de nuestro equipo. Esto se termina convirtiendo en una molestia si lo tenemos que que hacer frecuentemente.

Un posible solución sería usar netsh para guardar las diferentes configuraciones que necesitamos en ficheros .txt  y luego cargarlos según nuestras necesidades.

Pero bueno, antes de poner un ejemplo adjunto detalle de la Wikipedia.

Netsh es una utilidad de línea de comandos que nos ofrece varias opciones para la configuración de una red. Entre las principales opciones que se pueden realizar, están la posibilidad de ver, modificar, administrar y diagnosticar la configuración de una red.

Como paso previo si abrimos una consola con permisos de administrador.
Y ahora al turrón :), para generar el fichero con la información de red hacemos.


Ya tenemos nuestro fichero con la configuración actual de red.


Ahora cuando queremos volver a cargar la configuración


Culex.




martes, 26 de febrero de 2013

Boot.ini & BCDedit


Todos sabemos como funcionaba y para que sirve el fichero boot.ini pero por si hay algún despistado adjunto la definición de la Wikipedia.

'boot.ini es un archivo que se halla en la partición principal de un ordenador o computadora. Su finalidad es la de ofrecer un menú con varias opciones de inicio cuando se produce el arranque de un sistema operativo, pudiendo así elegir el usuario entre varios sistemas operativos distintos instalados.'

El caso es que a partir de windows vista la información de de arranque no se guarda en nuestro viejo conocido si no en un sistema nuevo (BCD).

Antes, nos apañábamos con el notepad  para configurar nuestro boot pero ahora los chicos de Microsoft no proporcionan un nuevo,y flamante,  editor para modificar el BCD.

Por ejemplo, después de instalar una segunda instancia de W7 en mi PC  tengo algo así.


Después de varias días probando mi segunda instalación de W7 y de realizar las respectivas copias de seguridad (muy importante) decido que ya no necesito mantener la versión antigua por lo que le elimino.

Como paso previo, abrimos la consola con permisos de administrador.

Lo primero hago una copia del fichero ( /export) por si me cargo algo.


Exporto el fichero a un archivo txt (bcdedit > c:\fichero.txt ) porque vamos a necesitar el identificador y es un churro enorme. Luego eliminamos la entrada antigua ( /delete ).



Por ultimo, establecemos a 0 sg el tiempo que se va a mostrar el menu de aranque ( /timeout).


Si queréis profundizar un poco más adjunto un par de enlaces.


Culex.






miércoles, 26 de diciembre de 2012

Copias de seguridad (Diferencial Vs Incremental)


En el apartado 9.5 del libro ‘Fundamentos Básicos de los de Sistemas Operativos’ se repasan las diferentes opciones que tenemos para realizar copias de seguridad.

Para mi gusto no esta muy clara la diferencia entre diferencial e incremental, por eso amplio un poco el contenido del libro.

El método básico es el full copy o copia completa, que consiste en copiar directamente todos los archivos seleccionados cada vez que se lanza el proceso. Luego tenemos otros dos métodos más avanzados: copia diferencial y copia incremental. Ambos métodos de backup permiten optimizar el proceso de replicación ahorrando tiempo a la hora de realizar la copia. 

Copia diferencial

La copia diferencial (o diferencial acumulativa) sólo copia los ficheros que han sido creados o modificados (normalmente mirando la fecha de modificación de los mismos o algún bit de control) desde la última copia. Esto quere decir que si hicimos una copia completa el domingo, el lunes se copiarán aquellos ficheros modificados o creados desde el domingo, y el martes se copiarán los creados o modificados desde el domingo también. Las copias diferenciales se van haciendo más grandes ya que reflejan los cambios desde una marca fija en el tiempo.

Copia incremental

La copia incremental (o diferencial incremental) es más avanzada (o “inteligente”) ya que sólo copia los ficheros creados o modificados desde el último backup, ya sea completo o incremental, reduciendo la cantidad de información a copiar en cada proceso. En el caso anterior de tener una copia completa el domingo, el lunes se copiarán las novedades respecto al domingo, y el martes las novedades respecto a la copia del lunes, con la consiguiente reducción de tamaño de copia.

Ventajas y desventajas

La ventaja de los métodos diferenciales (ya sean acumulativos o incrementales) es la reducción de información a copiar, lo cual nos permite ahorrar espacio de almacenamiento y ancho de banda de transmisión si las copias se hacen en remoto.
La desventaja la encontramos a la hora de recuperar los datos, ya que en caso de tener una copia completa, sólo necesitamos la más reciente (o la que nos interese), pero en caso de las diferenciales la cosa cambia:
  • si tratamos de recuperar archivos desde una copia diferencial, necesitaremos la última copia completa de referencia para las copias diferenciales, y la copia diferencial de la fecha que queremos recuperar.
  • si vamos a recuperar archivos de copias incrementales, necesitaremos la copia completa base y todas las copias incrementales desde la misma hasta la fecha de restauración. Si partimos de incrementales necesitaríamos la completa, la diferencial más reciente y las incrementales desde la misma.

Culex.

PD: El Articulo original fue  escrito en  Blogging for nothing.