viernes, 2 de julio de 2021

[Windows] Habilitar el gpedit.msc (Group Policy Editor) en Windows Home

Recientemente quería deshabilitar el antivirus en mi computadora personal definitivamente, no sirve de mucho y por lo general lo que detecta son las aplicaciones que no son virus, pero que a Microsoft no le conviene que tengamos en nuestra computadora (keygens, cracks, etc). Si bien la mayoría de estas aplicaciones podrían contener virus, algunos sitios de confianza que nos los ofrecen, ya nos dan la seguridad de que nos los contienen.

Para muchas soluciones como esta de desactivar el antivirus definitivamente, requerimos acceso al group policy editor (editor de políticas de grupo, gpedit.msc). Al intentar ingresar me doy cuenta de que el Windows Home que estoy utilizando no tiene acceso a esta herramienta (no tengo idea por qué), por lo que investigando un poco encontré la solución en reddit.

Básicamente es un script .bat que habilita estas opciones, por lo que únicamente deberán copiar y pegar el siguiente código en un editor de texto plano (notepad):

@echo off
pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt

for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
pause

Después únicamente debemos guardar el archivo como .bat (en lugar de guardarlo como .txt), par esto dependiendo del editor de texto en el tipo de archivo deberán escoger en "Tipo" la opción que dice "Todos los archivos", y escribir manualmente ".bat" al final del nombre del archivo.

 

Seguidamente, simplemente le damos clic derecho a nuestro archivo .bat y le damos clic a "Ejecutar como administrador".

 


 
Una vez que termine, deberá decir "Precione cualquier tecla para continuar...", le damos enter o lo que sea y podemos revisar que ya tenemos el gpedit.msc habilitado, solamente vamos a inicio y escribimos "gpedit.msc" o bien le damos CTRL+R y escribimos "gpedit.msc" y damos clic en "Aceptar":

Listo con solo eso ya tenemos un sin fin de opciones y podremos más control sobre nuestro sistema operativo.





 

miércoles, 22 de agosto de 2018

[SEGA Dreamcast] Cambiar la batería interna del Dreamcast

Si cuando iniciamos el Dreamcast, nos indica que debemos definir la fecha y la hora y una vez hecho esto, cuando reiniciamos la consola nos vuelve a indicar lo mismo, quiere decir que la batería interna del Dreamcast se ha dañado.




El principal inconveniente de cambiar la batería, es que la que tiene de fábrica viene como si fuera un componente electrónico (ver imagen de arriba), para poderla reemplazar se tendría que desoldar, conseguir una igual que nos sirva (casi imposible) y volverla a soldar, esto cada vez que se dañe la batería. Por esta razón estoy haciendo este tutorial de manera que podamos a futuro reemplazar la batería sin necesidad desoldar y soldar un componente electrónico, inicialmente es imposible cambiarla sin tener que hacerlo, para ello necesitamos en esta primera vez lo siguiente:


  • Un kit de soldar (al menos lo suficiente para soldar y desoldar), yo compré este  ($30) pero existen otros ($16) más baratos
  • Un soporte para batería 2032, yo compré estos ($6), lastimosamente no venden solo uno, si pueden conseguir solo 1 perfecto
  • Una batería 2032 recargable de 3V, puede ser como esta ($8.45), yo compré unas ($5.99) en eBay porque en ese momento no encontré en Amazon. * Debe ser recargable, si utilizamos una no recargable corremos el riesgo de que explote la batería.
  • Un destornillador para abrir el Dreamcast


Primeramente, aunque parezca tonto, desconectar el Dreamcast, y en la parte de abajo se pueden ver los huecos de 3 tornillos, el cuarto tornillo lo podemos ver si quitamos el adaptador de red del Dreamcast:



Una vez abierto el Dreamcast debemos buscar en la parte de abajo (donde se conectan los controles) un chip que tiene la batería.



En esta parte primeramente se debe desconectar el ventilador y una faja que va a la unidad de GD-ROM del Dreamcast:



Después simplemente se debe desatornillar este chip para poderlo trabajar:





Una vez desatornillado, se localizan los puntos de soldadura de la batería en la parte de abajo del chip:





Estos puntos se deben desoldar, para esto si no saben como, se debe calentar los puntos con el soldador eléctrico y cuando estén ya líquidos se utiliza el aspirador o bomba que succiona la soldadura líquida (si tienen problema con esto, acá les dejo un video que explica como desoldar).

