'FTZ' 카테고리의 다른 글

Level10  (0) 2016.09.03
Level9  (0) 2016.09.03
Level8  (0) 2016.09.03
Level7  (0) 2016.09.03
Level6  (0) 2016.09.03


hint 다.

**공유 메모리란 

여러개의 프로세스가 특정 메모리 공간을 

동시에 접근해야할 필요성을 가질때가 있다.

공유메모리는 이러한 작업을 위한 

효율적인 방법을 제공한다.

-->http://www.joinc.co.kr/w/Site/system_programing/IPC/SharedMemory

좋은 내용이 많이 있다!




 공유 메모리 관련된 명령어 ipcs는 

실행되고 있는 프로세서의 자원 리스트를 보여주는 명령어이다.


자료를 보면


key 값이 0x00001d6a 이다. 이는  7530이라는 10진수이다.


이는 key_t의 힌트이다.


또한 root권한을 가진 사람이 존재하고 퍼미션은 666이라고 나타내고 있다.

또한 바이트 수가 1028이라고 한다.





'FTZ' 카테고리의 다른 글

Level11  (0) 2016.09.03
Level9  (0) 2016.09.03
Level8  (0) 2016.09.03
Level7  (0) 2016.09.03
Level6  (0) 2016.09.03

hint 다!



 SetUID가 걸린 파일은 없고


힌트에서 준 코드를 실행해보니 



정답을 치라고 나온다!



옛날에 막 버퍼를 넘게 쳐서 해결했던 기억이 있어서 해봤지만...

프로그램을 빠져나오기만 한다...






근데 이해가 가지 않는다...


영어 알파벳은 한 글자에 1바이트 아니던가... 그리고


bur2에 2바이트가 go와 같으면인데


아무 위치나 상관 없는거 아닌가?



하지만... 이렇게 하면 다시 level9@ftz level9의 위치로 돌아가게 된다.

위의 이미지는 이미 문제를 풀고나서 했기에 level10의 권한이 있는것을 고려해주기를 바랍니다.





'FTZ' 카테고리의 다른 글

Level11  (0) 2016.09.03
Level10  (0) 2016.09.03
Level8  (0) 2016.09.03
Level7  (0) 2016.09.03
Level6  (0) 2016.09.03



** shadow 파일

비밀번호(암호화된)만 /etc/shadow 라는 화일에 

퍼미션을 막은채 놓아두는 것 

passwd 화일의 패스워드가 들어갈 자리에는 

x 라는 문자만 있다.



우선 SetUID파일은 없었다. 


shadow파일은   /etc/passwd 파일의 보안 취약성을 해결하기 위해 만들어진 shadow 비밀번호가 들어가 있는 파일이다.

이 파일의 위치를 찾는 것이 우선적으로 해야할 것 이다.


hint에서  가르쳐준 용량과도 다를 뿐더러 열려고 하니까 허가 거부당했다...



그렇다면 저 파일들도 아닌 거 같으니

find 명령어를 통해 /etc/shadow파일을 찾도록 하자.


find / -size 2700c 2> /dev/null


find  : 찾아라!

/   :디렉토리에서

-size  : 사이즈가

2700  : (찾을용랑)

 c : byte

2> /dev/null  : 쓰레기값 안나오도록!



이렇게  나온다 !  그렇다면 

열어보자

첫번째 gif를 cat을 통해 열어봤을때 나온 문자들..



두번째 text를 cat을 통해 열어봤을때 나온 글자들...


3번째 4번째도 마찬가지로 이상한 문자들이 나왔다.


shadow 파일은  보안상의 이유로 복호화 되어 있는데 그렇기에 

위와 같이 그냥 열었을때 우리가 이해 할 수 없는 것들로 이루어져 있다.


그럼 복호화는 어떻게 할까?


구글링 해보니 


password의 암호화 기법은  crypt 라고 한다. 한번 암호화 되면 풀 수 없다고 하는데


암호화 된 것의 구조를 보면


level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524


첫번째       level9     가 사용자의 이름이고

그 다음의 $1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.      가 crypt된 패스워드 이다.


kali에서는 john을 따로 설치하지 않더라도 된다.

kali의 바탕화면에 암호화 된것을   txt 파일로 저장을 하고


john -show 파일명. txt


