BLOG
Tracefield · 02
Tracefield · 01
블로그 · 14
Vibe Audit · 04
Vibe Audit · 03
Vibe Audit · 02
Vibe Audit · 01
출판편집자 · 01
StudyTree · 01
SecurityOps · 02
SecurityOps · 01
AI챗봇 · 04
AI챗봇 · 03
AI챗봇 · 02
AI챗봇 · 01
퍼플심 · 04
퍼플심 · 03
퍼플심 · 02
퍼플심 · 01
블로그 · 13
rootscan · 07
rootscan · 06
블로그 · 12
블로그 · 11
블로그 · 10
블로그 · 09
블로그 · 08
블로그 · 07
블로그 · 06
블로그 · 05
블로그 · 04
블로그 · 03
블로그 · 02
블로그 · 01
rootscan · 05
rootscan · 04
rootscan · 03
asmspeak · 03
asmspeak · 02
rootscan · 02
asmspeak · 01
rootscan · 01
웹보안도구 · 02
웹보안도구 · 01
루트캠프 · 02
루트캠프 · 01
All notes 167
호스트 개념
1. 호스트 개념을 배우는 이유
타겟 호스트를 제대로 이해해야 이후 단계도 흔들리지 않는다. 그래서 운영체제(Linux, Windows), 기본 명령어, 네트워킹 개념을 먼저 익히는 흐름으로 간다.
이 문서에서 먼저 잡아둘 축은 두 가지다.
- 호스트 개념: 타겟을 이해하고 다루기 위한 기초다. Linux, Shell, 필수 명령어가 여기에 포함된다.
- 네트워킹 개념: 네트워크를 건너 타겟에 도달하기 위한 기초다. OSI 모델이나 공격 벡터를 이해할 때 바탕이 된다.
"모의해킹은 막연한 공격이 아니라, 타겟 호스트와의 정확한 소통에서 시작된다."
2. Linux와 Shell
Linux(리눅스)
리눅스는 1991년 리누스 토르발스가 만든 오픈소스 운영체제다. 무료로 쓸 수 있고, 서버, 모바일, IoT, SCADA까지 매우 넓은 환경에서 쓰인다.
Shell(쉘)
쉘은 운영체제와 사용자가 만나는 인터페이스다.
| 구분 | 설명 | 특징 |
|---|---|---|
| CLI(Command Line Interface) | 텍스트/명령어 기반 | 키보드로 입력 → 텍스트 출력.(터미널, CMD) |
| GUI(Graphical User Interface) | 그래픽/아이콘 기반 | 마우스 위주. 훨씬 직관적이고 시각적임. |
일반 사용자에게는 GUI가 더 편하고 직관적이다. 다만 모의해킹 관점에서는 GUI보다 CLI를 다루는 시간이 훨씬 길어진다.
3. 왜 공격자들은 Nix(Linux/Unix) 기반을 쓰는가?
Windows보다 Nix 계열(Linux, Unix, macOS 등)을 더 자주 쓰는 이유는 아래처럼 정리할 수 있다.
- 오픈소스 기반이라 무료로 쓸 수 있다.
Windows는 라이선스가 필요하고, 구매나 인증 이력이 남을 수 있다. 반면 Linux는 무료이면서 오픈소스라 이런 부담이 상대적으로 적다. - 페이로드 제작과 환경 대응이 수월하다.
Nix 계열은 다양한 플랫폼과 호환성이 높아서, 타겟 환경에 맞춰 도구를 준비하기 편한 편이다. - 생태계가 풍부하다.
이미 많은 보안 도구와 프레임워크가 갖춰져 있고, 커뮤니티도 커서 자료를 찾기 쉽다.
그 중에서도 왜 Kali Linux인가?
다른 보안용 OS(Parrot, BlackArch 등)도 많지만, Kali를 많이 쓰는 이유는 비교적 분명하다.
- OffSec(Offensive Security)에서 공식 지원한다.
모의해킹 교육과 자격증으로 잘 알려진 OffSec이 관리해 업데이트와 자료 흐름이 안정적이다. - All-in-One 구성이 강점이다.
필요한 도구가 기본적으로 많이 갖춰져 있어서, 환경 세팅보다 학습과 실습에 바로 집중하기 좋다.
4. CLI(터미널) 환경이 필수적인 이유 5가지
GUI보다 CLI를 더 자주 쓰게 되는 이유도 정리해 둘 만하다.
- 속도 측면에서 유리하다.
텍스트 기반이라 그래픽 렌더링 부담이 없고, 운영체제와 바로 상호작용하므로 작업이 빠른 편이다. - 상호운용성이 좋다.
한 도구의 결과를 다른 도구로 넘기는 파이프라인 구성이 쉬워서 데이터 흐름을 붙이기 편하다. - 가볍다.
불필요한 라이브러리 의존이 적어서 시스템 리소스를 덜 쓴다. - 크로스 플랫폼 대응이 쉽다.
Go, Rust 같은 언어로 만든 도구는 다른 운영체제에서도 비교적 수월하게 옮겨 쓸 수 있다. - 헤드리스(Headless) 환경에 강하다.
기업 서버나 컨테이너처럼 GUI가 없는 환경이 많아서, 실제 운영 환경에서는 CLI가 사실상 기본이 된다.
5. Windows 운영체제와 PowerShell
리눅스가 실습 환경의 중심이라면, Windows는 실제 기업 환경에서 자주 마주치는 핵심 대상이다.
Windows를 배워야 하는 이유
현실 환경에서 Windows를 빼고 보기는 어렵다.
- 전 세계 기업 다수가 Active Directory(AD) 기반의 Windows 인프라를 쓴다.
- 학습은 리눅스 중심으로 해도, 실제 현장에서는 Windows 비중이 높다.
- 유료 라이선스와 비공개 소스(Closed Source) 특성 때문에 접근 장벽은 있지만, 클라우드(Azure, AWS)나 평가판 환경으로 충분히 익힐 수 있다.
Windows Shell: CMD vs PowerShell
Windows에는 대표적으로 두 가지 쉘이 있다. 둘 다 기본기는 잡아 두는 편이 좋다.
- CMD(Command Prompt)
1987년부터 이어진 고전적인 쉘이다. 호환성 때문에 여전히 많이 보이지만 기능은 제한적이다. - PowerShell
.NET기반의 강력한 쉘이자 스크립팅 언어다. 데스크탑, 웹, 클라우드, AD 관리까지 폭넓게 다룰 수 있어서 자동화와 운영에 모두 많이 쓰인다.
PowerShell의 특징
PowerShell은 아래 특징 때문에 학습 가치가 높다.
- Cmdlet(커맨드렛)
동사-명사형태라 구조를 읽기 쉽다. 예를 들면Get-Content는 파일 내용을 읽고,Set-Date는 날짜를 설정한다. - Alias(별칭)
긴 명령어를 짧게 줄여 쓸 수 있다. 예를 들어Get-Content를cat처럼 별칭으로 호출할 수 있다. - 인메모리 실행(In-Memory Execution)
스크립트를 디스크에 저장하지 않고 메모리에서 바로 로드해 실행하는 방식도 가능하다. 이런 특성은 보안 관점에서 민감하게 다뤄진다.

