[21.10.19] (실습)웹 서버 해킹에 대한 과정들
http://www.yes24.com/Product/Goods/14529551
이제 시작이야! 웹 해킹 입문 - YES24
『이제 시작이야! 웹 해킹 입문: THE BASICS』은 도구를 사용하는 간단한 프로세스를 통해 널리 만연한 웹 취약점이 무엇이고, 어디서·왜·어떻게 발생하는지, 그리고 어떻게 공격하는지 완전하게
www.yes24.com
Kali Linux 2020 root 계정 접속법
kali 2020부터는 사용자계정으로 진입을 우선하게되어 root로는 따로 진입을 해주셔야 합니다. 1. 사용자계정의 터미널에서 sudo su를 입력하여 접근합니다. sudo su 그리고 사용자계정의 비밀번호를
luckyking.tistory.com
모의해킹환경 구축을 위한 DVWA 설치하기. - 달소씨의 하루
앞서 bee-box에 대해서 소개해드렸는데요. 이번에는 DVWA에 대한 소개입니다. DVWA란? Damn Vulnerable Web Application (DVWA) 의 약자로 마찬가지로 모의해킹 테스트를 위한 환경입니다.bee-box와 마찬가지로 P
blog.dalso.org
해당 서적과 블로그를 참조하여 작성하였습니다.
서적과 다른 분들의 블로그를 기반으로 DVWA(Damn Vulnerable Web Application) 환경을 구현하였다.
●kali-linux-2021.3-vmware-amd64
●Apache httpd 2.4.48 ((Debian))
●MySQL 5.5.5-10.5.12-MariaDB-1
●dvwa v1.10
웹 서버 해킹 과정은 4단계로 나뉘어진다.
사전조사 -> 포트스캐닝 -> 취약점 찾기 -> 공격
사전조사
host와 robots.txt로 사전조사를 개시한다.
kalilinux 명령어 host 도메인
host localhost
localhost.localdomain has address 127.0.0.1
robots.txt 파일은 브라우저에서 간단히 URL을 입력하여 얻어질 수 있다. URL/robots.txt 입력하면 되지만 막혀있음.
포트스캐닝
1. 열린 포트는 어떤 것인가?
2. 그 포트에서 동작하는 서비스는 무엇인가?
3. 어느 버전의 서비스가 돌고 있는가?
이 세가지에 대한 질문을 염두해야된다.
Nmap을 통해 포트 스캔을 할 수 있다.
nmap -sV -O -p- 127.0.0.1
-sV 옵션을 추가하면 서비스 버전 정보를 얻는다.
-O 옵션을 추가하면 운영체제의 종류와 버전 정보를 얻는다.
-p- 옵션으로 모든 포트를 스캔한다.
다음과 같이 80/tcp open http Apache httpd 2.4.48, 3306/tcp open mysql MySQL 5.5.5-10.5.12-MariaDB-1 이 결과에서 포트, 상태, 서비스, 버전의 네 가지 항목을 찾을 수 있다. 해당 웹 서버가 두 개의 서비스를 운영함을 뜻한다.
Apache 2.4.48 웹 서버는 tcp 통신이며 80번 포트에서 동작한다.
MySQL 5.5.5 DB는 3306 포트에서 동작한다.
취약점 스캐닝
취약점 스캐닝은 운영 중인 서비스의 약점을 찾아내는 과정이다. 목표로 하는 웹 서버의 IP 주소나 열린 포트나 동작하는 서비스와 서비스 버전 같이 구체적인 정보를 연다면 이러한 서비스의 취약점을 확인할 수 있다.
Nikto를 통해 웹 서버의 취약점을 검토할 수도 있다. Nikto는 보통 /usr/bin/ 아래에 존재한다. path가 걸려있다면 터미널에서 바로 실행을 할 수 있다.
/usr/bin/nikto -h 127.0.0.1 -p 1-500 //-h 옵션을 통해 목적지 주소 127.0.0.1을, -p를 통해 조사할 포트 1-500을 명시한다.
스캔 포트를 특정하지 않으면 Nikto는 기본적으로 80 포트를 검사한다. Nikto는 위와 같이 DVWA 웹 서버를 스캔해서 요약하여 보여준다.
공격하기
공격하기는 모든 정보를 수집하고, 포트를 스캔하고, 취약점까지 검토를 완료한 다음 비로소 허가 없이 목표 서버에 접근하거나 원격으로 코드를 실행하는 것을 말한다. 최종적으로 웹 서버에 관리자 수준의 권한을 얻어 프로그램을 실행시키는 것이다.
공격을 들어가기 전 기본 용어를 살펴본다.
취약점(vulnerability) : 목표 시스템의 잠재적인 약점을 뜻한다. 패치를 하지 않았거나 알려진 약한 함수를 사용한 경우 구현이 충실하지 않았거나 또는 컴파일된 언어를 잘못 사용할 경우 혹은 해커가 노릴만한 다른 잠재적인 문제점을 의미한다.
익스플로잇(exploit) : 목표 시스템에 페이로드를 올릴 수 있는 코드의 집합체
페이로드(payload) : 익스플로잇 최후의 목표로서 목표 시스템에 실행되는 악성코드
메타스플로잇의 기초
일곱 개의 MSF 명령을 사용해서 익스플로잇을 완수한다.
1. 탐색 : Nessus 결과에 보고된 CVE 식별자를 근거로 MSF 데이터베이스에서 관련된 침투 방법을 찾는다.
2. 사용 : CVE 식별자와 가장 잘 일치하는 공격 방법을 선택
3. 페이로드 보기 : 선택된 방법에 가능한 페이로드를 검토
4. 페이로드 설정 : 선택된 공격을 위해 희망하는 페이로드를 선정
5. 옵션 보기 : 선택된 페이로드의 일부로서 반드시 정해야만 하는 옵션 검토
6. 옵션 설정 : 성공하려면 페이로드에 꼭 있어야만 하는 옵션값 할당
7. 익스플로잇 : 목표 시스템에 잘 만들어진 익스플로잇 전송
'보안' 카테고리의 다른 글
[21.10.16] snort 룰에 대한 고찰 (Rule Options)- 2 (0) | 2021.10.16 |
---|---|
[21.10.12] snort 룰에 대한 고찰 - 1 (0) | 2021.10.13 |
[21.10.9] IDS / IPS에 대한 고찰(실습에 대한 내용 정리) (0) | 2021.10.09 |
[21.10.5] 자원 고갈 공격과 대역폭 공격 SYN Flooding (0) | 2021.10.05 |
[21.10.1] 대역폭 공격 중 Fragmentation Flooding에 대한 고찰 (0) | 2021.10.01 |
댓글
이 글 공유하기
다른 글
-
[21.10.16] snort 룰에 대한 고찰 (Rule Options)- 2
[21.10.16] snort 룰에 대한 고찰 (Rule Options)- 2
2021.10.16 -
[21.10.12] snort 룰에 대한 고찰 - 1
[21.10.12] snort 룰에 대한 고찰 - 1
2021.10.13 -
[21.10.9] IDS / IPS에 대한 고찰(실습에 대한 내용 정리)
[21.10.9] IDS / IPS에 대한 고찰(실습에 대한 내용 정리)
2021.10.09 -
[21.10.5] 자원 고갈 공격과 대역폭 공격 SYN Flooding
[21.10.5] 자원 고갈 공격과 대역폭 공격 SYN Flooding
2021.10.05