문제 해석하면 /home/flag10/flag10에 setuid 바이너리가 있는데 이것이 아무파일을 준다. 그 동안에 access() 시스템 함수 호출??

아 영어가 안되니 모르겟다. (_ _);; 아..

여튼 파일을 뭔가 전송해주는 파일인것 같다.[각주:1]

소스코드 : https://exploit-exercises.com/nebula/level10/


근데 우선 결론부터말하면 이 문제는 잘못 만들어진 문제다.

먼저 로그인하자.





??????????????????????????????????

  1. 하단에 첨부한 소스코드 참조 [본문으로]

'Pwnable > Nebula' 카테고리의 다른 글

nebula Level08 풀이  (0) 2016.08.31
nebula Level06 풀이  (0) 2016.08.03
nebula Level05 풀이  (0) 2016.08.03
nebula Level04 풀이  (0) 2016.08.03
nebula Level03 풀이  (0) 2016.08.02


문제 ...??



우선 flag08폴더로 가니 pcap파일이 보였다.

그렇다면 패.킷.분.석이다!



여기서는 물론 분석하기 어려우니 본인이 개인적으로 만들어놓은 Kali Linux로 보내서 분석하겠다.

scp를 사용하여서 위와같이 파일을 전송한다.

(중간에 root ssh허용 및 서비스 재시작 등 트러블 슈팅이 있었다)



패킷을 보니 저기에 떡하니 패스워드가 있었고, 자세히 알아보기 위해 HEX값도 같이 보았다.(중요)



backdoor(백스페이스*3)00Rm8(백스페이스)ate가 된다.

최종적으로 backd00Rmate가 될것이고 이 비밀번호를 본래 nebula로 돌아가서

su flag08로 flag08의 권한으로 로그인을 할때 비밀번호를 입력해보자



클리어

'Pwnable > Nebula' 카테고리의 다른 글

nebula Level10 (정석풀이 아님)  (0) 2016.08.31
nebula Level06 풀이  (0) 2016.08.03
nebula Level05 풀이  (0) 2016.08.03
nebula Level04 풀이  (0) 2016.08.03
nebula Level03 풀이  (0) 2016.08.02


문제를 보니 flag06 계정정보?가 유닉스 시스템을 사용한다는 듯하다.



우선 혹시나 모르니 /home/flag06 디렉토리를 확인해서 문제파일이나 힌트가 있는지 보자..

역시나 없군..



유닉스 계열 계정정보는 /etc/passwd에 있는것은 리눅서라면 상식으로 알고있으니 바로 열람해보자



flag06의 패스워드 정보를 알아내려면 john the ripper라는 툴을 사용해야 한다.

(/etc/passwd의 항목은 FTZ를 했다면 다 알고있으므로 패쓰하겠다.)


본인은 Kali 리눅스를 자주 사용하는 편은 아니지만 해킹툴의 창고와 같아서 하나 구축해놓으면 정말 편하다.

그러므로 나는 kali 리눅스에 설치해 놓은 john the ripper를 사용하겠다.


먼저 아래와 같이 flag06의 계정정보를 긁어와서  메모장파일을 하나 만들어둔다.



그리고 john을 실행해보면

패스워드와 계정정보가 나온것 을 볼 수 있다.!!



이제 로그인을 해보자.

패스워드는 위에서 나온대로 입력하고 플래그를 딴 것을 확인 할 수있다.




'Pwnable > Nebula' 카테고리의 다른 글

nebula Level10 (정석풀이 아님)  (0) 2016.08.31
nebula Level08 풀이  (0) 2016.08.31
nebula Level05 풀이  (0) 2016.08.03
nebula Level04 풀이  (0) 2016.08.03
nebula Level03 풀이  (0) 2016.08.02


문제를 보면 flag05디렉토리에 취약한 권한? 들이있다고한다.

한번  디렉토리를 살펴보자



디렉토리 중에 .backup이 보인다. 보통 여기에 ssh에 접근하는 키값이 들어가 있을 확률이 높다.

내용을 열람해보면

아래와 같이 묶음파일이 보인다.



바로 압축해제를한다. 물론 현재 디렉토리가 level05니까 level05디렉토리에..

그러면 ssh에 관련된 파일들이 쏟아져 나오는걸 볼 수있다.



ssh flag05@localhost를 실행하여서

flag05권한을 ssh로 실행하면 패쓰워드 묻는 단계가 생략된채 실행된 것을 볼 수있다.


고로 클리어.



'Pwnable > Nebula' 카테고리의 다른 글

nebula Level08 풀이  (0) 2016.08.31
nebula Level06 풀이  (0) 2016.08.03
nebula Level04 풀이  (0) 2016.08.03
nebula Level03 풀이  (0) 2016.08.02
nubula Level02 풀이  (0) 2016.08.01


소스코드를 보고서는 잘 이해가 되지는 않지만 명령인자를 추가해서 실행해야하는 듯하다.



디렉토리 확인 및 실행해본 결과이고..

대충 예상해보면 token을 인자로해서 실행해야하는데 이것을 어떻게 우회를 시킬것인가..라는  것이다.


즉, 여기서는 심볼릭 링크가 들어가게된다!



위와 같이 심볼릭 링크를 걸어주자. 사용법은 ln -s (링크를 걸 대상파일) (만들파일)

그리고 나면 위에 숫자와 영어로 결과값이 나왔다.


이제 su명령어를 이용하여 flag04권한을 실행해 보도록하겠다.

맨위에 소스파일에는 권한을 주는 명령어가 없기에...



패쓰워드가 뭔지 고민하다가 이전에 나온 flag04의 결과값을 넣었더니 풀렸다!

'Pwnable > Nebula' 카테고리의 다른 글

nebula Level06 풀이  (0) 2016.08.03
nebula Level05 풀이  (0) 2016.08.03
nebula Level03 풀이  (0) 2016.08.02
nubula Level02 풀이  (0) 2016.08.01
nebula Level01 풀이  (0) 2016.08.01

+ Recent posts