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한방설정(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(포트 포워딩, 서비스하려면 방화벽이 있게끔 해줘야함) -
정의 및 사용자 - 서비스 정의 - 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 -
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 지정한 필드/문자를 제외하고 출력
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 파일 끌어오기