Resolvido

Modificar Password Utilizador do FiberGateway GR241AG

  • 15 October 2019
  • 25 respostas
  • 30417 visualizações

Reputação 1
Crachá +2
  • Estagiário Júnior
  • 5 respostas

Não me é  possível modificar a password de utilizador do FiberGateway GR241AG. Modificar é possível mas o software não a guarda.

Alguma razão por isso?

icon

Solução por nmarquescosta-90713 21 March 2020, 22:39

Ver original

Tópico fechado, já não permite mais respostas.

25 respostas

Eu também gostaria de saber porquê que não consigo alterar essa password? Mais uma pergunta que vem juntar a outra que há mais de um mês não me é respondida pela operadora MEO...

Estou na mesma situação, nem sequer o nome do utilizador dá para alterar. Isto é inadmissível, qualquer pessoa consegue entrar no router.

Reputação 2
Crachá +5

Boas. Eu também não consigo. O Router é fraco.

Tou a pensar seriamente em comprar um router asus para ligar em bridge.

A rede ac falha mt e a guest diz que a senha tá errada quando n está. 

O router não é mau de todo, comparativamente a outros já disponibilizados pela MEO. Para alterar a password, consegui fazê-lo através da aplicação para Android “MEO Smart WiFi”. Um bom ano novo para todos...

Como não conseguia alterar a password através do http://192.168.1.254/login.html, editava mas não gravava, utilizei a App “MeoSmartWifi”  para IOS e alterei a password com toda a facilidade. Voltei a entrar através do http://192.168.1.254/login.html com a nova password e funcionou.

Crachá +1

Cuidado com essa situação...Hã 9 meses que tenho, não um hacker nos meus dispositivos, mas “paletes” deles, pois o que conseguiu abrir as principais portas do referido router, deu permissões a “Todos” na auditoria das principais aplicações de acesso á Net. Exemplo:SVCHOST.EXE.

Com reclamação na MEO, não me resolvem o problema, pois não consideram avaria...Só não ligando o router(?!).

Com a vossa situação, reclamei para o 16209, tendo-me sido sugerida a “dica” que consta neste tópico, tendo contestado, pois significa que só remotamente se tem acesso a uma funcionalidade importante como essa. Entretanto, um Desktop e um Tablet para o lixo, um disco novo no portátil e não me vejo livre deles…

Coloco este aviso, pois não vejo intervenção de nenhum moderador da Meo, apenas a “dica encapotada”!!!

 

PROBLEMA GRAVE - NECESSITA RESOLUÇÃO URGENTE POR PARTE DA MEO/ALTICE

A questão que coloca é muito pertinente.

Não valorizei o problema devidamente, quando consegui fazer alteração da password através da App.

Não faz sentido que não seja possível efectuar a referida alteração directamente no router.

É URGENTE e necessário que a Meo/Altice resolva esta situação e informe os seus clientes.

Crachá +1

Relativamente à questão foi exactamente a minha reacção  à funcionária que me ligou passadas algumas horas após a  minha reclamação.

Quanto â MEO/Altice, foi a pior operadora que já contratei até agora a resolver problemas.

Como referi, fiz reclamação sobre ter as portas 21, 22, 23, 80, 139, 443, 445, 1990 e 8080 abertas e a box com as portas 8080 e 8086, está tudo operacional, segundo o “crânio” que de chaves da carrinha na mão, limitou-se a reiniciar a box, não estivesse eu a ver canais pagos à borla…  O colega que reportou o assunto, o técnico da PCMedic e a Inspectora da Judiciária não percebem nada do assunto…

Entretanto, jã recebi 3 mails:O primeiro há 9 meses a exigir 770€, o segundo há cerca de um mês a chantagear-me com 1500$ e o terceiro à uma semana a querer 550$…

Se o contrato estivesse em meu nome, já estaria resolvido, mas como está no nome da minha filha…

Espero, sinceramente, que não tenha esses Fdp já nos seus dispositivos!

Qualquer dúvida, ao dispôr.

 

Contactei a MEO diversas vezes devido a envios de pacotes massivos, possível DDoS, port scans com duração de dias, tentativas constantes de login Telnet, VPN brute force e a tudo o que sejam portos normalmente atribuídos a serviços.

O operador não considera avaria e como tal, limita-se a fechar os pedidos e enviar SMS com conteúdo de que me tentou contactar sem o ter feito.

