- trainer1
시작이네요. 모든 Training과정을 마치면 중급자수준의 리눅서가 된답니다. 열심히해야죠!!
처음에 리눅스에 접속하게되면 "프롬프트"라는것이 나타나며 이것은 서버에 성공적으로 로그인을 하게 되었다는 것을 의미합니다.
[trainer1@ftz trainer1]$
접속ID 서버 현재위치
이 "프롬프트"란 것은 항상 대기상태에서 여러분이 어떤 명령을 내리기만을 기다립니다.
ls : 디렉토리/파일 리스트 출력
ls -l : 디렉토리와 파일 구분 ex)
-rw-rw-r-- 1 trainer1 trainer1 779 9월 24일 18:37 start.txt
> 9월 24일 18:37 = 파일이 생성된 날짜
> 779 = 용량
> trainer1 trainer1 = 권한
> -rw-rw-r-- 파일의 mode와 성격
(이부분은 level1을 풀면서 훨신 자세하게 찾아봤기때문에 이해가 됬습니다.)
파일/디렉토리 구분 : 앞부분이 -이면 파일, d이면 디렉토리(directory)
ls -a : 숨겨진 파일 출력 (숨겨진 파일은 앞자리에 "."이 들어감)
ls -al : 숨겨진 파일/디렉토리 (지금까지는 그냥 모르고 이명령어하나만썻는데 합쳐져있는 기능이였네요)
- trainer2 (linuxer)
pwd : 현재 경로 출력
cd .. : 경로를 한단계 위로
cd 디렉토리 : 경로를 한단계 내림
cd / : 최상위 디렉토리로 이동
mkdir 디렉토리명 : 디렉토리 생성
rmdir 디렉토리명 : 디렉토리 삭제
cp 파일 이름(1) 파일 이름(2) : 파일(1)을 복사하여 파일(2)로 붙여넣기
rm 파일 이름 : 파일 삭제
mv 파일 이름(1) 파일 이름(2) : 파일(1)을 복사하여 파일(2)로 오려넣기 (이 명령은 파일 이름을 변경할 떄 많이 쓰인다.)
- trainer3 (computer)
guest pts/0 201.95.24.129 03.21am 3.10m 0.12s 0.01s -bash
finger -l : 서버에 접속한 유저 목록 자세히 출력
tty : 자신의 터미널 확인
ifconfig : 접속한 서버의 ip 확인
write ID /dev/pts/번호 : 쪽지 보내기 <w명령어로 pts번호를 확인한다음 쪽지를 보낼 수 있습니다. (예 : write guest /dev/pts/2)>
wall "내용" : 모든 사용자에게 쪽지 보내기
(직접 putty를 몇개 더켜서 실험해본결과 진짜 됬습니다. 신기하네요.)
- trainer4 (mungguta)
여기서는 제가 별도로 다시 정리하려했던 리눅스의 디렉토리에 존재하는 파일에대한 설명입니다.
윈도우에 C드라이브속에있는 파일들이라고 생각하시면 편하겠네요~
최상이 디렉토리에서 ls -al을 쳐본 결과입니다.
bin : 가장 필수적인 리눅스 실행 파일 (기본적인 실행 파일)
boot : 리눅스 부팅 관련 파일과 커널
dev : 하드웨어에 관한 정보
etc : 패스워드 파일, 쉐도우 파일, 리눅스 설정 파일 등 (리눅스의 설정 파일)
/etc/passwd : 사용자들에 대한 간단한 정보
/etc/shadow : 사용자들의 패스워드 (아무나 보지 못함)
/etc/services : 어떤 서비스를 하는중인지 보여줌
/etc/issue.net : 처음 접속될 때 나오는 화면
/etc/motd : 로그인 후에 나오는 메세지
~/public_html : 각 사용자들의 홈페이지 파일
home : 일반 사용자들의 디렉토리가 들어가는 곳 (일반 사용자들의 아이디와 작업공간)
lib : 라이브러리 파일
mnt : mount 명령을 사용하여 마운트 시킨 시디롬, 플로피 디스켓 등이 들어가는 디렉토리
proc : 프로세스들이 저장
root : 루트의 홈 디렉토리
sbin : 기본 명령을 제외한 시스템 관리용 실행파일
tmp : 임시로 파일을 저장하는 디렉토리 (누구나 이 디렉토리에 파일 생성 가능)
usr : 다양한 응용 프로그램들이 설치되어 있는 곳
var : 시스템 운영 중 생성 되는 각종 임시 파일과 외부 접속에 대한 로그 파일
(이것에 대한것은 리눅스 마스터카테고리에 "리눅스 디렉토리 구조글" 을보시면 더 자세히 정리했습니다.)
- trainer5 (goodluck)
'해킹의 첫 단계는 정보수집이다' 라고합니다. 그래서 trainer5에서는 해킹을 시도하려는 서버의 정보를 수집하는 방법을 배우는것같아요~
whoami : 자신의 기본 정보
id : 자신의 자세한 기본 정보
cat /etc/passwd : 서버에서 활동중인 사람들의 계정 정보
uname -a : 리눅스의 커널 버전 (커널은 리눅스의 심장부 역할을 하는 파일로서, 이커널에 버전의따라 성능도 차이가납니다. 서버에 아이디가 있는 상태에서 정보를 캐낼때 가장 먼저 하는것이 이 커널 버젼을 보는 것입니다.)
※ 2.2.18 이전 버전의 모든 커널들엔 취약점이 있습니다. 나중에 실력이 좋아진다면 이 커널만 가지고도 많은 서버의 root권한을 획득할 수 있을겁니다. ( root 권한이란 리눅스나 유닉스에서 모든 파일을 관리하는 절대적인 관리자 권한 )
cat /etc/*release : 설치된 OS의 버전
rpm -qa : 패키지의 정보
※ 패키지란 한 프로그램에 그프로그램이 실행되기 위해 존재하는 부속 파일들을 합쳐서 패키지라고한다. 패키지에 관한 정보를보고서 해킹이 가능한지 아닌지를 판단할 수 있다. 예를들어 sendmaill의 버전이 8.10.1 이하로 나타나면 해킹이가능하며, glib버전이 2.1.2 이하일 떄도 똑같은 생각을 할 수있고, perl의버전, pam의 버전을보고도 해킹 가능여부를 판단 할 수 있습니다.
cat /proc/cpuinfo : cpu 정보
'해킹 > FTZ' 카테고리의 다른 글
[해커스쿨 ftz - 6] level3 도전 및 풀이(풀이 형식) (0) | 2016.06.19 |
---|---|
[해커스쿨 ftz - 5] level2 도전 및 풀이(스토리형식) (0) | 2016.06.12 |
[해커스쿨 ftz - 4] trainer 5~10 정리 (0) | 2016.06.11 |
[해커스쿨 ftz - 2] level1 도전 및 풀이(스토리형식) (0) | 2016.06.05 |
[해커스쿨 ftz - 1] 로컬서버구축하는법 (10) | 2016.06.03 |