본문 바로가기

Hack/Network15

이메일 인증 프로토콜(SPF, DKIM, DMARC)이란? 이메일이 생겨난 이래 다른 사람의 이메일을 사칭한 공격이 정말 다양하게 발생하고 있습니다. 이를 방지할 수 있는 여러 방안이 존재하겠지만, 오늘은 그 중 SPF(Sender Policy Framework), DKIM(DomainKeys Identified Mail), DMARC(Domain Based Message Authentication, Reporting and Conformance)에 대해서 공부해보려고 합니다.SPF (Sender Policy Framework)SPF는 DNS에 메일 서버 관련 정보를 등록하여 수신자로 하여금 이메일 표시된 발송자 정보가 실제 메일 서버의 정보와 일치하는 지 확인할 수 있도록 만들어진 메일 검증 기술입니다. SPF 작동 방식SPF는 DNS Query를 통해 실제로.. 2023. 11. 26.
[CVE-2023-23997] MS Outlook EoP(Elevation of Privilege) 취약점 23년 3월 14일 Microsoft에서 약 80개의 보안 취약점에 대한 패치를 발표하였습니다. 그 중 CVE-2023-23997 취약점은 Mircosoft Outlook에서 발생하며, 권한 상승이 가능한 취약점 입니다. 해당 취약점은 공격자가 UNC(Universal Naming Convention) 경로를 포함한 확장된 MAPI(Message Application Program Interface) 속성을 사용하여 피해자에게 메시지를 보낼 때 발생합니다. UNC(Universal Naming Convention) 컴퓨터 내의 공유 파일이 접근 시 저장 장치를 명시하지 않고 파일을 확인할 수 있는 방법 예시 : \\servername\sharename\path\filename MAPI(Message Ap.. 2023. 3. 17.
[VUE JS] source map 파일을 통한 Frontend 소스 코드 획득 일반적으로 vue.js 애플리케이션을 빌드하면, 코드가 압축되어 사용자에게 제공됩니다. 이때 원래 코드의 흐름과 파일 구조가 왜곡될 수 있어, 브라우저에서 발생한 오류를 추적하기가 어려울 수 있습니다. 이러한 상황에서 디버깅을 쉽게 하기 위해 source map 파일을 제공하고 있는데, 해당 파일을 이용하여 압축된 코드를 원래의 코드로 디코딩할 수 있습니다. 그런데 만약, 실제 운영 환경에서 source map 파일이 존재할 경우 Frontend의 소스 코드를 획득할 수 있는 등의 취약점이 발생할 수 있습니다. Source Map 파일 찾기 개발자 도구 > "SourceMappingURL" 검색 > app.*.js 파일 찾기 app.*.js 경로에 .map을 붙여서 접속 시도 (app.*.js.map) .. 2023. 2. 21.
[CVE-2022-3786] OpenSSL punycode Decoding Vulnerability (Stack Buffer over Flow) 영향 받는 대상 OpenSSL 3.0.x Version (3.0.0 ~ 3.0.6) 취약점 전제 조건 해당 취약점의 경우 CA가 취약한 인증서로 서명되었거나 유효한 인증서가 아님에도 불구하고 통신을 진행할 경우에만 발생 가능한 취약점 입니다. 즉, 일반적인 환경에서 발생할 수 있는 취약점은 아닙니다. 위와 같은 이유로 OpenSSL에서도 최초 취약점 등급이었던 Critical을 High로 다운그레이드 하였습니다. 취약점 분석 해당 취약점은 Punycode Domain의 인증서 확인 및 이름 제약 조건 검사 함수인 ossl_a2ulabel에서 발생하는 취약점으로 Stack Buffer over Flow가 가능합니다. 다만, 덮어씌울 수 있는 값은 0x2e(.)으로 한정되어 있습니다. ossl_a2ulabe.. 2022. 11. 3.
[CVE-2022-3602] OpenSSL punycode Decoding Vulnerability (off-by-one) 영향 받는 대상 OpenSSL 3.0.x Version (3.0.0 ~ 3.0.6) 취약점 전제 조건 해당 취약점의 경우 CA가 취약한 인증서로 서명되었거나 유효한 인증서가 아님에도 불구하고 통신을 진행할 경우에만 발생 가능한 취약점 입니다. 즉, 일반적인 환경에서 발생할 수 있는 취약점은 아닙니다. 위와 같은 이유로 OpenSSL에서도 최초 취약점 등급이었던 Critical을 High로 다운그레이드 하였습니다. 취약점 분석 해당 취약점은 Punycode Domain의 디코딩에 사용되는 함수인 ossl_punycode_decode에서 발생하며, 4Byte의 Stack Buffer Over Flow가 가능합니다. ossl_punycode_decode에서 디코딩된 punycode의 길이를 검증하는 로직은 다.. 2022. 11. 2.
11월 1일 Releases 될 OpenSSL 취약점 정보 OpenSSL에서 11월 1일 Critical 취약점에 대한 패치를 진행할 예정이라고 발표했습니다. Forthcoming OpenSSL Releases mta.openssl.org 해당 취약점에 대한 자세한 내용은 비공개되어 있어 정확하게 어떤 취약점인지는 알 수 없지만, OpenSSL에서 Critical 취약점을 아래와 같이 설명하고 있습니다. 취약점 등급 설명 Critical 해당 취약점은 일반적인 환경에서 발생할 수 있습니다. 원격에서 서버 메모리 내의 광범휘한 공개(잠재적으로 사용자 세부 정보 노출), 서버 개인 키 손상, 임의 명령어 실행 등이 가능한 취약점들이 보통 해당 등급으로 결정됩니다. 즉, 일반적인 환경에서 서버 메모리 내 정보를 획득하거나 개인 키를 획득 및 손상 시키거나 임의 명령어.. 2022. 10. 30.
[Netfilter] MITM Tool With netfilter_queue ARP Spoofing과 IP Spoofing을 이용하여 MITM을 걸 수 있는 Tool을 개발하였습니다. 해당 Tool의 경우 공격자 (A-1), 외부 공격자 서버(A-2), 피해자(B), 통신 서버(C)로 환경이 구성되어 있을 경우 아래와 같이 동작합니다. ※ B C 통신을 B A-2 통신으로 변경할 수 있음 준비 과정 1. ARP Spoofing Tool 준비 ※ 저는 아래 포스팅에 있는 코드를 사용하였습니다. [Python Scapy] ARP Spoofing 구현 ARP Spoofing ARP Spoofing이란 ARP(Address Resolution Protocol)를 이용하여 공격 대상에게 공격자를 Gateway와 같은 다른 대상으로 속여 중간에서 패킷을 가로챔으로써 도청하거나 조작이 가능한.. 2022. 8. 28.
[Netfilter] IP Spoofing With netfilter_queue 현재 개인 프로젝트를 하고 있는데 ARP Spoofing과 netfilter_queue를 이용하여 MITM을 걸 수 있도록 Tool을 개발하고 있습니다. ARP Spoofing Tools에 대한 내용은 아래의 포스팅을 참고해주시기 바랍니다. [Python Scapy] ARP Spoofing 구현 ARP Spoofing ARP Spoofing이란 ARP(Address Resolution Protocol)를 이용하여 공격 대상에게 공격자를 Gateway와 같은 다른 대상으로 속여 중간에서 패킷을 가로챔으로써 도청하거나 조작이 가능한 공격 입니다... hacksms.tistory.com ARP Spoofing Tool(Python Scapy)과는 다르게 IP Spoofing 기능은 netfilter_queue.. 2022. 8. 28.
[Netfilter] netfilter_queue 사용 방법 netfilter_queue 설치 먼저 netfilter_queue를 사용하기 위해 linfnetlink와 libmnl을 설치해준뒤, libnetfilter_queue를 설치해줍니다. # Install libnfnetlink $ wget https://www.netfilter.org/pub/libnfnetlink/libnfnetlink-1.0.2.tar.bz2 $ tar -xf libnfnetlink-1.0.2.tar.bz2 $ cd libnfnetlink-1.0.2 $ ./configure $ make $ sudo make install $ cd.. # Install libmnl $ wget https://www.netfilter.org/pub/libmnl/libmnl-1.0.5.tar.bz2 $ ta.. 2022. 8. 28.