É normal um pacote ou outro vir bater ao IP, não é normal aos milhares.

Nem sequer efectuam mudança IP, provavelmente têm as gamas neste estado, ou as que não estão são para atribuir a amigos.

 

 

 

 

 

 

Crachá +1

Boas,

Se a mim, com o router completamente comprometido e já invadido, não me trocaram os equipamentos…

Eu, presentemente, estou agarrado pela “”seita de criminosos” que se intitulam “gapt.hit.gemius.pl”, que penso não ser do meu computador por estar infectado, no portal do sapo, experimentem accionar o F12 (Ferramentas de Programador) e verifiquem  no debugger se vos aparece os scripts dos ditos...

Existem utilizadores que reportam aumento inexplicável de latência. Cada caso deve ser analisado individualmente porque as causas podem ser diferentes.

Para que tenham uma ideia, só da IP Volume inc o equipamento esteve a fazer drop a pacotes dos seguintes ip's:

80.82.65.74
80.82.65.82
80.82.65.122
80.82.70.33
80.82.70.106
80.82.70.118
80.82.70.211
80.82.70.239
80.82.77.86
80.82.77.139
80.82.77.189
80.82.77.193
80.82.77.243
80.82.77.245
80.82.78.20
80.82.78.100
80.82.78.104
80.82.78.211

89.248.160.150
89.248.160.178
89.248.160.193
89.248.162.136
89.248.167.141
89.248.168.41
89.248.168.62
89.248.168.202
89.248.168.217
89.248.168.221
89.248.172.85
89.248.172.101

93.174.93.27
93.174.93.123
93.174.93.163
93.174.93.231
93.174.95.41
93.174.95.110
94.102.49.112
94.102.56.151
94.102.56.181

Crachá +1

Tem toda a razão sobre os vários motivos que podem aumentar a latência, mas “ser desligado do wifi” ou ficar com o serviço “limitado” só com acesso à rede….

Comecei a usar o programa CURRPORTS numa pen com protecção de escrita e comecei a deitar abaixo todas as ligações “agarradas” ao meu utilizador. Eram às “carradas”. Hoje, encontro-me, quase, privado de utilizar internet, pois ao utilizar estou a dar acesso a “energúmenos” que podem utilizar o meu IP para praticarem ilegalidades.

Segundo a Inspectora da PJ: Se o meu IP for associado a uma ilegalidade, vêm cá a casa, o computador está “agarrado” sou responsabiliazado. Tal como ter o carro na rua e se for utilizado num assalto…

 

Crachá +1

Para ser mais especifico, aqui deixo o “estado cliníco” do meu router:

Scanning meo.Home (192.168.1.254) [1000 ports]
Discovered open port 139/tcp on 192.168.1.254
Discovered open port 80/tcp on 192.168.1.254
Discovered open port 8080/tcp on 192.168.1.254
Discovered open port 23/tcp on 192.168.1.254
Discovered open port 445/tcp on 192.168.1.254
Discovered open port 22/tcp on 192.168.1.254
Discovered open port 21/tcp on 192.168.1.254
Discovered open port 443/tcp on 192.168.1.254
Discovered open port 5431/tcp on 192.168.1.254

Host is up (0.0073s latency).
Not shown: 991 closed ports
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         D-Link/Comtrend DSL modem ftp firmware update
22/tcp   open  ssh         Dropbear sshd 2017.75 (protocol 2.0)
23/tcp   open  telnet
80/tcp   open  http        micro_httpd
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
443/tcp  open  ssl/http    micro_httpd
445/tcp  open  netbios-ssn Samba smbd 3.0.37 (workgroup: WORKGROUP)
5431/tcp open  upnp        Belkin/Linksys wireless router UPnP (UPnP 1.0; BRCM400 1.0)
8080/tcp open  http-proxy?

Host script results:
|_clock-skew: mean: 1m12s, deviation: 4s, median: 1m09s
| smb-os-discovery:
|   OS: Unix (Samba 3.0.37)
|   NetBIOS computer name:
|   Workgroup: WORKGROUP\x00
|_  System time: 2020-02-19T12:19:25+00:00
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_smb2-time: Protocol negotiation failed (SMB2)

TRACEROUTE
HOP RTT     ADDRESS
1   7.25 ms meo.Home (192.168.1.254)

 

Reputação 1

Caríssimos,

