티스토리 뷰

nmap

메타랑 칼리 둘 다 네트워크 설정 Bridged

칼리 192.168.108.134

메카 192.168.108.135


zenmap (nmap gui)



타겟에 메타 아이피 넣고 Quick scan



간단하게 열려있는 포트들만 나열됨

 

-A는 가능한 많은걸 보겠다는 옵션 Intense Scan

가능한 많은 스캔을 하기 위해 시간이 조금 더 걸리고 결과도 많음 (스크롤이 몇배!)

Nmap done이라는 메시지가 나옴 (끝난 것)



아까와 비슷하게 초록색으로 오픈된 포트를 알려줌과 동시에

취약한 점들과 버전 정보도 알려줌



타겟의 맥주소, OS 까지 다 판별

 

버전 정보를 알게 되면 그 버전이 가지고 있는 취약점을 검색해서 (웹서비스나 메타스플로잇으로) 공격할 수 있음

 

à 그럼 -A를 주고 늘 획득하면 되는거 아닌가? 이거를 쓰면 로그기록에도 다 남게 됨

퀵 스캔의 경우 보통 그렇게 많은 로그를 남기지 않음

 

실제 운영되고 있는 취약점 진단을 해야한다면 업무시간에 최대한 과부하를 막기 위해서

기본적인 정보만 획득해서 따로따로 취약점을 알아가고 버전 정보를 알아내는 것이 현실

따라서 -A 옵션은 거의 사용하지 않음

장비가 잘 갖춰진 곳이라면 단순하게 -A 를 준다고 해서 과부하가 걸리진 않겠지만

한꺼번에 스캔하는 대량의 패킷을 보내면 서비스에 오류 생길 확률이 있음

 

그래픽적인 요소 때문에 zenmap을 사용할 뿐 더 많은 기능이 있지는 않음



nmap에 똑 같은 명령어 치면 똑 같은 결과물이 나옴



nmap 으로 나온 결과 그 자체보단 nmap의 스크립트가 중요

telnet-brute.nse 스크립트 이용하면 텔넷 관련된 계쩡 정보를 모두 알 수 있음

중간에 통신과정이 어떤지 와이어샤크로 같이 공부하면 nmap 공부가 좋음

 

칼리에서 wireshark 치면 wireshark가 나옴 wireshark 켜놓고

nmap 명령어 치면


쭉쭉 패킷이 잡힘

타겟(메타 아이피 135)과 어떤 통신을 하는지 필터 주고 볼 수도 있음



nmap에서 어떤 옵션을 주느냐에 따라 패킷을 확인할 수 있음

(쓰리웨이 핸드셰이킹을 하는 TCP Open Scan과 포트가 닫힌 경우에만 응답하는FIN, NULL, XMAS Scan )

 

타겟의 텔넷 아이디와 패스워드 알아내기

nmap -sV --script=telnet-brute <taget>

/usr/local/share/nmap/nselib/data/username.lst password.lst를 이용해서 무차별/사전 공격

 

FTP의 익명 계정 확인-ftp-anon.nse분석 : ftp서버의 익명 로그인이 가능한지 확인

익명계정에 읽기권한뿐만 아니라 쓰기 권한까지 있다면..?!

 

핑거 취약점 진단-finger.nse 분석

핑거 프로토콜:원격 호스트에 있는 사용자 정보를 검색할 수 있는 프로토콜

외부에서 시스템의 계정 정보확인 가능

 

악성코드 온라인 서비스 활용 -http-virustotal.nse

온라인 서비스 api를 활용하여 악성코드 여부 확인

nmap --script http-virustotal --script-args=’apikey=”<API Key>”, checksum=”<악성파일체크섬>”’

악성파일이 있다면 해시값도 보여주고 탐지된 백신 엔진에 의해서 어떤식으로 탐지되었는지 판별

 

바이러스 토탈 api사용하는 오픈소스 도구 pyew

 

악성코드 url분석-zulu url rist analyser

- 컨텐츠 진단 : 많은 카테고리에서 잠재적으로 포함되어 있는 악의적인 코드를 페이지 컨텐츠에서 탐지

-url정보 진단

-호스트 진단 : 아이피,dns 진단

딱 어느 부분에서 어느정도의 위험도로 바이러스가 있는지 탐지해서 그래픽적으로 (초록 빨강) 보여줌

 

자동 스크린샷기능-http-screenshot-html.nse

Nmap 포트 결과를 이용하여 자동으로 스크린샷 가능

보고서 작성시 유용

 

웹서비스 사용자 디렉터리정보 수집 -http-userdir-enum.nse 분석

