본문 바로가기

4-5. 2022-2 심화 스터디/윈도우 악성코드 분석 (1)

리버싱 워게임 문제 풀이

드림핵 rev-basic-0, rev-basic-1 , CrackMe 3번,5번 ,  코드엔진 Basic RCE L01, 02 

 

 rev-basic-0

문제 파일 다운로드 후 x64dbg Files를 다운받는다.

 

 

chall0.exe 파일을 열고 문자열 참조에 들어간다.

 

“Input: ”을 클릭해서 들어가면

“Compar3_the_str1ng”과 비교를 해서 정답을 찾고 있다.

그래서 정답 flag“Compar3_the_str1ng”이다.

 

flagDH{Compar3_the_str1ng}를 입력하면 문제가 해결된다.

 

rev-basic-1

문제 파일을 다운로드 받아서 x64dbg로 열어보았다.

그리고 문자열 참조를 통해 Correct라는 문자열을 검색했더니

 

Correct 문자열을 발견하였다.

 

그 주소로 이동했더니 JE 명령어가 있었다.

Call 명령어를 통해 함수를 호출하고 그 함수에서 비교가 일어나는 것으로 예상하였다.

 

 

비교 중인 모든 문자들을 조합해보면 Compar3_the_ch4ract3r 라는 문장이 나온다.

 

Flag값을 입력하면 문제가 해결된다.

CrackMe 3번

키파일을 찾을 수 없다고 뜬다

풀이방법

여기 부분에서 abex.l2c라는 키파일을 오픈하는 것을 알 수 있다. 그러나 해당 파일이 없기 때문에 다음부분으로 점프를 해서 아래로 내려간다 이때 파일을 만들어주면 점프하지 않고 내려간다

키파일 생성과 바이트 수를 설정해주면 다음과 같이 문제 해결 가능하다

 

CrackMe 5번

실행 화면

입력하면 위와 같이 오류가 뜸

 

풀이방법

1.     다시 aaaa를 입력해서 실행시키고 확인하면 String2에는 입력한 시리얼넘버인 aaaa가 들어가 있고String1에는 긴 문자열이 들어 있는걸 볼 수 있다.

2.     LeC-5781Ykpfows4562-ABEX라는 긴 문자열과 입력한 문자열을 비교해서 같으면 EAX 0을 저장하고 있다. , EAX 0이 들어있으면 JE구문에 의해서 성공메세지가 있는 부분으로 이동한다.

코드엔진 Basic RCE L01

 

문제:HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가

문제 파일을 실행했더니 다음과 같이 뜸

문제를 풀 필요 없이 간단하게 CDROM value값이 5임을 알 수 있음 

코드엔진 Basic RCE L02 

패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오

 

문제를 실행하면 뭔가 깨진듯한 글자들이 나옴

실행파일 분석하기 위해  HxD에서 열어봄 

내리다보면 함수명?이 확인 됨 그리고 더밑에는 Nope, try a gain!~~~ 하면서 패스워드가 실패했을때 문구와 you did it! 패스워드를 성공적으로 입력했을때의 문구가 나오는것같음  

그렇다면 Crackme#1옆의 JK3FJZh가 비밀번호인 것을 예상할 수 있음