https://hackerone.com/reports/1087489

 

Shopify disclosed on HackerOne: Github access token exposure

 

hackerone.com

 

해커원에서 간단하지만 큰 금액을 받은 리포트가 있길래 궁금해서 알아보았다.

 

여기서 말하는 쇼피파이 환경은 홈페이지가 아니라 데스크탑 앱이더라.

이 앱은 Electron이라는 프레임워크로 만들어졌는데 이게 웹 지식만으로 데스크탑 앱을 만들수 있다고 한다.

 

* 자세한건 https://kdydesign.github.io/2019/04/15/electron-tutorial/

 

요즘 디코, atom, 스카이프 등 많이 알려져 있는 앱들이 Electron으로 만들어지고 있다고 한다. 

그래서 버그바운티 할때 진단 할 앱이 Electron으로 만들어졌는지 아닌지 알아보고 싶어졌다.

 

 

- Electron 알아보는법

- 실행파일에서 electron 문자열 검출
- C:\Users\{사용자}\AppData\Local\Programs\{프로그램명}\resources 경로에 "app.asar"있는지 확인
- 앱 실행 후, 개발자 도구 단축키 Ctrl+shift+I, ctrl + shift + d 눌러서 개발자 도구 실행 여부 확인

* app.asar은 electron으로 만든 앱을 배포할때 생기는 파일이다.

참고:

http://electron.ebookchain.org/ko-KR/tutorial/application-distribution.html

https://whatext.com/ko/asar

 

 

데스크탑 앱을 확인하다 이렇게 app.asar을 발견한다면 해커원 리포트에서 나온거처럼 한번 까보자

$npx asar extract app.asar destfolder // destfolder = 폴더 명인듯 
                                      // npx asar extract path/to/app/asar extracted/path

이 안에 .env라는 파일이 있나보다.

해커원 리포트 쓴 사람은 그 파일에서 GitHub PAT(Personal Access Token), 즉 패스워드 대신 쓰는 토큰을 발견했다.

 

 

 

- 이 토큰이 살아있는지 테스트하기

curl -H 'Authorization:token my_acccess_token' https://api.github.com/user/repos

이 명령어가 잘 실행이된다 > 토큰이 살아있는 거

 

발견자는 이 토큰으로 쇼피파이가 운영하는 깃허브에 접근해서 모든 레포지토리에 접근 및 수정 권한을 얻었다.

엄밀히 말하면 이건 앱 개발자의 실수를 발견해서 운좋다 라고 볼 수도 있지만 또 모르지?

또한 github pat이 아니더라도 다른 정보를 알 수 있으니 app.asar을 발견한다면 한번 까봐야겠다

 

참고) 윈도우10에서 curl 사용하는 법
https://kitae0522.tistory.com/entry/Windows-%EC%9C%88%EB%8F%84%EC%9A%B010%EC%97%90%EC%84%9C-curl-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

 

 


출처: 

https://richong.tistory.com/447 [study]      

      https://geoseong.github.io/docs/scm/git/github-token-authentication/

복사했습니다!