상세정보
미리보기
초보 해커를 위한 칼리 리눅스 입문 : 설치부터 커맨드라인, 파일 시스템, 네트워킹, BASH, 패키지 관리, 로깅, 리눅스 커널 및 드라이버, 보안까지
- 저자
- OccupyTheWeb 저/김세영,정윤선 역
- 출판사
- 제이펍
- 출판일
- 2023-09-15
- 등록일
- 2023-11-22
- 파일포맷
- PDF
- 파일크기
- 9MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
화이트 해커 꿈나무를 위한 가장 친절한 리눅스 안내서보안 전문가나 해커가 되려면 리눅스 시스템의 이해는 기본이다. 이 책은 해킹, 사이버 보안, 침투 테스트 등을 시작하기에 앞서 꼭 알아야 할 리눅스의 기초를 담았다. 해커가 많이 쓰는 칼리 리눅스 배포판으로 실습하므로, 해킹의 기초를 학습하고 다음 단계로 넘어가기에 적합하다. 이 책으로 리눅스의 기본 명령어를 따라 하며 실습하다 보면, 어느새 해커가 된 자신과 마주하게 될 것이다.
저자소개
OccupyTheWeb(OTW)은 해커 및 침투 테스터 교육 웹사이트인 Hackers-Arise의 창립자이자 이 책 저자의 가명이다. 전직 대학 교수이며 정보 기술 업계에서 20년 이상의 경력을 가지고 있다. 미군(육군, 해군, 공군)과 미국 정보 기관(CIA, NSA, DNI)을 포함하여 미국 전역에서 해커를 훈련시켰다. 시간이 날 때는 산악 자전거와 스노보드를 탄다.
목차
옮긴이 머리말 xi베타리더 후기 xiii감사의 말 xiv시작하며 xvChapter 1 기본 다지기 11.1 용어 및 개념 소개 11.2 칼리 둘러보기 3__1.2.1 터미널 4__1.2.2 리눅스 파일 시스템 51.3 리눅스의 기본 명령 6__1.3.1 pwd로 사용자의 현재 위치 찾기 6__1.3.2 whoami로 로그인 점검 7__1.3.3 리눅스 파일 시스템 탐색 7__1.3.4 도움말 10__1.3.5 man을 이용하여 매뉴얼 페이지 참조하기 101.4 찾아보기 11__1.4.1 locate를 이용한 검색 11__1.4.2 whereis로 바이너리 찾기 12__1.4.3 which로 PATH 변수에서 바이너리 찾기 12__1.4.4 find로 더 강력한 검색 수행하기 13__1.4.5 grep으로 필터링하기 151.5 파일 및 디렉터리 수정 16__1.5.1 파일 생성 16__1.5.2 디렉터리 생성 18__1.5.3 파일 복사 18__1.5.4 파일 이름 바꾸기 18__1.5.5 파일 삭제 19__1.5.6 디렉터리 삭제 191.6 재미있게 즐겨보자 20Chapter 2 텍스트 조작 212.1 파일 조회 22__2.1.1 머리 찾기 22__2.1.2 꼬리 찾기 23__2.1.3 줄 번호 붙이기 242.2 grep으로 텍스트 필터링 25__2.2.1 해커가 되기 위한 도전: grep, nl, tail, head의 사용 26__2.2.2 1단계 26__2.2.3 2단계 262.3 sed를 사용한 찾아 바꾸기 272.4 more와 less를 통한 파일 조회 28__2.4.1 more를 통한 출력 제어 28__2.4.2 less를 통한 출력과 필터링 292.5 요약 30Chapter 3 네트워크 분석 및 관리 323.1 ifconfig를 통한 네트워크 분석 323.2 iwconfig를 통한 무선 네트워크 장치 점검 343.3 네트워크 정보 변경 35__3.3.1 IP 주소 변경 35__3.3.2 네트워크 마스크와 브로드캐스트 주소 변경 35__3.3.3 MAC 주소 속이기 36__3.3.4 DHCP 서버에서 새 IP 주소 할당 363.4 도메인 네임 시스템 조작 37__3.4.1 dig를 통한 DNS 확인 37__3.4.2 DNS 서버 변경 39__3.4.3 고유의 IP 주소 매핑 403.5 요약 42Chapter 4 소프트웨어 추가 및 제거 434.1 소프트웨어 관리를 위한 apt 사용 44__4.1.1 패키지 검색 44__4.1.2 소프트웨어 추가 45__4.1.3 소프트웨어 제거 45__4.1.4 패키지 업데이트 47__4.1.5 패키지 업그레이드 474.2 sources.list 파일에 저장소 추가하기 484.3 GUI 기반 설치 프로그램 사용 504.4 git으로 소프트웨어 설치하기 524.5 요약 53Chapter 5 파일 및 디렉터리 권한 관리 545.1 서로 다른 사용자 타입 555.2 권한 승인 55__5.2.1 개별 사용자에게 소유권 승인 55__5.2.2 그룹에 소유권 승인 565.3 권한 점검 565.4 권한 변경 58__5.4.1 수 표현으로 권한 변경 58__5.4.2 UGO를 통한 권한 변경 60__5.4.3 새 도구에 루트 실행 권한 부여 625.5 마스크를 통한 더 안전한 기본 권한 설정 635.6 특수 권한 64__5.6.1 SUID를 이용한 임시 루트 권한 승인 64__5.6.2 SGID를 이용한 루트 사용자의 그룹 권한 승인 64__5.6.3 노후된 스티키 비트 65__5.6.4 특수 권한, 권한 상승 그리고 해커 655.7 요약 67Chapter 6 프로세스 관리 686.1 프로세스 확인 69__6.1.1 프로세스 이름으로 필터링하기 70__6.1.2 top으로 가장 탐욕스러운 프로세스 찾기 716.2 프로세스 관리 72__6.2.1 nice로 프로세스 우선순위 변경 72__6.2.2 프로세스 종료 75__6.2.3 백그라운드에서 프로세스 실행 76__6.2.4 포그라운드로 프로세스 이동 776.3 프로세스 예약 실행 776.4 요약 79Chapter 7 사용자 환경 변수 관리 807.1 환경 변수 조회 및 수정 81__7.1.1 모든 환경 변수 조회 82__7.1.2 특정 변수 필터링 82__7.1.3 한 세션을 위한 변숫값 변경 83__7.1.4 영구적인 변숫값 변경 837.2 셸 프롬프트 변경 847.3 PATH 변경 86__7.3.1 PATH 변수에 추가 86__7.3.2 PATH 변수 치환 주의 877.4 사용자 정의 변수 생성 887.5 요약 89Chapter 8 배시 스크립트 작성 908.1 배시 단기 집중 강좌 918.2 첫 번째 스크립트: “Hello, Hackers-Arise!” 91__8.2.1 실행 권한 설정 92__8.2.2 HelloHackersArise 실행 93__8.2.3 변수 및 사용자 입력을 이용한 기능 추가 948.3 해커의 첫 스크립트: 열린 포트 검색 95__8.3.1 우리의 임무 96__8.3.2 간단한 스캐너 97__8.3.3 MySQL 스캐너 개선 988.4 일반적인 기본 제공 배시 명령 1018.5 요약 102Chapter 9 압축 및 아카이브 1039.1 압축이란? 1039.2 타르로 파일 모으기 1049.3 파일 압축 106__9.3.1 gzip 압축 107__9.3.2 bzip2 압축 108__9.3.3 compress 압축 1089.4 스토리지 장치의 비트 단위 또는 물리적 복사본 생성 1099.5 요약 110Chapter 10 파일 시스템 및 저장 장치 관리 11110.1 장치 디렉터리 /dev 112__10.1.1 리눅스가 저장 장치를 나타내는 방법 113__10.1.2 드라이브 파티션 114__10.1.3 문자 및 블록 장치 115__10.1.4 lsblk를 사용하여 블록 장치 및 정보 나열 11610.2 마운트 및 마운트 해제 117__10.2.1 저장 장치 직접 마운트하기 117__10.2.2 umount로 마운트 해제 11810.3 파일 시스템 모니터링 118__10.3.1 마운트된 디스크에 대한 정보 얻기 118__10.3.2 오류 확인 11910.4 요약 120Chapter 11 로깅 시스템 12111.1 rsyslog 로깅 데몬 122__11.1.1 rsyslog 환경설정 파일 122__11.1.2 rsyslog 로깅 규칙 12411.2 logrotate를 통한 로그 자동 정리 12611.3 은신 상태 유지 128__11.3.1 흔적 삭제 129__11.3.2 로깅 비활성화 13011.4 요약 131Chapter 12 서비스의 사용 및 악용 13212.1 서비스의 시작, 중지, 재시작 13212.2 아파치 웹 서버를 이용한 HTTP 웹 서버 생성 133__12.2.1 아파치 구동 134__12.2.2 index.html 파일 수정 135__12.2.3 HTML 추가 136__12.2.4 결과 확인 13612.3 OpenSSH와 라즈베리 스파이 파이 137__12.3.1 라즈베리 파이 설정 137__12.3.2 카메라 설정 139__12.3.3 감시 시작 14012.4 MySQL/MariaDB에서 정보 추출 141__12.4.1 MySQL 또는 MariaDB 구동 142__12.4.2 SQL을 통한 상호작용 143__12.4.3 비밀번호 설정 143__12.4.4 원격 데이터베이스 접근 145__12.4.5 데이터베이스 접속 146__12.4.6 데이터베이스 테이블 147__12.4.7 데이터 확인 148__12.4.8 PostgreSQL과 메타스플로이트 14812.5 요약 151Chapter 13 보안과 익명성 15213.1 인터넷이 우리를 드러내는 방법 15313.2 어니언 라우터 시스템 154__13.2.1 토르 작동 방식 154__13.2.2 보안 고려사항 15613.3 프록시 서버 156__13.3.1 환경설정 파일에 프록시 설정 157__13.3.2 더 흥미로운 옵션 160__13.3.3 보안 고려사항 16213.4 가상 사설 네트워크 16313.5 암호화된 이메일 16413.6 요약 165Chapter 14 무선 네트워크 이해와 검사 16714.1 와이파이 네트워크 167__14.1.1 기본 무선 명령 168__14.1.2 aircrack-ng를 이용한 와이파이 정찰 17214.2 블루투스 감지 및 연결 175__14.2.1 블루투스 작동 방식 175__14.2.2 블루투스 스캐닝 및 정찰 17614.3 요약 180Chapter 15 리눅스 커널 및 로드 가능한 커널 모듈 관리 18115.1 커널 모듈이란? 18215.2 커널 버전 점검 18315.3 sysctl을 통한 커널 튜닝 18315.4 커널 모듈 관리 186__15.4.1 modinfo를 통한 더 많은 정보 수집 187__15.4.2 modprobe를 통한 모듈의 추가 및 제거 188__15.4.3 커널 모듈의 삽입 및 제거 18815.5 요약 189Chapter 16 잡 스케줄링을 통한 태스크 자동화 19016.1 자동 기반 이벤트 또는 잡 스케줄링 191__16.1.1 백업 태스크 스케줄링 193__16.1.2 MySQLscanner 스케줄링을 위한 crontab 사용 195__16.1.3 crontab 단축어 19616.2 부팅 시 잡 실행을 위한 rc 스크립트 사용 197__16.2.1 리눅스 런레벨 197__16.2.2 rc.d에 서비스 추가 19716.3 GUI를 이용한 시작 서비스 추가 19816.4 요약 199Chapter 17 해커를 위한 파이썬 스크립트 기초 20117.1 파이썬 모듈 추가 202__17.1.1 pip 사용 203__17.1.2 서드 파티 모듈 설치 20417.2 파이썬으로 스크립트 시작하기 205__17.2.1 변수 206__17.2.2 주석 209__17.2.3 함수 20917.3 리스트 21017.4 모듈 21117.5 객체 지향 프로그래밍 21217.6 파이썬에서 네트워크 통신 213__17.6.1 TCP 클라이언트 제작 213__17.6.2 TCP 리스너 제작 21517.7 딕셔너리, 반복, 제어 구문 217__17.7.1 딕셔너리 217__17.7.2 제어 구문 217__17.7.3 반복문 21917.8 해킹 스크립트 발전시키기 22017.9 예외 및 비밀번호 크래커 22117.10 요약 224찾아보기 226