Do Zero Ao Um - Instructors ncaio Posted October 19, 2019 Do Zero Ao Um - Instructors Posted October 19, 2019 [- Primeiros passos com exemplo -] Este tópico tem como finalidade esclarecer alguns pontos sobre hardware hacking. Se você é um hobbyist como eu, muitas das vezes, pelo o fato da informalidade, não temos a preocupação de explorar uma vulnerabilidade, quebrar alguma proteção, fazer auditoria ou engenharia reversa. Geralmente alteramos um hardware para uma necessidade particular ou apenas por curiosidade. Mas isso não significar fazer de qualquer forma, sem controle e sem motivação. Vale também salientar que é comum não ter progresso por falta da ferramenta certa ou de conhecimento. Neste tópico iremos discutir sobre passos a serem seguidos, tanto por iniciantes, como por intermediários. Assim como profissionais e amadores. Claro, contribua e compartilhe o seu conhecimento, por favor. 1 - Escolher; 2 - Motivação!?; 3 - Catalogar; 4 - Identificar pontos; 5 - Qual caminho devo seguir ?. Escolher A escolha é motivada por vários fatores, assim como mencionado anteriormente. E claro, em alguns casos não temos escolhas, o hardware chega a sua mão via propósitos profissional, pessoal ou aquele pedido amigo/familiar. Se você é iniciante e pode escolher por onde começar, inicie com o básico. Dê preferência a dispositivos que estão em seu campo de conhecimento, um access point, um controle remoto do portão, controle da TV e etc. Motivação!? Se você escolheu um hardware aleatório para estudar/observar/explorar, provavelmente você não tem um objetivo especifico. Neste caso, a sua motivação é explorar e progredir. Se na escolha do hardware você já identificou pontos de mudança, como por exemplo: Mudar a cor do led que representa o power do seu access point que é vermelho para a cor azul. Essa será a sua motivação, pelo menos inicialmente. Catalogar É muito importante conhecer o seu alvo. Neste ponto é onde identificamos os componentes eletrônicos, conectores e etc. Muitas vezes precisamos abrir, desmontar equipamentos e fotografar. Com relação a placas e componentes eletrônicos, tirar fotografias te permitirá identificar modelos e esquemas com bastante facilidade. E claro, é uma fonte de consulta rápida. Inicialmente, comece a catalogar as informações mais acessíveis e disponibilizadas pelo fabricante, quando possível. Identificar pontos Depois de coletar informações importantes do seu hardware, comece a identificar pontos promissores. Tais como: Qual é o chip principal Conexões seriais Jtag I/O Memória E etc Procure se aprofundar em cada item, datasheet é a palavra principal neste passo. Qual caminho devo seguir ? É hora de expandir a árvore. Você tá na base da raiz, e é aqui que as portas abrem, ou não. Se você não tinha uma motivação e chegou até aqui, é bem provável que encontrou um motivo. A dica é universal, comece pelo lado mais fácil, que você encontrou mais informações, que você tem as ferramentas corretas para seguir em frente. Geralmente, voltamos a passos anteriores para conseguir avançar por aqui. UM EXEMPLO PRÁTICO 1 - Escolher Vamos iniciar com algo bem aleatório. Simplesmente sai olhando o que tinha disponível e escolhi um console emulador que tenho guardado. 2 - Motivação!?; Minha motivação é utilizar este dispositivo para exemplificar este tópico. 3 - Catalogar Vamos dividir em sub tópicos. Informações básicos do equipamento Uma breve descrição: Dynavision CyberGame é um console que emula consoles, como: NES, SNES, MegaDrive e outras plataformas. É capaz de reproduzir vídeos e músicas. Tipo do dispositivo: Emulador Fabricante: Dynavision Modelo: CyberGame Versão: NA Destaques do Hardware CPU: PLACA MÃE: MEMÓRIA FLASH: SDRAM: NETWORK: ------------X-----------------X-------------X-------------X------------X--------------X------------- INTERFACE SERIAL: JTAG: FIRMWARE: BOOT: FOTOS: REFERÊNCIAS: Qual é a cara do device ? Fotografe o equipamento antes de desmontar. Alias, fotografar é um processo continuo. Para a sua organização, crie um diretório para guardá-las. Daqui para frente, irei adicionar imagens relevantes ao processo. O seu celular pode te auxiliar neste processo. Visão externa Não apresenta acesso a parafusos de fixação. É necessário remover as abas laterais para ter acesso aos 2 parafusos de fixação. Visão interna geral Existem três partes. A placa principal e 2 periféricas. Uma periférica com RCA e alimentação, outra com o botão RESET POWER e o sensor do controle remoto. Visão da placa principal - Face Superior Já podemos identificar visualmente alguns componentes e conexões interessantes. Identificar o fabricante da placa é importante para pesquisar por modelo e ficha técnica, por exemplo. Não neste caso. Eu particularmente não obtive sucesso na minha busca. E para dificultar ainda mais, temos o CPU descaracterizado, sem identificação. Visão da placa principal - Face Inferior Temos o modelo e fabricante da placa e um chip de memória da SAMSUNG. Postos de Destaque Como mencionado anteriormente, algumas informações foram "ofuscadas" e outras não. Vamos pegar cada um destes postos e discutir sobre eles. CPU - CHIP PRINCIPAL!? Temos um suposto chip principal, sem informações relevantes impressas nele. Até o momento, não sabemos que chip é este e sua função. Mas deduzimos, pela justa posição na placa e o enorme número de conexões/trilhas conectadas ao chip, que temos aqui um forte indicio para deduzir isso. Um chip de memória Instalado na face inferior da placa. Interface Serial !? Temos aqui um suposto UART serial. Para melhor entendimento, consulte o tópico: Identificar esta interface UART fez toda a diferença no processo de identificação e catalogação. Foi possível acompanhar o processo de boot e salvar em um arquivo para visualização posterior. Segue em anexo o log. cutecom.log Vamos observar e tomar nota em alguns trechos do log. Iniciando pelas primeiras linhas. Temos informações relevantes a criação da ROM e informações sobre a memória NAND que conseguimos visualizar diretamente no chip. ü+++MMP RomCode ver 8000.4.0 2009/02/18 pwrc_cfg=a0000006 vic1_rawSts=00000020 keyscan4=00001980 iotraps=00000000 Read Id : ec-dc-c1-15-54-ec-dc-c1-15-54 NAND_TYPE: SAMSUNG u16PageNoPerBlk :64 u16PyldLen :2048 u16TotalBlkNo :4096 ecc_mode :0 Start to read DRAM_Init code from flash... Enter Load_PF u16PageNoPerBlk :64 u16PageSize :2112 u16PyldLen :2048 u16TotalBlkNo :4096 ecc_mode :0 Já entre as linhas 235-260, temos informações sobre o bootstrap: Red Hat Embedded Debug and Bootstrap (RedBoot), podemos observar a possibilidade de interação com o RedBoot == Executing boot script in 0.010 seconds - enter ^C to abort. E informações sobre a imagem de boot. RedBoot(tm) bootstrap and debug environment [ROM] ^MNon-certified release, version v2_0_28 - built 17:41:15, Apr 27 2010 ^MPlatform: SUNPLUS_MMP (ARM 9) ^MCopyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc. ^MCopyright (C) 2003, 2004, eCosCentric Limited ^MCopyright (C) 2008, Sunplusmm v1.0.0.3 ^MRAM: 0x00000000-0x00f00000, [0x00200000-0x00f00000] available ^MLoad the kernel file: /Rom/image/8000_mmi.rap ^MLoad image from romfs! ^MFound the image entry point: 0x280040 ^Mg_Cfg_s.redbootCfg:0xc0000004 ^M== Executing boot script in 0.010 seconds - enter ^C to abort ^MRedBoot> go -c 0x280040 ^Mg_Cfg_s.redbootCfg:0xc0000004 ^M+do_go ^Mimage sel: 0, image_sel_set: 0 ^Mrmvb enable! ^MMask interrupts on all channels ^MID-CACHE sync and invalidate ^Mset up a temporary context. workspace_end=0x00f00000, entry=0x00280040 ^Mswitch context to trampoline. workspace_end=0x00efffb0 Informações como : Load the kernel file: /Rom/image/8000_mmi.rap, Platform: SUNPLUS_MMP (ARM 9) e o datasheet, chegamos a conclusão que estamos que estamos diante de um chip/ic SPMP8000.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.