본문 바로가기
프로그래밍/NETWORK HACKING

[네트워크 보안] 네트워크 패킷 분석 실습 ( 파일 시그니처 관련 )

by B T Y 2017. 8. 4.
반응형

 네트워크 패킷 분석 실습 ( 파일 시그니쳐 관련 )에 대해서 정리한다.

 

 

네트워크 패킷 분석 문제

 

 

트래픽 증가로 인해 네트워크가 느려지고 있어 해당 네트워크에서 패킷을 캡쳐하였다. ( TCP port 80 )

 

Example.pcap
다운로드

 

 

1. 이 공격이 어떤 공격인지에 대해 설명하라
 
  - ip와 포트번호를 spoofing하면서 192.168.0.2 80번 포트로 syn flooding을 하고 있는걸로 보인다.
 
2. 패킷내에서 잘못된 파일들을 찾아 암호를 찾고 풀어내어, 이 공격이 언제 시작해서 언제 끝나는지 추정하라


OK    ??

2010년 7월 13일 12:00    공격시작시간
2010년 7월 17일 12:00    공격종료시간
192.168.0.2    피해자 ip

80    포트번호

0    ??

 


 * 힌트 
    - 암호는 그림파일에 있다.
    - unix timestamp

 

 

 

( 처음 패킷을 덤프시킨 파일을 열었을때 모습인데 처음에는 별다를거없는 정상적인 통신들이 나오고 있다가

패킷을 좀 내려보면 RST 패킷이후부터 갑자기 SYN 패킷이 다량으로 발생하는걸 볼 수 있다 )

 

 

( 그러다가 밑으로 내려가면서 패킷을 보다가 보면 192.168.0.2에 80번 포트로 다양한 아이피와 포트로

다량의 SYN 패킷이 들어오는걸 확인 할 수 있는데 패킷을 보내는 시간과 다량의 SYN패킷이 짧은 시간동안

하나의 포트로 보내지는걸로 보아서 TCP 정상적인 통신이 아닌 DDOS 공격인 SYN Flooding이 의심이 된다 )

 

 

( 그리고 패킷 내에서 잘못된 파일을 찾기 위해서 우선은 필터링을 걸어주고 보니 뭔가 이름부터 수상한 패킷이 보인다...

이 패킷을 Export Objects를 통해서 바탕화면에 저장시킨다 )

 

* not( ip.addr == 192.168.0.2 or ip.addr == 74.125.0.0/16 )

( 여기서는 이런식으로 필터링을 걸어줬고 필터링을 걸어주는건 좀더 효율적이게 문제되는

해당 패킷을 찾기 위한 것이기 때문에 방법은 여러가지가 있을수 있다 )

 


( 좀더 아래 내려보니 .htm 확장자 파일을 요청하는 수상쩍은 패킷이 하나 더 포착됬다... )

 

 

( 그 HTTP로 온 응답을 보니 이상한점이 발견됬는데 .htm 확장자인데 PK라는 파일 시그니처가 보인다???

PK 시그니처는 .zip의 파일 시그니처인데 이 부분이 상당히 의심스럽다... )

 

* 해당 패킷을 wireshark에서 제공해주는 Export Objects를 이용해서 바탕화면에 저장시킨다.

( 이때 파일 시그니처가 PK인걸 이미 알고 있기 때문에 .zip으로 저장해주면 된다 )

 

cmd.zip
다운로드

 

 

( 그러고나서 열어보면 .php확장자를 가진 파일이 있는데 압축을 풀려고 하면 비밀번호를 요구한다...

비밀번호를 어디서 찾지하고 생각하다가 맨처음에 저장 시켰던 .jpg 그림파일이 생각나서 열어보았지만 열리지 않았다 )

 

 

( 혹시나 싶어서 HxD를 이용해서 그림파일을 본결과 파일시그니처가 깨져있었다..

.jpg의 파일 시그니처는 FF D8 E0인데 앞의 FF D8이 깨져있어서 확장자를 .jpg로 해도 열리지 않았던 것이다.

그래서 깨진 부분의 내용을 다시 덮어써주었다 )

 

 

 

 

( 그리고나서 그림파일을 열어보니 Google이라는 사진이 뜬다?!

혹시나 이게 암호일까 싶어서 입력 해봤더니.... 된다..

참고로 여기서 대소문자도 구분해줘야 했다.. )

 

 

 

 

( 압축을 풀어주면 cmd.php 파일이 나타나는데 php 관련 파일인가 싶어서 생각하다가 그냥 메모장에서 열어봤더니

위와 같이 뭔가 알수 없는 내용이 떠서 천천히 들여다 봤더니 익숙한 192.168.0.2가 보인다.

저 아이피는 아까 SYN Flooding 공격을 받던 피해자의 아이피이고 뒤에 80은 포트 번호로 추측된다..

 

앞의 OK는 공격자와 좀비 pc만의 사인일수도 있다고 추측 해볼 수 있고

그 뒤에 보이는 숫자는 유닉스에 익숙한 사용자라면 알 수 있는데 힌트에도 나와있었다시피

unix timestamp인데 1970년 1월1일부터 해당 날짜와 시간을 초로 표시한 숫자이다.

이 부분은 웹에서 unix timestamp 변환을 해주는 사이트들이 많이 있으니 거길 이용하면 된다.

참고로 변환을 해주고나서 여기는 한국이라는걸 고려해서 GMT를 더해준 한국시간을 구해주면 된다.

 

마지막으로 맨뒤에 0은 0이면 SYN Flooding 공격을 한다던지 숫자가 바뀌면

공격 방법도 바뀐다던지 하는 정도의 예측을 해볼 수 있다.

 

 

* 트래픽만을 이용해서는 정확하게 확정 지을수는 없고 어디까지나 추정 해보는것이다.

그렇기 때문에 문제가 되는 패킷을 찾는 과정은 하나로 정해진게 없고 경험을 통해서 나오는 부분도 많다고 하니

계속해서 여러가지 패킷을 분석해보는 경험이 필요하다!!!

 
 
 

반응형

댓글