WARGAME 34

FTZ level10 풀이

*FTZ를 공부하면서 배운 것들을 정리했습니다. 틀린 정보가 있을 수 있습니다. 계정/비번: level10/interesting to hack! 로그인을 하고 힌트를 봤습니다. 라고 합니다. 공유 메모리에 대해서 구글링을 해봤습니다. https://www.joinc.co.kr/w/Site/system_programing/IPC/SharedMemory 공유 메모리의 사용 #include #include int shmget(key_t key, int size, int shmflg) void *shmat( int shmid, const void *shmaddr, int shmflg ) int shmdt( const void *shmaddr) int shmctl(int shmid, int cmd, struct ..

WARGAME/FTZ 2022.05.03

FTZ level9 풀이

*FTZ를 공부하면서 배운 것들을 정리했습니다. 틀린 정보가 있을 수 있습니다. 계정/비번: level9/apple 로그인을 하고 힌트를 확인했더니 bof의 소스코드가 적혀있네요. /usr/bin/bof의 권한을 확인해보니 level 10으로 setuid bit가 걸려있습니다. 힌트에 나온 코드를 보면, buf2와 buf를 선언하고 stdin을 통해 입력을 40바이트만큼 받아 buf에 저장하는 것을 알 수 있습니다. 입력을 받고 나서 buf2와 "go"를 2번째 자리까지 비교합니다. 같다면 "Good Skill!"을 출력하고, setreuid를 통해서 RUID와 EUID를 3010으로 바꿔주고 쉘을 실행시킵니다. setreuid 함수는 아래 잘 설명되어있습니다. https://man7.org/linux/..

WARGAME/FTZ 2022.04.14

FTZ level8 풀이

*FTZ를 공부하면서 배운 것들을 정리했습니다. 틀린 정보가 있을 수 있습니다. 계정/비번: level8/break the world 로그인하고 힌트 확인해봅시다. 파일을 찾아야 합니다. 알려진 것은 용량이 2700이라는 것 밖에 없네요. find 명령어를 사용해서 찾아봅시다. -size 2700c를 이용하면 되겠네요. man을 통해 find를 찾아보니, 접미사 c를 통해 바이트 단위인것을 명시해줄 수 있다고 나와있습니다. 딱봐도 found.txt가 수상해보입니다. 한번 읽어보겠습니다. 여기서 두번째 필드가 암호화된 비밀번호의 값입니다. 뒤엔 수정날자나, 사용기간등이 나와있는데, 신경쓰실 필요 없습니다. 두번째 필드를 보면 $Hashid$Salt$Hash value 순으로 구성된 것을 볼 수 있습니다. ..

WARGAME/FTZ 2022.02.26

FTZ level7 풀이

*FTZ를 공부하면서 배운 것들을 정리했습니다. 틀린 정보가 있을 수 있습니다. 계정/비번: level7/come together 원래 저 아래처럼 문자열이 나와야 합니다. 하지만 /bin/wrong.txt가 없어서 원래 cat /bin/wrong.txt할 수 없다고 나옵니다. root/hackerschool로 따로 로그인을 해서 wrong.txt를 만들고 저 아래처럼 문자열을 입력해줬습니다. 아까 힌트에서 2진수를 10진수로 바꿀 수 있는가? 라고 물어봤는 데, 딱 봐도 저걸 10진수로 바꾸란 소리로 들리죠? 일단 -를 1, _를 0으로 두고 한번 이진수로 바꿔봅시다. 1101101 1100001 1110100 1100101네요. 10진수로 바꿔보면 109 97 116 101 네요. 안되네요. 혹시 모..

WARGAME/FTZ 2022.02.26

FTZ level6 풀이

*FTZ를 공부하면서 배운 것들을 정리했습니다. 틀린 정보가 있을 수 있습니다. 계정/비번: level6/what the hell 접속하자마자 이렇게 뜨네요. 몰라서 검색해봤는데, FTZ관련 내용밖에 없어서 위키백과를 찾아보니, 옛날 PC통신 서비스라고 하네요. 하이텔 접속해봅시다. 이러다가 갑자기 꺼지네요. 동작을 안하나 봅니다. 다시 키고나서, 프로그램을 혹시 끌 수 있을 까 싶어서 ctrl + c 눌러서 프로세스를 종료시키려 해봤습니다. 걍 나가지네요. 솔직히 아는 게 없어서 그런지 황당하네요.

WARGAME/FTZ 2022.02.26

FTZ level5 풀이

*FTZ를 공부하면서 배운 것들을 정리했습니다. 틀린 정보가 있을 수 있습니다. 계정/비번: level5/what is your name? 힌트 먼저 봅시다. /usr/bin/level5가 /tmp에 임시파일을 생성한다고 하네요. 실행시키고 /tmp를 확인해보겠습니다. 실행을 계속 시켜봐도 /tmp에는 임시파일이 생성되지 않네요. 임시파일이라 프로그램이 꺼지면서 임시파일도 삭제되는 것 같네요. 임시파일이 삭제되지 않게 하는 방법이 뭐가 있을까요? 한번 /usr/bin/level5의 퍼미션을 확인해봅시다. level6의 권한으로 SetUID가 설정되어있네요. 프로그램을 실행시켰을 때, 프로그램은 level6 퍼미션으로 /tmp에 level5.tmp라는 임시파일을 만들고, 삭제합니다. 만약 level5.tm..

WARGAME/FTZ 2022.02.24

FTZ level4 풀이

*FTZ를 공부하면서 배운 것들을 정리했습니다. 틀린 정보가 있을 수 있습니다. 계정/비번: level4/suck my brain 로그인하고 힌트 먼저 봅시다. /etc/xinetd.d/ 에 백도어를 심어놓았다네요. 확인해봅시다. 이 문제를 풀기 위해선 먼저 데몬에 대해 알고 있어야 합니다. 먼저 이 경로에 있는 다른 파일들을 확인해봐도 다 비슷한 형태를 하고있는 것을 알 수 있습니다. 먼저 데몬에 대해 한번 알아보자면, 데몬은 특정 서비스를 실행시키기 위해 메모리에 상주해있는 백그라운드 프로세스를 말합니다. 만약 요청이 들어오면 그 요청을 받고 즉시 처리할 수 있도록 대기중인 프로세스죠. 데몬은 실행 모드가 두 가지가 있는데, standalone방식과 xinetd 방식이 있습니다. standalone방..

WARGAME/FTZ 2022.02.17