DIGISPARK ATTINY85: CRIANDO UM MINI ‘USB RUBBER DUCKY’

3
Ducky ;)

Pessoal, hoje como de costume quero mais uma vez pedir desculpas pelo site ter ficado fora do Ar, e agradecer imensamente ao Amigo e companheiro de Portal Filipe Coelho por ter rapidamente revertido a situação qual nos encontrávamos.

Com todas as desculpas devidamente upadas e carregadas vamos ao processo de descobertas e testes que sempre realizamos.

Pra ser sincero, essa área de microcontroladores nunca foi minha praia, eu tinha uma certa resistência em tentar aprender sobre, visto que; Sou portador de uma síndrome Frenética que me faz perder o foco e concentração e com meus estudos voltado ao Python(já era estudos do .PY) eu realmente receava perder o foco e aderir a incansável rotina de começar algo sem terminar.

Mas, pouco a pouco vou superando meus desequilíbrios mentais e construindo uma ponte entre o meu ‘eu’ e o ‘saber’. E isso é muito legal, nos faz perder o foco mas ganhar conhecimento, perder a data mas ganhar o dia entre vários outros pontos.

O tal de Filipe a alguns meses havia me presenteado com um Arduino Nano3, bichinho que hoje uso na construção de um carrinho para meu filho. E até então não havia brincado com ele, mas me vi na oportuna necessidade de adquirir um Arduino Pro-Micro(que basicamente usei pra mesma coisa do Digispark, porém com mais recursos) e ai então começou a saga em busca do aperfeiçoamento e dos meus objetivos, aliás, o Pro-Micro será em breve destaque de um artigo por aqui, por enquanto vamos nos focar(se é que consigo) no Digispark.

Bom, para quem não conhece, o bichinho é esse abaixo:

 

Attiny85
Attiny85

Pode ser facilmente encontrado no Mercado Livre e eu indico esse vendedor pois além de um preço bom tem muito cuidado, produtos confiáveis e muita atenção.
http://produto.mercadolivre.com.br/MLB-876073237-attiny85-attiny-85-digispark-kickstarter-usb-atmel-arduino-_JM
Precisaremos para esse projeto de :

  • 1 Digispark conforme referenciado acima

  • Muita paciência e calma, objetivos e criatividade, afinal, você decide o que quer fazer né?

