
Víor para palestrar atacando redes via Loraan. [Música]
Material. Chama a gente passa. Beleza.
Tem como jogar para lá? Tem, né? Deixa
tempo depois é isso.
Obrigado viu?
Obrigado hein? Obrigado. A minha do Beleza. Eu vou deixar uma folha de autorização para depois você assinar por gentileza. Decinar antes ou depois? Pode faz. Depois ficar depois. Beleza.
Pera aí, deixa eu colocar o bichinho.
[Música]
Só me ajuda aqui.
Hm. Hã.
Pode começar? Pode. Ah, mais para cá. Tá bom. Ah, então bora lá, pessoal, começar a palestra. Eh, o nome da palestra é Atacando Redes Laura One. Eh, meu nome é Victor Pasquinel. Eh, antes de eu começar a palestra, deixa eu só fazer uma perguntinha só para entender o contexto aqui da do pessoal também. Levanta a mão se você já ouviu falar de Laora, Laura Onean, Sigfox, Meschic. Beleza, então, muita gente, show de bola. Ah, então, só para falar um pouquinho sobre a minha pessoa, eu acho que eu vou correr um pouco aqui porque eu vou acabar querendo ganhar mais tempo para as demos no final. Eh, meu nome é Víctor Pasquel, eu sou lá de Fortaleza, no
Ceará. Eh, em relação à vida profissional, eu já tô na parte de Red Team Pest já há 14 anos. Eh, há um ano atrás eu entrei na vida de empreendedor, criei a uma empresa que é a Red Wolves, que faz parte de um grupo que é chamado do Cer Horizon. Lá eu tô como vice-presidente, sou um dos líderes do capítulo do ASP em Fortaleza. Eh, em relação a meio acadêmico, eu fiz toda a trajetória ali de graduação, mestrado e doutorado em ciência da computação. Também sou professor universitário em Fortaleza há mais de 10 anos já. e de palestras, graças a Deus, acho que os principais aqui do do Brasil eu consegui. Ano passado rolou o Cloud
Village na Defon também. Eh, Bides, eu acho que é a terceira ou quarta vez que eu palestra aqui antes quando era na faculdade ainda. Mas beleza, vamos falar aqui sobre um assunto mesmo da palestra, porque eu tenho muita muita coisa para falar e muito muita demo também para para mostrar. Eh, basicamente essa palestra é uma palestra de IoT. Vou est falando muito sobre IoTi, um pouco de SDR e um pouco de de hardware hacken também. É meio que uma soma dos três assuntos, mas é uma palestra de IoT. Se você por acaso não conheceu o termo de Laura Onean, é é basicamente uma tecnologia eh nova que tudo faz parte desse cara aqui, LP1. Ah, e só para eu me esqueci
de falar, mas esse assunto aqui de LP1 e Lora no geral foi algo que teve relacionado com a minha pesquisa na época do do doutorado. Eh, então, tudo começou com LPAN. esse esse termo aqui. A primeira vez que eu me deparei com esse cara foi ali quando eu tava 2017, mais ou menos no início do doutorado, e era a gente queria algo novo em relação ao assunto e aí a gente caiu logo de cara com esse assunto de LP1, que é o Low Power Wide Area Network, ou como eu gosto de falar, simplesmente é o IoT de longa distância. Então, se vocês, muita gente é bom que já levantou o braço, mas basicamente é uma nova tecn
assim, porque já faz um tempinho, mas ainda é muito novo para, eu vejo para muita gente e é basicamente uma tecnologia de comunicação sem fi para como eu falei, sendo que agora é para longa distância, eu acho que muita gente já conhecia coisas mais de rede mex, tipo zigb, mas aqui o contexto é é basicamente outro. Então, em relação às principais características ou o que os vendors meio que prometem, é que agora a gente tá falando sobre longas distâncias, aí a gente tá falando sobre coisas tipo quilômetros e aí isso vai depender muito em que local os sensores estão. É coisa que, por exemplo, ah, se tiver em ambiente urbano, sei lá, é coisa de 2 a 5 km. E se você tiver em
ambiente rural, fazenda, esse tipo de coisa, então você pode botar 10 km pra frente do que um sensor é capaz de transmitir. A ideia agora é que a bateria desses caras, ele a a grande maioria vai estar rodando ns sensorezinhos pequenos a na bateria, na pilha. E a promessa é que dure pelo menos uns 10 anos aí, mas eu vou já explicar o porqu seri esses 10 anos. Agora a ideia é de topologia estrela. Então, por exemplo, esquece do Zigby, que o Zigby a ideia era de um sensor passar pro outro, que passa pro outro até chegar no gateway. Como você não tem mais que fazer esse trabalho de ficar roteando mensagem pro outro sensor, basicamente o sensor pode
ficar dormindo a maior parte do tempo e é por isso que consegue ter tanta eh economia de de bateria. Eh, mas tem um ponto fraco que é a grande desvantagem é o quê? As taxas de transmissão são bem lentas, principalmente se você comparar com as outras tecnologias de IoT. Eh, aí quando a gente tá falando sobre LP One, eh, os principais players, quem tá nessa brincadeira aqui é Lora, em primeiro lugar, eh, NBIOT, que tá lá no no 5G, no 3G PPP, eh, o Sig Fox e outros caras que eu vi isso aqui muito na época do doutorado, mas eu nem sei se existe ainda, que é o Engino e o e o Waitless, mas os três aqui da frente são os
principais, Laura, NBOT, Sig Fox. Ah, aí quando a gente tá falando sobre Lora, gera muita, eu vejo muita confusão, porque você tem um tempo que é Lora e você tem um outro cara que é Lora One. Qual é a diferença dos dois? Eh, Lora, basicamente, quando a gente tá falando desse Lora, é, a gente tá falando sobre camada física. Laura é é proprietário, foi criado por essa pela essa empresa aqui que é a CINTEC e Laura significa long range e é baseado num é num esquemazinho específico de modulação e eu vou nas demos mostrar isso, que é esse cara aqui, o Chpread Spectrum, que é o CSS. Eh, e esse cara roda em eh em canais de frequência, que
é o ISM Band, né, que seriam os sem licença, que seriam os de uso grátis. Eh, e aqui no Brasil a gente tá nesse último cara aqui que é o da Austrália, o 915, é o que a gente usa aqui. E aí quando a gente tá falando sobre Laura Onean, que é o o tópico aqui da palestra, aí a gente já tá falando sobre camada de de enlace e rede. Então, Lora é camada física e é proprietário, mas aí quando a gente tá falando de Laura Onean, aí já é camada de enlace rate. E aí isso aqui é é aberta, especificação aberta. Quem toma conta disso aqui hoje, hoje não, já faz um bom tempo, é um grupo chamado Laura
Alliance. Aí você tem algumas empresas grandonas que estão aqui dentro desse grupo e tem vários perfis de dispositivo A, B e C, que na verdade isso aqui vai mudar em relação a o consumo de energia dos dos dispositivos. Tipo, classe A é o cara que tá ligado na na pilha e tem mais restrição. O classe C é o cara que tá ligado na tomada e tem energia toda hora. E o B é o meu termo entre os dois. Mas o que você vai mais ver no campo mesmo, em atuação é o classe A. E aí, ó, eh, tem duas versões basicamente que é engraçado que se você pegou aquela época que era o Python 2 e
o 3 e tava na migração, é meio que parecido. Eh, você tem o Laura One 1.1, que é de 2017, no doutorado que eu mais mexi foi esse cara. E aí você tem um outro cara que é o 104. E é engraçado que o 104 foi lançado em 2020 depois do 1.1. Qual foi a qual foi o o BO aqui? O 1.1 ele veio com maior nível de segurança. Eu vou explicar um pouquinho sobre isso aí mais na frente aí dos slides, sendo que ele com esse nível maior de segurança, ele também trouxe um um nível de complexidade maior. E aí o que que foi que aconteceu? Muita gente da área não gostou desse aumento de
complexidade e eu vou meio que explicar o que é assim por cima e meio que ainda ficou usando as versões antigas do do Laura One. Então criaram o 104 que é meio que trazendo alguns recursos do 1.1, mas sem alterar a estrutura de segurança, n até porque o 1.1 não foi somente questão de segurança, não, teve outros pontos também. Então, o que eu vi mais e já peguei até projeto da vida real que tive que analisar alguns sistemas embarcados que usava Loran Onean, tava todo mundo usando o 104. E aí eu perguntei exatamente isso, rapaz, o um, se tem 1.1 que é mais seguro, por que que vocês usam 104? Porque é menos complexo e é mais fácil
na hora da gente criar a infra. Aí, tá bom. Então, eh, o foco aqui dessa palestra vai ser no 104, que é o que você vai acabar mais vendo no campo mesmo. Não que ao longo da palestra eu não fale algumas coisas que são específicos da 1.1, mas vai ser meio que uma mistura, mas eu vou dar um foco mais na 104. E aí, ó, pronto. Para entender tudo isso aqui, a gente tem que falar sobre esse cara, que é a topologia. Aí, o que que acontece? Eh, aqui do lado esquerdo a gente tem os sensores que são os dispositivos e aí você vai ter todo tipo de de sistema embarcado inteligente aqui pegando informação de, sei lá,
iluminação, umidade, presença, pressão e por aí vai. E aí esses caras aqui vão estar em ambientes que pode ser tipo, sei lá, cidade inteligente, ambiente industrial, fazenda inteligente, que é o Smart Farming e por aí vai. Qualquer contexto onde você tenha um cenário de monitoramento remoto, é onde você vai mais encontrar isso aqui. E aí sim, os sensores mandam a a as mensagens sobre o ambiente via lora. Então isso aqui é a camada física. Aí desse cara para esse cara do meio pode ter quilômetros de distância. Aí chega aqui na parte em amarelo aqui do meio, que são os gatwayes. Aí o que que acontece do meio? pra direita é tudo rede IP tradicional, que é o que a gente já conhece. Daqu do
meio pra esquerda é lora, mas aí do meio pra direita já é as coisas mais tradicionais. É o que é que acontece? Tem além dos gators, esse cara aqui ele vai ter uma interface que vai est se comunicando lora e outra interface que vai dar pr pra rede interna aqui. E aí o que que acontece? Eh, vai ter um servidor que é o network server, que esse cara é meu que o servidor principal, ele que é responsável pela parte de autenticação, validação de de pacote, roteamento de algumas outras coisas. E no lado final aqui na na direita, você vai ter o application server, que é onde o usuário final tá, né? Então, o que que acontece? Na
verdade, dá para atacar quase que tudo aqui nesse ambiente e eu já peguei uns projetos também reais que deu para atacar meio que que tudo, mas aqui até pela questão de tempo a gente vai estar mais focado aqui do lado esquerdo, mas saibam que dá para atacar as outras coisas também. Eh, então bora lá. Aí pra gente começar, a gente já meio que entendeu como é que funciona aqui a topologia, né? E aí como é que funciona agora a segurança, até pra gente poder entender as outras coisas. Eh, basicamente ele é todo baseado no AS 128 em relação à criptografia. Aí, algo que é super importante de entender é que, deixa eu ver se, pera aí. É porque eu
tenho um sensorzinho desse dentro da mochila. Deixa eu ver se eu consigo pegar. Ah, não tá fácil aqui não. Eu tento pegar no final. Eh, então cada sensor vai ter que ter dentro dele vai ter que ter uma chave mestre que é chamado de application key. Ou então se você for ver as as especificações, ele eles vão sempre estar eh referenciando pelos nomezinhos aqui abreviados. E essa chave mestre é a EP. E aí o que que acontece? Vai ter um processo de autenticação do sensor em que durante a autenticação vão ser derivadas duas chaves, que é essa de verde e azul, que é a chave o network session key, o de sessão de rede, e vai
ter um application session key, que é o azulzinho aqui. Então é o é o network s key e o app key. Aí o que que acontece? Essas duas chaves são geradas durante a autenticação a partir da chave mestre, que é o application key. E cada uma delas vai ter um papel específico, até porque tá no outro slide. E o que que acontece? Além de ter a autenticação do do autenticação do dos sensores, as mensagens são criptografadas e aí cada mensagem é assinada com um cara que é o MIC, que é o Message Integrity Code. É o código de integridade de mensagem. Isso aqui é meio, vai ter meio que duas, como é que eu posso dizer? Vai ter dois
propósitos. Um vai ser autenticar o o próprio sensor e também para ver a integridade da mensagem em si. Se alguém, por exemplo, tentasse capturar mensagem no meio do caminho, tentasse mudar alguma coisa e mandar pra frente. Então isso impede eh que esse tipo de situação ocorra. Também no Laura One não existe tipo ataque de replay, que é muito comum. A gente vê isso em IoT, numas coisas mais simples. Os pacotes aqui tem um frame counter, então esqueça, você não vai ter questões aqui de ataque de replay. Então é o nível maior de segurança em relação a outras coisas de IoT, né? Umas coisas mais simples. E aí o que que acontece? Eh, só para exemplificar melhor, a chave
principal, application em vermelho. Durante a autenticação vai ter uma derivação de chaves que aí são as chaves de sessão. A Network session key, que é a verde, ela vai ser utilizada para assinar o mic das mensagens posteriores, que aí são os dados dos sensores mandando pra rede. E você vai ter a de azul, que é o application session key, que é o que vai est, é criptografando o payload em si, o conteúdo da mensagem. Então é só para lembrar desses dois propósitos. Um vai assinar cabeçalho, que é o MIC, e o outro vai assinar ou e o outro vai criptografar o payload. Então, beleza. Sobre os métodos de autenticação, eh, basicamente são dois. Tem o o ABP e o OT AA. O ABP Activation
by Personalization. Esse aqui é o método mais simples, onde essas duas chaves anteriores, as de sessão, já vão tá meio que estático ou hardcoded no dispositivo, no sensor. Qual é o problema? É porque essas chaves vão ser meio que eternas e aí é mais sensível ao ataque físico. Se você tiver acesso ao hardware e fazer algum tipo de dump de memória, você vai ter acesso a essas chaves. E quem meio que morreu, você vai poder fingir que é o o sensor por enquanto as chaves esverem válidas lá e não forem trocadas no network server. Eh, e o outro caso que é o mais o mais seguro, que é o OTAA, que é o over the
activation. Aí não, aí aqui você tem um hand shake de autenticação que aí durante esse handche shake são trocadas alguns alguns dados que eles são usados para derivar a chave de sessão. E eu vou mostrar isso no próximo slide. E aí depois que o sensor é autenticado, ele além de ter a chave de sessão, ele vai receber um cara que é o device edress, que é meio como se fosse o endereço dele agora na rede. Então, ó, eu espero que seja possível de ver, mas isso aqui é basicamente o handshake do de autenticação do sensor. Eh, é basicamente dois tipos de pacote. é chamado de join request, que seria o de início de autenticação, e o outro que
é o de join accept, que é o que o network server retorna pro pro sensor. Mas o que é que tem que entender sobre isso aqui é que nessa nesse handshake entre o sensor e o network server é trocado algumas informaçõezinhas que a partir disso tanto o network server quanto o sensor vão ser capazes de derivar as chaves de sessão a partir da chave mestre que é a EP a vermelha lá. Uma vez que isso aqui for feito, tanto o sensor quanto o network server vão ter a chave de sessão e a partir desse momento aqui no passo três, o sensor pode ficar enviando dados pra rede e ele pode eh mandar pro application server, né? Ah, e
aí sim é que vai ser decptado no no application server. E aí, como é que funciona essa parte da derivação? E isso aqui é importante para ajudemos. Isso aqui é da especificação da 104 e é como é que ele gera tanto o network session key quanto o application session key. Eh, tem esses dados aqui, ó, join net id o dev. Esses três dados aqui estão nos cabeçalhos desse handshake aqui. E o cabeçalho não é criptografado. É bom falar isso. O payload é, mas os cabeçalhos não. Então o que que acontece? Se você tiver capturando, você consegue pegar esses esses dados do cabeçalho. Então, esses dados aqui a gente consegue pegar no na captura. Eh, a a qual é a
única coisa que a gente não tem dessa equação aqui? É a chave mestre, que é aqui, ó, web key. E aí, para diferenciar network session key app session key, ele só bota um um ou um dois aqui para diferenciar cada um. Mas então, o nosso grande desafio aqui, já dando um spoiler lá paraa frente, vai ser como é que eu descubro a chave mestre do sensor. Então eu vou chegar nisso aí, mas saiba que se você tiver a chave mestre, você consegue chegar na chave de sessão e meio que pronto, você pode forjar a mensagem e decriptar a mensagem de sensor e basicamente se passar por ele e e também fazer só coisa boa. Eh, beleza. Isso
aqui foi só eu falando de fundamento para meio que explicar o o Laurel One. Vamos pra parte boa mesmo que é a parte da maldade. Então começar a parte de penest em Loran e eu coloquei isso aqui meio que como se fosse uma quase uma timeline de um Qchain. Eh, parte de captura de mensagens, parte de mapeamento de rede, extração de chave e envio de mensagem no final. Então bora lá. Talvez eu esteja correndo, mas porque é muita coisa para mostrar. Beleza, captura de mensagens. Aí, ó, o que que acontece? Eu falei que Laura One ele utiliza os planos de frequência, que é o do ISM. Então, é tudo, é basicamente 433 MHz, 868 e 915.
Aí o que é que acontece? A gente no Brasil usa o australiano, o AU 915 até 928. Então, quando a gente for começar a coletar eh eh sinal, a gente tem que ser capaz de sintonizar nessas frequências aqui para receber as mensagens. Aí, ó, eh, para entender um pouquinho, eh, ah, um ponto super importante, porque eu devia ter dito no início, mas não falei, é que LP One geral, no geral, seja Laura One, seja Sigfox ou NBIT, o foco aqui é no uplink. O UPLink é o quê? é a mensagem que sai do sensor e vai pra rede. Então, tem down link, tem, mas é porque o grande foco das tecnologias em si, e até o que você vai ver de
transmissão é do sensor paraa rede. Você não vai ver muito down link, que é da rede pro sensor, então o foco é muito maior no uplink. Ah, então basicamente pro beleza, vamos pegar o australiano, porque é o que a gente usa no Brasil, o AU915. Eh, Jupink são basicamente 72 canais. Eh, o que vai diferenciar aqui é é a largura de banda de cada canal. São 64 canais, sendo o Bend de 125 kHz. Aí vai começar do 9 aqui, ó, vai começar do 915.2 e vai até o 927. oito. Aí tem oito canais que aí já é a largura de 500 kHz. Eu na na verdade eu nem sei o o por que é, mas aí também vai do 915.9 até o 927.
E tem oito canais específicos de downlink, que eu acho que são esses em amarelo aqui. Ah, mas o nosso foco é exatamente nesses caras aqui de cima, que são os de op link, né, do sensor para pra rede. Em relação à cabeçalha de pacotes, eu não vou entrar muito nisso, até por causa da questão de tempo. O que é que precisa entender é que os os pacotes de autenticação, que é o de join request, o de join accept, eles têm um formato específico de cabeçalho e o restante meio que segue esse padrão aqui de baixo, né? Aí você vai ter coisas tipo device address, que é o o endereço do sensor, o frame control, o frame e o
counter, que é é exatamente o que vai evitar ataque de de replay, tem o options e e por aí vai, mas eu não quero perder tanto tempo em relação a isso não. Aí, pronto, isso aqui é importante, os tipos de mensagem, cara, Laura Onean e Laura no geral é uma coisa simples, não é assim coisa do outro mundo não. Basicamente você vai ter dois tipos de pacote para autenticação, que é o de requisição de resposta, o join request, o accept. Aí você vai ter quatro tipos aqui, que é o quê? É o de envio de informação up link e o de down link, o que volta na rede, sendo que sem confirmação. Aí tem a mesma coisa de
envio do sensor pra rede, que é o uplink confirmado, e a mesma coisa de downlink confirmado né? Eh, tem o RFU, que é o reservado para caso eles venham com outros tipos futuramente, e o último que é o proprietário. Então, na verdade, na real, o que a gente vai mais ver e o que você acaba mais vendo em ambiente são os quatro primeiros, que é os dois de autenticação e esses dois aqui que seria de de ou aliás, é o é o terceiro que é o uplink aqui, o unconfirm e o confirm. Mas bora lá, vamos começar a já indo pra parte das demos. Eh, captura de mensagem. Como é que a gente pode fazer
isso? Eu vejo duas opções principais. Eu vejo uma primeira opção, você usar SDR. Eh, levanta a mão, quem é que sabe o que que é SDR? Oxe, tá ótimo. Ho, tá muito bom isso aqui. Eh, então, para quem não conhece, basicamente é software definido por rádio. Eh, para que que eu gosto de usar isso aqui? Na real, eu não vou usar isso aqui para capturar os pacotes. Eu vou usar só meio que para servir como reconente que eu tô tem alguém mandando sinal lora. Eu acabo usando o SDR mais para isso nesse contexto aqui. Então, basicamente é usar tipo um recarefa, um lime SDR junto com um espectrograma e ver se tem alguém realmente transmitindo
algum sinal. Ora, eu eu vejo que é mais para isso mesmo. Aí tem a parte de gateway, que é o quê? Eu eu vejo que a grande vantagem é a facilidade de configurar e utilizar. E o melhor que você já vai ter a demodulação das mensagens, que isso aí que vai ajudar bastante para as outras etapas. Aí quando a gente tá falando sobre gateway, basicamente tem dois tipos. Tem um single channel, que são os os mais simplesinho, mais barato, mas é o cara que só consegue escutar em um determinado canal. Por exemplo, quando eu comecei no doutorado, só existia isso aqui. E aí, ao longo dos anos foram aparecendo os multichannel que aí hoje você já tem gateway, que é oito canais,
16 canais e por aí vai. Misericórdia, sério. Calma aí. Eh, então vamos lá. Vamos, vou ter que correr, então vamos logo para as demos.
Eh, essa primeira demo aqui é exatamente eu tentando fazer a captura inicial. Aqui eu tô usando o SDR Angel, eu tô usando junto com Recaref. E aí o que que acontece? Eu vou tentar fazer exatamente isso que eu tava falando, né? fazer um ricon do ambiente que eu tô para ver se tem alguém transmitindo naquela determinada frequência, na verdade. E já spoiler é esse cara aqui que tá transmitindo aqui nesse cara. Não tá dando para ver nos vídeos, mas é eu acho que é o 916.8 aqui e é esse cara que tá aparecendo bem aqui essa esse sinalzinho. Então beleza, eu vejo que tem a presença de um determinado sinal naquela naquela frequência. E aí, o que que eu vou o que
que eu vou fazer? Eh, eu vou começar a capturar o sinal para depois eu poder ver eh mais a fundo a modulação. Então, eu vou colocar lá no no 916 de novo. Na Eu coloco no 917 porque é próximo ali do do ponto8. E bem ali eu já vejo meio que a presença do sinal. Você vê que de vez em quando aparece uns picos. Eu começo a captura aqui. Aí eu deixo, sei lá, uns 10 segundos capturando, mais ou menos. Ã, vou parar e aí vou lá pro, vou agora pro Spectrum. Ele salva aqui nesse, nesse arquivozinho, coleta. Vou abrir em outro cara que é o Spectrum para eu poder ver o o sinal que é
capturado. Aí tem um tempinho aqui do vídeo que é eu encontrando o sinal, basicamente. Ã, tem algumas coisas aqui, mas não interessa. E aí eu vou exatamente atrás do que eu sei que é o sinal. T tã. Vai passando, passando, passando. Não, também não é esse. Pronto, é esse cara. Vou dar um zoom nele aí. Deixa, pera aí. Demora um pouquinho, mas é do processamento da máquina isso aí. E aí, o que que acontece, ó? Eu não sei se vai dar para ver aí. Espero que vejam, mas vocês vão ver que tem uns sinais que parece que tá meio que na diagonal assim, indo de baixo para cima. Isso aqui é um churp, que é exatamente a
modulação que é utilizada pelo Lora. É bom que agora eu vou dividir, ó, e vai dar para ver bem direitinho, ó. Esses de você vê de baixo para cima, sempre na diagonal, de baixo para cima, de baixo para cima, mas mas um pouquinho mais paraa frente muda, inverte a direção, né? né? Vai ser de de cima para baixo. Então, basicamente, isso aqui é a comunicação digital binária e ele tá usando o CHERP, exatamente para fazer a comunicação. Então, se eu ver esse tipo de coisa, eu sei que eu tenho comunicação lora naquele ambiente, tem alguém transmitindo. Vamos lá correr, correr, correr. Ei,
não. Beleza. Mas aí, ó, isso aqui foi só pr fazer um recon. Basicamente o que eu uso mesmo na prática é um gate. O que eu uso é esse aqui, o da Sens Cap, o M2. É, tem melhores de 16 canais, mas é mais caro. Então, o que eu uso aqui é esse caro, oito canais. Tem um chipset também da Semtec. Vários suporte de de frequência. diz o fabricante que pega até 10 km e tem eh integração com diferentes tipos de de network server. Mas aí, ó, o que que eu vou fazer aqui na na minha brincadeirazinha pra gente poder entender da do meio aqui pr pra esquerda? É meio que eu não mexo nada,
mas o gator eu vou usar esse gatit aí que eu que eu mostrei da Senscap. Aí a brincadeira muda aqui do lado direito, que é o quê? Eu tenho um programinha que eu vou já mostrar, que é o Laura One Mapper, que ele recebe os pacotes que chegam no gateway. Aí eu basicamente vou fazer duas coisas. Eu vou fazer o decode desse dessas mensagens e vou criar um pack, jogar pro Ar Shark e aí eu vou poder ver em tempo real os pacotes chegando. Isso aqui deu um trabalho enorme para fazer, mas foi muito divertido no final. E também eu pego informações nas transmissões e vou jogando para um banco, um new 4J. É exatamente para eu fazer a verificação
das redes depois. Então, basicamente o Laurão One Map, ele tá aqui no meu no meu GitHub. Ele é basicamente uma ferramenta para captura e visualização das redes one. Ele é desenvolvido em goeng porque é uma linguagem de de respeito. E aí em relação às funcionalidades, ele vai fazer basicamente isso, né? Processamento de pacote que chega dos gateways, o decodaps e vai armazenar tudo no NewJ. Ah, tô correndo, tô correndo.
Então, eh, esse aqui é só para mostrar um exemplo. Ah, eu tô com um contêiner do New For aqui, só para mostrar que que tá rodando e eu tô jogando as informações para lá. Ah, primeiro eu tenho que fazer o setup do banco. Aí tem um comandozinho exatamente para fazer o setup. Ele vai criar as tabelas, as coisas lá. E aí depois eu posso criar eh iniciar a captura. Ele vai começar a receber os dados que chega do gateway, vai criar o pep, vai criar um pipe que é para ele pegar os pacotes do pep e jogar pro o pipe. Calma, pede só um pouquinho, tá quase. E aí sim, aí eu consigo ver os
pacotes chegando em tempo real, né? Vou vou correr, vou correr, correr. Pera aí. Então, basicamente serve para isso. Eh, beleza. Eu consigo ver os pacotes sendo coletados, chegando em tempo real. É mapeamento de rede. Mapeamento de rede. Nossa, eu vou mostrar os vídeos enquanto eu falo que eu acho que é melhor. Isso aqui eu fiz de ontem para hoje. Eu deixei o GT rodando no hotel e basicamente deixei a noite inteira rodando. Ah, foi mais de 11.000 mensagens que que eu recebi. Ah, legal que aí eu vejo o gate e a frequência, o endereço do dispositivo. Aí eu vou lá no New For. Aí aqui eu consigo começar a mapear as redes, né? Aí eu consigo ver,
ó, os join server, o join server já é do lora 1.1, que é o cara que é responsável pela autenticação. Aí eu consigo ver, tipo, os sensores mandando mensagens por join, então eu consigo ver com quem os sensores estão tentando se autenticar, né? Ahã. Eu vou tentar ver exatamente o processo de de autenticação. Então vou fazer um match aqui do do deffice se autenticando com join pra gente ver os grafos e aí eu consigo ver já alguns que eu tenho certeza que são sensores se conectando com os Jover. Mas o que que acontece? Como eu falei, tem diferentes tipos de autenticação. Então alguns se conectam com o Join Server, que é o que seria o network
server na versão antiga, mas alguns outros eu posso filtrar. e tentar mapear, não pela autenticação, mas pelo um envio de mensagens que seria o uplink. Deixa aí eu ver se eu consigo pular aqui um tiquinho. Aí agora eu vou tentar mapear não pela autenticação, mas pelo os dados que é enviado op link. Aí agora aparece gente para caramba. Ã aí eu vou tentar mapear, em vez de mapear pela autenticação, mapear pelos uplinks, né? E deu, é porque não aparece, mas deu mais de 300 dispositivos. Então, pense que você tá naquele negócio, você tá capturando com quilômetros de de distância e aí você consegue basicamente ver eh exatamente o que seria cada cluster desse seria uma
rede diferente. E aí eu consigo ter exatamente essa essa correlação. OK. Beleza. Ei, corre, corre. Ã, então, só para já finalizar aqui, eu acho que esse é um dos mais importantes em relação à extração de chave, que é o quê? É, como é que eu chego no K? Para fazer isso aqui, você tem que ter acesso físico ao equipamento e você tem que fazer o dump de memória do do sensor. Aí meio que não importa qual é o método, se for Jte, SWD e o arte, o que for, mas o importante é você ter acesso ao dump de memória do sensor. Mas beleza, você faz o dump de memória e a pergunta principal é o o dump de de
memória vai ser um arquivo BIM e como é que tu encontra a Epic dentro do do dump? A a a pergunta principal é essa. Mas aí, ó, a minha resposta foi o quê? O primeiro pacote, que é o pacote de autenticação, que é o join request, o mic dele, que é o de integridade, é assinado com quem? Com a chave mestre, webk. Então, o que que acontece? Se você tiver o dump de memória do sensor e tiver coletado essa mensagem de autenticação, você consegue chegar na chave lá do dump. Então, basicamente, é o quê? É, é coletar o o pacote de autenticação, fazer dump de memória do do sensor. E aí, ó, a gente vai meio que
percorrer a o o damp de memória em janelas de 16 bytes. Aí, de 16 em 16. a gente vai usar essa janela como se fosse a chave para calcular o código de integridade do pacote de autenticação. Se for o micreto, chegou no EP, caso contrário, só vai pros próximos 16 by do tampo de memória para ver se consegue chegar e encontrar. Vamos lá. Ah, pera aí. Pronto. Então aqui é só vendo, ó, um determinado pacote de autenticação. Eu vou copiar o pacote como se fosse base 64, só para eu poder jogar pro script depois. Ã, eu já tenho meu arquivo aqui, o demo, o dump bin, que seria exatamente o dump de memória do sensor. Ah, só para
mostrar que ele é um arquivo, um binata. Aí sim, eu vou chamar o outro. Esse aqui é outro script meu que aí sim eu faço o quê? Eu passo como parâmetro o conteúdo do pacote de de autenticação como base 64 e passo o PEF do arquivo do damp de memória do sensor. Aí, fazendo isso, ele vai fazer aquele aquele processo que tá nos slides e aí, basicamente, ele vai fazer o decode do pacote de autenticação, vai validar o MIC e ele, se tiver a chave lá no no dump de memória, ele vai encontrar a chave do Epi, que a chave mestre é exatamente essa aqui de baixo.
Aí, basicamente aqui, uma vez que você tiver a chave mestre, você pode fazer tudo. Você pode, porque a partir delas vai ser as outras chaves. Você pode fazer análise de tráfego, decrypt do das pacotes, análise payload ou fazer o que eu acho que é o melhor, que é forjar e fazer spoof, é você se passar pelo dispositivo e aí você começar a mandar mensagem forjada. Eh, aí aqui é só um exemplozinho que é um dos sensores que eu uso que é o low p, era a forma como você poderia alterar o dev e o i que é meio que o MACR do sensor. Aí se você mudar isso aqui e colocar o app ke você
basicamente se passa pelo sensor atacado. Nós corri para caramba, mas basicamente eh a talk era sobre isso. É, basicamente falar sobre Laura e Laura Onean, que é algo que é muito importante para mim, porque foi um dos temas aí do do doutorado. Eu acho que é só o que a gente vai ver com mais frequência ele, porque aí é tudo que você vê, cidade inteligente, Smart Grid, Smart Farming, esses contextos maiores de IoT, a gente tá vendo esse cara agora e é legal porque envolve eh hardware hacking, SDR e algumas coisas diferentes, mas acho que era isso. O GitHub, o Dolora One Mapper tá aqui para quem quiser baixar. E é isso. [Aplausos] Eh, vem aqui agradecer o Víor pela
palestra. Agora vou chamar o nosso último palestrante, que é o Artur, para palestrar como hackear um banco sem sair do seu quarto.
[Aplausos]
Tudo bom? Tudo bem. Prazer, hein? Prazer. Ele é vou dar o máximo auxílio aí para você. Eu vou tentar mostrar nas partinhas quanto tempo para acabar. Beleza. Tá bom. Desculpa seu tempo aí deu uma atrasada legal. Slide. Tem tem. Eu vou aproveitar também tirar essa listinha que é o termo de atualização de imagem. Tem passar, tem.
[Música] Vou deixar aqui. Beleza. Som.
Acho que é esse aqui, né? Cadê o bagulho de passar? Tem o SBD aqui, ó.
Passar
você já tá cuidado tem uma caneta para
tá
Não, só o nome completo, né?