Study/Information Security

클라우드 정보 보안 수업 자료 및 정리 [3회차, root복구, 로그 확인, 추적 ]

imaginefuture-1 2024. 11. 27. 13:24

Chapter 02-1. 관리자 패스워드 복구하기.pdf
0.53MB

 

itkorea 인천 아카데미 클라우드 정보보안 수업 자료 및 정리

 

2024-11-25~2025-05-13

 

 3일간은 ot라서 1시30분에 마친당!

 

매주 월화수목금 9-6과정

 


 

 

rd.break enforcing=0에서 rd가 뭐 약어야?
ChatGPT의 말:
ChatGPT
rd는 일반적으로 "Read" 또는 **"Reading"**의 약어로 사용됩니다. 하지만 문맥에 따라 다르게 해석될 수 있습니다. rd.break enforcing=0는 Linux 커널 부팅 파라미터로, 특히 시스템 디버깅이나 복구와 관련된 설정에 자주 사용됩니다.

여기서 각 요소는 다음과 같습니다:

rd:
"ramdisk" 또는 **"root disk"**의 약어로 사용됩니다.
Linux 부팅 시, 초기 ramdisk(initrd 또는 initramfs) 단계에서 특정 설정을 지정할 때 사용됩니다.

break:
부팅 과정을 특정 시점에서 중단하도록 설정합니다. 이를 통해 디버깅하거나 수동으로 문제를 해결할 수 있습니다.

enforcing=0:
SELinux(Security-Enhanced Linux)의 모드를 **"Permissive"**로 설정하여, 보안 규칙을 강제로 적용하지 않도록 지정합니다.

따라서 **rd.break enforcing=0**는 부팅 시 initramfs 단계에서 실행을 중단하고, SELinux를 비활성화한 상태로 디버깅 모드에 진입하도록 시스템에 지시하는 역할을 합니다.

 

 

012345678
복구 및 루트 비번 바꾸고 튀기

 

원카드 실습

 

root에서 log 확인하기 여기서 파란글씨는 폴더 흰색은 파일 색깔있는건 ㅌ ㅡㄱ수파일

 

 

 

01234

서로 공격공격로그보기~~

오전 9:19 2024-11-27

리눅스 켰을때 체크해야하는 사항

네트워크 아이콘이 보이는지? 이게 보여야 인터넷이 되는거에요 1번~확인
하단에 모니터 두개 초록이 켜져있는지 확인~
핑 보내기~~미국 여행 갔다와요~

요 3개는 항상 기본으로 하기!

vmware장점은 save임. 화면을 기억하고있다가 거기부터 바로시작함 근데
이게 작업할때 save해두고 오늘 키면, 문제가 있어
으엥?
타임라인이 다를 수 있어서 오류걸릴 수 있는데 그때 재부팅 ㄲㄲ
save 쌤이 하라하면 하구 가고 아니면 걍 껏다가면 굳 
영국시간기준+9hours

리눅스에서 계정 관련 파일

1번 /etc/passwd 계정 정보가 있는데 패스워드는 없음
2번 /etc/shadow 패스워드가 여기 들어감요 계정 암호 정보
3번 /etc/group 여긴 그룹정보! 

그래서 계정을 만들면 제일 먼저 확인해야하는게 /etc/passwd!
왜여? 이게 제일 최적화라 생각해서 틀 짠거져!!

리눅스 창시자분의 깊은 뜻이..

생성된 계정을 보면은  	user0, user1~user17
이제부터 내꼬 들어갈거면 내꺼 들어가야행~
[실습]
3번 터머닐에 자기 계정으로 로그인해보기 
옆사람한테 ssh접속한다

이케 안바꾸고 한달 운영하구 별로 공부 시너지안나면 조를 다 바꿔버릴꺼에여~!
취업할 수 있는 최적의 환경을 만들꺼에요~!
밸런스 밸런스~

wall이 로그인 사람한테 메세지하는거임
메시지 안보내는거는
로키9이 텔넷 안돌아감, 보안 좀 빡세져서 그럼
아예 쓰지마! 텔넷 위험하니까! 설치해도 어! 버그! 하지마~~응~~

엇 메세지 보내짐.!! 가는게 좀 오래걸려그런듯 

출석 20x5 100일 스무과목 한과목 5일!
 재밌게따!

