IT_잡담2023. 12. 22. 09:13

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/556921 (2015.7.20)

(백업하는 현 시점에서 유출 파일 미러링 사이트는 사라진 듯하다.)

해킹팀 탐정놀이는 이쯤에서 접을까 했는데, 뭔가 좀 심하게 판타지적인(?) 느낌을 주는 기사들이 보여서 한번 더 탐정놀이 -_-; 아무래도 뭔가 연재만화 비슷하게 되어 가는 느낌이다;;; (지난회는 여기와 여기로;;)

대략의 내용은, 해킹팀 유출자료에서 로그 파일에서 한국 IP주소 138개가 발견되었기 때문에 "대북/해외정보 수집용"이라는 국정원의 해명이 거짓말이라는 취지다. 문제가 된 파일은 log.csv, log(2).csv 이렇게 2개.

자, 그러면 해킹팀 유출자료에서 이 문제의 파일을 한번 찾아보자. 위키리크스는 이메일만 제공하고 있지만, 유출자료 전체를 미러링해서 제공하는 웹사이트가 있다. 여기로.

로그 파일이라고 하니 아마도 서버 관련된 자료중에 있을 것이라 짐작할 수 있다. 조금 뒤져보니 별로 어렵지 않게 찾을 수 있었다. 파일서버(FileServer)라는 디렉토리 아래에 있다. 정확한 위치는 아래와 같다.

https://hacked.thecthulhu.com/HT/FileServer/FileServer/TEMP/


로그 파일 2개를 다운로드 받아 보았다. 각 항목(field)을 쉼표(,)로 구분하는 csv 형식이다. 항목중에 IP주소가 속한 국가가 있기 때문에 "KR"로 검색하면 국내 IP주소들을 확인할 수 있다. 리눅스 shell 명령어의 조합으로 그리 어렵지 않게 분석할 수 있다.

# 한국 IP주소가 있는 항목만 추출
cat log.csv | grep KR | more

그렇다면, 이 로그의 정체는 무엇일까? 일단 항목 구성을 보자. csv 파일의 첫째줄이 항목 이름인데, 아래와 같다.

# 첫번째 줄만 출력
cat log.csv | head -1
Domain,Receive Time,Serial #,Type,Threat/Content Type,Config Version,Generate Time,Source address,Destination address,NAT Source IP,NAT Destination IP,Rule,Source User,Destination User,Application,Virtual System,Source Zone,Destination Zone,Inbound Interface,Outbound Interface,Log Action,Time Logged,Session ID,Repeat Count,Source Port,Destination Port,NAT Source Port,NAT Destination Port,Flags,IP Protocol,Action,Bytes,Bytes Sent,Bytes Received,Packets,Start Time,Elapsed Time (sec),Category,Padding,seqno,actionflags,Source Country,Destination Country,cpadding,pkts_sent,pkts_received


항목 이름중에 위협(Threat)이라는 단어도 보이고 해서 뭔가 해킹과 관련된 것이라고 생각할 여지도 없는 것은 아니나, 일단 이 로그가 상용 프로그램에서 나온 것인지 아니면 해킹팀에서 자체적으로 개발한 프로그램에서 나온 것인지 알아볼 필요가 있다. 위와 같은 형식의 로그가 또 있나 싶어 구글 검색을 해 보았다. "Splunk"라는 회사의 게시판에 꽤 흥미로운 내용이 보인다. 아래의 링크로 들어가 보자.

Best way to have the Splunk Indexers handle a CSV log file



이 게시물의 요지는 대략 이렇다. 어떤 사용자가 Splunk의 복잡한 csv 로그를 효율적으로 다루는 방법이 무엇이냐고 묻고 있다. 그러면서 csv 파일의 내용이 아래와 같다고 한다.

Domain,Receive Time,Serial #,Type,Threat/Content Type,Config Version,Generate Time,Source address,Destination address,NAT Source IP,NAT Destination IP,Rule,Source User,Destination User,Application,Virtual System,Source Zone,Destination Zone,Inbound Interface,Outbound Interface,Log Setting,Time Logged,Session ID,Repeat Count,Source Port,Destination Port,NAT Source Port,NAT Destination Port,Flags,IP Protocol,Action,Bytes,Bytes Sent,Bytes Received,Packets,Start Time,Elapsed Time (sec),Category,Padding

처음에 문제 삼았던 로그 파일의 형식과 비교해 보자. 똑같다. 즉, 위의 로그 파일은 Splunk라는 프로그램에서 생성한 트래픽 로그다. 그러면 대체 Splunk가 무엇이냐가 문제인데, 해당 업체의 공식 웹사이트에 가보면 대충은 감을 잡을 수 있다. 여기로.

Splunk 웹사이트에 나온 바에 의하면, Splunk는 다양한 IT기기/시스템의 동작상황과 관련된 정보들(업체의 표현을 빌리자면 machine data)을 로그 형태로 만들어 이것을 분석하고 시각화하여 효과적인 의사결정을 내리고 문제/위협을 탐지하게 해 주는 프로그램이다. 한마디로 해킹팀이 도입해서 사용중인 IT보안체계의 일부라는 얘기다.

로그 파일의 내용을 잠깐 살펴보자. 국내 IP주소들이 어떤 통신을 했는지 확인해 보았다.

# 시간, ip_src, ip_dst, srcport, dstport, protocol
cat log.csv | grep KR | cut -d',' -f2,8,9,25,26,30


트래픽이 발생한 시간을 보면 단 몇초 동안 국내 IP주소에서 이탈리아의 한 서버(IP주소 93.62.139.41, 이탈리아 밀라노)에 동시다발적으로 udp 패킷을 마구 보냈는데, IP 주소와 무관하게 출발지 포트(source port)는 123, 도착지 포트(destination port)는 80이다. 스파이웨어는 절대 이런식으로 통신하지 않는다. 정상적인 클라이언트-서버 통신이라면 출발지 포트가 서로 달라야 한다. 출발지 포트가 무작위로 선택되기 때문에 저렇게 다 같이 123번이 나올 수가 없다.

그러면 국내 IP주소 외에 다른 IP주소는 어떨까? 온통 출발지 포트 123에 도착지 포트 80이다.

# 한국(KR) 제외
cat log.csv | grep -v KR | cut -d',' -f2,8,9,25,26,30


이제 정리해 보자. 수많은 IP주소에서 동시에 이탈리아의 한 서버로 패킷을 보낸다. 그런데 하나 같이 출발지 포트 123, 도착지 포트 80이다. IT 보안에 약간의 지식이 있다면 이것이 무슨 의미인지 이미 알고 있을 것이다.

이것은 이탈리아 밀라노에 있는 해킹팀 서버에 대한 DDoS 공격이다. 즉, 해당 로그 파일에서 나온 한국 IP주소는 해킹팀 서버에 DDoS 공격을 가한 호스트들이다.

728x90
Posted by 반달가면