SystemHacking/FTZ(22)
-
FTZ level8 리눅스 패스워드 파일 크랙
바로 level8 문제풀이 들어가겠습니다 힌트파일을 열어봅시다 용량 2700 이라는 조건을 이용한 find 명령어로 공격할 파일을 찾아내야합니다 [ find명령어의 size옵션 ] -size 1b 512바이트 단위의 블록 사이즈 검색 -size 10c 10바이트 사이즈 검색 -size 10k 10K바이트 사이즈 검색 -size 10w 10워드 사이즈 검색 2700byte 크기의 파일을 검색해서 /etc/rc.d/found.txt파일을 찾았다 ! 해당파일을 열어보니 /etc/passwd 와 같은 형식의 내용이 들어있었다 아마도 level9의 비밀번호에 관련된 내용같다 이제 여기서 새로운 파일을 하나 다운 받아야합니다 유닉스 계열의 대표적인 패스워드 크랙툴인 존 더 리..
2017.05.23 -
FTZ level7 암호화
아주아주 간단한 문제입니다 비밀번호를 입력했더니 나온 이상한 문자가 보이시나요 ? " --_--_- --____- ---_-__ --__-_- " 힌트에서 2진수를 10진수로 바꿀 수 있는지 물어보았습니다 이 이상한 문자들은 2진수일까요 ? " 1101101 1100001 1110100 1100101 " 로 볼 수 있습니다 ! 친절하게 띄어쓰기가 되어있어서 구분하기가 쉽습니다 아스키 테이블을 보고 해당 2진수를 바꿔보도록 합시다 mate ... 정답입니다 level8의 패스워드가 나왔습니다 문제는 쉽게 풀었고 해당 파일을 gdb로 분석해봅시다 !! [1] : call 0x8048344 malloc(0x64) 100byte의 메..
2017.05.23 -
FTZ level6 시스템 인터럽트 ( System Interupt )
level6문제 풀이에 앞서 알아야할 개념부터 설명하겠습니다 [1] 시스템은 신호와 메시지로 정보를 교환합니다 메시지는 Protocol정보규약에 따라서 정의되어 사용되고 리눅스에서 신호는 미리 약속되어있는 signal을 제공합니다 #kill -l signal 명령어를 통해서 신호의 이름과 고유번호를 알 수 있습니다 ㅡ 그림 6.1 #kill -[Signal] [PID] 해당 PID에 해당하는 프로세스에게 신호를 전달합니다 ex) #kill -SGIKILL 100 or #kill -9 100 -> PID가 100번인 프로세스를 종료시키는 신호를 보냄으로써 종료시킨다 각 신호들은 번호가 있고 신호의 이름대신 번호를 사용해서 신호를 보낼 수 있다 [2] 추가로 키보드의 입력을 통해서 시그널..
2017.05.23 -
FTZ level5 레이스 컨디션 ( Race Condition )
5번문제는 레이스 컨디션에 대한 문제입니다 5번문제에 앞서 알아두어야할 개념입니다 ! *중요 [1] 레이스 컨디션이란 무엇인가 ? Race Condition, 경쟁 상태 입니다. 무엇을 경쟁하는가 ? 다수의 프로세스가 동시에 실행하는 과정사이에서 어떤 프로세스가 먼저 실행되는지 경쟁한다 여러가지의 경쟁상태가 존재하는데 이번 문제에서는 파일의 소유를 경쟁하는 상황이다 [2] 심볼릭링크를이용한해킹 - 원리 : 심볼릭링크를 수정하면 원본파일도 수정된다 - root가 /etc/passwd 파일의 심볼릭링크(/tmp/pass)를만든다 ( /tmp/pass -> /etc/passwd ) - /tmp/pass를 수정하면 /etc/passwd 가 수정된다. ( 허가권의제한이통과된다면 ) setUID가 걸린 " rc "..
2017.05.23 -
FTZ level4 xinetd백도어
level4 문제 풀이에 앞서 필요한 개념에 대해 공부하고 갑시다 이번 문제에서는 서버운영체제 해킹에 해당하는 영역이고 xinetd 데몬의 개념을 알아야 합니다 xinetd데몬은 네트워크 데몬을 가동하는 슈퍼데몬입니다 여기서 네트워크 데몬이라하면 FTP, TELNET, SSH 등 네트워크 통신을 위한 데몬입니다 중요한 파일 2가지가 있습니다 /etc/xinetd.conf - xinetd데몬의 주 설정 파일입니다 - 이 파일은 한 디렉토리를 includedir 하고 있는데 그 디렉토리는 /etc/xinetd.d/ 입니다 - /etc/xinetd.d에는 각각의 서비스에 해당하는 세부설정들을 정의한 파일들이 있다 /etc/xinetd.d/ 디렉토리에는 각 서비스에 해당하..
2017.05.23 -
FTZ level3 system함수의 위험성
3번 문제를 풀기에 앞서 알아두어야 할 개념들입니다 1> nslookup 도메인 서버의 IP주소를 확인하는 프로그램입니다 사용방법 - ]$ nslookup [확인하고싶은 도메인 주소] - ]$ nslookup www.tistory.com 2> dig nslookup과 동일하게 도메인의 IP주소를 확인하는 프로그램 사용방법 - $] dig @[정보를받을서버] [확인하고싶은도메인주소] - ]$ dig @100.100.100.2 www.tistory.com [level3 @ftz level3]$ nslookup www.tisory.com Server : 100.100.100.2 : 제가 사용하는 서버의 IP주소입니다 Non-authoritative answer : nslookup으로 요청한..
2017.05.23