Pois, com o Digispark Devidamente em mãos eu usei o IDE do Arduino (https://www.arduino.cc/en/Main/Software), na versão 1.8 .

Após baixar e instalar conforme seu sistema (plataforma) nós incluiremos as bibliotecas referentes a Digispark para que assim possamos escrever e enviar nossos códigos para o dispositivo.

Fiz esse pequeno vídeo(Pra quem não sabe instalar as bibliotecas isso vale a pena.) somente para servir de referência como funciona esse processo, e o link usado no vídeo é ‘ ESSE’ .

Após seguir todos os passos já podemos prosseguir com a criação dos códigos para nosso brinquedo. Eu aconselho ler alguma documentação para saber ou ter no mínimo a noção de que caminho seguir(Para que não usou ainda) para entender os comandos e etc que são usados pelo sistema.

No caso aqui eu usei para baixar um arquivo .EXE quando ‘espetado’ em computadores que rodem Windows, mas obviamente pode ser adaptado ao Linux e outros.

Por se tratar de um dispositivo que ‘simula’ a ação de um teclado(HID-Dispositivo físico e de entrada – HUMAN INTERFACE DEVICE ) e por estar devidamente especificado no meu código, então ao espetar o dispositivo em um computador ele será reconhecido como teclado, iniciará a execução dos códigos. E como eu fui bem específico e já disse, vou baixar um arquivo executável de uma URL qualquer(usei como teste pra esse vídeo um server local, mas poderia estar hospedado em algum lugar em algum servidor) e com a ajuda do superseguro POWERSHELL da M$ eu vou executar esse arquivo.

O detalhe fica por conta da sua imaginação, competência para criar o payload (no caso né) visto que o fato de ter um dispositivo de confiança ou HID executando as ações não significa eventual omissão do AV em relação ao arquivo. Se for um payload que seja de fácil detecção então meu amigo, tenha certeza que você pode até entrar numa fria, por tanto, todos os passos aqui descritos são apenas para fins de estudos e conhecimentos sobre as ferramentas usadas. Muito Cuidado e mesmo assim Todo cuidado ainda é pouco!

Após baixarmos e instalamos as Bibliotecas dos contribuidores, escrever o código com alguma objetividade, verificar a compilação é chegada a hora de upar esse código(compilar e etc..) a nosso brinquedo. Por tanto eu fiz mais um pedacinho de vídeo, também sem áudio apenas descrevendo as ações bem lentamente para que seja de fácil acompanhamento.

Lembrem-se: Cada passo de uma vez, primeiro baixar a IDE, A Bibli…, escrever o código, testar o sketch, verificar se o tamanho não é superior ao permitido pelo dispositivo e claro, o último e mais bacana mas não menos importante: Fazer todos os testes antes de sair bancando o Elliot (leia-se MR. Robot 😀 ) por ai.

Feito isso, bom, tenho abaixo um teste do meu em execução e dando acesso a uma máquina.

 

Link para baixar o Codigo AQUI!

Qualquer dúvida, fale conosco, envie e-mail, faça um comentário, ajudem a manter esse site vivo para que não fiquemos somente sugando o Filipe pô. Afinal, não somos de ficar noticiando coisas mas temos bastante conhecimento e experiência a compartilhar. Falta incentivo da parte de vocês!

Abraços, até mais…!

By…

Thiago F. Cruz

SQUID PROXY COM INTERCEPTAÇÃO HTTPS

0
Squid_logo

Boa pessoal, estamos sumidos, na verdade eu ando muito desanimado com qualquer coisa e há tempos desejava criar novos tutoriais e videos, porém, os problemas de saúde e outros acabam por deixar o nosso tempo pouco. Não bastasse, o desgaste é bem desanimador.
Mas sem continuar falando de coisa triste, vamos ao que interessa: Squid proxy interceptando trafego https.

É  uma solução para o controle em ambientes onde existe a real necessidade de controlar acesso, filtrar buscas por palavras e até mesmo impor restrições de segurança. Claro, o proxy por si só não irá proteger sua rede, até porque em grande parte, os problemas são causados quando existe fragilidade no elo mais fraco, o usuario! Contudo, filtrar sites com conteúdo adulto, pirataria, redes sociais já pode desafogar um pouco do consumo de banda, além claro de possibilitar a analise de sites mais visitados, possibilitar algum cache e bloquear o tik tok(brincadeira – o nft seria mais indicado).
Bom, sem mais, vamos ao que interessa…

Para este tutorial eu usei o slackware 15 por rodar bem no hardware qual tenho hoje como gateway, uma c847 com duas portas ethernet de 1Gbps. Portanto, para outras distribuições esse processo poder ter variação de local de arquivos ou binarios(Exceto o diretorio do squid). O diretorio do squid se localiza nas distribuições linux mais conhecidas em “/etc” .

No nosso caso, o primeiro passo é instalar o pacote do squid, e caso você não o tenha instalado, então sugiro que o faça via sbopkg.
Para instalar o sbopkg você pode consultar mais informações em https://sbopkg.org .
Mas para facilitar sua vida, abra um terminal e como root ou usando sudo faça:

cd /tmp && wget https://github.com/sbopkg/sbopkg/releases/download/0.38.2/sbopkg-0.38.2.tar.gz

Após o download, faça um dos dois procedimentos, o primeiro instala e o segundo é update:

installpkg sbopkg-version-noarch-1_wsr.tgz

ou

upgradepkg sbopkg-version-noarch-1_wsr.tgz

Depois, rode o sbopk, entre na opção sync e aguarde…
Logo após, vá em search, digite squid e escolha a opção string.
Selecione o squid, selecione OK e pressione a tecla “P” ou vá até ‘process’ e de enter.
Ele vai processar a fila, baixar, compilar e instalar o pacote.

Essa é a etapa mais demorada, na minha humilde plaquinha foram quase uma hora(dual core de 1.1ghz).

Após todo processo, vá para o diretorio do squi que fica localizado em /etc;

cd /etc/squid

Faça um backup do squid.conf

cp squid.conf squid.conf.o

Crie o diretorio de politicas ou como desejar dentro do diretorio do squid, esse diretorio armazenará os arquivos com as politicas de ‘acl’, portanto, é interessante que ele fique neste diretorio até por questões de organização.

mkdir -p /etc/squid/politicas

Crie o diretorio para gerarmos nossos arquivos de certificados:
mkdir -p /etc/squid/certs

Use o seu editor de texto preferido e faça as alterações que considerar necessarias(o objetivo aqui é abordar a geração de certificados e do banco de dados ssl).
Um squid.conf que talvez possa ajudar:

acl localnet src 10.0.0.0/8 # RFC1918
acl localnet src 172.16.0.0/12 # RFC1918
acl localnet src 192.168.0.0/16 # RFC1918
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl allowed dstdomain .whatsapp.com:5222 .whatsapp.com:443
http_access allow allowed
acl blockkeyword url_regex -i "/etc/squid/politicas/palavras-bloqueadas.acl"
acl localnetsites dstdomain "/etc/squid/politicas/dominios-liberados.acl"
acl blockeddomain dstdomain "/etc/squid/politicas/dominios-bloqueados.acl"
acl bypass_caching dstdomain "/etc/squid/politicas/sites_fora_proxy.acl"
cache deny bypass_caching
http_access deny blockeddomain
acl myports port "/etc/squid/politicas/portas.liberadas.acl"
acl myaddrs dst "/etc/squid/politicas/ips.liberados.acl"
http_access allow myports myaddrs
acl CONNECT method CONNECT
http_access allow manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny blockkeyword
http_access allow localhost
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128 ssl-bump \
cert=/etc/squid/certs/squid-ca-cert-key.pem \
generate-host-certificates=on dynamic_cert_mem_cache_size=16MB
https_port 3129 intercept ssl-bump \
cert=/etc/squid/certs/squid-ca-cert-key.pem \
generate-host-certificates=on dynamic_cert_mem_cache_size=16MB
sslcrtd_program /usr/libexec/security_file_certgen -s /var/lib/ssl_db -M 16MB
acl splice_it ssl::server_name "/etc/squid/politicas/fora-proxy-cache.acl"
acl splice_local ssl::server_name "/etc/squid/politicas/dominios-locais-fora-proxy.acl"
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump splice splice_it
ssl_bump splice splice_local
ssl_bump bump all
visible_hostname NOME_DA_MAQUINA
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
pid_filename /var/run/squid/squid.pid
cache_effective_user nobody
cache_effective_group nobody
cache deny localnetsites

Crie seus arquivos de politicas e regras acl, lembrando de substituir a localização das acl acima pelas suas ou de criar as acls informadas no squid.conf.
Agora vamos da uma olhada nas seguintes linhas, as mesmas estão destacadas no squid.conf acima:

http_port 3128 ssl-bump \
cert=/etc/squid/certs/squid-ca-cert-key.pem \
generate-host-certificates=on dynamic_cert_mem_cache_size=16MB
https_port 3129 intercept ssl-bump \
cert=/etc/squid/certs/squid-ca-cert-key.pem \
generate-host-certificates=on dynamic_cert_mem_cache_size=16MB
sslcrtd_program /usr/libexec/security_file_certgen -s /var/lib/ssl_db -M 16MB

Elas definem o local onde iremos  armazenar o certificado que criaremos em seguida. Este certificado será usado para importarmos nas maquinas que terão o squid como proxy.

No caso acima, definimos esse diretorio como “/etc/squid/certs” e a ultima linha:
sslcrtd_program /usr/libexec/security_file_certgen -s /var/lib/ssl_db -M 16MB
Se refere ao local do banco de dados de certificados setados no squid.conf.
Com essa breve configuração e squid parado, vamos gerar os nossos certificados:
cd /etc/squid/certs

E, agora usando o openssl, geramos nossos dois arquivos; Um certificado e uma chave privada.

~#openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout squid-ca-key.pem -out squid-ca-cert.pem

Vamos usar o cat para pegar o conteúdo dos dois arquivos e redirecionar para um outro, no caso o arquivo que conterá tanto o nosso certificado quanto nossa private key:
~# cat squid-ca-cert.pem squid-ca-key.pem >> squid-ca-cert-key.pem

O arquivo acima, em destaque é o que iremos transferir para as maquinas clientes do squid.
Vamos aproveitar e gerar/inicializar  a base de dados de certificados:
~# /usr/libexec/security_file_certgen -c -s /var/lib/ssl_db -M 16MB

Na antepenúltima e penúltima linha nós temos o seguinte:

cache_effective_user nobody
cache_effective_group nobody

Essas duas linhas acimas representam para o cache o usuario e grupo, ou seja, as permissões de usuario e grupo que serão utilizadas. Aproveitamos e atribuimos essas permissões para o diretorio do squid e tudo que nele tiver presente.
~# chow -R nobody:nobody /etc/squid
Desta forma estamos aplicando as permissões para que o squid funcione sem problemas

Outras permissões para outros diretorios podem ser necessarias, experimente rodar ~#squid -k parse, leia as informações de log e veja se suas permissões estão corretas, caso necessario, aplique as permissões para nobody e restarte o serviço.
Após estes passos, bem provavel que tudo funcione, mesmo que com alertas sobre as acls(crie as acls).

Bom pessoal, como o intuito era vermos a parte do ssl, acredito que o tutorial se alongou até demais. De qualquer forma, se ainda tiver duvidas, comente ai.

Referencias
-> https://elatov.github.io/2019/01/using-squid-to-proxy-ssl-sites/
-> https://wiki.squid-cache.org/Features/DynamicSslCert

RFC 1918
-> https://www.rfc-editor.org/rfc/rfc1918.html

Instalação do FreeBSD 10.3

0

FreeBSD é um dos mais antigos e bem sucedidos projetos.
Certamente pela confiabilidade, robustez e desempenho do sistema.

Neste tutorial, vou instalar o FreeBSD 10.3 e depois instalar um ambiente Gráfico. (XFCE KDE Gnome).

Passo 1 – Transferir.

Clique no link https://www.freebsd.org/ para obter o FreeBSD.
clique em sua arquitetura no FreeBSD 10.3 Se você tem uma máquina de 64 bits ou uma máquina com processador Intel / AMD de 64 bits, escolha amd64. O ia64 é para processadores baseados em Itanium.

Se você tem uma máquina de 32 bits ou uma máquina
com um processador Intel / AMD de 32 bits, escolha
o i386. A maioria das máquinas mais velhas e laptops
irá utilizar esta versão.

Para usuários de Mac com processadores
baseados em Power-PC, escolher o Power-PC apropriado
(32-bit) ou PowerPC64 (64-bit) download.

O sparc64 é para processadores baseados em SPARC,
comumente usados em máquinas Sun / Oracle.

Passo 2 – Comece o Instalar.

FreeBSD 10.3 para Microsoft Azure

0

FreeBSD 10.3 para o Microsoft Azure fornecido pela Microsoft Corporation. FreeBSD é um sistema operacional de computador avançado usado para servidores modernos de energia, áreas de trabalho e incorporado as plataformas.

A marca e o logotipo do FreeBSD FreeBSD são marcas registradas da Fundação FreeBSD e são usados pela Microsoft Corporation, com a permissão da Fundação FreeBSD.

Termos legais

© 2016 Microsoft Corporation. Todos os direitos reservados.

Redistribuição e uso em formas de fonte e binária, com ou sem modificação, são permitidas desde que sejam satisfeitas as seguintes condições:

  1. Redistribuições do código-fonte devem manter o aviso de copyright acima, esta lista de condições e a seguinte exclusão de responsabilidade.
  2. As redistribuições na forma binária devem reproduzir o aviso de copyright acima, esta lista de condições e a seguinte exclusão de responsabilidade na documentação ou em outros materiais fornecidos com a distribuição.

Link Original https://azure.microsoft.com/pt-br/marketplace/partners/microsoft/freebsd103/