전체 글(333)
-
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 -
FTZ level2 VI편집기의 고급기능
2번 문제입니다 ! 2번 문제의 요점은 "VI편집기에서 명령어를 실행 할 수 있다!" 입니다 명령어 실행 방식은 VI편집기내에서 :![command] 를입력하시면 쉘 화면으로 일시적으로 복귀 하고 해당 명령어의 결과를 출력합니다 명령어 실행 뿐아니라 :r![command] 를 입력하시면 해당 명령어의 실행 결과를 VI편집기 내로 가져올 수 있습니다 그럼 문제를 풀어보겠습니다 [1] 힌트 확인 - 텍스트 파일 편징 중 쉘의 명령을 실행시킬 수 있다는데 ... - vi 편집기의 명령어 실행법을 알고있는지의 문제입니다 [2] find명령어로 level3권한의 setuid가 걸려있는 실행파일 검색 ( 공격할 파일 찾기 ) - level2]$ find / -perm -4000 -user level3 2> /dev..
2017.05.23 -
FTZ level1 문제풀이 및 gdb분석
1번 문제 입니다 ! 먼저 hint를 확인합니다 " level2 권한에 setuid가 걸린 파일을 찾는다." setuid란? 실행파일에 한해서 설정이 가능하다 setuid가 설정된 실행파일을 실행하면 누구든지 해당 실행파일의 소유자 권한으로 프로세스가 실행된다 따라서 해당 실행파일을 실행중일 때 level2권한으로 명령어를 실행할 수 있음을 뜻합니다 find명령어 find [검색위치][조건] ]$ find / -perm -4000 -user level2 2> /dev/null =>조건은 허가권 -perm 과 -user 소유자명을 걸어주었다 => "/" 에서 -4000 -> 파일의 허가권이 --s------ 을 포함하는 모든 파일을 검색한다 => 2> dev/null 오류가 일어난 값들은 모두 /dev/n..
2017.05.23 -
FTZ 문제 풀기에 앞서
저는 '문제풀이로 배우는 시스템 해킹 테크닉' 책을 참고해서 FTZ서버 문제를 풀었습니다제가 문제 푸는 방식은 다음과 같습니다1. hint 파일 확인 2. 문제의 요점을 찾아서 문제 해결3. "gdb" 를 통해 디버깅하여 해당 파일 분석이러한 절차에 맞춰서 모든 문제를 풀었습니다. 그리고 문제들에 대한 풀이에 부족한 부분이 있습니다앞으로 계속 해킹 공부를 해가며 채워나갈 예정입니다
2017.05.23 -
gdb 명령어
#yum -y install gdb #gdb 명령어로 gdb 실행 후 (gdb) file [fileName] file명령어로 파일을 읽어오는 방법이 있고,#gdb [fileName] 명령어로 gdb실행과 동시에 해당 파일을 읽어오는방법2가지가 있다 [ gdb 명령어 ] (gdb) list [x,y] x~y 줄까지 출력한다. gcc컴파일 시 -ggdb옵션을 지정한 경우에 소스 확인 가능(gdb) disas [주소or함수명] 해당 함수를 디스어셈블해 실행(gdb) run(r) 해당 파일을 실행한다(gdb) continue(c) 브레이크가 걸린 상태에서 재실행(gdb) b *[메모리주소or] 브레이크 포인트를 생성한다(gdb) info b 브레이크 포인트 목록을 보여준다(gdb) d [number] 브레이크포..
2017.05.10 -
리눅스 서버 공부전에 알아두면 좋은 네트워크 개념들
IP주소란?네트워크상에 존재하는 컴퓨터들을 구분하고, 서로를 인식하기 위해 사용하는 특수한 번호이다.32-bit 체계의 IPv4 , 128-bit 체계의 IPv6 가 있다. - 8비트씩 4개로 나누어 10진수( 최대 255 )로 표현한다. 나누어진 4개의 10진수는 마침표로 구분한다- 네트워크 구분을 위한 네트워크 식별자 ( NetID ), 네트워크 내에 있는 호스트들을 구분하기 위한 호스트 식별자 ( HostID )로 구성된다[ NetID ] [ HostID ]192. 168. 0. 111000000 10101000 00000000 00000001- 여기서 호스트 식별자( 호스트 번호 )는 서브넷번호와 컴퓨터번호로 나누어진다 [ 서브넷 ]- subnetwork의 줄인 말, 어떤 기관에 소..
2017.05.09