13번 문제이다. 이 또한 네트워크 관련 문제이다! :)
(문제에 나와있는데, 내 생각엔 이게 결정적인 힌트지 않았을까 싶다.)

문제화면이다.



(문제 화면)



다운로드를 클릭한다.




(다운로드!)



하니..!
pcap 파일이라고 뜨지 않고 그냥 파일이라고 뜬다..!
?.?
?.??



(다운파일)



HxD로 열어보니 pcap 시그니쳐랑 똑같다. (뭐야..)
와이어샤크로 열어보았다.

열렸다. (뭐야...)



(덤프패킷)



제일 먼저 살펴볼 것은 http 통신으로
어떤 데이터 혹은 파일을 주고 받았는지 체크해보아야한다.
체크!
필터링 http


(필터링 http)



필터링한 패킷중 HTTP Stream으로 확인해보니
png 파일. 그림파일이 전송되었던것을 확인 할 수 있었다.



(png 파일)



이 응답의 끝을 보니..



(???)



끝이 조금 이상하다..?
png 파일의 끝 형식이 아니다.

패킷을 보니 teasure라고 써있던데 3개로 쪼개져서 보내졌던거 같다.
HxD로 세 패킷의 데이터를 덤프해서 이어주면
png 파일이 된다.



(리커버리!)



사진을 열어보면.!





(답)




답이 나온다!

이걸 무턱대고 답칸에 적으면 오답이 나온다.
(나도 그랬다)

문제를 잘 보면
md5로 해쉬한 값을 입력하라고 나와있다.
md5는 해쉬알고리즘 중 하나이다.

인터넷에 md5 암호화 검색하면 사이트 많이 나오니까
거기서 암호화를 한 후 
답 입력하면
통과 :)

'WarGame > xcz.kr' 카테고리의 다른 글

xcz.kr - prob21(Web)  (0) 2017.02.24
xcz.kr - prob18(Web)  (0) 2017.02.22
xcz.kr - porb17 (network)  (0) 2017.02.03



오늘은 file Carving의 기초를 살짝 해볼 것이다.

* Network file Carving
 - 파일 복구
  : 깨진 파일을 복구하거나 삭제된 파일을 복구하는 것
 - 헥스 에디터 (일반적으로 우리가 다루는 문자는 텍스트 에디터이다.)
  : 16진수로 볼 수 있는 헥스 에디터이다.
  : 무료툴에서는 HxD가 좋다.

아래의 덤프 패킷에서 이미지 파일을 추출해내는 것이다.


(패킷상황)



먼저 이미지 파일을 요청한 패킷을 찾는다.



(이미지 파일 요청)



그에 해당하는 응답 패킷을 찾는다.


(응답 패킷)



이 패킷안에 이미지 파일이 들어있다.
Follow Stream해서 확인해보면



(패킷 내용)



이상한 글씨들로 써있다.
이유는 헥사 데이터들인데 이 값이 유니코드로 표현이 되다보니
정체불명의 글자들이 나오는 것이다.
여기서 헥사 데이터로 가져갈 것이다.


(저장)



(저장)



(저장 파일)



이 파일을 메모장에서 열어보면
아래와 같다.


(덤프 파일)



이 파일을 텍스트 에디터가 아닌
헥스 에디터로 열어볼 것이다.
헥스 에디터로 HxD를 쓸것이다.

HxD 검색으로 홈페이지에 들어가서 다운로드를 누른다.



(다운로드 클릭)



(한국어 버젼 클릭)



한국어 버젼을 받는다.

다운 받고 설치후 열어보면 아래와 같다.


(실행 화면)



여기에 아까 저장한 파일을 열어보겠다.


(img 파일 오픈)



헥스 데이터로 나온다.
하지만 GET부터 헤더내용 까지 들어있으므로
이미지 파일의 데이터만 뽑아 오겠다.

와이어샤크에서
이미지 파일을 헥스스트림으로 복사한다.


(헥스스트림 복사)




(이미지 파일)



이미지 파일을 열어보면 위와 같다.

