본문 바로가기

반응형

CodeEngn

[CodeEngn]코드엔진 basic RCE L09 문제: StolenByte를 구하시오 Ex) 75156A0068352040 StolenByte를 구하는 문제이다. 먼저 Ollydbg로 열어보았더니 암호화되어있을 수도 있다고 한다. PEiD로 열어보니 UPX로 패킹되어있다고 한다. 09.exe를 unpack해주었다. unpack한 걸 열어보니, 12개 정도가 NOP으로 채워져있다. Stolen byte가 있다는 건 POPAD를 통해 명령어를 빼고, PUSHAD를 통해 명령어를 넣었을 것이라고 예측해볼 수 있다. 일단 POPAD를 검색해본다. 근데 나오는 게 없다. PUSHAD를 검색해본다. 이것도 나오는 게 없다. 혹시 몰라서 패킹되어있었던 원본의 09.exe를 ollydbg로 열어본다. PUSHAD가 여기있다. POPAD를 검색해본다. 언패킹했을 때 .. 더보기
[CodeEngn]코드엔진 basic RCE L13 문제: 정답은 무엇인가 올리디버거를 통해 열어보려고 했는데, 파일을 시작할 수 없다고 한다. 패킹은 되어있지 않고 C#으로 작성됨을 확인했다. 디컴파일을 위해 .Net reflector을 다운받았다. 계속 +를 눌러 Main으로 들어갔다. 코드를 확인해보니 친절하게 decrypt도 마련되어있음을 확인할 수 있었다. source code를 export해본다. Start해준 후, 명시되어있는 디렉토리로 가서 파일의 위치를 알아놓는다. 그걸 visual studio에 추가해서 파일을 연다. 이렇게 파일을 해놓고 ctrl+f5를 통해 실행해본다. 비밀번호 입력창은 커녕 위치들과 처리되지 않은 예외만 나오고 프로그램이 종료됐다. 검색을 해보니, 내 코드는 좀 다른 사람들과 다름을 확인했다. https://whit.. 더보기
[CodeEngn]코드엔진 basic RCE L11 문제: OEP를 찾으시오. Ex) 00401000 / Stolenbyte 를 찾으시오. Ex) FF35CA204000E84D000000 정답인증은 OEP+ Stolenbyte Ex ) 00401000FF35CA204000E84D000000 OEP와 Stolenbyte를 찾는 문제이다. Ollydbg를 열면 PUSHAD가 되어있고, 밑에 NOP으로 채워져있는 것을 확인할 수 있다. NOP에 Stolenbyte가 있을 듯 하다. Ctrl+F를 통해 POPAD를 찾아보도록 한다. POPAD를 검색해보니 이 밑 부분이 NOP에 채워질 듯 하다. 일단 이 부분을 breakpoint로 해주었다. 이 부분까지 와보니, 아까는 없었던 문자열이 보인다. 윗부분에서 계속 F8을 눌러보니 이 부분으로 왔다. OEP는 004.. 더보기
[CodeEngn]코드엔진 basic RCE L08 문제: OEP를 구하시오 Ex) 00400000 일단 PEiD를 확인해봤는데, 패킹되어있음을 확인할 수 있다. 따라서, unpacking을 해주었다. 시작되는 곳이 OEP임을 알 수 있다. 끝 더보기
[CodeEngn]코드엔진 basic RCE L 03 Basic RCE L03을 풀어보도록 한다. 비주얼베이직에서 스트링 비교함수 이름은? 함수의 경우는 dependency walker 또는 CFF Explorer을 사용하는 게 편하다. 나는 dependency walker를 사용했다. Dependency walker의 함수를 확인할 수 있으니, 함수의 이름으로 스트링 비교함수를 생각해보면 된다. 끝 더보기
[CodeEngn]코드엔진 basic RCE Level 02 이번엔 2번을 풀어본다. 패스워드로 인증하는 실행파일이 손상되어 실행이 안 되는 문제가 생겼다. 패스워드가 무엇인지 분석하라고 한다. ollydbg로 실행해보았으나, 되지 않음을 확인했고 다른 프로그램을 사용해보기로 결심했다. PEview랑 HxD 중에 고민을 해봤는데, PEview는 하나하나 끊어져 있어서 그냥 HxD로 열어봤다. HxD를 통해 열어보았더니, MZ 즉 exe파일임은 확인했다. 내려서 뭔가 비밀번호가 될만한 문자열을 찾아보도록 한다. 유추되는 아이디를 찾고 문제풀이를 종료한다. 더보기

반응형