728x90

윈도우 패스워드 구조

Password 의 구조

Password 크랙

  • 다른 해킹과 달리 난이도가 쉬우면서도 강력한 공격

Windows Password 구조

  • PASSWORD는 PASSWOR, D로 나뉨
  • 8개의 패스워 크랙은 7개의 패스워드 크랙의 2배 노력 걸림
  • 리눅스의 경우 1글자가 늘어남에 따라 패스워드 강도는 약 100배 정도 상승

윈도우 인증 구조

SAM File

  • SAM : 윈도우에서 사용자의 계정 정보 (계정명, PW) 등의 정보를 갖고 있는 데이터 베이스
    • SAM 파일 크랙시, 계정 정보 획득 가능
  • hash.txt : 계정명 : UID : LM Hash : NTLM Hash
    • 계정명 : 계정의 ID
    • UID : UserID의 약자로 컴퓨터에서 사용하는 고유의 계정 번호를 나타낸다
    • LM Hash : 윈도우 운영체제의 기본적인 암호 알고리즘
    • NTLM Hash : LM Hash의 버전업 된 암호 알고리즘

윈도우 레지스트리의 이해

레지스트리 개요

레지스트리란 ?

  • 32/64bit 아키텍쳐에서 윈도우 운영체제의 설정과 선택항목을 담고 있는 데이터 베이스
  • 하드웨어, 소프트웨어 사용자 PC 선호도, 중요 시스템 정보 등의 대한 설정이 포함
  • 이전에는 윈도우 프로그램 내부에 ini파일이 사용 (ini등의 설정 파일이 포함되어 레지스트리에 영향이 되지 않고 설치되는 프로그램들을 포터블형식의 설치파일이라 함)

구성

    • 윈도우의 폴더와 유사한 형태
    • 레지스트리 안에 경로와 같은 개념으로 사용
    • 키 안에 담겨있는 이름 또는 자료
    • 여러 키로부터 참조 될 수 있음
  • 레지스트리 편집기 실행 : regedit
  • 레지스트리 편집기에서 아래 그림과 같이 확인가능
  • 좌측에는 키로 이루어진 특정 경로를 의미, 우측에는 값을 의미하는 실제 데이터 값이 출력

주요 레지스트리 구조

  • 윈도우 내 레지스트리는 주요 키를 크게 5가지로 분류
  • HKEY_CLASSES_ROOT
    • 등록된 응용 프로그램의 정보를 보관
  • HKEY_CURRENT_USER
    • 현재 로그인한 사용자의 설정 값 보관
  • HKEY_LOCAL_MACHINE
    • 컴퓨터의 모든 사용자의 설정 값 보관
  • HKEY_USER
    • 컴퓨터에서 사용 중인 각 사용자의 프로파일에 대한 설정 값을 보관
  • HKEY_CURRENT_CONFIG
    • 실행 시간에 수집한 자료를 보관

윈도우 레지스트리 명령어

REG QUERY /?

REG ADD /?

REG DELETE /?

REG COPY /?

REG SAVE /?

REG RESTORE /?

REG LOAD /?

REG UNLOAD /?

REG COMPARE /?

REG EXPORT /?

REG IMPORT /?

REG FLAGS /?

/v : 항목 이름

/t : 타입

/d : 문자열

시스템에 영향을 끼치는 중요 레지스트리 주소

  • 윈도우 부팅시 자동실행

HKLM\Software\Micrtosoft\Windows\CurrentVersion\Run

  • cmd 실행 시 자동 실행

HKLM\Software\Microsoft\Command Processor\AutoRun

윈도우 분석 도구 소개

Sysinternals

Windows Sysinternals

  • 윈도우 환경을 관리, 진단, 문제 해결, 모니터링 기술 자료 및 유틸리티 제공
  • 1996년에 Winternals를 설립 후 프리웨어로 배포함으로써 사용자들에게 큰호응을 얻었으며, 2006년 마이크로소프트에서 인수
  • 주요 프로그램
  • https://docs.microsoft.com/ko-kr/sysinternals/

리버스 텔넷 악성코드 기본 분석

  • 일반적으로 텔넷(Telnet)은 본인의 컴퓨터를 클라이언트로, 접속하고자하는 상대방의 컴퓨터를 서버로 하여 접속하는 인터넷 프로토콜이지만 이를 서로 바꾼 것이 리버스 텔넷이다.
  • 리버스 텔넷 기술은 방화벽이 존재하는 시스템 공격 시 자주 사용된다. 보통 방화벽은 외부에서 내부로 (인바운드) 들어오는 패킷은 필요한 포트 외에는 전부 차단한다. 하지만 내부에서 외부로 (아웃바운드) 나가는 데이터는 별도의 필터링을 수행하지 않는 경우가 많아, 리버스 텔넷을 이용한 해킹시도가 이루어질 수 있다.
  • 대응 방안으로는 방화벽의 외부로 나가는 정책 (아웃바운드 정책)의 보안 레벨을 높여야 한다.
  • 다만, Port가 랜덤하게 설정이 되므로 어려움이 많다.

취약점을 이용한 공격 분석

취약점이란 ?