라고 하면 저 비밀번호 자리에 복호화 된 암호가 대신 나오게 된다.




Q. 결과가 어찌 나올지는 알지만... 왜 나는 kali에서 





라고 나오는 걸까 ㅠㅠ 친구랑 똑같이 쳐서 했건만...


'FTZ' 카테고리의 다른 글

Level10  (0) 2016.09.03
Level9  (0) 2016.09.03
Level7  (0) 2016.09.03
Level6  (0) 2016.09.03
Level5  (0) 2016.09.03



level 7의 힌트가 나왔다!


level7을 실행하면 패스워드 입력 요청을 하는데 


패스워드의 힌트가 위와 같습니다.



저 아래 ----- 의 연속된 표시들이 매번 동일하게 나오는거 보이신가요?


처음에는 저것들이 패스워드가 틀렸다고 말해주는 얼굴 표정인 줄 알았는데....


알고보니 정말 패스워드는 가까운 곳인 바로 아래 힌트를 주고 있었던 것이더라구요


바로 저 표시들이 패스워드입니다!

--_--_-          -->          01101101            --> 109     -->      아스키코드 m

       --____-             -->          1100001          -->     97   -->        아스키코드a 

 ---_-__     -->              01110100   -->     116         --->   아스키코드t

--__-_-         -->             01100101    -->    101           -->  아스키코드e




이번 문제에서는


사고의 경로(?)를 알아 두는 것이 중요할거 같다.


이진법을 잘라서 볼줄 알고 그것을 10진법으로 바꾸고 또 그것을 아스키 코드로 바꿀줄 아는 것이 중요 할 거 같다.



 끝!!

'FTZ' 카테고리의 다른 글

Level9  (0) 2016.09.03
Level8  (0) 2016.09.03
Level6  (0) 2016.09.03
Level5  (0) 2016.09.03
Level4  (0) 2016.09.03

level 6는 계정에 접속 하자마자 힌트가 등장하였다.



여기서 아무런 것도 나오지 않고 커서만 깜빡 거리길래 아무 버튼이나 쳐보니




이러한 것이 등장하였다!!!!!


**텔넷 

 원격지의 컴퓨터를 인터넷을 통해 접속하여 

자신의 컴퓨터처럼 사용할 수 있는 원격 접속 서비스




Q. ctrl + c  가 터미널 내에서 엄청난 힘을 가진걸까?? 종료버튼이여서??



ctrl + C 를 누르니 명령을 입력할 수 있는 구문이 나왔고  

연스래 ls -al 명령어를 통해 어떠한 파일들이 있나 관찰하게 되었다. 


아니 근데 이게 왠걸


password 파일이 있다...

열어보니 


패스워드가...

level6    종료!!!


'FTZ' 카테고리의 다른 글

Level8  (0) 2016.09.03
Level7  (0) 2016.09.03
Level5  (0) 2016.09.03
Level4  (0) 2016.09.03
Level3  (0) 2016.09.03



오홍 그렇다면


/usr/bin 디렉토리의 level5라는 프로그램을 실행시키면


/tmp 디렉토리에 level5.tmp라는 임시파일이 생성되는 구나!!!

를 알고


이를 이용해서 level6의 권한을 얻자!!


여기서 잠시 혹시나 해서

음.. SetUID가 걸린 파일이란건 알겠지만 실행시켜도 그냥 끝나버려 뭘 어찌해야할지 모르겠었다...




level5를 실행해보고 tmp디렉토리로 옮겨가보았다!!


...없다..level5.tmp 파일이 없다!!!


그렇다면 level5가 실행되어 tmp파일이 만들어 졌다가 금방 사라지는 것을 방지?하기 위해


우리가 같은 이름의 파일을 그 디렉토리에 만들어 놓고 덮어쓰게 해서 


계속 남아 있는 파일을 만들면 어떨까 ??



tmp에 가서 level5.tmp 파일을 만들어 놓고


/usr/bin에 가서 level5를 실행시킨다..

다시 tmp로 가서 덮어 씌워젔을 내용을 확인해 보자!!!



 다음 패스워드!!!!예~~~

'FTZ' 카테고리의 다른 글

Level7  (0) 2016.09.03
Level6  (0) 2016.09.03
Level4  (0) 2016.09.03
Level3  (0) 2016.09.03
Level2  (0) 2016.09.03

