Pitão

Python para hackear, construir um scanner de porta

Python para hackear, construir um scanner de porta

Python para hackear: construir um scanner de portas em 13 linhas com Python

Tornar-se um testador de penetração não é apenas ser capaz de explorar determinado alvo instantaneamente.  Usar as ferramentas mais sofisticadas de outras pessoas não fará de alguém um grande hacker. Na verdade, aqueles que dependem de ferramentas geralmente são marcados como script kiddies. Cada área de especialização deve ter níveis, também é chamado de processo, sendo que a área de hacking não é a menos importante. Como diz a seguinte citação popular, “Nenhuma lenda nasceu, lendas são feitas”. Não se trata do talento de alguém, mas do conjunto de habilidades.

No artigo a seguir, aprenderemos sobre a implementação de uma linguagem de programação na área de hacking. Quem não conhece a linguagem de programação Python? Sim claro que voce ja sabe. Python é criado para fins gerais, como o desenvolvimento de aplicativos de desktop com sua GUI, desenvolvimento web e incluindo testes de invasão ou hacking. Python tem uma comunidade ativa (alguns deles são loucos, um.k.fanático) e python também tem módulos de biblioteca ricos.

Python também se tornou minha linguagem de programação favorita, pois eu conhecia o campo dos testes de penetração. Eu não amo isso simplesmente. No entanto, por alguma razão, em essência, python é uma linguagem de programação menos complexa e mais eficiente. O que quero dizer com isso é que está quase perto da linguagem humana, não é? De um ponto de vista novato como o meu, a taxa de legibilidade do Python é insana.

Ok, o suficiente para exagerar python. Agora vou explicar o ponto deste artigo. Aqui aprenderemos a criar um scanner de porta simples com detalhamento com apenas 13 linhas. (eu gosto de 13). Aqui não vamos bater o “rei do scanner de portas” NMap, em vez disso, o objetivo é entender como uma ferramenta funciona de forma a produzir o que queremos, neste caso para ver se as portas em um alvo estão abertos ou não. Por outro lado, existem outras vantagens, eu.e. quando em algum ponto nos deparamos com uma condição em que queremos fazer a varredura de portas do roteador que não consegue se conectar à Internet e não temos nenhuma ferramenta. Isso será mais fácil, é claro, se pudermos fazer o scanner de porta nós mesmos. Citação da citação acima. Acrescentei: “Hackers não usam ferramentas, eles criam ferramentas”

Vamos praticar, abra seu editor de texto favorito. Não perca seu tempo usando um IDE de alto desempenho para fazer scripts simples. Apenas seja eficiente. Eu prefiro Gedit, ao invés do editor de texto pré-construído Kali Linux, Leafpad. Por uma razão, o Gedit suporta o realce de cores para várias linguagens de programação. Digite o seguinte texto em seu editor de texto.

soquete de importação
meia = soquete.socket (socket.AF_INET, soquete.SOCK_STREAM)

Na linha 1, precisamos importar o socket do módulo para usar a função socket (). Na linha 2, criamos um objeto socket com a sintaxe:

tomada.socket (socket_family, socket_kind)

Socket_family poderia ser: AF_INET, AF_INET6, AF_UNIX, AF_NETLINK, AF_TIPC, AF_BLUETOOTH e AF_ALG.

Socket_kind opções são SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, etc. Nós usamos SOCK_STREAM porque vamos nos comunicar por meio do protocolo TCP.

Para saber mais sobre o módulo socket, visite a documentação oficial do socket em https: // docs.Pitão.org / 3 / library / socket.html

Vamos continuar o programa com as seguintes linhas:
https: // analytics.Google.com / analytics / web / # realtime / rt-content / a2559550w156331077p157923904 /

target = input (“[+] Insira o IP de destino:“)

Pedimos ao usuário para inserir um IP de destino, uma vez que estamos usando AF_INET para criar soquete.

scanner def (porta):
tentar:
meia.conectar ((destino, porta))
retornar verdadeiro
exceto:
retorna falso

Nas próximas linhas acima, definimos scanner () função. Dentro scanner () nós usamos tentar sintaxe para garantir que não lançamos nenhum erro se algum problema acontecer. Tentamos fazer uma conexão com o IP alvo e sua porta. A variável da porta é passada para a função conforme mostrado abaixo.

para portNumber no intervalo (1.100):
imprimir ("Porta de digitalização", número da porta)
se scanner (portNumber):
print ('[*] Port', portNumber, '/ tcp', 'está aberto')

Este loop for acima, é para iterar através de uma série de portas que iremos escanear. A sintaxe de alcance() função é, intervalo (começar de x, parar antes de x). Então, na linha 10, vamos escanear 100 portas, que é a porta 1 a 99. Usamos uma chamada de método de impressão para dizer qual porta está realmente sendo escaneada. Em seguida, retornamos o tipo booleano, verdadeiro ou falso. Ele chama nosso scanner () função que tenta fazer uma conexão à porta fornecida; se for retorna Falso (a tentativa de conexão falhou).  Se voltar Verdadeiro (conexão bem-sucedida) e vá para a próxima linha. Que exibe uma mensagem indicando que esta porta é Abrir. Este loop irá parar assim que digitalizarmos a porta 99.

Então, para finalizar, nosso scanner de código de porta de 13 linhas deve ser assim:

Tudo bem agora é hora de testar, vamos ver como funciona. Salve-o como scanner.py. No caso de procurarmos por nossas próprias portas abertas do roteador no intervalo entre 1 e 99. Acredite em mim, isso não será nada sofisticado em comparação com o NMap, concentre-se apenas em nosso objetivo que mencionei acima.

IP alvo: 192.168.1.1

A sintaxe para chamar scanner.py é:

~ # python3 scanner.py

Como não definimos nosso ambiente de script na primeira linha, precisamos chamar o interpretador Python, usei python3 em vez de sua versão anterior.

E a saída não sofisticada deve ser parecida com esta:

EM CONCLUSÃO

Sim, conseguimos construir um scanner de porta simples do zero usando python apenas em 13 linhas. Conseguimos atingir nosso objetivo e agora sabemos como as coisas funcionam, certo?. Mesmo que eu não tenha te dito se há um cara que fez o módulo NMap-python, você não ficaria surpreso. Este módulo é basicamente capaz de executar o comando NMap usando a linguagem de programação python.

Ah, sim, se você está se perguntando onde está a parte de hackear apenas fazendo a varredura de portas? Hmm ... Bem, o que um hacker tem como alvo, se ele não tem idéia do alvo em si. Você se lembra das fases ou ciclos do teste de penetração? Caso contrário, talvez você precise ler o artigo aqui:

https: // linuxhint.com / kali-linux-tutorial /

Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...
Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...
Como instalar e jogar Doom no Linux
Introdução ao Doom A série Doom teve origem nos anos 90 após o lançamento do Doom original. Foi um sucesso instantâneo e, a partir desse momento, a sé...