POX 2020 Write Up

문제 리스트


[Web] POX Intranet

문제 페이지에는 연구소 인트라넷 페이지가 구성되어 있다.
이 연구소 인트라넷 페이지에 제공되는 사내 클라우드에는 백신 제작에 중요한 단서가 되는 파일이 있는데,
해당 파일을 열람하기 위해서는 일반 직원의 권한이 아닌,
연구 직원의 권한이 있어야만 파일을 열람할 수 있도록 보안이 되어있다.
문제에서 요구하는 권한을 얻어서 파일을 열람할 수 있습니까?

The Challenge is laboratory Intranet Website
The lab is providing cloud services, Cloud services have important clues to produce the COVID-19 vaccine
You need the authority of the lab staff to access the file.
Can you obtain the authority required in the matter?

문제 페이지에 접속하면 다음과 같은 화면이 표시됩니다.

회원가입 후 로그인을 거쳐 메인 페이지로 접속하신 뒤 게시판(/board)로 접근하시면 다음과 같습니다.

해당 페이지 내 게시글을 읽게 되면 URL 요청으로 /read?idx=게시글ID 형식으로 요청을 하고,

아래와 같은 글 읽기 섹션이 표시됩니다.

여기서 발생하는 취약점은 Union Based SQL Injection 으로, /read?idx=게시글ID 형식으로 요청을 할 때

게시글ID 값에 Injection Query를 발생시키면 다른 데이터베이스, 테이블, 컬럼 및 행 조회가 가능합니다.

?idx=1%27%a0union%a0select%a01,2,3,4,table_name%a0from%a0information_schema.tables--%a0 

위 쿼리문을 입력 했을 시 데이터베이스 내 모든 테이블 정보의 결과를 반환합니다.

1'%a0union%a0select%a01,2,3,4,column_name%a0from%a0information_schema.columns--%a0

위 쿼리문을 입력 하였을 경우에는 테이블 내 컬럼 정보의 결과를 반환합니다.

해당 결과값에서 문제 풀이에 필요한 정보인

1%27%a0union%a0select%a01,2,3,concat(username,%a0auth_token),5%a0from%a0users--%a0

마지막으로, 위와 같이 쿼리를 조합 해주면 user테이블의 username과 auth_token 값을 알 수 있습니다.

765f615f635f635f695f6e5f65 이 값을 hex 디코딩 과정을 거치게 되면 v_a_c_c_i_n_e 이라는 값을

얻을 수 있습니다. 이제 해당 값을 통해 mypage 내 credential을 통해 계정에 관리자 인증을 합니다.

그럼 이전과 다르게, 내 정보의 credential 값이 admin 으로 변경됩니다. 이제 페이지 내 클라우드(/cloud)로

접속합니다.

클라우드 섹션에 접근하면 위 사진과 같이 aws bucket를 제공하는데, 이 bucket의 내부 저장소에 접근하여

특정 문서 파일을 다운로드 할 수 있습니다.

이제 다운로드 된 파일을 열어서 플래그를 찾아 획득합니다.

os 포맷을 해서 docx가 없는 관계상 ㅎㅎ.. 이렇게도 확인 가능합니다.

[MISC] Infected File

최근 코로나19에 따른 보안 위협의 이슈가 되고 있는데 연구소 직원이 메일 서비스를 이용하던 중, 피싱 메일의 첨부파일을 실행하여 악성 코드에 감염되었다.
해당 직원의 컴퓨터에는 코로나19 바이러스에 대한 중요한 연구 단서가 있었는데, 해당 파일이 암호화되면서 파일의 내용을 확인할 수 없게 되었는데..

암호화 되어버린 파일을 복구하여 파일의 내용을 읽을 수 있을까?

Nowadays, the world rising a issue what the cyber security threat by COVID-19.
One of the laboratory worker was using mail service.
She clicked on a phishing email that attached malicious code.
Her computer has been important evidence of research about COVID-19.
Unfortunately.. this file also encrypted then We can not open it.

Could you recover that encrypted file for us ?

우선 문제에서 제공된 파일을 다운로드 하면 암호화에 사용된 py파일과 암호화 처리 된 파일이 제공됩니다.

enc.py를 열어보면 다음과 같이 키 값에서 힌트(?) 를 얻을 수 있습니다.

그렇습니다. 키 값은 문제 풀이에 약간의 혼란을 주기 위해 origin key를 base64 인코딩 처리한 키 값입니다.

따라서 해당 키 값을 base64-decode 과정을 거쳐 주면 origin key를 얻을 수 있습니다.

http://enc.rubiya.kr (갓 루비야님)

암호화 된 모듈에 간단히 decode 해주는 로직만 만들어 주면 됩니다.

해당 코드를 실행하면 파일 암호화에 사용된 키 값을 얻을 수 있습니다.

암호화 된 파일을 풀려면 어떤 방식으로 암호화 되었는지 찾아야 하고, openssl 이라는 단서를 가지고

openssl 중 aes256 cbc 방식을 통해 파일 암호화를 풀어주면 됩니다.

openssl aes-256-cbc -d -in the_research_of_covid19.docx.encrypted -out flag.docx

암호화가 풀렸습니다. 파일을 열어 보면 플래그를 획득할 수 있습니다.

'CTF' 카테고리의 다른 글

POX 2020 CTF - VaccineWeb Write Up  (0) 2020.12.14
POX 2020 CTF - Kiban64  (0) 2020.11.25
POX 2020 CTF - Mobile Pentest Write Up  (0) 2020.11.23
DownUnderCTF - Is this pwn or web? write-up  (0) 2020.09.28

+ Recent posts