(서버, 클라이언트, 라우터, 스위치, 방화벽 )시스템 보안
-> 서버 운영체제 공격
-> 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 |