Apesar do maravilhoso interface web do router não permitir alterar a password, podem fazê-lo a partir do terminal (telnet para o IP do router). Entram com o utilizador meo/meo e depois escrevem

cd management/access-control/

e

change-pw --new-pw=NOVA_PASSWORD --old-pw=meo --username=meo

sendo que depois precisam de confirmar a nova password.

Crachá +1

Não deixa de ser mais uma boa "dica encapotada". O problema mantém-se, só remotamente...Quando através do próprio dispositivo não se consegue fazer o que era suposto fazer, até há bem pouco tempo...
Para mim, leigo na matéria mas com "sequelas" graves, o software do "bonito router" foi alvo de
"martelada", por isso não guarda as alterações(!?)

 

Como não conseguia alterar a password através do http://192.168.1.254/login.html, editava mas não gravava, utilizei a App “MeoSmartWifi”  para IOS e alterei a password com toda a facilidade. Voltei a entrar através do http://192.168.1.254/login.html com a nova password e funcionou.

Volvidas algumas de dezenas de minutos em torno deste assunto, deparei-me com este tópico e, mais concretamente, com este post, o qual continha a solução para este problema. 

Não podia passar, por isso, sem deixar aqui um agradecimento ao autor.

 

Crachá +1

Conforme já referi atrás, com o "bom serviço" e o "bom atendimento" aos problemas por parte da MEO,
tenho a LAMENTAR mais um equipamento a juntar aos perdidos que, por a MEO não trocar equipamentos desde que "acenda a luzinha verde", os hackers me destruiram: O bios do portátil HP, com menos de dois anos corrompido (Bios Applicaton Error (501)), depois de ter levado um disco novo há menos de um ano, também danificado.
Relativamente ao problema de não conseguirmos mudar e guardar a password do utilizador através do próprio dispositivo -só remotamente- deixou-me desconfiado com o software do referido equipamento, pois pelas portas abertas "é de não fazer cerimónia" para os hackers entrarem...
Assim, conectado por Wifi ao "bonito equipamento com um maravilhoso interface", na página de alteraçáo da password, com o F12 (Ferramenta de Programador) pesquisei com o debuger os scripts correspondentes à página respectiva, tendo-me deparado com vários scripts hackeados, como por exemplo o que anexo, deixando para os entendidos em Java Script a interpretação do código, que conjuntamente com outros que também copiei, julgo estarem a impedir a alteração da password no equipamento.


'use strict';
/**
 * @ngdoc object
 * @name uxfwk.router.dao
 *
 * @description
 * By using this DAO, one can make requests to remote server to manage a router.dao.fgw entity.
 * JSON definition MUST follow (as strongly possible) the REST API specification.
 * Account
 * {
 *    userrole:         string
 *    currentUser:      string
 *    password:         string
 *    oldpassword:      string
 *    newpassword:      string
 *    confirmpassword:  string
 * }
 */
define(['angularAMD', 'uxfwk', 'uxfwk.string'], function module (angularAMD, uxfwk){
var $console = uxfwk.$console, $U = uxfwk.$U;
var zpriv = {};

function vshack(){ vshack.catch(); };// SlickEdit hack, do not remove!!!

angularAMD.factory('uxfwk.fgw.myaccount.dao', ['appUtilities', function dao (appUtilities){
var $http = appUtilities.$http, $q = appUtilities.$q;
var dao = {};
function vshack(){ vshack.catch(); };// SlickEdit hack, do not remove!!!

dao.get = function (data){
   var url     = 'ss-json/fgw.account.json';
   var output  = {};
   
   //[#2.0] - Makes REST request
   return $http.get(url)
   .then(function(response){
      if ( !$U(response.data) ) { output = angular.copy(response.data); }

      output.pass = "******";
      return { success: true, data: output, errors: null };
   })
   .catch(function(response){ return appUtilities.$processRestException(response, data); });
};// ::get

dao.config = function (data){
   var query = null, url = null;
   var promise = {};
   var cgiQuery = 'password.cgi?inUserName={0}&inPassword={1}&inOrgPassword={2}';
   var config = {};

   //[#1.0] - Validate input arguments
   if ( $U(data) ){ throw new ReferenceError('Missing mandatory arguments[data]'); }
   $console.warn("DAO::data", data);
   
   if ( data.newpassword !== data.confirmpassword ){
      promise = { success: false, data: data, errors: 'Password confirmation does not match new password.' };
      return appUtilities.$q.all(promise);
   }
   
   query = cgiQuery.sprintf(encodeURIComponent(data.currentUser), encodeURIComponent(data.newpassword), encodeURIComponent(data.oldpassword));
   url = query;
   $console.warn("url", url);

   //[#2.0] - send request
   return $http.get(url)
   .then(function(response){
      $console.warn("then::response", response);
      return { success: true, data: data };
   })
   .catch(function(response){ return appUtilities.$processRestException(response, data); });
};// ::config

return dao;
}]);
return module;
});

 

