DAY18
DAY18

인보전 문제 풀어보기

문제21
계정 추가 competition
su competition
chmod 711 $HOME
chmod 755 ~/public_html

호스팅 추가 (bind)
호스팅 추가 (hosting)
http://competition.st.kr
index.html > index.php
< script>location.href='./index.php';
index.html 삭제
index.php 삭제
rm -rf index.html
rm -rf index.php
=> 둘다 삭제 하면 경로 보임(취약)
=> 설정 잘하면 경로 안보이게 할 수 있다!!

디렉토리 지시자?

cd /etc/apache2/sites-available/hosting.conf

< Directory "/home/competition/public_html">
    Options Indexes
< /Directory>

=> 목록 보이지 않게 해주려면 None

< Directory "/home/competition/public_html">
    Options None
    Order Allow,Deny
    Allow from all
    Deny from 100.100.100.1
< /Directory>

=> kali에서 forbidden 나오는지 확인
연결 오류는 파이어 폭스 껐다 키면 해결됨

=> sudo apachectl configtest (아파치 오류 검사)
-----------------------
취약점
command injection
file inclusion
file upload
-----------------------

문제 11번
자동 로그아웃 3분으로 처리

문제 6번
KALI로 부터 오는 메일 차단...(다시)

문제 21번
계정추가 competition
su competition
chmod 711 $HOME
chmod 755 ~/public_html

Bootstrap Example

shop.st.kr 구축

인보전 문제 14번
shop.st.kr > 워드프레스 기반 쇼핑몰이라고 가정
암호 강도를 올리자
shop 계정 생성

cd /home/word
cp word.zip /home/shop/public_html/
cd /home/shop
unzip word.zip
경로
http://shop.st.kr/wordpress


nano /etc/login.defs
UMASK 022
(디렉토리 777 -022 = 755
파일 666 -022 = 644)
LOG_OK_LOGINS yes


부팅시 마운트지점
/etc/fstab
/etc/passwd
/etc/login.defs
/etc/mail/access > 센드메일 미설치 시 없음




CREATE DATABASE shop;
CREATE USER 'shop'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON shop.* TO 'shop'@'localhost';
FLUSH PRIVILEGES;
--------------------------------------------------------------------------
su word
cd /home/public_html
cp wp-config-sample.php wp-config.php
nano wp-config.php
    shop/shop/123456
=> word.st.kr 가보면 설치하기 누를 수 있음
    shop/shop/123456/check/shop@mail.st.kr/check

Bootstrap Example

미션1: 공격로그 찾아내기

[산특주식회사 쇼핑몰 해킹 사건]
공격의 시작
ping shop.st.kr (icmp)
100.100.100.1 쉽게 노출

icmp 외에 tcp/udp 확인 가능
hping3 st.kr -S -i u50 -c 100 (최초 공격)

hping3 st.kr -a st.kr -S -c 100 -u 100
hping3 125.246.95.254 -a 125.246.95.254 -S -c 10
hping3 --flood --rand-source st.kr

nikto -host shop.st.kr > wordpress 확인
    shop의 로그에서 확인 가능

미션
shop 로그에 기록된 access.log 데이터에 100.100.100.1은 총 몇번을 접속시도 했는지 계산하시오


wpscan --url shop.st.kr -U user.txt -P passwd.txt >
공격을 성공시키기
[!] Valid Combinations Found:
| Username: shop, Password: 123456

미리 wpscan --url aps.or.kr -U user.txt -P passwd.txt (업데이트> nat설정으로)


[win7]
cmd
ftp 10.0.2.15 (shop/123456)
cd public_html
cd logs
dir
get access.log
bye

(경로 c:user/manager/access.log)

공격 후에 대한 로그 확보


해커가 실행했던 명령어가 무엇인지 알 수 있는가?
php.st.kr/mornitor.php에서 확인가능하도록 하려면?

Bootstrap Example

미션3: 백업 파일 생성 및 복원 작업 진행

shop에 대한 웹파일과 데이터베이스 백업후 관리자 pc에 저장

cd /home/word
nano backup.sh
    NOW=$(date "+%Y-%m-%d-%T")
    mysqldump -u word -p123456 word > word-$NOW.sql
./backup.sh

cd /backup
    backup-SatJan11tar.gz 확인(백업완료)


/etc/skel 파일 수정
nano backup.sh
백업 파일로 복원 작업 진행
호스트 이름 : backup.st.kr
shop.st.kr

su
nano /etc/hostname
    (IP214.st.kr -> mail.st.kr)

/share에 있던 백업파일과 데이터베이스를 /home에 가지고 온다
    install apt lrzsz 필수

tar -xf 백업파일

/home안에 /home이 생긴 문제 해결
cd /home/home
cp -r shop /home
cd ..
cd /home
rm -rf home

mysql -u shop -p shop< S891MA~R.sql

CREATE DATABASE dvwa;
CREATE USER 'dvwa'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost';
FLUSH PRIVILEGES;