안 쓰던 블로그

[KMPlayer 버그 헌팅하기] 3편. BFF Fuzzer로 Fuzzing하기. (BFF 퍼저 에러 해결) 본문

CTF/Bug Hunting

[KMPlayer 버그 헌팅하기] 3편. BFF Fuzzer로 Fuzzing하기. (BFF 퍼저 에러 해결)

proqk 2022. 11. 18. 16:39
반응형

1편:  https://foxtrotin.tistory.com/583

 

[KMPlayer 버그 헌팅하기] 1편. 시작

K-Shield 주니어 9기 단기를 시작한지 벌써 한 달이 지나가고 있다. 그 사이에 첫 번째 지원금을 받았고, 중간 평가도 치뤘다. 월~금 매일 아침 9시부터 18시까지 하기 때문에, 대학생의 경우 수업 시

foxtrotin.tistory.com

2편: https://foxtrotin.tistory.com/584

 

참고한 글: https://hackyboiz.github.io/2021/03/24/l0ch/bughunting-tutorials-part3/

 

hackyboiz

hack & life

hackyboiz.github.io


사실 조금 헤맸다. 

따라하고 있는 블로그 글이 2편에서 시드 파일을 만들더니 퍼저 뭐시기를 한댔는데 3편에서 크롤링해서 썼다면서 중간을 전부 생략해 버렸다.

글쓴 분이 찾았다는 크롤링한 파일을 나도 찾고 싶었는데 한참 검색해도 구할 수 없어서 직접 퍼징을 하기로 했다.

나는 퍼저 퍼징 크래시 전부 처음 듣는 단어이기 때문에.. 엄청 검색하고 따로 찾아 보았다.

 

먼저 Fuzzing이란, 소프트웨어 취약점을 찾을 때 쓰는 방법 중 하나이다. 데이터를 주입하여 소프트웨어 버그를 찾는 블랙박스 테스팅 기술이다.

IEEE에서 발간하는 표준 소프트웨어공학 전문용어 사전에 따르면 퍼징을 다음과 같다. "부정확한 입력값 또는 부하가 심한 환경적 조건에서 시스템 또는 컴포넌트가 올바르게 작동할 수 있는 정도"

참고: https://cpuu.postype.com/post/589162

 

퍼징을 하는 툴이 Fuzzer 퍼저다.

취약점 분석을 하시는 분들은 본인의 Fuzzer를 가지고 있다고들 하지만, 공부하는 학생들은 공개된 퍼저를 써도 된다.

카네기 멜론 대학 CERT에서 만든 BFF 퍼저를 많이 쓴다길래 나도 이것을 쓰기로 했다.

자세한 방법은 이 블로그를 참고: https://fuzz.kr/7

 

그런데!!! 다 똑같이 해도 에러가 계속 터졌다.

특히 파이썬 에러.. 아무리 찾아도 마땅한 해결 방법이 없다.

그러던 중 이 글을 보고 해결했다. https://my-repo.tistory.com/72

 

해결 방법

1. bff.py를 실행할 때 파이썬2를 사용한다.

2. pip install numpy scipy pyYAML pywin32 WMI로 필요한 라이브러리를 전부 설치한다. (BFF Fuzzer를 설치할 때 함께 설치되지만 에러가 나서 재설치했다.)

3. WMI를 아무리 설치해도 WMI가 없다는 에러가 끊임없이 뜨는데, 내 경우 BFF를 다 삭제하고 다시 설치하면서, BFF 설치 프로그램을 통해 설치했다. 이 때 python2에다가 설치해 주어야 한다.

4. 관리자 권한으로 실행

 

이렇게까지 하면 해결이 되고, 무사히 파일이 실행된다.


내 경우에 설정 파일인 bff.yaml은 크게 바꾸지 않았다.

id, target, directory를 지정하고, 시간 상 minimize 옵션을 False로 했다.

 

1개로는 도저히 끝날 기미가 보이지 않아서 7개를 동시에 돌렸다.

그래도 한 6시간 넘게 돌렸다. (글을 쓰는 지금도 돌아가고 있다...)

 

열심히 돌린다. 열심히...

반응형
Comments