(CTF 출제) Tomcat Manager

2024. 9. 5. 16:43·DreamHack/CTF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제화면이다.

 

개발 중이라고 하니 공사 중인 이미지를 넣은 거 같다.

 

소스코드를 봐보자

 

 

 

 

 

 

 

 

 

FROM tomcat:8.0.51-jre7-alpine

ENV RUN_USER tomcat
ENV RUN_GROUP tomcat

RUN addgroup ${RUN_GROUP} && adduser -G ${RUN_GROUP} -D -h ${CATALINA_HOME} ${RUN_USER}
RUN chown -R tomcat:tomcat $CATALINA_HOME
RUN ls -lah $CATALINA_HOME

RUN rm -rf /usr/local/tomcat/webapps/ROOT/
COPY flag /flag
COPY ROOT.war /usr/local/tomcat/webapps/ROOT.war
COPY tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml

USER tomcat
EXPOSE 8080

 

 

dockfile 이다 코드를 보면 리눅스 명령어도 쓰여있다.

 

자세히 보면

 

 

 

 

Run chown -R tomcat:tomcat $CATALINA_HOME

 

CATALINA_HOME 의 소유권을 tomcat이라는 사용자와 그룹으로 변경한다는 내용이다.

 

 

 

 

COPY flag /flag
COPY ROOT.war /usr/local/tomcat/webapps/ROOT.war
COPY tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml

 

flag 파일을 루트 디렉토리에 복사하고 tomcat-users.xml 파일에 대한 경로가 나와 있는 거 같다.

 

여기서 알수 있는 건 tomcat이라는 사용자가 있다는 것과 tomcat-users.xml 에 대한 경로를 알 수 있다.

 

다른 소스코드도 봐보자

 

 

 

 

 

 

<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0">
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="[**SECRET**]" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>
</tomcat-users>

 

tomcat-users.xml 파일이다.

 

요약하자면 tomcat 이라는 사용자에게 거의 모든 권한을 주는 거 같다

 

password는 SECRET로 가려져 있다 그러면 아까 봤던 경로를 통해서 저 파일을 확인해보자.

 

 

 

 

 

 

 

.

 

아까 문제화면에서 봤듯이 이미지가 그렇다면  LFI(Local File Inclusion)을 이용해서 내부의 파일을 확인해 보자.

 

현재 경로를 모르는 상태에서는 무조건 루트부터 시작해서 경로를 탐색해야 한다.

 

일단 해당 메시지를 리피터로 보내주도록 하자.

 

 

 

 

 

 

 

 

 

일단 지금 아는 정보는 tomcat-users.xml 에 대한 경로이니까 경로를 먼저 입력하고 상대적 경로 루트까지 내려갈 수 있게 '../'을 반복하면서 확인해 보니 xml 파일을 찾을 수 있었다 해당 파일에는 tomcat에 대한 password 가 담겨 있다.

 

password를 찾았으니 관리자 페이지로 이동해야 한다.

 

검색해서 알아낸 거지만 Tomcat Manager는 "url:port/manager/html"이라고 한다.

 

문제화면으로 돌아가 확인해 보자.

 

 

 

 

 

 

 

사용자 tomcat을 입력하고 리피터를 통해 구한 password를 입력하니 관리자로 로그인이 되었다.

 

이제 flag를 찾아야 하는데 file upload를 하는 공간이 있어 webshell를 넣도록 했다. (파일 업로드 공격)

 

webshell을 이용해 command 써서 flag를 확인해 보자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

바로 나온다.

 

문제 화면에서는 플래그의 경로는 /flag라고 미리 알려주었다.

 

 

 

 

'DreamHack > CTF' 카테고리의 다른 글

Secure Secret  (0) 2024.11.07
(CTF 출제) simple-web-request  (1) 2024.10.09
(CTF 출제) amocafe  (2) 2024.09.05
(CTF 출제) Whis-is-my-ip  (0) 2024.09.04
(CTF 출제) BypassIF  (0) 2024.09.04
'DreamHack/CTF' 카테고리의 다른 글
  • Secure Secret
  • (CTF 출제) simple-web-request
  • (CTF 출제) amocafe
  • (CTF 출제) Whis-is-my-ip
G_OM
G_OM
최대한 설명 열심히 하려고 합니다. 궁금한 거 있으면 언제든지 물어보셔도 좋습니다.
  • G_OM
    끄적끄적
    G_OM
  • 전체
    오늘
    어제
    • 분류 전체보기 (139) N
      • 모의해킹 (8) N
      • Wargame (69)
        • Linux_bandit (33)
        • Webhacking.kr (36)
      • DreamHack (52)
        • WEB (14)
        • Reverising (9)
        • System (0)
        • CTF (22)
      • Android_security (5)
      • 정보보안기사 (2)
      • IT? (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • DreamHack 에 대한 문제들...
  • 인기 글

  • 태그

    bandit20
    안드로이드
    Dreamhack
    난독화
    url encode
    Linux wargame
    워게임
    lfi
    cookies
    정보보안기사
    bandit18
    overthewire
    Cookie
    webhacking.kr
    insecurebankv2
    webhacking
    bandit
    Linux
    bandit30
    sql injection
    CTF
    wargame
    Android
    union
    bandit17
    php
    drozer
    리눅스 워게임
    리눅스
    php wrapper
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
G_OM
(CTF 출제) Tomcat Manager
상단으로

티스토리툴바