맨 앞에 적혀있는 것이 파일 시그니쳐이다.
* 파일 시그니쳐( File Signiture )
 - 파일의 종류를 나타내는 고유값
 - 맨앞에 써있다.
 - 시그니쳐가 잘못되면 열리지 않는다.
 - 시그니쳐를 속일수는 없다.(반면 확장자는 속일 수 있다.)
 - 윈도우즈의 실행파일(exe) : MZ
 - 압축파일(zip) : PK
 - 이미지파일(jpg) : 0xFF 0xD8 0xFF 0xE0 (문자로 표현은 안된다.)
 - 텍스트파일(txt) : 시그니쳐가 없다. (한글,워드는 텍스트 파일이 아니다.)
   
 -> 버전에 따라 조금씩 다를 수 있다.

실행파일을 헥스에디터로 열어보겠다.



(실행파일 MZ)






여기서 아까 열었던 이미지 파일을 jpg로 저장해준다.



(저장)



(이미지파일)



이미지 파일이 생겼다.
열어보면


(이미지)



이미지가 나오는 것을 확인할 수 있다.

또 다른 방법이 있다.
파일에서 Export Object에서 HTTP를 클릭한다.



(Export Object에서 HTTP를 클릭)



(이미지파일 저장)



여기에는 주고받은 HTTP로 주고받은 내용이 나오는데
이미지를 클릭하고 저장을 누른다.


(이미지 저장)



(이미지 파일)



그렇게 되면 이미지를 와이어샤크 패킷에서 뽑아 볼 수 있다.

-----------------------------------------------------------------------------------------------




패킷분석

문제 9
악성코드에 감염된 페이지를 찾고
무엇을 하려는지 찾아내기.


(패킷 상황)



(http 패킷 필터링)



http 패킷중 이상한 패킷이 있다.
데이터 내용을 보면



(스크립트)



이상한 스크립트를 숨겨 놓은 것을 찾을 수 있다.

이 스크립트를 메모장으로 복사해서 보니


(스크립트)



알아보기 힘든 ... 코드다.. 바로 이것이 난독화!
-> 난독화기법
: 읽기 어렵게 만든것이다. 변수 이름도 이상한걸로 해놓은 것이다.
: 분석을 어렵게 만드는 것이다.

난독화코드로 악성코드를 심어놓은 해커가 이 코드가 무엇이 동작하는지 모르도록
의도한 것이다.

-----------------------------------------------------------------------------------------------
실습
attack.pcap
1. 공격 유형을 파악하시오.

2. 공격자와 피해자는 누구인가?


(attack.pcap)



Conversation을 들어가보니
공격 유형을 확인할 수 있었다.


(포트 스캔)



포트스캔이다!

그런데 좀 이상한 부분이 있다.
바로 이상한 HTTP요청들이 있었는데


(이상한 요청)




(의심스러운 요청)



이러한 요청들은 acunetix라는 취약점분석 프로그램에 의한 것이다.
그 증거는 맨 위에 acunetix라고 써있다.
즉 아래의 공격 뿐 아니라 포트 스캔도 이 프로그램으로 이루어진
자동화된 공격이라고 생각할 수 있다.

1. 공격 유형을 파악하시오.
- Port Scan
2. 공격자와 피해자는 누구인가?
- 공격자 : 192.168.0.112
- 피해자 : 65.61.137.117
-> 자동화된 점검툴(취약점점검툴) 이용




여러가지 상황에서
와이어샤크로 패킷들을 분석하고
정보를 분석해보겠다.

[ case1 ]
두 사람(베스와 베리)의 컴퓨터를 바꾸었다.
한 사람은 인터넷이 잘됬고 한 사람은 인터넷이 안된다.
그래서 네트워크 관리자에게 전화했다.
" 그러면 패킷을 덤프해서 보내주세요 "
하나는 인터넷이 잘되는 패킷덤프파일이고
하나는 인터넷이 안되는 패킷덤프파일이다.
왜 안될까?



(베스의 패킷)




(베리의 패킷)



분석
베스가 안된다.
그 이유는
1. 게이트웨이의 주소.
ARP 요청을 응답받지 못했다.
게이트웨이 주소가 잘못되었다고 추측해볼 수 있다.
-> 정확하게 얘기할 수는 없는 것이다.
    다만 추정을 하는 것이다.

[ case2 ]
- 악의적인 트래픽만을 수집해놓은 샘플이다.
공격유형과 공격자, 피해자가 누구인지 알아내자.


(case 2 패킷 화면)



SYN 패킷이 잔뜩 있는 걸로 봐서
SYN Flooding으로 예상된다.
하지만 이렇게 단정지어서는 안된다.
그렇게 결론 내리기 까지는 정확한 결과를 찾아야한다.



(static - 맨위 메뉴 선택)



