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
No hay comentarios.:
Publicar un comentario
Los comentarios serán revisados antes de ser publicados.