Logo Hardware.com.br
keijjo
keijjo Novo Membro Registrado
11 Mensagens 1 Curtida

[Resolvido] Hackeando o Sagemcom F@st 2764 da GVT

#1 Por keijjo 30/06/2012 - 18:11
TripleOxygen
TripleOxygen Novo Membro Registrado
8 Mensagens 0 Curtidas
#32 Por TripleOxygen
02/09/2012 - 16:24
Pena que as imagens não vem com o u-boot frown.png E esta é do tipo "rmt" (remote), tem um header adicional no arquivo. Mas a estrutura é a mesma da GVT.
Mas desmontei esta que me passou (tinha ela aqui, mas estava sumida haha), o conteúdo é parecido com o do nosso 2764GV (observe o rootfs).

http://g3n.org/files/router_hacking/index.php?dir=sagemcom%2Ff2764gv%2Fothers%2F3764%2F8058%2F

Edit: bootei esta imagem no 2764 GV via LAN_RESCUE, o modem inicializa quase perfeitamente, exceto que espera o SLIC para outra região (portanto parâmetros de linha diferentes) e então não sincroniza. E nenhum par user/pass funcionou na interface Web (via serial foi admin/admin). Não olhei muito, but just for fun. smile.png
ofumeta
ofumeta Membro Junior Registrado
67 Mensagens 2 Curtidas
#33 Por ofumeta
04/09/2012 - 11:22
O meu modem 'extra' chegou. Veio com o firm de 2011, aquele que ainda tem a pagina index2.cgi. Não fiz nada ainda, e claro não liguei na linha para os &%#* não mandarem outro firm e bloquear tudo. Na pagina index2 tem até opçao de upgrade do FW. Vou ver como faço para primeiro fazer um backup deste FW. Já li uma vez que neste FW o telnet podia ser habilitado.

Edit: Não precisa ser habilitado, já vem habilitado normalmente, é só fazer telnet para ele. minha dúvida é como garantir que o TR69 está fora. Por exemplo, o telnet no pelo config está desabilitado, no entando está funcionado. Além disto, será que não tem outro acesso para update do FW além do TR69?

{}s
ofumeta
ofumeta Membro Junior Registrado
67 Mensagens 2 Curtidas
#35 Por ofumeta
04/09/2012 - 19:56
TripleOxygen disse:
Opa! 82B0? dump do mtdblock0 e extrai a imagem operacional (não rescue) \o/

Pelo prompt do OpenRG:
HomeGateway> flash
flash> load -u <url> -s <section>
O FW update do index2.cgi não aceita estas imagens que vem via TR69, acho que só as .rmt.



Na verdade teria que dar um 'dump' não? Mas preciso saber os parametros que ele pede, section (ou endereço), tamano e por ultimo um '-1|2|3'. Imagino que section seja as informações que saem do comando 'layout', tem 6 seçoes, Agora preciso descobrir como salvar isto...

{}s
TripleOxygen
TripleOxygen Novo Membro Registrado
8 Mensagens 0 Curtidas
#36 Por TripleOxygen
04/09/2012 - 20:14
ofumeta disse:
Na verdade teria que dar um 'dump' não? Mas preciso saber os parametros que ele pede, section (ou endereço), tamano e por ultimo um '-1|2|3'. Imagino que section seja as informações que saem do comando 'layout', tem 6 seçoes, Agora preciso descobrir como salvar isto...

{}s

O dump da flash faça com dd (altere o runlevel, conecte um pen-drive):
dd if=/dev/mtdblock0 of=/mnt/usb/Disk_0_0/mtdblock0
Aí depois extraia a imagem de lá com um hexeditor. O magic das imagens é 60 4C 51 EA (encontrará 2, o operacional e o de recovery).

O load é em resposta ao:
ofumeta
Além disto, será que não tem outro acesso para update do FW além do TR69?

Sim, os números das seções são os que vem do layout. Só a URL e a section bastam. Não são 7 seções? A 6 a imagem principal e a 4 a de recovery. Ou o seu é diferente? espantado.png:
ofumeta
ofumeta Membro Junior Registrado
67 Mensagens 2 Curtidas
#37 Por ofumeta
04/09/2012 - 21:00
TripleOxygen disse:
O dump da flash faça com dd (altere o runlevel, conecte um pen-drive):
dd if=/dev/mtdblock0 of=/mnt/usb/Disk_0_0/mtdblock0
Aí depois extraia a imagem de lá com um hexeditor. O magic das imagens é 60 4C 51 EA (encontrará 2, o operacional e o de recovery).

O load é em resposta ao:


Sim, os números das seções são os que vem do layout. Só a URL e a section bastam. Não são 7 seções? A 6 a imagem principal e a 4 a de recovery. Ou o seu é diferente? espantado.png:



Sim, sao 7 seções, eu falei errado (0-6). Creio que precisa dar um 'mount' no usb não? Coloquei um pendrive no usb1, aparece na pagina mas o dd não encontra o arquivo.
TripleOxygen
TripleOxygen Novo Membro Registrado
8 Mensagens 0 Curtidas
#38 Por TripleOxygen
04/09/2012 - 21:10
ofumeta disse:
Sim, sao 7 seções, eu falei errado (0-6). Creio que precisa dar um 'mount' no usb não? Coloquei um pendrive no usb1, aparece na pagina mas o dd não encontra o arquivo.

