수업

11/21 : 시스템 네트워크 보안

진태현 2023. 11. 21. 09:19

(서버, 클라이언트, 라우터, 스위치, 방화벽 )시스템 보안

-> 서버 운영체제 공격

-> root 권한 탈취의 목적 

 

>> 시스템 공격+대응방안 -> 시스템 보안 

 

공격

- 하드링크/ 심볼릭링크 공격 

- 특수권한을 이용한 공격

 

//usr/bin/passwd >>특수권한 설정

 

cd /TEST > nano test01.sh

cat test01.sh

 

chmod 744 test01.sh > 실행권한 

복사

cp test01.sh test02.sh 

cp test01.sh test03.sh

 

2번에 특수권한 

*set user에 공격이 많이 들어옴

chmod 4744 test02.sh

chmod 4755 test03.sh

일반권한

test03.sh - other에 실행권한이 있어서 실행가능 

chmod 755 

특수권한이 있어도 실행권한이 있어야된다. 

 

계정 추가

useradd hong

passwd hong

1234 1234

 

stickybit

chmod 777

chmod 1777

- 자료실, 게시판 

- 다수의 사용자들이 글을 남김 

- 일반사용자들은 내용을 읽을수 있지만, 삭제는 불가능

>> 소유자만이 파일을 삭제할 수 있어야 함(stickybit의 역할, 공유폴더)

 

stickybit 찾는 명령어 : find/ -perm -1000

 

계정관리

tail -5 /etc/passwd

head -3 /etc/passwd

* 유저 uid, gid가 0 0 이되면 관리자 권한 

system("/bin/sh'"); 

- 쉘실행 

 


공격 실습

정보수집 > 해당시스템 취약점 파악 후 공격 > 백도어를 설치  > 로그 삭제 

 

cat backdoor.c >> 공격자가 시스템에 들어온 상태 

 

 

*우분투 : adduser : 패스워드 지정

*centos : adduser, useradd 같음 

 

 

cd /home

cd gildong

*gildong : 공격자 > gildong이 관리자 권한으로

 

 

cat backdoor.c

 

chmod 4755 backdoor > 관리자 권한으로 실행됨

* $ > 일반사용자 

* # > 관리자 

 


스케쥴링

- 특정한 시간에 특정 작업을 수행하는 것 

- at과 cron 사용 

 

chmod 755 set.sh > 권한설정 해줘야 활성화됨 


계정관리

useradd test

tail -5 /etc/passwd 

 

ls -l /home > 계정 정보 

 

root UID/GID : 0/0

시스템 계정 UID/GID : 1~999 

 

패스워드

tail -3 /etc/shadow

 

pw 관리정책

- 일반 패스워드 정책 : 계정정보와 패스워드( pwunconv)

- shadow 패스워드 정책 : 계정정보와 패스워드를 분리  (pwconv)

pwunconv 패스워드 자리에 보임 

>> 계정과 패스워드 분리 중요 - 권한 체크 

 

 

$ID$SALT$Encrypted_password

ID: 해시알고리즘

SALT : 랜덤, 다른 패스워드 값 

Encrypted_password: * 로그인 불가/ !! 패스워드 지정안됨 / 공백 >>> 로그인 불가상태 

 

*passwd 계정명 > 패스워드 설정 

 

chage -l 계정명 > 패스워드 변경 정보 

 

chage -m 10 -M 100 -W 5 test

 

gpasswd -a hong gildong >> 그룹에 유저 추가 

 

nano /etc/group >> 편집기에서 추가하는 방법 

nano /etc/passwd

nano /etc/shadow

추가

 

계정추가

useradd -u 0 gildong > gildong userid를 0으로

useradd -s /bin/sh gildong > 쉘 자체를 다른 거 사용 

useradd gildong -d /home/TEST > 디렉토리 지정

 

계정수정

usermod -s/bin/sh gildong

usermod -d /home/TEST -m gildong

usermod 

 

passwd -l 계정명 >> 사용자 잠금 

passwd -u 계정명 >> 잠금 해제 

passwd -e 계정명 >> 다음 로그인시 변경 (패스워드 변경정책에 맞춰서 변경하도록)

 

계정삭제

userdel 계정명

ls -l /home >> 삭제 되지 않음 > 그룹아이디 유저아이디가 나와있음

 

* 계정이 완벽하게 삭제가 되지 않은 경우

- 계정이 삭제 되었지만 퇴사직원이 만든 파일인 경우

 

 

*userdel -r 계정명 : 완벽하게 삭제 

 

nano /etc/passwd

 

rm -rf /home/계정명

 

 

group add, del 그룹명


Password Cracking

ID를 알고있는 전제로 비밀번호 알아내는 공격

- 사전대입 

- 무차별 

- 레인보우테이블

- 사회공학공격기법

 

암호화 : 양방향성 (원문에서 암호문, 반대 가능) 

해쉬: 단방향성 (원문에서 암호문만)

 

*해시값은 해시값과 SALT값을 섞어놓음 

 

mkdir TEST > nano pword >> 해쉬값 작성

*john > 패스워드 크래커

john --format=raw-md5 /usr/share/wordlists/rockyou.txt.gz /TEST/pword

 

Lab2

1번

cat passcrack 

 


/etc/security

pwquality.conf >> 비밀번호 정책 

- gecos 주석 

 

/etc/login.defs >> 설정되는 default 값 , umask값, 해시값 

 


취약점 분석 평가 가이드 

- 패스워드 복잡성 설정 > pwquality.conf

- 패스워드 파일 보호 > shadow 비밀번호 정책 

- suid, sgid 여부 점검 > 권한상승 위험

- world writeable 파일 점검  > rwxrwxrwx 주기적 삭제 필요 /40p

- /dev 파일점검 > etc, dev디렉토리 주기적 점검 필요 

 

* 계정관리와 파일 및디렉터리 관리 


PAM설정 (8,9,10p)

/etc/pam.d

root => 로컬, 원격 관리자 ID로그인은 막아야함. 

gdm- password > 로그인 입력 창 

 

인증정책

*pam파일에는 네가지 항목 

- 인증확인 => auth /etc/passwd

- 패스워드 정책 =>

 

root >> id가 락이 걸렸는데 pw에서 락이ㅣ

auth required pam_succeed_if.so uid>=1000

 

required > true는 실행 ,false는 다음 실행 후 요청 거부 

sufficient > false시에 실행, true시에 끝남 

 

'수업' 카테고리의 다른 글

11/23  (0) 2023.11.23
11/22 : 개인정보  (0) 2023.11.22
11/20  (0) 2023.11.20
11/17  (0) 2023.11.17
11/16 : 세팅, 네트워크 공격  (0) 2023.11.16