Setuid에 관련된 질문

익명 사용자의 이미지

이 질문은 linux.sarang.net에도 올렸던 질문이고.. 이 게시판의 성격과
조금은 맞지 않지만.. 꼭 해결해야 할 문제(졸업작품과 연관된... ㅡ.
ㅡ;;)이기에 용서를 구하고 질문을 올립니다.

다름이 아니고 setuid에 대해서 시험해볼려고 간단하게 쉘을 복사해다가
setuid를 걸고 다른 계정으로 들어와 실행을 시켰더니(루트의 권한으로
복사해서 chomod 4755를 걸었습니다.)... uid나 euid나 바뀐게 없는것 같
군요...
setuid가 걸리면 effective user가 바뀌는것 아니었나요??

혹시 누구 아시는 분은 없을까요?

[root@localhost hack]$ ls-l
-rwsr-xr-x 1 root root 519852 8월 5 0941 bash
[root@localhost hack]$ exit

[bejoy@localhost hack]$
[bejoy@localhost hack]$ ./bash
bash-2.05$ whoami
bejoy
bash-2.05$ who
bejoy 0 Aug 5 0942
bejoy pts/0 Aug 5 0943
bash-2.05$

이런 식으로 나오더군요... 이유를 아시는 분은 꼭 답해주세요

익명 사용자의 이미지

저도 정확히는 모르는데요..7.1 버전 이상부터는 setuid 를 막아놨다고

하더라고요...^^ 다시 함 찾아보세요..

익명 사용자의 이미지

아 그랬나요??
그럼 setuid문제는 사라진건가? 쉘에 대해서만 임시로 막아놓은 것이겠죠?

어쨌던 감사합니다. ^^;;

decacros의 이미지

7.1로 하다가 다시 7.0으로 버전 다운 해도 setuid는 실행이 되지 않는 군요.

소스 첨부 합니다.

setuid(0);
if(ioperm(BASE_PORT, 3, 1))
{
perror("ioperm");
exit(1);
}

Thank you for your kindness!

tempy의 이미지

setuid(0);
if(ioperm(BASE_PORT, 3, 1))
{
perror("ioperm");
exit(1);
}
_________________
Thank you for your kindness!

위 소스대로 가능하다면 리눅스의 해킹은 엄청쉬워질겁니다.
aaa계정이 root계정을 사용하기 위해서 위처럼만 가능하다면
누구나 해킹이 가능하지 않을지... 상위 계정에서 하위 계정으로
권한 변경은 가능하나 하위 권한에서 상위 권한으로 권한 변경은
않됩니다.
setuid사용하는 이유 데몬실행은 root가 해야하나 데몬 사용자는
일반계정일 때 해킹을 방지하기 위해서 setuid를 사용합니다.

예로 아파치 실행은 관리자가 해야한다.. (일반계정사용자가 쉽게
아파치를 죽이거나 살릴 수 있으면 문제가 되기 때문에)
그러나 아피치 데몬을 사용하는 사람은 관리자가 아닙니다.
일반사용자입니다. 이때 해킹을 방지하기 위해서 아파치데몬은
프로세서를 하나 생성해서 권한은 변경해서 일반사용자에서
사용하라고 넘겨줍니다. 이때 setuid를 사용합니다.

decacros의 이미지

소스로 컴파일 해서 설치 Configuration 파일에

EXTRA_CFLAGS=-DBIG_SECURITY_HOLE 를 추가 하라구 하는데.

이렇게 추가해도 아파치가 루트권한으로 실행되도록 디자인 되지 않았다는 메세지가 뜹니다.

아파치를 루트로 실행 할수는 없습니까???

Thank you for your kindness!

havebeen의 이미지

보안패치 되었습니다.

아직 멀었다.. 난 여전히 시작점

wsjlove의 이미지

tempy wrote:
setuid(0);
if(ioperm(BASE_PORT, 3, 1))
{
perror("ioperm");
exit(1);
}
_________________
Thank you for your kindness!

위 소스대로 가능하다면 리눅스의 해킹은 엄청쉬워질겁니다.
aaa계정이 root계정을 사용하기 위해서 위처럼만 가능하다면
누구나 해킹이 가능하지 않을지... 상위 계정에서 하위 계정으로
권한 변경은 가능하나 하위 권한에서 상위 권한으로 권한 변경은
않됩니다.
setuid사용하는 이유 데몬실행은 root가 해야하나 데몬 사용자는
일반계정일 때 해킹을 방지하기 위해서 setuid를 사용합니다.

예로 아파치 실행은 관리자가 해야한다.. (일반계정사용자가 쉽게
아파치를 죽이거나 살릴 수 있으면 문제가 되기 때문에)
그러나 아피치 데몬을 사용하는 사람은 관리자가 아닙니다.
일반사용자입니다. 이때 해킹을 방지하기 위해서 아파치데몬은
프로세서를 하나 생성해서 권한은 변경해서 일반사용자에서
사용하라고 넘겨줍니다. 이때 setuid를 사용합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.