초보 해커를 위한 칼리 리눅스 입문
2023년 09월 15일 출간
국내도서 : 2023년 06월 05일 출간
- eBook 상품 정보
- 파일 정보 pdf (18.63MB)
- ISBN 9791192987514
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 불가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)
쿠폰적용가 16,380원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
베타리더 후기 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
해킹은 21세기에 가장 중요한 기술이다. 이 문장을 가볍게 생각하지 말자. 매일 뉴스 헤드라인에서 보이는 여러 사건을 통해, 위 문장이 옳다는 것을 확인할 수 있다. 국가는 상대국의 비밀을 빼내기 위해 서로를 감시하고, 사이버 범죄자는 수십억 달러를 훔치며, 몸값을 요구하는 디지털 웜(worm)이 나타나고, 적들은 서로의 선거에 영향을 끼치며, 전투 요원들은 서로의 기반 시설을 무너뜨린다. (xv쪽)
리눅스 파일 시스템 구조는 윈도우의 구조와는 사뭇 다르다. 리눅스는 물리 드라이브(C: 드라이브와 같은)를 파일 시스템의 기저에 가지고 있지 않다. 대신 논리적 파일 시스템을 사용한다. 파일 시스템 구조의 최상단에는 /가 존재한다. 이를 파일 시스템의 루트라고 부르는데, 위아래가 뒤집힌 트리처럼 보인다. 이는 루트 사용자와는 다르다는 것을 염두에 두자. (5쪽)
해커는 시스템을 최적화하기 위해 프로세스를 관리하는 방법을 이해해야 한다. 예를 들면 해커가 대상 시스템을 제어하기 위해 바이러스 백신 애플리케이션이나 방화벽과 같은 특정 프로세스를 찾아 중지하려고 할 수 있다. 그렇게 하려면 해커는 먼저 프로세스를 찾는 방법에 대해 알아야 한다. 또한, 해커는 취약한 시스템을 찾기 위해 주기적으로 실행할 스캐닝 스크립트를 설정할 수 있고 이러한 스크립트를 예약하는 방법에 대해서도 살펴보자. (68쪽)
해커 세계에서 맥스 비전(Max Vision)으로도 알려진 맥스 버틀러(Max Butler)라는 이름의 해커가 미국 연방 교도소에 복역 중이었다. 맥스는 그레이햇 해커였는데, 낮에는 실리콘 밸리에서 IT 보안 전문가로 있었고 밤에는 암시장에서 신용카드 번호를 훔쳐 팔았다. 한때 세계 최대 신용카드 암시장인 카더스마켓(CardersMarket)을 운영하기도 했었다. 지금 맥스는 13년형 복역과 동시에 피츠버그의 CERT(Computer Emergency Response Team)를 도와 해커로부터 방어하는 일을 한다. (96쪽)
로그 파일은 리눅스 시스템에서 생긴 거의 모든 것에 대해 추적한다. 이는 비정상 동작이나 해킹 등 무슨 일이 생겼는지 분석하기 위한 매우 중요한 자원이 될 수 있다. 해커에게 로그 파일은 그들의 활동 및 정체성을 알려주는 증거가 될 수 있다. 하지만 빈틈없는 해커는 이 파일을 제거하거나 파쇄하거나(shred), 로깅 전체를 비활성화함으로써 증거를 숨길 수 있다. (131쪽)
VPN을 사용하면 보안과 정보 보호를 확실히 향상시킬 수 있다. 그러나 그것이 익명성을 보장하지는 않는다. 접속하는 인터넷 장치는 데이터를 적절히 되돌리기 위해 여러분의 IP 주소를 반드시 기록한다. 따라서 이 기록에 접근하는 누군가는 여러분에 대한 정보를 알 수 있다. (163쪽)
파이썬에는 해킹에 특히 적합한 몇 가지 중요한 기능이 있다. 그중 가장 중요한 것은 외부에서 가져와 재사용할 수 있도록 사전에 빌드된 다양한 라이브러리를 통해 강력한 기능을 제공하는 것이다. 파이썬에는 1,000개 이상의 모듈이 내장되어 있으며, 외에도 다양한 리포지터리에서 더 많은 모듈을 사용할 수 있다. 배시, 펄 및 루비와 같은 다른 언어에서도 해킹 도구를 빌드하는 것이 가능하지만 파이썬의 모듈을 사용하면 이러한 도구를 훨씬 쉽게 빌드할 수 있다. (201쪽)
사이버 보안 전문가로 가는 첫걸음
아마존 해킹 분야, 리눅스 분야 1위 베스트셀러
모든 것이 디지털로 연결되는 세상에서 사이버 보안은 개인을 넘어 기업, 국가의 성패를 다룰 만큼 그 중요도가 높아지고 있다. 사이버 보안을 강화하기 위한 방법 중 하나가 바로 침투 테스트다. 침투 테스트는 사이버 보안의 약점을 찾기 위해 공격과 방어로 나누어 실시하는 해킹 훈련으로, 해커의 시각으로 시스템의 취약점을 찾고 공격함으로써 미리 외부의 공격에 대한 방어 계획을 세울 수 있다.
이 책은 해커를 꿈꾸며 리눅스를 처음 접하는 사람들에게 리눅스의 기본 구조부터 필수 명령어, 나아가 스크립트까지 친절하게 안내하는 가이드다. 저자는 미국의 국방부 및 거의 모든 정보 부서(NSA, DIA, CIA, FBI)와 함께 사이버 보안 업무를 진행한 후 이 책을 썼다. 대다수의 초보 해커가 리눅스에 대한 경험이 없거나 적은 것이 실력 향상에 장벽이 된다는 것을 알고, 전문 해커가 되는 데 필요한 리눅스 기초를 다지도록 꼭 필요한 모든 것을 담았다. 기본 커맨드라인을 다루는 것은 물론이고, 파일 시스템, 네트워킹, 로깅, 배시, 데이터베이스, 리눅스 커널과 드라이버까지 친절하게 설명한다. 가상머신에 칼리 리눅스를 설치해 실습을 진행하므로 현재 사용 중인 운영체제에서도 손쉽게 따라 할 수 있게 했으며, 더 숙련된 해커가 되기 위한 파이썬 스크립팅도 설명한다. 저자의 안내에 따라 차근차근 실습하며 초보 해커를 넘어 전문 해커가 되어 사이버 보안의 파수꾼이 되길 바란다.
주요 내용
■ 가상머신에 칼리 리눅스 설치 및 실행
■ 위치 찾기, 로그인 점검, 파일 탐색 등 리눅스 기본 명령어 이해
■ 텍스트 조작, 파일 및 디렉터리 권한 관리, 소프트웨어 추가 및 제거 실습
■ 사용자 환경변수 관리, 프로세스 관리, 태스크 자동화 실습
■ 네트워크 분석 및 관리, 로깅 시스템, 커널 모듈 관리의 이해
■ 배시 스크립트 작성, 파이썬 스크립트 기초 학습
작가정보
저자(글) OccupyTheWeb
OccupyTheWeb(OTW)은 해커 및 침투 테스터 교육 웹사이트인 Hackers-Arise의 창립자이자 이 책 저자의 가명이다. 전직 대학 교수이며 정보 기술 업계에서 20년 이상의 경력을 가지고 있다. 미군(육군, 해군, 공군)과 미국 정보 기관(CIA, NSA, DNI)을 포함하여 미국 전역에서 해커를 훈련시켰다. 시간이 날 때는 산악 자전거와 스노보드를 탄다.
성균관대학교 정보통신공학부와 기계공학부를 졸업했으며, 웹, 서버, 커널 등 여러 분야에 관심이 있다. 어떻게 하면 지식을 효율적으로 습득, 저장, 관리할 수 있는지 고민하고 있다. 현재는 캐노니컬에서 근무하며, 우분투를 발전시키고 클라우드 환경의 버그를 잡는 등, 오픈소스 프로젝트 발전에 힘쓰고 있다.
성균관대학교 정보통신공학부를 졸업했으며, 웹 기술과 서버 API, 하이퍼바이저에 관심이 많다. 아헴스, KT클라우드웨어, A2C 등에서 웹, 가상화 등의 업무를 수행했다. 현재는 육아를 하는 한편, next.js와 리액트 네이티브를 이용한 모바일 앱 개발 및 기술 서적 번역을 하고 있다.
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!
- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.
- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)