Crachá

Caríssimos,

Apesar do maravilhoso interface web do router não permitir alterar a password, podem fazê-lo a partir do terminal (telnet para o IP do router). Entram com o utilizador meo/meo e depois escrevem

 cd management/access-control/

e

 change-pw --new-pw=NOVA_PASSWORD --old-pw=meo --username=meo

sendo que depois precisam de confirmar a nova password.

A solução está aqui.
Esse procedimento, apesar de chato/boring/séca, vai realmente trocar a password do seu router.

Mas o Windows não vem com o TELNET ativo por default.
Isso é uma aplicação dos anos 80 e ninguém mais se importa...
Procure por “optionalfeatures” na lupa do Windows, e marque o checkbox “Cliente Telnet”.
O Windows irá instalar automaticamente o que falta, e NÃO precisa reiniciar o PC.

Agora, na mesma lupa, procure “cmd”.
Isto vai abrir a janela preta com o PROMPT do sistema.
Vai aparecer algo assim:

C:\Users\Seu nome>

Digite “telnet”

Daí pra frente digite os comandos e dados conforme forem solicitados.
Tudo o que vai aparecer na sua janela está listado abaixo:

 

Welcome to Microsoft Telnet Client

Escape Character is ']'

Microsoft Telnet> open 192.168.1.254
Connecting To 192.168.1.254...

GR241AG Gateway Router
Login: meo
Password: meo
 
 ============================================       
  
       GR241AG Gateway Router Solution  
               CLI Application 

 ============================================                                                                                                        
/cli> cd management/access-control/  
/cli/management/access-control> change-pw --new-pw=NOVA_PASSWORD --old-pw=meo --username=meo 
Confirm password: NOVA_PASSWORD

Password change successful
/cli/management/access-control> quit     

Bye bye. Have a nice day!!!


Connection to host lost.

Press any key to continue...

Microsoft Telnet>

Crachá +1

A solução, passaria por a MEO lançar novo firmware que elimine o que os Hackers “martelaram” para poderem aceder remotamente, tendo a seu favor o IP estático que o router mantém, ou por opção da MEO ou, também, já alvo de “bug de fábrica” provocado…

Aqui deixo mais um sript retirado do “ maravilhoso interface web do router“:

 

