Phising 피싱 공격
사용자를 속여 악성 링크를 클릭하게 하거나 악성 파일을 실행하게 하는 공격이다
Cyber Kill Chain 모델에서 Delivery 단계에 해당하고, 사전에 준비한 악성 콘텐츠를 피해자에게 전송함
Information Gathering 정보수집
스푸핑
신분을 도용하거나 숨겨 신뢰할만한 사용자로 위장해 공격자가 다른 사람이름으로 메일을 보내는 공격.
SPF, DKIM, DMARC 등의 프로토콜로 발신자 주소를 검증해 방지할 수 있다.
스푸핑 여부를 수동으로 확인하기 위해서는 SMTP 주소를 확인해야 함.
Mxtoolbox 같은 도구로 도메인의 SPF, DKIM, MX 레코드등을 얻어 스푸핑 여부를 판단한다.
자체 메일 서버가 있는 대형 기관이라면 고유의 IP 주소가 있으므로 Whois 기록을 확인할 수 있다
발신자의 주소가 스푸핑되지 않았다고 해서 이메일이 안전하다고 할 수는 없는데, 해킹된 회사나 개인 이메일 주소로 신뢰할 수 있는 사람의 이름으로 해로운 이메일이 전송될 수 있기 때문
이메일 트래픽 분석
피싱 공격을 분석하려면 여러 파라미터가 필요한데. 아래의 파라미터들로 메일 게이트웨이에서 검색을 수행해서 공격의 규모와 대상을 추측할 수 있다
- 발신자 주소: (info@letsdefend.io)
- SMTP IP 주소: (127.0.0.1)
- 도메인 기반: (@letsdefend.io)
- 발신 도메인 예시: letsdefend (공격자가 Hotmail 계정으로도 보낼 수 있음)
- 제목: (발신자 주소와 SMTP 주소가 지속적으로 변경될 수 있음)
이메일 수뿐만 아니라, 수신자의 주소와 시간 정보도 검색 결과에서 확인해야 한다. 악성 이메일이 동일한 사용자에게 지속적으로 전송되는 경우, 해당 사용자의 이메일 주소가 PasteBin과 같은 사이트에서 유출되어 공유되었을 가능성 있음
공격자는 Kali Linux의 Harvester 도구에서 이메일 주소를 찾을 수 있다. 웹사이트에 개인 이메일 주소를 게시하면 공격자에게 잠재적인 공격 벡터를 제공할 수 있으므로 조심해야 함
Email Header 이메일 헤더
이메일 헤더는 발신자, 수신자, 날짜 등의 정보가 있는 이메일의 섹션이다. Return-Path, Reply-To 등의 요소들도 있음
이메일 헤더의 역할
- 발/수신자 확인
- 스팸 차단
- 이메일의 경로 파악
중요한 필드들
From | 발신자의 이름과 이메일 주소 |
To | 수신자의 이름과 이메일 주소, caron copy, blind carbon copy 역시 이 카테고리의 일부 |
Date | yyyy hh:mm:ss 형식 |
Subject | 제목 |
Return-Path | Reply-To 필드로도 알려져있고, Return-Path 필드의 주소로 이메일이 보내짐 |
Domain key and DKIM Signatures | 이메일 서비스 제공자가 이메일을 식별하고 인증할 수 있도록 돕는 전자 서명 |
Message-ID | 각 이메일을 식별하는 고유한 문자 및 숫자 조합 |
MIME-Version | 이미지, 비디오 및 기타 첨부 파일과 같은 비텍스트 콘텐츠를 텍스트로 변환하여 SMTP(간이 메일 전송 프로토콜)를 통해 이메일에 첨부하고 보낼 수 있게 함 |
Received | 수신자의 받은 편지함에 도달하기 전에 거친 각 메일 서버를 나열, 상단의 메일 서버는 이메일 메시지가 마지막으로 통과한 서버이고, 하단의 서버는 이메일이 발송된 서버 |
X-Spam Status | 이메일 메시지의 스팸 점수, 스팸으로 분류되었는지 여부를 표시하고 이메일의 스팸 점수와 해당 이메일의 스팸 임계값을 보여줌 |
이메일 헤더 찾기
Gmail
1. 이메일 열기
2. 오른쪽 상단의 점 세개 클릭
3. Download message 버튼 클릭
4. .eml 확장자 파일을 열람
Outlook
1. 이메일 열기
2. File→Info→Properties→Internet header
Email Header Analysis 이메일 헤더 분석
피싱 메일을 분석할 때 중요한 요소가 있는데
- 이메일이 올바른 SMTP 서버에서 발송되었는지
- From과 Return-Path/Reply-To 정보가 동일한지
이메일이 올바른 SMTP 서버에서 발송되었는지
Received 필드에서 이메일 경로를 확인할 수 있다. From 필드를 보면 수신자의 도메인도 파악가능한데 도메인과 IP 주소가 일치하는 것으로 확인하기 위해 MX 서버 쿼리를 한다. (mxtoolbox.com)
From과 Return-Path/Reply-To 정보가 동일한지
일반적으로 발신자와 회신 수신자가 동일해야 하는데 피싱 공격에서는 Reply-To 필드에 실제 직원 메일 주소를 넣어 피싱 메일임을 숨기는 경우가 있다.
Static Analysis 정적 분석
이메일에 포함된 웹 주소를 VirusTotal에 조회하면 해당 주소가 유해한것으로 탐지되는지 확인할 수 있다. 누군가 이전에 동일한 주소나 파일을 분석했다면, 해당 결과를 보여줌.
이미지에서 보면 해당 주소는 무해하다고 하지만 9개월 전에 스캔되었기 때문에 파란 화살표로 다시 스캔하는 게 좋다
Cisco Talos Intelligence에는 IP 주소의 평판을 확인할 수 있는 검색 섹션이 있음. Talos에서 발견된 이메일의 SMTP 주소를 조회하면 해당 IP 주소의 평판을 확인하고, 블랙리스트에 올라 있는지 알 수 있다. SMTP 주소가 블랙리스트에 올라 있다면, 이는 공격이 손상된 서버를 통해 수행되었을 가능성이 있다
마찬가지로, VirusTotal과 AbuseIPDB에서 SMTP 주소를 검색하여 해당 IP 주소가 과거에 악의적인 공격에 사용되었는지 확인할 수 있습니다.
Dynamic Analysis 동적 분석
로컬 환경에서 악의적 파일이나 메일을 분석하기 보다는 샌드박스 환경에서 실행하고 조사해야 함.
Browserling(웹 브라우저 서비스)같은 툴을 쓰면 이메일에 포함된 웹 주소를 검사할 수 있는데, 브라우저에 영향을 받지 않고 취약점으로부터 보호받을 수 있다는 장점이 있지만 악성 파일을 실행할 수 없어 분석을 할 수 없음.
일반적으로 사용하는 샌드박스
VMRay
Cuckoo Sandbox
JoeSandbox
AnyRun
Hybrid Analysis (Falcon Sandbox)
여기 위험성이 높은 피싱 메일 예시를 보면 오피스 문서가 VBA macro가 아닌 Excel Macros를 포함하고 있다
다른 피싱 방법
1. 구글/마이크로소프트 같은 클라우드 스토리지 서비스 사용
: 사용자가 보기에 무해해 보여서 속이기 쉬움
2. 무료 서브도메인 서비스
: 서브도메인 Whois 정보를 조회할 수 없어 분석하는 사람 입장에서는 착각할 수 있음
3. form 어플리케이션 사용
: 안티바이러스 소프트웨어에서 탐지되지 않을 수 있고 google form의 경우 Whois 정보는 도메인이 구글에 속해서 분석가를 속일 수 있음
확인문제 다 맞혔다
'Defensive' 카테고리의 다른 글
[LetsDefend] How to Investigate a SIEM Alert? SIEM 경고 분석조사 (0) | 2025.02.25 |
---|---|
[LetsDefend] SIEM 101 - SIEM의 기본에 대하여 (0) | 2025.02.25 |
Vulnerability Management :: WordPress 취약점 스캐너 WPScan 문제풀이 (0) | 2025.02.22 |
Vulnerability Management :: WordPress 취약점 스캐너 WPScan (0) | 2025.02.22 |
Vulnerability Management :: 취약점 스캐너 툴 OpenVAS (0) | 2025.02.16 |