CTF/포렌식

[HackArmour CTF] Sussy - 포렌식 / 랜섬웨어 / Strings

SecurityMan 2022. 5. 29. 11:00

 

간만에 재미있는 포렌식 문제였다.

 

문제 자체 컨셉이 어몽어스와 관련되어 있어서 재미있었던거 같다.

 

문제 제목인 Sussy도 어몽어스를 할 때 임포스터로 의심되는 사람에게 하는 말이라고 한다.

(Suspect / 용의자)

 

 

문제 파일로는 affected-folder 와 README.txt 파일이 주어진다.

 

 

README.txt 파일을 열어보면 컨셉에 충실하게 어몽어스 캐릭터가 그려져 있고,

 

밑에는 문제 풀 때 주의사항이 나열되어 있다.

 

- 인터넷과 연결되어 있을 것
- 악성코드는 오로지 그것이 존재하는 폴더에만 영향을 미친다.
- 폴더로 들어가서 chmod +x ./sussy-malware 명령어로 바이너리 실행 권한을 부여해라
- 행동을 관찰하기 위해 파일 탐색기를 이용해라
- 악성코드의 행위를 보여주기 위해 더미 문서들을 넣어놨다.
- 악성코드가 동작중일 때 터미널을 닫지 마라. 

 

밑에 적혀있는 주의사항을 짧게 요약해보면 이런 내용이다.

 

반응형

 

왜 이렇게 디테일한 주의사항을 줬냐면

 

실제 파일에도 영향을 미칠 수 있는 악성코드이기 때문이다.

 

그래서 꼭 주어진 폴더 안에서만 실행해야 한다.

 

 

주어진 affected-folder 를 열어보면

 

파일이 3개 들어있다.

 

important.txt another-importand.txt 가 아까 README.txt에서 언급한 더미 문서이다.

 

두 txt파일의 내용은 별거 없다.

 

그냥 안에 중요한 내용이 들어있다~~ 정도이다.

 

그리고 sussy-malware가 랜섬웨어 처럼 동작하는 악성코드이다.

 

랜섬웨어란 몸값을 뜻하는 ransom과 software의 합성어로 컴퓨터 내의 파일들을 암호화 시켜

 

사용할 수 없도록 만들고, 그걸 풀어주는 대가로 몸값을 요구하는 악성코드를 의미한다.

 

sussy-malware의 실행권한을 보면 rwxrw-rw- 로 일반사용자에게 실행권한(x) 가 없는걸 볼 수 있다.

 

 

chmod 777로 sussy-malware 파일의 실행

 

권한을 부여해 준다.

 

 

실행 권한이 부여되었으니 ./sussy-malware로 랜섬웨어를 실행시켜 본다.

 

실행시키면 파일 암호화가 진행이 되고 파일을 복구하고 싶으면 플래그를 입력하라는 문구가 나온다.

 

진짜 랜섬웨어 처럼 묘사를 해 놓았다.

 

 

이게 sussy-malware가 동작한 후의 affected-folder 의 모습이다.

 

아까는 없었던 1-sus.jpg, 2-sus.jpg, 3-sus.jpg 세 개의 어몽어스 캐릭터 사진 파일이 생성된 것을 볼 수 있다.

 

important.txt  another-importand.txt 는 그대로 들어있는것 처럼 보이는데

 

 

두 파일을 열어보면 아까랑 전혀 다른 내용으로 바껴있는걸 볼 수 있다.

 

랜섬웨어가 txt 파일을 암호화 시켜버린 것이다.

 

 

일단 sussy-malware 랜섬웨어 파일의 대략적인 정적 분석을 위해 strings 명령어를 이용해봤다.

 

strings sussy-malware 라고 입력하면 해당 악성코드에서 사람이 읽을 수 있는 ascii 값들을 찾아서 아래처럼 출력해준다.

 

strings 출력 결과를 보다보니 수상한 url 주소가 식별이 됐다.

 

대충 보니 pastebin 사이트에서 어떤 값들을 가져오고 있는듯해 보였다.

 

pastebin(https://pastebin.com/) 사이트는

 

사람들이 아무 텍스트나 그냥 붙여넣기 해서 저장해놓고 쓸 수 있도록 서비스를 제공해주는 사이트이다.

 

말 그대로 paste(붙여넣기) bin(쓰레기통) 이다.

 

bin.com/raw/https://paste9cDvNGa1eeVXATq0https://paste

 

찾아낸 url을 보니 뭔가 부자연스러워보인다. 추가적인 작업이 필요할 것 같다.

 

 

일반적인 pastebin 주소는 이렇게 생겼다. https://pastebin.com/raw/ 뒤에

 

8글자의 문자열이 오는 방식이다.

 

이걸 토대로 strings로 찾아낸 url을 복구해보자.

 

9cDvNGa1eeVXATq0

 

이 부분을 보면 딱 16글자인걸 볼 수 있다.

 

앞에서 부터 8개씩 쪼개면 위처럼 두 부분으로 나눌 수 있다.

 

 

먼저 앞의 8글자를 이용해 https://pastebin.com/9cDvNGa1 페이지로 접속해 봤다.

 

그랬더니 어몽어스 캐릭터 모양의 문자열이 찍혀있는게 보였다.

 

 

다음으로 뒤에 8글자를 이용해 https://pastebin.com/eeVXATq0 페이지로 접근해 봤더니

 

flag 라는 제목으로 이상하게 생긴 문자열이 저장되어 있는게 보였다.

 

 

이건 플래그를 단순히 거꾸로 써 놓은 것이다.

 

CyberChef(https://gchq.github.io/CyberChef/)에서 Reverse 해주면 빠르게 플래그를 찾을 수 있다.

 

 

랜섬웨어를 실행시킨 터미널에 가서

 

플래그를 입력해보면 파일이 복구됐다는 문구를 확인할 수 있다.

 

 

실제로 암호화됐던 두 txt 파일을 열어보면

 

다시 내용이 복구된 것을 확인할 수 있다.

반응형