(통계수치)



통계수치를 볼 수 있다.
수집된 시간은 1초동안 수집된 것이고,
1초에 19946개의 패킷이 드어온 것을 확인 할 수 있다.
Dos 공격을 의심할 만한 양의 패킷이다.

하지만 이 기준도 모호하다. 서버입장에서는
1초에 더 많은 패킷이 들어오기 때문이다.
static 메뉴에서 conversation으로 어떤 호스트와의 통신을 했는지 확인한다.


(Conversation 선택)



(Conversation 화면)



확인해보면 여러 IP에서 패킷이 들어오고 있는 것을 확인 할 수 있다.
1초에 다량의 SYN 패킷으로 SYN Flooding이라고 추정하였다.

정리하면
1. 공격 유형은 무엇인가?? 
(SYN Flooding)
-> SYN이 많다고 단순히 SYN Flooding으로 생각하면안된다.
근거를 찾아야한다.
static으로 보면 1초동안에 수집된것이라는 것을 알 수 있다.
- 1초동안 약 2만여개의 SYN 패킷이 들어왔다.
- 1초 동안에 수집된 패킷의 양이 평소보다 많이 발생했으므로 DDos 추정
-> TCP SYN Flooding
-> 여기서는 평균을 모르므로 추정하는 것이다.

2. 공격자와 피해자의 ip는 몇번인가?
- 피해자 (192.168.1.150, http서버)
- 공격자 (ip 스푸핑중이다.)

[ case3 ]
 - 악의적인 트래픽만을 수집해 높은 샘플
 - 다른 일반적인 트래픽들은 포함되어 있지 않다.
- 공격유형과 공격자, 피해자를 밝히자.



(case3 상황)



Conversation을 확인해보니
도착지 포트를 보니 포트스캔을 한 흔적이 보인다.


(Conversation 화면)



포트 스캔 중 어떤 스캔인지 확인해보기 위하여
패킷을 확인해보겠다.



(패킷 선택 확인)




(패킷 확인)



패킷을 확인하니 세션을 연결하지 않고
SYN, ACK가 오면 RST를 보내 연결을 맺지 않는 것을 확인 할 수 있었다.

이로써 공격자는 스텔스 스캔 중인 것이다.
TCP Half Scan이다.

연결되어있는 포트를 확인해보면 패킷이 3개인 것들을 보면 된다.



(연결된 포트)



정리하면
1. 공격 유형은 무엇인가?
- TCP Half Scan
2. 공격자와 피해자의 IP는 무엇인가?
 - 공격자 : 192.168.1.100
 - 피해자 : 192.168.1.101
3. 만약 공격이 성공했다면 공격자가 알아낸 정보는 무엇이 있었는지?
 - 열려있는 포트들에 대한 목록
135
80
8080
445
8888
1025
139
3306 포트가 열려있다.
설명
- 4초동안 1만여개의 포트를 확인하였으므로 자동화된 툴을 사용했을 것이다.
-> Conversations 결과를 보면 포트를 스캔했다는 사실을 알 수 있다.


[ case4 ]
 - 정상적인 트래픽과 비정상적 트래픽이 함께 존재하는 샘플이다.
 - 정상적인 트래픽과 같이 있는 상태에서 분석을 진행하기 때문에
    정상적인 트래픽과 비정상적인 트래픽을 구분할 수 있어야 한다.

그렇다면 똑같이 공격유형과 공격자, 피해자를 알아보자.


(case4 상황)



먼저 패킷의 흐름을 파악하기 위해 분석의 맨 아래 전문가 정보를 선택한다.



(전문가 정보 선택)



(정보 화면)



화면을 보면 어떤 통신을 했는지
한 눈에 정리해서 볼 수 있다.

여기서 더 내려가보니..



(의심 패킷들)



의심되는 패킷들이 보인다.
다른 통신없이 SYN패킷만 보낸 흔적이다. 그것도 포트번호만 바꾸어가면서

Conversation으로 확인해보았다.



(Conversation 확인)



Conversation으로 확인해보니
포트스캔의 흔적을 찾을 수 있었다.

정리하면
1. 공격 유형은?
 -> 포트스캔
2. 공격자와 피해자의 ip는?
- 공격자 : 192.168.1.100
- 피해자 : 124.137.25.23
3. 공격이 성공했다면 공격자가 알아낸 정보는 무엇인지?
- 25번이 열려있다는 사실.


+ Recent posts