Una vez se le quita la soldadura, se remueve la batería vieja:





El soporte para batería calza perfectamente en los 3 huecos que quedan al quitar la batería, entonces simplemente se introduce el soporte y se sueldan los 3 puntos nuevos para fijar el soporte:





Una vez se suelda el soporte, se puede volver a poner todo en su lugar y conectar nuevamente todo y se debe poner la nueva batería en el soporte, la batería con el lado positivo (+) para el lado positivo del soporte (+):





Volvemos a colocar la tapa y los tornillos y ya una vez que se ajuste la fecha y la hora, no tendremos que volverlo a hacer hasta en mucho tiempo cuando la batería recargable se dañe, pero simplemente cuando eso pase ahora solo tendremos que quitar la batería y poner otra, sin necesidad de volver a soldar.

Espero les haya quedado claro, si queda alguna duda me escriben y tal vez pueda ayudarles. Saludos




miércoles, 1 de agosto de 2018

[Nier: Automata] Obtener el Cypress Stick

El Cypress Stick se puede conseguir en la primera terminal de la zona del bosque, cerca de la gran puerta que da a la villa de las máquinas (donde está Pascal).

En esta zona se encuentra una serie de pilares y unos arcos o pequeñas edificaciones, lo que se debe hacer es básicamente ir a un pilar que está caído y subir a un pilar, luego saltar de pilar en pilar a la edificación y seguir saltando pilares hasta llegar a la última edificación que tiene un cofre con el arma.



En este video que yo mismo grabé se puede ver como se puede lograr aunque es bastante difícil, en otro lugares en internet vi que a diferencia del doble salto y esquivar que utilicé yo, puede ser más fácil equipando una lanza y hacer un salto, dos ataques con lanza y luego otro salto. Yo en lo personal duré como 15 min tratando de llegar al otro lado, y el arma no tan buena pero si uno quiere conseguirlas todas no queda de otra.

viernes, 20 de diciembre de 2013

[LINUX-Túnel SSH] Crear un túnel por medio de SSH en Linux

Un túnel por SSH puede servir para muchas cosas, en mi caso yo lo uso para conectarme a la computadora del trabajo, o en el trabajo para poder llegar a ciertos servidores que solo se les puede llegar por medio de otro equipo.

Lo único que necesitamos es tener instalado una aplicación llamada sshuttle, que se puede descargar de acá: https://github.com/apenwarr/sshuttle

Si se descarga de está pagina tendrán los binarios necesarios para la ejecución del programa, si no también se puede instalar de los repositorios en caso de que se utilice un SO como Ubuntu, mediante el siguiente comando:
 sudo apt-get install sshuttle

Una vez instalada la aplicación se puede ejecutar la misma como un demonio con la siguiente sintaxis:
 /ruta_del_binario/sshuttle -r USUARIO_SERVIDOR_TUNEL@IP_SERVIDOR_TUNEL:PUERTO IP_DESTINO | RANGO_IPS_DESTINO -D
  • La opción "-r" indica que es hacia un servidor remoto
  • USUARIO_SERVIDOR_TUNEL se reemplaza por el usuario de ssh del servidor que va a funcionar de túnel
  • IP_SERVIDOR_TUNEL se reemplaza por la IP del servidor que se va a utilizar de túnel
  • PUERTO el puerto de SSH del servidor, por lo general el 22, pero puede ser otro
  • IP_DESTINO | RANGO_IPS_DESTINO se escribe la IP del equipo remoto al que se quiere llegar o atravesar por el túnel, o el rango de IPs esto asignando un /0 /8 /16 /24 al final de la IP
  • La opción "-D" se utiliza para que el sshuttle se ejecute como demonio
  • (Opcional) como opción opcional se puede utilizar el "-x" seguido de un espacio y la IP o rango de IPs(con formato /8 /16 /24) para excluir dichas IPs de utilizar el túnel SSH

Por ejemplo:
 sshuttle -r jonathan@74.125.24.99:22 0.0.0.0/0 -x 192.168.1.0/24 -x 10.0.0.0/8 -x 201.200.105.6 -D

En este ejemplo todo el tráfico(0.0.0.0/0) pasa por el servidor 74.125.24.99:22 excluyendo el rango de IPs que comiencen con 192.168.1 (192.168.1.0/24), además también excluye el rango de IPs que comiencen con 10 (10.0.0.0/8) y la IP 201.200.105.6, además de esto corre en el background como un demonio ("-D").

