중간자 공격
- 공격자가 두 개의 시스템의 사이에 끼어들어 데이터를 가로채거나 조작하는 공격
- 클라이언트와 서버가 암호화된 채널을 이용하면서 ARP 리다이렉트, ICMP 리다이렉트, ARP스푸핑과 같은 공격이 무용지물 되어 생겨난 공격 방법
중간자 공격 영향도
IP Spoofing
- 공격자가 중간자공격(MITM)을 이용하여 IP 주소를 변조
- 기업 네트워크와 같이 IP 주소를 검증하고 있는 네트워크에 접근 시 패킷에 탈취한 IP 주소를 삽입하여 접근이 가능하도록 하는 공격
이메일 하이재킹
- 공격자가 중간자공격(MITM)을 이용하여 이메일에 포함된 금융 정보, 개인 정보 등 중요 데이터를 탈취하는 공격
브라우저 쿠키 탈취
- 공격자가 중간자공격(MITM)을 이용하여 HTTP Cookie 헤더 내 존재하는 인증정보를 탈취하는 공격
- Stateless, connectionless
SSH MITM
- 클라이언트가 서버에 최초 접속할 때 중간에 끼어들어 SSH 서버 또는 SSH 클라이언트처럼 행세
1. 클라이언트가 서버에 SSH 접속 요청 시 공격자가 ARP 스푸핑과 같은 공격으로 SSH 서버인 것처럼 행세하여 자신의 공개키를 전송하고, 공격자는 SSH 서버에게 클라이언트인 것처럼 공개키를 요청
2. 클라이언트가 서버에 암호화된 데이터를 전송하면 공격자는 자신의 사설키와 클라이언트의 공개키로 복호화하여 내용 확인 / 복호화한 내용을 자신의 사설키와 서버의 공개키로 암호화하여 SSH 서버에 전송
3. 서버가 클라이언트에게 보낸 데이터도 동일하게 복호화/암호화 수행하여 클라이언트에게 전송
SSL
- 클라이언트와 웹 서버 사이에 전송되는 데이터를 암호화하기 위해 사용
- ex) http > https
SSL 동작 과정
1. Client Hello : 클라이언트는 서버에게 지원 가능한 방식 (암호, 키 교환, 서명 압축) 제공
2. Server Hello, 서버 인증서 : 서버는 클라이언트에게 지원 가능한 방식과 공개키가 포함된 서버 인증서 발송
3. Session Key 전송 : 서버 인증서의 발급 여부를 신뢰 기관에 확인하고 암호화 키로 사용될 대칭키를 랜덤으로 생성하여 서버의 공개키로 암호화해서 전송
4. 서버 데이터의 전송 준비 완료 메시지 전송 : 세션키를 자신의 사설키로 복호화하고 종결 메시지 발송
5. 클라이언트 데이터 전송 준비 완료 메시지 전송 : 종결 메시지 발송
SSL MITM
- SSL 스니핑과 SSL Strip 공격이 존재
SSL 스니핑
- SSH MITM과 유사하게 임의의 인증서를생성하여 클라이언트에게 보내 별도의 SSL 세션을 생성하여 스니핑 수행
1. 클라이언트 -> 공격자: 클라이언트는 서버에 접속하려고 하지만, 공격자가 중간에 위치하여 트래픽을 가로챕니다.
2. 공격자 -> 클라이언트: 공격자는 서버를 사칭하여 가짜 SSL 인증서를 클라이언트에게 보냅니다.
3. 공격자 -> 서버: 공격자는 클라이언트로부터 받은 데이터를 복호화하고 다시 암호화하여 실제 서버로 보냅니다. 이 과정에서 공격자는 서버와도 별도의 SSL 세션을 설정합니다.
4. 클라이언트 <-> 공격자 <-> 서버: 클라이언트와 공격자 간에 하나의 SSL 세션, 공격자와 서버 간에 또 하나의 SSL 세션이 설정됩니다. 공격자는 이 중간 위치에서 통신 내용을 복호화하고 읽을 수 있습니다.
SSL Strip
- SSL/TLS 연결을 해제하여, 클라이언트와 암호화되지 않은 HTTP 연결을 생성
1. 클라이언트 -> 공격자: 클라이언트는 서버에 HTTPS 연결을 시도합니다.
2. 공격자 -> 서버: 공격자는 HTTPS 요청을 서버로 전달합니다.
3. 서버 -> 공격자: 서버는 HTTPS 응답을 공격자에게 보냅니다.
4. 공격자 -> 클라이언트: 공격자는 클라이언트에게 HTTP로 응답을 보냅니다, 이때 공격자는 SSL을 제거하여 클라이언트와 암호화되지 않은 연결을 만듭니다.
결론
중간자 공격이란것은 SSL/TLS가 활성화 되면서 ARP 리다이렉트, ICMP 리다이렉트, ARP스푸핑과 같은 공격들을 사용할 수 없어 암호화 세션을 생성하여 스니핑을 하거나 암호화 연결을 해제시키는 방법이라고 보면된다.
'정보보안 > 모의해킹' 카테고리의 다른 글
루트킷 (RootKit) (0) | 2024.06.19 |
---|---|
[모의해킹] 백도어(Backdoor)와 백도어의 종류 (패스워드 크래킹, 루트킷 등) (0) | 2024.06.17 |
[모의해킹] ARP Spoofing (0) | 2024.06.13 |
[모의해킹] 스푸핑(Spoofing) ICMP, DNS, DHCP (0) | 2024.06.12 |
[모의해킹] 스캐닝 (Scanning) 및 nmap을 이용한 스캐닝 (2) | 2024.06.11 |