본문 바로가기

WARGAME/Root-Me

(20)
PE - AutoPE 우선 오토잇으로 만들어진 파일을 하나 준다.실행을 하면 에러가 발생하는데 정상적으로 실행이 안된다. Exe2Aut 이 프로그램을 사용하면 디컴파일 된 소스를 볼 수 있다.총 소스 길이가 6264줄로 어마어마하다 하지만 딱히 중요한건 몇줄 안된다 이 부분에서 에러가 발생하는데 temp 폴더에 있는 gui5.png를 못풀어 오는 것이다.나중에서야 프랑스 언어때문에 안된다는걸 알게되었는데우선 프랑스 언어로 된 windows 8을 다운받았다. 실행시 모습이다 프랑스 언어로 된 운영체제에서는 아무 에러 없이 잘 돌아간다.그럼 이제 아무거나 입력해보자 에러 메시지가 보이는데 저런 문자열이 해당 소스에 존재하지 않는다 왜냐, 이런식으로 나와있기 때문이다.그래서 풀 방법을 생각했는데 우선 저 입력 창을 찾았다. 해당 ..
ELF - ARM 우선 ida로 해당 바이너리를 열어봤더니 어떻게 돌아가는지 감이 안잡혀서 실행해봤다아무것도 출력이 안된다. 그래서 메인에 브레이크 포인트를 설정하고 천천히 분석해보았다. 인자값을 하나 받으니 처음 사진에서 처럼 AAAA를 넣고 실행해보자 헥스레이로 보면 v4를 -1로 만들어야하는거 같은데 키 값의 길이는 31이다 그리고 빨간색으로 네모칸 친 부분에서 내가 입력한 값과 키값을 비교한다. R1 내가 입력한 값 R3가 키값 키 값을 어디서 가져오나 했더니 여기서 가져온다. 처음에는 저게 키값이라고 생각도 못했는데 뒤에 ^_까지 31이므로ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_가 플래그다...
PE - RunPE 이 문제는 다른 문제에비해 푼사람이 많아 도전해봤는데 음 왜그런지 알거같다. RunPE는 윈도우용으로 널리 사용되는 패킹 기술이라는데 실행하면 이렇게 나온다. UPX 섹션이 보이기도하고 UPX같아서 UPX 언패킹을 했더니 잘 되지 않았다. 디버거로 열어보면 음 보면 알겠지만 다른게 없다 정해진 것만 있는데 upx 언패킹 하는 소스도 안보이고 음 조금 난감했다.덤프떠보고 이것저것해봤는데 관련 자료에 RunPE라는 글이 있다 대충 내용이 readprocessmemory함수로 내용을 읽고 PE파일을 writeprocessmemory함수로 버퍼에 쓴다는거같다. 해당 함수에 브레이크 포인트를 걸고 실행한다음 스택을 보고버퍼의 주소를 덤프해보자덤프창에 새로운 PE가 있음을 확인할 수 있다. 내려보면 여러섹션들도 보..
PDF - Javascript pdf파일을 주는데 이런게 적혀있다무시하고 안에 자바스크립트를 찾아보자 전에 써니나타스에서 이와 비슷한 문제를 푼적이 있어서그대로 해봤다 우선 이사이트에 업로드해서 자바스크립을 봤는데소스가 음 일단 실행해봤다 소스는 이렇게 생겼는데 실행하니 zjocYQp 이게 정의되지 않았단다 pdf 파일을 보면 자바 스크립트가 두개있는데다른 한개에서 zjocYQp 이 변수를 찾았다근데 소스를 보면 info에서 author, title, subject를 또 찾아야할 거같다kail를 열어 peepdf를 사용해보았다peepdf -i ch7.pdfmetadata를 실행하니 var info={ subject: "I5xlmqMpKN14VZNWuCulWR2fy4X6jS3j", producer: "MiKTeX pdfTeX-1.40...
ELF - KeygenMe 하 이문제는 역대급을 뻘짓을 많이했다 우선 name은 Root-Me라고 알려주었다 하지만 난 개뻘짓을 하였고 다른걸 입력하고있었다 시리얼도 마찬가지다 문자를 입력하면 안되고 숫자를 찾는거다 ㅂㄷㅂㄷ 다 써있는걸 못읽었다 우선 열면 프로그램상의 환영메시지를 볼 수 있다하지만 문자를 비교하는 값이 안나와있는데 위로 올리다보면 이런 값이 있는데 단축키 c를 눌러준다그럼 밑에 처럼 안보이던 80491D1함수가 나타나는데 딱봐도 그렇다 이 프로그램은 안티디버깅이 걸려있는데 이름은 3글자 이상이고시리얼은 숫자다 여기가 바로 중요한 부분인데 딱봐도 음...처음에 많이 헷갈렸지만 몇번 해보니깐 다 알 수 있다 그리고 중간중간 총 3번 rdtsc 명령어가 보인다이건 시간을 비교하는거니깐 바로 분기에 브포를 걸고 실행하면..
ELF - Random Crackme 우선 이번 문제는 상당히 쉽지만 내가 눈이 안좋아서 못푼거같다이 문제를 보면 저기 Good문자열까지 수정해가면서 가면될거같다근데? 디버깅이 안된다? 음... 파일을 보니 ar 아키텍처라고... 뭔지 모르겠다 이런건 처음봤다 ㅂㄷㅂㄷ거리면서 디버깅안하고 풀어볼려고 난리쳐보고 코딩했었는데실패!! 바보같이 멍때리고있었는데눈이 엄청 안좋다는걸 알 수 있었다. 하.. ㅂㄷㅂㄷ아무튼 저거 뒤로 다 지우면 정상적으로 디버깅이된다... 그래서 실행해보면 플래그가 나온다처음엔 저값을 password에 입력했을 때 안되서 플래그가 아닌줄 _VQLG1160_VTEPI_AVTG_3093_
ELF - Anti-debug 파일 실행 ㄱㄱ음 이번에도 패스워드를 찾아야한다 IDA로 열어보자~ 충격이였다 함수가 이게 끝이다 ㄷㄷㄷ우선 Start를 헥스레이로 보면 그냥 디버깅 못하게 하고 싶은가보다.. 다음 함수인 sub_80480E2를 보자result에서 값을 받아와서 XOR하고 result에 다시 저장한다 그럼이제 디버깅 ㄱ처음부분에 브포를 걸어준다(안티디버깅을 우회해야하기 때문) 이렇게 어셈을 바꿀 수 있는데 그냥 바로 sub_80480E2로 넘어가자 이렇게 수정하고 F8을 누른 후 헥스레이로 보면 잘 도착한 것을 볼 수 있다 result의 값은 이렇다 근데 처음부터 든 생각이였지만 저기 위에있는Enter the password: 이문자열과 성공 실패 문자열이 보이지 않는다그 문자열은루프를 다 돌아서 저장된 result의 ..
ELF - ExploitMe 지난번 문제랑 소스가 비슷한거 같다 그래서 저부분에 브포를 걸고 실행 이거랑 같아야하는데 저거는 입력이 안됨 아무튼 잘 맞게 분기해서 asm_을 실행한다 자 여기를 잘 보면 저기 &s부분이 플래그일 것이다 이렇게 내리다 보면 분기가 있는데 그냥 뭐 풀리는듯 이게 플래그였다 소름 저게 답일줄은 생각도 못했는데25260060504_VE_T25_*t*_