Assumiu o controle de 14 bibliotecas PHP no repositório Packagist

Os administradores do repositório de pacotes Packagist divulgaram informações sobre um ataque que resultou no controle das contas das 14 bibliotecas PHP que o acompanham, incluindo pacotes populares como instanciador (526 milhões de instalações no total, 8 milhões de instalações por mês, 323 pacotes dependentes), sql -formatter (94 milhões de instalações totais, 800 mil por mês, 109 pacotes dependentes), doutrina-cache-bundle (73 milhões de instalações totais, 500 mil por mês, 348 pacotes dependentes) e rcode-detector-decoder (20 milhões de instalações totais, 400 mil por mês, 66 pacotes dependentes).

Após comprometer as contas, o invasor modificou o arquivo compositor.json, adicionando no campo de descrição do projeto a informação de que procurava um emprego relacionado à segurança da informação. Para fazer alterações no arquivo compositor.json, o invasor substituiu as URLs dos repositórios originais por links para forks modificados (o Packagist fornece apenas metadados com links para projetos desenvolvidos no GitHub; ao instalar com o “composer install” ou “composer update” comando, os pacotes são baixados diretamente do GitHub). Por exemplo, para o pacote acmephp, o repositório vinculado foi alterado de acmephp/acmephp para neskafe3v1/acmephp.

Aparentemente, o ataque foi realizado não para cometer ações maliciosas, mas como demonstração da inadmissibilidade de uma atitude descuidada quanto ao uso de credenciais duplicadas em diferentes sites. Ao mesmo tempo, o invasor, contrariamente à prática estabelecida de “hacking ético”, não notificou antecipadamente os desenvolvedores da biblioteca e os administradores do repositório sobre o experimento que estava sendo conduzido. O invasor anunciou posteriormente que, depois de conseguir o emprego, publicaria um relatório detalhado sobre os métodos usados ​​no ataque.

De acordo com dados publicados pelos administradores do Packagist, todas as contas que gerenciavam os pacotes comprometidos usavam senhas fáceis de adivinhar, sem habilitar a autenticação de dois fatores. Alega-se que as contas hackeadas utilizaram senhas que foram utilizadas não apenas no Packagist, mas também em outros serviços, cujos bancos de dados de senhas foram previamente comprometidos e tornaram-se disponíveis publicamente. A captura de e-mails de proprietários de contas vinculadas a domínios expirados também poderia ser usada como uma opção para obter acesso.

Pacotes comprometidos:

  • acmephp/acmephp (124,860 instalações durante toda a vida do pacote)
  • acmephp/núcleo (419,258)
  • acmephp/ssl (531,692)
  • doutrina/pacote de cache de doutrina (73,490,057)
  • doutrina/módulo de doutrina (5,516,721)
  • doutrina/doutrina-mongo-odm-módulo (516,441)
  • doutrina/módulo-doutrina-orm (5,103,306)
  • doutrina/instanciador (526,809,061)
  • livro de crescimento/livro de crescimento (97,568
  • jdorn/cache do sistema de arquivos (32,660)
  • jdorn/sql-formatter (94,593,846)
  • khanamiyan/decodificador-detector de qrcode (20,421,500)
  • objeto-calistenia/phpcs-calistenia-regras (2,196,380)
  • tga/simhash-php, tgalopin/simhashphp (30,555)

Fonte: opennet.ru

Adicionar um comentário