우리깃수는 자격증 별로없지롱!~앗싸 자격증 공부 안해도된다
자격증 공부 재미어따...

[root@R91-01 ~]# grep user /etc/passwd
=사용자 계정이 들어있는 /etc/passwd 파일에서 user라는 구문이 들어있는 라인을 글자를 찾아줘~grep베이비~

grep 찾아주세요
user 검색 키워드
/etc/passwd 검색대상

다음수업땐 명령어 사전보구 뽑아내여~  

리눅스 계정 생성/삭제/암호 설정
주의: 계정생성 및 삭제는 오직 관리자만 가능하다
useradd 계정명
userdel -r 계정명  *-r을 꼭 붙여야함 안붙이면 큰일남
passwd계정명

[root@R91-01 ~]# useradd user1
[root@R91-01 ~]# grep user1 /etc/passwd
user1:x:1001:1001::/home/user1:/bin/bash
[root@R91-01 ~]# passwd user1

다중 user 생성 명령어

for i in $(seq 1 17); do sudo useradd user$i; done

for i in $(seq 1 17); do echo "user$i:123456" | sudo chpasswd; done

-r하는 이유는 안하면 계정 정보가 남아요
userdel -r(계정관련된파일/폴더를 전부 포함해서)

예를 들어 홍길동이라는 유저가 있어 userdel 홍길동했다.
계쩡 삭제됨. 근데 걔 아이템이 창고에 그대로 남아있는거임..
-r을 붙여야 아이템까지 다 지워주는거임
만약 다른 사람이 리니즈 해야지하구 홍길동 쓸 수 있나 해서 했는데 
a홍길동 계쩡 아이템이 b홍길동한테 가는거임';;'히익
보안 issue~~warning~~

userdel -r 해서 grep으로 확인하기

ps ef

process status every full format

ipscanner 신기한거 있다
오 누가 쓰고있음 신기하네 주황색은 쓰고있는거 녹색이 비어있는거
1번은 게이트웨이주소~~ 2번부터 10은 spare로 그래서 11부터 쓰는거임

한번에 계정명 만드는 방법~~

useradd -p 는 지원해주는데 지금은 안해줌 왜냐면, 이걸 만들고 암호화 시켜야하는데
암호화 패스워드를 한번에 부여해주는거 

for문이라하는데 보통

for in이 정확함

[실습2] 다중계정 생성
for변수

for 변수  in 반복조건 do 명령어 done~다끝났으니까 알려줘야행~~

for i in $(seq 1 17); do sudo useradd user$i; done

for i in $(seq 1 17); do sudo userdel -r user$i; done

for i in $(seq 1 17); do echo "user$i:123456" | sudo chpasswd; done

리눅스는 c언어 기반이라서 리눅스에서 c언어가 야무지게 돌아갑니다~~

i변수가 제일 많이써요~
변수로 사용할 수 없는거=>키워드(예약어)

sequence 일련변호~

> 꺽쇠가 나오는건 1차 명령어가 완성안됐으니까 추가로 더 해줘~~
보통 많이 하는 실수가 열었는데 안닫아주는거! 그러면 보통 >나와영~
휴먼아~작업 마무리해줭~

더블커터
싱글커터
백커터 `` tap키 위에있는거 


> useradd -p `openssl passwd 123456` user$i
user(i변수만큼) 123456이라는 passswd를 암호화 해주세요라는 뜻 

[root@R91-01 ~]# for i in $(seq 1 17);
> do
> useradd -p `openssl passwd 123456` user$i;
> done
[root@R91-01 ~]# grep user /etc/passwd
clevis:x:985:984:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/usr/sbin/nologin
chrony:x:981:980:chrony system user:/var/lib/chrony:/sbin/nologin
user0:x:1000:1000:user0:/home/user0:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
user3:x:1003:1003::/home/user3:/bin/bash
user4:x:1004:1004::/home/user4:/bin/bash
user5:x:1005:1005::/home/user5:/bin/bash
user6:x:1006:1006::/home/user6:/bin/bash
user7:x:1007:1007::/home/user7:/bin/bash
user8:x:1008:1008::/home/user8:/bin/bash
user9:x:1009:1009::/home/user9:/bin/bash
user10:x:1010:1010::/home/user10:/bin/bash
user11:x:1011:1011::/home/user11:/bin/bash
user12:x:1012:1012::/home/user12:/bin/bash
user13:x:1013:1013::/home/user13:/bin/bash
user14:x:1014:1014::/home/user14:/bin/bash
user15:x:1015:1015::/home/user15:/bin/bash
user16:x:1016:1016::/home/user16:/bin/bash
user17:x:1017:1017::/home/user17:/bin/bash

