bash를 활용한 사이버 보안 운영
위기의 순간 빛을 발하는 CLI 활용 완벽 가이드!
『bash를 활용한 사이버 보안 운영』은 사이버 보안 운영자를 위한 실무 지침서다. 리눅스 명령과 bash 셸을 활용해 자료 수집, 로그 분석, 침입 탐지, 역공학, 보안 관리 같은 작업을 수행하는 방법을 소개한다. 실용적인 예제로 명령줄이 제공하는 풍부한 기능을 살펴보며, 고급 도구에서 제공하는 보안 기법에 관한 통찰도 제공한다. 명령줄 인터페이스(CLI)를 활용하면 복잡한 기능도 간단한 코드로 구현할 수 있다. 명령줄 활용 능력을 키워 보안 운영 난제를 bash로 해결하는 ‘마법’을 체험하길 바란다.
15년 넘게 사이버 보안과 IT 분야에서 일했다. 2009년 자신이 설립한 Digadel Corporation(https://www.digadel.com)에서 독립 사이버 보안 컨설팅 및 소프트웨어 개발을 수행한다. 페이스 대학교에서 컴퓨터 과학 학사 학위를, 뉴욕 대학교(전 폴리테크닉대학교)에서 컴퓨터 과학 석사 학위를 받았으며, 공인 정보 시스템 보안 전문가(CISSP) 자격도 있다. 취약점 분석가, 소프트웨어 개발자, 모의 침투 검사자, 대학교수 등 다양한 역할을 수행했다.
[제1부 기초]
제1장 명령줄 첫걸음
__1.1 명령줄의 정의
__1.2 왜 bash인가?
__1.3 명령줄 표시 방식
__1.4 Windows에서 리눅스와 bash 실행
__1.5 명령줄의 기초
__1.6 요약
__1.7 실습
제2장 bash의 기초
__2.1 출력
__2.2 변수
__2.3 입력
__2.4 조건 분기
__2.5 루프 반복
__2.6 함수
__2.7 bash의 패턴 부합 기능
__2.8 처음 만드는 스크립트?운영체제 종류 검출
__2.9 요약
__2.10 실습
제3장 정규 표현식 기초
__3.1 사용할 명령들
__3.2 정규 표현식 메타문자
__3.3 요약
__3.4 실습
제4장 공격과 방어의 원칙들
__4.1 사이버 보안
__4.2 공격 수명 주기
__4.3 요약
[제2부 bash를 이용한 사이버 보안 방어 작전]
제5장 자료 수집
__5.1 사용할 명령들
__5.2 시스템 정보 수집
__5.3 파일 시스템 검색
__5.4 자료 전송
__5.5 요약
__5.6 실습
제6장 자료 처리
__6.1 사용할 명령들
__6.2 필드들이 구분된 파일의 처리
__6.3 XML 처리
__6.4 JSON 처리
__6.5 자료 취합
__6.6 요약
__6.7 실습
제7장 자료 분석
__7.1 사용할 명령들
__7.2 웹 서버 로그와 친해지기
__7.3 자료의 정렬 및 재배열
__7.4 특정 항목의 빈도 구하기
__7.5 수치 합산
__7.6 자료를 히스토그램으로 표시
__7.7 자료에서 유일한 항목 찾기
__7.8 비정상적인 자료 식별
__7.9 요약
__7.10 실습
제8장 실시간 로그 감시
__8.1 텍스트 로그 감시
__8.2 Windows 로그 감시
__8.3 실시간 히스토그램 생성
__8.4 요약
__8.5 실습
제9장 도구: 네트워크 모니터
__9.1 사용할 명령들
__9.2 단계 1: 포트 스캐너 만들기
__9.3 단계 2: 기존 출력과 비교
__9.4 단계 3: 자동화와 통지
__9.5 요약
__9.6 실습
제10장 도구: 파일 시스템 모니터
__10.1 사용할 명령들
__10.2 단계 1: 파일 시스템의 기준선 생성
__10.3 단계 2: 기준선과 달라진 점 찾기
__10.4 단계 3: 자동화와 통지
__10.5 요약
__10.6 실습
제11장 악성 코드 분석
__11.1 사용할 명령들
__11.2 역공학
__11.3 문자열 추출
__11.4 명령줄로 VirusTotal과 상호작용하기
__11.5 요약
__11.6 실습
제12장 서식화와 보고
__12.1 사용할 명령들
__12.2 화면 표시 및 인쇄를 위한 HTML 서식화
__12.3 현황판(대시보드) 만들기
__12.4 요약
__12.5 실습
[제3부 bash를 이용한 모의 침투]
제13장 정찰
__13.1 사용할 명령들
__13.2 웹 페이지 가져오기
__13.3 배너 자동 조회
__13.4 요약
__13.5 실습
제14장 스크립트 난독화
__14.1 사용할 명령들
__14.2 구문 난독화
__14.3 논리 난독화
__14.4 암호화
__14.5 요약
__14.6 실습
제15장 도구: 명령줄 퍼저
__15.1 구현
__15.2 요약
__15.3 실습
제16장 거점 확보
__16.1 사용할 명령들
__16.2 명령문 한 줄짜리 뒷문
__16.3 커스텀 원격 접속 도구
__16.4 요약
__16.5 실습
[제4부 bash를 이용한 보안 관리]
제17장 사용자, 그룹, 권한
__17.1 사용할 명령들
__17.2 사용자와 그룹
__17.3 파일 권한과 접근 제어 목록
__17.4 다수의 파일에 대한 권한 수정
__17.5 요약
__17.6 실습
제18장 로그 항목 기록
__18.1 사용할 명령들
__18.2 Windows 로그 기록
__18.3 리눅스 로그 기록
__18.4 요약
__18.5 실습
제19장 도구: 시스템 가용성 모니터
__19.1 사용할 명령들
__19.2 구현
__19.3 요약
__19.4 실습
제20장 도구: 소프트웨어 목록
__20.1 사용할 명령들
__20.2 구현
__20.3 그 밖의 소프트웨어 식별
__20.4 요약
__20.5 실습
제21장 도구: 시스템 구성 검증
__21.1 구현
__21.2 요약
__21.3 실습
제22장 도구: 계정 감사
__22.1 Have I Been Pwned? 사이트
__22.2 패스워드 침해 여부 점검
__22.3 이메일 주소 침해 여부 점검
__22.4 요약
__22.5 실습