강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

4. 레벨 3을 향하여

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle03.gif

러분은 지금 쯤 level2 라는 우쭐감으로 주변의 친구들을 위협하며 (니 시스템을 해킹할꺼니까 조심해) 한껏 오만을 부리고 있을 지도 모르겠다. 그러나 여러분이 지금까지 공부해 온 내용은 아무것도 아니다. 그냥 기초에 지나지 않는다는 것을 명심해라. 벼는 익을 수록 고개를 숙이고 소인배나 작은 성공에 우쭐하는 것이다. 진정한 실력자는 겸손하다. 잊지 말자. 공부하자. 자 그럼 시작해 볼자. icon04.gif3. level2 문제 풀이
######### # 문제 # #########
유명한 비비에스 프로그래머 김모씨는 자신의 bbs 를 운영하던 중 회원들이 로긴하기 전에 특정 내용이 담긴 경고 메시지를 보여주고 싶었다. 그러나 불행하게도 그 경고메세지의 크기가 한 페이지를 넘어가는 바람에 회원들이 글을 제대로 읽을 수가 없었다. 고심하던 중 김모씨는 more 를 이용하면 간단히 해결된다는 사실을 알았다. 그러나 그 방법은 상당히 위험한 문제가 남아 있었다. 이를 이용하여 다음 레벨을 획득하시오… Hint - 힌트 없음. 해커즈랩에 텔넷이나 데이터맨 프로그램으로 접속한다. login:level2 passwd:xxxxxxxx 패스워드 입력시 주의 사항이 있다. 유닉스 계열의 시스템은 대소문자를 가린다. [level2@drill level2]$ id uid=2002(level2) gid=2002(level2) groups=2002(level2), 9999(hackerzone) [level2@drill level2]$ whoami level2 여러분의 우쭐감을 경고나 하듯이 해커즈랩에서는 힌트도 주지않고 있다. (이 일을 우짠다.) 그럼 문제를 분석하는 수 밖에 없다. 가장 먼저 눈에 띄는 것이 있다. 경고메시지이다. 그럼 시스템안에는 경고 메세지를 담은 파일이 존재한다는 이야기가 된다. 그리고 그 파일은 분명 set uid가 걸려 있는 파일일 것이다. 고걸 일단은 찾아야 한다. [level2@drill level2]$ find / -user level3 -group level2 -perm -4000 -print 해석)/ 에서 부터 소유권자(-user)가 레벨3(level3)이고 소유그룹(-group)이 레벨2(level2)이고 퍼미션(-perm)이 set uid(-4000)가 걸린 파일을 찾아서(find) 출력하라.(-print) /usr/bin/alert 일단 파일은 찾았다.(휴~) 실행시켜 본다. [level2@drill level2]$ /usr/bin/alert 이 곳은 당신에게 악영향을 끼칠 수 도... 좋은 영향을 끼칠 수 도 있습니다. 여기는 여기는 여기는 바로 해킹 자유 지대 입니다. --More--(54%) <-- 잘알다시피 요 순간에 여러분들은 level3의 권한을 가지고 있는 것이다. 오호!! 문제에서 제시 됐던 것처럼 경고메시지가 보이고 more을 이용 해서 인지 하단에 more(54%)라는 단어가 보인다. 스페이스바를 누르니(이전 화면으로는 갈 수가 없다.) 다음 페이지가 나온다. 그 다음은 어떻게 해야 하나? 다음으로 눈에 띄는 것이 있다. more다. 근데 more가 모다냐?? 앞에서 우리는 less라는 것을 공부했다. 기억이 나는 감?? 거봐라 공부를 게을리 해서 기억이 안나는 것이다. 다시 보고 오기 바란다. more와 less의 기능상의 차이는 없다. 화면에 출력하고자 하는 내용이 페이지를 넘어 다 볼 수 없을 때 이 명령을 쓴다. 그러나 more와 less에는 차이점이 있다. more는 전페이지를 볼 수 없는 반면 less는 전 페이지를 볼 수 있다. 여기 까지는 왔는데 그 다음은 우짜야 쓰꺼나??? 바로 우짜냐 쓰꺼나 할 때가 여러분이 이 문제를 풀 수 있을 때이다. 우짜냐 쓰꺼나하면서 넋 놓고 있는 여러분들을 도와주는 것이 있다. 바로 시스템에서 제공하는 메뉴얼이다. [level2@drill level2]$ man more | less more에 관한 메뉴얼을 살펴보면 거기에 문제에 대한 힌트가 나와 있을 지도 모르겠다. 앞으로 여러분들은 이 메뉴얼을 잘 활용해야 한다.(물론 영어가 뒷받침되야 하겠지만) 스페이스바로 메뉴얼을 움직이면서 관련된 어구를 찾아 보자. 뭔가가 보이는가?(사실 하나도 안보인다.) 다음의 어구를 보자. !<com> or :!<com> Execute <cmd> in a subshell 해석)more문에서 !명령어 나 !: 명령어 를 쓰면 명령어를 서브쉘에서 실행한다는 뜻이다. 그렇다면 alert라는 파일이 실행되는 순간은 level3이 되고 그 순간 실행하는 명령도 level3의 권한으로 실행시키게 되는 것이다. [level2@drill level2]$ /usr/bin/alert 이 곳은 당신에게 악영향을 끼칠 수 도... 좋은 영향을 끼칠 수 도 있습니다. 여기는 여기는 여기는 바로 해킹 자유 지대 입니다. --More--(54%) <-- 잘알다시피 요 순간에 여러분들은 level3의 권한을 가지고 있는 것이다. :!/bin/pass <-- 절대경로로 명령을 내린다. 축하한다. 성공이다. level3의 권한을 획득하였다. 비교적 간단한 문제였지만 여러분들의 끈기와 탄탄한 기본기를 필요로 하는 문제였다.

===================================================================================================

이 사이트에서 제공하고 있는 내용은 개인의 경험을 바탕으로 제공되고 있습니다.
그러므로 이용시 예기치 않은 오류가 발생할 수도 있음을 알려드립니다.
여러분이 도움 및 정보를 바라신다면 저에게 메일을 보내 주십시요. 감사합니다.

www.dacker.wo.to copyleft (c) 2000 by park byoung-seo all lefts reserved

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,056 명
  • 현재 강좌수 :  35,908 개
  • 현재 접속자 :  229 명