본문 바로가기
CTF, 워게임 문제 풀이/Try Hack Me

Agent Sudo 문제 풀이

by secumark 2024. 3. 26.
728x90

 

 

 

 

앞부분 저장안돼서 날아감.. ^^

 

 

 Task3 - Hash cracking and brute-force 

 

 
- FTP password
 
브루트포스 공격을 해야하는 것 같다. 바탕화면에 있는 tool 폴더에 들어가보면 Password attacks을 할 수 있는 툴들이 여러개 있다. Hydra를 한번 사용해보자.
 
 
 
 
 
 
타겟 ip는 10.10.131.93이다.
 
보통
$ hydra -l [username] -p [password file] [target] [service]

 

 

이런식으로 많이 쓰인다.

 

hydra를 실행하면

예시로:  hydra -l user -P passlist.txt ftp://192.168.0.1 이렇게 알려줌.

 

일단 task2에서 우리가 알고자 했던 에이전트의 이름이 chris니까 username에 chris를 하고, 패스워드파일은 그냥 wordlist 폴더 안에 있는 파일 아무거나 입력해봤다.

 

hydra -l chris -p best1050.txt ftp://10.10.131.93

 

 

1분 정도 공격을 시도하였고, 21번 포트, ftp 서비스 공격에 chris라는 이름이 10.10.131.93 ip에 crystal이라는 비밀번호로 접속하고 있다는 것을 알 수 있다.

 

- Zip file password

 

압축파일의 비밀번호를 찾아내라고 한다. 보통 압축파일은 존 더 리퍼를 사용한다. hint에도 적혀있다. 

 

 

 

 

ftp로 chris한테 접속했더니, To_agentJ.txt라는 파일이 있었다. 이걸 가져와서 읽어봤는데, 진짜 사진은 j의 디렉터리 안에 있다고 한다. 그리고 이 비밀번호는 fake picture안에 들어있다고 함.
 
 
 
 
요런 fake picures들이 있는데, steghide로 추출을 해보려고 하니까 비밀번호를 알 수가 없어서 일단 이 안에 어떤 파일이 있는지 확인해봤다.
 
 
 
 
 
 
png 파일을 보니까 zip 파일이 들어있다.
 
extract 하는 명령어는 -dd랑 -e가 있어서 -e로 추출을 해봤다.
 
 
 
다음과 같이 4개의 파일이 추출되었다. zip파일을 crack 할 수 있는 툴을 검색해봤는데, zip2john이라는 툴이랑 fcrackzip이라는 툴이 있다. fcrackzip은 툴 설치가 안되어 있어서 zip2john을 사용해봤다.
 
 
이런식으로 입력하면 된다길래 해봄.
 
 
 
zip.hashes 파일에 해시값이 들어있어서 이걸로 john the ripper를 한번 더 사용해주면 된다. 
 
그럼 비밀번호가 alien이라고 나옴!
 
 

 

- steg password

cute-alien.jpg의 비밀번호를 묻는 것 같다. 

 일단 unzip 8702.zip의 압축을 해제하고 싶은데, skipping: To_agentR.txt라며 비밀번호 자체를 입력할 수가 없다. 검색해보니까 이런 경우는 7z으로 압축 해제를 하면 되는 것 같다.

 

 

옵션을 참고해서 7z e 8702.zip 명령어를 입력해봤다.

 

 

지금 8702.zip안에 To_agentR.txt 파일이 들어있는데, 현재 폴더 안에 To_agentR.txt라는 빈 파일이 또 있어서 이 빈 파일을 덮어쓸거냐고 물어본다. 그리고 비밀번호는 alien을 입력해주고!

 

 

To_agentR.txt 파일을 읽어보니 그 사진을 QXJlYTUx에 보내라고 한다. cute-alien.jpg의 비밀번호가 이걸까?.. 싶었는데 아니었다.

 

 

근데 뭔가 암호화된 문자 같아서 혹-시 몰라서 base64 디코딩을 해봤는데 Area51이란다... 하지만 이것도 cute-alien.jpg의 비밀번호는 아님.... 뭐지?

 

(분명 정답에 Area51를 입력했을 때 틀렸다고 했는데 1분 정도 후에 다시 해보니 맞았다;;)

 

 

하지만 여전히 터미널에서는 steghide 비밀번호가 맞지 않다. 

 

^^..

폴더가 잘못됐다. cute-alien.jpg 파일은 바탕화면 폴더에 있는데 ^^;;;

 

 

message.txt 파일로 추출됐다!

 

 

- Who is the other agent (in full name)?

 

 