[root@R91-01 ~]# for i in $(seq 1 17); do userdel -r user$i; done

pwd하면 우리가 어디있는지 알 수 있음
/root가 =/c /d같은거임


슬러시를 뭐라발음하느냐 root
/root=루트루트임
그래서 첫번째 나온걸 슬러시라고함 헷갈리니까
원래는 루트밑에루트~
리눅에서 제일 최상단 폴더

pwd 명령어는 print working directory (현재 디렉토리 보여줌)의 약자입니다

gedit useradd_auto.sh 
useradd_auto.sh 메모장 파일을 만든다는거
이후 
#!/bin/sh

for i in $(seq 1 17);
do
useradd -p `opeenssl passwd 123456` user$i;
done

하면 다중계정 만드는 스크립트 만듬. 이 후 스크립트 실행하면 캬 이게 효율이지~


윈도우느 8.3형식
리눅스 7형식임

무슨 말이냐
윈도우는 파일이나 폴더이름을 8자이름으로 확장자는 3글자이내로 요새는 4, 5글자 그래도 가급적으로 이형식을 맞추자는얘기임
확장자가 없으면 윈도우는 무조건 100% 폴더임. 확장자가 있어야 무조건 파일임
파일이나 폴더이름이 8자넘어가면 ~추가되서 넘어감(더 길어~)

리눅스는 뭐가 다르다? 확장자가 없넹? 어라라~ 

윈도우에서는 폴더 생성 abc.txt 이거 불가능함
리눅스는 abc.txt 가능해
리눅스는 확장자 타입이 없어서 내가 만들고싶은걸로 다 만들기 가능!
리눅스는 얘가 파일인지 폴더인지 다 알죠! 캬캬

ls list
cp copy
tap하면 자동완성 캬~

cp -a useradd_auto.sh userdel_auto.sh 하면 복사 복사 카피카피룸룸

[root@R91-01 ~]# gedit userdel_auto.sh 
[root@R91-01 ~]# cat useradd_auto.sh 
#!/bin/sh

for i in $(seq 1 17);
do
useradd -p `opeenssl passwd 123456` user$i;
done
[root@R91-01 ~]# 


sh=shell실행해라

sh userdel_auto.sh


[root@R91-01 ~]# grep user /etc/passwd
clevis:x:985:984:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/usr/sbin/nologin
chrony:x:981:980:chrony system user:/var/lib/chrony:/sbin/nologin
user0:x:1000:1000:user0:/home/user0:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
user3:x:1003:1003::/home/user3:/bin/bash
user4:x:1004:1004::/home/user4:/bin/bash
user5:x:1005:1005::/home/user5:/bin/bash
user6:x:1006:1006::/home/user6:/bin/bash
user7:x:1007:1007::/home/user7:/bin/bash
user8:x:1008:1008::/home/user8:/bin/bash
user9:x:1009:1009::/home/user9:/bin/bash
user10:x:1010:1010::/home/user10:/bin/bash
user11:x:1011:1011::/home/user11:/bin/bash
user12:x:1012:1012::/home/user12:/bin/bash
user13:x:1013:1013::/home/user13:/bin/bash
user14:x:1014:1014::/home/user14:/bin/bash
user15:x:1015:1015::/home/user15:/bin/bash
user16:x:1016:1016::/home/user16:/bin/bash
user17:x:1017:1017::/home/user17:/bin/bash
[root@R91-01 ~]# sh userdel_auto.sh
[root@R91-01 ~]# grep user /etc/passwd
clevis:x:985:984:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/usr/sbin/nologin
chrony:x:981:980:chrony system user:/var/lib/chrony:/sbin/nologin
user0:x:1000:1000:user0:/home/user0:/bin/bash

관리자 비번 복구 및 변경하는 방법

