정보보안(산업)기사

13일차 : 점검 도구 및 해킹 시나리오

mamdragors 2026. 2. 25. 11:11

13일차 학습 범위인 **점검 도구 및 해킹 시나리오(PART 04 SEC 14~16)**는 지금까지 배운 개별 기술들이 실제 현장에서 어떻게 연결되어 사고를 일으키고, 이를 어떻게 방어하는지를 다룹니다.

특히 Tripwire의 동작 원리와 최근 실기 시험에서 비중이 높아진 Reverse Shell, ShellShock 취약점은 반드시 기술할 수 있어야 합니다.


1. 무결성 점검 도구: Tripwire (SEC 14)

파일이 변조되었는지 확인하는 도구입니다. 관리자가 지정한 파일의 정보를 데이터베이스에 저장해두고, 나중에 비교하여 변경 사항을 찾아냅니다.

  • 동작 원리: 시스템 내 중요 파일에 대해 해시(Hash)값을 추출하여 데이터베이스에 저장합니다. 이후 주기적으로 현재 파일의 해시값과 비교하여 다를 경우 경고를 보냅니다.
  • 핵심 파일:
    • tw.config: 점검 대상 및 방법을 설정하는 정책 파일.
    • tw.db: 파일의 초기 해시 정보가 저장된 데이터베이스 파일.
  • 암기 포인트: Tripwire는 공격을 '차단'하는 것이 아니라 **'사후 탐지(무결성 확인)'**를 목적으로 합니다.

2. 최신 해킹 시나리오: Reverse Shell (SEC 15)

일반적인 접속과 반대로, 공격당한 서버가 공격자에게 접속을 시도하게 만드는 기법입니다.

  • 왜 사용하는가?: 대부분의 방화벽은 외부에서 들어오는 접속(Inbound)은 꼼꼼히 막지만, 내부에서 나가는 접속(Outbound)은 상대적으로 허술하다는 점을 악용합니다.
  • 공격 과정:
    1. 공격자가 자신의 PC에서 특정 포트(예: 4444)를 열고 대기합니다. (nc -lvp 4444)
    2. 서버의 취약점을 이용해 서버가 공격자 IP의 4444 포트로 연결하게 만듭니다.
    3. 연결이 성공하면 공격자는 서버의 셸(Shell) 권한을 획득합니다.

3. 주요 취약점 분석: ShellShock (SEC 16)

리눅스의 기본 셸인 **Bash(Bourne Again Shell)**의 환경 변수 처리 취약점입니다.

  • 원리: 환경 변수에 함수를 정의할 때, 함수 정의 뒤에 오는 명령어를 Bash가 그대로 실행해버리는 버그입니다.
  • 위험성: 웹 서버(CGI 방식 등)가 내부적으로 Bash를 호출할 경우, 원격에서 서버 명령어를 실행할 수 있어 매우 위험합니다.
  • 확인 방법: env x='() { :;}; echo vulnerable' bash -c "echo test" 명령어를 쳤을 때 vulnerable이 출력되면 취약한 상태입니다.

🔍 실기형 핵심 체크리스트

  1. Tripwire의 핵심 가치: "파일의 내용뿐만 아니라 권한, 크기, 수정 시간 등을 해시로 비교하여 무결성을 보장한다."
  2. Reverse Shell 방어: 방화벽에서 불필요한 Outbound(Egress) 트래픽을 차단하고, nc나 python, bash 등을 통한 비정상적인 외부 연결 시도를 모니터링합니다.
  3. ShellShock 대응: Bash 패키지를 최신 버전으로 업데이트하는 것이 유일한 근본 대책입니다.

✍️ 오늘의 1분 인출 연습:

  1. 중요 파일의 해시값을 비교하여 변경 여부를 감시하는 도구의 이름은?
  2. 방화벽의 인바운드 정책을 우회하기 위해 서버가 공격자에게 먼저 접속하게 하는 기법은?
  3. Bash 셸의 환경 변수 설정 취약점을 무엇이라 부르는가?

오늘은 PART 04 SECTION 14~16을 정독하세요. 특히 Reverse Shell의 개념도를 머릿속에 꼭 넣어두세요.