System 43

FTZ. 8

level8 // break the world 그렇다면 파일크기를 이용한 검색을 해보자! (참고 : https://hack-cracker.tistory.com/70) 4개의 파일이 나왔어여>< txt를 먼저 읽어볼까요 요런식으로 되어있다. (shadow 파일의 구조 : http://blog.naver.com/PostView.nhn?blogId=koromoon&logNo=220611830118) 참고를 통해 salt등 암호화 되어있는 password 값을 John the ripper 를 윈도우환경에서 설치해 돌려보았습니다. 첨에 뭔가 많아서 실패 한건가 그랫는데 영롱하게 보이는 저 "apple" (level9) 이게 정답이네요 ㅎㅎ

System/FTZ 2019.09.05

FTZ. 7

level 7 // come together 힌트는 다음과 같다. 1번을 보자마자 떠오르는 등잔밑이 어둡다. 일단 해보자 응 틀렸어~ 일단 상상력을 동원하기 위해선 삽질을 겁나해야하는 판국이다. 인덱스를 봐보니 요런 정보도 있고 잘 생각만 하면 정말 쉽나보다 의심스러웠던 cat: /bin/wrong.txt: No such file or directory... 역시나 뭔가 나사가 빠진거였어 이게 필요했다. (만들어줬음) 아까 힌트를 이용해 이것을 해석해보면 ( - : 1, _ : 0 ) 이렇게 해석해 볼 수 있었다. 1101101 1100001 1110100 1100101 109 / 97 / 116 / 101 이렇게 10진수가 나왔다. 필이오는 아스키코드 m / a / t / e 음 .. wrong.txt..

System/FTZ 2019.09.05

FTZ. 6

level6 // what the hell 접속하자 마자 이런 창이 뜬다. 다른 명령어를 입력하면 로그아웃되는 그런..(xshell로 접속해서 그런가) 결국엔 enter! 1,2,3 모두 입력해도 시도중이고 안된다. 할 수 있는 방법중 시도중 중단을 해 보았다.(Ctrl+C) 역시나 안됨. bbs를 선택할때 Ctrl+C를 입력하니 무슨 문구가 나온다 음 이걸 이용하는 건가? 여기서도 뭐가 없는것 같은데 차근차근 초심으로 초반에 Ctrl+C를 하니 드디어 level6 에 정상적으로 로그인이 되었다. (초반부터 삽질잼) 하지만 초반이 아니라 결말이였다는 식스센스급 반전 정답은 come together!

System/FTZ 2019.09.05

FTZ. 5

level 5 // what is your name? (Race Condition) Race Condition 한정된 자원을 동시에 이용하려는 여러 프로세스가 자원의 이용을 위해 경쟁을 벌이는 현상 Race Condition의 공격의 기본 취약 프로그램이 생성하는 임시 파일의 이름을 파악 생성될 임시 파일과 같은 이름의 파일을 생성 이에 대한 심볼릭 링크를 생성 원본 파일을 지운 채 위약 프로그램이 심볼릭 링크를 건 파일과 같은 파일을 생성할 때를 기다린다. 생성되었을 때, 심볼릭 링크를 이용해 파일 내용을 변경 시스템은 변경된 파일을 자신이 생성한 임시 파일로 생성하고 프로세스를 진행시킬 것이고, 공격자는 관리자 권한으로 실행되는 프로그램에 끼어들어 무언가를 할 수 있는 여지를 만든다. 심볼릭 링크 /..

System/FTZ 2019.09.05

FTZ. 4

level4 // suck my brain 흐음 힌트를 읽어봤는데 backdoor가 심어져있다고함. SetUID가 걸려있는 파일을 찾아봤는데도 아무런 정보가 나오지 않는 것을 보니 이 것만을 가지고 푸는 것 같다. 디렉토리에 들어가 보니 backdoor라는 파일이 존재한다. backdoor 파일을 읽기는 가능해서 읽어보니 // backdoor service finger //서비스 이름, /etc/services 파일에 등록된 이름과 같아야 함 { disable = no //xinetd의 제어를 받을 것인가를 경정 Yes-제어 안받어!! No-제어 해줘 flags = REUSE socket_type = stream //사용하는 TCP/IP소켓 stream(TCP), dgram(TCP) wait =no //..

System/FTZ 2019.09.05

