📘 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
정의 및 사용자 - 서비스 정의 - 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 파일 끌어오기