본문 바로가기

전체

(242)
해커스쿨 FTZ Level9 (버퍼오버플로우 : 로컬영역 침범) ID : level9Password : apple 힌트 : 다음은 /usr/bin/bof의 소스이다.#include #include #include main(){ char buf2[10]; char buf[10]; printf("It can be overflow : "); fgets(buf,40,stdin); if ( strncmp(buf2, "go", 2) == 0 ) { printf("Good Skill!\n"); setreuid( 3010, 3010 ); system("/bin/bash"); } }이를 이용하여 level10의 권한을 얻어라. 문제를 풀기 전에 : 함수 호출의 스택 구조 변화는 다음 그림과 같다. 이는 기초적인 함수 수행을 gdb로 분석하면서 필요한 부분만 요약한 그림이다. 여기서 ..
해커스쿨 FTZ Level8 (리눅스 패스워드 크랙) ID : level8Password : break the world 힌트 : level9의 shadow 파일이 서버 어딘가에 숨어있다.그 파일에 대해 알려진 것은 용량이 "2700"이라는 것 뿐이다. 문제를 풀기 전에 : /etc/passwd 모든 사용자의 정보가 담겨있는 파일이다. 필드는 다음과 같다. 계정명 : 패스워드부분 : UID : GID : 코멘트 : 홈디렉토리 : 기본사용쉘 여기서 중요한 부분은 패스워드 부분인데 보면 x로 설정되어있는 것을 볼 수 있다. 패스워드 파일의 권한을 확인하면 다음과 같다. 모든 사용자가 이 파일을 읽을 수 있으므로 이 파일은 매우 취약할 수 있다. 따라서 리눅스는 passwd의 가장 중요한 암호 필드는 특정한 경로에 파일을 만들어 관리자만 접근할 수 있도록 관리한..
해커스쿨 FTZ Level7 (이진수 -> 헥사 -> 문자열) ID : level7Password : come together 힌트 : 문제를 풀기 전에 : level7의 힌트를 알려주는 실행파일이 변경 되었다. 따라서 그냥 이 level은 넘어가도록 하자원래는 다음과 같이 출력되어야 한다. [level7@ftz level7]$ /bin/level7Insert The Password : abc올바르지 않은 패스워드 입니다. 패스워드는 가까운곳에...--_--_- --____- ---_-__ --__-_- 풀이 : --_--_- --____- ---_-__ --__-_- 이것은 모스부호를 위아래로 표현한 것인데- : 1 _ : 0으로 표현하고 이를 10진수로 표현하면109, 97, 116, 101이 된다. 이를 아스키 값으로 표현하면 mate라는 글자가 나온다. 위는..
해커스쿨 FTZ Level6 (프로세스 종료 후 쉘 접근) ID : level6Password : what the hell 힌트 : 인포샵 bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹 방법이다. 문제를 풀기 전에 : 프로세스란?실행중인 프로그램 백그라운드 프로세스 : 실행을 시켜도 쉘은 그대로 존재한다. 하지만 백그라운드로 프로세스는 진행중이고 프로세스가 종료되면 결과를 출력한다. 실행방법 : command & 포그라운드 프로세스 : 화면에서 사용자의 명령을 받아 프로세스가 종료될 때까지 기다린다. 실행이 완료되면 결과와 함께 쉘을 다시 실행한다. 포그라운드 -> 백그라운드 : 포그라운드 프로세스를 ctrl+z를 입력한뒤 bg를 입력하여 상태를 변경한다. 백그라운드 -> 포그라운드 : jobs 명령어를 통해 프로세스 번호를 확인하고 fg + 프로세스 번호를 ..
해커스쿨 FTZ Level5 (레이스 컨디션) ID : level5Password : what is your name? 힌트 : /usr/bin/level5 프로그램은 /tmp 디렉토리에 level5.tmp 라는 이름의 임시파일을 생성한다.이를 이용하여 level6의 권한을 얻어라. 문제를 풀기 전에 : 노삼혁교수님의 운영체제 수업을 들었던 기억이 난다.레이스컨디션이라는 용어를 배웠지만 그 당시에는 의미만 겉핥기로 이해했지 명확이 이해하지 못했었다. 레이스 컨디션(race condition)이란? 여러 프로세스가 동일한 자원을 읽고 쓸 때 문제가 발생한다. 만약 하나의 파일이 쓰고 있는 데 다른 프로세스가 읽으려고 한다면? 또는 두 프로세스가 동시에 하나의 파일을 쓰려고 한다면? 문제가 발생할 것이다. 프로세스 스케줄링의 상호배제 원칙에 의하면 하나..
해커스쿨 FTZ Level4 (backdoor) ID : level4Password : suck my brain 힌트 : 문제를 풀기 전에 : /etc/xinet.d/ 해당 디렉토리에는 어떤 설정 파일이 들어있을까?리눅스의 인터넷 슈퍼데몬인 xinetd의 서비스 파일은 거의 /etc/xinet.d/ 에 존재한다.슈퍼데몬이란 리눅스 시스템에서 실행되는 하나의 데몬이다. 하지만 sendmail, httpd의 데몬과 달리 슈퍼데몬이라 불리는 이유는 리눅스 서버의 여러 데몬을 제어 및 연결시키기 때문이다.대표 서비스로는 telnet이 존재한다. 우리가 putty와 같은 프로그램을 이용해 telnet으로 연결할 때는 바로 되는 것이 아니라 1) xinetd에 의해 허가된 사용자인가를 검사한다.2) /etc/xinet.d/telnet 에 정의된 telnet 서비..
해커스쿨 FTZ Level3 (명령어를 인자로 전달) ID : level3Password : can you fly? 힌트 : [level3@ftz level3]$ cat 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 ); } 이를 이용하여 level4의 권한을 얻..
침해사고 출처 : http://forensic-proof.com/ (김진국강사님의 디지털포렌식 강의을 듣고 정리한 내용입니다.) 1 침해사고 유형 1.1 웹을 통한 감염 1.1.1 악성 ActiveX 설치 유도 ž · 동영상 플레이어, 보안 프로그램 등으로 위장하여 설치 유도 1.1.2 웹 애플리케이션 취약점 ž · 웹 키보드 보안 모듈, 공인인증서 모듈 등의 취약점 이용 1.1.3 악성 파일 다운로드 실행 ž · 동영상, 토렌트 파일의 확장자 변조 (.avi.exe, .torrent.exe)ž · 애플리케이션(동영상 플레이어, 한글, 오피스 등) 취약점 활용 1.2 웹하드를 통한 감염 1.2.1 웹하드 다운로드 관리자 감염 ž · 7.7 DDoS, 3.4 DDoS, 6.25 사이버테러의 원인ž · 웹하드 서버를..