본문 바로가기

도서 소개

초보 해커를 위한 칼리 리눅스 입문

 

글로벌 테크 기업의 프런트엔드 개발자가 일하는 방식

 

도서 구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

전자책 구매 사이트(가나다순)

  [교보문고]  [구글북스]  [리디북스]  [알라딘]  [예스이십사]

 

출판사 제이펍
저작권사 No Starch Press
원서명 Linux Basics for Hackers (9781593278557)
도서명 초보 해커를 위한 칼리 리눅스 입문
부제 설치부터 커맨드라인, 파일 시스템, 네트워킹, BASH, 패키지 관리, 로깅, 리눅스 커널 및 드라이버, 보안까지
지은이 OccupyTheWeb
옮긴이 김세영, 정윤선
감수자 (없음)
시리즈 (없음)
출판일 2023. 06. 05
페이지 264쪽
판 형 46배판변형(188*245*15.7두께( 두께는 페이퍼 프라이스 앱 측정 두께 + 0.5로 해주세요))
제 본 무선(soft cover)
정 가 26,000원
ISBN 979-11-92987-15-6 (93000)
키워드 리눅스, 칼리 리눅스, 해커, 화이트해커, 보안, 사이버보안, 해킹, 파일 시스템, 배시, 스크립트
분 야 리눅스 / 해킹 / 보안

 


관련 사이트
아마존 도서 페이지
저작권사 도서 페이지

 

관련 시리즈

■ (없음)

 

관련 포스트

■ 2023.05.31 - [출간 전 책 소식] - 해커가 되어 사이버 공격을 방어하자

 

관련 도서

■ (없음)

 

관련 파일 다운로드

■ (없음)

 

강의 보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음 자료를 보내드립니다.)
■ 본문의 그림과 표

 

미리보기(차례, 시작하며, 본문 일부)

 

정오표 페이지
■ (등록되는 대로 링크를 걸겠습니다.)

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

전자책 구매 사이트(가나다순)

  [교보문고]  [구글북스]  [리디북스]  [알라딘]  [예스이십사]

 

도서 소개

화이트 해커 꿈나무를 위한 가장 친절한 리눅스 안내서

 

보안 전문가나 해커가 되려면 리눅스 시스템의 이해는 기본이다. 이 책은 해킹, 사이버 보안, 침투 테스트 등을 시작하기에 앞서 꼭 알아야 할 리눅스의 기초를 담았다. 해커가 많이 쓰는 칼리 리눅스 배포판으로 실습하므로, 해킹의 기초를 학습하고 다음 단계로 넘어가기에 적합하다. 이 책으로 리눅스의 기본 명령어를 따라 하며 실습하다 보면, 어느새 해커가 된 자신과 마주하게 될 것이다.

 

지은이 소개

OccupyTheWeb

OccupyTheWeb(OTW)은 해커 및 침투 테스터 교육 웹사이트인 Hackers-Arise의 창립자이자 이 책 저자의 가명이다. 전직 대학 교수이며 정보 기술 업계에서 20년 이상의 경력을 가지고 있다. 미군(육군, 해군, 공군)과 미국 정보 기관(CIA, NSA, DNI)을 포함하여 미국 전역에서 해커를 훈련시켰다. 시간이 날 때는 산악 자전거와 스노보드를 탄다.

 

옮긴이 소개

김세영

성균관대학교 정보통신공학부와 기계공학부를 졸업했으며, 웹, 서버, 커널 등 여러 분야에 관심이 있다. 어떻게 하면 지식을 효율적으로 습득, 저장, 관리할 수 있는지 고민하고 있다. 현재는 캐노니컬에서 근무하며, 우분투를 발전시키고 클라우드 환경의 버그를 잡는 등, 오픈소스 프로젝트 발전에 힘쓰고 있다.

 

정윤선

성균관대학교 정보통신공학부를 졸업했으며, 웹 기술과 서버 API, 하이퍼바이저에 관심이 많다. 아헴스, KT클라우드웨어, A2C 등에서 웹, 가상화 등의 업무를 수행했다. 현재는 육아를 하는 한편, next.js와 리액트 네이티브를 이용한 모바일 앱 개발 및 기술 서적 번역을 하고 있다.

 

차례

옮긴이 머리말 xi
베타리더 후기 xiii
감사의 말 xiv
시작하며 xv

 

Chapter 1 기본 다지기 1

1.1 용어 및 개념 소개 1

1.2 칼리 둘러보기 3

__1.2.1 터미널 4

__1.2.2 리눅스 파일 시스템 5

1.3 리눅스의 기본 명령 6

__1.3.1 pwd로 사용자의 현재 위치 찾기 6

__1.3.2 whoami로 로그인 점검 7

__1.3.3 리눅스 파일 시스템 탐색 7

__1.3.4 도움말 10

__1.3.5 man을 이용하여 매뉴얼 페이지 참조하기 10

더보기

1.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으로 필터링하기 15

1.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 디렉터리 삭제 19

