Script getIblockListByCategory.sh – Obtener listas iBlockLists en categorias



  • Hola.

    getIblockListByCategory.sh , un shell script testeado en pfSense 2.3.2_1, para descargar las listas (no de pago) de IblockLists en ficheros gz con el nombre de la categoria (spyware.gz, webexploit.gz, etc)

    Se aloja en un directorio (por ejemplo /scripts) y se ejecuta con

    sh /scripts/getIblockListByCategory.sh
    

    Y el script descarga los ficheros en  /tmp/iblocklist/

    [2.3.2-RELEASE][root@pfSense232a.localdomain]/scripts: ls -l /tmp/iblocklist/                  total 7188
    -rw-r--r--  1 root  wheel     5052 Nov 20 00:01 DROP.gz
    -rw-r--r--  1 root  wheel       80 Nov 19 23:01 HOSTS.gz
    -rw-r--r--  1 root  wheel    67690 Nov 20 02:02 Malicious.gz
    -rw-r--r--  1 root  wheel    12946 Nov 19 19:07 Microsoft.gz
    -rw-r--r--  1 root  wheel      231 Nov 19 19:50 Palevo.gz
    -rw-r--r--  1 root  wheel   178438 Nov 19 15:00 Pedophiles.gz
    -rw-r--r--  1 root  wheel      769 Nov 20 09:15 SpyEye.gz
    -rw-r--r--  1 root  wheel     1698 Nov 19 15:20 ZeuS.gz
    -rw-r--r--  1 root  wheel    47520 Nov 19 19:48 ads.gz
    -rw-r--r--  1 root  wheel   114074 Nov 20 03:01 adservers.gz
    -rw-r--r--  1 root  wheel   445274 Nov 19 19:45 badpeers.gz
    -rw-r--r--  1 root  wheel    18010 Nov 19 16:11 bogon.gz
    -rw-r--r--  1 root  wheel    46173 Nov 20 13:30 cruzitwebattacks.gz
    -rw-r--r--  1 root  wheel      625 Nov 19 19:43 dshield.gz
    -rw-r--r--  1 root  wheel   758263 Nov 19 20:06 edu.gz
    -rw-r--r--  1 root  wheel     3946 Nov 20 02:43 exclusions.gz
    -rw-r--r--  1 root  wheel      165 Nov 20 05:52 fornonlancomputers.gz
    -rw-r--r--  1 root  wheel     3432 Nov 19 20:04 forumspam.gz
    -rw-r--r--  1 root  wheel     3334 Nov 19 14:40 hijacked.gz
    -rw-r--r--  1 root  wheel      114 Nov 20 04:21 iana-multicast.gz
    -rw-r--r--  1 root  wheel      406 Nov 20 09:49 iana-private.gz
    -rw-r--r--  1 root  wheel      283 Nov 19 15:48 iana-reserved.gz
    -rw-r--r--  1 root  wheel  3665537 Nov 20 08:24 level1.gz
    -rw-r--r--  1 root  wheel  1321060 Nov 19 18:12 level2.gz
    -rw-r--r--  1 root  wheel   268600 Nov 19 20:35 level3.gz
    -rw-r--r--  1 root  wheel     2537 Nov 19 21:24 malc0de.gz
    -rw-r--r--  1 root  wheel       80 Nov 19 16:43 malwaredomainlist.gz
    -rw-r--r--  1 root  wheel    37023 Nov 19 23:13 proxy.gz
    -rw-r--r--  1 root  wheel     5314 Nov 20 03:35 rangetest.gz
    -rw-r--r--  1 root  wheel     9350 Nov 19 19:55 spider.gz
    -rw-r--r--  1 root  wheel    50334 Nov 20 04:36 spyware.gz
    -rw-r--r--  1 root  wheel    19784 Nov 20 02:37 webexploit.gz
    

    El código:

    #!/bin/sh
    # getIblockListByCategory.sh
    # get iblocklist lists by Category
    # @javcasta - Javier Casta?non - https://javcasta.com/ - 2016
    
    if [ ! -d /tmp/iblocklist ]; then
     mkdir /tmp/iblocklist
    fi
    
    #categories
    for CATEGORY in `curl -s https://www.iblocklist.com/lists.php | egrep -A1 '>*' | cut -d '>' -f 5 | cut -d '<' -f 1`; do
    	CATEGORIES="${CATEGORIES} $CATEGORY"
    done
    
    J=1
    #download
    for NAME in `curl -s https://www.iblocklist.com/lists.php | egrep -A1 '>*' | egrep -o '[a-z]{20}'`; do
    	MYID='$'$J
    	#echo $J
    	CATEGORY=`echo ${CATEGORIES} | awk -F' -- ' "{ print $MYID }" | tr -d '[[:space:]]'`
    	echo $CATEGORY
    	J=$((J+1))
    	fetch -q -o /tmp/iblocklist/${CATEGORY}.gz "http://list.iblocklist.com/?list=${NAME}&fileformat=p2p&archiveformat=gz"
    done
    
    

    Salu2



  • Me funciona,  pero teniendo pfBlockerNG ya gestiono las listas block IPv4 por ese paquete,  pero siempre es bueno saber cómo se hacen "las cosas" ;D



  • Hola

    @iplost:

    Me funciona,  pero teniendo pfBlockerNG ya gestiono las listas block IPv4 por ese paquete,  pero siempre es bueno saber cómo se hacen "las cosas" ;D

    El script solo hace lo que dice: baja los ficheros de iblocklist nombrándolos por su categoria  :)
    Si se quisiera hacer todo el trabajo de bloqueo, luego habria que descomprimirlos y pasarlos a una tabla de ipfw o de pf … pero efectivamente, yo también me quedo con pfBlockerNG, hace ese trabajo de forma excelente.

    Pero como bien dices, si eres mecánico es bueno saber como funcionan los mecanismos y saber hacerlo de formas alternativas :)

    Salu2