Knockd (bate, bate, bate na porta do céu)
Knockd é um servidor port-knock. Ele escuta todo o tráfego em uma interface Ethernet (ou PPP), procurando por "batidas" sequências de requisições. Um cliente faz requisições para o servidor enviando um pacote TCP (ou UDP) para uma porta no servidor.
[ Hits: 10.929 ]
Por: Bruno Viana em 08/05/2017 | Blog: https://myshell.blog
function printUsage() {
echo ""
echo "$(basename "$0") -s Server_Knockd -p PORTA1 PORTA2 PORTA2 -P Pora_ssh_diferente"
echo "$(basename "$0") -s 192.168.0.222 -p 7000 8000 9000 -P 2222"
echo ""
echo "-s ou --host: Especifica o servidor alvo"
echo "-p ou --port: Especifica as portas para batida (knock)"
echo "-P ou --port-ssh: Especifica as porta padrão, se nada for passado sera usado as padrão (22)"
echo ""
exit
}
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ] || [ -z "$5" ] || [ -z "$6" ];then
printUsage
fi
while true ;do
case "$1" in
-s | --host) ip="$2"; shift 2 ;;
-p | --port) porta0="$2"
porta1="$3"
porta2="$4"
shift 4 ;;
-P | --port-ssh) portaSSH="$2"; shift 2 ;;
-h | --help) printUsage ; exit ;;
*) break ;;
esac
done
function verificaPorta() {
for port in "$porta0" "$porta1" "$porta2"; do
if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ];then
echo "A porta deve ser um numero entre 1 e 65535"
printUsage
fi
done
}
function testaSSH() {
timeout 1 bash -c "echo > /dev/tcp/$ip/$1"
}
function openClose() {
for i in "$porta0" "$porta1" "$porta2"; do
echo > /dev/tcp/"$ip"/"$i"
sleep 2
done
}
function main() {
verificaPorta
openClose
test -z "$portaSSH" && testaSSH 22
test -n "$portaSSH" && testaSSH "$portaSSH"
}
#! /bin/bash
# Knock Open Close 0.1
# @Author: Bruno Viana
function printUsage() {
echo ""
echo "$(basename "$0") -s Server_Knockd -p PORTA1 PORTA2 PORTA2 -P Pora_ssh_diferente"
echo "$(basename "$0") -s 192.168.0.222 -p 7000 8000 9000 -P 2222"
echo ""
echo "-s ou --host: Especifica o servidor alvo"
echo "-p ou --port: Especifica as portas para batida (knock)"
echo "-P ou --port-ssh: Especifica as porta padrao, se nada for passado sera usado as padrao (22)"
echo ""
exit
}
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ] || [ -z "$5" ] || [ -z "$6" ];then
printUsage
fi
function openClose() {
for i in "$porta0" "$porta1" "$porta2"; do
echo > /dev/tcp/"$ip"/"$i"
sleep 2
done
}
function testaSSH() {
timeout 1 bash -c "echo > /dev/tcp/$ip/$1"
}
function verificaPorta() {
for port in "$porta0" "$porta1" "$porta2"; do
if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ];then
echo "A porta deve ser um numero entre 1 e 65535"
printUsage
exit
fi
done
}
while true ;do
case "$1" in
-s | --host) ip="$2"; shift 2 ;;
-p | --port) porta0="$2"
porta1="$3"
porta2="$4"
shift 4 ;;
-P | --port-ssh) portaSSH="$2"; shift 2 ;;
-h | --help) printUsage ; exit ;;
*) break ;;
esac
done
function main() {
verificaPorta
openClose
test -z "$portaSSH" && testaSSH 22
test -n "$portaSSH" && testaSSH "$portaSSH"
}
main
# End of scrpit
Kali On The Box - Colocando o Kali para rodar no Raspberry Pi
IDS com Debian 4, Snort 2.8.3.1 e BASE 1.4.1
Instalando Snort e Guardian no Slackware
Instalação do Comodo Antivirus para Linux (CAVL) resolvendo o problema de dependências
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
archlinux resolução abaixou após atualização (16)
Conselho distribuiçao brasileira (7)
Não consigo instalar distro antiga no virtualbox nem direto no hd (33)









