Sobre la herramienta:
El proyecto Tor permite a los usuarios navegar por Internet, chatear y enviar mensajes instantáneos de forma anónima a través de un mecanismo propio. Es utilizado por una amplia variedad de personas, empresas y organizaciones, tanto para actividades lícitas como para otros fines ilícitos. Tor ha sido ampliamente utilizado por agencias de inteligencia, grupos de piratería, actividades delictivas e incluso usuarios comunes que se preocupan por su privacidad en el mundo digital.
Nipe es un motor, desarrollado en Perl, que tiene como objetivo hacer de la red Tor su puerta de enlace de red predeterminada. Nipe puede enrutar el tráfico desde su máquina a Internet a través de la red Tor, para que pueda navegar por Internet con una postura más formidable sobre la privacidad y el anonimato en el ciberespacio.
Actualmente, Nipe solo admite IPv4, pero están trabajando en una solución que agregue compatibilidad con IPv6. Además, solo el tráfico que no sean las solicitudes de DNS destinadas a direcciones locales y/o loopback no se trafica a través de Tor. Todo el tráfico UDP/ICMP no local también está bloqueado por el proyecto Tor.
Script:
#!/usr/bin/env perl
use 5.018;
use strict;
use warnings;
use Try::Tiny;
use lib "./lib/";
use Nipe::Engine::Stop;
use Nipe::Engine::Start;
use Nipe::Engine::Restart;
use Nipe::Utils::Status;
use Nipe::Utils::Helper;
use Nipe::Utils::Install;
sub main {
my $argument = $ARGV[0];
if ($argument) {
die "Nipe must be run as root.\n" if $> != 0;
my $commands = {
stop => "Nipe::Engine::Stop",
start => "Nipe::Engine::Start",
status => "Nipe::Utils::Status",
restart => "Nipe::Engine::Restart",
install => "Nipe::Utils::Install",
help => "Nipe::Utils::Helper"
};
try {
my $exec = $commands -> {$argument} -> new();
if ($exec ne "1") {
print $exec;
}
}
catch {
print "\n[!] ERROR: this command could not be run\n\n";
};
return 1;
}
return print Nipe::Utils::Helper -> new();
}
main();
exit;
# Descarga
$ git clone https://github.com/htrgouvea/nipe && cd nipe
# Instalación de librerías y dependencias
$ sudo cpan install Try::Tiny Config::Simple JSON
# Nipe debe de ser ejecutado como root
$ perl nipe.pl install
En primer lugar, usaremos el siguiente comando para clonar el repositorio de nipe y ubicarnos en la carpeta de la herramienta:
❯ git clone https://github.com/htrgouvea/nipe && cd nipe
Con el siguiente comando instalaremos las librerías y dependencias de la herramienta:
❯ sudo cpan install Try::Tiny Config::Simple JSON
Este proceso requerirá un poco de tiempo.
Cuando tengamos la instalación de las dependencias completa, procederemos a instalar la herramienta:
❯ sudo perl nipe.pl install
Uso:
COMMAND FUNCTION
install Install dependencies
start Start routing
stop Stop routing
restart Restart the Nipe circuit
status See status
Examples:
perl nipe.pl install
perl nipe.pl start
perl nipe.pl stop
perl nipe.pl restart
perl nipe.pl status
Ejecutando el script sin ninguna etiqueta, nos devolverá la ayuda de la herramienta en la que podremos comprobar el listado de comandos junto con una breve descripción .
❯ perl nipe.pl
Para comprobar el estado de la herramienta (Activado/Desactivado
) pondremos el siguiente comando, en este caso al no haber iniciado aún el script nos aparece disabled junto con nuestra IP pública como se muestra a continuación:
❯ sudo perl nipe.pl status
Iniciamos el script por primera vez y después comprobamos el estado, nos devolverá una nueva dirección
❯ sudo perl nipe.pl start
❯ sudo perl nipe.pl status
Accedemos a la web dnsleaktest para tener una doble confirmación de dicho cambio.
Podemos reiniciar el script tantas veces queramos, que nos cambiará la dirección:
❯ sudo perl nipe.pl restart