Mantén Seguro tu PC bloqueando estas IP

Es inevitable permanecer seguros hoy en día, cada día enfrentamos nuevos desafíos y nuevas formas en caer para secuestrar un equipo y/o información que tengamos. Los delincuentes hoy en día nunca paran de buscar nuevas formas de conseguir mas publico.

Sin embargo nosotros los usuarios tenemos la responsabilidad de mantenernos informados y agregar las defensas necesarias para no caer en la trampa.

Hoy les comparto un pequeño Script en Windows para bloquear las IP maliciosas a la fecha que se pueden bloquear, ya que dichas IPs fueron catalogadas como IPs para uso malicioso. De esta manera agregamos un defensa adicional independientemente de cualquier App de seguridad poseas instalado o para aquellas personas que no usan App adicionales de Firewall y Antivirus como yo, es genial.

El Script es bastante sencillo, solo bloquea la entrada y salida que intente conectar a esas IPs, asi que cualquier URL que accidentalmente hagamos click se bloquea inmediatamente. Esto lo logra agregando reglas en el Firewall de Windows. Actualmente fue probado en Windows 10 y sin ningún tipo de problema. Aclaro que esto es una capa adicional a tus medidas de seguridad, esto no reemplaza al Antivirus o Firewall que poseas.

Para empazar debemos permitir la ejecución de Script en Windows 10, para ello tenemos que abrir la consola PowerShell en modo administrador y ejecutar:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

De esta manera se permite la ejecución de Script en Windows y ahora debemos descargar el siguiente Script, si por alguna razón la pagina no se encuentra disponible comparto el Script:

# Script by Kevin Feenstra (Kevin@remixed.nl)
# Please keep in mind that this script isn't a replacement for antivirus software or a firewall appliance!
# This script is a extra layer of defense by blocking inbound and outbound traffic to your computer based on malicious ip lists

# Feedback? or just happy with my script, please let me know; kevin@remixed.nl


#Retrieve IP Blacklist from malc0de and safe copy daily (if you don't want to keep track of your list changes don't set the date in the filename).
#You might want to change the destination folder.
$SetDate = Get-Date -format "yyyyMMdd"
$source = "http://malc0de.com/bl/IP_Blacklist.txt"
$destination = "c:\temp\IP_blacklist_$SetDate.txt" 
Invoke-WebRequest $source -OutFile $destination

#regex to make sure we only retrieve the ip's from the file
$regex = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"
$maliciousIPs = get-content -Path $destination | Select-String $regex
$maliciousIPs.count

#Create outbound rules for all ip's in blacklist


foreach ($maliciousIP in $maliciousIPs){
    #Checking if rule is exists
    $counterob++
    Write-Progress -Activity 'Processing IPs outbound' -CurrentOperation $maliciousIP -PercentComplete (($counterob / $maliciousIPs.count) * 100)
    $checkrule = Get-NetFirewallRule -Name "Network Security Outbound Blacklist $maliciousIP" -erroraction 'silentlycontinue'
    if ($checkrule -ne $Null) {Write-Host "Rule exists, skipping " -nonewline; Write-Host "$maliciousIP" -foregroundcolor green -backgroundcolor black -nonewline; Write-Host " !!"}

        #create rule
        else {
        Write-Host "Creating new rule for " -nonewline; Write-Host "$maliciousIP" -foregroundcolor red -backgroundcolor yellow -nonewline; Write-Host " !!"
        New-NetFirewallRule -Name "Network Security Outbound Blacklist $maliciousIP"  -Description "Block outbound traffic to malicious IP's" -Profile Any -Direction Outbound -Action Block -DisplayName "Network Security Outbound Blacklist $maliciousIP" -Group "NSOB" -RemoteAddress $maliciousIP}
}


#Create inbound rules for all ip's in blacklist

foreach ($maliciousIP in $maliciousIPs){
    #Checking if rule is exists
    $counterib++
    Write-Progress -Activity 'Processing IPs inbound' -CurrentOperation $maliciousIP -PercentComplete (($counterib / $maliciousIPs.count) * 100)
    $checkrule = Get-NetFirewallRule -Name "Network Security Inbound Blacklist $maliciousIP" -erroraction 'silentlycontinue'
    if ($checkrule -ne $Null) {Write-Host "Rule exists, skipping " -nonewline; Write-Host "$maliciousIP" -foregroundcolor green -backgroundcolor black -nonewline; Write-Host " !!"}

        #create rule
        else {
        Write-Host "Creating new rule for " -nonewline; Write-Host "$maliciousIP" -foregroundcolor red -backgroundcolor yellow -nonewline; Write-Host " !!"
        New-NetFirewallRule -Name "Network Security Inbound Blacklist $maliciousIP"  -Description "Block inbound traffic to malicious IP's" -Profile Any -Direction inbound -Action Block -DisplayName "Network Security Inbound Blacklist $maliciousIP" -Group "NSIB" -RemoteAddress $maliciousIP}
}



#Failsafe: uncomment rules to delete rules created by this script
# Delete inbound Blacklist rules
#Get-NetFirewallRule -group NSIB | Remove-NetFirewallRule
# Delete outbound Blacklist rules
#Get-NetFirewallRule -group NSOB | Remove-NetFirewallRule

Y no olviden bloquear nuevamente la ejecución de Scripts en Windows 10:

Set-ExecutionPolicy -ExecutionPolicy Restricted

Ubuntu en Windows 10

Anteriormente hablábamos de Kalilinux en Windows 10 y el uso WSL de Windows 10 ahi mostramos como ejecutar un Escritorio completo por medio de Escritorio Remoto o Remote Desktop, de esta manera poder hacer uso de aplicaciones con GUI y realizar la mayoría de las actividades y ahorrar la ejecución de una maquina virtual con las ventajas que eso conlleva.

Hoy mostrare como realizar exactamente el mismo procedimiento aplicado en KaliLinux pero con Ubuntu y están simple como ejecutar el siguiente script:

 

sudo apt-get update
sudo apt-get install -y xfce4 xorg xrdp
sudo sed -i s/port=3389/port=3390/g /etc/xrdp/xrdp.ini

 

Por ultimo, ejecutamos sudo /etc/init.d/xrdp start para uniciar el demonio para podernos conectar por escritorio remoto. Finalmente ejecutamos Escritorio Remoto de Windows que tanto conocemos con la ip 127.0.0.01:3390 y ya esta.

Escritorio Remoto
Escritorio Remoto con la IP 127.0.0.1:3390

Y es todo amigos, solo recuerden detener el demonio una vez que terminen de usarlo con: sudo /etc/init.d/xrdp stop