**백도어

 일반적인 인증을 통과, 원격 접속을 보장하고

 plaintext에의 접근을 취득하는 등의 행동을 

들키지 않고 행하는 방법

--> like 개구멍


숨겨 놓앟다고 하니 한번 들어가 보았다..

아니 근데 이게 왠걸!!

backdoor 파일이 있다.


열어보자!

**참고 출처 : http://ziki.tistory.com/32

--> 아직 읽어도 잘 알 수가 없어 적어 논다...

/etc/xinetd.d/ 가 무엇을 하는 곳인지 알아보자.


위 디렉토리는 xinetd 를 깊게 공부하면 알수있다. 간단히 설명하자면 xinetd는 inetd 보다 더 향상된 버젼이다.
그러니까 쉽게말해서 그 기능이란.
서버데몬이 항상 메모리에 상주하면서 외부접속을 대기하고 있으면서 그 데몬을 사용하지 않는 시간(접속이 없는 시간대)에는 시스템 자원을 낭비하는 결과가 된다. 이를 조금이나마 줄이기 위해서 xinetd 라는 데몬이 다른 서버데몬들을 총괄 관리하게 된다.

xinetd 는 메모리에 상주해 있다가, 접속요청이 들어오면 그 요청된 데몬을 실행시키고 접속을 연결시켜준다. 그리고 접속요청이 없을땐 서버데몬들을 모두 종료시켜 잠재운 상태로 둔다. 이는 시스템의 자원을 효율적으로 관리하기 위해 고안된 방법이다.


앗 참고로 level1 부터 꾸준히 해오던 SetUID파일 찾기는 이번 단게예서는 먹히지 않았다 ㅠㅠ 

수 없이 쳐봤다. 내가 명령어를 잘 못 친 줄 알고 계속 쳐봤지만 나오지 않더라... 결국 없는 걸로 결론 지었다.


저기 서버에  디렉토리 경로가 나와있으니 한번 가보도록 할거다.


ㅠㅠ 실패...암것도 없다...


저 백도어 파일을 해석해보면(출처:http://ziki.tistory.com)



있어야 할 곳에 없으니 


우리가 직접 만드어 줘야 한다!!!!!WOW

코드는 구글링을 하였다... 어찌 짜야할지 모르겠어서 ㅠㅠ 다행히   C문법이라 구조가 이해가 안되는 것은 아니지만

Q. system이 어떤 함수인지는 여전히 모르겠다.




오잉... level4의 힌트가 그대로 나왔다. 

내가 알아야 하는 것은 level 5인데 말이다.





구글신들이 말하기를


finger 서비스를 실행해야 한다고 한다...


(처음 접해보는 전혀 새로운 개념이여서 여기서부터는 

http://ziki.tistory.com/32

http://taeminimini.tistory.com/373

 블로그의 풀이에 전적으로 의존하였다. 감사해요 ㅠㅠ )



finger는 리눅스에서 사용자의 계정정보를 확인하는 명령어란다.




아무리 쳐도...나오지 않는 비밀번호...


여러분들은 해보시고 왜 안되는지 아셨다면

알려주세요....ㅠㅠ


'FTZ' 카테고리의 다른 글

Level6  (0) 2016.09.03
Level5  (0) 2016.09.03
Level3  (0) 2016.09.03
Level2  (0) 2016.09.03
Level1  (0) 2016.09.02


hint 파일을 열어보니 두둥!!!!


main함수가 주어져 있다.!


가장 먼저!!


 level4의  SetUID가 걸린 파일을 찾아보자!!


find / -perm -4000 -user level4 2> /dev/null


그곳 에서 나온 파일까지 실행시켜 보면





hint에서 나온 코드의 파일 /bin/autodig에 SetUID가 걸려있고


실행해 보면 코드에서도 볼 수 있듯 결과가 출력이 된다.

(Q. autodig에 대한 인수를 따로 전해주지 않았음에도 불구하고...실행이..된다..?)




아 자세히 보니

 more hints가 있다.


- 동시에 여러 명령어를 사용하려면?

- 문자열 형태로 명령어를 전달하려면?



첫번째 힌트에 대한 답은 


리눅스에서 여러명령어를 한 줄에 내릴 때는 ;(세미콜론)을 이용한다.


두번째 힌트에 대한 답은


자신이 전하고자 하는 명령어를 ""(큰따옴표)로 묶어 전달해야 한다.


답이 나왔다...


bin 파일 내에서 autodig를 실행시킬때 인자를 2개를 전달해 주어야 하는데


큰 따옴표로 묶지 않고


autodig yo; my-pass    입력 시

 


level3의 패스워드가 주어진다. 왜냐하면 

구글 왈!!(구글신 ㅠㅠㅠ


autodig 프로그램이 yo를 가지고 실행이 되고

(위의 인수를 따로 주지 않아도 실행이 되던것...이 이해가 안되서...이것도 그닥 이해는 안간다)

자동종료되어 버리고 ;를 통해 다음 명령어인 

my-pass를 실행해 level3의 비밀번호가 나온 것이라고 한다.

따라서

"  " 는 문자열로 묶어 인수를 함수에 전달해 주는 역할을 한다.


'FTZ' 카테고리의 다른 글

Level6  (0) 2016.09.03
Level5  (0) 2016.09.03
Level4  (0) 2016.09.03
Level2  (0) 2016.09.03
Level1  (0) 2016.09.02



level 2의 hint를 열어보니


"텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다"는 내용이다.


**vi편집기

vi  파일명  --> 새로운 문서를 편집할 수 있는 환경

1) 명령모드

0.vi명령모드

1.ex명령모드

2)입력모드



