320x100

시험

정보유출용 악성코드 중 개인정보 악성코드 명이 뭐인가?

 

악성코드, 정보유출 중 개인정보나 브라우저에 PC, 쿠키 정보를 수집하는 악성코드가 무엇인가

 

정보유출형 ~ 쿠키 캐시를 수집하는 악성코드 명

 


책추천 : 후니의 시스코 네트워킹

 

 

드롭퍼(Dropper) 공격 방식

  • 파일 안에 악성행위를 품고 있는 것 ex)네이버지킴이가 악성행위를 하는 프로그램을 품고 있다.
  • 실행 파일 내 악성코드가 포함되어 있는 공격 방식 (↔ Loader)
  • 내부에 악성코드가 압축된 형태로 안티 바이러스 탐지 어려움
  • 주로 동적 분석 과정에서 샘플링 후 분석 가능

파일리스(Fileless) 공격 방식 (시험)

  • 파일이 없이 공격을 한다.
  • 안티 바이러스와 같은 보안장비를 우회하기 위한 공격 방식
  • 파일이나 흔적이 남아있찌 않아 분석 어려움
  • 악성코드 주로 메모리에 존재하여 휘발성 데이터 수집 후 분석
  • (워터링홀 공격방식 또는 이메일 공격방식, 스팸, 악성URL 등을 이용해서 악성코드를 배포한다(다운로드를 받게 유포해서 다운로드하면 일차적으로 자바나, 비쥬얼베이직스크립트 등의 형식의 파일로 공격자가 행위를 한다. → 스크립트 파일은 파일 스크립트에 저장이 되는 것인데, 침해사고 서트 팀에서 조사하다보면 흔적
  • 결국에 공격 payload 가 파일로 남지 않아서 파일리스 라고 불림

문서형 APT 공격 방식

  • 문서형 APT 공격은 프로그램안에 스크립트가 녹아져있다.
  • 코드 난독화 기법을 이용하는 이유는 공격자가 보안장비를 우회하기 위한 목적이 가장 크다. (보안솔루션, 일반사용자 PC에 저장되어있는 백신프로그램, 안티바이러스 프로그램 등)
  • word의 ‘콘텐츠사용’ 버튼 매크로를 사용할지 말지를 물어보는것 → 누름과 동시에 악성코드가 동작을 하면서 PC 가 감염이 된다. (분석가들은 문서 파일에 있는 매크로를 분석해야한다.)
  • 악성코드가 실행파일(.exe)가 아닌 문서 파일(.hwp, .doc, .xlsx 등)로 유포
  • 문서 내부 동작 매커니즘으로 악성코드가 동작하는 방식
  • MS Office Macro, Hwp OLE, PDF Script 등
  • 주로 악성코드를 불러오는 Loader 역할로 활용

 

 


SAMPLE 3

네이버알리미 속성을 들어가서 분석

악성코드 중 1MB 가 넘어가면 dropper 의 가능성이 높겠구나 라고 생각

Windows 32비트에서 구현 / C/C++ 언어 구동

문자열 참고하기

시간정보는 얼마든지 조작이 가능

 

 

평판조회 or 구글링을 통해 해시값을 넣고 조회할 수 있다. 분석자료 확인

 

 

 

추가적으로 생성되는 .exe 파일들은 별도로 샘플링을 해서 스냅샷으로 초기화면으로 돌린 화면에서 어떠한 행위를 하는지 돌려봐야한다.

 

 

왜 실행파일이 아닌 text 파일이 있지? → exe 파일이 생성을 했을 가능성이 있다.

날짜, 응용프로그램, 키보드입력도 쿠킹을 해서 메모장에 저장이 된다.

 

 

C2 server 실행과 동시에 안올라왔을 가능성이 있어서 와이어샤크를 통해 네트워크를 주시하면

시간적인 제한이 풀리면서 C2 서버로 통신하는 경우가 있다. 그런것을 찾아 내야함

 

 


피싱 메일 분석 실습

이메일 헤더

  • 메일 발송자의 위치에서부터 시작하여 각 서버를 거쳐 최종적으로 수신자에게 오는 동안의 과정을 기록
  • 분석가는 해커가 발송한 메일을 역추적하기 위해 반드시 확인 필요
  • 이메일 헤더에는 다양한 필드들이 존재

From - (공격자가 얼마든지 조작이 가능)

  • 보내는 사람 입력, 임의의 주소라도 적지 않을 경우 메시지 작성 불가
  • 임의의 주소를 적으면 되기 떄문에 해커는 자신의 주소가 아닌 가짜 주소를 입력

이메일 헤더 필드

Received - 서버에서 통신을 위한 Received header는 조작할 수 없다.

  • 표준양식으로 작성
  • 발신지서버 by 수신지서버 with 메일프로토콜 id 문자열 for 수신자 메일주소
  • 해커가 최초 공격지 서버일 가능성이 가장 크다.

Received 는 제일 하단에서부터 역순으로 분석을 한다.

Return-Path (신뢰할 수 있다 - 실제 주소가 적혀있을떄 예방주소에 도메인 주소를 등록하면 된다)

  • 메일 전송 실패 시 반송되는 주소, 주로 **송신자(해커)**의 메일 주소를 입력

X- 헤더 (비표준 헤더)

  • 정해져있지 않은 필드
  • 실제 발송IP, 실제 발송 계정, 발송 응용프로그램명 등 중요한 단서 포함
  • 해외 메일서버에서 암묵적으로 메일서버를 구현할때 어떻게 메일서버에서 불러오는지 약속을 했음

Return-Path:

  • 이메일이 배달되지 않았을 때, 반송 메일이 어디로 보내져야 하는지를 나타냅니다.일반적으로 발신자의 이메일 주소가 포함되어 있으며, 이메일이 수신자에게 도달하지 못했을 경우 이 주소로 오류 메시지가 전송됩니다.

Received:

  • 이메일이 서버를 통해 전달되는 경로를 기록합니다.각 이메일 서버가 이메일을 수신할 때마다 추가되며, 보통 이메일이 발신자에서 수신자에게 도달하기까지 거친 서버의 정보가 포함됩니다.이 정보를 통해 이메일이 어떤 경로로 이동했는지 추적할 수 있습니다.

X-Session-IP는 이메일 헤더의 확장 필드 중 하나로, 특정 세션에서 클라이언트의 IP 주소를 나타냅니다. 이 정보는 주로 웹메일 서비스나 특정 이메일 클라이언트에서 사용되며, 다음과 같은 목적을 가질 수 있습니다:

사용자 추적: 이메일이 발송된 세션의 IP 주소를 기록함으로써, 발신자의 위치나 사용 환경을 추적할 수 있습니다.보안: 의심스러운 활동이 감지되었을 때, 해당 세션의 IP를 확인하여 추가적인 조치를 취할 수 있습니다.분석: 이메일 서비스 제공자가 사용자의 활동을 분석하는 데 도움을 줄 수 있습니다.

이 헤더는 표준 이메일 헤더에는 포함되지 않지만, 특정 서비스나 애플리케이션에서 추가적으로 사용될 수 있습니다.

IoC 침해지표

[국민건강보험공단] 새로운 전자문서가 도착했어요.

 

[네이버]새 인증서를 기기에 저장했습니다.

썬더버드로 열어봤을때 인증서링크랑 썬더버드의 링크가 일치하지 않는다.

이것은 악의적 사용자가 의도적으로 바꾼 흔적

 

 

[알림]스팸메일 대량 발송

 

esrc.2kool4u.net 을 평판조회해야함

 

발신지 주소를 nslookup 커맨드를 사용해서 IP 주소를 뽑고 국가를 확인 할 수 있다.

 

 


SAMPLE 4

 

파일 시그니처

http://forensic-proof.com/archives/300

mal2.docx 를 HxD 에 올려놓았는데 시그니처가 아래와 같이 나왔다

 

파일 시그니처 홈페이지를 통해 검색해보았더니, zip 파일로 분류가 된다는 사실을 알았다.

 

그렇다면 파일 확장자를 zip 으로 변경해서 압축을 풀 수 있다는 말

 

실제로 반디집을 통해 확장자를 변경해서 풀리는 것을 확인

 

실제로 반디집을 통해 확장자를 변경해서 풀리는 것을 확인

 

 

개발도구에 매크로코드를 보여주기 싫어서 암호를 걸은 것은 편법을 이용해 풀 수 있다.

하지만 워드 파일 자체의 암호가 걸려있는 것은 풀 수 없다.( 현존하는 프로그램으로 풀 수 없다)

 

DPB 는 보안을 인증하는 부분 - ms word 영역에서 암호가 되는 영역임 (해쉬화된 암호가 나오는 곳)

우회를 하기 위해 코드 패치를 한다

 

예를들어 HxD 프로그램을 통해 DPB를 검색하고 DPA 등으로 바꿔 코드패치를 하고 저장을 한다.

 

 

 

 

코드 패치를 한 이후 파일을 전체 묶어서 다시 doc 파일로 만든다.

파일 전체를 선택해서 압축을 다시 한 다음 확장자명을 doc로 변경하면 패치 끝

 

 

개발도구 → visual basic 들어가면 악성 매크로를 확인 할 수 있다.

300x250
320x100

시험문제 (악성코드 행위중)

악성파일, 모든 파일에서 타임스탬프는 얼마든지 조작이 가능하다. → 신뢰할 수 없다.

타임스템프 영역은 악성코드 제작자가 분석을 방해하기 위해서, text 값을 가공할 수 있다.

 


 

 

- 전세계 악성코드 공용 Password
  > infected

 - 가상 OS 환경 내 Windows Defender 비활성화 방법
  > Windows 보안 -> 바이러스 및 위협 방지 설정 -> 설정 관리 -> 실시간 보호 끄기

 - 악성코드 샘플링 사이트 정보
  > https://bazaar.abuse.ch/
  > https://app.any.run/ (기관메일만 가입 가능)

 

 

 

악성코드 분석방법 (어떠한 행위가 악성인가?)

  • 코드 스크립트에 백신프로그램을 체크하는 영역이 있을경우 (백신 프로그램을 체크하는 행위 자체가 악성코드의 주요특징) - 내 파일 자체가 백신에 걸리는지 안걸리는지 체크하기 위해 백신 체크 기능이 악성코드에 있다.
  • 어떠한 특정 서버에 접속을 시도하면 (이 서버에 대해 평판조회를 한다) - 악성코드와 밀접한 관련이 있을 수 있다.

 


 

정적 분석 도구

Detect It Easy 

  • 실행 파일의 구조와 정보를 분석하는 데 사용

 

HashMyFiles

  • 파일의 해시 값을 생성하고 관리하는 간단하고 유용한 도구입니다. 이 프로그램은 다양한 해시 알고리즘을 지원하여 파일의 무결성을 확인하고, 파일 비교 및 관리에 도움을 줍니다.
  • 해시 값을 복사해서 아래와 같은 사이트를 통해 평판을 조회할 수 있다.

https://www.virustotal.com/gui/home/upload

 

pestudio

  • Windows 실행 파일(PE 파일)을 분석
  • 악성코드 분석 및 보안 연구에 유용하며, 파일의 구조와 다양한 속성을 검사할 수 있습니다.

 

Autoruns

  • 시스템에서 자동으로 실행되는 프로그램과 서비스를 관리하고 분석하는 데 사용됩니다. 이 도구는 시작 프로그램, 서비스, 드라이버 등 다양한 항목을 확인할 수 있습니다.

 

 

Logon TAB

  • 해당 악성코드가 이 영역에 등록이 되어 있는지 레지스트리 영역을 확인한다.

 

Services TAB

  • 악성코드가 프로그램 지속성을 유지시키기 위해 service 를 등록했을 경우 확인 가능

 

Scheduled Tasks

  • 작업 등록을 했는지 확인가능

 

 

PEView

  • Windows 실행 파일(PE 파일)의 구조를 분석하고 시각화하는 도구

 

 

파일의 최초 생성 시점, 악성코드 컴파일된 시점 (시간정보) 확인 → 시간정보는 PEview 에서 아래와 같이 확인가능

 

 

 


동적 분석 도구

 

Process Explorer

  • Microsoft의 Sysinternals Suite에 포함된 강력한 동적 분석 도구로, 시스템에서 실행 중인 프로세스와 그들의 활동을 모니터링하고 관리하는 데 사용

 

아래와 같이 explorer를 켜놓은 상태에서 악성코드 의심 프로그램을 실행시키면 분석이 진행된다.

Autoruns(ex. 악성코드) 를 분석하기 위함

 

 

Properties

악성파일이 실행된 경로, TCP/IP 해당 프로세스가 네트워크 행위가 일어나는지, 프로세스가 동작을 했을때 정보수집을 해서 외부로 보낸다고 가정하면 TCP/IP에 정보가 나옴, String 을 통해 프로그램이 가지고 있는 문자열 정보도 확인 할 수 있다. , Thread ID 도 확인 가능

 

 

"Handles"는 현재 실행 중인 프로세스가 열어둔 시스템 리소스의 참조를 나타냅니다. 핸들은 파일, 레지스트리 키, 동기화 객체 등 다양한 리소스를 관리하는 데 사용됩니다.

Handles를 통해 어떤 리소스가 열린 상태인지, 어떤 프로세스가 해당 리소스를 사용하고 있는지를 확인할 수 있습니다. 이를 통해 시스템의 자원 사용 현황을 모니터링하고 문제를 진단하는 데 유용

 

"DLL"은 "Dynamic Link Library"의 약자로, 윈도우 운영 체제에서 여러 프로그램이 공유할 수 있는 라이브러리 파일입니다. DLL 파일은 코드, 데이터, 리소스를 포함할 수 있으며, 프로그램이 실행될 때 필요할 때 로드되어 사용

 

 

 

Filemonitor

  • 시스템에서 파일과 디렉토리에 대한 실시간 활동을 모니터링하는 도구입니다. 이 프로그램은 파일 생성, 수정, 삭제 등의 이벤트를 기록하여 사용자가 파일 시스템의 변화를 추적하고 분석할 수 있도록 돕습니다.
  • 실시간으로 일어나는 파일 시스템에 대해서 관찰을 할 수 있다.

 

 

 

TCPView = = DOS모드에서 명령어 netstat 를 치면 동일한 명령을 할 수 있음

  • Microsoft의 Sysinternals Suite에 포함된 도구로, 시스템에서 현재 열려 있는 TCP 및 UDP 포트의 상태를 실시간으로 모니터링하고 관리하는 프로그램입니다. 이 도구는 네트워크 연결과 관련된 정보를 쉽게 시각화하여 사용자가 네트워크 활동을 이해하고 분석할 수 있도록 돕습니다.

 

아래와 같이 실행된 프로그램의 정확한 경로를 파악 할 수 있음

 

 

ProcessMonitor (동적분석에서 가장 많이 사용)

 

  • Process Monitor는 Microsoft의 Sysinternals Suite에 포함된 강력한 시스템 모니터링 도구로, 파일 시스템, 레지스트리, 프로세스 및 스레드 활동을 실시간으로 추적하고 기록하는 기능을 제공합니다. 이 도구는 시스템의 동작을 깊이 있게 분석하고 문제를 진단하는 데 유용합니다.
  • 특정 프로세스만 필터를 걸 수 있다.
  • 진한 아이콘은 동작중 / 흐릿한 것은 종료된 프로세스

 

 

 

 


실습

 

SAMPLE 1 

 

  • 평판조회를 통해 각 각의 파일을 올리고 악성코드가 있는지 확인
  • install.bat 파일과 drop.hta 에서 평판조회에 악성코드가 나옴

 

 

Detect It Easy 프로그램을 통해서 plain text 파일인 것을 확인

 

메모장에 drop -> 코드 분석

 

 

이후 ProcessMonitor 실행 -> precess tree 로 메모장에서 본 코드가 어떻게 동작하는지 확인

 

 

 

"IOC 서버"는 일반적으로 "Indicator of Compromise"와 관련된 보안 분야에서 사용됩니다. IOC는 사이버 공격이나 보안 침해를 식별하는 데 사용되는 데이터 포인트를 의미합니다. IOC 서버는 이러한 지표를 수집, 저장 및 분석하는 시스템

 

DLL 파일을 최종적으로 받기 위한 최종적으로 거치는 LOADER 파일이었음.

 

 


SAMPLE 2

동일한 방법으로 평판조회 진행 

Dropper 관련 악성코드라는 것을 확인 

 

 

Dropper

드로퍼(Dropper)는 악성코드의 일종으로, 다른 악성코드를 시스템에 설치하거나 배포하는 역할을 하는 프로그램입니다. 드로퍼는 일반적으로 다음과 같은 기능을 수행합니다:

악성코드 배포: 드로퍼 자체는 비교적 작고, 다른 악성코드(예: 트로이 목마, 백도어 등)를 다운로드하거나 설치합니다.은폐: 드로퍼는 종종 보안 소프트웨어의 탐지를 피하기 위해 여러 가지 방법으로 은폐됩니다. 예를 들어, 정상적인 파일로 위장하거나 암호화된 상태로 존재할 수 있습니다.시스템 침투: 드로퍼가 실행되면, 지정된 경로에 악성코드를 설치하거나 사용자 몰래 실행할 수 있습니다.

 

 

동적분석을 위해 가상환경에서 악성코드 의심 파일 실행 후 Explorer를 통해 어떤 변화가 있는지 확인

Setup.tmp 파일이 설치중에 떠올랐다가 사라지는 것을 확인

 

svchost 파일이 악성코드로 판별

 

 

이론

  • 악성코드 전파과정 80% 이상은 이메일 통해 전파된다.
  • 워터링홀 (홈페이지를 통한 전파과정) , 홈페이지만 접근해도 홈피에서 다운로드 된 파일이 스크립트로 동작을 해서 사용자 PC 에서 돈다.
  • 공급망 사슬 공격 (침투 후 공격 대상자들에게 패치 위장 파일 유포), 소프트웨어 개발 과정 오염, 코드 서명 인증서 탈취 등 - 개발서버, 공급망 서버에 침투해서 악성코드를 유포하는 행위
300x250
320x100

시험

  1. 자산 관련 (자산 위협 취약성 ? )
  2. 위험평가는 안들어감

 

 

개인 정보보호 = “개인 연관된, 개인이 생산한 중요한 정보의 보호 = 프라이버시 

기업 정보보호  = “기업 연관된, 기업이 생산한 중요한 정보의 보호 = 기업비밀 

국가 정보보호  = “국가 연관된, 국가가 생산한 중요한 정보의 보호 = 국가기밀 

 

보안 컨설팅 프로젝트는 기업, 기관의 법률 준수 의무, 보안 사고 이슈, 상위기관 보안감사 등의 이유로  진행

 

정보보호컨설팅서비스영역> 주요정보통신기반시설취약점 분석 및 평가

  • 취약점 분석 평가란, 악성코드 유포, 해킹 등 사이버 위협에 대한 주요정보통신 기반시설의 취약점을 종합적으로 분석 및 평가.개선하는 일련의 과정

 

컨설팅 업무 절차

고객사 환경분석, 이해관계자 파악

  • 사업추진 배경 확인내부사고, 지시, 법적필수 
  • 사업 연관 이해관계자 파악 – Keyman 
  • 고객사 보고 문화, 보고서 스타일 파악 
  • 프로젝트 주관부서와  프로젝트담당자의 내부 부서와 관계 
  • 주관부서, 담당자의 권한정도 
  • 프로젝트 결과의 공유&보고 범위현업, 임원  

 

정보보호관리체계 (Information Security Management System)

 

정보통신망의 안전성 확보를 위하여 수립·운영하고 있는 기술적·물리 보호조치 종합적인 관리체계에 대한 인증제도  

정보 자산의 비밀을 유지하고 결함이 없게 하며 언제든 사용할 있게 보호 절차와 과정 

 

시스템 및 서비스 보안관리

  • 보안시스템운영 : Firewall, VPN, IPS, NAC, 서버보안, DB보안, 유해차단, APT방어, 메일보안, DRM, DLP  
  • 클라우드 보안 : Cloud 서비스에서 제공하는 보안설정 또는 서비스를 사용 
  • 공개서버 보안 : 홈페이지, 메일서버 DMZ 공개된 서비스를 보호하도록 설정(사설IP설정, WIPS, MAIL보안 ) 
  • 전자거래 핀테크보안 : 전자거래(결제, 송금 ) 대한 데이터 무결성 조치(데이터 변조체크, 암호화 ) 
  • 정보전송 보안 : 전송되는 구간에 데이터 암호화하여 전송 (서비스에 SSL 적용) 
  • 업무용 단말기기 보안 : 내부사용자가 개발, 서비스운영 등으로 사용하는 PC/노트북 등의 보안설정 (NAC, DRM, DLP) 
  • 보조저장매체 관리 : 업무용단말기에서 USB 사용하여 운영시스템에 접속하여 데이터를 빼내지 않도록 관리 (USB 차단, 보안USB사용) 
  • 악성코드 통제 : 업무용단말기, 서버 등에 백신설치 (PC백신, 서버백신, Viruswall) 

위험평가 

ISMS 관리체계 수립 과정의 필수 과정으로 정보자산 서비스 보안 측면에서 발생할 있는 부정적인 영향을 파악하여 효과를 최소화시키는 일련의 과정

 

  • 베이스라인 접근법 : 모든 시스템에 대해 표준화된 보안대책의 체크리스트 형태로 점검
  • 비정형 접근법 : 경험자의 지식을 사용하여 위험분석을 수행
  • 상세 위험분석 : 정립된모델에 기초하여 자산분석, 위협 분석, 취약성분석의 각단계를 수행하여 위험분석을수행
  • 복합 접근법 : 고위험영역을 식별하여 상세 위험 분석을 실시하고다른영역에 대해서는 베이스 라인 접근법을 사용

위험한 수준을 정량적으로 산정하기 위하여  취약점 심각수준, 자산의 중 요도,  위험의 발생가능성을 정량적으로 평가

 


 

KPI는 "Key Performance Indicator"의 약자로, 조직이나 개인의 성과를 측정하고 평가하는 데 사용되는 지표

  • CI (Customer Identification):CI는 고객 식별을 위한 고유한 값으로, 주로 금융기관이나 서비스 제공자가 고객을 식별하기 위해 사용합니다. CI는 일반적으로 고객의 개인정보를 보호하기 위해 주민등록번호 대신 사용되며, 특정 알고리즘을 통해 생성된 고유한 식별자입니다.
  • DI (Data Identification):DI는 데이터 식별을 위한 값으로, 특정 데이터나 정보를 식별하는 데 사용됩니다. DI는 데이터베이스에서 특정 레코드를 식별하거나, 데이터의 무결성을 유지하기 위해 사용될 수 있습니다.

Oracle 데이터베이스의 기본 포트 번호는 1521입니다.

 

제 6조 (개인정보암호화)

  1. 주민등록번호
  2. 여권번호
  3. 운전면허번호
  4. 외국인등록번호
  5. 신용카드번호
  6. 계좌번호
  7. 바이오정보 →>> 생체인식정보로 변경

정보보호산업의 진흥에 관한 법률 시행규칙

  1. 학사이상의 학위, 기사 또는 정보보호 관련 국내외 자격을 취득한 사람 → 초급인력으로 구분

File Detection System (파일 감지 시스템)

 

그룹웨어(Groupware)는 팀이나 조직 내에서 협업을 촉진하기 위해 설계된 소프트웨어

 

형상 관리(Configuration Management, CM)는 소프트웨어 개발 및 IT 시스템 관리에서 중요한 프로세스로, 시스템의 구성 요소와 그 변경 사항을 체계적으로 관리하는 방법

 

OLAP(Online Analytical Processing)는 데이터베이스 기술의 일종으로, 대량의 데이터를 신속하게 분석하고 복잡한 쿼리를 수행할 수 있도록 설계된 시스템

 

WAS(웹 애플리케이션 서버, Web Application Server)는 웹 애플리케이션을 실행하고 관리하는 서버 소프트웨어입니다. WAS는 클라이언트(주로 웹 브라우저)와 데이터베이스 간의 중개 역할을 하며, 웹 애플리케이션의 비즈니스 로직을 처리하고, 사용자 요청에 대한 응답을 생성합니다.

 

UPS(uninterruptible power supply) is a device that provides backup power to electronic equipment in case of a power outage or fluctuation.

 

위탁 → 수탁(위탁을 받은회사)

 


실습

시나리오를 참고하여 자산중요도 평가 보고서 작성

 

자산중요도는 confidentiality, integrity, availability 로 구분지어 평가

 

중요도 평가의 지표는 아래와 같다.

기밀성 자산이 유출되는 경우 회사에 막대한 금전적 손실이 발생할 수 있는 경우 3
자산소유자인 해당부서 또는 담당자만이 접근 및 관리 가능한 자산
자산이 유출되는 경우 회사에 상당한 금전적 손실이 발생할 수 있는 경우 2
자산소유부서/담당자 이외 관련부서 등 회사 조직 내부에 국한하여 접근 및 열람이 가능한 정보를 가지고 있는 자산
자산(정보)이 사외로 공개되어도 관계없거나 손실이 경미한 경우 1
회사 조직 외부인이 접근 및 열람이 가능한 정보를 담고 있는 자산
해당 자산(장비)에 별도 정보가 기록되어 있지 않거나, 공개되어도 무방한 경우
무결성 자산(정보) 변조 시, 업무수행 또는 서비스에 막대한 장애를 유발하거나 회사에 중대한 금전적 손실을 입히는 경우 3
자산(정보) 변조의 가능성이 높고, 변조 시 데이터의 무결성을 검증하기 힘든 경우
해당 자산 정보에 대한 실시간 백업이 이루어지지 않아, 원래의 정보를 복구하기 힘든 경우
자산(정보) 변조 시, 업무수행 또는 서비스에 부분적인 장애를 유발하거나 상당한 금전적 손실을 입히는 경우 2
데이터 변조의 가능성은 있으나, 데이터 변조 시 무결성 검증이 가능한 경우
임의의 무결성 검증 방법을 통해, 일정시간 내에 정보의 무결성을 복구 가능한 경우
자산이 변조되어도 업무 수행에 미치는 영향이 미흡한 경우 1
자산에 포함된 정보의 변조 가능성이 희박하고, 정보 변조 시 무결성 검증이 용이한 경우
가용성 자산(정보)의 가용성 훼손 시, 업무수행 또는 서비스에 중대한 장애를 유발하거나 회사에 막대한 금전적 손실을 입히는 경우 3
해당 자산이 사용 불가능할 때, 대체(백업) 자산이 없어 장기적인 업무 중단이 발생하는 경우
연중 24시간 무 중단 운영되는 자산(장비)으로서, 장애발생시 3시간이내 복구되어야 하는 경우
해당 자산(장비)에 대한 장애 또는 침해사고 발생시 직접적인 서비스 중단을 야기하는 경우
해당자산이 사용 불가능할 때 대체 자산을 투입하기까지 단기적인 업무장애가 발생하는 경우 2
연중 24시간 무 중단 운영되는 자산(장비)으로서, 장애 발생 시 24시간 이내에 복구되어야 하는 경우
장비 장애로 인하여 서비스 중단은 발생하지 않으나 성능에 영향을 미치는 경우
해당 자산이 사용 불가능할 때, 대체 자산을 즉시 투입하여 업무장애 발생 가능성이 낮은 경우 1
연중 24시간 무 중단 운영되는 자산(장비)으로서, 장애 발생 시 수일 이내에 복구되어야 하는 경우
장비 장애 시 서비스 중단 또는 성능 저하에 직접적인 영향을 미치지 않는 경우
백업 장비의 경우
300x250
320x100

# 시험 출제 
1. 계정 인증
    - 명령어 (뭘 하려면 뭘 확인해야 한다 객관식)
2. file 및 디렉터리 관리에서 특정 키워드 놓고 뭔지
    권한 확인 (객관식 낮은 난이도)
3. 서비스 관리
   - 아파치(난이도 중)
   - 오늘 강의를 제대로 들었다면 충분히 풀 것
   - 객관식
4. 서비스 관리 (주관식)
   - sendmail
5. 환경 분석(주관식)
   - 난이도 상

 


world writable : 타 사용자에게 쓰기권한이 부여된 파일을 의미 

 

 

 

 


- 컨설팅을 하던 진단을 하던 다 적용되는 내용이니 복습으로 숙지 요망
- 취약도 레벨 상은 1달 이내(시스템 진단, 인프라)
  - os 구성은 1달 이내 못함
    - 데이터베이스 암호화 
    - 복호화 하고 작업해야 함 
    - 보통 작업기간 1달 잡음
  
- 웹 api는 중요 취약점 _ 일주일 이내(특별한 케이스에선 즉시)
    - 금액, 개인정보
    - 웹 migration
    - back,front source code, 버전 정보, 

# 정리(추가 기재 필요)
- VLAN

## U-35
ls -al /etc/httpd/conf.d
가이드에는 include에 대한 부분은 언급이 안되어있습니다

![img.png](img.png)

## U-36
```
[root@localhost ~]# ps -ef | grep "httpd"
root      2171     1  0 Aug28 ?        00:00:09 /usr/sbin/httpd
apache    2736  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2737  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2738  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2739  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2740  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2741  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2742  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2743  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
root      8116  8053  0 00:54 pts/0    00:00:00 grep httpd
```

- 불특정 다수가 서비스를 핸들링 함은 위험
- 필요한 권한만 허용
- root 계정은 booting script 때문에 먼저 구동

cat /etc/httpd/conf/httpd.conf | grep "User\|Group"| grep -v "#"
- 로그인이 불가능하도록 쉘 제한이 필수라는 항목에 대하여
    - cat /etc/passwd | grep apache
        - apache:x:48:48:Apache:/var/www:/sbin/nologin
        - 로그인 비허용
## U-37
- 웹 서비스 상위 디렉토리 접근 금지
- 이상적인 웹 서버는 세션값을 활용한 상,하위 이동
- 세션값 없이 이동을 하면 매번 id/pwd 확인 // 이를 강제하는 항목
### AllowOverride None


## U-38 
- Apache_home을 설치디렉토리
- 소스 디렉토리도 확인해야 합니다
- find /etc/httpd/ -name "htdocs" -exec ls -al {} \;
- find /etc/httpd/ -name "manual" -exec ls -al {} \;
- find /etc/httpd/ -name "egi-bin" -exec ls -al {} \;
- find /var/www/ -name "htdocs" -exec ls -al {} \;
- find /var/www/ -name "manual" -exec ls -al {} \;
- find /var/www/ -name  "egi-bin" -exec ls -al {} \;

## U-39
-  cat /etc/httpd/conf/httpd.conf | grep -C7 FollowSymLinks | grep -v "#"
- 3가지 링크의 followsymlinks가 활성화 되어있음 (진단서버에서는)

## U-40
- 파일 업로드 및 다운로드의 사이즈 제한 여부 점검
- OWASP Top 10
  - 다운로드의 가장 큰 취약점은 경로에 대한 노출
  - 인프라에서는 사이즈 제한으로 
- cat /etc/httpd/conf/httpd.conf | grep "LimitRequestBody"

### 
업로드 다운로드 가능 부분은 해당 경로뿐이고 
확장자 검증을 통해 업로드 다운로드 부분을 검증하고 있다
    라고 말하면 양호
### 
인프라베이스는
설정여부뿐만아니라 동적어플리케이션도 점검해야 하는 항목임을 숙지

## U-41
- 웹 서버의 루트 디렉터리와 OS의 루트 디렉터리를 다르게 지정하였는지를 점검
- cat /etc/httpd/conf/httpd.conf | grep DocumentRoot | grep -v "#"
- Default 디렉토리를 사용하는 경우 상위 디렉토리의 이동이 가능한 경우 Root까지 이동이 가능할 수 있기에 변경 권장

## U-60
- 원격 접속 시 SSH 프로토콜을 사용하는지 점검
- telnet과 ssh의 차이점
  - 인증 여부
### 실습


## U-63
- FTP USR의 권한을 확인하는 항목

## U-64
- ftpusers 파일 root 계정 포함 여부
- 다른 계정이 추가되어 있다면 인터뷰 받아야 함
  - 인터뷰의 가장 큰 목적 : 증적
### ISMS-P
- 정보자산에 대한 취약점 진단 : 취약점 진단이 ISMS-P에서 하는 유일한 일
  - 나머지는 컨설턴트가 수행
- 컨설턴트는
  - 위험도 평가 보고서
  - 조치 계획서 수립

## U-65
-  at : 단일 예약 작업

## U-66
- SNMP 서비스 활성화 여부 점검
- 장비 진단에서 SNMP 버전, Community string
### 네트크 가상머신 툴
- CISCO packet tracer
### 실습
- Community String값은 default 값을 모두가 알고 있기에 반드시 수정 필요
  - 권한 2가지 : Read, Write
  - SNMP는 가지고 있는 정보만 던져주면 되니까 RO만 있어도 됨(ReadOnly)

SNMP 000000000000000버전 1,2는 취약점 존재 -> 버전 3 채택 필수

### VLAN
- VLAN 왜 사용할까
- L2 L3는 스위치
- L4는 라우터 왜 사용할까
  - 경로 전달, 라우터를 백본이라고 함
  - 1U (네트워크 렉, 나사가 들어가는 3개의 열을 1U라고 함)
  - 8U는 나사 라인이 24개
- VLAN이란 ? 
  - 정리 요망 (~에서 ~을 나누어 놓은 것(기억안남))

## U-67
- SNMP Community String 복잡성설정 여부 점검

## U-68
- 저희는 이걸 배너라고 해요
- 로그인을 할 때 위험성을 알려주는 것
- 목적
  - 버전정보, 어떤 플랫폼 사용하는지 노출 X
  - 사회공학적 기법 : 경고가 붙어있는데 출입한 경우는 처벌의 수위가 달라집니다.
### 로그인이 가능한 서비스
- Telnet, ssh, sendmail, postfix
- ps -ef | grep "telnet\|ssh\|sendmail\|named\|ftp"
```shell
[root@localhost ~]# ps -ef | grep "telnet\|ssh\|sendmail\|named\|ftp"
root      1887     1  0 Aug28 ?        00:00:00 /usr/sbin/sshd
root      8049  1887  0 00:43 ?        00:00:04 sshd: root@pts/0
root      8584  8053  0 04:10 pts/0    00:00:00 grep telnet\|ssh\|sendmail\|named\|ftp
[root@localhost ~]# cat /etc/motd
TEST Server 접근시 허용된 계정만 접근이 가능하며
그외 비인가된 계정은 접근하실 수 없습니다.
```
- named는 DNS 

#### 
- 최신 보안 패치는 버전 커버리지와 보안 취약점을 계속해서 확인해야 합니다
- 보안뉴스 꼭 챙겨보길
  - cv 주요 취약점은 계속해서 발생합니다
  - Rocky OS << 새로 나오면 새로 가이드 작성
## U-69
- NFS의 설정파일은 exports
- NFS 접근제어 설정파일에 대한 비인가자들의 수정제한 여부 점검
## U-70
- smtp 서비스 사용시 crfy, expn 명령어 사용 금지 설정 여부 점검
- /etc/mail/sendmail.cf
  - O PrivacyOptions - (noexpn,novrfy 또는 goaway)

## U-71
- 웹 페이지에서 오류 발생 시 출력되는 메시지 내용 점검
-  cat /etc/httpd/conf/httpd.conf | grep "ServerTokens\|ServerSignature"
- ServerTokens
- SiverSignature
- 키워드 prod로 하면 Apache로 나옴
  - Apache도 보여지지 않고 싶으면 ? 
    - mod security 모듈 설치 후
    - 설정 파일에 SecRuleEngin 등 설정 파일을 변경하면
    - Custumize된 값으로 표시
## U-42
- 시스템에서 최신 패치가 적용되어 있는지 점검
- 주요하게 CV취약점이 발생되는 데몬을추려서 버전확인 필요
### 
- openssh
- bash
- named
  - bind 취약점 발생 가능
- glibc
- 로그인 가능(인증 인가 서비스 거부 공격 가능)
  - ftp
  - sendmail
  - openssl
    - 인증서 적용을 하기 위해 필수로 필요한 패킷
    - https
###
- 현재 구성된 서버의 OS가 "CentOS 6.9" 버전으로 "XXXX년 XX월 XX일" 기준으로 EOS(End Of Service)되어 CVE 주요 취약점이 발생될 수 있는 필수 데몬(openssh, glibc, openssl 등)의 최신 패치를 적용할 수 없는 상태입니다.
- major 버전, 6.9 _ 6 이 바뀌면 업데이트 못함
- 데이터 부분 다 백업하고 서버업데이트 후 migration해야 합니다
###
- ad : active directory
  - 사용자와 컴퓨터 그룹이 존재
###
- 언제까지 조치하겠다는 내용 필수
- 심사는 올해만 하고 끝이 아니라 최초진단을 3년 이내로 다시 받게 곧 변함
- 신규 서버의 구축 완료기간, Data Migration 완료 기간을 산정해서 보안담당자에게 확인을 받고 이를 결과보고서 내 Comment로 기입해야 함

## U-43
- 로그의 정기적 검토 및 보고 여부 점검
- rsyslog의 로그는 크게 2가지 
  - systemlog
  - sulog
- ls -al /var/log
- log를 서버에 함께 저장하면
  - tracing이 안되며
  - 무결성이 훼손된다
- 가이드에 로그 분리와 관련된 내용은 명시되어있지 않음
### 알고 계세요 
- 1. 로그 저장에 대한 최소 보관 기준(최소 6개월)
- 2. 로그를 시스템 및 서비스 내 보관하지 않고 별도 공간보관하고 있는지 유무 확인
- 3. 로그에 대한 정기적인(Monthly) 검토 및 감사를 통해 안전하게 관리하고 있는지 유뮤확인
- 4. 별도 공간에 보관중인 로그 및 시스템/서비스 내 보관 중인 로그를 타사용자가 수정할 수 있는 권한이 있는지 유무
### edr 솔루션

## U-72  
- 내부 정책에 따른 시스템 로깅 설정 적용 여부 점검
- 정책이라 함은 ? 
  - Emergency [emerg]
  - alert [alert]
  - 등
    | 우선순위 | 심각도 | 설명                                                                  |
    |---|---|---|
    | 4 | Emergency | 매우 위험한 상황으로 즉각적인 조치가 필요함.                                 |
    | 3 | Alert     | 즉각적인 조치를 취해야 할 상황으로 시스템에 심각한 영향을 미칠 수 있음.            |
    | 2 | Critical  | 하드웨어 또는 소프트웨어에 심각한 오류가 발생하여 시스템이 불안정한 상태임.        |
    | 1 | Error     | 프로그램 실행 중 예상치 못한 오류가 발생하여 기능이 제대로 작동하지 않음.    |
    | 0 | Warning   | 시스템에 문제가 발생할 가능성이 있으므로 주의가 필요함.                    |
    | -1 | Notice    | 시스템에 문제가 발생하지는 않았지만 사용자에게 알려야 할 사항임.              |
    | -2 | Information | 프로그램에 대한 일반적인 정보를 제공하는 메시지임.                     |
    | -3 | Debug     | 프로그램 디버깅 과정에서 발생하는 오류 메시지로 일반 사용자에게는 불필요함. |
### info
- alert까지 포함 가능
- alert이 없는데 취약으로 잡으면 보안담당자들한테 욕먹음
- cat /etc/rsyslog.conf | grep -C3 "cron" | grep -v "#"

- ls -al /var/log/wtmp* /var/log/utmp* /var/log/btmp* /var/log/lastlog* /var/log/secure* /var/log/messages*
  - *를 찍어야 날짜까지 포함된 파일명도 볼 수 있습니다
  - 로그는 타사용자에게 권한이 없어야 합니다
  - cat /etc/httpd/conf/httpd.conf | grep "ErrorLog\|CustomLog" | grep -v "#"
- 주요정보통신기반시설점검 가이드는 굉장히 비실용적인 가이드(by 강사님)

multiviews 이중확장자 차단 < 업로드 가능

## SSL Poodle 취약점
- SSL 3.0, 2.0은 Poodle 취약점 발생 가능
- TLS 1.0/ 1.1/ 1.2/ 1.3
- 크롬, 엣지에서 어떠한 버전부터 지원할까(TLS)
  - 1.2
  - 이전 버전은 암호화키 변조, 해독이 가능하기 대문
- 발급받은 도메인에 SSL 적용해서 웹사이트에 올리면?
- 도메인, 인증서 서비스 모두 발급할 때 받음
  - 
- 취약 패스워드
  - 
## ssh 접근 외의 2가지 접근 방법
- vnc
- RDP
### 서버는 터미널로만 접근해야 한다
 - 다른게 설치되어있으면 해당 내용은 취약으로 가져가야 함

## 클라우드 취약점 보안 가이드
- KISA
- 내꺼 배낀거다(by 강사님)



# mysql 
- mysql -u root -p
- 데이터베이스는 인터뷰 항목이 굉장히 많습니다
## D-01
- DBMS 기본 계정의 디폴트 패스워드 및 권한 정책을 변경하여 사용하는지 점검

## D-03
- 기관 정책에 맞게 패스워드 사용기간 및 복잡도 설정이 적용되어있는지 점검
- 기관정책 : 고객사의 사내정책
  - Password Lifetime : 사용기관과 복잡도 설정에 대한 오라클의 정책
    - -PASSWORD_LIFE_TIME
  - mssql은 윈도우에서 사용
    - 윈도우는 사용자 계정이 두가지로 나뉨
      - local
      - ad(관리자)
    - 로컬이던 관리자던 윈도우는 특정 방식의 인증을 사용합니다
    - ntml
    - 
- 화살표가 아래로 향한 계정
  - 계정을 사용하지 않는 다는 의미
  - 로그인 안됩니다
  ![img_1.png](img_1.png)

# D-04
- 관리자 권한이 필요한 계정에만 권한이 부여된 경우
- mysql에서 뭐가 관리자 그룹인가?
  - select hset,user,select_prev from mysql.user
  - mysql은 그룹과 계정을 개별로 사용하지 않음
    - 내용을 구분해서 확인하기 어려움
## 원격에서 DB서버로의 접속을 제한하고 있는지

# D-12
- 패스워드 변경 시 이전 패스워드 재사용할 수 없도록 제약설정이 되어있는지

# D-13
- DB접근 시 사용자 별로 서로 다른 계정을 사용하여 접근하는지
- select host,user,db,select_priv from mysql.db

# D-05
- 지정된 IP 주소만 DB서버에 접근 가능하도록 설정되어 있는지 점검
- DB 접근 제어
- 192.168.10.%
  - %(any) 들어가면 취약
  - 추가 인터뷰는 받아야 함 
    - DB접근제어 솔루션을 사용하는지 확인
# D-06
- DBA 이외의 인가되지 않은 사용자 시스템 테이블에 접근할 수 없도록 설정

# D-07
- Oracle
- Listener 패스워드 사용
## D-08 
- 사용하지 않는 불필요한 ODBC 데이터
- 비밀번호 시도횟수 대부분 설정 안하지만 '취약'

# D-16
- 사용자 계정의 umask 설정이 022 이상으로 설정되어 있는지 점검

# D-17
- 데이터베이스의 주요 파일들에 대해 관리자를 제외한 일반 사용자의 
- my.cnf // mysql의 환경변수파일
- 권한 확인
- ls -al /etc/my.cnf

# D-18
- 리스너 관련 설정  파일의 권한을 관리자만 가능하게 하고 리스너 파라미터 변경 방지에 대한 옵션 설정 여부 점검
- 실제 소유자와 그룹소유자만 확인할 수 있게 설정

# D-08
- 데이터베이스 개발자한테 인터뷰

# D-09
- rule이 false로 설정되어 있는지 확인하면 되는 간단 학목

# D-19
- password verify function

# D-20


# 사설
- 주요정보통신기반시설만 갖고 Database를 진단하기는 불가능
- 실무에 대한 이해 필수
# D-21
- 여기서 말하는 Grant Option은 
  - 권한을 이양할 수 있다 // root 계정한테만 허용해야 함

# D-22
- sk쉴더스에서는 안봅니다 (이유는 말 안해주심, 왜 하는지 모르겠는 항목이라고 하심)
- 리소스에 대한 리미트 설정이 트루인지 false인지만 확인
# D-10
- 최신 패치 및 벤더 권고사항 적용 여부 점검
- mysql은 repository를 통해 설치했습니다 (실습 환경에서)
- EOS의 경우 OS 버전을 신규로 구축하라는 권고
# D-11 
- 감사기록 정책 설정이 기관 정책에 적합하게 설정되어 있는지 점검

# D-23
- 보안에 취약하지 않은 버전의 데이터베이스를 사용
- 항목의 의의는 최신버전인데 기재되어있는 기준 버전은 굉장히 오래된 계정
- 따라서 진단 시점을 기준으로 최신 버전을 기준으로 하기를 권장

# D-24
- Audit Table 접근 권한이 관리자 계정으로 제한되고 있는지 점검

# 사담
## 개발 시스템과 운영 시스템의 분리

## 백업 왜 
- 연속적으로 서비스 제공
## ec2 백업 방법
- 스냅샷


# 윈도우
## Ftp
- 윈도우에서 ftp는 서비스일까 기능일까
- 기능임
### 윈도우에 FTP를 올리는 2가지 방법
#### IIS 기반(가장 많이 사용)
- IIS에 올라간 기능
- IIS란 : Internet Information services
  -웹 사이트를 운영하기 위한 필수적인 도구
####

## 텔넷 : 기능
- windows 기능 켜기/끄기 에서 
  - 텔넷 클라이언트로 켜기 가능

## OWA 
- 사서함 메일을 웹 페이지 형태로 보여줌
- IIS가 보여줌

## IIS 
- IIS 기반의 기능을 다 확인해야 함

## 업로드 찾는 방법
- 탐색 _ 해당 웹 소스의 상위 디렉토리 확인 가능
### 업로드 될 수 있는 파일
- *.png OR *.pdf
- 스크립트가 보관된 디렉토리를 찾기 위해서는 확장자로 검색해라


300x250
320x100

악성코드(Malware) 

  • OS 속에서 악의적인 행위를 하는 프로그램 전체를 일컫는 말

악성코드 종류

행위에 의한 분류

  1. 바이러스 : 네트워크로 공유된 컴퓨터 프로그램이나 실행영역을 변형해 복제하는 프로그램
  2. 스파이웨어 : 사용자환경의 브라우저 정보, 시스템정보, 뱅킹정보 등을 탈취하는 악성코드
  3. 트로이목마 : 정상 프로그램으로 위장, 악의적인 공격코드의 실행을 유도하는 악성코드
  4. 웜 : 네트워크를 통해 전파되면서 자가복제를 통해 네트워크 트래픽에 영향을 미치는 악성코드

목적에 의한 분류

  1. 백도어 
    1. 하드웨어 및 펌웨어, 소프트웨어 등에 비정상적인 인증과정으로 원격에서 접근 가능한 악성코드
    2. 비인가된 인증과정을 통해 원격으로 명령어 실행 및 보안 프로그램 우회 등 재침입의 경로로 활용
  2. 다운로더
    1. 시스템에 접근하여 권한을 획득 한 후 추가 악성코드를 다운로드하는 목적으로 사용되는 악성코드
    2. 시스템 접근과정에서 백신의 탐지 가능성을 낮추고 악성코드 설치율을 높이기 위한 방법으로 사용
  3. 인포스틸러
    1. 시스템 정보 및 뱅킹, 브라우저 등 감염된 시스템의 정보를 수집하는 악성코드
    2. 개인의 경우 정보탈취 및 금전피해 유발, 국가 및 조직의 경우 민간정보 탈취가 주요 목적
  4. 키로거
    1. 사용자가 입력한 키 값을 가로채서 행위의 기록을 탈취하는 악성코드
    2. 사용자가 직접 입력한 기록을 가져가기 떄문에 뱅킹정보와 같은 정보를 주로 목적으로 함
  5. 랜섬웨어
    1. 파일이나 드라이브를 암호화하여 복호화를 빌미로 금전을 요구하는 악성코드
    2. 초기에는 암호화 기능만 수행하였으나, 정보탈취 DDoS등 다중협박 전략으로 피해자를 압박해 협상금액을 높이는 형태로 발전
  6. 루트킷
    1. 관리자 권한인 루트 권한을 갖게하는 킷으로 프로세스나 레지스트리를 숨기거나 삭제할 수 없도록 하는 악성코드

 

 

사이버 킬체인(Cyber Kill Chain)

  • 사이버 공격을 각 단계 별 위협 요소 파악 및 공격 방법 정의분석모델
  • 공격 단계를 미리 예측하여 공격 효율성 낮추고 피해 최소화 목적
  1. 정찰
  2. 제작 (악성코드분석)
  3. 전달
  4. 취약점 공격
  5. 설치
  6. 명령&제어
  7. 행동

 

트로이목마

 

RAT (원격 접근 트로이목마) 악성코드

  • 해커가 감염된 시스템에 원격으로 접근할 수 있게 해주는 악성코드입니다.

백도어(BackDoor)

  • 백도어 악성코드를 이용한 원격 제어
  • 공격자가 웹사이트, 이메일 등 다양한 경로를 통해 정상 파일 위장 실행 유도
  • 피해자(Victim) 위장 파일 실행 시 PC 악성코드 감염

애드웨어(Advertisement + Software)

  • 사용자 동의없이 화면 내 광고가 노출되는 행위
  • 광고 게시하여 수익을 얻는 것이 목적
  • 프로그램 설치 과정에서 동의를 구한 후 자동 설치
  • 웹 페이지 접속 시 상단 또는 하단에 광고 배너가 표시

스파이웨어 (Spy +software)

  • 사용자 동의없이 개인정보 수집 및 모니터링하는 행위
  • 링크파일 악성코드 (바로가기 파일) 언제 어디서나 해당파일을 링크걸어서 다른경로에 있는 파일을 동작시키게 하는 것 - 링크파일 안에 악성코드를 삽입을 시킨다. 근데 악성코드만 삽입하는게 아니라 정상문서까지 같이 삽입을 시킨다.

스피어피싱

  • 특정대상을 정하여 사기 메시지로 사용자를 속이는 행위

취약점 공격(Exploit)

  • 타겟 장비가 가지고 있는 취약점으로 침투하는 행위
  • 취약점 공격 성공 시 액세스 확보 및 시스템 제어
  • 시스템 제어, 원격 코드 실행, 추가 악성코드 삽입 등

악성코드 분석 방법론

평판조회 사이트

  • 전세계 백신 업체 엔진을 한 곳에 모아 확인 가능
  • 악성코드 및 악성URL 업로드 시 스캔 엔진으로 결과 도출

악성코드 자동 분석 사이트 활용

  • 샌드박스 플렛폼 (내가 분석하고자 하는 것에 대한 환경설정, 분석 기간에 대한 시간정보, 어떤 브라우저 및 응용프로그램을 사용할지 분석하는 설정 가능) 하는 것을 솔루션으로 제공하고있음
  • 악성코드 및 악성URL 을 온라인환경에서 안전하게 실행
  • 영역별로 상세한 스냅샷으로 구간별 악성코드 행위 확인 가능
  • AnyRun

악의적인 프로그램 분석하는 방법

  1. 정적분석 : 악성코드로 의심되는 파일을 가상환경에서 실행하지 않고 분석하는법 ( 파일의속성정보, 컴파일정보, 문자열 정보)를 파악하는 초기 단계
  2. 동적분석 : 파악한 속성정보를 베이스로 동적으로 실행 → 분석
  3. 분석한 자료로 코드레벨(code reverse engineering) -코드 역공학 분석 -? 대화형 동적분석

 

  1. 파일분석 : 파일형태분석, API분석, String분석
  2. 증상분석 : 파일시스템분석, 프로세스↔쓰레드 (프로세스 관계), 레지스트리(윈도우의 DB) - 어떤식으로 벨류값을 쓰는지), 네트워크분석
  3. 정보분석
  4. 코드분석
  5. 패턴제작 : 예방대응책으로 스누투룰, 야라룰로 패턴을 제작 → 방화벽에서 차단, IPT 보안장비에 정보를 등록해서 예방

정적분석정의

  • 악성코드를 실행하지 않은 상태에서 분석
  • 헤더 정보와 내부 문자열, 실행 압축 여부, 등록 정보 등을 통하여 동작을 파악
  • 디스어셈블러를 이용하여 내부 코드와 구조를 확인 후 연관성 파악

동적분석정의

  • 악성코드를 직접 실행하여 행위 관찰
  • 파일, 레지스트리, 네트워크 등을 확인하며 동작 행위 분석
  • 디버깅을 통해 코드 흐름과 메모리 상태를 직접 확인

정적분석

  • 컴파일 정보 확인 (어떤 언어로 컴파일이 되었는지 파악)
  • 실행압축 여부 확인
  • 문자열확인
  • 파일 무결성 확인
  • 지속성 유지 확인 Autoruns(악성코드 분석 또는 침해사고 분석에서 사용된다) → (Logon, services, scheduled tasks 확인)
  • Thunderbird 활용

PEStudio 활용

  • 윈도우 OS용 악성코드는 전세계 약 65% 비중 차지

Process Explorer 도구 인터페이스

CPU 사용률

PID (process ID) 해당 프로세스가 생성된 시점에서 부여받은 프로세스 고유 식별번호

Description

동적 분석

  • 파일 시스템 변화 관찰(파일모니터를 통해서 관찰)
  • 레지스트리 변화 관찰
  • 네트워크 변화 관찰

process monitor 도구

홈페이지 통한 공격 과정

 

 

 

 


 


- 공공기관 정부처

# 서론
관제 2년 + 악성코드 분석 
하나의 침해사고로 3개월 이상 악성코드 분석중

# 1. 정의 및 유형
## 1.1 악성코드란 무엇인가
- Malicious Software
- 악성 행위를 하는 SW

## 1.2 악성코드의 목적
- 최근들어 국가 안보 위협 악성코드 증가(80% 이상)
- 전세계 80% 이상 공격에서 이메일이 사용됩니다

## 1.3 피해 사례
- 다크사이드(러시아 해킹 그룹)의 송유관 해킹

## 1.4 악성코드 유형
- 행위에 의한 분류
- 바이러스 
- 네트워크로 공유된 컴퓨터를 포함한 컴퓨터 프로그램이나 실행영역을 변형해 복제하는 프로그램
- 스파이웨어 
- 사용자환경의 브라우저 정보, 시스템정보, 뱅킹정보 등을 탈취하는 악성코드
- 트로이목마 
- 정상 프로그램으로 위장하여 악의적인 공격코드의 실행을 유도하는 악성코드
- 웜 
- 네트워크를 통해 전파되면서 자가복제를 통해 네트워크 트래픽에 영향을 미치는 악성코드
- 목적에 의한 분류
- 백도어 
- 하드웨어 및 펌웨어, 소프트웨어 등에 비정상적인 인증과정으로 원격에서 접근 가능한 악성코드(딥 문을 뚫어놓는다)
- 비인가된 인증과정을 통해 원격으로 명령어 실행 및 보안 프로그램 우회 등 재 침입의 경로로 활용
- 다운로더 
- (네트워크를 통해 공격대상에 접근하여 다음 stage로 넘어가기 위해 추가적인 파일을 받는 행위를 총칭)
- 시스템에 접근하여 권한을 획득한 후 추가 악성코드를 다운로드하는 목적으로 사용되는 악성코드
- 시스템 접근과정에서 백신의 탐지 가능성을 낮추고 악성코드 설치율을 높이기 위한 방법을 사용
- 인포스틸러 
- (최근 보안업체 분석보고서를 보면 대부분이 인포스틸러)
- (크롬, 브라우저의 인증정보 수집)
- 시스템 정보 및 뱅킹, 브라우저 등 감염된 시스템의 정보를 수집하는 악성코드
- 개인의 경우 정보 탈취및 금전피해 유발, 국가 및 조직의 경우 민간정보 탈취가 주요 목적
- 키로거 
- (윈도우 API 함수를 탈취해서 입력값 탈취)
- 사용자가 입력한 키(key)값을 가로채서 행위의 기록(Log)를 탈취하는 악성코드
- 사용자가 직접 입력한 기록을 가져가기 때문에 뱅킹정보와 같은 정보를 주로 목적으로 함
- 랜섬웨어
- ( 최근에는 PC는 정상적으로 작동되게끔 중요파일만 암호화 ) 
- 파일이나 드라이브를 암호화하여 복호화를 빌미로 금전을 요구하는 악성코드
- 초기에는 암호화 기능만 수행하였으나, 정보탈취 및 DDos등 다중협박 전략으로 피해자를 압박해 협상금액을 높이는 형태로 발전
- 루트킷 
- 관리자 권한인 루트(Root)권한을 갖게하는 킷(Kit)으로 프로세스나 레지스트키를 숨기거나 삭제할 수 없도록 하는 악성코드

### 사이버 킬체인(p9)
- Cyber Kill Chain
- 사이버 공격을 각 단계 별 위협 요소 파악 및 공격 방법 정의 분석 모델
- 공격 단계를 미리 예측하여 공격 효율성을 낮추고 피해 최소화 목적

#### 단계
- 정찰
- 제작
- 전달
- 취약점 공격
- 설치
- 명령&제어
- 행동


### 1.4 악성코드 유형
#### 트로이 목마(Trojan)
 - 정상 프로그램이나 파일로 위장한 후, 보안망을 뚫고 사용자 시스템에 침투
- APT(Advanced Persistent threat) 공격에 주로 사용

#### 백도어(BackDoor)
- 정상적인 인증을 우회하여 시스템 내부에 침투
- 공격자가 언제든지 시스템에 침투할 수 있도록 비밀 통로 개설
- 로그를 남기지 않는 것이 특징
- 다양한 악의적 목적으로 사용
- Remote Access Tool(RAT)가 아직까지도 성행
- 굉장히 체계화되어 컴퓨터를 잘 모르는 일반인도 사용 가능

#### 애드웨어(Advertisement + software)
- 사용자 동의없이 화면 내 광고가 노출되는 행위
- 광고를 게시하여 수익을 얻는 것이 목적
- 프로그램 설치 과정에서 동의를 구한 후 자동 설치

#### 스파이웨어(Spy + Software)
- 사용자 동의없이 개인정보 수집 및 모니터링하는 행위
- 키보드 입력, 인터넷 사용기록, 신용카드 정보 등 다양하게 정보 수집
- 주로 특정 대상을 타게팅 후 은밀한 방식으로 악성코드 설치
- 이메일, 메신저, SNS 등 다양한 경로를 통해 설치 유도

![alt text](image.png)
- 링크파일(디코이 파일)
- 다른 경로에 있는 파일을 동작시키기 위한 파일
- 악성코드와 정상문서를 함께 삽입

- bin
    - 디스크에 남아있어 탐지하기 쉬움
    - 이를 최근에는 우회하고자 bin파일이 아닌 메모리에 바로 악성코드 적재하는 경향
#### 랜섬웨어(Ransom + Software)
- 컴퓨터 파일 암호화 후 금전적 보상 요구
- 기기 취약점을 통해 침투하여 볼륨 쉐도우 카피 정보 손상
    - 볼륨 쉐도우 : 디지털 파일이나 데이터의 스냅샷
        - for 복구, 복원


#### 피싱(Phishing)
- 사기 메시지로 사용자를 속이는 행위
- 전자 메일, 문자, SNS, 웹사이트 등 다양한 수단 사용
- (피싱 서버에 침투하여 피해 범위, 규모 확인 후 전파)
#### 스피어피싱(SpearPhishing)
- 특정 대상을 정하여 사기 메시지로 사용자를 속이는 행위
- 전자 메일, 문자, SNS, 웹사이트 등 다양한 수단 사용
- 지인 사칭, 답변 시 2차 메일로 첨부파일 위장 링크 삽입

#### 취약점 공격(Exploit)
- 타겟 장비가 가지고 있는 취약점으로 침투하는 행위
- 취약점 공격 성공 시 액세스 확보 및 시스템 제어
- 시스템 제어, 원격코드 실행, 추가 악성코드 삽입
- 모의해킹 공부는 CVE 취약점 분석 추천

![alt text](image-1.png)

# 2. 악성코드 분석 방법론
## 서론
### 평판 조회 사이트 활용
- Virustotal.com
    - 로그남음, 유료회원에게 공유됨
- Hybrid-Analysis.com
- 100%는 아님, 해석 필요
### 악성코드 자동 분석 사이트 활용
- JoeSandbox, Any.Run
- 악성코드 및 악성URL을 온라인환경에서 안전하게 실행
- 영역별로 상세한 스냅샷으로 구간별 악성코드 행위 확인 가능

#### 프로세스
![alt text](image-2.png)
- 정적분석을 통해 개략적인 정보 파악 후 동적분석(간단분석)
- 이후 리버싱, 대화형 동적 분석을 통한 상세분석

## 2.1 정적 분석
### 2.1.1 컴파일 정보 확인
- Detect it Easy : 현업에서도 주로 사용되는 도구
![alt text](image-3.png)
- 모든 파일에는 시그니처(Magic Number)가 존재합니다
- 윈도우에서 실행가능한 파일은 4d 5a
    - doc,xlxs,ppt 등 ms word형 파일은 pk(심볼)
    - 압축 포맷은 지배 확장자를 따릅니다
    - 매직넘버를 기반으로 파일 유형을 파악하고 다음단계를 진행합니다

### 2.1.2 실행압축(Packing) 여부 확인
- Packing : 개발자가 코드를 역으로 분석하지 못하게 하기 위한 목적
- 압축 알고리즘 : UPX, VMProtect, Thimida
- 악성코드에도 Packing을 적용하는 경우가 많습니다
- Detect It Easy 등 정적분석 도구를 사용해서 패킹 여부/ 패킹 알고리즘을 확인할 수 있습니다.
![alt text](image-4.png)

### 2.1.3 문자열(String)확인
![alt text](image-5.png)
- Compile된 파일 안에 hardcoding된 문자열들이 보이는 경우도 있습니다.(과거)
- 윈도우 API 함수도 보일 수 있습니다

### 2.1.4 파일 무결성 확인
- 암호화 알고리즘(MD5, SHA, AES 등) 통해 파일 고유 식별 정보 확인
- 윈도우 디렉터리에 존재해야 할 파일이 이상한 위치에 숨김파일로 존재할 경우 무결성 확인

#### 2.1.5 지속성 유지 확인
- 악성코드가 일회성인지, 지속적으로 동작하는지 확인 필요
- Autoruns : 프로그램
    - syseternals : 분석도구를 개발했던 단체, 지금은 MS로 흡수되어 해당 프로그램 개발
    - 악성코드의 경로를 확인할 수 있어 CERT에서 주로 사용합니다
    - 
#### 2.1.6 정적 분석 도구
- PEStudio(윈도우용)
    - 악성코드의 65% 이상은 윈도우 악성코드
        - 따라서 윈도우 악성코드 분석 도구도 많습니다
    - PE 구조, 문자열, Hash 값 등 다양한 정보 확인 가능
![alt text](image-6.png)

- Thunderbird(모질라) 활용(또는 outlook my ms)
    - .eml
    - 메일을 pc에 저장하면 확장자가 eml
    - eml 파일을 thunderbird로 동작시키면
    - 공격자 정보, 유포지, 악성 파일 등 다양한 정보 확인 가능
    - 전세계 악성코드 80% 이상 정자메일을 통해 유포
    - 주소를 교묘하게 위장하는 방법도 많이 쓰임
        - (0, O) / (rn, m)
        

## 2.2 동적 분석
### 2.2.1 프로세스 변화 관찰
- 모든 악성코드 행위에는 프로세스가 존재합니다
- 시스템 내 발생하는 실시간 프로세스 변화에 대한 분석이 필요합니다
- 부모, 자식 프로세스 연결 고리, 코드 인젝션, 명령어 실행 등 
- Process Explorer : MS 제공 도구
    - 작업관리자의 확장판
    - 종료된 프로세스의 악성코드를 보려면
        - Log 확인
        - 실시간 관찰 용도이기에 Process Explorer은 로그 관찰 불가
- Process monitor
    - 종료된 프로세스도 관찰 가능(흐릿하게 표시)
- Process Hacker

#### Process Explorer 도구 인터페이스
![alt text](image-7.png)
- dll 경로가 숨김/임시일 경우 악성코드 의심

![alt text](image-8.png)
- thread, TCP/IP, String 탭 주로 사용

#### Process monitor
- Process explorer을 실행하지 않고도 Process monitor로 대부분의 요소 관찰 가능
- 캐쉬의 리소스를 엄청나게 잡아먹는 단점이 있습니다.
    - 때문에 악성 프로세스만 필터링을 통해 특정하여 관찰하는 경우가 많습니다


### 2.2.2 파일시스템 변화 관찰
- OS 내 현재 동작 중인 파일 상태 실시간 확인
- 악성코드 실행 후 파일시스템 내 변화를 체크하는 과정이 매우 중요
### 2.2.3 레지스트리 변화 관찰
- 지속성을 유지하기 위해 레지스트리를 변경하는 경우가 많습니다.
- 시스템 레지스트리 조작하여 원하는 정보 입력 가능
- 중요 레지스트리 삭제 후 보안 설정 우회 등 다양하게 활용
- 악성코드 주요 레지스트리 변경 확인 여부 중요

### 2.2.4 네트워크 변화 관찰
- 와이어샤크 : 분석 툴
    - 패킷을 전부 stream으로 볼 수도 있고 inbound 패킷의 데이터 영역만 추출할 수도 있다는 장점이 있습니다.
- 최근 악성코드는 정보 수집 및 추가 파일 업로드를 위해 네트워크 이용
- 공격자 서버(C&C서버) 통신 실시간 확인 필요

#### Process Monitor 도구
- 프로세스의 레지스트리, 파일, 프로세스/쓰레드, 네트워크 동작 등을 실시간으로 캡처하는 프로그램
- 레지스트링 활동, 파일 시스템 활동, 네트워크 활동, 프로세스와 스레드 활동, 이벤트 프로파일링 등  모니터링 기능 지원

- 리소스를 굉장히 많이 사용하기에, 처음부터 사용하는 경우는 거의 없고 돋보기 아이콘을 통해 특정 프로세스 등으로 범위를 좁힌 후 사용합니다.

<hr>

![alt text](image-9.png)
- capture : 현재 상태 캡쳐
- autoscroll : 최근 활용한 프로세스 목록 이동
- clear : 프로세스 출력 내용 삭제
- Filter : 필터링
- Highlight : 강조할 프로세스 표시
- Include Process From Window : 모니터링할 프로그램 선택
- Find : 텍스트 검색
- Jump to Object : 레지스트리 이동

- 마지막 옵션정보 5개를 가장 많이 이용 
- 기본적으로 모두 활성화되어있고 다시 클릭하면 비활성화

<hr>

- Tools > Process Tree
    - 종료되거나 은닉된 프로세스 정보까지 확인 가능

- Options > Enable Boot Logging 
    - 윈도우 부팅 로그 작성
    - 시스템 재부팅 -> Process Moniter 실행 전까지 로그를 생성하여 분석 가능

### 2.2.5 API 실행 변화 관찰
- 관제에서는 다루지 않지만 분석가가 수행
- 악성코드가 실행될 때 사용되는 API 함수 확인 가능
- MSDN에서 API 함수 조회 가능

## 역공학 분석, Reverse Engineering
- (보안관제 분야는 아닙니다)
    - 악성코드 분석, CERT 영역

- 정적분석과 동적분석으로도 명확한 행위를 특정하기 어려울 때 수행
- 악성코드 기능을 상세하게 분석하여 확인 가능
- 리버싱 방지를 위해 프로텍트, 패킹, 로더 등 다양한 방법으로 분석가 방해
- 저급(어셈블리) 언어 영역에서 악성코드를 역으로 분석하는 기법





## 2.3 고급 동적 분석


## 2.4 고급 정적 분석

<hr>

# 3. 분석 환경 구성 및 도구 실습
- 가상머신과 host간의 공유폴더 절대 금지
    - 측면 공격을 통해 침투 가능
- 악성코드 중 실행환경을 식별(가상환경)하는 (vmware process) 경우가 많습니다.
    - 이를 우회하기 위한 여러 방법 중 하나로
    - code reversing에서 분기문을 조작하여 우회
    - 또는 processs명 변경(vmware process)
    - registry를 통한 식별도 가능


    
## 3.1 가상환경(Hypervisor) 이해

## 3.2 가상환경 구성
- 요약 : 스냅샷 습관화
- 여건이 된다면 최대한 다양한 환경 구축 권장
    - 고객이 요구하는 파일을 분석할 수 있는 환경
    - 악성코드 구동이 가능한(취약한) 환경 구성
        - 스냅샷을 통해 취약한 버전 사용
        - OS 패치 미적용
        - 안티바이러스 미설치, 윈도우 디팬더 기능 해제
        - 모든 과정을 마치면 기본 스냅샷 저장 필수
        - 악성코드 분석 과정에서 실행전, 실행중, 실행후 모든 과정에서 스냅샷 필수
    - 최대한 시간을 절약하기 위한 방법
    - 필드에 가면 시간이 여유롭지 않음 

## 3.3 분석 도구 실습

<hr>

## 4 악성코드 전파 과정
### 4.1 전자메일 통한 공격 과정
- 악성파일 첨부 : 매크로(워드), OLE 기능(HWP), 실행파일 등을 첨부하여 악성코드 설치 유도

- 압출파일도 암호만 없다면 sandbox에서 분석 가능
- 악성파일의 암호
    - 보안 솔루션 우회
    - 사용자의 경계심을 낮추기 위해

### 4.2 홈페이지 통한 공격 과정
- 워터링홀 공격, p58
    - 홈페이지가 물웅덩이가 되어 찾아오는 모든 사람을 감염
- 사용자들이 자주 접속하는 웹페이지 내 악성코드를 삽입하여 공격



### 4.3 공급망 통한 공격 과정



# 사담
- 보안관제 직원이 차단 ip주소를 실수로 0.0.0.0으로 설정하여 PM, 사수 중징계, 해당 직원 경징계
- 1인관제는 없다시피 하고, 보통 사수 부사수 2인 1조
    - 호흡이 중요함
- 최근은 자동화된 보안관제 시스템이 도입을 시작하는 단계
- 쏘아
    - playbook 
        - scanning성 공격(sql 인젝션) 인지해서 방화벽까지 자동 차단하는 솔루션

## 분석 순서
- 분석 환경, 인프라는 팀, 프로젝트마다 제각각
- 반드시 정적분석 - 동적분석 순서를 지키지 않는 경우도 많습니다.
- 융통성 있게 분석

## 관제
- 관제를 하지 네트워크 트래픽 안에 유입된 악성코드를 분석까지 하는 사람은 거의 없음
- 각 사이트마다 특징이 있기에 트래픽, apt, 어떤 파일이 유입되었는지 등 솔루션이 다양합니다
    - 악성코드 분석은 apt장비와 관련이 깊습니다
    - apt 장비에서 alert 발생하면
        - 가상환경에서 정적, 동적분석
        - apt 장비에서도 어느정도의 분석이 수행

300x250
320x100


@@시험문제@@
world writable
타 사용자에게 쓰기권한이 부여된 파일을 의미 
@@@@@@@@


U-04
bash를 입력하는 이유는 최초 로그인을 시도했다는 증거 - 실제 로그인이 가능한 계정에 대해 암호화 처리가 되어있는지 확인한다.
cat /etc/passwd | grep bash


U-44
UID 가 0 이면 슈퍼유저를 의미한다.


U-45
UNIX 계열에서 안전하게 root 권한을 획득하는 방법
1. 일반 사용자 계정으로 로그인
2. "wheel" root 권한이 필요한 사용자만 추가가 되어있어야함
3. /bin/su 파일 내 "su" 관련 설정의 주석이 제거되어있어야 함
4. /bin/su 파일 그룹에 "wheel" 이 설정되어 있어야 함


-rwsw-xr-x SUID
4755
소유자에게 s 들어가면 타사용자가 소유자가 가지고있는 최고권한을 이항받아 사용가능

-rwxr-sr-x SGUD
2755
그룹의 모든 권한을 타사용자가 이향받아 사용가능

s는 특수권한이 들어가있다


wheel 그룹 타사용자 들어가있어야함
수 파일 권한이 4755 에서 타사용자 권한이 제거되어있어야한다.
그룹에 루트가 아니라 휠이 되있어야한다. 


U-51 

계정은 없고 그룹만 존재하는 상태를 확인해야함


U-53
sync / shutdown / halt 는 계정이 자기 자신으로 되어 있어야 제 기능을 할 수 있기 떄문에 예외로 본다.


U-54
cat /etc/profile 
profile 안에 뉴마스크, 시스템환경변수, 사용자환경변수, 세션타임아웃 값을 설정할 수 있다.


U-05
CATALINA_HOME -> tomcat에 대한 환경변수
CATALINA_HOME는 사용자가 직접 설정

tomcat, whats (java 기반)는 라이브러리가 있어야한다. -> 라이브러리가 없으면 특정코드를 실행했을떄 실행, 구현, 발현이 안된다.


find 명령어를 입력할때 
find / -name tomcat        -- 다수의 파일을 검색할때 엄청난 파일이 쏟아져 나와서 이렇게 하면 안된다.
find /root/apache-tomcat-9.0.0.M19

데몬이 중지가 될 수 있는 이유 2가지
1. 서비스를 더이상 제공하지 않음
2. 이중화 - Active / standby   = 로드밸런싱

test-tomcat-01 - Active
test-tomcat-02 - Active
test-tomcat-03 - Standby ( 1,2번 하나가 죽으면 Standy가 active로 돌아가서 서비스의 영향이 없음)

오토스케일링 - 오토스케일링(Autoscaling)은 클라우드 환경에서 애플리케이션의 수요에 따라 자동으로 서버 인스턴스를 추가하거나 제거하는 기능입니다

이중화로 걸려있는 대상 서버도 있기 떄문에 실제로 내용을 확인해야한다.

shadow 
패스워드를 암호화하기 위해 필수로 설정되어야하는 파일

hosts 

U-10
RPC서비스(remote procedure call) : 서버 내 rpc 서비스가 존재 할 경우 내부 네트워크를 통해 Client 가 요청해서 서비스를 구동할 수 있음
XINETD / INETD (인터넷 슈퍼 데몬) : 서버 내부 XINETD / INETD 데몬이 구동중이고 디렉터리내 "r"(remote) Command 서비스가 등록되어 있을 경우 
  외부네트워크를 통해 Client가 요청해서 서비스를 구동할 수 있음
  
  
rsyslog.conf   
시스템 로그와 수 로그를 어디에 저장할지 기록

SUID , SGID



커멘드를 실행하고 로그인을 하거나 강제적으로 활용될때 대표적으로 사용하는 3가지
exec (강제실행)
login 
sh, bash

이들 앞에 r 이 붙으면 원격지에서 실행이 가능하다는 것 
인터넷 슈퍼데몬이 구동중이고 rexec , rlogin, rshell 등이 된다면 외부에서 실행이 가능하다는 취약점이 생긴다.

xinetd : xinetd는 Unix 및 Linux 시스템에서 사용되는 확장된 인터넷 서비스 데몬입니다.


U-56

신규로 생성되는 파일들은 umask 설정값에 대해 기본적으로 권한이 설정된다.
umask는 파일이나 디렉토리가 생성될 때 기본 권한을 설정하는 값입니다. 이 값은 파일의 기본 권한에서 특정 권한을 제거하여 최종 권한을 결정합니다.
UMASK 002
디렉터리 
파일

-gt 199

199 초과하면 umask 022 이하면 umask 022 를 가져간다.


Finger
시스템에 등록된 사용자, 네트워크에 대한 다른시스템에 연결되어잇는 것까지 다 리스트 하는 서비스 (사용자체가 불필요한 서비스)



FTP (port 21)
SFTP (22)
TFTP(계정자체를 텍스트 플레인으로 사용해서 이제 사용안함), VSFTP, PROFTP, WUFTP (port 21) 

VSFTP 포트 오픈과 데몬을 설치해줘야한다.
VSFTP 설치시 default 값
anonymous=yes 
user=ftpadminuser
umask=022 (권한에 맞는 umask 를 설정해줘야함)


crontab : crontab은 리눅스 및 UNIX 계열 시스템에서 주기적으로 작업을 자동으로 실행하기 위해 사용되는 도구



U-30

SMTP 25번 포트 오픈되어 있음 
Sendmail

레파지토리에서 가져온 것들은 rpm 때리면 다 나오게 되어있다. - 안나오는데 설치되어있으면 실제 source 로 다운받아서 설치한 것 (git)같은거 사용
rpm -qa | grep sendmail



sendmail 메일로 보냄으로 있어서 가장 중요한 것은 사서함( q ) q가 계속쌓이면 메일 전송이 느려진다.
너무 많은 데이터가 모이면 메일발송, 수신이 늦어진다. -> 악성메일 훈련 


DNS server 
1. 정방향 조회 영역
- cname(하나의 도메인 이름) 주 데이터 XXX.XXX.XXX.XXX(아이피주소) | Description XXXXX.com (도메인주소)


2. 역방향 조회 영역
- cname(하나의 도메인 이름) 주 데이터 XXXXX.com (도메인주소) | Description XXX.XXX.XXX.XXX(아이피주소)



DNS 1, 2, 3, 4  active 
DNS 5, 6, 7 standby

standby 가 활성화 되려면 1234567이 모두 같은 내용을 가지고 있어야 한다. ( 영역전송허용 )



- 에러 코드의 취약점이 뭐야
서비스 거부 공격(DoS)
에러 코드가 발생하는 특정 조건을 악용하여 시스템의 자원을 고갈시켜 서비스가 중단되도록 할 수 있습니다.


디렉터리 리스팅 취약점 
디렉터리 리스팅 취약점(Directory Listing Vulnerability)은 웹 서버가 특정 디렉터리의 파일 목록을 사용자에게 노출하는 보안 취약점입니다.


300x250

+ Recent posts