@VitorMattosRJ
Desenvolvedor PHP desde 2003
Amante de opensource
Evangelista PHP
PHP Zend Certified Engineer ( ZEND024235 )
PHPRio ( https://telegram.me/phprio )
CTO Lyseon Tech
Redes sociais: ( VitorMattos ou VitorMattosRJ )
A Lyseon Tech é uma cooperativa de trabalho com modelo de gestão democrática, segura e eficiente composta por profissionais de T.I. altamente qualificados e experientes no mercado. Prezamos por apresentar vantagens, tanto para o cooperado como para as empresas parceiras.
Tentarei ser breve :-D
Password
*
*
*
*
*
*
*
*
Definição: "transformação de uma grande quantidade de dados em uma pequena quantidade de informações"
Função de mão única
Mensagem
Entrada
0101001001010101010010101010101011110010101001010010101001010100101...
função hash
10101101
Saída
Tamanho fixo
INSERT INTO login (username, password)
VALUES ('admin', '123456');
mysql_query("INSERT INTO login (username, password)
VALUES ('admin', '".base64_encode('12345678')."')");
mysql_query("INSERT INTO login (username, password)
VALUES ('admin', '".md5('12345678')."')");
mysql_query("INSERT INTO login (username, password)
VALUES ('admin', '".sha1('12345678')."')");
Definição: "Uma rainbow table é uma tabela de consulta de hashes pré calculados."
php > for($i=1;$i<=3;$i++)
php > echo password_hash("Vitor Mattos", PASSWORD_DEFAULT)."\n";
$2y$10$iDT0scwr0cP28mb.J0edvOKmmHdGfonvQcnrlQnc6M0BIUoZQ/waW
$2y$10$Dmfc8Dc9ohV2lKnOjk5IxehCos6AayVx/vvgz78MuIy9KaxVKuChe
$2y$10$rVlAfjB3CX8ZmwjCT8boL.Wi8pFMsUZzTkA5XDSsTNbzBa2vvZ3xC
var_dump(password_verify(
"Vitor Mattos",
"$2y$10$Dmfc8Dc9ohV2lKnOjk5IxehCos6AayVx/vvgz78MuIy9KaxVKuChe"
));
Criando hash
Validando hash
true
if ($hash == md5($_POST['password'])) {
$hash = password_hash(
$_POST['password'],
PASSWORD_DEFAULT
);
$db->exec(
"UPDATE login SET password = ? WHERE user = ?"
);
}
hashcat is the world’s fastest and most advanced password recovery tool.
This version combines the previous CPU-based hashcat (now called hashcat-legacy) and GPU-based oclHashcat.
25 GPUs brute force 348 billion hashes per second to crack your passwords
Entropia: "média de informação transmitida por um evento, quando se considera todos os resultados possíveis"
Senhas complexas e pequenas só são difíceis de decorar, mas continuam sendo simples de quebrar.
"Facebook hackeado: ataque atinge 50 milhões de usuários"
2018-09-28
"Time-based One-Time Password algorithm (TOTP)"
Desculpe, sua senha deve conter uma letra maiúscula, dois números, um símbolo, uma mensagem inspiradora, um feitiço, um sinal de gangue, um hieróglifo e o sangue de uma virgem.
trate sua senha como sua escova de dentes
Escolha uma boa
Nunca compartilhe
Troque com certa frequência
Evite:
/*/senhas.txt
/*/password.txt
/*/senhas.xlsx
Senhas grandes - entropia
Senhas únicas
Não perder senhas
Ocupar a mente com o que é importante
Navegadores
Aplicações desktop
Terminal
Celular
Google e outros serviços de chaveiro online proprietários
Liberdade nº 0: A liberdade para executar o programa, para qualquer propósito;
Liberdade nº 1: A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito para esta liberdade;
Liberdade nº 2: A liberdade de redistribuir de forma que você possa ajudar o seu próximo;
Liberdade nº 3: A liberdade de modificar o programa, e liberar estas modificações, de modo que toda a comunidade se beneficie. Acesso ao código-fonte é um pré-requisito para esta liberdade;
Primeira versão livre
Escrito em .NET
É multiplataforma.
Funciona em sistemas Linux mas precisa do Mono, fica meio feio
Como o nome já diz, cross platform.
Problema: o projeto está meio abandonado, o mantenedor não aceita Pull Request faz um tempo
Um fork do KeePassX...
Só que mantido pela comunidade, este aceita PR e é um projeto bem ativo.
Para iPhone, nunca usei, nem quero usar. 😜
Configurações de criptografia
Proprietários
CTRL+SHIFT+V
Nas configurações do navegador:
1 - Criar uma senha para a chave privada e copiar
2 - Gerar uma chave SSH com a senha copiada
~$ ssh-keygen -t rsa -b 4096 -o -f id_rsa -C user@email.com
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:/0AquhdSloVxKketevMFRknU+UgniQI4OxWzZOv2HHg user@email.com
The key's randomart image is:
+---[RSA 4096]----+
| .*oo*++ o |
| oo.=oo* * . |
| ++ o* . = |
| o. += o . . |
| .++E.S.. |
| .o++. +. |
| o++..o |
| .... o |
| oo . |
+----[SHA256]-----+
2 - Anexar o arquivo id_rsa no KeePass
3 - Informar onde está a chave privada e utilizar a pública
3 - Informar onde está a chave privada e utilizar a pública
~$ ssh-add -l
4096 SHA256:6hKPtN8/Kb9ZUz12rRwevxHf2qdvJ8x4b6fB3fS2oOk user@email.com (RSA)
~$ git clone git@github.com:vitormattos/crack-password-calc.git
Cloning into 'crack-password-calc'...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 67 (delta 23), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (67/67), 26.59 KiB | 41.00 KiB/s, done.
Resolving deltas: 100% (23/23), done.
1 - Instalar o qt5ct
sudo apt install qt5ct
2 - Exportar a seguinte variável:
OBS: pode colocar no arquivo ~/.profile
export QT_QPA_PLATFORMTHEME="qt5ct"
3 - Execute o programa qt5ct e escolha um tema
https://keepassxc.org/
https://keepass.info/
https://wpengine.com/unmasked/
https://en.wikipedia.org/wiki/List_of_data_breaches
https://github.com/hashcat/hashcat
https://php.net/password_hash
The life
Podem fazer perguntas durante o evento
Redes sociais:
( VitorMattos ou VitorMattosRJ )