본문 바로가기

시스템 해킹100

trainer9 이번 시간에는 리눅스의 권한에 대해서 알아보자.이 권한에 관한 개념은 해킹에 있어서 가장 핵심적인 부분이며, 리눅스는 윈도우와는 달리 한 서버에 여러 사용자가 접속하여 사용하게 된다.이 F.T.Z의 서버에 개인 아이디를 가지고 있다고 하자.그 개인 계정에 할당된 공간에, 이것저것 필요한 문서들을 올리고, 홈페이지도 만드는 등등 여러 중요한 파일들을 생성하게 된다. 리눅스는 어떠한 방법으로 다른 사람이 나의 파일에 접근하지 못하도록 막는것일까?권한(PERMISSION) Permission Denied(접근거부)라는 에러메시지는 당신의 권한 밖에 있는 파일을 건드렸다는 것이다. 리눅스는 각 사용자마다 특별한 권한을 부여하여, 그 권한의 범위를 넘어서지 않는 파일들만 제어할 수 있도록 설정되어 있다. 내가 만.. 2016. 9. 5.
trainer8 새로운 파일을 만들고, 컴파일하고, 그것을 실행시키는 방법을 배우자실제로 해킹을 할때 사용되는 방법 파일에는 두가지 종류가 있다. 1.일반 텍스트 파일->글자로만 이루어진 파일README.TXT 그런것이다.이런 일반텍스트 파일은 cat 명령을 사용하여 내용을 출력한다! 2. 프로그램 소스 파일프로그램 소스란 컴퓨터 언어로 입력한 파일.텍스트 파일이긴 하지만 cat을 사용하여 내용을 보는 것이 아니고컴파일을 거쳐 실행이 가능하도록 만든 후 사용. 텍스트 파일 생성 방법1. 쉘 프롬츠트 상태에서 cat > 파일이름.txt라고 입력2.원하는 내용을 써내려간다.3.컨트럴키와 D키를 동시에 누른다. 위와 같은 과정을 거치면 새로운 파일이 생성이 된다.> 이것은 리다이렉션이라고 읽으며 방향을 전환한다 라는 뜻을 가.. 2016. 9. 5.
trainer7 윈도우를 사용하면서 *.ZIP이나 *.RAR등으로 된 압축 파일을 많이 접해보았다. 리눅스 환경에서 파일들을 압축하고, 해제하는 방법을 배워보자. 리눅스느 서버의 용도로 사용되기 때문에, 수시로 새로운 데이터들이 업데이트 괸다.따라서, 데이터들이 손실되는 것을 방지하기 위해 백업을 하는 것은 필수 이며, 이 백업을 할 때 오늘 배운 압축 명령어들이 사용된다. *하드에 들어있는 데이터(디렉토리, 파일, 개인정보, 게시물..) 를 똑같이 다른 곳으로 복사하여 안전하게 보관하는 것을 백업한다 라고 한다. 리눅스에서 압축을 할 때 사용되는 명령어는 2개이다. targzip : 윈도우에서 매일보는 winzip의 할아버지벌 되는 프로그램이다. 합치기 : tar cvf 합칠파일 합칠파일들해제하기 : tar xvf 해.. 2016. 9. 2.
trainer6 패스워드 파일 분석 방법 *cat : 리눅스 기본 명령 cat "파일이름" 이라고 입력하면 파일의 속내용을 확면으로 뿌려주는 역할을 한다. cat /etc/passwd 입력! trainer5에서 했던 것 처럼 이 입력은 서버에 어떤 어떤 사람들이 계정을 얻어서 사용하고 있는지 알아보자.을 의미한다. root:x:0:0:Admin:/root:/bin/bash을 분석해보자.일단 패스워드 파일이란 한 서버를 사용하는 사용자들의 모든 정보를 기록에 놓은 파일을 말한다. : 은 필드를 구분해주는 문자이다.즉, 여기에선 7개의 필드로 나뉘어져있다.첫번째 필드 root 이것은 서버에 로그인 할 때 사용되는 아이디(계정)을 말해준다.지금은 trainer6라는 아이디로 로그인을 했으니, 패스워드 파일에서 정보를 찾아보면.. 2016. 9. 2.
trainer 5 서버의 정보를 수집하는 방법 정보에는 여러가지가 있다. 서버에 어떤 프로그램들이 설치되어있는지,서버의 주인은 지금 무엇을 하고 있는지,어떤 OS를 사용하여 서버를 만든것인지 등등 누구인지-> whoami 더 자세한 정보를 알고 싶을 때->id 이번엔 이 서버에 어떤 어떤 사람들이 계정을 얻어서 사용하고 있는지 알아보자.모든 사용자들의 정보는 /etc/passwd 파일에 들어가 있다. cat /etc/passwd 서버의 커널 버전에 대해서 알아보자.커널은 리눅스의 심장부 역할을 하는 파일로서, 이 커널 버전에 따라 리눅스의 성능도 차이가 난다.같은 버전의 리눅스라도(ex 레드헷 6.0)이 커널 버전이 높다면, 속도도 더욱 빨라지고, 안전성도 높아진다. 또한 해킹중에는 이 커널을 이용한 해킹도 많기 때문에,.. 2016. 9. 1.
trainer4 여러분이 만약 공개된 계저으로 리눅스 서버를 이리저리 구경하고 다닌 적이 있었다면, 분명 황당하게 많은 디렉토리와, 황당하게 많은 파일들에 현기증을 느꼈을 것이다. 먼저 최상위 디렉토리에 존재하는 수많은 하위 디렉토리에 대해 공부를 해보고, 그 다음엔 리눅스에서 중요한 역할을 하는 파일들에 대해 공부하자 일단 cd /를 입력하여 최상위 디렉토리로 이동 ls -al을 입력하여 디렉토리와 파일 목록을 본다. 이제 어떤 역할을 하는 디렉토리인지 알아보자.-bin : 이 곳에는 가장 필수적인 리눅스 실행 파일들이 들어가있다. ls,rm 모두 이곳에 들어가 있다.-boot : 리눅스 부팅 관련 파일들과, 리눅스의 심장인 커널이란 것이 들어있다.-dev : 이곳은 컴퓨터에 설치된 하드웨어에 관한 정보들이 파일 형태.. 2016. 9. 1.
trainer 3 +터미널(콘솔)과 네트워크에 관한 명령+현재 해커스쿨 서버에 어떤 사람들이 접속을 해 있는지 보고, 그 사람들과 대화를 하는 방법 -텔넷을 통해 해커스쿨 서버에 접속 "터미널을 통해 접속했다" -직접 컴퓨터에 리눅스를 설치하고, 부팅하여 로그인한 것을 "콘솔을 통해 접속했다." 라고 한다.터미널과 콘솔, 이 두 용어는 같은 의미이긴 하지만 위와 같은 차이에 따라 구별되어 사용된다. w : 어떤 사람들이 접속해 있는지 확인할 수 있다. USER는 어떤 ID로 login했는지를 보여준다.우리가 trainer3이란 ID로 로그인 된것과 마찬가지이다.tty: 콘솔로 접속, pts: 터미널로 접속 그 뒤의 숫자는 몇번째 터미널로 접속했는지를 보여 준다. 만약 3명이 동시에 텔넷 접속을 하게 되면,순서대로 pts/.. 2016. 9. 1.
trainer2 Training Lesson 2 -디렉토리와 디렉토리간의 이동-새로운 디렉토리의 형성, 삭제-파일의 복사, 이동, 삭제 1.자신이 지금 어떤 디렉토리 속에 드렁가 있는지 pwd명령을 이용하여 확인한다. pwd: 현재 경로가 출력된 것을 볼 수 있다. 현재 프롬프트 [trainer2@ftz trainer2]$ 에서 오른쪽의 trainer2는 현재 경로 명을 보여주는데 디렉토리 경로명이 길때는 앞의 경로는 생략되고, 가장 뒤쪽의 경로만 나타나는 것을 볼 수 있다. 이제 현재 경로에서 한단계 위로 가는 방법을 배우자 현재 디렉토리가 /home/trainer2 이었다여기서 가장 오른쪽의 경로에서 왼쪽의 경로로 이동하는 것을 "한단계 위로 간다" 라고 한다.즉 위의 경우엔 /home으로 이동하는 것을 말한다.또한.. 2016. 9. 1.
trainer1 처음 리눅스에 접속하게 되면 [trainer1@ftz trainer1] $접속 ID 서버 현재위치 와 같은 문구가 뜨고 이것을 '프롬프트'라고 한다.이것은 리눅스 서버에 성공적으로 로그인을 하게 되었다는 것을 의미한다. '프롬프트'란 것은 항상 대기상태에서 어떤 명령을 내리기만을 기다린다. 첫번째 가장 기초적인 명령어 ls 내PC를 더블클릭->C:를 클릭 : 현재 자신의 컴퓨터에 설치된 폴더와 화일들을 볼 수 있다이것과 마찬가지로 ls명령도 현재 위치를 기준으로 컴퓨터에 설치된 폴더들과 화일들을 보여주는 역할을 하는 명령이다. *리눅스에선 폴더란 단어보다 '디렉토리'란 단어를 더 많이 사용하며 이 둘의 의미는 같다. -리눅스는 대소문자를 확실히 구분한다는 특징을 가지고 있다. 위와 같이 성공적으로 디렉토.. 2016. 9. 1.