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: 11.056 ]
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
Segurança no SSH via plugins da PAM
Instalando Snort e Guardian no Slackware
PHLAK :: [P]rofessional [H]acker's [L]inux [A]ssault [K]it
Tor e Hidden Service Protocol - Explicando tecnicamente a "Deep Web"
Aquisição Estática de Dados em Computação Forense
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Epson Scan 2 via flatpak não digitaliza (0)
É o fim da produção de hollywood e da netflix... (2)