Lo que hago para no tener que escribir todas estas reglas cada vez que lo utilizo, es que lo escribo en script de bash y lo modifico cada vez que necesito agregar exclusiones.

*NOTA: El sshuttle, requiere el usuario de root para su ejecución en el equipo local

[Túnel SSH] Crear un túnel por medio de SSH en Windows

Un túnel por SSH puede servir para muchas cosas, en mi caso yo lo uso para conectarme a la computadora del trabajo, o en el trabajo para poder llegar a ciertos servidores que solo se les puede llegar por medio de otro equipo. Lo único que se necesita para realizar esto en Windows es un cliente de SSH llamado PuTTY. Para descargarlo pueden hacerlo de la siguiente página: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
*Esta aplicación no necesita instalarse, es portable. También existe un PuTTY en linux, pero hay una mejor forma de lograr esto en linux

Lo primero que se debe hacer es ingresar a la parte de "Session" y agregar la IP del equipo que vamos a utilizar de túnel o proxy con el respectivo puerto que utiliza para ssh (Por defecto es el 22). Se escoge la opción de SSH, y se le asigna un nombre en el campo de texto debajo de "Saved Sessions", en este ejemplo se le nombró "PROXY" y se le da clic a "Save" para guardar estos datos de conexión:

Seguidamente, le damos load si ya teniamos guardada la sesión o simplemente continuamos, se expanden las opciones de la izquierda de "Connection", expanden además "SSH" y se le da clic a la opción "Tunnels", en esta sección se deberá agregar los puertos con las direcciones destino:
Entonces supongamos que se quiere llegar a un equipo 192.168.1.100 por medio de escritorio remoto, entonces agregamos en esta sección de "Tunnels", el "Source port" sería cualquier puerto que tengamos disponible en ese momento, para el ejemplo el 2115, y el "Destination" que sería la IP a la que queremos llegar, en este caso 192.168.1.100:3389, se agregó ":3389" ya que este es el puerto que utiliza por defecto el Remote Desktop. Ya cuando definimos esto se le da clic a "Add", y si se quieren guardar los cambios se van a "Session" en donde se hizo el primer paso y se le da nuevamente clic al botón "Save".
Aprovechando que estamos en "Session", le damos open y nos logueamos al equipo que nos sirve de túnel

Por último para utilizarlo con el equipo de túnel logueado, abrimos el cliente de escritorio remoto y en la dirección del equipo ponemos localhost:2115 que fue el puerto que se asignó a ese tunel.
Si se quiere agregar más equipos a este mismo túnel se repite el paso 2 de agregar puertos a este túnel.

Muchas gracias a mi hermano Fabio Chavarría por explicarme como hacer esto en Windows

lunes, 9 de diciembre de 2013

[SOLARIS] Comando para ver información del sistema

Otra entrada vieja de mi wiki, que me es útil de vez en cuando, no me encuentro con equipos solaris muy a menudo jeje
Comando:

 /usr/platform/`uname -i`/sbin/prtdiag

Ejemplo de output del comando:
 System Configuration: Sun Microsystems  sun4u Sun Fire V210
System clock frequency: 167 MHZ
Memory size: 2GB        

==================================== CPUs ====================================
              E$          CPU                    CPU
CPU  Freq      Size        Implementation         Mask    Status      Location
---  --------  ----------  ---------------------  -----   ------      --------
0    1002 MHz  1MB         SUNW,UltraSPARC-IIIi    2.4    on-line     MB/P0
1    1002 MHz  1MB         SUNW,UltraSPARC-IIIi    2.4    on-line     MB/P1

================================= IO Devices =================================
Bus     Freq  Slot +      Name +
Type    MHz   Status      Path                          Model
------  ----  ----------  ----------------------------  --------------------
pci     66    MB          pci108e,1648 (network)                           
              okay        /pci@1f,700000/network@2

pci     66    MB          pci108e,1648 (network)                           
              okay        /pci@1f,700000/network@2,1

pci     33    MB          isa/su (serial)                                  
              okay        /pci@1e,600000/isa@7/serial@0,3f8

pci     33    MB          isa/su (serial)                                  
              okay        /pci@1e,600000/isa@7/serial@0,2e8

