Obtenha informações sobre vulnerabilidades e exploits em seus sistemas através do Pompem

O Pompem é uma ferramenta de busca de informações sobre vulnerabilidades relacionadas a diversos sistemas de gestão de conteúdo e softwares de sistema e rede.
Escrito em Python, o programa foi desenvolvido para listar artigos em sites e informações de bancos de dados sobre falhas de segurança conhecidas.

Com base nestas informações, o administrador pode tomar as “medidas cabíveis” para resolver eventuais problemas relacionados à sua plataforma.

O usuário alvo deste tipo de aplicação é o pentester, ou seja, profissionais ligados à área de segurança, cuja atribuição é determinar a força da segurança de sistemas que estejam sob seus cuidados. Ou seja, trata-se de um perfil específico de usuário avançado.

Neste post, vou abordar a instalação mais simplificada, dentro do sistema operacional Debian 10.

Nesta distribuição do GNU/Linux, o Pompem, consta como um pacote na categoria pentest tools e é mantida pelo Debian Forensics.


apt show pompem

Package: pompem
Version: 0.2.0-3
Priority: optional
Section: utils
Maintainer: Debian Forensics 
Installed-Size: 51,2 kB
Depends: python3, python3-requests
Homepage: https://github.com/rfunix/Pompem
Download-Size: 9.928 B
APT-Sources: http://deb.debian.org/debian testing/main amd64 Packages
Description: Exploit and Vulnerability Finder
 Find exploit with a system of advanced search, designed to automate the search
 for Exploits and Vulnerability in the most important databases facilitating
 the work of pentesters, ethical hackers and forensics expert. Performs searches
 in databases: PacketStorm security, CXSecurity, ZeroDay, Vulners, National
 Vulnerability Database, WPScan Vulnerability Database. This tool is essential
 in the security of networks and systems.
 .
 The search results can be exported to HTML or text format.

Como você pode ver, o Pompem é essencial na busca e detecção de exploits e vulnerabilidades — bem como a obtenção de ajuda para solucionar os problemas — em várias categorias de sistemas.

Para iniciar a instalação, use o apt (de novo…):


sudo apt install pompem

Como usar o Pompem

O Pompem é uma forma rápida de obter informações sobre problemas de segurança, já disponibilizadas em sites especializados.
Se você administra um grande servidor ou um blog WordPress, pode obter rapidamente informações voltadas para a sua situação.
Abra um terminal, para fazer algumas experiências.
Use o recurso search (busca) para encontrar dados sobre uma determinada plataforma (Joomla, no exemplo abaixo):


pompem -s "joomla"


+Results joomla
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+Date            Description                                     Url                                    
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ 2018-06-18 | Joomla Jomres 9.11.2 Cross Site Request Forgery | https://packetstormsecurity.com/files/148223/Joomla-Jomres-9.11.2-Cross-Site-Request-Forgery.html 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ 2018-06-14 | Joomla Ek Rishta 2.10 SQL Injection | https://packetstormsecurity.com/files/148189/Joomla-Ek-Rishta-2.10-SQL-Injection.html 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

...

+ 2018-04-13 | Joomla Convert Forms 2.0.3 CSV Injection | https://cxsecurity.com/issue/WLB-2018040100 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ 2018-04-09 | Joomla com_foxcontact Shell Upload Vulnerability E | https://cxsecurity.com/issue/WLB-2018040066 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ 2018-06-14 | Joomla Ek Rishta 2.10 SQL Injection | https://packetstormsecurity.com/files/148189/Joomla-Ek-Rishta-2.10-SQL-Injection.html 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Minha lista, acima, está com “algumas” linhas cortadas. Se prepare para obter uma relação bem mais extensa, aí.
Como você pode ver, o resultado compreende 3 colunas:

  1. Data da divulgação da vulnerabilidade
  2. Título do post
  3. URL do site, aonde você pode obter mais informações sobre o problema

Ter conhecimento (leitura) de inglês, neste caso, pode ajudar bastante.

Como concatenar strings na shell do Linux

Concatenar ou juntar cadeias de caracteres (ou, simplesmente, strings), na shell (ou linha de comando) do Linux é um trabalho fácil e descomplicado.
Apenas fique atento a alguns detalhes… e tudo terminará bem. 😉