O 2764GV tem automount (por causa do servidor DLNA, etc). Qual runlevel ele está? Plugue o pen-drive e dê um:
ls /mnt/usb
Talvez eu tenha errado o nome da pasta que ele cria como ponto de montagem ou o nome muda de acordo com a porta.

Graças ao ofumeta, agora temos a 82B0 operacional! Ou seja, qualquer um pode fazer downgrade para ela (versão com telnet, serial e index2.cgi).

Os passos são:
  • Prepare para iniciar o modem via BOOTP (consiga o TFTPD em http://anonym.to/?http://tftpd32.jounin.net/, há vários tutoriais sobre BOOTP por aí, apenas confira as faixas de IP).

  • Obtenha a imagem v82B0 de http://g3n.org/files/router_hacking/sagemcom/f2764gv/firmware/stock/operational/FAST2764_v82B0_extracted_operational.img.secure

  • Crie uma pasta com o nome tftpboot dentro da pasta do TFTPD, e salve o arquivo acima com o nome kernel.img nesta pasta.

  • Deixe o TFTPD pronto. É aconselhável ligar o modem diretamente ao PC, sem switchs/hubs.

  • Desligue o modem, segure o botão de RESET e ligue-o. Aguarde os LEDs começarem a piscar em padrão alternado.

  • Aguarde a carga da imagem (aparecerá uma barra de progresso no TFTPD). Pode levar alguns segundos até a barra aparecer.

  • O modem entrará normalmente, mas na versão 82B0. Tente acessá-lo via telnet, caso não funcione, siga os passos mostrados neste post para alterar o HomeGateway.conf e adicionar a porta de telnet. Caso precise reiniciar o modem, faça-o da mesma maneira mostrada acima (via BOOTP, ou ele entrará na versão mais recente e apagará a configuração de telnet).

  • Certifique que o modem sincronizou e autenticou ("está navegando").

  • Com acesso via telnet, faça login com as credenciais (admin/gvt12345).

  • No prompt do OpenRG, digite "flash" e depois "layout".

  • Certifique-se que a seção 6 diz "IMAGE":
Section 06 Type IMAGE      Range 0x00000000-0x01000000 MaxSize 0x01000000
</li>
No more information.
  • Confirmado, digite:
load -u http://g3n.org/files/router_hacking/sagemcom/f2764gv/firmware/stock/operational/FAST2764_v82B0_extracted_operational.img.secure -s 6

  • Não faça flash de uma imagem operational na partição de rescue ou vice versa! E não toque a partição de rescue!

  • Aguarde alguns minutos, receberá "Returned 0" no final do processo.

  • Reinicie o modem, downgrade feito!
Lembrando que o downgrade é voltado a quem precisa do acesso via telnet/serial/SSH e/ou quer estudar/hackear o 2764GV. Fora isso, não há porquê fazê-lo.


Qualquer procedimento de flash há riscos, portanto cautela, e é de sua responsabilidade!
TripleOxygen
TripleOxygen Novo Membro Registrado
8 Mensagens 0 Curtidas
#40 Por TripleOxygen
06/09/2012 - 00:53
ofumeta disse:
Não entendi uma coisa. A imagem que vc está carregando no BOOTP é a mesma que está usando para o flash depois via telnet?

A imagem que vai usar via telnet poderia também estar num pendrive, não?

{}s


Sim, na hora do BOOTP, o modem usa ela só para boot em RAM (um modo de recuperação, digamos), o que permite usarmos telnet (por ser 82B0). Depois você faz flash permanente com o "load" (precisa carregar a imagem novamente por uma URL, talvez TFTP funcione, não testei). Ou seja, no momento do BOOTP, sempre deve ser a 82B0, pois ela que nos dará acesso via telnet. Qual versão fazer flash depois com o load, pode ser qualquer uma: a própria, a mais nova, ...


Não sei se o load aceita um caminho local como argumento... até onde vi, ele entende HTTP. Se conseguir, nos avise. smile.png
pedrovanzella
pedrovanzell... Novo Membro Registrado
6 Mensagens 0 Curtidas
#41 Por pedrovanzell...
21/09/2012 - 18:37
Peguei meu PowerBox hoje e ele veio com o firmware mais novo (FAST2764_v8388).

Bootei ele por TFTP e ele subiu a versão 82B0 corretamente. Baixei as configurações, ativei telnet, subi novamente. Conectei por telnet e flasheei o 82B0. Fui tentar acessar a index2.cgi e ele rebootou… Para o 8388.

Tentei novamente. Desta vez rebootei o aparelho sem TFTP. Ele subiu no 82B0. Tentei acessar o index2.cgi e ele rebootou novamente para o 8388.

Tentei mais uma vez. Flasheei o 82B0. Peguei as configs, mudei o runlevel, desativei TR69, me certifiquei de que telnet estava ativa. Rebootei sem TFTP. Estava no 82B0. Como deveria estar no runlevel 3, eu poderia trocar a faixa do DHCP, não? Não podia.
Entrei por telnet nele e troquei o runlevel para 3 novamente. Saí da Telnet e ele rebootou. Para o 8388.

Não faço idéia do que está acontecendo com ele, não consigo manter ele no 82B0. Tudo o que quero é mudar a faixa de IPs e desligar o QoS e o TR69 (pra GVT não fuçar mais no aparelho).

Edit: Resolvi dar um reset de fábrica nele, depois disso tudo. Magicamente apareceu a opção da USB, ou seja, foi pro runlevel 3. Posso entender então que a config é persistente, mesmo que tenha sido feita pelo boot por TFTP?
TripleOxygen
TripleOxygen Novo Membro Registrado
8 Mensagens 0 Curtidas
#42 Por TripleOxygen
22/09/2012 - 00:28
@pedrovanzella

As configurações ficam em partições dedicadas na flash, por isso são bastante independentes e mantidas entre updates. O que acontece é que quando a versão do firmware muda, o OpenRG roda um script de migração nas configs para adaptá-las à nova versão (remover parâmetros que foram desativados como o daemon telnet, etc...). Pode ser que os vai-e-vem de versões deixam as configs "sujos", por isso um reset ajudou.


A saída do comando de flash tem êxito? Se você der o comando "flash dump" nas partições IMAGE e RECOVERY/RESCUE, verá logo no início a string com a versão do firmware. Confira as versões que estão lá depois do flash. A menos que seu PB esteja atualizando automaticamente toda vez neste prazo de acessar a index2.cgi... desconecte-o da linha pra confirmar. smile.png
pedrovanzella
pedrovanzell... Novo Membro Registrado
6 Mensagens 0 Curtidas
#43 Por pedrovanzell...
22/09/2012 - 17:37
Não tentei ainda fazer o reflash para ver se funcionava. Antes, ao dar load, ele retornava 0.

Testei novamente bootar por TFTP, baixei a configuração, editei, desliguei TR69, QoS e mudei para Runlevel 4. Subi a configuração e está tudo okay.
Antes disso, eu tentei acessar a index2.cgi, sem o fio do telefone. Mesma coisa, rebootou. Desta vez eu nem tinha feito o flash para a imagem antiga, então obviamente voltou para o fw que estava.

Acredito que eu consiga fazer a TV funcionar em runlevel 4. Me parece que o problema está somente no DNS para ela estar para 192.168.25.1, e quando troco o IP do roteador, este DNS não é mais válido. Dá para trocar isso na configuração também. Farei este teste mais tarde e reportarei.

Em Runlevel 4 a luz do HPNA desliga, mas deve ter alguma mágica, porque dá para ter IP Fixo e TV, e com IP Fixo eles dão runlevel 4, não?
navossoc
navossoc Novo Membro Registrado
5 Mensagens 0 Curtidas
#44 Por navossoc
22/09/2012 - 17:45
pedrovanzella disse:
Não tentei ainda fazer o reflash para ver se funcionava. Antes, ao dar load, ele retornava 0.

Testei novamente bootar por TFTP, baixei a configuração, editei, desliguei TR69, QoS e mudei para Runlevel 4. Subi a configuração e está tudo okay.
Antes disso, eu tentei acessar a index2.cgi, sem o fio do telefone. Mesma coisa, rebootou. Desta vez eu nem tinha feito o flash para a imagem antiga, então obviamente voltou para o fw que estava.

Acredito que eu consiga fazer a TV funcionar em runlevel 4. Me parece que o problema está somente no DNS para ela estar para 192.168.25.1, e quando troco o IP do roteador, este DNS não é mais válido. Dá para trocar isso na configuração também. Farei este teste mais tarde e reportarei.

Em Runlevel 4 a luz do HPNA desliga, mas deve ter alguma mágica, porque dá para ter IP Fixo e TV, e com IP Fixo eles dão runlevel 4, não?


Não é bem isso não.


Há um bom tempo atrás eu dei uma boa fuçada nisso.


Existe sim como usar a TV e o RunLevel 4, porém, a cada reboot você precisa executar o script que inicia o serviço da TV.


Na pasta: /etc/rcXXXX existe um script que inicializa o serviço de televisão, não me recordo mais o nome pois perdi o acesso ao telnet há muito tempo e o PortalADSL fez o favor de apagar todos os posts.


Dê uma olhada lá, o nome era bem sugestivo, ele não existe na pasta do rc4, tinha apenas no rc3 e no rcS pelo que eu me lembro.


Se você executar o script, sua TV passa a funcionar, nosso objetivo na época era tornar as modificações permanentes pra evitar ter de ficar fazendo isso na mão.


A TV também funciona em bridge, só que é preciso levantar as conexões na mão.
O DNS da TV parece que mudou mesmo, agora é esse 192.168.25.1, antigamente eram dois endereços dentro da rede local deles acho que era 177 alguma coisa.


[]'s
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal