●9일차(20250102)
우분투 web nat로 변경후 -> 웹브라우저
우리는 gns 밖에 있다
+)설치할 때
진짜 IP : 192.168.0.201
가짜 IP : 10.0.2.102
->nat
진짜IP만 있을때
->어댑터에 브릿지
1. st.kr -> http://192.168.0.201/~st/index.php 세팅
도메인 : st.kr
dns는 위치만 알려줄것이다
제일 취약한 부분은 web
1-1. st.kr이 작동되도록 만들자(도메인으로 접속하게)
xshell에서
ssh 192.168.0.201
master@web:~$ cd /etc/apache2/
cat apache2.conf
nano apache2.conf | more
->var/www/html 에 나왔던게 있다.
cd /etc/apache2/sites-available
nano hosting.
<VirtualHost *:80>
DocumentRoot /home/st/public_html
ServerName intra.st.kr
ServerAdmin st@st.kr
ErrorLog /home/st/public_html/logs/error.log
CustomLog /home/st/public_html/logs/access.log combined
</VirtualHost>
a2ensite hosting
-> 이거 안되면 오타
systemctl reload apache2
-> 디렉토리가 없다는 에러가 뜰수있다
->/home/st/public_html/logs/error.log
/home/st/public_html/logs/access.log combined
-> 위 디렉토리 안에 파일이 없는거 만들어줘야함
ubuntu꺼주고 gns에서 다시 키자
서버 켜주고 방화벽 켜주자
--> 웹에서 intra.st.kr/index.php가 뜬다
kali에서 ssh master@10.0.2.101
-> 네트워크 일반드라이버
1-2. 도메인 세팅
가장 중요한건 도메인 서버
intra.net
systemctl restart apache2
intra.st.kr
kali에서
nslookup st.kr
-> 커뮤니케이션 10.0.2.15가 나와버림
-> 10.0.2.101이 나와야함
-> kali는 인사이드 -> dhcp
-> 방화벽으로 들어가야함(dhcp)
-> 10.0.2.101로 바꾸자
nslookup st.kr
-> refused가 되면 10.0.2.101번이 문제가 되는것이다
-> 나는 bind 설치파일이 없어서 refused가 나왔다
-> nat로 바꾸고 (우분투)에서 설치하고 오자
101 domain에서 (p516)
cd etc/bind
su
nano named.conf.options(p522)
수정
/etc/bind/named.conf(p537)
각각의 파일이 include 되어있음
-> 책에 내용은 복잡해서 (default-zone을 고치자)
-> 그리고 name서버는 설정 파일이 한글자라도 틀리면 안된다(대소문자도 구분 잘해야함)
-> 네임서비스가 시작될때 가장 먼저 읽는 파일(네임서비스가 안되면 여기부터 찾아보자)
nano named.conf.default-zone
zone st.kr
file "/etc/bind/st.kr/zone";
named-checkconf
->입력한 내용이 문법상 틀렸는지 확인
nano st.kr.zone
touch st.kr.zone (없으면 만들어)
cp db.local st.kr.zone
nano st.kr.zone
수정
named-checkzone st.kr st.kr.zone (맞는지 확인)
systemctl restart named
nslookup st.kr
resolve.conf
nameserver 10.0.2.101
라운드 로빈 방식(p543)
nslookup st.kr
nano st.kr.zone
@ IN NS ns.st.kr.
@ IN A 125.246.95.152
www IN A 125.246.95.152
webserver 100 IN A 125.246.95.152
200 IN A 125.246.95.152
300 IN A 125.246.95.152
mail IN A 125.246.95.152
intra IN A 10.0.2.102
inmail IN A 10.0.2.103
* IN A 125.246.95.152
systemctl restart named
nslookup intra.st.kr
-> 잘뜬다
일반 kali창에서도
nslookup intra.st.kr에서도 확인
firefox로 intra.st.kr 들어가보면 웹해킹~이 뜬다
-->여기서 뜨지않고 우분투만 뜬다면 아까 hosting.conf에서 오타난거임
root@web:/etc/apache2/sites-available# nano hosting.conf
nano /etc/hostname
-->여기서 101(domain.st.kr), 102(web.st.kr), 103(email.st.kr) 이름 바꿔주자
2. (web)
ssh master@10.0.2.102
cd var/log/apache2
칼리에서 한글 깨짐 현상
sudo apt -y install fcitx-lib*
sudo apt -y install fcitx-hangul
sudo apt -y install fonts-nanum
-> 네트워크 nat
웹서버 취약점 찾기
st.kr > /var/www/html
inra.st.kr > /home/st/public_html
2-1. 미션. 102 서버 수집하기
kali에서
su
nmap -v -10.0.2.102
위치
st.kr -> /var/log/apache2/access.log
intra.st.kr -> /home/st/public_html
nikto -host intra.st.kr > /home/st/public_html
nikto -host 10.0.2.102 > /var/www/html
-> 웹 어플리케이션 취약점 찾아줌(디렉토리 파일 apache2버전까지)
--> 탐지가 되는 (많이 쓰는)파일명으로 짓는건 좋지 않다.
웹서버에서
su
dpkg -l apache2
--> apache 버전이 나오는데 nikto에서 나온것과 같다
다시 루트 칼리로 돌아오자
dnsenum > dnsenum.txt
mv dnsenum.txt share
dnsenum st.kr
dnsenum : dns 조회하는 명령어
hydra -L user.txt -P passwd.txt 10.0.2.102 http-post-form "/login_chk.php:id=^USER^&pw=^PASS^:fail" -V
--> 공격이 정상적으로 되는데 pw는 못찾음
--> 정확한 타겟을 공격하지 않음
--> 10.0.2.102를 intra.st.kr로 바꿔야함
hydra -L user.txt -P passwd.txt intra.st.kr http-post-form "/login_chk.php:id=^USER^&pw=^PASS^:fail" -V
--> root@web:/home/st/public_html/logs# tail -f access.log 여기서 공격받은걸 확인할 수 있다
사전 공격 가능한 포트
21
22
23
80(웹 로그인 기능에 가능)
3306(데이터베이스가 외부 연결 가능시)
2-2. 미션2. 본인 이니셜 도메인으로 웹사이트 접속 가능하도록 설정할 것
일반적으로 만들어지는 폴더는 웹스캔 기능으로 확인이 가능함
예 : auth,login,includes 기타 등등..
예 : msh.kr
domain에 root
named.conf.default-zones에 본인 이니셜
cp db.local
cd /etc/bind
nano msh.kr.zone
cp db.local st.kr.zone
nano msh.kr.zone
수정
named-checkzone st.kr st.kr.zone (맞는지 확인)
systemctl restart named
nslookup msh.kr
kali root
resolve.conf
nameserver 10.0.2.101로 바꿔라
웹으로 가서
cd home msh
su msh
mkdir logs
mkdir access.log(없으면)
root@web:/etc/apache2/sites-available# nano hosting.conf
hosting.conf 내 이니셜로 바꿔주기 다른거에서 복사해와
systemctl restart apache2
2-3. 미션3. ssh에 접속하면 메일 서버를 통해 접속을 알리는 기능 설정
master@mail2.st.kr
st@mail2.st.kr
From : mastert To : st
mail 서버로 들어가라
su
cd /etc/mail
cd /etc/mail/hostname
nano local-host-names
------------------------
localhost
mail.st.kr
mail2.st.kr
-------------------------
nano /etc/mail/sendmail.cf
-------------------------------
cwst,kr에 로컬호스트 부분
cwlocalhost --> cwst.kr 로 수정
smtp deamon options
addr 두개보이는거 지우기
-------------------------------
p568
nano /etc/mail/access
st.kr RELAY
msh.kr RELAY
mail2.st.kr?
makemap hash /etc/mail/access < /etc/mail/access
nano /etc/dovecot/dovecot.conf (p570)
nano /etc/dovecot/conf.d/10-mail.conf
home st msh master 추가
reboot
아니면
systemctl restart sendmail
systemctl restart dovecot
evolution에 들어가서 edit - accounts - add - welcome
master@mail2.st.kr
st@mail2.st.kr
From : mastert To : st
안된다면 kali에서 nslookup mail2.st.kr
address가 125.X로 되어있음
domain 서버에 들어가서
sudo nano /etc/bind/st.kr.zone
mail2 IN A 10.0.2.103 추가
sudo systemctl restart named
+)바이러스 탐지 기능 설치
apt -y install clamav
sed -i -e "s/^NotifyClamd/#NotifyClamd/g" /etc/clamav/freshclam.conf
systemctl stop clamav-freshclam
clamscan --infected --remove --recursive /home
wget https://files.trendmicro.com/products/eicar-file/eicar.com
clamscan --infected --remove --recursive ./
apt -y install clamav-daemon
apt -y install amavisd-new