All
-
lvl 08Wargame/HackerSchool FTZ 2019. 1. 10. 20:08
→ 힌트 정보 확인. → shadow 파일을 찾아야 한다. 힌트에 용량이 2700 이라는 힌트를 볼 수 있다. 따라서, find 명령어의 -size 옵션을 이용하여 검색한다. find [디렉토리] [옵션]find [디렉토리] -size [용량][단위] 단위: b(512byte), c(byte), k(kbyte), w(2byte), b 등 → /etc/rc.d/found.txt 파일을 찾을 수 있으며, 해당 파일의 내용은 아래와 같다. [level8@ftz level8]$ cat /etc/rc.d/found.txtlevel9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf..
-
Easy CrackWargame/reversing.kr Challenge 2019. 1. 10. 16:49
→ 프로그램을 실행한다. 사용자 입력 값에 임의의 값 1234를 입력한 후 확인할 시 잘못된 패스워드를 알려주는 메시지 창을 확인할 수 있다. → IDA 도구를 이용하여 분석을 시작한다. 함수명을 살펴보는 중, strncmp 함수를 확인할 수 있고 해당 프로그램에서 키 값을 확인하는 과정에서 strncmp 함수가 쓰일 것으로 추측할 수 있다. → strncmp 함수의 xrefs 확인하면 2개가 나타나지만, 1번 주소 값이 내가 찾고자 하는 부분이다. (직접 분석) → sub_401080 함수에서 strncmp 함수가 사용되고 있으며, GetDlgItemTextA 함수를 통해 사용자로부터 값을 입력받는 부분도 확인할 수 있다. → 키 값을 확인하는 분기로 생각되는 부분에 bp 를 설정하고 사용자 입력 값 ..
-
lvl 01Wargame/CodeEngn Advance RCE 2019. 1. 10. 14:30
문제 이 프로그램은 몇 밀리세컨드 후에 종료 되는가 정답인증은 MD5 해쉬값(대문자) 변환 후 인증하시오 풀이 → 프로그램을 실행한다. 다음과 같은 메시지 창이 나타나고 일정시간이 흐른 후 자동으로 종료된다. → PEiD 도구를 이용하여 분석한 결과, UPX로 패킹된 것을 확인했다. → UPX를 언패킹한 후, IDA 도구를 이용하여 디스어셈블한다. → String 값 확인 시, AutoIt Script 로 구현된 것을 확인할 수 있다. → basic level 19 문제와 같이 디컴파일을 통해서, timeout 시간 정보를 획득할 수 있다.
-
[Toddlers's Bottle] fdWargame/pwnable.kr Challenge 2019. 1. 10. 14:06
→ 문제는 아래와 같다. → 로그인 후 파일 확인. → fd.c 소스 확인. → 소스분석 결과, 문제를 풀기 위해선 "!strcmp("LETMEWIN\n", buf)"을 참으로 만들어야 "good job :)" 이라는 메시지와 함께 /bin/cat/flag 명령어가 실행되서 flag 값을 알 수 있다. 따라서, buf 배열에 "LETMEWIN\n" 이라는 문자열이 저장되야 한다. → 그리고 buf 배열은 read 함수(read(fd,buf,32);)에 의해서 할당된다. 해당 read 함수를 해석하면, fd는 파일 디스크립터 값, buf는 읽은 데이터를 저장할 버퍼, 32 값은 얼만큼 읽을지를 전달하는 인자이다. 여기서 파일 디스크립터 값에 대해서 알아야 한다. → 리눅스 파일 디스크립터 값은 아래와 같다..