취약점 (Vulnerability)

  • 좁은의미 (기술관점)
    • 컴퓨터의 H/W 또는 S/W 의 결함이나 체계 설계상의 허점으로 인해 사용자 (특히, 악의를 가진 공격자) 에게 허용된 권한 이상의 동작이나 허용된 범위 이상의 정보 열람을 가능하게 하는 약점
    • 시스템 또는 소프트웨어 자체의 문제
    • 버퍼오버플로우 , 데이터 파싱 , 포맷 스트링 , 서비스 거부 공격 등....
  • 넓은의미 (관리관점)
    • 좁은 의미에 더하여 사용자 및 관리자의 부주의나 사회공학 기법에 의한 약점을 포함한 정보 체계의 모든 정보 보안상의 위험성
    • 시스템 관리 및 운영 측면에서 발생하는 이슈
    • 계정관리 , 패스워드 정책 , 패치 , 인증서버 미사용 등... .

취약점과 악성코드

취약점 공격 코드 (Exploit)

  • 대상 시스템( 소프트웨어)에 존재하는 취약점을 공격하는 코드
  • 공격자가 프로그램 흐름을 제어할 수 있도록 만들어 주는 역할을 수행 (Dropper)

악성코드 (Malware)

  • 공격자가 의도하는 행위를 수행하는 코드
  • 쉘 코드 형태로 메모리에서 실행되거나, 독립적인 파일 형태로 대상 시스템에 잠입해 여러가지 기능을 수행하는 경우도 있음
  • Payload (페이로드)

공격자의 입장에서 분류한 취약점

공격 벡터에 따른 분류

  • 공격 벡터 : 공격자가 목표 시스템을 완전히 선점할 때 까지 수행해야 할 단계
  • 원격 취약점 : 네트워크(웹)를 통해 공격을 수행 (공격 대상은 어떤 것도 가능)
  • 로컬 취약점 : 대상이 속해 있는 네트워크 망(컴퓨너) 안에서 직접 공격을 수행

공격 대상에 따른 분류

  • 시스템 : 운영체제 내부, 서버시스템, 네트워크 장비 운영 시스템 등
  • 응용 프로그램 : 브라우저 기반, 문서, 프로그램, 멀티미디어 프로그램 등
  • 네트워크 : 프로토콜, 네트워크 서비스 처리 프로그램 등

CVE

CVE (Common Vulneravilities and Exposures)

  • 공통 취약성 식별자
  • CVE는 CVE이름, CVE숫자, CVE엔트리 등 으로 불림
  • 전세계 공통으로 사용하는 취약점 사전을 의미

CVE 번호 부여 기준

  • CVE 넘버링 위원회 (CNA)의 새로운 취약점의 첫 공식 발표를 기준으로 새로운 CVE ID 번호 부여
  • CVE 프로젝트를 통해 CVE ID를 요청하면 프로젝트 측에서 "연구원을 위한 CVE 식별자 예약 가이드 라인"을 제공하여 신규 취약점 발표 준비를 하면서 해당 기준에 맞춰 CVE ID를 부여

Metasploit 이란 ?

Metasploit Framework

  • OS를 비록한 다양한 서버 및 각종 애플리케이션을 대상으로 취약점 테스트를 수행할 수 있는 Framework
  • Metasploit 프로젝트는 4명의 개발자에 의해서 시작
  • Perl 기반으로 작성되었지만 2007년도에 Rudy 언어로 완전히 새롭게 재 작성
  • Framework는 알려진 취약점에 대한 exploit 생성 , 실행 그리고 수정을 위해 개발
  • 2003년 오픈소스로 발표, 2004년 2.1 버전이 출시된 이후로 새로우 ㄴexploit 코드와 payload 개발이 빠르게 증가
  • 현재에 와서 Metasploit은 모의 테스트시 유명한 툴로써 입지를 구축해 가고 있음
  • 취약점을 발견하기 위해서는 관련된 전문 지식이 필요하나, 단지 공격만을 위해서는 몇번의 클릭으로도 공격이 가능함

일반적인 공격 방법 Vs MSF 공격 방법

일반적인 공격 벡터

  1. 취약점 탐색
  2. 오프셋 또는 리턴 주소 변경
  3. 쉘 코드 획득 후 공격 수행

MSF를 이용한 공격

  1. 취약점 탐색
  2. 모듈 로드
  3. payload 설정
  4. 옵션 설정
  5. 공격 수행

Veil-Framework

  • 탐지회피에 중점을 둔 다양한 공격 방법을 구현하는 Red 팀 보안 도구 모음

구성

  • Veil-Evasion : 다양한 기술과 언어를 사용하여 안티 바이러스 회피 페이로드를 생성하는 도구
  • Veil-Catapult : Veil-Evasion 을 통합한 psexec 스타일 페이로드 전달 시스템
  • Veil-Pillage : Veil-Evasion 을 통합한 조립식 사후 탐색 프레임 워크
  • Veil-PowerView : Windows 도메인에서 네트워크 상황 인식을 위한 Powershell 도구

'System > basics' 카테고리의 다른 글

컴퓨터 구조  (0) 2021.07.20
가상화 기술의 이해  (0) 2021.07.16
시스템의 기초  (0) 2021.07.08

+ Recent posts