Mostrando las entradas con la etiqueta nmap. Mostrar todas las entradas
Mostrando las entradas con la etiqueta nmap. Mostrar todas las entradas

sábado, 1 de febrero de 2014

Analizar sitios web con Linux parte 1

Comenzamos con los tutoriales de pentest,en este sitio nunca he hablado de estas practicas y no lo hare mucho,pero ya no se me ocurre de que escribir :P,no no es cierto tenemos los tutoriales de Java,PythonGtk,Lua,Shell,Sqlite shell,pero bueno voy a meterme un poco en esto y iremos aumentando la "dificultad" con el tiempo.

Bien vamos a comenzar con lo sencillo lo que ya esta creado,en esta ocasión vamos a hablar de escaneres web no simplemente escaneres como tal ya que esto desarrolla muchas ramas de lo mismo,desde un simple ping para ver si el sitio esta online hasta WebCrawlers,como dije vamos a comenzar con lo sencillo, recolección de información desde analisis .

Bien vamos a comenzar por lo sencillo ya que hay algunos servicios que personas desconocen como por ejemplo whois:

Whois:

WHOIS es un protocolo TCP basado en petición/respuesta que se utiliza para efectuar consultas en una base de datos que permite determinar el propietario de un nombre de dominio o una dirección IP en Internet.

Mas finformacion : Wikipedia

Para usar whois es tan simple como abrir una terminal:

En Ubuntu(Ctrl+Alt+T) y teclear:

whois sitio

Por ejemplo

whois itimetux.com
Tenemos varias opciones por ejemplo:

--verbose # Para que se vea mejor
-p # Conectarnos a un puerto
-h # Lo normal,conectarnos a un host
-H # Esconder avisos legales

Entre otras cosas,mas info:

whois --help
Como todo esto se hace desde la shell podemos hacer filtrado,por ejemplo podemos ver información del Admin:

whois wikipedia.org | grep Admin



Whatweb:

Ahora vamos a usar whatweb,whatweb es un escaner de nueva generacion muy pero muy potente que muestra desde el nombre de la pagina hasta el nombre del servidor,la ip,el cms.

Para usar :

whatweb url

Por ejemplo:

whatweb --verbose itimetux.com

Tenemos algunas opciones:

--proxy # Para usar proxy

--max-redirects=num # Numero maximo de redirecciones ya que hay paginas que redirigen,por defecto es 10

-U=AGENT # Cambiar el agente con el que "visitamos" la pagina

Mas info:

whatweb --help



Nmap:

Nmap es un programa de código abierto que sirve para efectuar rastreo de puertos escrito originalmente por Gordon Lyon (más conocido por su alias Fyodor Vaskovich). Se usa para evaluar la seguridad de sistemas informáticos, así como para descubrir servicios o servidores en una red informática.

Mas informacion : Wikipedia

Nmap tiene opciones como:

 -A # Detectar el sistema operativo

-v # Para que se vea mejor

--spoof-mac # Suplantar la MAC

 -p  # Especificar puerto
Mas info:

nmap --help
La que mas nos interesa es -sV que es para detectar los puertos abiertos del sitio,la sintaxis es:

nmap -sV sitio-o-ip
Por ejemplo:

nmap -sP itimetux.com

Si queremos ver mediante la ip,usamos whatweb para obtenerla:


 whatweb itimetux.com --verbose  2> /dev/null | grep 

Como ven hasta tengo disponible https :P,pero algunos sitios tienen hasta ssh,etc.


Eso es todo por esta entrada,no explique muy bien pero así serán estas entradas,investiguen un poco mas sobre las tres herramientas.




Leer más...

jueves, 13 de septiembre de 2012

Ver que puertos tenemos abiertos y cerrarlos en Linux/Unix

Los puertos de informática son muy muy importantes,tanto que por ahi podrian hackearnos, en la informática existen mas de 1000 puertos y mas sobre cada sistema,por ejemplo en el iPhone o iOS existe el puerto iphone-sync que es el 62078,el mas básico o conocido puede ser 22 SSH o 80 http, que deben haberlos oído por ahí,el 21 ftp,el 3306 mysql,etc

El hecho es que estos puertos nos podrían constar mucho tenerlos abiertos,por ejemplo en el iOS existe openSSH y si lo tenemos abierto por defecto solo bastaría tener nuestra ip y nos hackeaban porque la mayoria de los usuarios del iOS no cambian el pass de root que es alpine,de esa misma manera en Linux si tenemos abierto el ssh y consiguen nuestra ip y nos adivinan la contraseña  acceden a nuestro sistema,por el 80 hay exploits para apache,etc

