BHBT 오픈 기념 할인 이벤트 참여
hiwate16@gmail.com
본 블로그의 내용만으로는 실습을 진행하기 어려우니 위 출처에 들어가 영상을 보며 실습해보기 바랍니다.
라쿤 City 워게임
"라쿤시티"는 레드라쿤에서 제공하는 해킹에 필요한 기초 리눅스 커맨드 및 시스템 해킹을 연습할 수 있는 워게임입니다. 이 워게임을 통해 다양한 테마 챌린지를 수행하며 해킹에 필요한 기초 커맨드와 기술을 익혀보세요!
레드라쿤 TryHackMe 참여 링크
모의해킹 기초: https://tryhackme.com/jr/grootsecurity
1. Nmap으로 정보 수집하기

nmap 옵
-sV : 타깃 머신에서 서비스 중인 서비스를 버전 정보등을 스캔
-oA : 스캔 결과를 해당 형식으로 저장
nmap -sV -oA "cmiyc_map" 10.10.26.32
포트의 서비스, 버전 정보등을 스캔하고 결과를 cmiyc_map 형태로 저장 해라
결과로 열려있는 포트 총 3개를 확인하고 해당 포트들에서 어떤 서비스를 제공하고 어떤 버전을 사용하는지 확인 한다.
2. FTP 서버에 접속한다.
접속을 할때 우리는 id,pw를 모르는 상태이다.
인터넷에 FTP 취약점을 검색하면 여러가지 cheet sheet가 있다. 이것을 한번 확인해봐라
그중 이번 실습에서는 Anonymous login을 사용할 거다.

3. FTP 서버에 파일이 있는지 확인하자

파일이 있는지 확인하지 temporary_pw.txt 파일이 있다.
이것을 ftp서버에서 Host로 파일을 가져오기 위해 get 명령어를 사용해 Down을 한다.
4. FTP 서버에서 가지고 온 파일을 열어보자

HOST에 temporary_pw.txt 파일을 확인하고 열어보니
docx 파일을 봤는지 봤다면 읽어보라고 되어 있다.
하지만 FTP 서버에서 파일을 확인해봤을때 dock 파일은 본적 없으니 숨겨졌는지 확인해 보자
5. FTP 서버에 docx 파일이 숨겨져 있는지 확인하자

숨겨진 파일을 확인하니 .ssh_creds.docx 파일이 있었고
이를 HOST로 다운받았다.
파일명 앞에 "."이 붙어 있는 파일은 숨겨진 파일을 의미한다.
숨겨진 파일을 보고 싶다면 ls 명령어의 "-a" 옵션을 사용하면 된다.
6. FTP 서버에서 다운 받은 docx 파일을 열어보자

host에 FTP 서버에서 다운받은 파일을 확인하고
kali에서는 워드가 없기에 libreoffice를 통해 읽어봤다.
파일의 내용은 "내이름 알지? 이 문서는 내가 만들었고 이름이 ssh의 id이다. 그리고 혹시 몰라 pw는 인코딩을 해 놓았다" 라고 되어 있다.
파일 제작자를 알기위해 exiftool을 사용해 제작자를 확인했다.
데이터에 대한 정보를 구조화한 데이터를 메타데이터라고 한다.
위 문서에서는 .ssh_creds.docx 파일의 자세한 정보를 구조화한 메타데이터를 확인하기 위해 exiftool을 사용했다.
7. ssh의 id와 pw를 가지고 로그인을 하자
ssh의 id는 docx파일의 제작자 이름인 harry이고
pw는 docx파일에 있는 인코딩된 코드를 디코딩 하면된다.

8. 이제 ssh에서 Flag를 담고 있는 user.txt를 찾아보자

find 명령어를 사용해 user.txt 파일을 찾으니 여러 디렉토리가 나온다.
우리는 Flag의 형태를 알고 있으니 grep 명령어를 사용해 어떤 디렉토리의 user.txt파일에 Flag가 있는지 확인했다.
- 만약 Flag가 들어있는 파일이 100개가 넘는다면 하나하나 읽어볼 수 없으니 위처럼 grep을 이용하는게 좋다.
9. 이제 flag.txt를 찾아보자

그냥 find를 사용해 flag.txt를 검색하니 permisstion denied가 너무 많이 나와 permisstion denied가 나오지 않는것만 확인을 하니 아무것도 나오지 않는다.
권한이 없어 denied가 되었으니 root 권한을 pw없이 사용할 수 있는게 있는지 확인해 보니 find 디렉토리가 나왔다.
sudo 명령어와 find를 이용해 root 권한을 사용해 찾았더니 flag.txt 파일의 위치를 찾았다.
파일을 읽기위해 cat을 사용하니 권한이 없다하고 sudo를 사용하니 root의 비밀번호가 필요하다.
[위에서 찾은 pw는 FTP서버의 pw라서 ssh에서는 사용하지 못한다.]
10. 권한을 받아 flag.txt를 읽자
suid를 이용해 권한이 있는 바이너리가 뭐가 있는지 확인하고 그 바이너리를 통해 root권한을 대행하자
(해당 내용의 자세한 설명은 이론영상에 따로 있습니다.)

타입이 file인것을 SUID 권한이 있는 파일을 찾아서 나한테 리스팅을 해줘
find 옵션
-type : 일반적인 파일, 심볼릭 링크, 디렉토리 3개중 한개의 타입을 지정한다.
-perm : 뒤에 오는 숫자가 의미하는 퍼미션을 갖고 있는 파일을 찾는다.
-exec : find로 찾은 결과에 대해 원하는 명령을 적용시킬 수 있다.
4000은 suid의 절대표기값이다.
SUID 권한이 있는 파일중 base64를 사용해 본다.
base64로 flag.txt파일을 인코딩하니 base64의 형태로 코드가 나온다.
인코딩된 코드를 다시 복호화 하니 찾던 flag.txt의 내용이 나온다.
'레드라쿤(유튜브) > 따라하는 모의해킹' 카테고리의 다른 글
| 해킹 실습 SUID Bit, Reverse Shell, LinEnum.sh (2) | 2023.12.24 |
|---|---|
| 해킹 실습 Robots.txt / Directory BruteForcing (2) | 2023.12.20 |
| 해킹 실습 Remote Web Adm (2) | 2023.12.19 |
| 해킹실습 smb-vuln-ms17-010 취약점 (2) | 2023.12.19 |
