일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sql injection
- over the wire
- 파일 업로드 취약점
- Authentication
- tryhackme
- privilege escalation
- Leviathan
- php login page
- OS Command Injection
- BANDiT
- active recon
- active reconnaissance
- php file upload
- THM
- Cookie
- overthewire
- War Game
- Server Side Request Forgery
- FTZ
- Cryptography
- php
- php To Do List
- SQLi
- php 로그인 페이지 만들기
- Reconnaissance
- ssrf
- access control
- file upload
- Recon
- php 파일 업로드하기
- Today
- Total
R's Hacking Daily Log
Bandit16 본문
Overthewire - Bandit level16
Connection : bandit16@bandit.labs.overthewire.org -p 2220
username : bandit16
Bandit level16 ) localhost의 31000~32000 사이의 port를 사용해서 passwd를 제출하면 다음 level의 passwd를 얻을 수 있다고 한다.
이 문제를 풀기 위해서, 주어진 범위의 포트 중에서 ssl을 실행할 수 있는 port를 찾고 해당 port로 연결해서 passwd를 얻으면 되는 것 같다.
오직 하나의 서버가 ssl을 제대로 실행하고 나머지 서버는 알맞지 않은가 보다.
kali linux -Terminal
주어진 범위에서 살아있는 port를 검색해보자.
nmap command를 사용하여 localhost의 31000-32000 port를 대상으로 port를 scan 한다.
총 5개의 port {31046, 31518, 31691, 31790, 31960}이 열려있는 상태라고 한다.
각 port에 echo로 간단한 문자열을 보내보거나 한 번씩 openssl 연결을 시도해보면,
31790 port만 제대로 실행되는 것을 알 수 있다.
31790 port로 연결하면 어디선가 봤던 내용이 주르륵 나오다가 현재 level의 passwd 입력란이 나온다.
제대로 passwd를 제출했다면, Correct! 문구와 RSA private key가 출력된다.
private key를 이용해서 이전 단계에서 ssh -i option으로 풀었던 것처럼 접근하면 될 거 같다.
key 내용을 복사해서 파일을 하나 만들어주고~
private key는 소유자 말고 다른 사람이 접근할 수 없어야 한다.
chmod command로 권한을 변경해주고~ ssh -i option으로 해당 파일을 제출하여 bandit17로 로그인하자.
username이 bandit17로 변경되었고 그 덕분에 bandit17의 passwd를 확인할 수 있다.
COMMAND)
nmap -p A-B [IP] //IP address의 A에서 B까지의 port를 scan해라.
chmod 700 "file_name" //file의 접근권한을 user에 대해서만 허용.
접근 권한을 변경하기 위해 사용하는 chmod command는
user, group, other에 대해서 어떤 권한을 허용할 것인지에 따라 8진수 값이 달라진다.