해킹 공격에는 4가지 프로세스를 가진다
1. 정보수집
2. 서비스 분석
3. 익스플로잇
4. 포스트-익스플로잇
5주차에서는 정보수집에 대해 배워보았다.
정보수집이란?
말 그대로 공격할 대상에 대한 정보를 수집하는 단계이다
이 단계에서는 상대방의 ip, 열려있는 포트, 사용하는 서비스 등 공격에 필요해 보이는 모든 정보들을 모두 수집해야 한다.
쓸모없다고 생각한 정보가 어떻게 사용될지 모르기 때문이다.
NMAP
nmap은 호스트 스캔, 포트 스캔 등에 유용하게 쓰이는 정보수집 도구이다.
호스트 스캔
호스트 스캔은 공격할 대상의 ip 주소를 정확히 모를때 해당 네트워크 대역의 살아있는 기기의 ip를 알아내는 스캔이다.
사용법
nmap -sn 192.168.10.1-255 #임의의 ip 주소
-sn 옵션을 붙혀서 사용하면 된다
192.168.10.1 부터 192.168.10.255 까지의 모든 주소를 확인해본다는 뜻이다.
원리
호스트 스캔이 이뤄지는 방법은 2가지의 종류로 구별할 수 있다.
1. 내가 스캔할 네트워크 대역에 있을 경우
네트워크 대역에 같이 있는 경우에는 해당 네트워크 대역에 arp를 뿌려서 회신을 주는 기기는 살아있음을 확인한다.
2. 내가 스캔할 네트워크 대역에 없을 경우
네트워크 대역에 없을 경우에는 ICMP ping 을 보내 회신을 주는 기기는 살아 있음을 확인한다.
예를 들어 네트워크 환경이
network: 192.168.10.0 255.255.255.0
내 ip : 192.168.10.2
일때 nmap -sn 192.168.10.1-255 명령어를 입력하게 되면 arp를 통해 호스트 스캔이 진행이 된다
포트 스캔
포트 스캔은 공격 대상 ip를 알 때 pc의 열려있는 포트와 해당 포트에 연결되어 있는 프로그램을 찾는 스캔이다.
사용법
nmap [옵션] [스캔할 ip주소]
원리
먼저 포트 스캔을 하기 전 스스로 호스트 스캔을 하여 해당 pc가 살아 있는지 확인을 한다.
이때 호스트 스캔은 여러 종류의 패킷을 보내게 되는데 방화벽 정책에 걸리지 않게 하기 위해 그렇다.
만약 호스트 스캔을 생략하고 싶다면 -Pn 옵션을 사용하면 된다.
호스트 스캔이 끝난 후 지정된 포트 범위에 syn 패킷을 보내게 된다.
이때 ack 패킷이 오게 된다면 해당 pc는 살아 있음을 확인하게 된다.
nmap에는 많은 옵션이 있지만 중요한 옵션들만 정리해 보았다.
옵션 | 설명 |
옵션이 없는 경우 | 자주 사용되는 포트 번호를 스캔 |
-p | 지정된 포트만 스캔 ex) -p 80 |
-p- | 1부터 65535까지의 모든 포트 스캔 |
-sV | 서비스의 버전 정보를 알아낸다 |
-f | 패킷을 잘라서 보내 방화벽을 우회하며 스캔 가능 |
-D RND:[숫자] | 숫자 수 만큼의 랜덤한 ip로 포트 스캔 진행 |
-T [1~5] | 포트 스캔 속도를 조절함, 1이 제일 느림 |
-sC | 취약점이 적힌 스크립트를 점부해서 해당 취약점까지 확인함 |
-O | 대상 pc의 운영체제 탐색 |
*TIP
nmap 정보를 자주 보기 때문에 파일로 만들어 두면 좋음
만약 nmap을 사용해 사용중인 포트를 확인 했을 때 http 또는 https가 사용중이라면 무조건 들어가 봐야한다.
왜냐하면 웹이 가장 취약점이 많기에 많은 정보를 수집할 수 있게 된다.
웹 사이트가 열려있다면 우리는 또 다른 스캔을 해볼 수 있다.
dirb
dirb는 디렉토리 스캔 도구로서 웹서버에 어떤 파일들이 있는지 스캔하고 확인할 수 있다.
사용법
dirb [url 주소] #프록시를 사용하지 않을 경우
dirb [url 주소] -p [프록시 url] # 프록시를 사용할 경우
nikto
nikto는 웹사이트 취약점들을 모아놓은 파일을 해당 서버에 대조해보며 취약점이 있는지 스캔을 한다.
사용법
nikto -h [url주소] #프록시 사용 안할 경우
nikto -h [url주소] -useproxy [프록시url] #프록시 사용 할 경우
'Hacking > Hacking Beginner Class (normaltic)' 카테고리의 다른 글
[해킹 비기너 클래스] 6주차 Practice (Task 4) (0) | 2023.08.29 |
---|---|
[해킹 비기너 클래스] 6주차 정리 (익스플로잇) (0) | 2023.08.23 |
[해킹 비기너 클래스] 4주차 Practice (0) | 2023.08.11 |
[해킹 비기너 클래스] 4주차 정리 (웹서버와 웹쉘) (0) | 2023.08.11 |
[해킹 비기너 클래스] 3주차 Practice (0) | 2023.08.09 |