일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- DOS
- Slim3
- shellcode
- 디스크
- 무선랜
- aireplay-ng
- aircrack-ng
- WPA3
- 쉘코드
- 5G
- wep
- cmd
- DDos
- NAND
- 보안이 미래다
- E14-20T6S04X00
- 디도스
- WPA-PSK
- WPA1
- airodump-ng
- sudo
- 이커시
- 2021-3156
- NOR
- 초시대
- 반사서버
- airmon-ng
- 윈도우
- 듀얼부팅
- WLAN
- Today
- Total
대학생들을 위한 IT
sudo :: 이커시 본문
지난 포스팅에서 sudo 설명에 앞서, 간단히 리눅스에 관한 간단한 설명이 있었다.
이어서 sudo와 그 취약점 관련 보안 내용을 포스팅하겠다.
리눅스를 사용하다보면, sudo, su 명령어를 사용해봤을 것이다.
$ sudo |
sudo는 일반 사용자가 root권한을 잠시 빌려 명령을 실행하게 하는 명령어.
sudo 명령어를 사용할 때는 root가 아니기 때문에 현재 로그인한 사용자의 비밀번호를 요구한다는 것이다.
(기본적으로 sudo 명령어를 사용할 수 있는 사용자 혹은 그룹은 /etc/sudoers 에 등록이 되어 있어야 한다.)
$ su |
su 명령어는 현재 로그인 중인 현재 상태에서 다른 사용자의 계정으로 전환하는 명령어.
su는 로그인 하려는 대상 계정의 비밀번호를 요구한다.
다시 본론으로 돌아와서, sudo 보안 취약점을 살펴보자.
"redhat 관련 sudo 와 관련하여 important 등급의 보안 취약점(CVE-2021-3156)이 발표되었다."
해당 취약점은 2011년 7월에 도입 되어 2021년 1월에 취약점이 공개되고 존재하였으나, 약 10년만에 발견되었던 만큼 취약점이 해당하는 버전이 많아 대부분의 시스템이 취약할 것으로 생각된다.
Ubuntu 20.04 (sudo 1.8.31), Debian 10 (Sudo 1.8.27), Fedora 33 (Sudo 1.9.2) 등 여러 배포판 리눅스에서
전체 루트 권한을 획득할 수 있다고 한다.
취약점을 발견한 Qualys 연구팀에서는 취약점에 대한 악용 코드를 게시하지 않겠다고 하여
당장 Baron Samedit 취약점에 대해 문제가 발생하지는 않을것으로 보인다.
요약
ㅁ 레드햇은 sudo가 명령줄 인수를 처리하는 방식에 취약점이 있음
ㅁ (Heap-based Buffer Overflow로 인한 권한 상승) 메모리를 손상시키고 충돌 또는 권한 상승을 유발할 수 있음
ㅁ 이 취약점은 인증되지 않은 모든 로컬 사용자가 악용할 수 있으며, 악용할 경우 권한 상승 문제가 발생할 수 있음
ㅁ 취약점 버전 : 1.8.2 ~ 1.8.31p2 , 1.9.0 ~ 1.9.5p1
ㅁ Red Hat Enterprise Linux 6, 7, 8
임시 패치
심볼릭 링크를 제거하여 sudoedit 비활성화 시키는 방법이 있지만, 이는 스크립트를 돌리는 방식이기 때문에
재부팅할 때 마다 적용 시켜주어야 하는 번거로움이 있으며, 임시 방편임을 분명히 알아두어야 한다.
1. Install required systemtap packages and dependencies:
systemtap yum-utils kernel-devel-"$(uname -r)"
Then for RHEL 7 install kernel debuginfo, using:
debuginfo-install -y kernel-"$(uname -r)"
Then for RHEL 8 & 6 install sudo debuginfo, using:
debuginfo-install sudo
2. Create the following systemtap script: (call the file as sudoedit-block.stap)
probe process("/usr/bin/sudo").function("main") { command = cmdline_args(0,0,""); if (isinstr(command, "edit")) { raise(9); } } |
-->이 스크립트는 보안 취약점이 있는 sudoedit 명령의 작동을 중지시키고, sudo 명령은 계속 정상적으로 작동 하게 함.
(재부팅할 때 마다 변경 사항을 적용해야함)
3. Install the script using the following command: (using root)
(This should output the PID number of the systemtap script)
# nohup stap -g sudoedit-block.stap &
4. Once the new fixed packages are installed, the systemtap script can be removed by killing the systemtap process. For example, by using:
# kill -s SIGTERM 7590
(where 7590 is the PID of the systemtap process)
역시 sudo 최신 패치를 받는 것이 가장 안전한 방법임을 분명히 말해둔다.
'운영체제 > 운영체제 그리고 Tip' 카테고리의 다른 글
리눅스 (0) | 2021.02.08 |
---|---|
Ransomware(랜섬웨어) :: 이커시 (0) | 2021.01.07 |
E14 리뷰 :: 이커시 (0) | 2020.12.18 |
듀얼부팅(2) (0) | 2020.10.30 |
듀얼부팅 (0) | 2020.10.30 |