웹 해킹/정보 수집

[웹 해킹/정보 수집] 정보 수집이 필요한 이유, 가상 환경 구축

dash758 2024. 10. 14. 23:51

 

 

 

 

 

 해킹은 정보 수집(Information Gethring), 취약점 탐색(Exploring vulnerablitiy), 공격(Exploit),  공격 이후(Post Exploit) 크게 4개의 단계로 이루어집니다(영어로 외우시는게 더 편할 것입니다).해킹 혹은 침투 테스트를 할 떄에는 우리가 목표로 삼고 있는 사이트의 정보를 먼저 알아야 합니다. 그 정보에는 해당 웹 사이트가 어떤 서버, 소프트웨어를 사용하고 있는지, 그들의 버전은 얼마인지, 어떤 데이터베이스를 사용하는지, 몇가지 응용 프로그램이 실행되고 있는지, 가장 기초적으로 타겟 사이트의 이름이 무엇인지, IP주소가 무엇인지 알아야 합니다.

 

 앞서 말한 사이트의 정보를 쉽게 얻을 수 있도록 도와주는 몇가지 툴과 명령어가 있습니다. 이 카테고리에서는 해당 툴과 명령어에 대해 알아보겠습니다.

 

 웹 사이트를 운영하든, 마인크래프트같은 멀티 게임을 하든 포트를 통해서 다른 사람들이 접속하도록 합니다. 아마 한 번쯤은 80포트, 443포트에 대해 들어본 적이 있을 것입니다. 80포트는 http 통신을 하는 포트, 443 포트는 https 통신을 하는 포트입니다. 이 둘의 차이점은 HyperText Transfer Protocol, hypertext기반 문서를 주고받기 위한 통신규약인데, http 뒤에 붙은 s는 그 통신 규약에서 암호화를 제공 하느냐의 차이입니다. 자세한 내용은 추후 네트워크 카테고리에서 다루겠습니다.

 

 정보 수집은 툴을 사용해서 얻는 것 만이 전부가 아닙니다. 직접 웹 사이트에 접속해서 어떠한 기능을 하는지 알아봐야 합니다. 로그인 페이지, 검색창과 같은 사용자 입력란이 있는지, 웹 사이트가 어떤 구조로 되어 있는지 이것 또한 중요한 정보가 되기 때문이 습득을 하고 다음 단계인 취약점 탐색으로 넘어가야 합니다.

 

 현재 대부분의 웹 사이트는 데이터베이스와 상호 작용을 합니다. 데이터베이스에는 사용자의 계정정보(ID/PW), 이름, 전화번호, 집 주소 등 우리가 어떤 웹 사이트에 회원가입을 할 때 제공하는 정보들이 들어있습니다. 사람에 대한 아주 중요하고 민감한 개인 정보들이 들어있는 만큼 웹 사이트는 데이터베이스 관리에 각별히 신경써야 합니다. 간혹 뉴스에서 어떤 기업이 개인정보 유출을 당했다는 기사가 노출되기도 합니다. 여기서 유출당한 개인정보가 바로 데이터베이스에 저장된 사용자의 정보들입니다.

 

 이 카테고리에서 알아볼 툴들은 일부 스캐닝을 포함하고 있습니다. 스캐닝은 넓게보면 웹 사이트에 가하는 공격에 포함되기 때문에 따로 가상 환경을 구축해서 툴의 사용법을 알아보겠습니다.

 

 우선 저희가 구축할 환경은 공격을 실행할 칼리 리눅스와 실습 환경을 구축해줄 OWASP Broken Web Authentication이며. 사용할 가상 머신 플랫폼은 Oracle VirtualBox입니다. 가상 머신의 환경 설정과 구축 방법은 다른 웹 사이트나 유튜브에 자세히 나와있기 때문에 굳이 다루진 않겠습니다. 단, 칼리 리눅스와 OWASP BWA의 네트워크 설정은 어댑터에 브릿지(Bridged Adapter)로 설정해주세요. 반드시 가상 머신을 처음 실행하기 전에 네트워크 설정을 해주셔야 합니다.

 

칼리 리눅스를 설치한 후

sudo apt-get update
sudo apt-get upgrade
reboot 		//재부팅(선택사항)

 

 이 두가지 명령어를 차례로 입력해주세요. 칼리 리눅스의 여러 툴들과 커널의 기능을 업그레이드 해주는 명령어입니다.

 

그 후 OWASP BWA를 실행한 후 ID와 PW를 입력하라는 문자가 나올 것입니다. 글자 사이즈가 작으니까 유심히 봐주세요.

ID는 root, PW는 owaspbwa 일겁니다. 아마도

 

로그인이 정상적으로 되었다면 OWASP BWA에는 위 명령어를 실행할 필요가 없습니다. 그 대신

ifconfig

 

ifconfig라는 명령어를 입력해주세요. 해당 명령어는 윈도우의 ipoconfig와 같은 기능을 하며, 자신의 컴퓨터의 IP주소를 출력해주는 기능을 합니다.

 

 OWASP BWA에서 저의 경우는 위와 같이 나왔으며 IP는 172.30.1.53입니다. 이 IP를 로컬환경(윈도우)에 검색하거나 칼리 리눅스의 웹 브라우저의 파이어폭스에 검색하시면 빨갛게 네모친 영역을 봐주시면 됩니다.

 

 

 위와 같은 화면이 출력됐다면 환경 설정은 완료입니다.

 

만약 가상환경을 종료하고 싶다면 '현재 시스템 상태 저장하기'로 종료해주세요.

 

웹의 대한 기초적인 작동 방식을 알고싶다면 아래 글을 읽어주세요.

https://dash758.tistory.com/6

 

[웹 개발 기초] 웹 개발 1일차 (웹 사이트 작동 방식, 웹 관련 주요 언어, IP 주소와 도메인, DNS 서

해킹 분야에 관심이 있어 하고, 그 중 웹 해킹에 대해 배우고 싶기 때문에 본격적인 해킹을 공부하기 전 웹 사이트를 직접 만들어 봄으로써 웹이 어떠한 방식으로 작동을 하는지, 어떠한 부분에

dash758.tistory.com

 

 

 

다음부터는 IP를 얻는 방법, whatapp, Dirb, nmap, nikto에 대해서 알아보겠습니다.