pci     33    MB          isa/rmc-comm-rmc_comm (seria+                    
              okay        /pci@1e,600000/isa@7/rmc-comm@0,3e8

pci     33    MB          pci10b9,5229 (ide)                               
              okay        /pci@1e,600000/ide@d

pci     66    MB          scsi-pci1000,21 (scsi-2)                         
              okay        /pci@1c,600000/scsi@2

pci     66    MB          scsi-pci1000,21 (scsi-2)                         
              okay        /pci@1c,600000/scsi@2,1

pci     66    MB          pci108e,1648 (network)                           
              okay        /pci@1d,700000/network@2

pci     66    MB          pci108e,1648 (network)                           
              okay        /pci@1d,700000/network@2,1


============================ Memory Configuration ============================
Segment Table:
-----------------------------------------------------------------------
Base Address       Size       Interleave Factor  Contains
-----------------------------------------------------------------------
0x0                1GB               4           BankIDs 0,1,2,3
0x1000000000       1GB               4           BankIDs 16,17,18,19

Bank Table:
-----------------------------------------------------------
           Physical Location
ID       ControllerID  GroupID   Size       Interleave Way
-----------------------------------------------------------
0        0             0         256MB           0,1,2,3
1        0             1         256MB           
2        0             1         256MB           
3        0             0         256MB           
16       1             0         256MB           0,1,2,3
17       1             1         256MB           
18       1             1         256MB           
19       1             0         256MB            

Memory Module Groups:
--------------------------------------------------
ControllerID   GroupID  Labels         Status
--------------------------------------------------
0              0        MB/P0/B0/D0    
0              0        MB/P0/B0/D1    
0              1        MB/P0/B1/D0    
0              1        MB/P0/B1/D1    
1              0        MB/P1/B0/D0    
1              0        MB/P1/B0/D1    
1              1        MB/P1/B1/D0    
1              1        MB/P1/B1/D1

[LINUX] Comando CHMOD para cambiar permisos

Esta entrada es viejita, pero siempre me recuerda como funcionan los permisos en sistemas UNIX, además que voy a dejar de pagar mi sitio y estoy re-escribiendo cosas de mi wiki jeje

Para cambiar el los permisos a uno o varios archivos, se ejecuta el comando chmod ### donde # son números del 1 al 7, y donde el primero representa los permisos del usuario, el segundo el grupo y el tercero representa a otros.

Estos valores son la suma de los siguiente permisos que se quieren asignar:
  • 1 ejecución
  • 2 escritura
  • 4 lectura 
Ejemplos:
Si se quiere asignar permisos de ejecución + escritura + lectura se asigna un 7:

 1   +    2    +    4   =   7

Si todos (usuario, grupo y otros) tienen permiso a ejecución + escritura + lectura entonces se ejecuta el comando:

 chmod 777 nombre_archivo 

*Nota: nunca deberían de utilizar permisos 777 sobre ficheros importantes, quieren simplificar la administración y darle permisos a todos, mejor usen Windows jeje

Si se quiere asignar permisos de ejecución + lectura se asigna un 5:

 1   +    4             =   5

Si el usuario tiene todos los permisos, el grupo y otros tienen ejecución + lectura entonces se ejecuta el comando:
 chmod 755 nombre_archivo

Para solo escritura 2:
 chmod 722 nombre_archivo

Además si desean realizar cambios en permisos sobre un directorio y todo su contenido simplemente agregan -R al comando:
 chmod -R 755 directorio 

martes, 9 de julio de 2013

[LINUX] Porcentaje de espacio reservado en disco para root

En Linux existe un espacio reservado en cada partición del disco duro, este espacio es reservado para procesos privilegiados para evitar la fragmentación del sistema de archivos y para permitir a algunos demonios de sistema, como el syslogd(8), continuar funcionando y escribiendo en disco correctamente después de que no se le permita escribir en el sistema de archivos a los procesos de usuarios no privilegiados.

También funciona para restaurar el sistema en caso de que los usuarios normales (no root) llenen el disco hasta un 100%, ya que si esto sucede ningún usuario puede iniciar sesión, con este porcentaje reservado se le permite al root ingresar y poder liberar o restaurar el sistema, y de no asignar este espacio, tampoco podrá iniciar sesión.

Para poder revisar el porcentaje de este espacio asignado en el sistema, se puede ejecutar el siguiente comando:

 dumpe2fs -h /dev/sda1 2> /dev/null | awk -F ':' '{ if($1 == "Reserved block count") { rescnt=$2 } } { if($1 == "Block count") { blkcnt=$2 } } END { print "Reserved blocks: "(rescnt/blkcnt)*100"%" }'


En donde /dev/sda1 se debe cambiar por la partición en la que queremos revisar este espacio reservado si el resultado de este comando es "Reserved blocks: -nan%", quiere decir que tiene 0% reservado, pero en el comando no se puede realizar la división entre ceros. 

Normalmente por defecto se le asigna 5% de espacio reservado de cada partición que se tenga. Como este valor fue asignado hace mucho tiempo, cuando los discos eran muy pequeños, en caso de tener un disco duro muy grande lo recomendado es cambiar este porcentaje ya que de lo contrario se estaría desperdiciando mucho espacio y en caso de tener que hacer una restauración no se va a utilizar un espacio tan grande para trabajar. 

Para discos duros de más de 1TB yo cambiaría el porcentaje a un 1%, que a mi parecer es más que suficiente para restaurar un sistema. 

Para cambiar la cantidad de espacio reservado por el sistema, y liberarnos bastante espacio para los archivos del sistema y demás, se puede ejecutar el siguiente comando como usuario root:

 tune2fs -m 0 /dev/sda1

En este caso se quitó totalmente el espacio reservado asignando 0% de espacio, este espacio puede variar según la necesidad del usuario, o el uso que se le de a la partición.

jueves, 13 de junio de 2013

[LINUX] Autenticación con SSH PKA, sin necesidad de escribir la contraseña

Esta información de como autenticar con ssh la saqué de una wiki de mi trabajo, que con el permiso de un compañero de trabajo (Luis González), tomé algunas cosas para transmitir esta utilidad.

"En condiciones de seguridad confirmada, es decir, que tenemos certeza y control de los equipos y del usuario que utilizamos para ingresar por medio de SSH, es posible modificar el método de autenticación con el demonio SSH. En algunos escenarios es útil basar la autenticación por medio de intercambio de llaves públicas, en inglés PKA (Public Key Authentication). Por ejemplo, para la ejecución de scripts automatizados y remotos es muy útil basar la autenticación por medio de la llave pública, de este modo se disminuye el tiempo de respuesta y la complejidad del script para interactuar con los elementos remotos."  Luis G.

Lo primero que debemos hacer es generar la llave en el equipo local y esto se puede lograr con el siguiente comando:

jonathan@xxxxxx:~$ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jonathan/.ssh/id_rsa): 
/home/jonathan/.ssh/id_rsa already exists.
Overwrite (y/n)? Y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/jonathan/.ssh/id_rsa.
Your public key has been saved in /home/jonathan/.ssh/id_rsa.pub.

