보안/리버싱 스터디 라이트업

0912 라이트업 (CodeEngn Basic RCE 1)

고고예준 2024. 9. 15. 20:37

Immunity Debugger, HxD, 7-zip file manager를 설치하고 시작

 

< Immunity Debugger 단축키>

Ctrl + F2  //재시작

F2     //Breakpoint걸기,해제 

F7    //함수 내부 들어가서 실행

F8   //코드 한 줄 씩 실행

어셈블리어 더블 클릭 // 코드 수정 가능

F9  //프로그램 끝까지 실행 

Ctrl +F9 //함수 빠져나오기

 

문제 4개를 풀거예요~ 먼저 안랩 보안을 꺼주고요

 

CodeEngn Basic RCE 1

파일을 다운받으면 압축을 풀 수 없다고 함

7zip에서 압축을 풀거임 

c드라이브에 codeengn 파일을 만들고 다운받은 파일을 옮겨주면 파일이 뜨고

비번은 codeengn 입력해줌 

그럼 실행파일이 생기는데 악성 파일이라 실행할 수 없다고 함

실행파일을 codeengn파일로 복붙해주고...

codeengn파일에서 열면 이런 창이 뜸

immunity debugger로 열어줄게요

그럼 이렇게 뜨는데

 

어셈블리 부분 | 레지스터 부분

hex dump부분 | 스택 부분

 

f8을 누르면서 한줄씩 실행시키면 여기에 걸림.

call은 함수가 있어서 다른 줄로 넘어가게 됨

함수 내부로 들어가서 실행하는 f7을 눌러주면

거기는 jmp라서 있어서 f8을 눌러주면 더이상 들어갈 수 없음

여기에서 계속 f8을 누르면서 레지스터 부분을 본다

call이 나올때만 f7, 나머지는 f8누르면서 계속 내려감

하 call을 언제 누르고 언제 지나쳐야 할지 모르겠음

엄청 헤매다가 어쩌다보니... 답이 나왔다 

EAX 리턴값 3이 나옴

 

다시 처음으로

성공 메시지를 띄워볼거임

 

GetDriveTypeA 함수는 인자로 전달받은 드라이브가어떤 종류의 드라이브인지 판별하여 리턴함

 

0040101F가 00401021로 점프하고 쭉 실행되다가 Nah... 에러창이 뜬다

그래서 0040103d로 점프하도록 주소를 바꿔주면 바로 성공창이 뜨게 됨

코드를 더블클릭하면 수정가능

다시 쭉 실행하면