22 de fev. de 2017

Eggdrops - Criando scripts Tcl

0 comentários
Um Eggdrop é um dos IRC bots mais populares escrito em C, open source e roda em ambientes unix. Suas funcionalidades incluem: suporte a vários canais e scripts ou módulos Tcl, permitindo que você inclua novas funções ao seu bot.
  • O que é um IRC bot:
É um programa que controla 24h os canais do IRC (Internet Relay Chat), que é uma rede onde vários servidores são conectados uns aos outros. Os clientes IRC usam o protocolo RFC1459 para enviar comandos ao servidor. O bot serve para proteger o canal contra abusos, gravar logs, hospedar jogos, etc. Bastante útil em redes IRC onde não existe o ChanServ, evitando que o canal seja removido quando não há ninguém nele ou que alguém tome posse do canal.
  • Instalando um Eggdrop:
Primeiro você vai precisar de uma conta shell, que nada mais é do que uma conta em um servidor unix remoto que dá acesso a uma shell pela linha de comando, via telnet ou ssh. A maioria das contas shells são pagas, mas existem algumas gratuítas como: Bitcoin Shell (owne jogando Pong!), xShellz ou aShellz

1) Logue-se em sua conta shell e digite:
$ wget http://ftp.eggheads.org/pub/eggdrop/source/1.8/eggdrop-1.8.0.tar.gz
2) Descompacte e acesso o novo diretório.
$ tar -zxvf eggdrop-1.8.0.tar.gz 
$ cd eggdrop-1.8.0
3) Configure seu eggdrop.
$ ./configure
4) Depois compile todos os módulos (opcional) e gere o eggdrop.
# make config
# make && make install
5) Configure seu eggdrop:
# vim eggdrop.conf
* Para configurar, leia os comentários que está tudo explicado passo a passo. :)
6) Mude o nome do seu arquivo de configuração para o nome do seu bot:
# mv eggdrop.conf pikachu.conf
7) Execute seu eggdrop.
./eggdrop -m pikachu.conf

13 de out. de 2016

Python - Revertendo bytecodes

0 comentários
Caso você precise recuperar um arquivo .py de um .pyc uma boa opção é usar o Decompyle++, que reverte os bytecodes compilados à um código python legível por humanos. 

  • Instalando o Decompyle++:
1) Primeiro precisamos instalar o cmake:
$ wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
$ tar xzvf cmake-2.8.12.2.tar.gz
$ cd cmake-2.8.10.2
$ ./bootstrap
$ make
# make install

2) Faça o download do Decompile++ e compile:
$ git clone git@github.com:zrax/pycdc.git
$ cd pycdc
$ /usr/local/bin/cmake ../pycdc/
$ make

  • Recuperando o arquivo .py original:
$ ./pycdc dicionario.pyc > dicionario.py

16 de set. de 2016

Enviando Emails Criptografados usando o PGP

0 comentários
    Nesse artigo fiz um passo a passo de como enviar emails criptografados usando o PGP no Linux (debian). ;)
  • Criando o seu par de chaves:
1) Instale o GnuPG com o comando: $ sudo apt-get install gnupg2
2) Gere o par de chaves (público e privada): $ gpg –gen-key
3) Selecione a opção: 1 (RSA)
4) Por segurança, use 4096 bits.
5) Depois escolha se as chaves vão expirar, se sim informe a data.
6) Informe o seu nome, email e comentário.
7) Informe a sua senha.
8) Hora da Entropia!!! Movimente o seu mouse, aperte teclas aleatórias, rode o seu loop bugado infinito, etc.
9) Pronto, agora vc possui seu belo par de chaves.
10) Gere o certificado de revogação do seu par de chaves:
$ gpg -o zeldani-rev-cert.asc --gen-revoke
1C644907
    
   O certificado de revogação serve para quando você esquece sua senha ou perde a chave privada e precisa informar aos seus destinatários que sua chave foi desativada. Sem a senha ou chave privada os servidores PGP não permitem a revogação de suas chaves, a não ser que voce tenha em mãos o certificado de revogação, pois ao ser publicado ele automaticamente revoga seu par de chaves!

28 de mar. de 2016

Writeup - Brazilian Protests:

0 comentários
    Nesse fds teve o CTF do Pwn2win, onde participei com a nosso time GAROA HC ficando em 28 posição!! 
    Uma das challenges que achei bem interesante foi a "Brazilian Protests". A proposta era encontrar a mensagem secreta em uma foto da nossa presidente:


    Usando o comando file, podemos ver que a imagem está no formato tiff:
$ file par.jpg
par.jpg: TIFF image data, little-endian

2 de mar. de 2016

XenServer - Importando e Exportando VMs

0 comentários
Nesse artigo vou falar como exportar e importar uma vm do Citrix Xenserver via USB.

1) Primeiro temos que determinar o dispositivo USB a ser usado para exportar a vm:
# fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1   *           1      121601   976760000+   7  HPFS/NTFS

 

2) Depois  é preciso criar um ponto de montagem e montar o drive USB:
# mkdir /mnt/usb
# mount -v /dev/sdd1 /mnt/usb

 

3) Formatando o dispositivo:
# mkfs –t ext3 /dev/sdd1
 

4) Exportando:
Para listar as vms e assim obter o uuid ou nome da vm a ser exportada:
# xe vm-list
uuid ( RO)           : ef30f232-8306-6614-b19f-40843884411e
     name-label ( RW): KALI01
    power-state ( RO): halted

13 de dez. de 2015

Esteganografia - A arte de ocultar Informações

0 comentários
Criptografia é a arte de escrever mensagens ilegíveis. Esteganografia é um tipo especial de criptografia.. É a arte de esconder mensagens de forma imperceptível. Na era da informação, ela consiste em substituir os bits de dados menos significativos no arquivo original por bits de dados escondidos. A esteganografia é útil quando a criptografia é proibida.

Os objetivos da esteganografia incluem: 1. segurança (se o dado é perceptível aos outros); 2. capacidade (quantidade de dados a ser escondida). Quanto mais dados a serem escondidos mais perceptível ela se torna. Temos também um terceiro objetivo, a robustez (utiliza maior quantidade de dados, o que difere da esteganografia sendo usado como marca d'agua).

As principais falhas da esteganografia são: 1. detecção (quando o dado é detectado, acabou-se a brincadeira); 2. extração (pode ser dificultada criptografando os dados); 3. destruição (manter a integridade dos dados escondidos sem danificar o arquivo).

E temos 3 níveis de percepção: 1. indistinguíveis; 2. pode ver/ouvir a distorção ao olhar/ouvir atentamente para ele; 3. bastante óbvio para o observador.

12 de out. de 2015

Revertendo a base64

1 comentários
A codificação base64 é usada para transmitir dados binários por meios de transmissão que lidam somente com texto, como por exemplo o protocolo SMTP ou o próprio HTTP que foi projetado para transferir textos ASCII, assim como imagens (que são convertidas em texto ASCII).

As conexões TCP suportam transmissão de bytes com 8 bits. Os dados do protocolo SMTP são caracteres ASCII de 7 bits, onde cada caractere é transmitido como um byte de 8 bits com o bit mais significativo zerado. No entanto, o protocolo SMTP interpreta o octeto 998 ou o caractere '.' como sendo uma nova linha, podendo gerar danos aos arquivos que contenham essa sequência de octetos. Assim, a conversão de bytes para ASCII tem sido bastante útil.

Conversão:
Na conversão da base64 o arquivo é dividido em bytes de 6 bits gerando 64 (0...63) possíveis valores, que são representados pelos caracteres: [A-Z] para (0-25)[a-z] para (26-51)[0-9] para (52-61)'+' para 62, '/' para 63 e '=' para adição, dando origem ao seu nome. A codificação da base64 não deve ser confundida com criptografia pois ela não garante nenhuma segurança.

5 de out. de 2015

Linux para desenvolvedores

0 comentários
A origem:
O Linux surgiu em 1991 quando o finlandês Linus Torvalds resolveu criar um novo núcleo de sistema operacional.

Mas e o tal do "Pinguim, pinguim, pinguim!!!" ? O famoso mascote surgiu em 96 na lista de discussão do Linux-Kernel. Alguns sugeriram tubarões e águias mas Torvalds entrou no meio e mencionou que gostava de pinguins. Então surgiu um concurso onde o desenho de Larry Ewing foi eleito recebendo o nome de Tux, de origem controversa na qual alguns afirmam que é devido ao termo "tuxedo" (roupa tipo "smoking") e outros dizem que é o nome de seu criador Torvalds Unix.

Instalação:
Após escolher a sua distro favorita (elementary OS, openSUSE, Debian, Bieber LinuxUbuntuUbuntu MATE, Arch Linux, Kali Linux, etc) é só fazer o download da .iso e nnf!!

Ambientes gráficos:
Assim como o Windows, o Linux possui uma variedade de ambientes gráficos (sim várias janelas) como: GNOME, Cinnamon, Xfce, KDEUnity, entre outros.