Seguidamente debemos copiar esta llave al equipo remoto puede hacerse, sobreescribiendo el archivo de authorized_keys, si no se tiene ninguna otra llave, o con el siguiente comando:

scp -P $puerto_equipo remoto ~/.ssh/id_rsa.pub jonathan@$ip_equipo_remoto:.ssh/authorized_keys

Además se deben asegurar de que las carpetas de .ssh y el archivo de authorized_keys, tenga los permisos adecuados y que existan obviamente, si no existen se crean y probablemente se deba configurar el sshd:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Ahora debería de poderse conectar mediante ssh sin necesidad de digitar la contraseña:

Si por alguna razón nos da un error con el siguiente texto: 
"Agent admitted failure to sign using the key." entonces, ejecutamos el siguiente comando:
 
ssh-add

jueves, 16 de mayo de 2013

[SMPP] Tiempo de expiración de los mensajes

Tiempo de expiración Relativo

Consta del tiempo de expiración que tiene el mensaje una vez que llega al SMSC.
Se descompone de "YYMMDDHHMISS000R" donde:
  • YY = Años
  • MM = Meses
  • DD = Días
  • HH = Horas
  • MI = Minutos
  • SS = Segundos
  • 000R = Se dejan estos campos en "0" y con una "R" al final para indicar que es expiración relativa a la llegada del mensaje al SMSC.

Ejemplos

  • 020610233429000R = 2 años, 6 meses, 10 días, 23 horas, 34 minutos, 29 segundos a partir de la hora del SMSC.
  • 000000000100000R = 1 minuto a partir de la hora de la llegada al SMSC.
  • 000000010000000R = 1 hora a partir de la hora de la llegada al SMSC. 


Para obtener un poco más de información pueden visitar este enlace. Es un foro en inglés que habla sobre este tema.