O procedimento pode ser muito útil dentro de shell scripts ou para uso em arquivos de configuração do Bash.
Você pode concatenar strings dentro do seu .bashrc, para obter resultados ou “hackear” o seu sistema.

Para sermos objetivos, abra um terminal e vamos definir as seguintes variáveis, como exemplo:


variavel1="elias"
variavel2=".praciano"
variavel3=".com"

A concatenação consiste, de maneira resumida, em juntar os valores das 3 strings, acima. Isto pode ser feito assim:


meusite=$variavel1$variavel2$variavel3
echo $meusite

elias.praciano.com

Note que não precisa usar o símbolo ‘$’ ao definir as variáveis. Mas é obrigatório no momento de se referir e fazer operações com elas.

Baixe e experimente a IDE CodeLobster, para desenvolver seus projetos.

Há várias IDEs para quem deseja usar o sistema operacional GNU/Linux para programar.
Algumas são específicas para algumas linguagens e outras são bem mais abrangentes.

O CodeLobster é uma IDE multiplataforma, voltada para a programação PHP, mas pode atender a outras linguagens também — tipo CSS, HTML, JavaScript etc. — como seria de se esperar de uma ferramenta voltada para desenvolvedores web.
Logo do CodeLobster e descrição do produto

Sua proposta inicial é ser leve e rápido (light-weight). Por isto, requer muito pouco espaço em disco para ser instalado.
O projeto foi desenvolvido a partir da construção de um editor de textos e evoluiu para um ambiente de desenvolvimento integrado.

Atualmente, há versões disponíveis para Windows, MacOS e Linux (Mint, Debian, Ubuntu e outros desta mesma ramificação).

Através de plug-ins o aplicativo pode ter funcionalidade estendidas para usar CMSs e frameworks populares — o que inclui o CakePHP, CodeIgniter, Drupal, Joomla, Symfony, Twig, WordPress, Yii, Node.js, JQuery, AngularJS, BackboneJS etc.

Download e instalação

Mesmo tendo versões voltadas a várias plataformas, neste artigo só irei abordar a sua instalação no Linux (Debian 10, para ser mais específico).
Instalação do CodeLobster via apt, na linha de comando

Faça o download da versão voltada à sua plataforma de trabalho, no site (link ao final do post) e abra um terminal para executar a instalação via dpkg. O procedimento é o mesmo em qualquer distro baseada no Debian, como é o caso do Ubuntu, do Mint etc.:


sudo dpkg --install ~/Downloads/codelobsteride-1.1.0_amd64.deb 

Feita a instalação. já é possível executar o programa — da linha de comando, no terminal ou na GUI.
codelobster via dash no GNOME do Debian

Primeiro uso e ajustes iniciais

Claro que não gostei da interface padrão do aplicativo…
Mas ele tem temas alternativos muito bonitos, principalmente com fundos escuros — os meus preferidos.
Sugiro dar uma olhada nestas opções, disponíveis em View/Visual Style.
Relação de temas do CodeLobster

Em seguida, altere o idioma da interface para o que achar mais adequado. O português (europeu) é o que está disponível na versão que usei.
Acesse a configuração pelo menu Tools/Preferences. Em seguida, localize a aba IDE, à esquerda e toque em General.
À direita, no painel, selecione o idioma (Interface Language) de sua preferência.
Painel geral do Codelobster

Preço do produto

O CodeLobster IDE é distribuído, no site, em uma versão gratuita – que expira em 30 dias.
A versão Professional pode ser adquirida no próprio site, por 99,95 dólares/ano. A assinatura dá direito ao uso em até 3 dispositivos diferentes.
codelobster logo

Referências

As versões dos pacotes de instalação do CodeLobster IDE para MacOS, Windows e Linux, podem ser baixadas neste site: http://www.codelobsteride.com/#download.

Experimente o gerenciador de arquivos (CLI) Ranger no Linux (ou no Mac)

O Ranger é um gestor de arquivos de linha de comando (CLI), escrito em Python.
O programa possui todas as funções presentes nos gestores mais usados, como o Nautilus, no Ubuntu.

Para quem não tem problemas com a CLI, como interface de execução de seus aplicativos, o Ranger ainda oferece a vantagem da velocidade de execução.