사용자 목록 파일에 존재하는 문자열을apache mod_userdir을 사용하는 웹서버로 보내 되돌아오는 응답코드를 확인

 

페이지내 특정 패턴활용 검색-http-grep.nse

특정 패턴을 검색할 때 사용

이메일정보, 전화번호 등 개인 사용자의 주요 정보를 획득하는데 사용

웹서비스에 노출되어있는 페이지에 사용자가 원하는 정규식 표현에 맞는 데이터를 크롤링

 

mssql 서비스 취약점 진단

 

mysql 서비스 무차별 대입 공격 - mysql-brute.nse

 

취약점 분석 데이터베이스 활용-vulscan.nse

CVE (Common vulnerabilities and Exposures)의 데이터베이스를 비롯하여 다양한 취약점 데이터베이스를 비교한 결과를 스캔한 정보와 결합을 하여 출력

내부 네트워크에서 진단할 때 많이 사용하는 편

(외부에서 하기엔 로그도 많이 남고 패킷도 너무 많음)

http://www.scip.ch/en/?labs.20130625 다운로드

 

칼리 /file system/usr/share/nmap/scripts안에 압축 풀어서 넣기

tar -xzf nmap_nse_vulscan-1.0.tar.gz


nmap -sV - -script=vulscan <target>

nmap -sV - -script=vulscan 192.168.108.135




근데 정보가 너무 많이 나오니까 스크립트중에

가장많이 사용하는 스크립트는 cve.csv니까 이거랑 vulscan.nse빼고 다 지우고 다시 스캔





192.168.0.4:83 새로운 타겟 (쇼핑몰)



페이지내 스크립트 진단-http-referer-checker.nse분석

페이지 내 악의적인 스크립트 삽입 여부를 판단할 때 활용 가능

 

페이지내 주석 필터링-http-comments-displayer.nse분석

페이지 내 중요정보(계정정보, 내부 ip정보 등)를 주석처리로 남겼을 때 검색 가능



 

802.11 해킹 및 보안 기술

 

IEEE 802.11

무선랜과 와이파이 등의 로컬영역을 위한 컴퓨터 무선 네트워크에 사용되는 기술로 국제전기전자기술자 협회인 ieee에서 제정한 국제 표준

주로 쓰이는 유선랜 형태인 이더넷의 단점을 보완하기 위해 고안된 기술로, 이더넷 네트워크의 말단에 위치해 배선 작업과 유지관리 비용을 최소화 하기 위해 사용이 증가

 

802.11 80211b..등등 밴드위쓰 차이 (속도차이)

Wi-Fi

 

무선랜

안테나의 종류에 따라 수신 가능 거리가 달라짐

무선ap가 회사 내에 몇 개가 존재하고 회사 내부에서 허가받지 않은 ap가 있지는 않은지 확인해야함

à 집에서 가져온걸 회사에 꽂아서 쓰는 경우 외부에서 접근할 수 있으므로 조심해야함

어떤 무선 네트워크가 주변에서 잡히는지도 확인하고 목록화 (회사 내부 인원이 외부 ap를 잡고 쓰는지 확인)

무지향성 : 주로 봉형태, 전파 수신에 일정한 방향성 없이 ap의 위치에 상관없이 동작

지향성 : 목표 방향을 지정해 그 방향으로만 전파를 탐지 (쟁반이나 접시 모양)

 

접속과정

Passive Scanning

처음 해당 ap에 처음 접속하는 경우 passive 접속

ap의 경우 ssid,dtim,채널,암호화 등의 정보를 담은 beacon을 지속적으로 전파

스테이션에서 beacon으로 인해 ap의 존재를 알게 되고 접속이 이루어짐

 

Active Scanning

스테이션의 프로파일에 해당 ap에 대한 정보가 저장되어 있는 경우 active 접속이 가능

프로파일에 저장되어 있는 ap에ㅔ 지속적으로 probe request 전송

해당 구역에 ap가 존재하는 경우 별도의 확인절차 없이 저장되어있던 ap에 자동 접속

해당 구역에 ap가 존재하지 ㅇ낳는 경우 ap에 연결될 때까지 probe request 요청

 

무선해킹 가지고하는 패스워드 크래킹 피싱 파밍 하는건 거기부터 시작!

ssid가 노출됐을 때 어떤 영향을 주는가를 고민해봐야함

 

무선네트워크 진단

-비인가 무선 ap에 대한 탐지 여부

-취약하게 설정되어있는 무선 ap 진단 : 패스워드 미설정 또는 제조사 기본 패스워드 사용, wep방식과 같은 패스워드가 쉽게 크랙될 수 있는 암호화 방식 선택 (wap wpa2도 크랙이 가능함)

