🔍
- NTLM 인증의 작업 프로세스
- Responder 유틸리티가 캡처하는 방법
- LFI / RFI
1. Nmap port scan
nmap -v -p- --min-rate 5000 -sV -sC 10.129.88.109
80 포트가 열려있지만 브라우저에서 접속해보면 http://unika.htb로 리다이렉션 되고 접속이 되지 않습니다.
이름 기반 가상 호스팅은 여러 도메인 이름을 호스팅하는 방법입니다.
각 이름을 단일 서버에서 사용합니다. 이렇게 하면 한 서버가 메모리 및 프로세서와 같은 리소스를 공유할 수 있습니다.
동일한 호스트 이름에서 모든 서비스를 사용할 필요 없이 주기를 수행합니다.
웹 서버는 HTTP 요청의 호스트 헤더 필드에 제공된 도메인 이름을 확인하고, /etc/hosts 파일은 호스트 이름을 IP 주소로 확인하는 데 사용되므로 /etc/hosts에 항목을 추가해야 합니다.
/etc/hosts 파일에 이 항목을 추가하면 브라우저가 호스트 이름 unika.htb를 다음과 같이 확인할 수 있습니다.
해당 IP 주소를 브라우저에 HTTP 헤더 Host: unika.htb를 포함하도록 합니다.
브라우저가 이 IP 주소로 보내는 HTTP 요청은 서버가 이 주소로 응답하도록 만듭니다.
URL을 보고, 우리는 french.html 페이지가 페이지 파라미터에 의해 로드되고 있음을 알 수 있습니다.
2. LFI (Local File Include)
http://unika.htb/index.php?page=../../../../../../../../windows/system32/drivers/etc/hosts
vars.php
<?php
$color = 'green';
$fruit = 'apple';
?>
test.php
<?php
echo "A $color $fruit"; // output = "A"
include 'vars.php';
echo "A $color $fruit"; // output = "A green apple"
?>
이 웹 페이지는 파일 포함 취약성에 취약하며 Win64에서 서비스되고 있습니다.
NTLM(New Technology Lan Manager)은 마이크로소프트에서 만든 인증 프로토콜 모음입니다.
Active Directory 도메인의 리소스에 대해 클라이언트를 인증하는 데 사용되는 인증 프로토콜입니다.
사용자가 기본 인증 팩터를 제공할 수 있기 때문에 SSO(Single Sign-On)의 한 유형입니다.
NTLM 인증 프로세스(challenge-response)는 다음과 같은 방식으로 수행됩니다.
1. 클라이언트는 사용자 이름과 도메인 이름을 서버로 보냅니다.
2. 서버는 챌린지라고 하는 임의의 문자열을 생성합니다.
3. 클라이언트는 사용자 암호의 NTLM 해시로 도전을 암호화하고 다시 전송합니다.
4. 서버가 사용자 암호(또는 동등한 암호)를 검색합니다.
5. 서버가 보안 계정 데이터베이스에서 검색된 해시 값을 사용하여 문제를 암호화합니다.
그런 다음 문자열값이 클라이언트에서 받은 값과 비교됩니다. 값이 일치하면 클라이언트는
인증되었습니다.
3. RFI (Remote File Include)
git clone https://github.com/lgandx/Responder.git
Responder.py로 리슨을 하고 unika 서버에 접속을 요청합니다.
sudo python3 Responder.py -I tun0
접속에 성공했습니다. NetNTLMv2는 challenge(랜덤 텍스트)와 암호화된 응답을 모두 포함합니다.
- Administarator / badminton
4. 관리자 권한으로 접근
대상의 WinRM 서비스에 연결하여 세션을 가져오도록 하겠습니다. PowerShell이 설치되지 않았기 때문에
기본적으로 Linux에서는 Evil-WinRM이라는 이런 종류의 시나리오를 위해 만들어진 도구를 사용합니다.
- ea81b7afddd03efaa0945333ed147fac
References
'네트워크 보안 > CTF' 카테고리의 다른 글
[Web] webhacking.kr 1번 (0) | 2022.05.27 |
---|---|
[Pwn] SelfReference/ Radare2 (0) | 2022.05.05 |
[VulnHub] Mr.Robot 🤖 (0) | 2022.03.02 |
📖 CTF 정보보안 콘테스트 챌린지북 (네트워크/패킷분석) (0) | 2022.03.02 |
📖 실전 바이너리 분석 (lvl2) (0) | 2022.03.02 |