24일차

침투흔적

메일로 받은 흔적도 추적 해커 >
또는 웹으로 흔적을 만들고 추적 웹사이트 < 관리자

언제 침투가 되었는지?

해커에게 노출된 암호는 안전한 것인가?
>키로거 작동 > keyscan_start > keyscan_dump
>화면 스크린 샷 > screenshot
노출된 암호는 안전한가?
주기적으로 변경하는게 안전한 것인가?

안전하지 않다면 어떠한 조치를 취해야 하는가?

패스워드 인증 방식 > 키인증방식을 사용한다면 안전한가?
cat /etc/ssh/sshd_config
passwordAuthentication no
KbdinteractiveAuthentication no
[공개키key][개인키key]
서버설정
ssh-keygen
ll ~/.ssh
cat ~/.ssh/id_ed25519 >> ~/.ssh/authorized_keys
[왼쪽의 개인키]------->[오른쪽의 짝궁]
개인키,공개키 scp master@192.168.0.209:/home/master/.ssh/id_ed25519 ~/.ssh

ssh master@192.168.0.209
Enter passphrase for key '/id_ed25519' : 123456

key : 암호화

//관리자pc cmd창 netstat -ant | find "192.168.56.101"
192.168.0.92으로 본인의 계정을 이용하여 접속하라//

미션
바탕화면에 저장된 서버의 개인키를 유출하라
로그와 패킷을 통해 유출된 흔적을 찾아라
유출한 키로 서버에 접속 가능한지 확인하라

window 에서 puttygen 실행
위에 conversions 누른후 서버에서 생성한 id_ed25519를 선택
Save private key 누르고 위치와 이름 선택 하면 키가 생성됨
그후 putty로 가서 connection -> data -> Auto-login username -> master입력
SSH -> Auth -> Credentials -> private key file for authentication -> 파일 선택
Session으로 돌아가서 IP192.168.56.102입력하고 접속

인증이란
웹기본 인증 : 매우 취약함
패킷 잡아 인코딩 확인
import base64
import json
data = {"username":"master","password":"123456"}
json_data = json.dump(data)
encorded_json = base64.b64encode(json_data.encode('utf-8'))
print("Encode JSON_json:",encoded_json.decode('utf-8'))

PAM(pluggable Authentication Modules)
인증을 유연하게 관리 할수있도록 설계된 모듈화된
인증 프레임워크
방식 적용

패스워드 > 키 인증 방식 >
웹 기반 인증 > 취약함 (옛날 공유기나 카메라에 사용됨)
PAM 모듈 인증
LDAP 인증
커버로스 인증 (sshd 설정 변경 가능함)