1.6 재미있게 즐겨보자 20

 

Chapter 2 텍스트 조작 21

2.1 파일 조회 22

__2.1.1 머리 찾기 22

__2.1.2 꼬리 찾기 23

__2.1.3 줄 번호 붙이기 24

2.2 grep으로 텍스트 필터링 25

__2.2.1 해커가 되기 위한 도전: grep, nl, tail, head의 사용 26

__2.2.2 1단계 26

__2.2.3 2단계 26

2.3 sed를 사용한 찾아 바꾸기 27

2.4 more와 less를 통한 파일 조회 28

__2.4.1 more를 통한 출력 제어 28

__2.4.2 less를 통한 출력과 필터링 29

2.5 요약 30

 

Chapter 3 네트워크 분석 및 관리 32

3.1 ifconfig를 통한 네트워크 분석 32

3.2 iwconfig를 통한 무선 네트워크 장치 점검 34

3.3 네트워크 정보 변경 35

__3.3.1 IP 주소 변경 35

__3.3.2 네트워크 마스크와 브로드캐스트 주소 변경 35

__3.3.3 MAC 주소 속이기 36

__3.3.4 DHCP 서버에서 새 IP 주소 할당 36

3.4 도메인 네임 시스템 조작 37

__3.4.1 dig를 통한 DNS 확인 37

__3.4.2 DNS 서버 변경 39

__3.4.3 고유의 IP 주소 매핑 40

3.5 요약 42

 

Chapter 4 소프트웨어 추가 및 제거 43

4.1 소프트웨어 관리를 위한 apt 사용 44

__4.1.1 패키지 검색 44

__4.1.2 소프트웨어 추가 45

__4.1.3 소프트웨어 제거 45

__4.1.4 패키지 업데이트 47

__4.1.5 패키지 업그레이드 47

4.2 sources.list 파일에 저장소 추가하기 48

4.3 GUI 기반 설치 프로그램 사용 50

4.4 git으로 소프트웨어 설치하기 52

4.5 요약 53

 

Chapter 5 파일 및 디렉터리 권한 관리 54

5.1 서로 다른 사용자 타입 55

5.2 권한 승인 55

__5.2.1 개별 사용자에게 소유권 승인 55

__5.2.2 그룹에 소유권 승인 56

5.3 권한 점검 56

5.4 권한 변경 58

__5.4.1 수 표현으로 권한 변경 58

__5.4.2 UGO를 통한 권한 변경 60

__5.4.3 새 도구에 루트 실행 권한 부여 62

5.5 마스크를 통한 더 안전한 기본 권한 설정 63

5.6 특수 권한 64

__5.6.1 SUID를 이용한 임시 루트 권한 승인 64

__5.6.2 SGID를 이용한 루트 사용자의 그룹 권한 승인 64

__5.6.3 노후된 스티키 비트 65

__5.6.4 특수 권한, 권한 상승 그리고 해커 65

5.7 요약 67

 

Chapter 6 프로세스 관리 68

6.1 프로세스 확인 69

__6.1.1 프로세스 이름으로 필터링하기 70

__6.1.2 top으로 가장 탐욕스러운 프로세스 찾기 71

6.2 프로세스 관리 72

__6.2.1 nice로 프로세스 우선순위 변경 72

__6.2.2 프로세스 종료 75

__6.2.3 백그라운드에서 프로세스 실행 76

__6.2.4 포그라운드로 프로세스 이동 77

6.3 프로세스 예약 실행 77

6.4 요약 79

 

Chapter 7 사용자 환경 변수 관리 80

7.1 환경 변수 조회 및 수정 81

__7.1.1 모든 환경 변수 조회 82

__7.1.2 특정 변수 필터링 82

__7.1.3 한 세션을 위한 변숫값 변경 83

__7.1.4 영구적인 변숫값 변경 83

7.2 셸 프롬프트 변경 84

7.3 PATH 변경 86

__7.3.1 PATH 변수에 추가 86

__7.3.2 PATH 변수 치환 주의 87

7.4 사용자 정의 변수 생성 88

7.5 요약 89

 

Chapter 8 배시 스크립트 작성 90

8.1 배시 단기 집중 강좌 91

8.2 첫 번째 스크립트: “Hello, Hackers-Arise!” 91

__8.2.1 실행 권한 설정 92

__8.2.2 HelloHackersArise 실행 93

__8.2.3 변수 및 사용자 입력을 이용한 기능 추가 94

8.3 해커의 첫 스크립트: 열린 포트 검색 95

__8.3.1 우리의 임무 96

__8.3.2 간단한 스캐너 97

__8.3.3 MySQL 스캐너 개선 98

8.4 일반적인 기본 제공 배시 명령 101

8.5 요약 102

 

Chapter 9 압축 및 아카이브 103

9.1 압축이란? 103

9.2 타르로 파일 모으기 104

9.3 파일 압축 106

__9.3.1 gzip 압축 107

__9.3.2 bzip2 압축 108