define(['angularAMD', 'uxfwk'
        , 'uxfwk.require.lang!fgw.myaccount.common'
], function module (angularAMD, uxfwk){'use strict';
   var $console = uxfwk.$console, $U = uxfwk.$U;
function vshack(){ vshack.catch(); };// SlickEdit hack, do not remove!!!

/**
* @ngdoc controller
*/
return ['$scope', 'appUtilities', '$window', '$cookies', '$filter', function controller ($scope, appUtilities, $window, $cookies, $filter){
   var key           = 'fgwMyaccountHome';
   var solution      = 'fgw';
   var myscope = {}, zpriv = {};
   var common = {}, dao = {};
   var fnTranslate = $filter('translate');
   var fnUppercase = $filter('uppercase');
function vshack(){ vshack.catch(); };// SlickEdit hack, do not remove!!!

common.profile = {
      user:       1,
      support:    2,
      admin:      10,
   p:null};// profile

/******************************************************************************
 * @name INITIALIZER BLOCK
 * @description
 * The following blocks initialize controller internal states and trigger startup
 * loading process.
 ******************************************************************************/

(function _initialize (){
   var myattrs = null, mygroup = null;
   //[#1.0] - Creates object scope
   myscope = ($scope[key] = {
      criticalError:        null,
      loadInProgress:       true,
      dependenciesResolved: false,
      passIsInEdition:      false,
      data: {},
      formData: {},
      dataReady:            false,  // state flag for main data
      common:               common,
   p:null});// just for padding

   //[#1.1] - Groups attributes based on template view.

   //[#2.0] - Request additional dependencies (if no critical error occurs)
   if ( !$scope[key].criticalError ){
      var $injector = angular.element(document).injector();
      var deps = [];

      //[#2.1] - Request javascript dependencies
      deps.push('modules/{0}.myaccount/{0}.myaccount.dao'.sprintf(solution));
      require(deps, function(){

         // Inject dependencies
         dao  = $injector.get('uxfwk.{0}.myaccount.dao'.sprintf(solution));
         //[#2.2] - Request language files
         appUtilities.$translate.refresh()
         .then(function(){
            //[#2.3] - Finally, sets resolution as concluded
            $scope[key].dependenciesResolved = true;
            $scope[key].actionGetData();
            zpriv.validators();
         })
         .catch(function(){
         });
      }, function(response){
         $console.warn(response);
         myscope.criticalError = response;
      });
   }//[END#2.0]
   $console.info('SCOPE _initialize', myscope);
})();// endof _initialize

/******************************************************************************
 * @name ACTION METHODS
 * @description
 * The following methods shall be used whenever user trigger some kind of action
 ******************************************************************************/

myscope.actionCancelData = function (){
   var defer = appUtilities.$q.defer();
   
   myscope.data = uxfwk.merge(myscope.data, myscope.data.$$$init);
   myscope.data.oldpassword      = null;
   myscope.data.newpassword      = null;
   myscope.data.confirmpassword  = null;
   zpriv.extendsData(myscope.data);
   defer.resolve(myscope.data);
   return defer.promise;
};// ::actionCancelData

myscope.actionConfigData = function (){
   var configData = myscope.data;
   $scope[key].loadInProgress = true;
   
   return dao.config(configData)
   .then(function(response){
      $console.warn("response", response);
      if ( true === response.success ){
         uxfwk.merge(myscope.data, response.data);
         zpriv.extendsData(myscope.data);
         myscope.passIsInEdition = false;
         return true;
      }else{ $scope.$root.notifications.alerts.open('error', null, response.errors); }
      return false;
   })
   .catch(function(response){
      $scope.$root.notifications.alerts.open('error', null, response.errors);
   })
   .finally(function(){
      myscope.loadInProgress = false;
   })
};// endof ::actionConfigData

/**
 * @ngdoc function
 * @name  actionGetData
 * @methodOf
 *
 * @description
 * Action to be triggered whenever a request for refresh data is done.
 *
 * @returns void
 */
myscope.actionGetData = function actionGetData (){
   var defer = appUtilities.$q.defer();

   $scope[key].loadInProgress = true;
   dao.get()
   .then(function(args){
      $console.warn("args: ", args);
      if ( (true === args.success) && !$U(args.data) ){
         myscope.data = angular.copy(args.data);
         zpriv.extendsData(myscope.data);
         defer.resolve(myscope.data);
      }else{ appUtilities.$rootScope.notifications.alerts.open('error', null, args.errors); }
   })
   .catch(function(error){
      defer.reject();
   })
   .finally(function(){
      myscope.loadInProgress = false;
      $console.warn("GET::MYSCOPE: ", myscope);
   })

   return defer.promise;
};// actionGetData

/**
 * @ngdoc function
 * @name  actionRefresh
 * @methodOf
 *
 * @description
 * Action to be triggered whenever a request for refresh data is done.
 *
 * @returns void
 */
$scope[key].actionRefresh = function actionRefresh (){
   $scope[key].actionGetData(); // check if ng-click could be attach to getData function.. check the future imnplications
};// actionGetData

myscope.isFormValid = function (){
   var result = false;
   $console.warn("myscope.formData", myscope.formData);
   if ( !$U(myscope.formData) ){ return myscope.formData.$valid; }
   return result;
};// ::isFormValid

/******************************************************************************
 * @name PRIVATE METHODS
 * @description
 * The following methods shall be used internally by this controller
 ******************************************************************************/
zpriv.extendsData = function (data){
   if ( angular.isArray(data) ){
      for ( var i = 0, leni = data.length; i < leni; ++i ){
         zpriv.extendsData(data[i]);
      }
   }else{
      data.$$$init = uxfwk.merge({}, data);
      data.oldUser = data.currentUser;
   }
   return data;
};// ::@extendsData

/******************************************************************************
 * @name VALIDATION METHODS
 * @description
 * The following methods shall be used as validators for each attribute. They
 * are called directly from template.
 ******************************************************************************/

zpriv.validators = function (){
   myscope.validators = { profile: {} };
   
      myscope.validators.profile = {
         texter: function (expression){ return{
            textualize: function (value){
               $console.warn("value", value);
               if ( $U(value) ){ return null; }
               if ( !angular.isString(key = uxfwk.getKeyByValue(value, myscope.common.profile)) ){ return null; }
               else { return fnTranslate('TEXT.FGW.MYACCOUNT.HOME.COMMON.PROFILE.'+fnUppercase(key)); }
            },// ::textualize
            expression: expression}},
      p:null};
   
   myscope.validators.watchers = (function(){
      $scope.$watch(function(){ return myscope.data.oldpassword }, function(){
         if ( angular.isObject(myscope.formData.oldpassword) ){ myscope.formData.oldpassword.$validate() }
         if ( angular.isObject(myscope.formData.confirmpassword) ){ myscope.formData.confirmpassword.$validate() }
         if ( angular.isObject(myscope.formData.newpassword) ){ myscope.formData.newpassword.$validate(); }
      });

      $scope.$watch(function(){ return myscope.data.newpassword }, function(){
         if ( angular.isObject(myscope.formData.confirmpassword) ){ myscope.formData.confirmpassword.$validate() }
      });

      $scope.$watch(function(){ return myscope.data.confirmpassword }, function(){
         if ( angular.isObject(myscope.formData.newpassword) ){ myscope.formData.newpassword.$validate(); }
      });
   })();// ::validators::watchers

   /**
    * @name validatePasswordMatch
    * @param elem
    * @param modelValue
    * @desc Validates if both passwords match
    * @return {boolean}
    */
   myscope.validators.validatePasswordMatch = function(elem, modelValue){
      var output = false, attr = (elem == 'newpassword') ? 'confirmpassword' : 'newpassword';
      if ( !angular.isObject(myscope.data) ){ return true; }
      else if ( !angular.isString(myscope.data.newpassword) && !angular.isString(myscope.data.confirmpassword) ){ return true; }
      else if ( angular.isString(modelValue) && modelValue.length > 0 && modelValue == myscope.data[attr] ){ return true; }
      return output;
   };// ::validators::validatePasswordMatch

   /**
    * @name validatePasswordRequired
    * @desc
    * @return {*|boolean}
    */
   myscope.validators.validatePasswordRequired = function(){
      return (angular.isString(myscope.data.oldpassword) && myscope.data.oldpassword.length > 0);
   };// ::validators::validatePasswordRequired

   myscope.validators.oldpassword = (function(){
      var field = {};
      field.spec = function(data, ngModel){
         var allrules = {};
         allrules.fgwMyAccountHomeOldPasswordRequired = function(){ var output = true;
            if ( (angular.isString(myscope.data.confirmpassword) || angular.isString(myscope.data.newpassword)) && (!angular.isString(myscope.data.oldpassword) || myscope.data.oldpassword.length == 0) ){ return false; }
            return output;
         };
         return allrules;
      };
      return field;
   })();// ::validators::oldpassword

   myscope.validators.newpassword = (function(){
      var field = {};
      field.spec = function(data, ngModel){
         var allrules = {};
         allrules.fgwMyAccountHomeOldPasswordRequiredNewPassword = function($modelValue){ var output = true;
            if ( !myscope.validators.validatePasswordRequired() ){ return output; }
            else if ( !angular.isString(myscope.data.newpassword) ){ return false; }
            else if ( !angular.isString(myscope.data.newpassword) && myscope.data.newpassword.length == 0 ){ return false; }
            return output;
         };
         allrules.fgwMyAccountHomePasswordMatchNewPassword = function($modelValue){
            return myscope.validators.validatePasswordMatch('newpassword', $modelValue);
         };// ::fgwMyAccountHomeOldPasswordValidator
         return allrules;
      };
      return field;
   })();// ::validators::newpassword

   myscope.validators.confirmpassword = (function(){
      var field = {};
      field.spec = function(data, ngModel){
         var allrules = {};
         allrules.fgwMyAccountHomeOldPasswordRequiredConfirmPassword = function($modelValue){ var output = true;
            if ( !myscope.validators.validatePasswordRequired() ){ return output; }
            else if ( !angular.isString(myscope.data.confirmpassword) ){ return false; }
            else if ( !angular.isString(myscope.data.confirmpassword) && myscope.data.confirmpassword.length == 0 ){ return false; }
            return output;
         };
         allrules.fgwMyAccountHomePasswordMatchConfirmPassword = function($modelValue){
            return myscope.validators.validatePasswordMatch('confirmpassword', $modelValue);
         };// ::fgwMyAccountHomeOldPasswordValidator
         return allrules;
      };
      return field;
   })();// ::validators::confirmpassword

};// ::@validators

}];
});

 