FTZ. 3

level3 // can you fly? 시작에 앞서 hint를 실행해 보았다. // autodig #include #include #include int main(int argc, char **argv){ char cmd[100]; if( argc!=2 ){ printf( "Auto Digger Version 0.9\n" ); printf( "Usage : %s host\n", argv[0] ); exit(0); } strcpy( cmd, "dig @" ); strcat( cmd, argv[1] ); strcat( cmd, " version.bind chaos txt"); system( cmd ); } ※ dig라는 명령어가 나오는데 처음본다. 검색해본 결과 nslookup을 생각해보라고 한다. 그렇가..

System/FTZ 2019.09.05

FTZ. 2

level2 // hacker or cracker 한번 level2를 풀어볼까~ hint 를 보니 편집 중 쉘의 명령을 실행시킬 수 있다던데...? 이건 뭔소리지 일단 level3 SetUID를 가지는 파일을 찾아보자~ 힌트와 부합되는 파일이군~ 확실히 오류를 제거해주니 편합니다. level3의 SetUID를 가지는 파일이네 gid가 level2면 실행할수있고 그럼 해보자. 흠 헬프치고 이것저것 해보고 insert 해서 $bash, $my-pass 별에 별짓해도 감이안온다... 삽질만 겁나하다가 .. 구글형님한테 물어보는게 좋겠다고 생각이 들었다 ( 출처 : https://www.joinc.co.kr/w/Site/Vim/Documents/Tip/ExternalCommand ) 오호.. 이런 기능이 있다니..

System/FTZ 2019.09.05

FTZ. 1

level1 // level1 SetUID level2를 찾아서 떠난다. find / -user level2 -perm -4000 2> /dev/null /bin/ExecuteMe 라는 것을 찾아냄! 실행하니 크흠.. my-pass는 안된대 뭐하지.. 하다가 리눅스 명령어 잘 모르니까 help도 쳐보다가 무언가 도움이 될만한게 안떠올라! 그러는 도중 아 내가 있는 디렉토리안이 bin 이 였다는걸 깨달음! 여기에는 기본적인 실행파일이 있었지?~? 예전에 LOB를 푼적이있는데 bash가 눈에 들어오는군..ㅎ (출처 : https://www.fun-coding.org/linux_basic2.html) 아하! 그렇다면 명령어를 입력할수 있게 bash를 실행해보자 >

System/FTZ 2019.09.05

[LOB_6]wolfman

wolfman // love eyuna 소스파일을 확인해 어떻게 구성되어있는지 확인해준다.여기서 프로세스안 스택에서 젤 주소가 높은위치에 환경변수들이 있는데 거기를 가리키는게 environ (환경변수에 대한 포인터) egghunter 로 인해 NULL 값이 나올 때 까지 환경변수에 0을 덮어 씌우니 환경변수는 쓸수없고 그리고 2번째 인자값의 48번째에는 \xbf 가 나와야 프로그램이 종류가 안되고buffer hunter 또한 있다.여기까진 전문제와 동일하다. 추가로 //check the length of argument 로 2번째 인자의 크기또한 막혔다. 가용한 부분 esp-=44를 해주었다. i는 우리가 사용할 버퍼가 아니니 40을 기억.| 여기 | ret | sfp | buffer |1번째 인자가 r..

System/LOB 2019.07.25

[LOB_5]orc

orc // cantata 소스파일을 확인해 어떻게 구성되어있는지 확인해준다.여기서 프로세스안 스택에서 젤 주소가 높은위치에 환경변수들이 있는데 거기를 가리키는게 environ (환경변수에 대한 포인터) egghunter 로 인해 NULL 값이 나올 때 까지 환경변수에 0을 덮어 씌우니 환경변수는 쓸수없다.여기까진 전문제와 동일하다.이 문제에서는 추가로 //buffer hunter 가 있다.그리고 2번째 인자값의 48번째에는 \xbf 가 나와야 프로그램이 종류가 안됨. 가용한 부분 esp-=44를 해주었다. i는 우리가 사용할 버퍼가 아니니 40을 기억.| 여기 | ret | sfp | buffer |환경변수를 이용하지 않으니 ret에 쉘코드를 가리키는 주소를 넣어준다. 근데 버퍼도 막혀있으니 빨간 부분..

System/LOB 2019.07.25