시스템 점검 도구도 시간이 난다면 이거 활용해서 서버 점검을 시도해도 좋을 것 같다.
선배들이 만들고 있는 게임의 데모가 출시됐다(좀 지났지만). 영상이 올라왔길래 생각나서 적어봄

https://store.steampowered.com/app/2798330/__Dungeon_Settlers/
[Dungeon Settlers on Steam
A colony sim based dungeon crawler where you manage your expedition to build a settlement in barren land, provide food and shelter for your people, lead them deep into the merciless dungeon, overcome challenging combat by your strategy.
store.steampowered.com](https://store.steampowered.com/app/2798330/__Dungeon_Settlers/)
https://www.youtube.com/watch?v=0TtGmz-Ge_0
--- ### 1. 취약점 점검 도구- 개요
- 취약점 유형
- 네트워크 — 네트워크 장비나 기기들의 취약점부터 네트워크 구조에 대한 취약점
- 시스템 — 시스템과 관련된 계정, 권한, 파일 관리, 서비스 등의 취약점
- 웹 — 웹 브라우저나 웹 서버, 웹 프로그램의 취약점
- 취약점 점검 도구
- nessus(네서스)
- 테너블에서 개발, 배포하는 취약점 점검 도구
- 로컬 또는 원격지에서 다양한 방법을 통해 시스템, 네트워크, 웹 애플리케이션 등의 알려진 취약점에 대한 점검을 수행하며 점검을 통해 취약점의 내용과 해결 방법 제공
- nikto(닉토)
- 공개용 웹 취약점 점검 도구
- 웹 서버나 웹 기반의 응용 프로그램 취약점 점검 가능
- 웹 서버 설치 시 기본적으로 설치되는 파일과 웹 서버의 종류와 버전 등을 스캔하며 DB를 이용하여 취약한 CGI 파일 스캔
- nessus(네서스)
- 취약점 유형
- nessus
- 특징
- 클라이언트/서버 구조로 도작
- 서버에 nessus 데몬과 각종 취약점 점검 플러그인 등이 설치되며 취약점을 점검하고 결과를 조회할 수 있는 인터페이스 제공
- 클라이언트는 nessus 데몬에 접속하여 대상 시스템에 대한 취약점 점검
- 사용이 자유롭고 플러그인 업데이트 등이 용이 — 클라이언트는 GUI 형태로 취약점 점검 설정 및 결과를 확인할 수 있어 사용하기 쉽고 취약점이 공개되면 빠르게 취약점 DB가 업데이트됨
- HTML 등 여러 형태로 결과 리포트 — 모든 OS 및 장비에 대한 취약점 정보를 제공하고 TXT, HTML, PDF 등 다양한 포맷으로 결과 저장
- 클라이언트/서버 구조로 도작
- 실습
- 기본 포트 — 8834/tcp
- 특징
- nikto
- 특징
- 방대한 취약점 DB를 통해 웹 서버의 잘못된 설정, 기본적으로 설치되는 파일이나 스크립트의 존재 유무, 안전하지 못한 파일이나 스크립트의 유무 등 웹 서버에 대한 포괄적 점검 수행
- HTML, TXT, CSV 등의 형식으로 결과 저장
- 실습
- 특징
2. 무결성 점검 도구(tripwire)
- 개요
- 파일 시스템 무결성 점검 — 파일 시스템의 상태 추적 및 허가받지 않은 변경 여부를 주기적으로 점검하여 의심스러운 변화가 감지되면 이를 검사하고 복구하는 과정
- tripwire — 유닉스/리눅스 환경에서 파일 시스템 무결성을 점검하는 대표적인 도구. 오픈소스 버전과 상용 버전 존재
- 시스템 내에 지정한 중요한 디렉터리와 파일에 대한 정보를 담은 데이터베이스를 생성한 후에 tripwire를 실행할 때 새로 생성된 데이터베이스와 비교하여 그 차이점을 보고함으로써 시스템 관리자가 시스템 내에 어떠한 변화가 있는지 감지할 수 있는 도구
- 공격자가 루트킷/백도어를 설치한 후 tripwire 데이터베이스를 갱신하는 경우 공격 사실을 알 수 없음
- 동작 방식
- 최초 설정 파일에 등록된 파일 및 디렉터리의 해시값을 생성하여 데이터베이스에 저장
- 주기적으로 트립 와이어가 동작하면서 기존 데이터베이스에 저장된 해시값과 현재 각 파일 및 디렉터리의 해시값 비교
- 비교 결과 값이 다를 경우 변경 내역을 출력하여 관리자가 확인
- 실습
3. 루트킷 점검 도구(chkrootkit)
- 개요
- 루트킷 — 지속적으로 자신의 존재가 탐지되지 않도록 숨기면서 관리자 권한의 획득과 백도어 등의 기능을 수행하는 코드와 프로그램의 집합
- 많이 변조되는 실행 파일 — ls, ps, netstat, login, top, dir, du, ifconfig 등
- 초기에는 서버 장비에 설치되어 Telnet, FTP 등의 패킷을 스니핑하여 대상 시스템의 아이디와 패스워드를 획득하여 루트 권한을 탈취하는 방식
- 루트킷 — 지속적으로 자신의 존재가 탐지되지 않도록 숨기면서 관리자 권한의 획득과 백도어 등의 기능을 수행하는 코드와 프로그램의 집합
- 실습하기
- 테스트용 루트킷 실행
- chkrootkit 실행
- 루트킷의 hidden process 탐지 원리
- /proc 파일 시스템 이해하기
- 유닉스/리눅스 커널이 메모리상에 사용하고 있는 모든 자원들에 대한 정보들을 파일 형식으로 보관하는 파일 시스템
- 커널이 관리하는 프로세스 등의 자원, 커널 파라미터 등에 대한 상태 정보를 파일명으로 보관하고 있으며 물리적 디스크 영역이 아닌 메모리 영역에 존재하는 파일 시스템으로 부팅 시마다 새롭게 생성됨
- /proc/
/exe — 프로세스의 실행 파일명 및 경로를 확인할 수 있는 심볼릭 링크 파일 - /proc/
/cmdline - 프로세스를 실행한 명령어 및 전달 인자 정보를 담고 있는 파일
- 프로세스가 실행된 방식을 정확하게 파악하는 데 활용
- 탐지 원리
- 루트킷 — 숨기고자 하는 프로세스가 출력되는 부분만 제거하고 출력되도록 ps 프로그램을 만들어 타깃 시스템에 있는 정상적인 ps 프로그램과 교체하는 방식
- 루트킷 탐지 프로그램 — ps 실행 결과와 /proc 디렉터리에 있는 프로세스 정보를 비교하여 /proc에는 프로세스가 있지만 ps 실행 시 보이지 않는 프로세스 탐지
- 일반적으로 백도어를 실행한 후 실행 파일을 숨기기 위한 목적으로 위 예와 같이 실행 후 삭제하는 방식 사용
- 실행 파일이 삭제돼도 실행 중인 상태라면 메모리상에 남아있기 때문에 cp 명령을 통해 복원 가능
- /proc 파일 시스템 이해하기
- 대응 방법
- RPM(Redhat Package Manager) 명령을 이용하여 변조된 파일 확인
- rpm
- 레드햇 계열 리눅스에서 패키지를 관리하는 명령어
- rpm -Uvh <패키지 파일 이름.rpm> — 해당 패키지 신규 설치 또는 업그레이드 수행
- rpm -qf <파일 절대 경로> — 해당 파일이 어느 패키지에 포함돼 있는지 확인
- rpm -V <패키지 이름> — 해당 패키지를 통해 설치된 파일의 무결성 검사
- S — 파일 크기 변경
- M — 파일 퍼미션 변경
- 5 — MD5 체크섬 변경
- T — 파일 수정 시간 변경
- U — 소유자 정보 변경
- G — 소유 그룹 정보 변경
- D — 장치 정보 변경
- L — 심볼릭 링크 정보 변경
- rpm
- strace 명령을 이용하여 변조된 파일 확인
- strace
- 유닉스/리눅스 시스템에서 특정 프로그램의 시스템 콜과 시그널을 추적하는 데 사용하는 디버깅 도구
- 시스템 콜을 비교하여 변조 여부 확인
- strace
- 패키지 재설치
- 패키지 재설치 시 오류 발생
- —force — 동일하거나 더 높은 버전의 패키지가 이미 설치되어 있더라도 강제로 기존의 것을 삭제하고 설치
- 공격자가 변조한 실행 파일을 삭제하지 못하도록 속성(i)을 설정했을 경우 재설치 오류 발생
- 파일 속성 변경 후 재설치
- chattr 명령을 통해 i 속성 제거
- 해당 시스템을 다시 설치하는 것이 최선
- 패키지 재설치 시 오류 발생
- 리눅스 파일 속성 설정
- 파일 속성 개요
- 특정 파일 자체에 대한 허가
- 변경 불가, 쓰기 시 추가만 허용, 삭제 불가 등
- lsattr
- lsattr [파일명]
- 해당 파일의 속성 정보 확인
- i
- 읽기 전용 모드
- 내용 변경, 추가 및 파일 삭제 불가능
- a
- 내용 추가만 허용
- 내용 변경 및 파일 삭제 불가능
- 로그 파일의 경우 변경, 삭제는 못하고 추가만 가능하도록
- A
- Access Time을 변경하지 않음
- 웹사이트의 기본 페이지처럼 빈번하게 접속하는 경우 매번 갱신이 발생하는데, 해당 옵션 설정 시 부하 감소
- chattr를 통한 속성 변경
- — 속성 설정
- — 속성 제거
- 퍼미션이 있어도 속성이 설정되어 있으면 설정 불가능
- 파일 속성 개요
- RPM(Redhat Package Manager) 명령을 이용하여 변조된 파일 확인
'정보보안기사' 카테고리의 다른 글
| [정보보안기사(실기)] SECTION 15 침해 사고 유형별 시나리오 (2) (0) | 2026.07.06 |
|---|---|
| [정보보안기사(실기)] SECTION 15 침해 사고 유형별 시나리오 (1) (0) | 2026.06.26 |
| [정보보안기사(실기)] SECTION 13 보안 장비 운영 (2) (1) | 2026.06.14 |
| [정보보안기사(실기)] SECTION 13 보안 장비 운영 - Snort, iptables (0) | 2026.06.13 |
| [정보보안기사(실기)] SECTION 12 클라우드 컴퓨팅 보안 (0) | 2026.06.11 |