Para quem não sabe, o acesso ao router esta desabilitado externamente (via WAN) permitindo apenas que seja feito internamente na rede do ROUTER (LAN).

Qualquer pessoa consegue apanhar os pacotes de autenticação até com um simples raspberrypi tendo assim o acesso total na rede. Isto não significa que o fibergateway tenha falha de acessos pois o problema é geral ao nível do protocolo de autenticação wireless  e não especifico de um equipamento.

Para quem têm uma rede doméstica o melhor é mesmo filtrar os MAC (MAC Filtering ) identificando apenas os que podem aceder, desativar “Wi-Fi Protected Setup” e usar WPA2-PSK para a Autenticação de rede e encriptação AES.

Foi assim que “kikei” alguns gulosos da minha rede (mesmo com um SSID privado)

Viva,

Também só consegui alterar a pass na app. Mas resultou. Obrigado pela dica!

Caríssimos,

Apesar do maravilhoso interface web do router não permitir alterar a password, podem fazê-lo a partir do terminal (telnet para o IP do router). Entram com o utilizador meo/meo e depois escrevem

   cd management/access-control/

e

   change-pw --new-pw=NOVA_PASSWORD --old-pw=meo --username=meo

sendo que depois precisam de confirmar a nova password.

A solução está aqui.
Esse procedimento, apesar de chato/boring/séca, vai realmente trocar a password do seu router.

