HOW TO HACK/Basics

해커라면 알아야 할 리눅스 기초-1 : 시작하기

Mr. Rootable 2016. 4. 14. 14:19

# 본 게시글은 작성자 본인이 스터디한 내용을 바탕으로 작성된 글입니다.


# 이 글에는 일부 잘못된 정보가 포함되어 있을 수 있습니다.


이 글을 열람하는 것은 위 사항에 동의한 것으로 간주합니다.  


# 잘못된 정보를 발견하면 댓글로 알려주시면 감사하겠습니다.




리눅스는 해킹에 최적화된 운영체제이다. 대부분의 실력있는 해커들은 리눅스나 유닉스를 쓸 줄 안다. 또한, 거의 모든 해킹툴들이 리눅스에 맞춰서 개발되어있다.(물론 윈도우용도 있으나 윈도우용 툴만으로는 한계가 아주아주 많다.)

친절한 회사에서는 리눅스용으로 개발된 해킹툴을 윈도우용으로 포팅해주기도 한다.

nmap의 GUI 버전인 zenmap, 메타스플로잇 등등 그런 해킹툴이 몇몇 있으나, 그마저도 리눅스용의 기능을 100% 구현해내지 않거나 못하는 경우가 많다. 왜 해커들이 리눅스를 반드시 알아야 하는지 대충 감은 올 것이다. 


해커가 되려면 불만 갖지 말고, 군말 말고 리눅스를 어느 정도는 다룰 수 있게 공부해야 한다. 


어디 한번 시작해보자~~~


칼리 리눅스2.0을 기준으로 설명할테니 참고바란다.

칼리리눅스 설치나 버추얼박스 환경을 구성하는 것은 당신의 몫이다. 당신의 훌륭한 구글링 실력을 믿겠다. 즉, 리눅스를 이미 설치했다는 가정을 두고 설명을 시작할 것이다.



Step 1: 우선 터미널을 열어라.


터미널이 바로 리눅스의 꽃이요, 모니터에서 새어나오는 빛만이 당신을 희미하게 비추는 어두컴컴한 방에서 키보드로 터미널에 마구마구 명령을 쏟아부어버리는 모습이 바로 그대가 원하는 모습이지 않겠는가? ㅎㅎ (아님 말고~)

리눅스의 메뉴에서 터미널을 찾아 실행해보자. 아래 그림과 같은 시커먼 화면이 뜰 것이다.

윈도우 CMD창이랑 닮은  녀석이랑 앞으로 많이 친해져야 한다. 




윈도우의 커맨드 프롬포트와 생김새도 비스무리하고, 사용법도 비스무리하지만 리눅스 터미널은 그에 비해 훨씬 강력한 기능을 자랑한다. 리눅스 운영체제를 사용함에 있어 당신이 원하는 모든 작업을 이 터미널에서 할 수 있고, 윈도우보다 훨씬 더 디테일하게 컨트롤이 가능하다. 



Step 2: 디렉토리 구조


리눅스의 디렉토리 구조는 어떻게 생겼을까? 큰 맘먹고 리눅스 공부를 시작한 많은 사람들이 바로 여기서 품었던 큰 맘을 접고 돌아서기도 한다. 윈도우와 다르게 리눅스 파일 시스템은 물리적인 드라이브와 연결되어 있지 않다. 윈도우는 물리적인 C드라이브에 해당하는 디렉토리 구조의 시작은 C:\이다. 그러나 리눅스에는 C:\와 같이 물리적 드라이브와 연관되어있지 않다.

파일시스템의 "root"나 파일시스템의 최상위 경로를 나타내는 것은 슬래쉬(/)이다. 리눅스에 존재하는 모든 디렉토리들은 윈도우에서 폴더와 그 하위폴더가 C:\드라이브 아래에 있는 것처럼 이 루트디렉토리(/) 아래에 있다.


아래 그림을 통해 파일시스템을 살펴보자.



그 동안 윈도우를 쓰면서 익숙해졌던 윈도우 탐색기 같은 그래픽툴을 사용하지 않고, 위에서 소개한 터미널에서 주구장창 돌아다녀야 하기 때문에 이 파일구조를 이해해야 한다.


/bin 디렉토리는 바이너리를 저장한다. 리눅스를 실행되게 하는 프로그램이 있다.

/etc 디렉토리는 설정파일들이 저장된다. 리눅스상 거의 모든 것들이 /etc 디렉토리 아래 저장된 텍스트 파일에 설정되어 있다.

/dev 디렉토리는 윈도우 장치드라이버와 같이 디바이스 파일을 다룬다.

/var 디렉토리는 로그 파일이 있다. 



Step 3: pwd 명령어 (여긴 어디?????)


터미널을 열면, 디폴트 디렉토리는 로그인된 사용자의 "home" 디렉토리이다.

알다시피 위의 그림(리눅스 파일시스템)에서 알 수 있듯이, 홈디렉토리는 루트디렉토리의 하위레벨에 있다. 아래 명령어를 통해 현재 본인이 머물고있는 디렉토리가 어디인지 알 수 있다. 반드시 알아둘 명령어다.


# pwd



root 계정으로 로그인했기 때문에 root 계정의 홈디렉토리인 /root에 있음을 알 수 있다.



Step 4: cd 명령어 (디렉토리 변경)


cd 명령어를 이용하면 디렉토를 맘대로 옮겨 다닐 수 있다. 

현재 작업중인 디렉토리의 바로 상위 디렉토리로 가려면 아래 명령어를 실행해라.


# cd ..


pwd 명령으로 현재 작업디렉토리를 확인해보자.


# pwd



Step3에서 설명한 바와 같이 root의 홈디렉토리에서 상위디렉토리로 이동하니 루트디렉토리(/)로 이동되었다.



Step 5: whoami 명령어 (나는 누구????)


whoami 명령어는 로그인된 사용자가 누구인지.. 그 이름을 보여준다. 




root 계정으로 로그인했기 때문에 root가 출력되었다.<끝>