쉬는시간 22

[pwnable.kr]Toddler - flag 풀이

pwnable.kr의 toddler카테고리에 속한 문제 가운데 하나인 flag입니다. 아빠가 나에게 packed된 선물을 주셨다! 얼른 열어보자. 라고 하는 문제입니다. 저는 원래 문제를 풀 때 저런 글 안 읽어보고 바로 다운로드 받아서 푸는 편인데, 문제 자체에 엄청난 힌트가 숨겨져 있었네요. 앞으론 잘 읽어봐야겠습니다. 그리고 이것은 리버싱 task이고, 너는 바이너리만 있으면 됩니다~ 라고도 쓰여져 있네요.file명령어로 확인해 보니 64비트용 실행파일(elf)입니다. 64비트용 IDA로 열어보아야 겠습니다. 아무 생각 없이 열어보니, 디컴파일 에러가 납니다. 이런 경우는 처음이라 당황해서 구글링을 해보니, 스택 메모리 구조 상 지정된 주소는 초기 스택 포인터보다 낮은 주소에 있어야 하는데 지정된 ..

[pwnable.kr]Toddler - fd 풀이

pwnable.kr에서 만나볼 수 있는 가장 쉬운 문제이자 가장 처음 만나게 되는 문제입니다. 엄마! Linux에서 파일 디스크립터가 무엇인가요? 라는 문제네요. 만약 정말 초보자라면 저 링크를 따라가서 동영상을 보라고 하는데 문제 풀 때는 몰랐다가 이제서야 봤습니다. 보고 싶으신 분들은 한 번 보시고 어떤지 댓글로 남겨주세요.ㅎ fd@pwnable.kr에 포트 2222번으로 접속해 보라고 합니다. 접속 툴로는 putty를 사용했습니다.접속을 해서 문제에서 알려준 패스워드를 입력하고 난 후, ls -l 명령어를 이용해 한 번 둘러봅니다.flag파일이 하나 있고, fd라는 프로그램과 fd.c라는 프로그램 소스파일이 보입니다. fd가 setuid가 걸려있다는 점을 모두 눈치채셨기 바랍니다.setuid가 걸려..

[pwnable.kr]Toddler - collision 풀이

pwanble.kr의 Toddler카테고리에 있는 문제 가운데 하나인 collision입니다. 아빠가 멋진 MD5 해쉬 collision을 이야기 해주어서 자신도 그 비슷한 걸 해보고 싶다는 내용입니다.우선 pwanble.kr에 포트 2222번으로 접속을 해봐야 할 것 같습니다. 접속 툴로는 putty를 사용했습니다.접속하자 마자 ls로 디렉토리 내용을 살펴보니 flag파일이 바로 보입니다. 하지만 col_pwn 의 소유자 권한과 그룹 권한만 읽을 수 있도록 권한이 세팅되어 있습니다. 즉 flag파일을 열려면 col_pwn권한을 얻어야 한다는 뜻인데, 방법은 간단합니다. col이라는 프로그램에 setuid가 붙어있기 때문입니다. setuid가 붙은 프로그램의 경우 실행 시 파일 소유자의 권한으로 권한이 ..

[pwnable.kr]Toddler - bof 풀이

pwnable.kr의 Toddler 파트에 있는 문제 가운데 하나인 bof 라는 문제입니다.할머니께서 내게 말씀해 주셨는데 버퍼오버플로우가 가장 일반적인 소프트웨어 취약점이라고 합니다. 그게 사실인가요? 라고 하네요. 부럽게도 할머니가 왕년에 짱짱해커였던 모양입니다. download 링크를 통해 다운로드를 받게 되면 bof라는 실행파일과 bof.c라는 소스코드를 얻을 수 있습니다. 우선 소스코드부터 열어봅니다. 저는 에디터로 vscode를 자주 사용하기 때문에 vscode로 열어보았습니다.저희는 이 프로그램이 실행되고 있는 환경에 있는 flag라는 파일을 여는 것이 목표입니다. 그러기 위해서는 system("/bin/sh")과 같은 함수를 활용해서 키 파일에 접근할 수 있는 쉘을 얻어야 합니다.코드를 잘..

