cd /tmp/b28Git
자 오늘은 Level 28 -> 29을 해보도록 하겠다.
(Login ID : bandit28/ Password : Yz9IpL0sBcCeuG7m9uQFt8ZNpS4HZRcN
1. 문제 내용
https://overthewire.org/wargames/bandit/bandit29.html
OverTheWire: Level Goal
We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> Level Goal There is a git repository at ssh://bandit28-git@localhost/home/bandit28-git/repo via the port 2220. The password for the user bandit28-git is the s
overthewire.org
> git 저장소 있는데 여기서 clone 해와서 비밀번호 찾아라ㄱㄱ (깃저장소 비번은 반딧28 비번임.)
2. 문제 풀이
> 레벨27->28 문제와 비슷한 거 같다. 우선 tmp 밑에 잡스러운 디렉토리 만들어서 clone 하여보자.
mkdir /tmp/b28Git
cd /tmp/b28Git
저렇게 하고 git clone ~~ 을 하게 되면 아래와 같이 에러가 뜬다.
> 기본적으로 git clone 은 포트 22(기본 SSH 포트)로 연결 시도한다. 근데 반딧의 경우 포트번호 2220을 사용하니 설정을 바꾸어 접속하여야 한다.
GIT_SSH_COMMAND="ssh -p 2220" git clone ssh://bandit28-git@localhost/home/bandit28-git/repo
GIT_SSH_COMMAND 를 통해 ssh 포트를 2220으로 바꾸고 다시 실행해보자.
그러면 성공적으로 복사가 완료 되고, repo 디렉토리가 보인다. cd repo 로 이동하면 README.md 파일이 있는데, 이를 cat 으로 읽어 보면 저렇게 나온다. 뭔가 초기에 비밀번호가 있었고 그 뒤에 password를 xxxx 뭐시꺵이로 바꾼 것 같은데, git 히스토리를 살펴보자.
git log --oneline
위와 같이 나오는데, 이걸 설명하자면 아래와 같다.
커밋 ID | 브랜치 정보 (있을 경우) | 커밋 메시지 |
817e303 | (HEAD -> master, origin/master, origin/HEAD) | fix info leak (정보 유출 수정) |
3621de8 | 없음 | add missing data (누락 데이터 추가) |
0622b73 | 없음 | initial commit of README.md (README.md 초기 커밋) |
> 가장 위가 가장 최신 commit 이라 보면 되고, 가장 아래(0622b73)이 가장 오래된 commit 이라고 보면 되겠다. 최초 커밋에서는 비밀번호가 제대로 쓰여져 있었던 것 같고, 이것을 817e303 커밋할 때 xxx 로 바꿨나 보다.
그럼 git checkout 0622b73 명령어를 입력해 보자. (해당 커밋으로 이동)
쌸라쌸라 하고 위처럼 나오는데, 해당 commit 때의 README.md 파일을 볼 수 있다.
cat README.md 를 해보니.. 음 아직은 password가 TBD(To Be Determined) 로 되어 있는 것으로 보아 그 다음 커밋ID 인 3621de8 를 봐야 할 거 같다. 여기서 메시지가 add missing data 였으니, 아마 누락된 비밀번호를 적어놓은 게 아닐까 싶다.
git checkout 3621de8
3621de8 로 이동한 뒤 cat README.md 를 해보니 비밀번호가 나왔다. 비밀번호 GET!
3. 요약
☞ git clone 을 할 때는 기본적으로 ssh 포트번호인 22를 이용하여 접근한다. 근데 GIT_SSH_COMMAND 를 통해 강제로 포트번호 수정 가능.
☞ git log --oneline 을 통해 깃 변경 사항 확인 가능
☞ git checkout 커밋ID 를 통해 해당 커밋으로 이동 가능.
'해킹&보안' 카테고리의 다른 글
[반딧 워게임 : OverTheWire] Level 30-> 31 (리눅스/해킹/보안 공부) (0) | 2025.03.23 |
---|---|
[반딧 워게임 : OverTheWire] Level 29 -> 30 (리눅스/해킹/보안 공부) (0) | 2025.03.22 |
[반딧 워게임 : OverTheWire] Level 27 -> 28 (리눅스/해킹/보안 공부) (0) | 2025.03.21 |
[반딧 워게임 : OverTheWire] Level 26 -> 27 (리눅스/해킹/보안 공부) (0) | 2025.03.21 |
[반딧 워게임 : OverTheWire] Level 25 -> 26 (리눅스/해킹/보안 공부) (0) | 2025.03.21 |