1) 패시브 스캐닝
패시브 스캐닝은 공개되어 있는 정보를 수집하는 것이다.
* 구글 해킹
site naver.com -filetype pdf
inurl 은 특정 문자열을 포함한 검색 결과를 찾을때 사용된다
inurl :admin 관리자 페이지를 검색할때 사용
inurl index.php id=
intitle "index of"
intitle "index of" pdf
* whois/netcraft/whatweb
whois 와 netcraft (http://searchdns.netcraft.com/) 역시 공개되어 있는 정보 수집에 유용하다.간단하게 사용할 수 있는 whatweb 역시 유용하게 사용된다.
* shodan
city 검색 결과를 주어진 도시내로 한정하여 보여준다. (ex. apache city:”Zürich”)
country 검색 결과를 주어진 국가내로 한정하여 보여준다. (ex. nginx country:DE)
geo 특정 위도/경도 정보를 참고후, 근처에 있는 검색 결과를 보여준다.
(ex. apache geo:42.9693,-74.1224)
hostname 검색 결과에서 주어진 호스트 네임과 매칭 되는 결과를 보여준다.
(ex. “Server: gws” hostname:google)
net 특정 Class에 한정하여 검색 결과를 보여준다 (ex.net:216.219.143.0/24)
os 특정 OS에 대한 검색 결과를 보여준다. (ex. microsoft-iis os:”windows 2003″)
port 특정 포트에 대한 검색 결과를 보여준다. (ex.proftpd port:21)
before/after 특정 날짜 전/후에 대한 검색 결과를 보여준다. (ex. nginx before:18/01/2010)
2) 액티브 스캐닝
공격 대상을 직접 스캐닝 (DNS 정보 수집, 포트 스캐닝, 웹스캐닝, 종합 취약점 스캐닝) 하는 것이다.
* DNS를 이용한 정보 수집
- 도메인 서버 알아내기
host zonetransfer.mens
- name 서버 알아내기
host -t ns zonetransfer.me
- zonetransfer 공격 수행
권한이 있는 서버에게 만 zonetransfer 공격을 하는게 아니라 권한 설정을 하지 않아 외부에서도 zonetransfer 공격을 수행 할 수 있다
- dnsenum zonetransfer.me
* 호스트 스캐닝
호스트 하나를 공격해서 침투에 성공하고 나면 내부 내트네트에서 다른 호스트를 추가로 공격하는 경우가 있다 이때 다른 호스트의 IP를 알아내야 한다.
PING 는 어떤 호스트가 살아있는지 확인하는 명령어이다. icmp 라는 네트워크 요청을 보내고 icmp 응답을 보고 결과를 확인해서 살아있는지 확인한다. 종종 방화벽에서 ping 을 막아놓는 경우도 있다.
fping -f 192.168.0.1/24
fping -q -a -f 192.168.0.1/24 살아있는 호스트들만 보는 명령어이다.
결국 해당 네트워크 대역에서 살아있는 호스트를 찾을 수 있다. 그러나 윈도우는 ping 요청이 방화벽으로 차단된다.
nmap 을 사용하면 더 정확한 결과를 얻을 수 있다.
nmap -sn 192.168.0.1/24
* 포트 스캐닝
일반사용자가 아무런 옵션을 주지 않는것은 -sT (connect 스캐닝) 옵션을 준것과 동일하게 동작한다.
그러나 칼리에서 루트 인 경우 -sT 와 같은 syn 스캔이 대신 수행 된다.
(과거에는 방화벽이 syn 스캔을 탐지하지 못했기 때문에 스텔스 스캔이라고 불리기도 한다)모의해킹 환경에서는 udp 서비스도 사용될 수 있기 때문에 다음의 명령어를 사용할 수 있다.
nmap -sU 192.168.70.132 -p 100-140
nmap -O 192.168.70.132 를 통해 os 정보를 확인 할 수 있다.
nmap -sV 192.168.70.132 배너 그래핑 공격을 통해 각 서비스의 버전정보를 확인 할 수 있다. 또한 -A 옵션을 통해 os 정보와 배너 그래핑 공격을 한번에 수행 할 수 있다.
nmap 고급 기능인 스크립트를 이용할 수 도 있다.
nmap 192.168.70.132 -p 21 --script=ftp-vsftpd-backdoor
* smtp 공격
target 서버가 25번 포트에서 smp 서비스를 하고 있는 것을 알 수 있다.
nc targetip 25 로 접속 후 VRFY 명령어로 존재하는 사용자 목록을 알아 낼 수 있다
smtp-user-enum 프로그램으로 무차별 삽입 공격을 할 수 있다.
- kali linux wordlist 경로 : /usr/share/wordlists
- nikto 사용
nikto 결과는 아주 꼼꼼히 봐야한다.
- sparta 사용
nmap을 1차적으로 실행하고 포트를 검색하고 웹 포트가 있으면 nikto를 사용하고 smtp 포트가 있으면 VRFY 기법을 사용하여 사용자 정보를 검사하게 된다. 또한 mysql 과 같은 데이터베이스가 포트가 발견되면 기본사용자 정보를 체크하게 된다.