반응형

크립토재킹은 가상통화인 Crytocurrency와 탈취인 Hijacking의 합성어로 해커들이 사용자의 PC를 이용하여 가상화폐를 채굴하는 공격입니다.


예전에 공격자가 사용자PC에 Miner 악성코드를 감염시켜 해당PC의 자원을 소모시켜 가상화폐를 채굴한 반면


최근 공격 트렌드는 웹 사이트를 해킹하여 자바스크립트로 이루어진 Miner 코드를 삽입하는 방식으로써 웹 사이트에 접근하는 사용자는 자신도 모르게 자신의PC가 악성스크립트를 통해 가상화폐를 채굴하는데 사용되게 됩니다.


또한 이 공격은 웹 사이트에 접근한 모든 사용자를 대상으로 영향을 끼치기 때문에  특정 사용자의PC만 감염시키는 Miner 악성코드 보다 파급력이 훨씬 큽니다. 따라서 많은 해커들이 이 방법을 사용하는 이유입니다.



크립토재킹 기존 공격방식(왼쪽)과 최근 공격방식(오른쪽)의 차이




감염증상

웹 사이트에 크립토재킹 스크립트가 삽입되면 해당 사이트를 방문한 사람자PC의 CPU 사용률이 거의 100% 정도 나타난다.



악성 스크립트 코드

아래 그림 첫줄에 보이는 자바스크립트 소스인

<script src="https://coinhive.com/lib/coinhive.min.js"></script>는 Coinhive를 이용하여 가상화폐를 채굴하는 악성 스크립트입니다.

밑에 보이는 KEY 부분은 은행으로 따지면 계좌번호에 해당하는 해커의 계좌입니다.




대응방안

- 일반 사용자 : 브라우저 확장 프로그램 사용 

ex)  안티마이너(AntiMiner), 노코인(NoCoin), 마이너블록(MinerBlock) 등


- 보안담당자 : IP(coinhive.com) 방화벽 차단 및 스크립트를 보안장비(IDS/IPS) 탐지룰로 작성하여 차단


반응형
반응형

Oracle Java가 2019년 1월부터 무료에서 유로로 전환한다고 밝힘에 따라

많은 사용자들이 유로인 Oracle Java에서 오픈소스인 Open JDK로 이동할 것으로 예측됩니다.

Open JDK 설치 방법에 관해 알아보겠습니다.


설치 방법

  • https://github.com/ojdkbuild/ojdkbuild 에 접속
  • 자신에게 맞는 Java 버전을 다운로드 (참고로 저는 Java-1.8 ... x86_64.msi를 다운받았습니다)



  • 설치파일(.msi)을 다운받은 후 실행하고 Next만 눌러서 설치



  • 환경변수 수정

    • 제어판 > 시스템 > 고급 시스템 설정 > 환경변수 ( 단축키 : Windows + Pause Break )




  • 환경변수를 수정할 수 있는 창이 나오면 기존에 있던 Path변수에 Oracle Java에 관련된 환경변수를 지웁니다.

    • 주의) 기존에 있던 Oracle Java 환경변수를 지우지 않으면 java 명령을 실행 했을때 기존에 있던 Oracle Java 경로를 참조해 계속 에러를 발생시킵니다.

  • Open JDK 경로를 추가합니다 (bin 경로까지 추가)

    • openjdk 1.8 설치한 경우 환경변수에 들어갈 경로 ex) C:\Program Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.191-1\bin



  • 설치 확인

    • CMD 창을 열고 명령어 "java -version"을 입력했을때 아래와 같은 결과가 나온다면 모든 설치가 다 잘된겁니다.




반응형
반응형

KrCERT 보안공지를 실시간으로 알면 참 좋은데.... RSS Feed를 제공하지 않으니 방법이 없네...

라고 생각했었지만 Feed43을 알고나서 그 고민이 풀렸다.


Feed43에 들어가면 먼저 아래 보이는 "Create Your fisrt RSS feed" 를 클릭하여 RSS feed를 만들 수 있다


1번째 Step으로 RSS Feed를 만들 사이트를 아래 Address 부분에 적고 Encoding 방식을 기입하자


하지만... 2번째 Step인 RSS Feed를 만들기 위해선 먼저 Data를 Parsing해야하는 번거로움이 있다.

그게 이 사이트의 가장 큰 어려움 인듯 하다.


위 소스를 봐보면 내가 파싱해야할 정보는 "Arobat 보안 업데이트 권고"와 그 옆에 보이는 "URL 링크" 이다.

즉, 제목과 링크인데 소스에서 봐보면

<td class="colTit">

<a href="https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=27610">Adobe Acrobat 보안 업데이트 권고</a>

이고 다른 글 들도 아래와 같은 형식으로 반복되고 있음을 알 수 있다.


<td class="colTit">

<a href="링크">제목</a>


Feed43에서는 뽑아내야할 정보는 {%}을 처리해 줌으로써 변수화 할 수 있는데 아래 그림과 같이 수정이 가능하다

{*}가 의미하는 바는 쓸모없는 부분이라는 뜻인데 공백이 있기때문에 사용하였다.



결과를 보면 아래와 같이 변수1{%1}, 변수2{%2}로 필요한 정보만 뽑히는 것을 확인할 수 있다


