전체 글 191

FTZ 해커스쿨 level9 - 버퍼오버플로우(GDB 이용)

id : level9 pw : apple 1. 파일 목록 확인(ls) 후 힌트 파일 내용 확인(cat hint) 힌트에 나와있는 /usr/bin/bof의 소스를 살펴보면 아래와 같다. ↓ 더보기 #include #include #include main(){ char buf2[10]; //문자 배열 buf2 선언 char buf[10]; //문자 배열 buf 선언 printf("It can be overflow : "); fgets(buf,40,stdin); // 입력받은 값을 buf에 저장, 입력 가능 최대 사이즈 40 if ( strncmp(buf2, "go", 2) == 0 ) // buf2의 값 2개와 go 비교해서 같으면, { printf("Good Skill!\n"); setreuid( 3010..

FTZ 해커스쿨 level8 - 암호 해독(John the Ripper 이용)

id : level8 pw : break the world 1. 파일 목록 확인(ls) 후 hint 파일 내용 확인(cat hint) 2. 힌트 내용대로 용량이 2700인 파일을 찾아야 한다. find 명령을 이용해 정해진 크기의 파일을 찾아보았다. find / -size 2700c : 용량이 2700바이트인 파일을 찾기 2>/dev/null : 에러를 null로 출력(=출력하지 않음) -> FTZ 해커스쿨 level1 3번 참고(https://obinstory26.tistory.com/4) 출력된 파일 목록 중 가장 그럴듯 해 보이는 두 번째의 found.txt 파일을 확인해 보기로 했다. found.txt 파일이 있는 /etc/rc/d 디렉토리로 이동 후 파일 목록 확인 3. found.txt 파일 ..

FTZ 해커스쿨 level7 - 2진수 해독(아스키 코드)

id : level7 pw : come together 1. 파일 목록 확인 후 힌트 파일 내용 확인 2. /bin 디렉토리로 이동해 level7 파일이 있는지 확인 3. level7을 실행했더니 비밀번호를 입력하라고 나왔다. 틀린 비밀번호를 입력하자 wrong.txt라는 파일은 없다는 안내가 나온다. 이후 이런저런 방법을 시도했다. 상상력을 동원하고, 패스워드는 가까운 곳에 있다길래 근처 파일들을 열어보고, 파일크기가 12312?? 수상한데? level7이니까 숫자 7? 이진법으로 변환한 7? level8에 setuid가 걸려있으니까 8? 이진법으로 8? 등등... 다양한 방법을 시도했지만 비밀번호를 알아낼 수 없었다. 한동안 고민하다가 인터넷의 도움을 통해 해결하기로 했다. 그런데,,, root 권한..

FTZ 해커스쿨 level6 - 리눅스 시그널

id : level6 pw : what the hell 1. 로그인을 하자마자 힌트가 나왔다. enter를 입력하니 텔넷 접속 서비스 목록이 나왔다. 접속하고 싶은 bbs를 선택하라기에 아무거나 골라서 입력했는데, 모두 연결 시도 도중에 putty 자체가 종료되었다. 내 컴퓨터 상의 문제인 줄 알았는데, 알고 보니 이것이 문제 해결 과정의 일부였다. 해킹 방법에 앞서 힌트 내용 자체가 이해되지 않아 관련 정보를 찾아봤다. 대한민국 pc통신의 역사에 대해 알아보니 내용을 어느정도 이해할 수 있었다. 대한민국 pc통신의 역사를 참조한 hint 내용 해석 : 옛날 pc 통신 시절에 사용된 해킹 방법이다~ ↓ 더보기 - 하이텔 : 한국PC통신 주식회사에서 운영하던 PC통신 서비스, 이후 인포샵으로 명칭 변경 -..

FTZ 해커스쿨 level5 - 심볼릭 링크

id : level5 pw : what is your name? 1. 가장 먼저 파일 목록 확인, hint 파일 발견 후 내용 확인 2. /usr/bin으로 이동 해 level5 프로그램이 있는지, 있다면 프로그램에 대한 정보 확인 level6에게 setuid가 걸려있는 것 확인 프로그램 level5 실행해봄 아무 결과 출력되지 않음 3. 힌트 내용을 더 찾아보기 위해 cd/ tmp 명령어 입력해 tmp로 이동해 ls로 파일 목록을 확인했지만 level5.tmp라는 파일이 없다. 이번에도 파일을 직접 만드는 것일까? 아니었다. level5에서 문제 해결의 핵심은 바로 심볼릭 링크이다. 컴퓨팅에서 심볼릭 링크(symbolic link) 또는 기호화된 링크는 절대 경로 또는 상대 경로의 형태로 된 다른 파일..

FTZ 해커스쿨 level4 - backdoor파일, finger

id : level4 pw : suck my brain 1. 이번에도 힌트 파일을 찾아 내용확인부터 시작한다. /etc/xinetd.d/에 백도어를 심어놓았다고 하니 해당 경로로 이동해 확인해보았다. 2. 가장 먼저 눈에 띄는 backdoor파일. 내용을 확인해봤더니 위와 같은 내용이 출력됐다. 자세히 읽어보니 나머지 내용은 모르겠고, user가 level5인것, server가 /home/level4/tmp/backdoor에 존재한다는 것이 실마리인 것 같다. 우선 server위치로 이동해보았다. 3. 그런데 server위치에 backdoor파일이 없었다. 여기서부터 어떻게 해야 할지 몰랐다. 인터넷의 도움을 받아보니 직접 backdoor프로그램을 만드는데, my-pass명령을 실행하는 프로그램을 짜서 ..

FTZ 해커스쿨 level3 - 다중명령어

id : level3 pw : can you fly? 1. ls로 파일 목록을 보니 역시 힌트 파일 발견 2. cat hint로 내용을 확인하니 프로그램 autodig의 소스가 나온다. c언어인데... argc가 2가 아니면 버전정보와 어떤 것을 출력하고 종료되는 프로그램이다. 이것을 통해 argc가 2가 되면 뭔가 다른 결과(힌트?)가 나올 것을 예상할 수 있다. 힌트파일 마지막 내용은 동시에 여러 명령어 사용과 문자열 형태로 명령어를 전달하는것에 대해 나와있다. 우선 동시에 여러 명령어를 사용하는 것은 '다중명령어'이다. 다중명령어 : 하나의 라인에서 여러 명령어 실행 가능 ;는 모든 명령어 실행, &&는 앞에서 실패 발생 시 뒤 명령 실행하지 않음 다음으로 문자열 형태로 명령어를 전달하려면 따옴표 ..

FTZ 해커스쿨 level2 - VIM

id : level2 pw : hacker or cracker 1. 가장 먼저 ls명령을 통해 힌트파일을 찾았다. 2. cat명령어(파일 열기)를 통해 hint 파일을 열었더니 위와 같은 힌트가 나왔다. 무슨 소리인지... 처음엔 training단계에서 배웠던 텍스트 파일 만들기 같은 것이라고 생각하고 시도했으나 오류만 나고 진전이 없었다. 3. 일단 무슨소리인지 모르겠으니 find / -perm -4000 -user level3 2> /dev/null로 혹시 level3의 권한으로 SetUID가 걸린 파일이 비밀번호와 관련이 있을지 찾아봤다. 지난번에 오류들은 출력하지 않는 2> /dev/null 명령어를 알았으니 활용하기로 했다. editor? 왠지 힌트에 있던 파일 편집과 관련된 파일인 것 같다. ..

FTZ 해커스쿨 level1 - setuid

id : level1 pw : level1 training 단계와 다르게 로그인해도 아무것도 나타나지 않아 조금 당황했지만... 1. 우선 가장 먼저 할 수 있는 파일목록 출력 명령 ls를 통해 hint 파일을 찾았다. 2. cat hint로 파일 내용을 출력했더니 'level2 권한에 setuid가 걸린 파일을 찾는다'라고 나왔다. 대박! 이땐 거의 다 푼 줄 알았다... 숨겨진 파일 목록들을 출력해 해당 파일을 찾아봤는데 level2권한은 커녕 setuid가 걸린 파일도 하나도 없었다. 경로가 여기가 아닌가 싶어 위로 이동해 ls -al을 실행했지만 마찬가지로 해당 파일을 찾을 수 없었다. 3. training10에서 공부했던 find명령어로 find / -user level2 -perm -4000를..

FTZ 해커스쿨 training 1~5

해커스쿨 트레이닝 과정을 공부하는 중이다. 해킹 본격적으로 배우는건 처음이다. 다 신기하다. 리눅스 명령어들을 먼저 배운다. training lesson 1 id : trainer1 pw : welcome ls : 디렉토리와 파일리스트 출력 ls -l : 디렉토리와 파일 구분하여 출력 ① 이것에 대한 정보다 ② 생성일자와 시간 ③ 용량 ④ permission에 관한 정보(training9에서 배운다고 함) ⑤ - 로 시작(위의 것) : 파일 d 로 시작(아래의 것) : 디렉토리 ls -a : 숨긴 파일과 파일 목록 출력 숨긴 파일은 . 로 시작 ls -al : 숨긴 파일과 파일 목록 디렉토리와 파일 구분하여 출력 training lesson 2 pw : linuxer pwd : 현재 경로 출력 cd ....