-내부 사무실에서 외부 무선 ap연결 여부 확인 : 개인 사용자 네트워크 통제 미흡, 회사 노트북/모바일 장비에서 외부 ap연결 통제 미흡

 

진단도구 : 무선네트워크 카드, 안테나, 추가 안테나, 칼리리눅스

 




 

무선네트워크 카드 선택시 여러가지..복잡 ㅠㅠ

http://www.aircrack-ng.org/doku.php?id=compatibility_drivers

여기서 칩셋이 어떤지 usb라던가 os지원 여부를 확인 할 수 있음

 

공격 유형

War Driving : 이동 수단을 이용하여 주변의 무선 네트워크 장비를 찾아 다니는 행위

(토르를 쓴다고 해도 추적당할 확률이 60~80퍼센트 이상이기 때문)

MAC Spoofing

Eavesdropping

Evil Twin AP

802.1X EAP Replay

PSK Cracking

Packet Injection

802.1X LEAP Cracking

RF Jamming

 

WEP 암호화

1999sus IEEE 802.11 무선 LAN 표준에 규정된 WEP암호 방식

무선 구간에서 전송되는 MAC Frame을 암호화

-40비트 길이의 WEP공유 비밀키

-임의로 선택된 24비트의 Initialization Vector(IV)

à 64비트

 

WEP키를 이용한 무선랜 암호화 통신의 보안성은 그다지 높지 않음

통신과정에서 iv는 무작위로 생성되어 암호화 키에 대한 복호화를 어렵게 하지만 24비트는 짧은 길이임!

 

WEP Crack 공격 절차

1) Monitor Mode 설정 : 수신 내용을 전달해 줄 수 있도록 Sniffing 모드를 허가하는 기능

airmon-ng start wlan0

해당 무선 랜카드를 모니터 모드로 활성화

2) 네트워크 데이터 수집

airodump-ng mon0

BSSID : AP MAC 주소

PWD : 수신률

Beacon : Beacon Frame Message 카운트 수

CH : 채널 번호

CIPHER : 인증 방법

AUTH : 인증 방식

ESSID : AP SSID (U+zone, AndroidHotspot1983, PCAS, anygate..)

3) wep crack 공격: 채널이 몇번이고 essid bssid 확인 후에 airmon 옵션 사용

무선랜 인터페이스를 공격 대상 ap가 존재하는 채널에 고정시키기 위해서 모니터 모드를 중단 시킨후

공격 대상 ap가 존재하는 채널로 고정하여 모니터 모드로 변경

airmon-ng stop mon0

airmon-ng start wlan0 1~13 [Target AP Channel Number]

airodump-ng -channel [Target AP Channel] -bssid[Target AP MAC Address] -w[캡처된 패킷을 저장하기 위한 파일경로 및 파일명] mon0

                                                                                                aircrack으로 넘어갈때만 필요한 -w 옵션!

특정 ap가 계속 지속적으로 뭘 하고있다면 Data 크기가 늘어나는걸 볼 수 있음

하단의 STATION은 특정 ap에 붙어 있는 클라이언트

4) 강제적으로 많은 IV값을 수집하기 위한 데이터를 유발하기 위해서는 전달을 위한 다리 역할을 할 수 있는 연결고리가 존재해야 함

ARP Injection Attack을 수행하기 이전 Fake Atuthentication 과정을 거쳐 연결 고리를 생성

aireplay-ng -1 5000 -e[Target AP SSID] -a[Target AP MAC Address] -h[Monitor Mode LAN CARD MAC Address] mon0

aircrack v1.2일경우 채널이 1번으로 고정되는 문제가 있어 -ignore-negative-one 옵션 적용 필요

5) aircrack-ng를 이용하여 WEP Packet 정보를 수집한 후 크랙 진행

aircrack-ng -z[Capture File Name(.cap)]

 

보안대책

- 개인 단말 사용자 보안 정책

- 무선 ap 보안 정책

- IDPS 보안 정책

문서적으로 정책을 세우거나 wpa2라던가 다른 암호화 방식으로 바꾸는 방법 밖에 없음

 

 

WPA 암호화

1) 모니터링 설정

airmon-ng start wlan0 혹은 airmon-ng start ath0

airodump-ng mon0 -bssid[BSSID]

wpa라고 되어있는 ap를 대상으로 잡고 ssid등을 기억해둬야함

2) 공격할 ap wpa-psk 인증 과정을 캡처하고 인증 패킷을 .cap파일에 저장