마지막인 3번째 Step에서는 적절한 정보를 채워넣으면 된다. 

제일 중요한 부분인 "Item Title Template" 부분과 "Item Link Template"부분에는 어떤 변수를 넣을지 순서를 선택하면 된다.



정보를 다 넣고 Preview를 클릭하면 아래와 같이 미리보기를 할 수 있고 RSS Feed 링크가 생성이 되었음을 확인할 수 있다


아래는 생성한 RSS Feed를 이용하여 내가 관리하는 게시판에 뿌리는 사진이다




<참고>

KISA인터넷보호나라&KrCERT-보안공지 (RSS feed) : http://feed43.com/0610105728231540.xml


반응형
반응형

랜섬웨어(Ransomware) 예방 및 걸렸을때 치료 방법에 대해 알려드리겠습니다.



[랜섬웨어 예방 방법]



항상 가장 좋은 시나리오는 감염되기 전에 예방이 최선이죠! 아래에 있는 경로로 가셔서 랜섬웨어 방지 툴을 설치 합니다.


1. 랜섬웨어 방지 툴 설치

<안랩 안티랜섬웨어 툴(Beta)> - http://www.ahnlab.com/kr/site/product/productView.do?prodSeq=120




2. 중요한 데이터 백업

랜섬웨어에 의한 피해를 최소화 하기 위한 가장 좋은 방법은 데이터의 정기적인 백업입니다.

최근에 발견된 많은 랜섬웨어는 외장 드라이브나 네트워크/클라우드 드라이브 등을 포함해 시스템에 매핑된 모든 드라이브 내의 파일들을 암호화하기 때문에, 백업 작업 시에만 드라이브를 연결하고 백업이 완료된 후에는 해당 드라이브와의 연결을 끊도록 하는것도 필수입니다.


요약 : 정기적(1달에 한번 또는 2주일에 한번씩) 중요 데이터 Back-up




3. 소프트웨어(S/W) 최신버전 유지

악성코드 제작자들은 운영체제(OS)나 어플리케이션의 취약점을 자주 이용하기 때문에 사용 중인 S/W를 최신 버전으로 유지할 경우 악성코드 감염의 가능성을 현저히 줄일 수 있습니다.


요약 : 윈도우 OS 또는 어플리케이션 최신 업데이트 자동 기능 활성화


<어플리케이션 최신 업데이트>

Java, Adobe Flash Player, Adobe Reader 등 


<Windows OS 최신 업데이트>

제어판 > WIndows Update > 설정 변경 > 업데이트 자동 설치(권장) 선택 > 확인




4. 스팸성(의심스러운) 이메일 열람 자제

익명 또는 알수 없는 이로 부터 제목 또는 파일명이 Account, Payment, Report 등 일반 비즈니스 메일 형태로 위장된 메일은 클릭을 자제하도록 하빈다.




5. 불건전 사이트 방문 및 문자/SNS 내 URL 클릭 자제

토렌트, 음란물, 무료 게임, 크랙 사이트 등은 방문을 자제합니다.

굳이 토렌트가 하고 싶다면.... 가상 머신 또는 포맷해도 무방한 세컨(Second) 피씨에서 하는 것을 추천드립니다.








[랜섬웨어 대응 및 치료 방법]



결론부터 말씀드리자면 랜섬웨어는 원래 PC 및 서버에 있는 파일을 암호화 시켜 돈을 요구하기 위해 복구 및 치료를 할 수 없도록 만들어진 프로그램 이게 때문에 치료를 못하는게 슬픈 현실입니다.ㅠㅠ



1. 외부 저장장치 및 인터넷(Lan Cable) 연결 해제

랜섬웨어 감염이 의심될 경우, 공유폴더, USB나 외장하드 등 외부 저장장치도 암호화 되는 것을 방지하기 위해 즉시 감염된 PC 와 외부 저장장치(외장 하드 등) 및 인터넷(Lan Cable)의 연결을 해제해야 합니다.




2. PC의 전원을 끄지 않도록 주의

일부 랜섬웨어는 감염 알림 메시지창이 나타난 상태에서 사용자가 PC를 종료할 경우 PC의 파일들을 삭제하기 때문에 PC의 전원을 켜둔 상태로 유지하도록 합니다.




3. 랜섬웨어 종류 식별

감염된 PC의 랜섬웨어 종류를 알기 위해 ID Ransomware 사이트에 접속 하여 감염된 파일을 해당 사이트에 업로드 하여 랜섬웨어 종류를 식별한다.





ID Ransomware - https://id-ransomware.malwarehunterteam.com/





4. 사용 가능한 복원 도구 확인

악의 적인 해커들도 가끔씩 양심이 찔려 복구 툴을 공개 하는 경우도 있습니다.


특정 랜섬웨어 크립트XXX(CryptXXX) 3.x 버전, 2.x 버전, 나부커(Nabucur), 테슬라크립트(TeslaCrypt) 등 감염된 PC에 대한 랜섬웨어 복구 툴이 존재하는지 검색하여 복원 툴이 있으면 종류에 맞는 툴로 복원 하도록 합니다.




안랩 랜섬웨어 복구 툴 - http://www.ahnlab.com/kr/site/securityinfo/ransomware/index.do

트렌드마이크로 랜섬웨어 복구 툴(영문)- https://success.trendmicro.com/solution/1114221




