fala pessoal andrees Alonso aqui e você já imaginou conseguir acessar um documento confidencial executar alguma função em algum site deletar a conta de alguém alterar algo simplesmente trocando um número trocando um número de um para dois de 1000 para 2000 essa falha que eu vou te mostrar uma falha que consiste em você trocar identificadores e conseguir executar ações que você não devia em um site então passando pra minha tela eu vou te apresentar a falha de idor a sigla idor da falha que eu vou te apresentar significa inac Direct Object reference ou traduzindo referência em segura a objeto mas esse nome ele é um pouco confuso referência insegura objeto essa falha ela te permite acessar dados confidenciais executar funções dentro de sites e simplesmente trocando algo trocando um número uma letra um identificador e ela se chama referência insegura objeto porque trocando esses identificadores que a gente acessa objetos mas como assim ainda ficou um pouco confuso eu vou mostrar um exemplo prático aqui um site que provavelmente você já acessou talvez acesse todos os dias que é o YouTube aqui dentro eu posso abrir um um vídeo aqui picaapau em português e quando eu acesso esse vídeo esse objeto dentro do Servidor ele é acessado por meio de um parâmetro um parâmetro aqui na URL inclusive você viu na aula de de urls abrindo esse parâmetro aqui abrindo esse link vendo a estrutura desse link a gente tem um parâmetro chamado V aqui parâmetro chamado v e define o identificador do vídeo então o vídeo do pica-pau aqui que eu tô vendo ele ele tá nesse identificador se eu alterar o vídeo que eu tô assistindo para algum outro Olha só o identificador aqui em cima ele muda então ele vai desse identificador desse identificador da aqui para Esse identificador caso eu acesse um outro vídeo por exemplo vou pegar esse daqui e Copie o identificador desse vídeo também do V igual e troque aqui eu vou trocar o vídeo e o que que isso quer dizer isso quer dizer que por meio do parâmetro V eu tô acessando um vídeo eu tô acessando um objeto no servidor esse link que eu tenho aqui ele acessa um vídeo do pau um vídeo x esse outro ele Tá acessando vídeo Y ele tá sendo enviado o que acontece quando você acessa o link você acessa um servidor o servidor vai no banco de dados em algum local ele vai lá e pega o vídeo com aquele identificador e pega aquele vídeo se você troca o identificador ele pega um outro vídeo Mas a questão é que se a gente tentasse alterar Esse identificador para tentar encontrar um vídeo privado do YouTube se ao invés de acessar com Esse identificador um vídeo do pica-pau a gente tentar se trocando Esse identificador até acessar um vídeo que é privado vídeo que não é público um vídeo que não deveria ser possível ser acessado Essa é a falha de idor uma falha que você consegue trocar um identificador e acessar algo que você não devia algo secreto inclusive Isso foi uma falha que foi encontrada no YouTube um pesquisador de segurança ele simplesmente tentou criar um vídeo público Ele criou um vídeo público no YouTube depois ele criou um vídeo privado que ninguém deveria assistir e ele tentou trocando os identificadores aqui do vídeo tentar acessar esse vídeo privado ele conseguiu ele conseguiu ter acesso direto a um objeto privado que ninguém deveria ver isso pode ser aplicado não somente em vídeos mas em várias outras coisas e eu vou te mostrar aqui na prática aqui na minha tela eu tô com Hub do monal Bank o banco que a gente vai hackear o banco que nos chamou para hackear ele e aqui dentro do montal Bank a gente pode fazer várias a gente pode não sei acessar nossa conta ver os nossos dados pessoais noa nossa conta a gente tem nosso nome conta contato as informações da nossa conta gente voltar aqui a gente pode fazer transferências podemos fazer várias coisas ver o extrato da nossa conta também tem nenhuma atividade aqui então podemos fazer várias coisas mas agora bora prestar atenção nos identificadores aqui em cima Mont Bank deixa eu abrir essa URL um pouco maior para vocês verem monal Bank hubp user é igual a MK user igual MK dentro da URL do banco do HUB sendo definido usurio Mas como que isso tá acontecendo e se eu Trocasse de MQ por exemplo pra MJ olha só ele não rou nada mas quer dizer que a gente tá tentando acessar algo que não existe e se a gente pode acessar algo que não existe talvez a gente possa acessar algo que existe também mas a questão é que como que a gente vai adivinhar o que que a gente vai colocar aqui MQ MJ não faz nenhum Talvez isso seja caracteres aleatórios talvez não sejam Talvez tenham alguma ordem por exemplo os vídeos do YouTube os vídeos do YouTube eles são gerados aleatoriamente então eles são difíceis de serem adivinhados é muito difícil alguém explorar uma falha de idor no YouTube por exemplo sem saber o identificador do vídeo tentando adivinhar ele porque ele é totalmente aleatório mas se gente tentasse ir para uma outra área aqui do site vamos lá Vamos ir aqui acessar conta olha só entramos no registro e olha aqui a URL do registro a URL do registro tá como dados PHP ID = a 1 será que esse é o usuário um do sistema ID ig a 1 se a gente tentasse trocar por exemplo para ID = 2 olha só a gente acessou um outro usuário aqui dentro simplesmente trocando o identificador que levava a pessoa ao usuário a gente tá vendo as informações ao invés da minha conta Andre Alonso agora a gente tá acessando a conta do Murilo Murilo Martim Levi Pereira conta o e-mail dele o contato e todas as informações confidenciais dele simplesmente alterando Esse identificador aqui a gente percebeu na URL inclusive o outro identificador que havia aqui atrás se você analisar ele bem tentar entender a codificação que ele tem tentar testar várias coisas você vai ver que Esse identificador aqui ele também era um número Ele também era um número sequencial mas ele estava criptografado em base 64 se você descriptografar esse esse número aqui ele também era um número sequencial aqui no usuário MQ então eu V vir aqui dar um Decode aqui Decode Olha só um E se a gente fosse aqui no decodificador e colocasse dois também encode a gente poderia Olha Só Dog ao invés de MQ a gente poderia colocar aqui MG PR além de acessar os dados confidenciais aqui dentro simplesmente trocando o identificador aqui para Murilo a gente poderia acessar aqui dentro a conta do usuário os pics área de cartão tudo simplesmente trocando de MQ para MG e olha só bem-vindo Murilo isso são dois exemplos de idor que eu queria te mostrar que são aplicados na URL aqui dentro e que um ele tá criptografado em base 64 você você teve que entender como que ele funciona e outro ele tá simplesmente um número sequencial 1 2 3 e muitas vezes você vai encontrar idor que tão em números sequenciais e outros que você vai ter que entender o funcionamento deles muitas vezes o idor ele tá escondido o identificador ele tá escondido em algum local Então ele pode est simplesmente um número criptografado em base 64 ou até por exemplo um objeto imagina se dentro daquele valor tivesse usuário dois pontos 457 nome do usuário e aí várias outras informações aqui tipo x E aí um objeto muito louco aqui criptografado em base 64 que é uma criptografia muito utilizada para passar dados em Sistemas a gente Vie aqui tivesse criptografado em base 64 e quando a gente criptografar ele esse seria o resultado do usuário esse seria o usuário então a base do idor você tentar entender algo tentar entender essa sequência e trocar ela alterar ela e nesse caso a gente fez isso no Montreal Bank Mas você pode pensando até isso é muito simples não é muito simples simplesmente trocar algo e acessar informações confidenciais quem que vai deixar isso passar existi uma falha no site do Detran que é literalmente a mesma falha que te mostrando você trocava algum dado er enviado pro site do detr e você acessava um document de outoa do carro de outra pessoa com todas as informações Então essa falha existi no detr inus elro de um sistem interno sistema interno que quando vocêa URL era trar de usu 3000 usuri 3 e você todas as informaões de doent de outas pessoas aqui dentro simplesmente alterando esses dados com essa falha de idor Então você já entendeu o conceito da falha de idor a gente explorou essa falha aqui na URL eu te mostrei uma falha inclusive no Detran permitiu você acessar outros dados mas agora bora nos aprofundar um pouquinho mais nessa falha porque eu tô dando exemplos de falhas que estão acontecendo na URL que é uma das formas de passar dados para um site mas existem outras formas Inclusive a gente já viu várias delas pela URL pelos não sei pelos cookies Você pode passar dados pelos cookies pela requisição requisição a gente aprendeu a interceptar requisições utilizando burp vamos ver mais coisas requisição URL cookies Acredito que seria dessa foras formas talvez arquivos também e eu diria que é possível explorar idor em todas elas o RL C requisição depende do desenvolvedor cas um desenvolvedor defina que para você acessar algo você precisa enviar um arquivo com identificador dentro você trocar o identificador do arquivo enviar ele você acessar algo que não deveria ou por exemplo muitas sessões elas são salvas em cookies muitos programadores colocam dentro do cook alguma coisa criptografada lá tipo admin administrador iG administrador sim você simplesmente troca ISO de administrador trocando os cookies mas eu vou pegar especificamente um local que acontece muitos idor e são as requisições que vai ser a maioria das vezes que você vai encontrar o ador vai ser na requisição e a gente vai explorar uma falha de segurança também no Mont Bank e uma falha que permite a gente sacar dinheiro da conta de outras pessoas uma falha também e eu já explorei em alguns sites essa mesma estrutura de falha para poder enviar mensagens de uma conta de uma pessoa para outra pessoa eu vou mostrar mais paraa frente mas primeiro Vamos explorar uma falha aqui no montal Bank a primeira coisa que a gente vai fazer para explorar falhas em requisições é abrir o nosso burp a nossa maravilhosa ferramenta de analisar requisições e eu tô com o meu burp já aberto aqui e eu posso tentar acessar o site do Montreal bank. com Eita mon bank. com a agora foi acessando o site do mon Bank vou ir aqui no meu prox vou fazer login também na minha conta então vou fazer aqui login entrar aqui no na minha conta entrando na minha conta eu já cheguei aqui naa de administração e agora bora Tent uma olada aqui eu vou ligar o meu proxy que é algo que no meu processo de hacking Eu sempre deixo ligado para analisar enquanto eu clico eu vou analisando o que que tá sendo enviado porque muitas vezes a sua intuição pode te levar a testar Vou testar uma falha aqui testar uma falha aqui mas muitas vezes quando você tá navegando no site com tud ligado você acaba vendo uma falha de segurança na sua frente que do nada passa Então vou ligar ele vou ligar ele e acessar minha conta por exemplo olha aqui dados igual a um Montreal Bank o Cook PHP session ID assim que tá sendo guardada a autentificação aqui vamos continuar a gente vai acessar a conta aqui dentro conta tal vamos voltar aqui também ligar aqui os cookies o proxy e agora Bora ir na área de transferência transferir dinheiro então vamos lá enviar PH continu acessa de transferência fazer uma transferência aqui fazer uma transferência a precisar de um CPF Vamos tentar acessar a conta do noss amigo ailo vamos acessar conta e tentar trocar identificador pegar o c del um exemplo real de um banco por exemp colocar do [Música] colocar dois aqui mas em um exemplo real de um banco por exemplo seria simplesmente pegar o CPF de alguém que passa por pi muitas pessoas tem o CF no pi mas nesse caso eu vou pegar aqui do Murilo porque eu sei que ele tem uma conta aqui no monal Bank Então vamos voltar aqui vamos lá voltar aqui no no Hub do mon Bank e transferir Bora tentar transferir R pro Murilo Então vou vir aqui colocar R e mandar me desculpe transferir errado quem coloca isso na mensagem né normalmente você percebe depois que transferi errado mas nesse caso a gente vai fingir que transferir R para ele errado aí a gente vai ligar o nosso intercept a gente pode até fazer uma transferência de teste eu vou enviar Aqui tem intercept só transferência enviada Me desculpe transferi errado vamos voltar aqui então aqui no estrato a gente pode ver as transferências né e agora tentar transferir interceptando os dados para ele vamos fazer uma transferência pix e ver o que que tá sendo que que tá acontecendo o que que tá sendo enviado pro servidor que que tá voltando tentar ver isso então a gente vai colocar o mesmo cpf dele aqui eh transferir R 1 de novo Ops e Inter enviar Olha só transferir PHP by esse CPF aqui valor de um e a mensagem Ops a gente tá vendo que a gente CONSEG enviar sendo esses dados estão sendo enviados aqui na URL em uma requisição ess esses dados poderi ser enviados tanto por get quanto por post inclusive você enviar dados na URL dados confidenciais já é uma falha de segurança você enviar um CPF um dado importante pela URL é uma falha de segurança mas analisando a URL aqui a gente conseguiu ver que transferir pphp é uma função dentro do site ela consegue fazer a transferência então eu vou salvar essa requisição vou enviar ela pro meu Repeater para poder testar ela E aí eu vou continuar Ford ó não se direcionou pros Stratos a gente foi pro tratos Ok até agora a gente já mandou R 2 pro pro Danilo vamos voltar lá onde a gente estava Eita vamos voltar aqui um TR já perdeu R 2 melhor a gente conseguir fazer essa transferência agora tentar hackar isso gente analisar a função de transferir que aconteceu aqui vamos ver na nossa função a gente tem um parâmetro transferir pphp um parâmetro byy um parâmetro true um valor um mensagem Ops você conseguiu identificar a falha de segurança que tem aqui aqui a gente tá enviando a mensagem nosso pix ok a gente tá enviando o valor R 1 pro CPF esse daqui só que a gente também consegue colocar quem tá enviando esse dado vai um um Talvez seja o identificador do usuário que tá enviando esse dado então a gente tá sendo definido isso na requisição esse dado tá sendo enviado na requisição e talvez se eu Trocasse esse dado para dois e o site bloqueasse a gente não teria uma falha de segurança estaria validando quem tá enviando esse dado mas caso ele não bloqueie Isso é uma falha de segurança porque o desenvolvedor ele não validou de você alterar um dado e acessar a conta de outra pessoa para enviar dinheiro PR outra da gente enviar usando a conta do Murilo Então vamos tentar fazer o seguinte então a gente vai pegar o nosso CPF que temos aqui CPF esse daqui e eu vou colocar o CPF como o destinatário então esses dados aqui como destinatário e eu vou colocar quem tá enviando dinheiro não um o dois e o valor aqui eu vou colocar R 100 Então vamos ver eu vou enviar essa requisição Ok até agora não aconteceu nada simplesmente enviei utilizando Repeater mas recarregar a página e olha só R 198 então eu vou entrar aqui na conta do Murilo que já tá logada aqui no meu computador e eu vou recarregar e olha só saiu de R 15.
400 para R 15. 300 A conta dele ele conseguiu tirar dinheiro da conta dele simplesmente alterando um identificador aqui dentro e essa seria a falha de idor que você consegue alterar um dado inclusive Isso foi uma falha de segurança encontrada no Facebook se você vir aqui o Gabriel pato também um um hacker ele encontrou uma falha de segurança no Facebook e rendeu para ele 000 e essa falha acontecia em uma funcionalidade de transferir no caso não foi de transferir dinheiro mas sim de transferir pessoas de uma live uma coisa que acontece com os streamers é que quando eles acabam uma live eles estão jogando algum jogo 10. 000 espectadores muita coisa acontecendo tal quando eles vão acabar as lives eles podem transferir os espectadores deles para outra Live chamado de gancar gancar outro streamer eles podem transferir esses espectadores e o Gabriel P ele encontrou uma falha de segurança nesse local do Facebook então analisando quando você quando você trocava o os espectadores para uma outra Live a gente tinha aqui o dado broadcast ID target page ID a não sei o que o que seria e anúncio M time só que a falha de segurança tava que você poderia trocar o identificador da Live PR outra Live e ao invés de da Live x transferir a Live Y que transferia os streamers nessa falha de idor então o foco da falha de idor é procurar identificadores desde parâmetros get por exemplo tem aqui na URL até parâmetros post dado que são enviados dentro das requisições e ele conseguiu trocar aqui ó o ID da transmissão o ID da página e o d de destino dos espectadores ele conseguiu trocar isso e explorar essa falha que alterava os identificadores das lives e assim ganhar uma recompensa de 10.
000 no Facebook simplesmente pensando nessa possibilidade de alterar Esse identificador um outro exemplo também de uma falha de segurança agora pegando exemplos de hackers que reportaram falhas uma falha de segurança ela foi reportado para hazer também com essa falha de idor razer. com uma empresa muito famosa em fazer PES gamers periféricos gamers então Razer Eita razer.