__9.3.3 compress 압축 108

9.4 스토리지 장치의 비트 단위 또는 물리적 복사본 생성 109

9.5 요약 110

 

Chapter 10 파일 시스템 및 저장 장치 관리 111

10.1 장치 디렉터리 /dev 112

__10.1.1 리눅스가 저장 장치를 나타내는 방법 113

__10.1.2 드라이브 파티션 114

__10.1.3 문자 및 블록 장치 115

__10.1.4 lsblk를 사용하여 블록 장치 및 정보 나열 116

10.2 마운트 및 마운트 해제 117

__10.2.1 저장 장치 직접 마운트하기 117

__10.2.2 umount로 마운트 해제 118

10.3 파일 시스템 모니터링 118

__10.3.1 마운트된 디스크에 대한 정보 얻기 118

__10.3.2 오류 확인 119

10.4 요약 120

 

Chapter 11 로깅 시스템 121

11.1 rsyslog 로깅 데몬 122

__11.1.1 rsyslog 환경설정 파일 122

__11.1.2 rsyslog 로깅 규칙 124

11.2 logrotate를 통한 로그 자동 정리 126

11.3 은신 상태 유지 128

__11.3.1 흔적 삭제 129

__11.3.2 로깅 비활성화 130

11.4 요약 131

 

Chapter 12 서비스의 사용 및 악용 132

12.1 서비스의 시작, 중지, 재시작 132

12.2 아파치 웹 서버를 이용한 HTTP 웹 서버 생성 133

__12.2.1 아파치 구동 134

__12.2.2 index.html 파일 수정 135

__12.2.3 HTML 추가 136

__12.2.4 결과 확인 136

12.3 OpenSSH와 라즈베리 스파이 파이 137

__12.3.1 라즈베리 파이 설정 137

__12.3.2 카메라 설정 139

__12.3.3 감시 시작 140

12.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과 메타스플로이트 148

12.5 요약 151

 

Chapter 13 보안과 익명성 152

13.1 인터넷이 우리를 드러내는 방법 153

13.2 어니언 라우터 시스템 154

__13.2.1 토르 작동 방식 154

__13.2.2 보안 고려사항 156

13.3 프록시 서버 156

__13.3.1 환경설정 파일에 프록시 설정 157

__13.3.2 더 흥미로운 옵션 160

__13.3.3 보안 고려사항 162

13.4 가상 사설 네트워크 163

13.5 암호화된 이메일 164

13.6 요약 165

 

Chapter 14 무선 네트워크 이해와 검사 167

14.1 와이파이 네트워크 167

__14.1.1 기본 무선 명령 168

__14.1.2 aircrack-ng를 이용한 와이파이 정찰 172

14.2 블루투스 감지 및 연결 175

__14.2.1 블루투스 작동 방식 175

__14.2.2 블루투스 스캐닝 및 정찰 176

14.3 요약 180

 

Chapter 15 리눅스 커널 및 로드 가능한 커널 모듈 관리 181

15.1 커널 모듈이란? 182

15.2 커널 버전 점검 183

15.3 sysctl을 통한 커널 튜닝 183

15.4 커널 모듈 관리 186

__15.4.1 modinfo를 통한 더 많은 정보 수집 187

__15.4.2 modprobe를 통한 모듈의 추가 및 제거 188

__15.4.3 커널 모듈의 삽입 및 제거 188

15.5 요약 189

 

Chapter 16 잡 스케줄링을 통한 태스크 자동화 190

16.1 자동 기반 이벤트 또는 잡 스케줄링 191

__16.1.1 백업 태스크 스케줄링 193

__16.1.2 MySQLscanner 스케줄링을 위한 crontab 사용 195

__16.1.3 crontab 단축어 196

16.2 부팅 시 잡 실행을 위한 rc 스크립트 사용 197

__16.2.1 리눅스 런레벨 197

__16.2.2 rc.d에 서비스 추가 197

16.3 GUI를 이용한 시작 서비스 추가 198

16.4 요약 199

 

Chapter 17 해커를 위한 파이썬 스크립트 기초 201

17.1 파이썬 모듈 추가 202

__17.1.1 pip 사용 203

__17.1.2 서드 파티 모듈 설치 204

17.2 파이썬으로 스크립트 시작하기 205

__17.2.1 변수 206

__17.2.2 주석 209

__17.2.3 함수 209

17.3 리스트 210

17.4 모듈 211

17.5 객체 지향 프로그래밍 212

17.6 파이썬에서 네트워크 통신 213

__17.6.1 TCP 클라이언트 제작 213

__17.6.2 TCP 리스너 제작 215

17.7 딕셔너리, 반복, 제어 구문 217

__17.7.1 딕셔너리 217

__17.7.2 제어 구문 217

__17.7.3 반복문 219

17.8 해킹 스크립트 발전시키기 220

17.9 예외 및 비밀번호 크래커 221

17.10 요약 224

 

찾아보기 226

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  포스트  유튜브  인스타그램  트위터  페이스북