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 공격 방법
일반적인 공격 벡터
- 취약점 탐색
- 오프셋 또는 리턴 주소 변경
- 쉘 코드 획득 후 공격 수행
MSF를 이용한 공격
- 취약점 탐색
- 모듈 로드
- payload 설정
- 옵션 설정
- 공격 수행
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 |