반응형

워게임/Root Me 108

[Root Me] Python - Server-side Template Injection Introduction - 웹해킹 / SSTI

비교적 최근에 출제된 웹해킹(SSTI) 문제이다. SSTI란 Server Side Template Injection의 약자로 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 문제 페이지에 접속하면 이런 화면이 나온다. 사용자에게 title과 page content를 입력을 받고 있다. 시험삼아 test title / test content 라고 각각 입력을 한 뒤, Render your page! 버튼을 눌러줬다. 그러면 이렇게 내가 입력한 값이 까만 화면에 하얀 글씨로 출력이 된다. 이게 이 웹페이지 기능의 전부이다. SSTI 공격을 할때는 먼저 서버..

워게임/Root Me 2022.05.24

[Root Me] CRLF - 웹해킹

20점짜리 웹해킹 문제 문제 제목의 CRLF는 Carriage-Return, Line Feed 의 약자인데 쉽게 생각하면 그냥 줄바꿈, 엔터를 의미한다. 문제 페이지에 접속하면 이렇게 로그인 창이 있고, 아래쪽에는 인증 로그가 보인다. admin이 인증에 한번 실패한 뒤 로그인에 성공했고, 그다음 guest가 로그인에 실패한것을 알 수 있다. 시험삼아 hello / hi 를 입력해서 로그인을 시도해봤는데 아래쪽에 hello가 로그인에 실패했다는 로그가 출력되는걸 확인했다. 아무래도 로그를 속여서 admin 으로 로그인을 하면 되는듯 하다. f12를 눌러서 개발자도구로 들어가 본다. 개발자도구에서 해당 페이지의 웹 소스를 볼 수 있는데 사용자 ID를 입력하는 부분의 HTML 코드를 찾아본다. 이라고 적혀있..

워게임/Root Me 2022.05.09

[Root Me] Install files - 웹해킹 / Directory Listing

Install files 웹해킹 문제이다. 문제 설명을 읽어보면 You know phpBB? 라고 적혀있다. phpBB를 이번 문제 풀면서 처음들어봤는데 검색해보니 PHP 기반의 전자 게시판 프로그램이라고 한다. 전 세계적으로 많이 쓰이고 있는 프로그램인것 같다. 문제 페이지에 접속해보면 이렇게 아무것도 없는 흰 화면만 덜렁 나온다. 문제 제목이 install file 이니 뭔가 phpBB 설치와 관련된 것이라고 생각해서 검색창에 "phpBB 설치" 이런식으로 검색을 해봤다. 그 중 한 웹페이지를 통해 phpBB가 phpBB/install/index.php 경로에서 설치할 수 있는걸 알게 되었다. 해당 경로로 바로 접근해 봤는데 404 Not Found 에러가 났다. 이것저것 해보면서 시행착오를 겪다가 ..

워게임/Root Me 2022.05.06

[Root Me] Job Interview - 포렌식 / RDP Cache / BMC

