워게임/Root Me

[Root Me] Ugly Duckling - 포렌식 / PowerShell / USB

SecurityMan 2022. 4. 26. 11:00

 

Root Me에서 맨날 웹해킹 문제만 풀다가 

 

기분 전환 겸 풀어본 포렌식 문제

 

상당히 재미있는 문제였다.

 

반응형

 

문제 설명을 읽어보면

 

CEO의 컴퓨터가 손상된 것으로 보이는데, 인턴 기간에 월급을 제대로 받지 못한 직원이 의심스럽다고 한다.

 

해당 직원의 책상에서 발견된 USB 스틱에서 바이너리 파일을 발견했다고 하는데

 

이 바이너리 파일을 분석해 달라고 한다.

 

 

이게 바로 문제에서 주어지는 file.bin 바이너리 파일이다.

 

 

해당 파일을 HxD 프로그램으로 열어보면 이런 내용들이 들어가 있다.

 

도무지 무슨 내용인지 알 수 가 없다.

 

 

대체 무슨 파일일까 고민해보다가 구글에 검색해봤다.

 

문제 제목인 ugly duckling 과 usb를 조합하여 검색해 봤더니

 

Hak5 라는 사이트에서 USB Rubber Ducky 라는걸 팔고 있는걸 발견했다.

 

 

해당 사이트에 들어가 봤더니 이렇게 오리가 그려진 USB를 팔고 있었다.

 

심지어 매진된 상태이다.

 

설명을 읽어보니 백도어를 설치하고, 문서를 유출하고, 크리덴셜 정보를 캡쳐하는 기능을 가지고 있다고 한다.

 

아마 직원이 쓴 USB가 바로 이 USB Rubber Ducky 인거 같다.

 

 

github에서 찾아보니 USB Rubber Ducky 로 만든 바이너리 파일을 디코딩해주는 코드를 찾았다.

(https://github.com/hak5darren/USB-Rubber-Ducky)

 

 

git clone 을 이용해 해당 코드를 다운받을 수 있다.

 

 

다운받은 파일 중 Decode 폴더로 들어가본다.

 

 

Decode 폴더 안에 보면 ducky-decode.pl 파일이 있다.

 

pl 확장자는 Perl(펄) 스크립트를 의미한다.

 

 

./ducky-decode.pl -f file.bin 처럼 f 옵션을 줘서 file.bin 바이너리 파일을 지정해주면

 

디코딩을 해준다.

 

중간에 보면 어떤 URL이 보인다.

 

 

해당 주소로 들어가면 이런 사진이 나온다. ㅡㅡ

 

문제랑 크게 상관없으니 그냥 넘어가자.

 

중요한 부분은 아래쪽에 나온다.

 

PowerShell, Exec, Enc 이런 문자들이 나오는것으로 보아

 

파워쉘로 어떤 코드를 실행시킨듯 하다.

 

아래쪽에 있는 영어들이 base64로 인코딩된 스크립트 인것 같다.

 

 

CyberChef에서 base64 디코딩을 해보면 

 

어떤 웹서버로부터 exe 파일을 다운받아 실행시킨걸 볼 수 있다.

 

해당 주소로 접근해서 exe 파일을 확보해 본다.

 

 

주소창에 입력하면 이렇게 바로 exe 파일을 다운로드 받을 수 있다.

 

 

IDA 프로그램을 이용해서 해당 exe 파일을 열어보면

 

main 함수에서 플래그를 발견할 수 있다.

 

 

사실 악성파일이 아니니 그냥 실행시켜도 된다.

 

더블클릭해서 실행시키면 플래그를 얻을 수 있다.

반응형