본문 바로가기

wargame

(35)
[CodeEngn] basic level2 코드엔진 2번 문제 설명을 보니 실행이 되지 않는 파일을 준다고 하네요 확실히 02.exe를 실행시켜보니 동작을 하지 않습니다. 올리디버거로 까봐도 마찬가지 입니다. 헥스에디터로 파일 시그니처를 보니 MZ로 실행파일이 맞습니다. 해결법을 알 수 없으므로 HxD로 탐색해보기로 합니다. 메세지 코드를 보니 이 부근이 실행결과 창인 것을 알 수 있습니다. 성공결과 밑에 의문의 문자열이 있습니다. 위치 상 패스코드일 가능성이 커보입니다. 코드엔진에서 답안제출을 해보니 인증이 되네요 키는 JK3FJZh 원래는 파일구조를 분석해서 실행되도록 고치는게 목적이 아닌가 싶습니다. 나중에 한번 다시 봐야겠네요.
[CodeEngn]basic level 1 하드디스크를 CD-ROM으로 인식시키라고 합니다. 올리 디버거로 까보니 gedrivetypea의 반환값에 따라 cmp문으로 실행 결과가 달라집니다. 비교되는 esi의 값은 401003입니다. Eax는 cmp기준으로 401003이 되어야 하니 위에 dec가 2번 실행된걸 상정하여 반환값은 401005가 되어야 합니다! 참고로 00401~은 프로그램에서 지정해준 주소대역이기 때문에 답은 5입니다. MSDN에서 get드라이브타입의 리턴값들에 대한 설명을 봐도 5번이 cd롬의 반환값이 맞네요.
[hackershcool FTZ] Level1 풀이 해커스쿨 FTZ를 텔넷포트인 23번 포트로 접속해줍니다. 로그인 하고 일단 ls명령어로 홈폴더의 내용물을 살펴봅니다.누가봐도 힌트인 hint파일이 보이네요 ㅋㅋcat명령어로 내용물을 봐봅시다. level2권한의 setuid를 찾으라고 하는군요.여기서 setuid란 프로그램 실행시 유저가 사용하는 권한이 파일의 소유주의 권한이 되는것을 의미합니다.즉 프로그램이 실행될때 유저가 level2의 권한을 얻게되는 프로그램이 존재합니다. find 명령어를 통해 원하는 프로그램을 찾아봅시다. find 명령어는 파일을 찾을 때 사용하는 명령어로 여러가지 옵션이 존재합니다.위에서 제가 지정한 옵션은 최상위폴더부터 level2가 소유자이고 최소한 setuid가 걸려있는 파일을 출력하라는 옵션을 부여한것입니다. 하나하나 자..