5. 추가정보 검색

랜섬웨어에 대한 더욱 자세한 사항을 알기위해 한국 랜섬웨어 침해대응센터에 방문하여 관련 정보를 습득하는 것도 중요합니다.


한국랜섬웨어침해대응센터 - https://www.rancert.com/



반응형
반응형

The Curious Mr. X의 주어진 정보와 문제는 아래와 같습니다.

 

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

[주어진 정보]

Mr.X가 네트워크에서 정찰(reconnaissance) 활동을 했음…

4번에서는 주어진 정보는 거의 없다… 하지만 아래에 보이는 것 처럼 문제를 통해 출제자가 원하는 것은 포트스캔에 관련한 문제임을 파악할 수 있습니다.

 

 

[문제]

1. What was the IP address of Mr. X’s scanner?

2. For the FIRST port scan that Mr. X conducted, what type of port scan was it? (Note: the scan consisted of many thousands of packets.) Pick one:

● TCP SYN, ● TCP ACK, ● UDP, ● TCP Connect, ● TCP XMAS, ●TCP RST

3. What were the IP addresses of the targets Mr. X discovered?

4. What was the MAC address of the Apple system he found?

5. What was the IP address of the Windows system he found?

6. What TCP ports were open on the Windows system? (Please list the decimal numbers from lowest to highest.)

X-TRA CREDIT (You dona€™t have to answer this, but you get super bonus points if you do): What was the name of the tool Mr. X used to port scan? How can you tell? Can you reconstruct the output from the tool, roughly the way Mr. X would have seen it?

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


문제1. What was the IP address of Mr. X’s scanner?

1번은 Scan을 수행한 IP에 관련해 묻는 문제입니다.

evidence04.pcap를 다운받고 Wireshark로 분석해보면 

가장 먼저, 10.42.42.253의 IP가 다른 IP로의 Well Known 포트(80, 23, 22 등)로 요청하는 패킷을 쉽게 발견할 수 있습니다. 

따라서 Mr.X의 IP는 10.42.42.253이라는 사실을 추론해 볼 수 있습니다.



1번) 10.42.42.253



문제2. For the FIRST port scan that Mr. X conducted, what type of port scan was it? (Note: the scan consisted of many thousands of packets.) Pick one:

● TCP SYN, ● TCP ACK, ● UDP, ● TCP Connect, ● TCP XMAS, ●TCP RST

 

이 문제는 포트 스캔 시, 포트스캔 방법을 물어보는 문제인데요 Mr.X가 포트스캔을 시도한 패킷을 봐 보면 아래와 같이 Syn Flag에만 1이 표시 되어 있음을 확인 할 수 있습니다. 따라서 답은 TCP SYN 또는 TCP Connect 중 하나로 나뉜게 되겠죠?




아래에서 연두색 박스를 확인해 보면 열린 포트에 대하여 SYN, > SYN+ACK > ACK 순서의 패킷을 발견할 수 있습니다. 

이는 곳 TCP Connect를 의미하기 때문에 답은 TCP SYN이 될 수 없습니다. 

하지만 저는 열린포트에 대한 정보를 확인하지 않았기 때문에 TCP SYN으로 오답을 기입하였죠ㅠㅠ




2번) TCP Connect



문제3. What were the IP addresses of the targets Mr. X discovered?

위 문제는 Mr.X가 발견한 호스트 IP에 대한 물음입니다. 

해당 정보는 Wireshark에 Statistics > IPv4 Statistics > All Addresses 버튼을 클릭하여 확인이 가능합니다.




아래와 같이 발견한 호스트 IP 확인.




3번) 10.42.42.25, 10.42.42.50, 10.42.42.56




문제4. What was the MAC address of the Apple system he found?

 

Apple 시스템의 MAC 주소를 묻는 문제입니다. 

처음 문제를 접했을 때 어떻게 Apple 시스템을 찾을까 고민하다가 단순하게 Find 기능으로 Apple을 검색해보자는 생각으로 검색해보니.. 다음과 같이 바로 찾을 수 있었습니다. 완전 행운~


4번) 00:16:cb:92:6e:dc





문제5. What was the IP address of the Windows system he found?

다음 문제는 예전에 해커스쿨에서 TTL 값으로 운영체제를 구분하는 만화를 봤던 기억을 되살려 

검색을 통해 윈도우 시스템을 찾을 수 있었습니다. 

검색결과 대부분의 Windows 시스템의 TTL 값은 128임을 알 수 있죠.



패킷 필터링을 Protocol 종류 icmp로 필터링하여 ttl 값을 확인해 보니 128의 값을 가진 IP는 10.42.42.50 이렇게 하나의 시스템을 확인 할 수 있습니다.




이외에도 최강의 툴인 NetworkMiner를 통해 Hosts를 확인해 보면 해당 시스템이 윈도우인지 리눅스인지 바로 확인이 가능합니다.



5번) 10.42.42.50



문제6. What TCP ports were open on the Windows system? (Please list the decimal numbers from lowest to highest.)?


Windows 시스템(10.42.42.50)에서 열려있는 포트가 무었있지 열려있다면 낮은 숫자에서 높은숫자로 정렬하라는 요구의 문제입니다.