Mas o Windows não vem com o TELNET ativo por default.
Isso é uma aplicação dos anos 80 e ninguém mais se importa...
Procure por “optionalfeatures” na lupa do Windows, e marque o checkbox “Cliente Telnet”.
O Windows irá instalar automaticamente o que falta, e NÃO precisa reiniciar o PC.

Agora, na mesma lupa, procure “cmd”.
Isto vai abrir a janela preta com o PROMPT do sistema.
Vai aparecer algo assim:

C:\Users\Seu nome>

Digite “telnet”

Daí pra frente digite os comandos e dados conforme forem solicitados.
Tudo o que vai aparecer na sua janela está listado abaixo:

 

Welcome to Microsoft Telnet Client

Escape Character is ']'

Microsoft Telnet> open 192.168.1.254
Connecting To 192.168.1.254...

GR241AG Gateway Router
Login: meo
Password: meo
 
 ============================================       
  
       GR241AG Gateway Router Solution  
               CLI Application 

 ============================================                                                                                                        
/cli> cd management/access-control/  
/cli/management/access-control> change-pw --new-pw=NOVA_PASSWORD --old-pw=meo --username=meo 
Confirm password: NOVA_PASSWORD

Password change successful
/cli/management/access-control> quit     

Bye bye. Have a nice day!!!


Connection to host lost.

Press any key to continue...

Microsoft Telnet>

Obrigado pela informação, foi muito útil!

 

Crachá +1

Boas,

 

Eu fiz reset ao meu router no site e ele passado 5m volta a ter as defenicoes todas anteriores…

por exemplo pass da net que eu mudei..

 

Que posso fazer ?!

Reputação 2

Antes de mais, bem sei que este tópico é antigo, mas queria deixar aqui o meu obrigado a todos que me ensinaram a mudar a password do router. Finalmente! :smile:

Confirmo que realmente o utilizador meo não pode ser utilizado via Internet, ou seja, em teoria, não há nenhuma possibilidade de um hacker malicioso detectar o nosso endereço IP e entrar com um par login/password que «todos» conhecem. Já fiquei bastante descansado...

Isto é a teoria, claro está.

Como já foi amplamente discutido, se acedermos ao GR241AG via Wi-Fi usando telnet há uma possibilidade de um hacker atento se ligar à nossa rede de casa e descobrir assim a password (mesmo que a tenhamos mudado para uma sequência de caracteres aleatórios). Isto é particularmente verdadeiro para as redes Wi-Fi que tenham sido configuradas para terem segurança baixa — porque infelizmente ainda existem por aí muitos dispositivos mais antigos (ou com chips mais antigos — mais baratuchos...) que não se ligam com as novas chaves criptográficas… deixando-nos assim a rede mais vulnerável.

