Network Security
준비물 : Kali Linux(우분투 리눅스 기반 OS, 여러 종류의 해킹 및 보안 관련 프로그램이 설치되어 있는 OS)
일반적인 해킹 과정
정보 수집 -> 취약점 확인 -> 관리자 권한 획득
(정보 : OS 버전, 응용 프록램, IP주소, 도메인 등)
정보 수집
구글 검색
intilte:[검색어] - 탭 제목에 포함된 내용으로 검색
filetype:[검색어] - 특정 파일 확장자로 검색
site:[검색어] - 특정 도메인 주소 검색
inurl:[검색어] - URL에 포함된 문자 검색
정보 수집 사이트
news.netcraft.com : Internet Data Mining -> Hosting Provider -> Analysis -> 오른쪽에 정보를 수집하고 싶은 도메인 입력
(서버의 OS정보, 웹 서버 정보 , IP 등 확인 가능)
archive.org : 특정 도메인의 업데이트 내역 기록
zone-h.org : 취약점이 존재하는 홈페이지 기록
네트워크 패킷을 이용한 해킹
포트스캔을 이용한 정보수집
타겟이 서비스 중인 서비스를 파악하기 위해 수행(ex. 포트번호 80번은 웹, 53번은 DNS 등 해당 서비스가 서비스 중인지 확인)
타겟이 특정 서비스를 실행 중이면 해당하는 서비스와 관련된 프로그램의 취약점으로 공격 가능
TCP Open Scan
TCP 프로토콜의 3 Way-Handshake 과정으로 열려있는 포트에 TCP SYN 패킷을 보내면 SYN+ACK가 서버로부터 전달
닫혀있는 포트에 SYN 패킷을 보내면 RST+ACK가 서버로부터 전달된다 이를 이용해서 확인하고 싶은 서비스의 포트로 SYN를 보내서 확인 가능
Open Scan의 경우 3 Way Handshake 과정을 전부 수행하기 때문에 타겟에게 해커의 정보가 남게된다
nmap -sT -p [포트번호]-[포트번호] [타겟IP]
TCP Half Scan
Half Scan의 경우 3 Way-handshake 과정을 전부 수행하지않고 중간에 확인만하고 중단하기 때문에 타겟에게 해커의 정보가 남지 않는다
nmap -sS -p [포트번호]-[포트번호] [타겟IP]
FIN Scan
열려있는 포트는 FIN 패킷을 받았을 때 아무 반응이 없지만, 닫혀있는 포트는 RST+ACK로 응답
nmap -sF -p [포트번호]-[포트번호] [타겟IP]
X-mas Scan
FIN+PSH+URG 플래그를 이용하여 열려있는 포트는 아무 반응이 없지만, 닫혀있는 포트는 RST+ACK로 응답
nmap -sX -p [포트번호]-[포트번호] [타겟IP]
NULL Scan
아무 플래그도 사용하지 않으며 열려있는 포트는 아무 반응이 없지만, 닫혀있는 포트는 RST+ACK로 응답
nmap -sN -p [포트번호]-[포트번호] [타겟IP]
UDP Scan
UDP를 이용하여 열려있는 포트는 아무 반응이 없지만, 닫혀있는 포트는 ICMP Port Unreachable 패킷으로 응답
nmap -sU -p [포트번호]-[포트번호] [타겟IP]
Decoy Scan
스캔할 때 설정한 IP를 출발지 IP로 설정해서 실제 해커의 IP와 섞어서 보내는 공격
nmap -sT -p [포트번호]-[포트번호] -D [임의 IP],[임의 IP],.. [타겟IP]
IDLE Scan
다른 IP로 위장해서 스캔 공격
nmap -sI [도메인] -p [포트번호]-[포트번호] [타겟IP]
스니핑과 스푸핑
스니핑 : sniff에서 유래되어 상대 네트워크 패킷을 훔쳐보는 공격(소극적)
스푸핑 : spoof에서 유래되어 무언가를 조작해서 속이는 공격(적극적)
ARP 스푸핑을 이용한 스니핑
ARP 프로토콜은 IP주소를 이용해서 MAC주소를 알아오는 프로토콜
ARP 요청 패킷을 브로드캐스트로 보내고 상대방에게 ARP 응답 패킷을 받으면 해당 내용을 ARP 테이블에 등록
이 때 응답 패킷을 받는 시스템에서는 어떠한 확인 절차 없이 응답 패킷의 내용을 등록
만약 해커가 ARP 응답 프로토콜을 출발지 IP주소를 GW 주소로 설정하고, 출발지 MAC주소를 해커의 MAC주소로 변경한 후
응답 패킷을 보내면 해당 패킷을 받는 시스템은 GW와 통신할 때 해커에게 모든 패킷을 전달
보안
방화벽, 공유기의 설정에서 ARP 보안 설정, ARP 테이블을 Static으로 설정
사이드 재킹
MITM 공격을 수행 중일 때 사용자의 인터넷 이용 기록(쿠키)을 기록하는 공격
promiscuous모드를 이용한 스니핑
promisc모드는 자신이 목적지가 아닌 패킷도 전부 받아들이는 것
리눅스 네트워크 장치의 기능을 이용하는 방법
ifconfig [네트워크 장치명] promisc //설정
ifconfig [네트워크 장치명] promisc //해제
Wireshark의 기능을 이용하는 방법
Wireshark 패킷 캡처 전 설정에서 promiscuous모드 체크
ICMP Redirect를 이용한 스니핑
ICMP의 Type 5번 패킷을 이용한 타겟의 라우팅 테이블의 특정 라우팅 정보를 수정 또는 추가
hping3 -1 --icmptype 5 -- icmpcode 1 -a [GW IP] --icmp-ipdst [타겟->목적IP] -- icmp-gw [해커IP] --icmp-ipsrc [타겟IP] [타겟IP]
(개행없이 한 줄 코드)
dsniff 도구
각종 스니핑 기법들을 위한 자동화 도구, 단순한 도구가 아닌 스니핑을 했을 때 필요한 추가적인 툴을 가지고 있다
filesnarf : NFS를 이용해서 파일을 접근 또는 저장할 때 해당 파일을 해커 디스크에 저장
urlsnarf : HTTP의 모든 URL을 기록
mailsnarf : SMTP, POP3 프로토콜로 통신하는 메일 송수신 내용을 기록
arpspoof : ARP 스푸핑 공격
dnsspoof : DNS 스푸핑 공격
'IT > Network' 카테고리의 다른 글
네트워크 보안 : 포트 스캔 실습 (0) | 2018.10.31 |
---|