Clicky

Instalar Skipfish en Centos 6

Escáner de seguridad para sitios web

skipfishSkipfish es un software libre, escáner de seguridad totalmente automatizado de aplicaciones web que es muy fácil de configurar y usar, incluso para principiantes con pequeños conocimientos de Linux. Lo que hace único a Skipfish es que es muy rápido, generando toda una larga lista impresionante de errores comunes de seguridad de programación web, y algunas especies más exóticas de gusanos. (La documentación oficial de instalación se encuentran en http://code.google.com/p/skipfish/wiki/SkipfishDoc)

En primer lugar, instala los requisitos previos:

# yum install gcc openssl-devel libidn libidn-devel

Nosotros vamos a instalar Skipfish en una carpeta a la que tengamos acceso desde internet para luego poder ver los resultados del análisis en HTML. Como en esta prueba analizaré Vista al Mar, abriremos una consola de SSH para acceder al servidor y nos dirigiremos a la carpeta public_html (en otras instalaciones de Centos puede estar en /www o /var/html/www) y creamos una carpeta llamada skipfish:

# cd /home/vistaalmar/public_html

crearemos la carpeta:

# mkdir skipfish

Obtener e instalar Skipfish (la última versión se puede obtener de https://code.google.com/p/skipfish/downloads/list) :

# cd skipfish

# wget http://skipfish.googlecode.com/files/skipfish-2.07b.tgz

# tar -zxf ./skipfish-2.07b.tgz

# cd skipfish-2.07b

# make

Esta es la salida:

cc -L/usr/local/lib/ -L/opt/local/lib skipfish.c -o skipfish
-O3 -Wno-format -Wall -funsigned-char -g -ggdb
-I/usr/local/include/ -I/opt/local/include/ -DVERSION=\"2.07b\" \
http_client.c database.c crawler.c analysis.c report.c checks.c -lcrypto -lssl -lidn -lz
http_client.c: In function 'check_ssl': http_client.c:1909:
warning: assignment discards qualifiers from pointer target type See dictionaries/README-FIRST to pick a dictionary for the tool. Having problems with your scans? Be sure to visit: http://code.google.com/p/skipfish/wiki/KnownIssues

Usando Skipfish

En primer lugar, copiaremos el archivo de diccionario complete.wl a una lista de palabras de pruebas específicas para su uso. La razón por la que quieres hacer esto es que Skipfish va a modificar la lista de palabras sobre una base específica del sitio, y es probable que desees conservar el archivo original para la próxima vez que se ejecute en un sitio nuevo:

# cp dictionaries/complete.wl ./testsite.wl

Crearemos un directorio para la salida del scanner:

# mkdir testsite

Lanzamos el programa (ojo consume muchos recursos del servidor, así que hacerlo en una hora con poco tráfico o poner la opción más lento):

# ./skipfish -o ./testsite http://www.vistaalmar.es/

Esta es la salida (tarda dos minutos y medio para este site y el load average del servidor sube bastante):

skipfish version 2.07b by <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>
[!] WARNING: Wordlist '/dev/null' contained no valid entries. Welcome to skipfish.
Here are some useful tips: 1) To abort the scan at any time, press Ctrl-C. A partial report will be written
to the specified location. To view a list of currently scanned URLs, you can
press space at any time during the scan. 2) Watch the number requests per second shown on the main screen. If this figure
drops below 100-200, the scan will likely take a very long time. 3) The scanner does not auto-limit the scope of the scan; on complex sites, you
may need to specify locations to exclude, or limit brute-force steps. 4) There are several new releases of the scanner every month. If you run into
trouble, check for a newer version first, let the author know next. More info: http://code.google.com/p/skipfish/wiki/KnownIssues Press any key to continue (or wait 60 seconds)... skipfish version 2.07b by <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.> - www.vistaalmar.es - Scan statistics: Scan time : 0:02:31.037
HTTP requests : 217274 (1438.5/s), 111030 kB in, 84456 kB out (1294.3 kB/s)
Compression : 58041 kB in, 100066 kB out (26.6% gain)
HTTP faults : 0 net errors, 0 proto errors, 0 retried, 0 drops TCP handshakes : 73 total (2976.4 req/conn)
TCP faults : 0 failures, 0 timeouts, 9 purged External links : 16529 skipped Reqs pending : 0 Database statistics: Pivots : 3426 total, 3426 done (100.00%)
In progress : 0 pending, 0 init, 0 attacks, 0 dict
Missing nodes : 127 spotted
Node types : 1 serv, 2581 dir, 62 file, 9 pinfo, 22 unkn, 689 par, 62 valll
Issues found : 3937 info, 254 warn, 2140 low, 335 medium, 180 high impact
Dict size : 1767 words (1767 new), 11 extensions, 256 candidates [+] Copying static resources...
[+] Sorting and annotating crawl nodes: 3426
[+] Looking for duplicate entries: 3426
[+] Counting unique nodes: 538
[+] Saving pivot data for third-party tools...
[+] Writing scan description...
[+] Writing crawl tree: 3426
[+] Generating summary views...
[+] Report saved to './testsite/index.html' [0xf13c4856].
[+] This was a great day for science!

Que nos genera un archivo html llamado index.html y lo podemos ver en un navegador (mejor con Opera, Safari, Firefox o Chrome):

http://www.vistaalmar.es/skipfish/skipfish-2.07b/testsite/index.html

skipfish resultado en el navegador

Jesus_Caceres