해당 문제는 포트가 열려있다면 SYN, ACK패킷을 전송하였을 것이라는 생각으로 다음과 같이 필터링을 정요하였다. ip.addr == 10.42.42.50 && tcp.flags.ack == 1 && tcp.flags.syn == 1

 

필터링을 적용하니 135, 139번의 포트가 열려있음을 확인 할 수 있었다.

 

6번) 135, 139



4. The Curious Mr. X에 대한 모든 정답은 아래에 있습니다.

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

1. What was the IP address of Mr. X’s scanner?

A : 10.42.42.253

2. For the FIRST port scan that Mr. X conducted, what type of port scan was it? (Note: the scan consisted of many thousands of packets.) Pick one:

● TCP SYN, ● TCP ACK, ● UDP, ● TCP Connect, ● TCP XMAS, ●TCP RST

A : TCP Connect

3. What were the IP addresses of the targets Mr. X discovered?

A : 10.42.42.25, 10.42.42.50, 10.42.42.56

4. What was the MAC address of the Apple system he found?
A : 00:16:cb:92:6e:dc
5. What was the IP address of the Windows system he found?

A : 10.42.42.50

6. What TCP ports were open on the Windows system? (Please list the decimal numbers from lowest to highest.)?

A : 135, 139

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


반응형
반응형

Ann’s AppleTV의 주어진 정보와 문제는 아래와 같습니다.


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

[주어진 정보]

AppleTV static IP : 192.168.1.10



[문제]

1. What is the MAC address of Ann’s AppleTV?

2. What User-Agent string did Ann’s AppleTV use in HTTP requests?

3. What were Ann’s first four search terms on the AppleTV (all incremental searches count)?

4. What was the title of the first movie Ann clicked on?

5. What was the full URL to the movie trailer (defined by “preview-url”)?

6. What was the title of the second movie Ann clicked on?

7. What was the price to buy it (defined by “price-display”)?

8. What was the last full term Ann searched for?

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




문제1. What is the MAC address of Ann’s AppleTV?

1번은 Wireshark만 실행 해서 단순 필터링 만으로 금방 답을 찾을 수 있습니다.


아래 사진과 같이 ip필터링을 걸은 후 아래 패킷의 상세 정보를 확인해 보면...

AppleTV의 MAC address는 00:25:00:fe:07:c4 를 확인 할 수 있다.

 



1번) 00:25:00:fe:07:c4



문제2. What User-Agent string did Ann’s AppleTV use in HTTP requests?

두번째 문제는 AppleTV의 User-Agent를 묻는 문제입니다.

이것도 간단한 필터링 만으로 답을 찾을 수 있는데요


아래와 같은 필터링으로 AppleTV가 HTTP를 요청한 것을 알 수 있습니다.

필터링 : ip.addr == [AppleTV’s IP] && http


출발지가 AppleTV(192.168.1.10)인 패킷 중, 아무거나 클릭 후 그 안에 있는 User-Agent를 확인하여 보면 “AppleTV/2.4”를 확인 할 수 있습니다.





 

2번) AppleTV/2.4




문제3. What were Ann’s first four search terms on the AppleTV (all incremental searches count)?


위 문제는 Ann이 가장 처음으로 검색한 4가지 키워드를 찾는 문제이다.


해당 정보는 Follow HTTP Stream을 통해서 찾아 내었는데요.. 답이 있는 위치는 tcp.stream eq 2에 위치하고 있는데

먼저 아래와 같이 Follow HTTP Stream을 클릭하여 보면

 





다음과 같이 query의 약자인 q=h로 시작하는 부분을 검색 할 수 있습니다.

패킷의 흐름을 보면서 스크롤을 내리다보면 Ann은 h, ha, hac, hack 순서로 검색했음을 확인 할 수 있습니다.





또한 NetworkMiner에서 Parameters 부분을 확인하여 보면 Ann이 요청하였던 모든 파라미터를 편리하게 다음과 같이 확인 할 수 있습니다. 이것 또한 역시 NetworkMiner의 위대함(?) 이지요...





 

3번) h, ha, hac, hack






문제4. What was the title of the first movie Ann clicked on?


Ann 이 클릭한 첫 번째 영화를 묻는 문제인데요

저는 Follow HTTP Stream을 통해서 패킷 하나하나의 진행을 보면서 답을 찾아내다보니 이곳에서 시간을 꽤 많이 소비하였네요... 정보는 tcp.stream eq 5 위치해 있었으며 Ann은 제목(Title)이 Hackers라는 영화를 클릭했습니다.


 




<key>Tiltle</key> 옆에 Hackers를 확인 할 수 있다.






 

4번) Hackers





문제5. What was the full URL to the movie trailer (defined by “preview-url”)?


이 문제는 위에 주어진 힌트인 ”preview-url”를 Find 기능으로 찾아서 풀 수 있었습니다.

다음과 같이 해당 키워드인 preview-url를 Packet details로 옵션을 준 후 검색합니다.






다음과 같이 빨간줄로 그어진 것과 같이 http://a227.v.phobos.apple.com/~~ 로 시작하는 URL을 확인 할 수 있습니다.






5번) http://a227.v.phobos.apple.com/us/r1000/008/Video/62/bd/1b/mzm.plqacyqb..640x278.h264lc.d2.p.m4v