Tutorial 

Para saber que puertos tenemos abiertos necesitamos nmap

Instalamos

Ubuntu/derivados

sudo apt-get install nmap

FreeBSD

sudo pkg_add -rv nmap

openSUSE

sudo zypper in nmap

Archlinux

sudo pacman -S nmap

Googlen para su distribucion si no la inclui

2.Escaneamos

nmap localhost

Por ejemplo ami me sale esto

Starting Nmap 5.21 ( http://nmap.org ) at 2012-09-13 14:46 CDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0023s latency).
Not shown: 995 closed ports

PORT     STATE SERVICE
21/tcp   open  ftp
80/tcp   open  http
3306/tcp open  mysql
etc
etc

Si queremos filtrar los resultados usen este comando

nmap localhost | grep open

y se iltraran los resultados

21/tcp   open  ftp
80/tcp   open  http
3306/tcp open  mysql
etc
etc

Para cerrarlos usamos este comando

sudo fuser -k puerto

ejemplo

sudo fuser -k 80/tcp 

Algunos puertos no los podemos cerrar con este comando porque necesitamos hacerlo desde su misma linea de ordenes ¡pero la mayoría si!

De hecho cree este script en bash para cerrarlos facilmente


#!/bin/bash

# Programador : Tiempo de Tux
# Pagina web : www.itimetux.com
# Depende:fuser,nmap,zenity
# Probado → Ubuntu 12.04,11.10,openSUSE 12.1,Archlinux,FreeBSD(modificando el hasbang),Mint 13

echo -e "\e[1;35mBuscando lo necesario\e[0m"

# Verificando todo lo necesario

nonmap="Error no tienes nmap instalado :("
nozenity="Error no tienes zenity instalado :("
nofuser="Error no tienes fuser instalado :("

# Verificando con las variables lo necesario(puedes borrar desde Verificando todo lo necesario hasta principal cuando instales lo necesario)

# zenity

which zenity
if [ ! $? = 0 ]; then
   echo "$nozenity" > /tmp/error-notfound
   xdg-open /tmp/error-notfound
   exit
fi

# nmap

which nmap
if [ ! $? = 0 ]; then
   echo "$nonmap" > /tmp/error-notfound
   xdg-open /tmp/error-notfound
   exit
fi

# fuser

which fuser
if [ ! $? = 0 ]; then
   echo "$nofuser" > /tmp/error-notfound
   xdg-open /tmp/error-notfound
   exit
else
echo -e "\e[1;35mListo\e[0m"
fi

# Principal

err="No seleccionaste ningun puerto"

# Pipe principal con verificacion de argumentos

puer=`nmap localhost | grep open | zenity --list --column="Puertos Abiertos"`
if [ ! $? = 0 ]; then
   echo -e '\e[0;31mError no se seleccion ningun puerto\e[0m'
   exit
fi

# Bucle principal

for puertos in $puer
do

if [ $# -ne 1 ]

then

# Filtrando los resultados

var1=`echo $puertos | grep tcp && echo $puertos | grep udp`

echo $var1

# Mostrando puerto elegido en la consola

echo -e "\e[1;35mElegido puerto $var1\e[m"

echo "Cerrar Si/No"

echo -e '\e[0;31m# Nesesitas privilegios de root\e[0m'

read option

# Leer respuesta

case $option in

si|Si|SI)

# Cerrar puerto

sudo fuser -k $var1

exit 3;
;;

no|No|NO)

# Salir

exit 1;
;;
esac

else 

exit 0;

fi

done


# Fin del codigo :D

Da uno que otro error porque lo acabo de crear pero lo editare cuando tenga tiempo y de hecho ya se cuales son los problemas xD




Si tenemos puertos abiertos muy extraños o no los conocemos googlen para que sirven,o vean los servicios de mismo Unix

less /etc/services

Aquí un vídeo de como explotan windows mediante un puerto abierto




Y algo parecido nos puede pasar en Linux si tenemos puertos abiertos,bueno tenemos que tenerlos abiertos por algo y en Linux entraría la cuestión de iptables,pero lo que recomiendo es que si no los usan cierrenlos


Eso es todo

Leer más...