O programa permite executar tarefas relacionadas à gestão de arquivos com poucos toques no teclado, usando teclas simples ou composições de atalhos de teclado.

O uso do mouse é opcional.

Para ficar de acordo com a documentação oficial, no restante do texto, vou grafar o nome do utilitário em minúsculas.

Como instalar o ranger

Abra um terminal e execute o gestor de pacotes da sua distro, para fazer a instalação dele. Segue um exemplo, usando o apt (Debian/Ubuntu):


sudo apt install ranger

Junto com o utilitário, é instalado o navegador de Internet w3m — também com interface em modo texto ou CLI.

Outras extensões são instaladas e podem ser usadas à medida em que forem necessárias, como o rifle, para abrir arquivos.
As configurações permitem definir outros programas para executar tarefas específicas a partir do ranger.

Se precisar visualizar alguma imagem ou outro tipo de arquivo de dentro do ranger, ele abrirá o visualizador padrão do sistema.
Se você usa apenas o modo texto, no seu sistema, recomendo instalar o feh, para visualizar suas imagens.

Como usar o ranger

Ao rodar o programa, ele irá mostrar os arquivos dentro do diretório (pasta) atual.
Use as setas do teclado para percorrer os diretórios e pressione Enter, para realizar ações em relação aos arquivos.

Você pode sair do programa, a qualquer momento, pressionando a tecla ‘q’.

Configuração do ranger

O ranger cria um subdiretório com arquivos de configuração básica no home, ou seja, em ‘~/.config/ranger/’
Muitas configurações, contudo, continuarão a ser lidas nos arquivos principais, fora do seu diretório home.
Para ter acesso completo à configuração do aplicativo, copie todos os arquivos pertinentes ao seu diretório particular, com o seguinte procedimento:


ranger --copy-config=all

creating: /hem/justincase/.config/ranger/rifle.conf
creating: /hem/justincase/.config/ranger/commands.py
creating: /hem/justincase/.config/ranger/commands_full.py
creating: /hem/justincase/.config/ranger/rc.conf
creating: /hem/justincase/.config/ranger/scope.sh

> Please note that configuration files may change as ranger evolves.
  It's completely up to you to keep them up to date.

> To stop ranger from loading both the default and your custom rc.conf,
  please set the environment variable RANGER_LOAD_DEFAULT_RC to FALSE.

Os dois avisos, dados ao final da execução do comando, acima, dão conta de:

  1. Os desenvolvedores do programa podem introduzir eventuais modificações na forma como os arquivos de configuração funcionam ou na sua estrutura. Portanto, caberá a você fazer esta atualização.
  2. Para forçar o programa a carregar apenas as configurações personalizadas do usuário, altere o valor da variável de ambiente RANGER_LOAD_DEFAULT_RC para FALSE.
    Este procedimento pode ser feito assim, na linha de comando:

    
    RANGER_LOAD_DEFAULT_RC=FALSE
    
    

    Leia mais sobre variáveis de ambiente aqui: variáveis de ambiente no Linux.

Esquemas de cores do ranger

Ainda no diretório de arquivos de configurações do ranger, é possível alterar o esquema (ou tema) atual de cores do programa, caso você esteja insatisfeito com o que está vendo.

Para isso abra o arquivo ~/.config/ranger/rc.conf e localize a linha

set colorscheme default

Você pode usar uma das 4 opções: default (padrão), jungle, snowou solarized.
Pessoalmente, gosto do tema default. Mas o snow também é legal. (y)

Você pode criar novos esquemas e gravá-los em ~/.config/ranger/colorschemes.

Teclas de navegação dentro do ranger

O programa usa as mesmas teclas do editor Vim.

Basicamente, é isso aqui:

  • → ↓ ↑ ← as setinhas do teclado
  • h — para subir na hierarquia de diretórios
  • gg — para ir ao início da lista
  • G — para ir ao fim da lista

A linha de comando

O ranger tem uma linha de comando, a partir da qual, é possível executar comandos da shell.
Para acessar a CLI interna do ranger tecle ‘!’.

O utilitário possui também comandos internos, como o ‘du’ — que mostra o uso atual do diretório (tal como na shell).
Há outros comandos, que podem ser acessados a partir do pressionamento da tecla ‘d’. Experimente.

Leia feeds RSS com o newsboat

