일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- active recon
- SQLi
- War Game
- ssrf
- 파일 업로드 취약점
- Cookie
- tryhackme
- BANDiT
- Recon
- php 파일 업로드하기
- Cryptography
- php file upload
- Reconnaissance
- php To Do List
- php 로그인 페이지 만들기
- FTZ
- Leviathan
- THM
- sql injection
- OS Command Injection
- Server Side Request Forgery
- active reconnaissance
- php
- privilege escalation
- overthewire
- file upload
- over the wire
- Authentication
- php login page
- access control
- Today
- Total
R's Hacking Daily Log
Wgel 본문
오늘도 target ip의 port scan으로 시작한다.
nmap 결과 22 & 80 port가 열려있다고 한다.
80 port로 접속한 모습이다.
일단 source code를 확인해 봤다.
중간에 주석처리된 글이 있는 데 Jessie라는 사람이 website를 관리하는 거 같다.
? user = Jessie
target ip에 gobuster로 directory를 찾아보니 /sitemap이라는 directory가 나왔다.
하지만,, 수상해 보이는 정보를 얻지 못해서 다른 directory를 찾아보기로 했다.
/sitemap에 gobuster를 실행하니 /.ssh directory를 찾아냈다.
보통은 /.hta, /.htpasswd, /.htaccess까지는 접근이 불가해도 출력되는 데
/.ssh가 출력된 건 처음 봤다. 굉장히 수상하다-!!
/sitemap/.ssh 로 접속한 모습이다.
수상했던 느낌대로 id_rsa 파일이 업로드되어 있는 걸 볼 수 있다.
id_rsa 파일 내용으로 ssh_key이름의 파일을 만들고 권한까지 설정했다.
아마 아까 알아낸 Jessie라는 사람의 이름으로 ssh에 접속할 수 있지 않을까 싶다.
ssh_key를 private key로 사용하는 -i switch(option)을 사용해 ssh 접속을 시도해 보니
성공했다!!!
잽싸게 user_flag.txt 파일을 읽어준다.
user.flag Get!!
sudo -l을 실행해 보니 wget을 사용할 수 있다고 한다.
GTFobins > wget의 file download 내용이다.
"wget $URL -O $LFILE"을 사용해 root 권한을 취득해 볼 계획이다.
일단 root 권한의 비밀번호를 하나 만들어 암호화시켜 준다.
crypt.crypt()를 실행하면 알아서 만들어 준다.
위의 사진은 root의 비밀번호를 heyhey로 지정해서 암호화한 과정이다.
암호화된 문자열을 /etc/passwd를 copy 한 password 파일 내용에 넣어준다.
원래는 "root:x:0:0:root:/root:/usr/bin/zsh"인데,
x 부분에 암호화 문자열을 넣어주고 /usr/bin/zsh를 /bin/bash로 수정한다.
그리고 http server를 열어놓으면 공격자 terminal 세팅을 끝.
이번엔 jessie terminal로 가서, 앞에서 알아낸 sudo wget을 사용할 거다.
8000 port로 공격자 서버에 있는 password 파일을 가져와 /etc/passwd에 저장하겠다는 명령어이다.
해당 명령어를 실행하기 전, jessie의 원래 /etc/passwd 파일을 /dev/shm에 copy 해놨다.
파일을 정상적으로 다운로드하고 나면, /etc/passwd를 읽어봤을 때 공격자 terminal에서 만든 password 파일 내용을
볼 수 있을 것이다.
그렇다는 건!!!
위에서 공격자가 마음대로 지정한 비밀번호로 jessie terminal에서 root로 계정 인증을 할 수 있다는 의미이다.
이제 root로 사용자를 전환하자. (su command = switch user)
password는 아까 설정한 "heyhey"
입력하고 나면 root 권한의 shell을 얻은 걸 볼 수 있다.!! (OoO)
잽싸게 root_flag.txt도 읽어주면 ~ root.flag Get!!
sudo -l을 실행했을 때,
wget이 나온 게 처음이라 이 문제를 처음 시도했을 때 몇 초 동안 ..엥? (O_O) 하고 있었다. ㅋㅋ
/etc/passwd & /etc/shadow에 대해 어느 정도 공부하고 나니 문제를 해결할 수 있었던 거 같다.
root 권한을 얻기 위해 나름 새로운 시도를 해본 기분이었다.
'TryHackMe > Challenge - WriteUp' 카테고리의 다른 글
Overpass (2) (0) | 2023.02.28 |
---|---|
Overpass (1) (0) | 2023.02.27 |
Easy Peasy(2) (0) | 2023.02.25 |
Easy Peasy(1) (0) | 2023.02.25 |
Brooklyn nine-nine (0) | 2023.02.18 |