| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- lord of sql injection
- base64
- Volatility
- binwalk
- kibana
- 2018
- Strings
- beebox
- diva
- ESXi
- frida
- otter
- igoat
- logstash
- elasticsearch
- CTF-d
- Openstack
- foremost
- 인시큐어뱅크
- MFT
- Suninatas
- NTFS
- vulnhub
- Docker
- 안드로이드
- Reflected XSS
- InsecureBank
- ctf
- XSS
- SQL Injection
- Today
- Total
Information Security
Silky-CTF: 0x01 본문
해당 서버를 실행 시 아래와 같이 Silky 로그인 화면을 보여주는 것을 확인

칼리 리눅스에서 IP 주소 확인

nmap 스캔 프로그램을 이용하여 호스트만을 스캔하는 -sn 옵션을 통해 진행하여 Silky 서버의 IP 주소가 192.168.116.141 확인

IP 주소 192.168.116.141을 스캔하여 ssh, http 프로세스 확인


HTTP 홈페이지 접속 시 Apache2 Default 페이지를 확인

홈페이지에 /robots.tx 크롤링하는 페이지를 확인 시 /notes.txt 페이지가 존재하는 것을 확인

/notes.txt에 접근하면 외국어로 작성된 문장을 확인
번역 : 페이지에서 비밀번호를 꼭 삭제해야 합니다. 마지막 두 글자가 빠졌거든요. 어쨌든요.

홈페이지에 소스코드를 보면 script.js 파일을 확인

s1lKy 문자열을 확인할 수 있는 데 마지막 두 글자가 빠진 패스워드로 추측할 수 있음

crunch 도구를 이용하여 최소 7자리 최대 7자리 길이와 -t 패턴을 지정하여 ^ 특수문자, % 숫자 패스워드 사전파일 생성

hydra 도구를 이용하여 SSH 서비스 대상으로 브루트포스 공격을 진행하여 silky/s1lKy#5 계정정보를 확인

silky/s1lKy#5 계정으로 SSH 서비스 로그인 성공

권한상승을 하기 위하여 SUID 권한을 가진 파일 중 /usr/bin/sky 파일 확인

/usr/bin/sky 파일을 보면 whoami 명령어가 동작하는 것을 확인

명령어 실행 시 whoami 명령어가 실제로 동작하여 root 권한으로 실행되는 것을 확인

/tmp로 경로 이동하여 /bin/bash 쉘 스크립트를 동작하게 하는 스크립트 작성 하고 모두가 접근할 수 있도록 권한 777로 생성

환경변수를 확인하여 whoami 명령어가 동작할 수 있도록 해당 경로를 환경변수에 추가

다시 /usr/bin/sky 명령어 실행 시 일시적으로 root 권한이 획득하는 것을 확인