O newsboat é um aplicativo CLI voltada para as plataformas Apple MacOS e GNU/Linux —…e FreeBSD também, claro.
Sua principal proposta é monitorar feeds RSS de sites, à sua escolha, para detectar novidades.

A simplicidade de configuração e a rapidez com que ele pesquisa sua lista de sites, são 2 de seus pontos fortes.
É possível monitorar, ainda, canais específicos do YouTube, de forma que você nunca perca quando houver conteúdo novo à sua disposição.

É possível acompanhar apenas alguns tipos de posts, dos seus sites favoritos

Sites em WordPress podem ter vários feeds RSS disponibilizados por “categorias”.
Segue um exemplo da relação de feeds, por categoria, neste site:

  1. https://elias.praciano.com/category/fotografia/feed/
  2. https://elias.praciano.com/category/linux/feed/
  3. https://elias.praciano.com/category/android/feed/

Assinar a newsletter (notificações por email) é a maneira mais simples de acompanhar seus posts.
Contudo, alguns autores postam sobre diferentes assuntos (categorias) em seus sites/blogs.
Se você se interessa apenas pelo conteúdo postado dentro de uma certa categoria, pode achar melhor assinar apenas o feed referente a ela.

Leitores de feeds permitem filtrar o que você deseja acompanhar em um determinado site ou blog.

Como instalar o Newsboat

Cada plataforma tem seus meios de aquisição e instalação de softwares.
A minha é Debian GNU/Linux 10Buster” (ainda em testing).
Usualmente, no Linux, aplicativos GUI são instalados através da interface da loja da sua distro.

Se a sua plataforma tiver suporte a snap, use-o para fazer a instalação direta do Newsboat:


sudo snap install newsboat

Embora o snap seja um método universalizado para instalação, também é possível usar o gerenciador de pacotes específico da sua distro. No Debian/Ubuntu, por exemplo:


sudo apt install newsboat

Como configurar o newsboat

A primeira coisa a fazer é dar ao programa a lista de sites (URLs de feeds RSS ou Atom), de onde ele pode fazer sua pesquisa.
Use o seu editor de textos favorito para criar e editar um arquivo de feeds.
No meu caso, criei um arquivo chamado meus-sites.rss.
A escolha do nome é totalmente livre e você pode usar o que quiser.
Dentro do arquivo, enumere as URLs dos feeds que você deseja acompanhar. Um por linha:

http://nerdices.com.br/42/feed/
https://elias.praciano.com/category/linux/feed/

Como adicionar feeds RSS dos meus canais favoritos do YouTube?

Você vai encontrar todos os feeds RSS de todos os canais que assina, na página https://www.youtube.com/subscription_manager. Ao chegar lá, role até encontrar o botão “Exportar inscrições”.
Clique nele e faça download de um arquivo XML (‘subscription_manager’, é o nome dele) com as informações sobre os RSS.

Encontre os feeds dos canais que te interessam, e copie e cole os URLs RSS que desejar, dentro do arquivo que você já criou. O meu é ‘meus-sites.rss’, como já disse, anteriormente.
Por exemplo, os feeds dos canais Linux Gamer e NASA (agência espacial), são os seguintes:

https://www.youtube.com/feeds/videos.xml?channel_id=UCw95T_TgbGHhTml4xZ9yIqg

https://www.youtube.com/feeds/videos.xml?channel_id=UCMtSLcfXhj_GIcs_YDpIyUQ

Não será difícil encontrar, dentro do arquivo ‘subscription_manager’ as URLs com a palavra “feed” dentro, tal como nos exemplos acima.

Como usar o Newsboat

Rode o newsboat de um terminal, indicando o nome do arquivo que você criou, contendo todas as URLs de feeds RSS que deseja acompanhar. No meu caso, ficou assim:


newsboat -u meus-sites.rss

newsboat rss
A qualquer momento, você pode sair do newsboat, pressionando a tecla ‘q’ ou “Q’.

No rodapé da tela do programa, há instruções básicas de uso.
Sugiro pressionar ‘?’, para ir para tela de ajuda (já traduzida para portuguẽs), aonde é possível obter mais opções de uso do aplicativo.
ajuda newsboat

Referẽncias

Leia mais sobre leitores RSS.
Site oficial do Newsboat: https://newsboat.org.