Root Me는 포렌식 문제가 재밌는거 같다. 문제 설명을 읽어보면 미국 국가안보국(NSA)에 포렌식 수사관으로 면접을 갔는데 주어진 파일을 분석해서 실력을 증명해야 한다고 한다. 이정도 수준의 문제가 NSA 인터뷰 문제면 그냥 합격일텐데.. 주어지는 파일은 image_forensic.e01 파일이다. 확장자가 e01인 파일은 Encase 이미지 파일이다. FTK Imager 라는 프로그램을 이용해서 열어볼 수 있다. (https://accessdata.com/product-download/ftk-imager-version-4-5) FTK Imager를 실행시켜서 lmage File을 선택해준다. 그다음 주어진 image_forensic.e01 파일을 선택해주고 Finish 버튼을 눌러주면 된다. 이미지..

워게임/Root Me 2022.05.04

[Root Me] Active Directory - GPO - 포렌식 / Wireshark / PowerShell

Active Directroy 관련된 포렌식 문제 Active Directory는 마이크로소프트가 윈도우 환경에서 사용하기 위해 개발한 기능이다. 윈도우 기반 시스템들을 네트워크 기반으로 연결해서 이들을 위한 인증 서비스를 제공한다. 문제 제목에 있는 GPO는 Group Policy Object의 약자로 Active Directory에서 사용자 및 컴퓨터 계정의 작업 환경을 제어하는데 사용할 수 있는 다양한 고급 설정을 용이하게 하는 기능이다. 문제파일로 pcap 파일이 주어지는데 이 네트워크 캡처 파일을 분석해서 관리자의 암호를 찾으라고 한다. 주어진 c12.pcap 파일은 Wireshark를 이용해서 열어볼 수 있다. 패킷이 653개로 그렇게 많은편은 아니다. 이 패킷파일에서 관리자의 암호를 어떻게 ..

워게임/Root Me 2022.04.27

[Root Me] Ugly Duckling - 포렌식 / PowerShell / USB

Root Me에서 맨날 웹해킹 문제만 풀다가 기분 전환 겸 풀어본 포렌식 문제 상당히 재미있는 문제였다. 문제 설명을 읽어보면 CEO의 컴퓨터가 손상된 것으로 보이는데, 인턴 기간에 월급을 제대로 받지 못한 직원이 의심스럽다고 한다. 해당 직원의 책상에서 발견된 USB 스틱에서 바이너리 파일을 발견했다고 하는데 이 바이너리 파일을 분석해 달라고 한다. 이게 바로 문제에서 주어지는 file.bin 바이너리 파일이다. 해당 파일을 HxD 프로그램으로 열어보면 이런 내용들이 들어가 있다. 도무지 무슨 내용인지 알 수 가 없다. 대체 무슨 파일일까 고민해보다가 구글에 검색해봤다. 문제 제목인 ugly duckling 과 usb를 조합하여 검색해 봤더니 Hak5 라는 사이트에서 USB Rubber Ducky 라는..

워게임/Root Me 2022.04.26

[Root Me] HTTP - Verb tampering - 웹해킹 / 패킷변조

15점짜리 웹해킹 문제 사실 이 문제를 통해서 Verb tampering 이라는 말을 처음으로 들어봤다. 문제 설명을 읽어보면 security establishment를 bypass하라고 적혀있다. 무슨 뜻인지 감이 잘 안오니 일단 문제페이지에 접속해본다. 문제페이지에 접속해보면 이렇게 로그인 창이 바로 뜬다. 아무래도 bypass 하라는것은 이 로그인 창인것 같다. 로그인에 실패하면 이런 에러메세지가 뜬다. 문제 제목인 Verb tampering 을 검색해봤더니 HTTP 요청 메서드를 변조하는 공격이라고 한다. HTTP 요청 패킷 맨 앞에는 요청의 성격을 나타내는 메서드가 오는데 이 메서드를 다른것으로 바꿔서 요청을 서버로 보내는 것이다. Burp Suite 도구를 이용해서 문제 페이지에 접속할때 패킷..

워게임/Root Me 2022.04.25

[Root Me] HTTP - Improper redicect - 웹해킹

15점짜리 웹해킹 문제 문제 설명을 읽어보면 Get access to index 라고 적혀있다. index 페이지로 접근을 해야하나 보다. 문제페이지에 접근하면 로그인 창이 나온다. 당연히 ID와 비밀번호를 모르기 때문에 로그인할 수 없다. 아까 문제 설명에서 index에 접근해보라고 했으니 index.php 페이지에 접근을 시도해본다. 주소창에 이렇게 index.php 라고 입력을 하면 자동으로 다시 login.php 페이지로 redirect 된다. 자세히 보기위해 f12를 눌러 개발자도구의 네트워크 탭을 이용해본다. 보이는것처럼 index.php로 접근을 할 경우 상태코드가 302 Found 가 오게 된다. 302 코드는 클라이언트가 요청한 리소스가 Location 헤더에 주어진 URL로 일시적으로 ..

워게임/Root Me 2022.04.22

[Root Me] HTTP - POST - 웹해킹 / 패킷변조

15점짜리 웹해킹 문제 문제 설명을 읽어보면 Top score를 얻기 위한 방법을 찾아보라고 한다. 문제 제목에 나와있는 POST는 HTTP 요청 패킷에서 사용하는 메서드의 종류 중 하나이다. POST 메서드를 사용하게 되면 서버로 데이터를 전달할 수 있다. 흔히 보는 로그인 창에서 로그인을 할때, 게시판에 게시글을 작성할때 POST 메서드를 사용한다. 문제페이지에 접속하면 이런 화면이 나온다. 아래있는 버튼을 클릭해서 999999 점을 넘으면 되는 문제인듯 하다. Give a try! 버튼을 누르면 위 처럼 랜덤한 숫자가 생성된다. 999999가 넘는 숫자가 나올때까지 버튼을 누르라는 의도인것 같다. Burp Suite 도구를 사용해서 Give a try! 버튼을 눌렀을때 웹 요청 패킷을 살펴본다. (..

워게임/Root Me 2022.04.21

[Root Me] HTTP - Headers - 웹해킹 / 헤더변조

15점짜리 HTTP 헤더변조 문제 문제 설명을 읽어보면 웹페이지의 관리자 권한으로 접근하라고 한다. 우선 문제페이지에 접속해본다. 접속을 하면 이런 화면이 나온다. Content is not the only part of an HTTP response! 라는 문구가 보이는데 콘텐츠가 HTTP 응답의 모든 부분이 아니라는 말이다. 문제 제목이 Header 이기 때문에 헤더를 먼저 살펴보도록 하자. f12를 눌러 개발자도구에 들어간 후 네트워크 탭을 선택한다. 그상태에서 웹페이지를 새로고침 하면 위처럼 요청/응답 패킷을 볼 수 있는데 응답 패킷의 헤더를 살펴보니 Header-RootMe-Admin 라는 이름의 헤더가 보이고, 그 값이 none 인걸 확인할 수 있다. 해당 헤더를 변조시켜 보자. https:/..

워게임/Root Me 2022.04.21
반응형