이 에이전트의 full name은 james였다.
 
접속 비밀번호는 hackerrules!란다.
 

 

 
- SSH password
 

 

ftp로 접속하려고 하니 500OOPS: vsftpd: refusing to run with writable root inside chroot()라고 한다. vsftpd는 리눅스 서버에서 가장 흔하게 사용되는 ftp 서버.

 

 

ssh로 접속해봤는데 접속이 된다. 정답에는 hackerrules!를 입력하면 됨.

 

 Task 4: Capture the user flag 

 

- what is the user flag?

 

 user_flag는 홈 디렉터리에 user_flag.txt 파일이 있어서 이걸 읽었고, 비밀번호에 대입했다.

 

- What is the incident of the photo called?

어떤 사진에서 발생한 사건? 같은 걸 묻고있다. 보면 Alien_autospy.jpg라는 이미지 파일이 하나 있는데 이 파일에 대해서 묻고 있는 것 같다. 힌트를 보니 Reverse image and Foxnews 라고 .. 적혀있다.

 

일단 저 사진파일을 내 서버에 가져오고 싶다.

 

scp 명령어를 사용해서 다운로드 했다. -> scp user@ip:서버파일경로  로컬저장경로 

 

 

 

 보니까 진짜 에일리언 사진이 있다ㅠ reverse image라고 적혀있었으니 구글에 이 이미지를 올려봤다.

 

 

확실하게 결과가 안나오는데, 무슨 rosewell incident 라는 제목이 여러개 보인다. 아무래도 fox news에서 찾으라고 하는 거 같은데, 검색 결과가 너무 많아서 그냥 사진 대신 fox news alien autospy라고 검색했다.

 

 

 

그리고 맨 위에 'Rosewell alien autopsy'라는 제목이 있어서 이 제목을 입력했더니 정답!

 

 

 Task5: Privilege escalation 

 

- CVE number for the escalation 

privilege escalation은 권한 확대. 그러니까 권한 상승 공격에 자주 사용된다. 

 

 

sudo 명령어로 이것저것 봄

 

 

저 (ALL, !root) /bin/bash가 몰라서 구글에 검색해봤는데, CVE-2019-14287이라는 취약점이 있어서 혹시 이건가..? 싶어서 입력해봤는데 정답이다.

 

https://www.igloo.co.kr/security-information/sudo-%EC%B7%A8%EC%95%BD%EC%A0%90-%EB%B6%84%EC%84%9D-%EB%B0%8F-%EB%8C%80%EC%9D%91%EB%B0%A9%EC%95%88-part-1/

 

이글루 시큐리티 홈페이지에 관련 취약점 분석에 대한 내용이 나와있어서 참고했다. 이 취약점은 일반 사용자에게 sudo를 허용하지 않는 정책이 적용된 시스템에서 이를 우회해 루트 권한을 획득할 수 있는데, sudo를 사용하는 거의 모든 리눅스/유닉스 환경에서 exploit이 가능하다고 한다.

 

/etc/sudoers 파일에 이런식으로 설정을 해놓으면, 허용 명령어는 패스워드 없이 사용할 수 있다는 뜻이다.

 

sudo 명령어에서 -u 옵션은 사용자명 또는 UID로 인식을 하는데, 특정 버전 이하의 유틸리티에서 이 UID 값을 -1 같은 음수나 최대 정수로 입력하면 검증 미흡으로 취약점 익스플로잇이 가능하다는 것이다.

 

 

원래 이렇게 하면 안되는게 맞는데

 

 

이런식으로 -u에 -1 값을 주고 /bin/bash를 하면 root로 권한 상승이 가능해진다. 그런데 여기서 -1 앞에 #는 왜 붙는건지 모르겠다.

 

- What is the root flag?

 

어쨌든 root로 권한 상승을 성공했으니 root 홈 디렉터리에 가봤다. root.txt 파일이 하나 있어서 읽어봤는데, flag 값이 들어있었다!

 

 

- Who is Agent R?

 

마지막으로 보너스 문제가 하나 들어있었다. Agent R이 누구냐?

정답은 root.txt 파일의 맨 마지막 줄에 있다. Deskel a.k.a Agent R

 

728x90

'CTF, 워게임 문제 풀이 > Try Hack Me' 카테고리의 다른 글

Benign 문제 풀이  (0) 2024.05.02
Investigating with Splunk 문제 풀이  (0) 2024.05.02
NMAP 문제 풀이  (0) 2024.04.01
Blue 문제풀이  (0) 2024.03.29
Anthem 문제 풀이  (0) 2024.03.27

댓글