wpa handshake과정을 스니핑

airodump-ng mon0 --channel[channel number] -w [.cap file]

3) authentication과정의 wpa handshake과정을 캡처

ap에 연결되어 있는 station deautentiction packet을 전달하여 연결을 해제하도록 한 후 재결합 가정을 거치도록 강제 유도

aireply-ng -0 [number] -a [bssid] -c [staton MAC] mon0

인증 과정을 무효화 시킴

airodump를 중단 한 뒤

4) 인증 패킷을 수집한 후 사전파일을 이용하여 크랙킹

aircrack-ng -b [bssid] -w [dictionary file] [capture file]

 

 

Rogue AP : 일반적으로 인가되 네트워크에 연겨로디어 있는 비인가 ap를 말하지만 여기서는 해커가 만들어둔 가짜 ap를 의미함

à 세션재킹, DNS조작, 피싱, 파밍 등

 

GERIX-GUI : Aircrack-ng와 똑 같은 기능, gui환경에서 사용자 편의성 제공 (간단하게 wpa크랙에 사용할 수 있음)

 

 

HTTP

웹에서 가장 많이 사용하는 프로토콜 HTTP는 문서들 간의 상호 연결을 통해 다양한 텍스트, 그래픽, 애니메이션을 화면에 보여주고, 사운드를 재생할 수 있게 해줌

80번포트

 

1) 클라이언트가 웹 브라우저를 이용하여 서버에 연결 요청

연결 요청을 받은 서버는 요청한 클라이언트에 대해 서비스 준비

2) 클라이언트는 읽고자 하는 문서를 서버에 요청

3) 서버는 웹 문서 중 클라이언트가 요청한 문서를 전달해 주고 연결 종료

 

현재 1.1버전 사용중이지만 곧 2.0나올것이기 때문에 2.0 공부하도록

 

request 패킷

get, post, head 등의 메소드가 있음

쿠키나 세션값이 있을 수도 있음

 

취약한 메소드들도 있어서 개발 시 조심해야함

 

user-agent:Mozilla/5.0라고 뜨는 이유는 처음에 넷스케이프와 모질라가 표준화 à 다른 웹브라우저들이 모질라와 호환 가능하다고 표현했던 의미

 

response 패킷

클라이언트가 보낸 request의 응답 패킷으로, 형식이 간단함

서버에서 쓰이는 프로토콜 버전, http상태 코드(200 OK)등이며, 전달해줄 데이터의 형식, 데이터 길이 등과 같은 추가 정보가 포함되어 있음

헤더 정보 뒤에 빈줄이 하나 있고 실제 데이터(이미지 등)이 나옴

 

상태 코드

100번대 : 정보 전송

200번대 : 성공

300번대 : 리다이렉션

400번대 : 클라이언트 측 에러 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found

500번대 : 서버 측 에러 à 뜨는 순간 error based sql injection에 사용될 가능성 있다는것! 500 Internal Server Error

 

HTTPS : SSL사용하여 보안

 

구글해킹

고급 검색 기능 사용

검색 인수 site: filetype: link: cache: intitle: inurl:

 

http://www.exploit-db.com/

취약점 존재 하는지 검색 가능한 사이트

여기서 GHDB

 

불법x

 

스캐닝툴

웹스캐닝은 웹사이트를 조사하는 방법. 웹서버의 종류와 버전, 디렉터리 정보나 중요 파일 정보가 존재하는지 여부, 웹 서버자체의 취약점 등을 검사할 수 있음

BUT 불법으로 간주됨

Wikto 스캐너 : 공개 웹 스캐너 도구 다양한 플랫폼에서 동작하며 수천개의 웹 취약점을 스캐닝할 수 있음

BUT 실제 악성 스크립트나 sql정보를 빼올 수 있는 악의적인 구문을 끊임없이 입력해보는것이다 보니 서비스가 망가질 우려가 있음

Acunetix : 비싸지만 회사 내부에서 많이 쓰임 (똑같이 copy해서 테스팅 환경을 만들고 이런 제품을 써보는 것)

à 강사님이 Acunetix 최신 크랙버전 주실거!! 예에

 

sql xss 정보누출 파라미터변조 특정페이지 관리자페이지노출 파일업로드다운로드 실습해볼 것

 

프록시툴

BurpSuite

자바 런타임 필요

무료버전에 없는 Burp Intruder는 많이 사용하지만 회사에서 라이선스를 주는 경우도 있고 그래서 무료버전 사용해도 상관X

 

실무에서는 fiddler 많이 사용함

해외에서는 charles 많이 사용함

댓글
댓글쓰기 폼