문제6. What was the title of the second movie Ann clicked on?


위 문제는 첫번째에 이어서 Ann이 두번째로 클릭한 영화를 묻는 문제입니다. 

해당 문제도 Follow HTTP Stream으로 찾았고 시간을 많이 소비하였는데요

찾는 방법은 첫번째 영화(Hackers)와 같이 Sneakers라는 것을 확인 할 수 있습니다.

 




6번) Sneakers



문제7. What was the price to buy it (defined by “price-display”)?

두번째 영화의 구입 가격을 묻는 문제입니다. 해당 문제도 price-display로 힌트가 주어졌네요.

하지만 price-display로 검색하게 되면 아래와 같이 price-display와 rent-price-display를 확인이 가능한데 문제의 취지는 구입 가격임으로 $9.99가 정답이였습니다.





7번) $9.99




문제8. What was the last full term Ann searched for?

마지막 문제는 Ann이 마지막으로 검색한 키워드가 무엇인지 찾는 문제입니다. 

해당 문제는 역시 NetworkMiner에서도 확인이 가능한데요

패킷의 흐름을 보면서 확인 하기위해 Follow HTTP Stream으로 확인하여 보니 tcp.stream eq 18번 위치에 “q=iknowyourewatchingme” 를 검색 하였음을 확인 할 수 있었습니다.


 




8번) iknowyourewatchingme





[문제 정답]

1. What is the MAC address of Ann’s AppleTV?

A : 00:25:00:fe:07:c4

2. What User-Agent string did Ann’s AppleTV use in HTTP requests?

A : AppleTV/2.4

3. What were Ann’s first four search terms on the AppleTV (all incremental searches count)?

A : h, ha, hac, hack

4. What was the title of the first movie Ann clicked on?

A : Hackers

5. What was the full URL to the movie trailer (defined by “preview-url”)?

A : http://a227.v.phobos.apple.com/us/r1000/008/Video/62/bd/1b/mzm.plqacyqb. .640x278.h264lc.d2.p.m4v

6. What was the title of the second movie Ann clicked on?

A : Sneakers

7. What was the price to buy it (defined by “price-display”)?

A : $9.99

8. What was the last full term Ann searched for?

A : iknowyourewatchingme.

반응형
반응형

Ann Skips Bail의 주어진 정보와 문제는 아래와 같습니다.

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

[주어진 정보]

“We believe Ann may have communicated with her secret lover, Mr. X, before she left,”

해석 : Ann떠나기 전 Mr.X와 연락을 주고 받았다. (연락 수단은 메일 임)


[문제]

1. What is Ann’s email address?

2. What is Ann’s email password?

3. What is Ann’s secret lover’s email address?

4. What two items did Ann tell her secret lover to bring?

5. What is the NAME of the attachment Ann sent to her secret lover?

6. What is the MD5sum of the attachment Ann sent to her secret lover?

7. In what CITY and COUNTRY is their rendez-vous point?

8. What is the MD5sum of the image embedded in the document?

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


문제1번의 질문은 메일에 관련된 문제인데요.

문제의 Packet 파일(evidence02.pcap)을 다운로드 받아서 WireShark에서 열은 후 smtp 프로토콜로 필터링을 적용하면

다음과 같이 필터링된 결과를 확인 할 수 있습니다.


그 이후 Wireshark의 강력한 기능인 Follow TCP Stream을 클릭해보면 다음과 같이 

Ann의 메일은 sneakyg33k@aol.com 이라는 것을 확인 할 수 있습니다.


1. What is Ann’s email address?

A : sneakyg33k@aol.com


메시지를 확인하다 보면 바로 문제2번의 정답을 알 수 있는데 AUTH LOGIN이라고 써진 부분 밑에 빨간 네모 안에 있는

암호화된 파란 글자와 빨간 글자를 Base64로 Decoding하여 보면 해당 계정의 Password는 558r00lz인것을 확인 할 수 있습니다.


2. What is Ann’s email password?

A : 558r00lz


문제 3번은 "What is Ann’s secret lover’s email address?" 인데요. 즉 Ann의 secret lover는 누구인지 묻는 문제입니다. 부끄...

하지만 메일의 메시지를 확인한 결과 관련 정보가 발견되지 않아, 두번째 메일이 있을 것으로 생각하고 아래의 그림 처럼 

첫번째 메시지의 frame이 어디까지 인지 확인하여 보니 frame 번호가 88번이라는 것을 확인하였습니다.



다시 필터링을 없앤 후, SMTP로 프로토콜을 필터링 하여 검색하니 88번 이후에 116번으로 시작하는 SMTP 발견!


똑같은 원리로 Follow TCP Stream을 클릭하니 두번째 메일로 보이는 정보를 확인하였습니다.

여기에는 mistersecretx@aol.com으로 적혀진 계정을 확인



3. What is Ann’s secret lover’s email address?

A : mistersecretx@aol.com




문제4번은 Ann이 secret lover에게 가져오라고 한 물건이 묻는 문제이다. 해당 문제의 답은 바로 위에서 보았던 Wireshark를 확인해도 되지만 NetworkMiner를 이용하면 아래와 같이 더욱 편하게 확인이 가능합니다.



4. What two items did Ann tell her secret lover to bring?

A : fake passport and a bathing suit


