terça-feira, 18 de agosto de 2015

Enviando e-mail com Netcat/Telnet/OpenSSL - Com e sem SSL/TLS

Manhã de terça novamente, já imaginam né?...

Bom, hoje vou mostrar como enviar e-mails de uma maneira não tão convencional, porém, bastante útil em algum momento ou script.
Ao invés de utilizar todas essas linhas, também podemos usar o comando "mail", porém não é tão divertido quanto vc conversar com o servidor SMTP.
No final do post há a explicação de cada comando utilizado.


#1 - Método com Telnet descriptografado
telnet smtp.email.com 25

#2 - Método com NetCat
nc smtp.email.com 25

#3 - Método com OpenSSL
openssl s_client -crlf -connect smtp.email.com:465

#4 - Método com STARTTLS
openssl s_client -starttls smtp -crlf -connect smtp.email.com:587

Ao executarmos um dos três comandos acima, receberemos a mensagem
220 smtp.mail.yahoo.com ESMTP ready

Ok, Agora podemos conversar com o servidor.

Nesse post vamos usar o método 4 e pegar como exemplo o  servidor SMTP do Yahoo!.

As linhas em vermelho é o que o usuário irá digitar.

openssl s_client -starttls smtp -crlf -connect smtp.mail.yahoo.com.br:587

220 smtp.mail.yahoo.com ESMTP ready

Após isso digitaremos:
EHLO localhost

Teremos como saída:


250-smtp.mail.yahoo.com
250-PIPELINING
250-SIZE 41697280
250-8 BITMIME
250 AUTH PLAIN LOGIN XOAUTH2 XYMCOOKIE
AUTH PLAIN 
334
XDBzZXVsb2dpbkB5YWhvby5jb20uYnJcMHN1YXNlbmhh*/ <---Aqui inserimos o usuário e senha codificados em base64---- 
Comando para encodar no linux: echo -ne "\0email@server.com\0senha" /*
235 2.0.0 OK
MAIL FROM: <email_usado_no_login@yahoo.com.br>
250 OK , completed
RCPT TO: <destino@gmail.com>
250 OK , completed
data
354 Start Mail. End with CRLF.CRLF
SUBJECT: Testando um, dois, três

Digite a mensagem aqui e ao fim dela, pule uma linha, adicione um ponto e aperte enter.
Atenção ao ponto ali embaixo.




Se ocorreu tudo corretamente, receberemos a seguinte mensagem

250 OK , completed

Para sair do terminal, basta digitarmos quit

Entendendo os comandos:
Com telnet:

telnet mailserver.com 25 
--Com o telnet, estamos simplesmente definindo o servidor e a porta a qual desejamos conectar. Podemos usar o telnet para N coisas, inclusive enviar email :v

Com openssl:

openssl s_client -crlf -connect endereco_server:porta


openssl s_client -starttls smtp -crlf -connect smtp.email.com:587

#Parâmetros:

 s_client - Definimos que queremos um cliente SSL
-crlf - Carriage Return Line Feed - Pula linha e retorna o cursor para o início
-connect - Aqui definimos o endereço do servidor e a porta
-starttls smtp - Definimos que queremos negociar uma conexão com STARTTLS utilizando o protocolo smtp

##Comandos SMTP##

EHLO - Identifica o emissor da mensagem
AUTH PLAIN - Usado para inserirmos nosso login e senha encodado em base64. Podemos encodar da seguinte forma em um outro terminal: $echo "\0email@server.com\0senha" | base64

MAIL FROM: <email@server.com> - Definimos o e-mail de origem utilizado
RCPT TO: <destino@server.com> - Definimos o e-mail de destino
DATA - A partir daqui já podemos começar a escrever a mensagem.
SUBJECT: - Nessa linha adicionamos o assunto da mensagem e após isso, apertamos o enter duas vezes  para escrevermos nossa mensagem.
. - Atenção ao PONTO, ele define o Fim da mensagem .


Bom pessoal, é isso
Dúvidas, sugestões, xingamentos, opção de comentário ta aí
flw

sexta-feira, 14 de agosto de 2015

#1 Portas Lógicas

Saudações!
Aqui tentarei explicar de uma maneira bem didática sobre o que são portas lógicas e para que serverm

O que são Portas Lógicas?
Portas Lógicas, também conhecido por circuitos lógicos, são dispositivos que operam com somente uma ou multiplas entradas e tem como saída, somente uma.
Cada porta lógica tem uma função que pode se adequar melhor ao seu circuito. Exemplo Rápido:
As lampadas de emergência (aquelas que ficam em escadas) podem ser consideradas um exemplo da porta NOT(Inversora).
Porque quando falta luz, ela acende. E vice-versa






A partir daqui, para melhor didática e entendimento do texto, assumiremos os seguintes termos:

terça-feira, 4 de agosto de 2015

0c10s0 + Netcat

Hail,
Estava jus ao título desse post em uma manhã de terça quando brincava com o netcat. 
netcat pra cá, netcat pra lá, e saiu uma brincadeira legal.

O que acontece é o seguinte:
Em um lado eu coloco o netcat pra escutar uma porta e no outro, faço uma requisição HTTP através de algum navegador. O navegador vai fechar uma conexão com o netcat (Ah vá, é mesmo?).
O curioso é que depois do navegador ter fechado a conexão, a página não vai parar de carregar enquanto vc não sair do netcat, dar um ^C ou chutar o server.(really?)

E o que isso significa?
O navegador vai ficar como se estivesse carregando até você dropar a conexão.
Nesse meio tempo, você pode ir escrevendo uma página html linha a linha pelo netcat enquanto o navegador vai imprimindo tudo na tela cada vez que vc aperta enter.

Comando netcat:

nc -lvp 8080

Parâmetros:
-l --listen, ou seja, trabalha escutando tudo que vier 
-v  --verbose, vai te mostrar tudo o que está acontecendo na tela
-p --port = define a porta para escuta, no caso seria a 8080

How-to?

Execute o comando acima e vá no seu navegador e coloque o ip e porta do server onde está o netcat.
Assim que você ver no netcat o HEADER da requisição HTTP, já pode começar escrever sua página.

Pra que diabos vou usar isso?
Ah brother, sei lá, use a imaginação.
Imagina que seu webserver crashou, não tem nenhum outro webserver instalado e vc não pode deixar de mostrar alguma coisa na tela de quem tenta acessar o site. Usa o netcat pra 'hospedar' um html informando que o site está em manutenção enquanto vc tenta arrumar o webserver. Antes uma página tosca do que timeout.



tags;
webserver com netcat, html and netcat



whoami?

Salve! E ae galera do mal, de boa? Me chamo Ygor (a.k.a Rogy153, criador do Brasil Pentest) e resolvi iniciar esse blog pra compartilhar o pouco que sei com vocês.
Aqui pretendo fazer postagens relacionadas com eletrônica voltada a hacking, mas também não se limitando SOMENTE a isso, vou postar o que der na telha e achar legal. Não se espantem se ver uns posts falando sobre MUX, DEMUX, ADC, shift register, modulação de frequência (aquelas ondinhas maneiras que a gente vê no osciloscópio) e etc...