그렇다면

텍스트 파일 편집 중 쉘의 명령을 실행하는 방법을 알아봐야 겠다.


vi 라고 입력시


편집기는 처음에 명령모드로 들어가게 된다.


근데 그건 그렇다 치고


어떤 명령?을 쳐야 할까?


그리고 왜 굳이 편집기 모드에 들어가서 명령을 쳐야하는 걸까?



왜지?


우선   level1에서 했던 SetUID걸린 파일 찾는 명령어를 사용해서 혹시 있나 찾아볼까?


있다!!!!!!

그럼 바로 실행!



헉  vi 라고 명령어 치면 바로 들어 갈 수 있는 편집기가.. 이렇게 나온다.

음 그렇다면 편집기에서 쉘의 명령어를 칠 수 있는 방법은 우선 아니까 그걸 사용해보자


힌트가 그거였으니...

그러고 나서 그냥 쉘에서도 쳐보자 무엇이 다를지


우선

:! 


이것이 쉘의 명령어를 vi에서 칠 때 앞에 붙여야 하는 아이다.




오...level3이 되었다...


그런데 level3@ftz level2와


level3@ftz level3은 무엇이 다른 걸까... 아직 기본적인게 부족한 나다...ㅠㅠ


여기서도 그럼 1번 문제에서 했듯이 my-pass를 알아보자.

오...나왔다...level3의 비밀번호다... 





아까 위에서 던졌던 의문



어떤 명령?
을 쳐야 할까?


그리고 왜 굳이 편집기 모드에 들어가서 명령을 쳐야하는 걸까?

에 대한 답은

그럼

어떤 명령 --> 결국 비밀번호를 알아내는 명령을 사용해야 겠찌?

왜 굳이 편집기 모드에 들어가서??--> 아!!!!!!!!!!!!!!!!!!!!!!!!!!!! level2에서 vi를 켜서 편집기 모드에 들어가는 것과
SetUID가 걸린 editor에 들어가는 것은 엄연히 다른거이었다 ㅠㅠ 당연하네...홀홀홀 
저 editor에서 /bin/bash를 사용하니  level3거의 쉘이 뜬것이다...
그곳에서 my-pass는 level3의 비번!!!!! 두둥

배움이 있는 FTZ같으니라고....





p.s. 해결되지 않은  Question!

level3@ftz level2와


level3@ftz level3의 차이점은 정말 무엇일까...

level1문제에서는 level2@ftz level2라고 나왔었느데

뭔가 level3@ftz level3라고 하니 겉무늬만 level3가 되고 알맹이는 level2인 느낌...
뭐지...궁금하다....!!
아시는 분 답좀 ㅠㅠㅠ


'FTZ' 카테고리의 다른 글

Level6  (0) 2016.09.03
Level5  (0) 2016.09.03
Level4  (0) 2016.09.03
Level3  (0) 2016.09.03
Level1  (0) 2016.09.02

+ Recent posts