●17일차(20250111)(토요일 코딩)
#미션1
php 계정을 만들고 php.st.kr로 접속가능하도록 설정할 것
cd /home
adduser php
su php
cd ~
chmod 711 $HOME
chmod 755 ~/public_html
#미션2
editplus를 이용해서 php.st.kr로 접속할것

외부에서 접속이 되야되니까
방화벽을 건드려야함(192.168.0.254:4444)
ftp 추가

> win7 editplus로 접속이 됨(dvwa,word도)
#미션3
하드디스크 추가 방법 및 이전 방법을 정확히 알고있어야한다
외부연결후(NAT로 변경후 aps.or.kr 공격)
wpscan --url aps.or.kr -U user.txt -P passwd.txt
> nat로 연결했으니 10.0.2.15로 IP를 바꿔서 외부에서 안으로 진입
> 명령어를 치면 알아서 업데이트가 됨
외부공격자(해커)
wpscan --url word.st.kr -U user.txt -P passwd.txt
> 비밀번호를 찾아줌(admin 123456)
> 웹페이지의 비밀번호다
-> 이 명령어들은 root에서만 된다
서버에서
su word
cd /public_html/logs
tail -f access.log
> wpscan 로그들이 계속 뜸
> 근데 관리자는 이거 계속 보고있지 않은 이상 알지 못함
#미션4
저장되어있는 블로그를 삭제해라
editplus로 word.st.kr > wordpress > login 파일
kali에서 word.st.kr/wp-login.php로 들어가진다
> 찾아낸 admin 123456
1. 데이터베이스로 들어가자
workbench

> 안들어가짐
서버에서
mysql
CREATE USER 'word'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON word.* TO 'word'@'%';
FLUSH PRIVILEGES;
> 모든 대역대 설정
nano /etc/mysql/mysql.conf.d/mysqld.cnf
> bind-address = 0.0.0.0으로 설정
systemctl restart mysql
> 워크벤치로 들어가짐
> tables에 wp_posts를 보면 홈페이지 화면 데이터베이스를 볼 수 있다
su word
mysqldump -u word -p word > word.sql
> ~ 아래에 백업된 word.sql이 생긴다
2. word.sql이 시간이 지나면 새로운 파일이 생기면서 백업 됐으면 좋겠다
su word
cd ~
nano backup.sh
mysqldump -u word -p123456 word > word.sql
> 추가
3. 백업될때 시간이 같이 나왔으면 좋겠다
NOW=$(date "+%Y%m%d_%T")
mysqldump -u word -p123456 word > /home/word/word_$NOW.sql
> 추가
> backup.sh와 같은 경로에 시간과 함께 같이 백업된다.
4. 백업받은 파일로 복원 작업 진행
> 서버로부터 파일 받기
> samba를 이용하자
서버
groupadd sambaGroup
chgrp sambeGroup /backup
chmod 770 /backup
usermod -G sambaGroup word
smbpasswd -a word
nano /etc/smaba/smb.conf
-----------------------------
[global]
workgroup =WORKGROUP
바로 아래에 추가
unix charset = UTF-8
map to guest = bad User
제일 아래에 추가
[backup]
path = /backup
#writeable = yes
guest ok = no
create mode = 0777
directory mode = 0777
valid users = @sambaGroup
-----------------------------
> workgroup은 window의 작업그룹을 써줘야한다
> window7 작업 그룹 이름 바꾸기 검색
testparm
> 오류 확인
> Loaded services file OK 뜨면 된거임
systemctl enable smbd
systemctl restart smbd
systemctl status smbd
> active 확인
ufw allow SAMBA
> smaba 관련 포트를 연다
윈도우7 파일탐색기
컴퓨터 > 네트워크 드라이브 연결 > 네트워크 드라이브 연결
> 적당한 드라이브 선택 > \\10.0.2.15\backup
> 로그인할 때 다시 연결 체크
> 다른 자격 증명을 사용하여 연결 체크
> 들어가서 word 백업된거 바탕화면으로 복사
window7에서 php.st.kr 세팅
CREATE USER rsyslog@'10.0.2.15' IDENTIFIED BY '123456';
GRANT ALL Syslog.* to rsyslog@'%';
FLUSH PRIVILEGES;
> 이걸 로그에 넣어줘야 10.0.2.15/~php/includes/remotedb.php 웹에 들어가짐
[monitor.php]
$sql = "SELECT * FROM Syslog.SystemEvents order by ID limit 10";
> limit 10 10개만 가져오라!
> DESC > 10-9-8-7-6-5-4-3-2-1
> php 대괄호 닫히는거 잘보자
위에 넣어지는 tr문은 바꾸어지지 않게
아래에 넣어지는 tr문은 바꾸어지게
중간에 if문 > 데이터베이스에 데이터가 있는지 물어보는중
> 데이터가 있으면 아래 tr문에 찍히게(실행)
> 없으면 검색한 데이터가 없습니다 출력
> if else가 같이 출력되면 대괄호 닫기 잘못한거임
index.php는 파일을 만들때 항상 넣어주자
mysqli_close는 무조건 footer 위에
+) public 아래에 index.html, index.php, monitor.php
includes 아래에 db.php, footer.php, header.php, remote.php
> 만약에 인코딩을 바꿨는데도 안된다면
include __DIR__. "/includes/header.php";
> 불러온 php 인코딩을 바꿔주면 된다
+)monitor.php win7에서 양식이 깨져서 나오므로
부트스트랩5 > get started > download > B > downloads > Compiled CSS and JS 다운 > 공유 폴더
header.php
> /static/bootstrap.min.css
> /static/bootstrap.bundle.min.js 바꿔주기
> public 아래에 static 디렉토리를 만들어준다
> php 서버로 들어가서 chmod 755 static/
> edit plus에서 static 아래에 bootstrap.min.css, bootstrap.bundle.min.js 파일 만들어주기
> 공유폴더에서 압축파일 푼 데이터 가져와서 붙혀주기
> +) table도 monitor에 붙혀줌
-> php.st.kr/monitor.php에 들어가면 이쁘게 나옴
--> 모니터링은 중요한 데이터이기 때문에 회원가입 로그인을 해서 볼 수 있도록 만들것이다