문제5. "What is the NAME of the attachment Ann sent to her secret lover?" 즉, 첨부된 파일의 이름을 묻는 문제이다.
이 또한, NetworkMiner로 바로 확인해보니....

5. What is the NAME of the attachment Ann sent to her secret lover?
A : secretrendezvous.docx

문제6번은 추출된 파일의 MD5 Hash 값을 묻는 문제이다. 

문제 6번은 Puzzle #1. Anns Bad AIM과 같이 파일을 출력하여 HashCalc로 확인하여보면

다음과 같이 문제 6번에 대한 답을 알 수 있습니다.



6. What is the MD5sum of the attachment Ann sent to her secret lover?

A : 9e423e11db88f01bbff81172839e1923


문제7번은 rendez-vous 포인트가 어디 인지 묻는 문제이다. 이 문제는 추출하였던 .docx 파일을 확인하여 보면

아래 사진과 같이 해당 정보를 확인 할 수 있다.


7. In what CITY and COUNTRY is their rendez-vous point?

A : Playa del Carmen, Mexico


마지막 문제는 첨부파일(secretrendezvous.docx)에 들어가 있는 이미지의 Hash 값을 묻는 문제였는데 전 이 문제를 틀렸다....ㅠ 

내가 풀었던 방법은 추출하였던 secretrendezvous.docx를 Hex Editor로 열어 PNG파일만 추출하는 방법을 사용하였는데 

해당 방법을 사용하니 엉뚱한 Hash값을 얻게 되었네요


이를 통해 틀린문제 원인을 분석하니 새로 알게된 내용은.... .docx는 사실 압축 파일(.zip)파일 형태를 가지고 있고

MS word 2007부터 확장자만 .docx로 바꾸어 사용한다는 것과 .docx를 -> .zip으로 바꾸면 문서 내에 이미지를

추출할 수 있다는 것입니다. 


secretrendezvous.docx를 -> secretrendezvous.zip으로 바꾼후 압축을 풀면 다음과 같은 형식의 이미지를 확인할 수 있다.


압축을 푼 secretrendezvous 폴더 > word > media 경로 내에, 

위에서 확인한 이미지가 존재하는 것을 알 수 있다.


해당 이미지를 역시 HashCalc로 확인하여 보면 정답을 도출할 수 있다.


8. What is the MD5sum of the image embedded in the document?

A : aadeace50997b1ba24b09ac2ef1940b7



이로써, 2. Ann Skips Bail에 대한 모든 정답은 아래에 있습니다.

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

1. What is Ann’s email address?

A : sneakyg33k@aol.com

2. What is Ann’s email password?

A : 558r00lz

3. What is Ann’s secret lover’s email address?

A : mistersecretx@aol.com

4. What two items did Ann tell her secret lover to bring?

A : fake passport and a bathing suit

5. What is the NAME of the attachment Ann sent to her secret lover?

A : secretrendezvous.docx

6. What is the MD5sum of the attachment Ann sent to her secret lover?

A : 9e423e11db88f01bbff81172839e1923

7. In what CITY and COUNTRY is their rendez-vous point?

A : Playa del Carmen, Mexico

8. What is the MD5sum of the image embedded in the document?

A : aadeace50997b1ba24b09ac2ef1940b7

반응형
반응형

Network Forensic 능력을 향상시키기 위한사람은 Forensics Contest 에 나와있는 Puzzle을 풀어 보면 됩니다.


아래에는 주어진 문제와 정보들 인데요

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

[주어진 정보]

Ann’s computer IP : 192.168.1.158


[문제]

1. What is the name of Ann’s IM buddy?

2. What was the first comment in the captured IM conversation?

3. What is the name of the file Ann transferred?

4. What is the magic number of the file you want to extract (first four bytes)?

5. What was the MD5sum of the file?

6. What is the secret recipe?

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


먼저, 주어진 정보인 Ann’s computer IP로 조회를 해보면 아래와 같이 Ann’s computer의 통신 기록을 볼 수 있습니다.



Analyze > Decode As... > Protocol을 AIM으로 변경하여 설정한다.


그럼 아래와 같이 Protocol 부분이 AIM으로 변경되는 것을 확인 할 수 있다.


패킷을 보다 보면 문제 문제1, 문제2번의 답을 확인 할 수 있다.


1. What is the name of Ann’s IM buddy?

A : Sec558user1


2. What was the first comment in the captured IM conversation?

A : Here's the secret recipe... I just downloaded it from the file server. Just copy to a thumb drive and you're good to go &gt;:-) 


문제3번은 전송된 파일을 확인하라는 문제인데 이런 경우는 NetworkMiner를 이용하면 빠르게 확인할 수 있습니다.


3. What is the name of the file Ann transferred?

A : recipe.docx



문제4번은 추출된 파일의 파일 시그니쳐를 묻는 문제인제 NetwortMiner에서 recipe.docx을 전달하는 패킷의 Frame 번호를 확인 결과 112번의 패킷부터 파일 전송에 대한 패킷임으로 WireShark에서 "frame.number == 112"로 필터링 하여 Follow TCP Stream으로 확인하면 다음과 같은 결과를 확인 할 수 있습니다. 해당 TCP Stream을 ASCII -> RAW로 변경하고 Save As를 클릭하여 다른이름으로 저장하면...


