📘 Day 11 (2025.07.04.FRI) - Kali → 웹서버 메일 전송, ssh 접속 시 이메일 알림 설정

⚠️ 실습용 WindowServer2022 자동 종료되는 현상 해결
윈도우 서버 cmd 관리자모드로 실행한 후 slmgr.vbs -rearm 입력 후 재부팅
📧 Kali → 웹서버로 메일 전송

환경 정보:

- Kali -
100.100.100.1 100.100.100.254 125.246.95.152

- UTM -

호스트 어댑터
🛣️ 라우트 100번대로 설정 (R1 / R2 OSPF)
[R1한방설정(OSPF)]
config t
hostname Hacker
interface FastEthernet0/0
ip address 100.100.100.254 255.255.255.0
no shutdown
exit
interface Serial1/0
ip address 1.1.1.1 255.255.255.252
no shutdown
exit
router ospf 1
network 100.100.100.0 0.0.0.255 area 0
network 1.1.1.0 0.0.0.3 area 0
router-id 1.1.1.1
exit
ip dhcp excluded-address 100.100.100.1 100.100.100.254
ip dhcp pool hacker
network 100.100.100.0 255.255.255.0
default-router 100.100.100.254
dns-server 125.246.95.152
lease 1 0 0 !
exit
[R2한방설정(OSPF)]
config t
hostname ST
interface FastEthernet0/0
ip address 125.246.95.254 255.255.255.0
no shutdown
exit
interface Serial1/0
ip address 1.1.1.2 255.255.255.252
no shutdown
exit
router ospf 1
network 125.246.95.0 0.0.0.255 area 0
network 1.1.1.0 0.0.0.3 area 0
router-id 2.2.2.2
exit
ip dhcp excluded-address 125.246.95.152 125.246.95.254
ip dhcp pool st
network 125.246.95.0 255.255.255.0
default-router 125.246.95.254
dns-server 125.246.95.152
lease 1 0 0 !
exit

- kali -

ping 100.100.100.254

- UTM -

네트워크 정의
st1 192.168.1.2 st2 192.168.1.1

- Win -

윈도우 DNS 수정
125.246.95.152 intra 192.168.1.1 추가

- kali -

ping 125.246.95.152 연결은 되지만 nslookup st.geumsol.kr은 안됨(R2 - ip address 125.246.95.152 255.255.255.0 -> 125.246.95.254 수정)
🔐 UTM (포트 포워딩, 서비스 방화벽 설정)

네트워크 보호 - NAT

UTM NAT 설정

정의 및 사용자 - 서비스 정의 - ssh, 2222

네트워크 보호 - NAT

포트포워딩 설정
=> !메일 송신 성공!
🛠️ 교수님 서버 가져온 거 내 정보로 수정
- kali -
ssh -l master 125.246.95.152 -p 2222
nao /etc/hostname
nano /etc/mail/local-host-names
nano /etc/mail/sendmail.cf
nano /etc/mail/access
makemap hash /etc/mail/access < /etc/mail/access
systemctl restart sendmail
systemctl enable sendmail
📛 칼리에서 오는 메일이 차단 가능한지 확인
REJECT : 메일 거부(거부 메시지를 보냄)

nano /etc/mail/access - 100.100.100 REJECT 추가(192.168.0, 192.168.1 주석 처리)

history : 지금까지 입력한 명령어 리스트 나옴 ex) !93

makemap hash /etc/mail/access < /etc/mail/access
systemctl restart sendmail
=> 메일 보내짐
🚫 도메인 막기
nano /etc/mail/access - geumsol.kr REJECT 수정
makemap hash /etc/mail/access < /etc/mail/access
systemctl restart sendmail
=> 에러 뜸
📚 쉘 (참고: 이것이 우분투 리눅스이다 p.445)

쉘 스크립트: 사용자가 입력한 명령 해석 → 커널로 전달 → 사용자에게 전달

bash 관련 파일:

cat /etc/passwd로 확인 가능
master:x:1000:1000:master:/home/master:/bin/bash
/etc/profile(로그인하면 가장 먼저 읽음, 메일 먼저 보내주기)
/etc/.bashrc
⚙️ /etc/profile 수정 (Kali)
- Kali -
ubuntu접속 : /etc/profile

- 맨 아래 추가 -
#add
alisa ll='ls -al'
export HISTSIZE=1000(명령어 치는 개수(history))

source /etc/profile
🐚 쉘 스크립트 프로그래밍 (p.450)
root@st : ~#

nano 1.sh
#!/bin/sh, echo "name: " $USER - chmod 777 1.sh - ./1.sh
🔎 환경 변수 예시
printenv
SSH_CONNECTION=100.100.100.1 34314 192.168.1.1 2222
USER=master
SSH_CLIENT=100.100.100.1 34314 2222
📨 SSH 접속 시 이메일 알림 설정

mailutils, sendmail 설치 필요 (Ubuntu2, NAT 놓고 깔고 GNS 넣기)

Xshell 155 들어가면 Someone from 192.168.0.2 logged into IP155: jeonjucom.kr
📋 cut 명령어 옵션
파일이나 표준 입력으로부터 텍스트 줄에서 특정 부분만 잘라내는 명령어
기본 사용법 : cut [옵션] [파일명]
옵션 설명
-f 필드(field) 지정 (첫 번째: IP) — 기본 구분자는 탭
-d 필드 구분자(delimiter) 지정 (예: ,, :, 스페이스 등)
-c 문자 위치(character position) 지정
--complement 지정한 필드/문자를 제외하고 출력
🔧 /etc/profile에 넣은 코드
nano /etc/profile

IP="$(echo $SSH_CONNECTION | cut -d " "-f 1)"

100.100.100.1 43576 192.168.1.1 2222 | cu -d " " -f 1

HOSTNAME=$(hostname)
NOW=$(date +"%e %b %Y, %a %r")
echo "Someone from '$IP' logged into '$HOSTNAME' on '$NOW'.'| mail -s '접속 성공' log@mail.geumsol.kr
💡 실제 넣은 스크립트
if [ -n "$SSH_CONNECTION" ]; then
  IP=$(echo "$SSH_CONNECTION" | cut -d " " -f 1)
  HOSTNAME=$(hostname)
  NOW=$(date +"%e %b %Y, %a %r")
  echo "Someone from $IP logged into $HOSTNAME on $NOW." | mail -s "접속 성공" log@mail.geumsol.kr
fi
adduser log
🔁 NAT로 수정 후 네트워크 연결 확인 (Ubuntu)
root: nano /etc/netplan/50Tab - dhcp4: yes, 4개 주석처리 - sudo netplan apply - reboot
📦 메일 유틸리티 설치
apt -y install mailutils
🎯 미션!

- 계정생성 후 사이트 반응하도록 설정 - public_html 안에 넣기

- word.geumsol > 계정 : word > wordpress.zip
- gnu.geumsol > 계정 : gnu > gnu.zip
- dvwa.geumsol > 계정 : dvwa > dvwa.zip
su
word
ls
pwd
cd public_html/
zip 파일 끌어오기