부팅레벨
init0 컴퓨터 종료
init1 관리자모드(싱글모드)-주로 복구에서사용
init2 cli 모드 comand line interface or character user interface 네트워크 공유 안됨
init3 cli 모드 네트워크 공유가능
init4 서버일시정지(20년동안 이게 머하는건지 쌤도모름)
init5 gui모드
init6 재부팅

컴퓨터 종료는 관리자만 할 수 있음
유저는 못함
init6하면 재부팅


root에서 passwd 비번 넣으면 관리자 비번 바뀜
  
내짝꿍 192.168.10.33 
 
재부팅할때 e 누르기. 에코. 알파벳e랑 2랑 헷갈릴 수 있으니까. 에코라고 부르는거임
부팅할때 뭐 나오는데 그때 눌러줘야하는데 쌤은 늦어따
다시 재부팅 ㄱㄱ

비번바꾸니느게 여러가지있는데 쌤이 알렺주신 방법이 전세계 공유 방법

그래서 커서를 linux~로 시작하는데로 옮기기 이후 end home아래에있는거 누르면 
맨마지막단락으로 가요 \n 단락임

이후 rd.break enforcing=0적기 이후 ctrl+x 누르면 재부팅되고
관리자모드로 들어가짐

이전에 비번하던 로그인이 있으면 안돼 그래서 아무도 없을때 root비번이 변경되는거임
root비번변경할때 시간이 걸리는 이유.

게임하는데, 게임서버에서 업데이트하거나 점검할때 로그인 막는이유가 그거임
하나라도 로그인되어있으면 적용이안되니까
--------------------------------------------------------------------------
원카드 할꺼임
카드 한장~~

ssh localhost 내꺼 확인하는거임

[root@R91-01 ~]# cd /var/log
[root@R91-01 log]# ls
README           maillog               vmware-network.5.log
anaconda         messages              vmware-network.6.log
audit            private               vmware-network.7.log
boot.log         qemu-ga               vmware-network.8.log
btmp             samba                 vmware-network.9.log
chrony           secure                vmware-network.log
cron             speech-dispatcher     vmware-vgauthsvc.log.0
cups             spooler               vmware-vmsvc-root.log
dnf.librepo.log  sssd                  vmware-vmtoolsd-root.log
dnf.log          tallylog              vmware-vmtoolsd-user0.log
dnf.rpm.log      tuned                 vmware-vmtoolsd-user1.log
firewalld        vmware-network.1.log  vmware-vmusr-root.log
gdm              vmware-network.2.log  vmware-vmusr-user0.log
hawkey.log       vmware-network.3.log  vmware-vmusr-user1.log
lastlog          vmware-network.4.log  wtmp
[root@R91-01 log]# 


파란건 폴더 나머지는 다 파일
색깔 있는 파일은 특수 파일
secure인 다 파일

pwd
tail -f secure 

흐으!! 최초의ip가 누굴까! 왔다갔다왔다갔다하다가!
포렌식하고 어 마지막 얘야, 또 포렌식하고 어 얘야! 하구 찾다찾다가
하는거임

폴더 만들기
mkdir (폴더명)
mkdir banana
makedirectory
과자한봉다리 준비물


경찰들이 범인 여기서 발견했어요! 저기서 발견했어요! 하고 말하는거임
해커가 지금부터 도망가는데 경찰이 지금 잡으러갈꺼임
35번이 지금부터 자기 컴퓨터를 제외하고 나머지 원격타고 도망갈꺼임
우린 모니터링만 하다가 저한테 왔어요 그 얘기하면 됨
이동경로 바로바로 나오게 말이야


tail -f secure 해서 켜둔 다음 로그 보러감 

Nov 27 12:54:44 R91-01 sshd[2878]: Failed password for root from 192.168.10.35 port 39662 ssh2
Nov 27 12:54:49 R91-01 sshd[2878]: Accepted password for root from 192.168.10.35 port 39662 ssh2


로그 뿐만 아니라 폴더 만든거나 활동한거 볼려면
예) user11이 들어간 로그가 보임
cd /home/user11
들어가서
cat ./bash_history
해서 확인 


./bash_histroy 로그아웃할때 만들어짐
로그아웃안하고 계속 해커가 침투해있으면 안남음

 

 

 


 

 

우리 옆자리 친구 (메모천재) 노션 링크

 

https://www.notion.so/2024-11-27-Wed-OT-3-14be369e39d380f8b844f33e01cc2ff8?pvs=4