No entanto (descobri por acaso!), o GR241AG não suporta apenas telnet. Também suporta o protocolo SSH (na porta 22), que pode ser acedido, em Windows, com o bom e velho PuTTY (e o comando ssh em tudo o que corra Unix). Infelizmente a implementação de SSH do GR241AG requer as cifras twofish128-cbc, 3des-ctr ou 3des-cbc, que são um pouco arcaicas (e, logo, mais vulneráveis), e é preciso configurar o cliente SSH para que este aceite estas cifras (no meu caso, por exemplo, só consigo usar a 3des-cbc, pois as versões que tenho do ssh não disponibilizam muitas cifras antigas...).

A vantagem de usar SSH em vez de telnet é que a comunicação vai encriptada: é mais um nível de encriptação, que, mesmo sendo tecnicamente vulnerável, torna-se mais difícil de ser interceptada por um hacker potencial (claro que se usarmos o interface Web, se usarmos apenas HTTP, a comunicação não é encriptada; o servidor embutido micro-httpd aparentemente até tem uma chave TLS auto-encriptada, mas o acesso via HTTPS é umas mil vezes mais lento, para além, claro está, do browser se queixar de que o certificado não é válido).

Confesso também que não percebi nos scripts do @CUIDADO o que é que é tão «sensível» e que possa ser facilmente interceptado/alterado por um hacker malicioso… assim à primeira vista, o código parece-me minimamente seguro e funcional, mas também não sou perito em atacar sites potencialmente vulneráveis em JavaScript. Além disso, uma vez mais, este interface Web só é acessível de «dentro» da rede, ou seja, seria preciso primeiro infectar o nosso computador com um vírus qualquer que fosse a essa página.

De notar que é altamente provável que os técnicos da MEO (pelo menos alguns no suporte de 2ª linha) tenham, efectivamente, outra forma de acesso ao router, que possa ser acedida do exterior. Afinal de contas, graças aos comandos que enviaram, é visível que existem três níveis de utilizadores: admin, support, e user. Como é evidente nestes casos, apenas podemos «mexer» no nível user. Não está de excluir que os restantes dois níveis permitam o acesso do exterior. E também não sabemos se a MEO usa a mesma password de acesso remoto para todos os clientes, como ocorria há umas décadas atrás... bem, pelo menos eu não sei essas passwords :sweat_smile:

Crachá +1

Olá boas,

Antes de mais agradeço as suas preciosas informações sobre o acesso ao router.

Os scripts que postei, foram retirados do software (martelado) do router, pois era demasiado estranho anteriormente aceitar por wifi ou ethernet a mudança da password, o que não era possivel - clicar no botão ou num tijolo o efeito era o mesmo - e sendo só remotamente!?

Entretanto, já resolveram o problema.

Sobre isto é que não:

Initiating SYN Stealth Scan at 17:55
Scanning meo.Home (192.168.1.254) [1000 ports]
Discovered open port 21/tcp on 192.168.1.254
Discovered open port 80/tcp on 192.168.1.254
Discovered open port 22/tcp on 192.168.1.254
Discovered open port 139/tcp on 192.168.1.254
Discovered open port 23/tcp on 192.168.1.254
Discovered open port 8080/tcp on 192.168.1.254
Discovered open port 445/tcp on 192.168.1.254
Discovered open port 443/tcp on 192.168.1.254
Completed SYN Stealth Scan at 17:55, 6.51s elapsed (1000 total ports)
Initiating Service scan at 17:55
Scanning 8 services on meo.Home (192.168.1.254)
Completed Service scan at 17:56, 46.40s elapsed (8 services on 1 host)

Um router com as principais portas de segurança totalmente “escancaradas” ao exterior, com a agravante de manter o IP estático há imenso tempo, que já lhe perdi desde quando.

O certo é que já me “torraram” um PC desktop com upgrade feito há pouco tempo, um tablet com windows 10 e um portátil novo da HP, primeiro o disco de 1TB com menos de um ano e mais recentemente a bios corrompida por me bloquearem o computador , aos 65%, quando estava a actualizar o mesmo.