<네트워크 정보수집>
1. Foot Printing ( 발자국 ) 조사
- 정보 수집 단계로 간단한 명령어나 검색 엔진 등을 통해서 Target의 정보를 수집하는 방법
- google.co.kr -> news.netcraft.com 검색 -> 제일 첫번째 클릭
internet data mining -> hosting provider analysis -> site 검색하여 정보 수집
1-1. Foot Printing 조사 시 사용하는 사이트
1) 서버 OS 정보와 웹 서버 정보, IP 등 정보 확인 가능
http://news.netcraft.com
2) 웹사이트의 히스토리 정보 수집
- 홈페이지 개편 이전의 홈페이지 모습들 확인 가능
http://archive.org -> web site의 history 정보 수집
3) 해킹 당한 사이트를 통한 OS 정보 수집 - 전세계적으로 실시간으로 해킹당한 사이트 리스트를 보여주는 사이트
http://www.zone-h.org
4) 웹 해킹 중 XSS 공격에 당한 사이트 리스트 확인
http://www.xssed.com
5) google을 통한 풋 프린팅
- google hacking 기법을 이용
- http://www.exploit-db.com
//GHDB(google hacking Database)-> 구글을 통해서 해킹할 수 있는 키워드들을 제공
5-1) 개인 정보 수집 - 주민등록번호
5-2) 데이터베이스 정보 수집 - 개발자들이 사용하는 데이터베이스, 연결 키워드 입력 -> dbconn.inc
5-3) 관리자 페이지
6) 네트워크 관련 Foot Printing
6-1) whois Lookup : DNS 서버를 이용해서 DNS에 설정된 A Record(Host), Mail 서버 정보(MX Record)를 수집
* Whois 서버가 관리 하는 내용
-도메인 등록 및 관리
-도메인 이름, 도메인 관련 인터넷 자원 정보
-도메인의 네트워크 주소
-도메인의 IP 주소 범위
-도메인의 등록자
-도메인의 관리자 이름/연락처/이메일
-DNS 서버의 도메인 및 IP
-DNS 서버의 레코드 생성 시기와 갱신 시기
-IP 주소 할당 위치
whois.krnic.net(우리나라같은 경우)
..==> 해당되는 도메인에서 검색을 해볼 수 있다. Whois의 서버를 검색해 볼 수 있는 사이트.
※ Social Engeenering 사회공학적 기법 - 쉽게 말해 사기치는 것
Geo IP
Geo Domain
---> 도메인 소유자(관리자) 확인 가능
---> DNS 서버 주소 확인 가능
<Whois>
-ARPA라는 조직이 네트워크를 만들었다. 실제로 우리가 사용하는 Internet은 DARPA가 만들었는데, DARPA 당시에 DOMAIN이라는 것을 처음 만들었다.
이것을 관리하기 위한 서버가 Whois 이다. 예전 네트워크에는 도메인이라는 개념이 없었다.
ARPA -> DARPA -> INTERNIC(DOMAIN 관리 이항) -> IANA -> ICANN
-인터넷 상의 인물에 대한 정보를 검색하는 시스템
6-2) ping, traceroute 명령어 사용
6-3) Scanning
- Port : 각각의 시스템에서 서비스들을 분리하기 위한 숫자적 의미
- Port Scanning
-> 어떤 서비스가 타겟에서 동작하고 있는지 파악하기 위해
-> 서비스에 맞는 응용프로그램을 알 수 있으면 해당하는 취약점을 찾을 수 있기 때문에 항상 타겟에 접근 전에 스캐닝을 먼저 시도 한다.
대표적인 Port 번호와 분류
<Port>
0 ~ 1023 : System Port ( Well Known Port )
20(21) : FTP
22 : SSH
23 : Telnet
25 : SMTP
53 : DNS
67 : DHCP
80 : HTTP
110 : POP3
1024 ~ 49151 : User Port
1433 : MSSQL
3306 : MYSQL
1521 : ORACLE
49152 ~ 65535 : Dynamic Port
참고 : 시스템이 사용하는 서비스와 프로토콜
c:\windows\system32\drivers\etc\services
http://www.exploit-db.com -> 메뉴 중 remote ,local 응용프로그램에서의 취약점을 제공
============================================================
<DNS 정보 수집>
1. DNS는 계층적으로 구성되어 있다.
- Root Hint Server ( A 부터 M 까지 전세계에 13개의 서버가 있다.) - 1st Level Domian -> com, net, org, edu, kr, us ..등등
- 2st Level Domain -> naver, daum, hallym 등등
- 3st Level Domain -> www, ns, 등등
- 4st Level Domain -> (Host name)
2. DNS Query
DNS Client ---> UDP 53 ---> DNS Server ( DNS는 UDP 53번 Port 를 사용한다.)
>nslookup
3. DNS Record
(1) SOA (Start of Authority : 권한의 시작)
- DNS Master와 DNS Slaver 간에 Zone Transfer(영역 전송)를 하기 위한 DATA
- DNS 서버 관리자 정보(관리자의 이메일 주소)
(2) A 레코드: Domain -> IPv4로 바꿔주기 위한 레코드, 가장 중요하면서 일반적인 레코드 (3) AAAA 레코드 : Domain -> ipv6
(4) PTS(Pointers) : IP -> Domain
(5) NS : (nameserver 서버)
(6) MX(Mail Exchanger) : Mail 서버
(7) CNAME (별칭)
-A와 AAAA 레코드를 검색 => 정방향 조회
-PTS 레코드를 검색 => 역방향 조회
-Zone Transfer(영역 전송) -TCP 53번을 이용
-DNS Master <--- TCP 53 --> DNS Slave Server
특정회사 도메인, IP를 가져오려고 하는 경우
-->slave를 만들어서 보내보고 전송이 되면 안에있는 네트워크 구조를 다 알수있다는 얘기
※Linux/Unix - Bind DNS
/etc/named.conf
allow-transfer(any); //아무에게나 전송해주겠다
allow-transfer(none);// 아무에게도 안해주겠다
allodw-transfer(192.168.100.200/24);//특정 ip주소에게만 전송
<IP 추적>
메신저 / P2P
Mail Client Program (outlook/firebird)
<Ping 명령어를 이용하여 상대방 운영체제 버전 알아내기>
ICMP를 이용해서 TTL을 분석 -------> 보통 Linux 255 , Windows 128, Unix 64
<scanning>
-Software Version 탐지
-실습 :
{Centos설치 -> BT5 띄워주고 centos의 ip로 텔넷 접속, ==>telnet x.x.x.x <port>
ssh의 버전과 그 해당 프로그램의 버전 정보가 나오는데 이것을 알면 그 해당프로그램의 취약점을 파고 들 수가 있다. }
CentOS에서->
#service sendmail restart
#telnet localhost 25
HELO abc.com / 보내는 사람 도메인
Mail FROM : webmaster@abc.com / 보내는 사람 메일주소
RCPT TO : / 상대방 목적지 주소, 받는사람 메일주소
DATA // 본문데이터
TO : kjy8837@naver.com // 받는사람 메일주소
SUJENT : HELLO! // 단순히 제목
HELLO!!! DONGWOOK // 본문
.
quit
* 텔넷으로 접속만해도 상대방의 버전 정보를 확인 할 수 있다.
[root@localhost ~]# telnet localhost 25 //sendmail port 25로 접속해보기
# telnet localhost 80 //httpd
# telnet localhost 23
# telnet localhost 22 //ssh
telnet >q