저장된 파일을 Hex Editor로 열어보면 다음과 같은 화면을 볼 수 있다. 

.docx 확장자의 파일 시그니쳐(magic number)를 구글링한 결과 처음 4bytes는 (50 4B 03 04) 이다.



파일 추출을 위해 Hex Editor로 파일을 열은 후, 파일 시그니쳐(50 4B 03 04)를 검색하여 그 전을 모두 삭제 한 후 저장하도록 합니다. 아래는 파일 시그니쳐 검색 화면


이후 파일의 처음 부분의 편집을 완료하였으면 온전한 파일만을 추출하기 위해 

패킷의 마지막 부분(4F 46 54 32로 시작하는 부분)도 잘라냅니다.


바로 윗 사진에서 확인하였던 부분(4F 46 54 32...) 부터 끝까지 삭제한 후 저장.


이후... 저장한 파일을 열어보면 다음과 같이 Secret Recipe가 나온다.



해당 파일을 Hash calc 프로그램으로 MD5 값을 확인해보면.... 


위에 나온 결과를 토대로 남은 문제를 풀어보면

문제5. What was the MD5sum of the file?

A : 8350582774e1d4dbe1d61d64c89e0ea1


문제6. What is the secret recipe?

A : 1 serving

Ingredients:

4 cups sugar

2 cups water

In a medium saucepan, bring the water to a boil. Add sugar. Stir gently over low heat until sugar is fully dissolved. Remove the saucepan from heat. Allow to cool completely. Pour into gas tank. Repeat as necessary.


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

1. What is the name of Ann’s IM buddy?

A : Sec558user1

2. What was the first comment in the captured IM conversation?

A : Here's the secret recipe... I just downloaded it from the file server. Just copy to a thumb drive and you're good to go &gt;:-) 

3. What is the name of the file Ann transferred?

A : recipe.docx

4. What is the magic number of the file you want to extract (first four bytes)?

A : 50 4B 03 04

5. What was the MD5sum of the file?

A : 8350582774e1d4dbe1d61d64c89e0ea1

6. What is the secret recipe?

A : 1 serving

Ingredients:

4 cups sugar

2 cups water

In a medium saucepan, bring the water to a boil. Add sugar. Stir gently over low heat until sugar is fully dissolved. Remove the saucepan from heat. Allow to cool completely. Pour into gas tank. Repeat as necessary.



반응형
반응형

윈도우 netstat와 telnet을 이용한 트러블 슈팅 방법에 대해서 알려드릴께요.

IT에 계신 분들은 업무를 하다보면 서버나 기타IT장비의 장애가 나는 경우가 종종 발생하는데요.

일단 원인은 크게 2가지로 나눌수 있습니다. 

첫째, 하드웨어 적인 원인. 둘째, 소프트웨어 적인 원인.

먼저로는, 하드웨어 적인 이유는 예를 들자면 (ex. 랜선 빠짐, 장비 파워 다운)를 들수 있구요.

둘째로는, 소프트웨어 적인 이유는 셀 수도 없을 정도로 매우 다양한 원인을 들수 있습니다....


하지만 만약 소프트웨어 적인 이유로 장비(또는 서버)가 접속이 되지 않는다면 빨리 그 원인을 파악해야 하는데요


그때는 윈도우 커맨드창 2개만 띄워놓고 각각의 커맨드 창에 아래의 명령어만 치면 간단하게 해결 됩니다.

command 1> netstat -an 1 | findstr <목적지IP>

command 2> telnet <목적지IP> <목적지Port>


먼저 HTTP 서비스 제공하지 않는 KT DNS(168.126.63.1)를 대상으로 테스트를 진행 하겠습니다.


커맨드 창을 하나 열고 "netstat -an 1 | findstr <목적지IP>" 명령어를 칩니다.

위 명령어는 "<목적지IP>" 문자열을 검색해서 "netstat -an" 명령어를 1초마다 갱신하겠다는 의미 입니다.


또 하나의 커맨드 창을 하나 열고 "telnet <목적지IP> <목적지Port>" 명령어를 칩니다.


그러면 netstat 명령어를 쳤던 커맨드 창에서 아래와 같은 SYN_SENT 결과를 볼 수 있습니다.

TCP/IP에서 TCP 통신규약인 3-Way Handshaking을 아시겠지만 

SYN_SENT는 클라이언트가 서버에게 연결요청(SYN) 패킷을 보냈다는 것을 의미 합니다. 

여기서!! SYN_SENT는 2가지의 중요한 의미를 내포하고 있습니다!!!


첫째. 서버(또는 장비)의 파워가 꺼짐 / 물리적으로 접속 제한(ex, Lan cable 빠짐)이 발생함

째. 방화벽 정책에 의해 패킷이 차단되고 있음


만약 자신서버(또는 장비)에 물리적으로 직접 접근해서 확인해보니 이상이 없다면

둘째이유인 방화벽에 의한 패킷 차단을 의심해보는 것이 가능성이 높고


만약 자신이 IT정보보안팀이라서 방화벽에 접속하여 차단된 패킷이 있는지 검색하여 보니 특이사항이 없었다면...

첫째 이유인 물리적인 이유에 의한 접속 불가를 의심해보는 것이 정확한 발생 원인을 찾을 수 있는 지름길 입니다.