[xcz.kr] PROB36 문제풀이

xcz.kr Prob 36의 Title은 「File Deleted」입니다. 피시방에서 아동 청소년 보호법에 위배되는 파일을 소지한 기록을 발견했다고 합니다. 아마 아동포르노가 담겨있는(담겨있다고 가정한) 동영상 파일일 거라고 추측이 되지만 Title(삭제된 파일)로 미루어 보아 동영상 파일은 이미 삭제가 됐을 확률이 큽니다."일반 삭제를 했을 경우 휴지통에 남아있을 것이고, 영구삭제를 했었어도 복구를 할 수 있는 방법이 있으니 어떻게든 풀리겠지" 정도의, 대충 이런 감을 가지고 문제에 들어가 보았습니다. Prob File 을 눌러 파일을 다운로드 받아보니, 기대했던 이미지 파일과는 달리 "file_deleted.7z"이라는 압축파일이 다운로드 받아집니다. 압축을 해제하고 들어가보면 아래 이미지처럼 흡사 ..

쉬는시간/xcz.kr 2015.11.22

[xcz.kr] PROB30 문제풀이

30번 문제의 Title은 「Easy DLL」입니다.리버싱 문제 특성상 풀이에 캡쳐 이미지가 많을 겁니다.우선 Download Here 으로 다운을 받아보면 PROB30.dll이라는 파일이 다운받아 집니다.저는 디버거로 Immunity Dbg(이하 이뮤니티 디버거라고 하겠습니다)를 선호하기 때문에, 이뮤니티 디버거에 dll을 올려보았습니다.맨 처음 시작은 어차피이뮤니티 디버거에서 제공하는 LOADDLL.EXE가 차지할 것이기 때문에(dll을 로드를 해야 살펴 볼 수 있으므로), 볼 것도 없이 를 눌러 모듈 별 Entry Point를 탐색해줍니다.Entry Point는 모듈의 시작주소를 뜻합니다. 0x736C1A64가 PROB30.dll의 Entry Point입니다.붉은색으로 박스친 부분은 별다른 내용은 ..

쉬는시간/xcz.kr 2015.11.13

[xcz.kr] PROB16 문제풀이

16번 문제의 Title은 「Mountains beyond mountains」 입니다.케로로 사진만 덩그러니 있습니다. 저는 어렸을 적 도로로를 참 좋아했더랍니다.여하튼 가지고 있는 정보라고는 사진 한 장 밖에 없으니, Key 값을 구해야 하는 이 시점 추측해 볼 수 있는 가능성을 나열해 보면 다음과 같습니다(물론 이미지는 우클릭으로 다운받아 놓은 상태입니다. i_like_keroro_sticker.png 라는 파일이군요). 1. 사진에 Key(혹은 hint)를 알 수 있는 다른 이미지를 직접 삽입했다.2. 특정 알고리즘을 이용한 스테가노그래피를 사용했다. 뭐, 이 외에도 여러가지 방법이 있을 수 있겠지만, 제 수준으로는 저 정도밖에 안보이는 군요. (사실 1번 방법과 2번 방법 둘 다 스태가노그래피라는..

쉬는시간/xcz.kr 2015.11.12

[xcz.kr] PROB13 문제풀이

13번 문제의 Title은 「Network Recovery!」입니다.답을 찾게되면 md5값을 찾고 대문자를 전부 소문자로 바꾸어서 인증을 해야합니다.Download Here을 클릭하여 파일을 다운로드 받아보니 확장자가 명시되지 않은 "network_recover"라는 파일이 다운받아집니다. 아래처럼 HxD로 헤더를 살펴보니 0x0A 0x0D 0x0D 0x0A 입니다. 찾아보니 pcap-ng파일이 가지는 헤더이더군요.그러니 확장자를 pcap-ng로 바꾸어 wireshark로 열어보았습니다. 패킷 개수가 약 1000개로 상당히 친절한 편입니다.쭉 보다보면 98번 패킷에 GET /XCZXCZ/index.html이 보이고 114번 패킷에서 Stream이 이어집니다. Follow TCP Stream을 해보는 게 ..

쉬는시간/xcz.kr 2015.11.07