참고로 서버와 연결이 잘 될 때에는 아래와 같이 연결 수립이 잘 되었다는 메시지인 

"ESTABLISHED"라는 문구를 확인 할 수 있습니다.

(예를 들기 위해 아래에 있는 목적지 IP는 NAVER IP 를 대상으로 하였습니다)



반응형
반응형

[DDoS 공격유형]

● 대역폭 소진공격 (3~4 계층 공격)

<공격종류>

1) UDP/ICMP Traffic Flooding

 UDP Flooding /  ICMP Flooding /  DNS Query Flooding

2) TCP Traffic Flooding

○ SYN Flooding / ○ SYN+ACK Flooding

3) IP Traffic Flooding

○ Land Attack / ○ Tear Drop / ○ Smurf Attack /○ HTTP Continuation

<공격대상>

 네트워크 인프라

<공격목적>

 대역폭 소진

 동일 네트워크에 있는 모든 서비스 접속장애 유발



 서비스 마비 공격 (7 계층 공격)

<공격종류>

1) HTTP Traffic Flooding

○ GET Flooding /  CC Attack

2) HTTP Header/Option Spoofing

○ Slow HTTP Header DoS(Slowloris) / ○ Slow HTTP POST DoS(RUDY)

3) TCP Traffic Flooding

○ TCP Session / ○ TCP SYN Flooding / ○ Slow HTTP Read

4) Other L7 Service Flooding

○ Hash DoS / ○ Hulk Dos / ○ FTP Attack / ○ SMTP Attack

<공격대상>

 WEB 서버

 정보보호 장비

<공격목적>

 HTTP 서버 과다 접속으로 인한 장애 발생

 공격 대상 시스템 피해




[DDoS 공격 대응책]

 TCP SYN Flooding 대응

○ First SYN Drop : 모든 클라이언트로부터 처음 들어오는 SYN 패킷은 차단한다.

○ SYN Cookie 이용 : SYN Cookie를 이용하여 3-Way Handshaking이 이루어 지지 않으면 Backlog Queue가 소비되지 않도록 설정    

- SYN cookie 활성화 : [Linux] # sysctl -w net.ipv4.tcp_syncookies=1

○ 방화벽 또는 DDoS 장비를 이용하여 동일 Client IP의 연결요청(SYN) 패킷은 임계치를 설정하여 과도한 연결요청 발생 차단

- iptables를 이용 예시 : iptables -A INPUT -p TCP --dport 80 --syn -m connlimit --connlimit-above 5 -j DROP

#설명# : TCP포트 80 연결 요청 패킷(SYN)에 대해 동일 출발지 IP로 동시 연결 개수가 5개 초과 시 차단

○ SYN+ACK에 대한 대기 시간 줄이기 : 3-Way Handshaking을 할때 서버가 클라이언트에게 SYN+ACK를 주고나서 대기하는 시간을 줄인다

- 주의사항 : 정상통신도 차단 될 위험이 있음

○ Backlog Queue 크기 늘리기(임시방편) : 임시적인 조치로 대규모 공격이 발생하면 무용지물이 됨

Backlog Queue 크기 늘리기 : [Linux] # sysctl -w net.ipv4.tcp_max_syn_backlog=1024 (#Backlog Queue 크기를 1024로)

[Unix] # ndd -set /dev/tcp tcp_conn_req_max_q0 1024 (#Backlog Queue 크기를 1024로)

 Smurf Attack 대응

○ 다량의 ICMP Echo Relay 패킷 발생 -> IPS/IDS 차단 진행

○ Directed Broadcast 패킷 방지 (라우터 설정 변경) : (config-if) # no ip directed-broadcast

○ Directed Broadcast 요청 무응답 (시스템 설정 변경)

 Slow HTTP Header DoS(Slowloris) / Slow HTTP POST DoS(RUDY) 대응

○ 동시 연결에 대한 임계치 설정 : 출발지 IP에서 동시에 연결할 수 있는 연결개수에 대한 임계치 설정

- iptables를 이용 예시 : iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 30 -j DROP

#설명# : TCP포트 80에 대해 동일 출발지 IP로 동시 연결 개수가 30개 초과 시 차단

○ 연결 타임아웃 설정 : 클라이언트와 WEB 서버간 아무런 데이터 통신이 없이 세션을 유지하는 시간에 대한 타임아웃 설정

- Apache 설정 예시 : 

<Apache httpd.conf 중 일부>

Timeout 5

#설명# : 5초 동안 아무런 통신이 없으면 연결 종료 (단, 너무 짧게 시간을 설정하면 정상 사용자도 차단 가능성 있음)

○ 읽기 타임아웃 설정 : 클라이언트와 WEB 서버간에 읽기 타임아웃 설정

- Apache 설정 예시 : 

<Apache httpd.conf 중 일부>

<IfModule reqtimeout_module>

RequestReadTimeout header=5 body=10

</IfModule>

#설명# : 헤더 요청 정보가 5초 이내에 수신되지 않거나, 바디 요청 정보가 10초 이내에 모두 수신되지 않으면 연결 종료

 Land Attack 대응

OS 패치로 해결 가능

 Tear Drop

○ OS 패치로 해결 가능


반응형

+ Recent posts