매월 둘째주 화요일은 마이크로소프트사에서 보안패치를 내 놓는 날이다. 한국시간으로 보면 수요일쯤이 된다. 그러다 보니 보안패치가 나오면, 각 기업의 보안담당자는 바빠지는 날 중에 하루이다. 이번 보안패치중 패킷인사이드에서 유심히 볼만한 패치가 있는데, TCP/IP 에서 임의의 코드를 실행시킬 수 있는 취약점이다.
MS11-083 이며 공격자가 조작된 UDP 패킷을 대상 시스템의 오픈되어 있지 않은 포트로 전송 할경우 원격에서 코드실행이 가능해진다는 점이다. 이 취약점은 윈도우 비스타, 윈도우 서버 2008, 윈도우 7, 윈도우 서버 2008 R2 가 해당되며 세부적인 정보는 하단의 참고를 보면된다.
TCP/IP 스택은 기본적으로 포함되어 사용되는 것이므로, 악성코드와 같은 곳에서 악의적으로 이용하면 유용한 취약점이 될 수 있다. 일단 조작된 패킷을 전송해 Integer Overflow 를 발생시켜 코드를 실행시키는 것으로 알려졌으며, 아직 이 글을 작성하는 시점에서는 공개적으로 공격코드가 알려지지는 않았다.
지금 이 포스팅을 작성하면서 찾아보니, 알려진 정보는 비스타 이상에서는 오픈되지 않은 포트로 접속시도가 될 경우 ICMP 에러 메시지를 전달한다고 한다(ippRateLimitICMP). 충분한 UDP 패킷이 전달되어 에러 상태에 도달할 경우 오버플로우 상태에 빠진다.
공격코드는 공개되지 않았지만, 2가지 정도의 PoC 코드가 대략 보인다. 실제 공개된 코드가 아니고 동영상과 일부 화면이다. 유투브에 공개된 다음 동영상을 보면 파이썬으로 제작된 프로그램을 통해 조작된 패킷을 보내고, TCP/137 번 포트로 쉘을 만들어 접속하는것 까지 보여주고 있다.
또 다른 하나는, 다음과 같다.
# ./[deleted]x -h 172.26.1.35 -p 1000-2000
[ MS11-083 PoC - Works only on Windows 7 Spanish Version ]
[W] No open port provided. We need to send more and more UDP dgrams (sit down).
[I] Trying to exploit anyway :-)
[I] [....................................................]
[I] [....................................................]
[I] [....................................................]
[I] [............................................^C
위와같이 공격가능하다는 것만 보여주는 것이 공개되어 있는데, 사실 진위여부는 필자 또한 정확히 확인은 못하겠다.
말하고 싶은 것은, 중요한 보안 이슈인만큼 해당 패치를 꼭 적용할 것을 권장한다.
그리고 급격히 UDP 트래픽이 증가하는 경우도 유심히 보아야 할 것이다.
혹시 여러분들 네트워크에서 UDP 트래픽이 이상하게 증가하는 경우 공유해 주세요.
[참고]
1. 마이크로소프트 MS11-083 권고문
http://technet.microsoft.com/en-us/security/bulletin/ms11-083
2. Assessing the exploitability of MS11-083
http://blogs.technet.com/b/srd/archive/2011/11/08/assessing-the-exploitability-of-ms11-083.aspx
2011년 11월 10일 목요일
2011년 11월 8일 화요일
안드로이드 리버스 엔지니어링 - A.R.E
허니넷 프로젝트(몇 년정도 필자가 한국 공식 미러링 사이트를 운영하였다)에서 가상머신 기반에서 안드로이드 리버스 엔지니어링을 위한 것을 발표했다. 정확한 용어는 A.R.E(Android Reverse Engineering) 이다. 안드로이드 APK 파일을 더욱 쉽게 분석할 수 있도록 도와주는 것으로, 알려져 있는 몇 가지 도구들을 포함하고 있다.
안드로이드를 처음 분석하는 경우라면 많은 도움이 될 것이다. 이미 잘 알려진 도구들도 포함되어 있고 간단한 설정 정도만 해 주면 사용 가능하기 때문이다. A.R.E 에 포함된 도구는 다음과 같다.
A.R.E 는 다음 경로에서 다운로드 받을 수 있고, 압축을 해제하고 VirtualBox 에서 로드해 주면 된다.
http://redmine.honeynet.org/projects/are/wiki
다운받은 이미지를 실행하면 Ubuntu 기반의 다음과 같은 메인 X-Window 화면이 나타난다. 로그인 ID 는 android 이며 패스워드도 android 이다.
여러 도구들 가운데, 많이 알려져 있는 DroidBox 를 수행해 보았다. 참고로, 키보드가 처음에는 프랑스로 맞춰져 있으므로, 키보드 레이아웃을 USA 로 맞춰주어야 한다. Eclipse 도 설치되어 있긴 하지만 설정은 안되어 있으므로, 필요한 경우 이것도 설정해 준다.
기본 도구들은 /home/android/tools 밑에 있다.
우선, 사용을 직접 보여줄 droidbox 폴더로 이동한다. 분석을 하기 위해서는 디바이스 연결이 필요하므로, 가상의 에물레이터를 동작시켜준다.
android@honeynet:~/tools/droidbox$ ./startemu.sh
android@honeynet:~/tools/droidbox$ PANIC: Could not open: /home/android/.android/avd/-system.ini
기본 실행시 위와 같은 메시지가 나오는데, startemu.sh 스크립트를 보면 알겠지만 사용할 안드로이드를 지정해 주어야 한다.
$ ls -l ../../.android/avd/
total 8
drwxr-xr-x 2 android android 4096 2011-11-07 03:20 Android21.avd
-rw-r--r-- 1 android android 63 2011-10-18 08:02 Android21.ini
해당 경로를 보니, Android21 이 있으니 이걸로 사용해 보자
$ ./startemu.sh Android21
그러면 아래와 같은 에물레이터가 실행된다. (화면은 이미 DroidBoxTests.apk 를 실행한 상태이다.)
분석할 APK 파일을 이제 지정해 주면 되는데, droidbox.sh 를 실행해보면 알 수 있다.
$ ./droidbox.sh
Usage: ./droidbox.sh filename.apk
android@honeynet:~/tools/droidbox$
android@honeynet:~/tools/droidbox$
일단 테스트로 다운로드 받은 이미지 안에 APK 있는지 찾아보았다.
android@honeynet:~/tools/droidbox$ find ../../ -name '*.apk'
../../tools/androguard/examples/android/TCDiff/bin/TCDiff-debug.apk
../../tools/androguard/examples/android/TestsAndroguard/bin/TestsAndroguard.apk
../../tools/androguard/examples/android/DroidBoxTests.apk
../../tools/androguard/examples/android/TC/bin/TC-debug.apk
../../tools/androguard/examples/dalvik/test/bin/Test-debug.apk
../../tools/androguard/examples/dalvik/test/bin/Test-debug-unaligned.apk
몇 개가 보인다. 이중 DroidBoxTests.apk 를 사용해 본다.
android@honeynet:~/tools/droidbox$ ./droidbox.sh ../../tools/androguard/examples/android/DroidBoxTests.apk
실행하면 다음과 같은 분석동작 화면이 나타난다.
안드로이드 분석에 관심이 있는 사용자라면 이 A.R.E 가 초기 접근하는데 도움이 될 것이다. 또는 자동화기반의 분석시스템에도 활용할 만하다.
안드로이드 파일 분석에 도움이 되기를 바라며~
From Rigel
안드로이드를 처음 분석하는 경우라면 많은 도움이 될 것이다. 이미 잘 알려진 도구들도 포함되어 있고 간단한 설정 정도만 해 주면 사용 가능하기 때문이다. A.R.E 에 포함된 도구는 다음과 같다.
- Androguard
- Android sdk/ndk
- APKInspector
- Apktool
- Axmlprinter
- Ded
- Dex2jar
- DroidBox
- Jad
- Smali/Baksmali
A.R.E 는 다음 경로에서 다운로드 받을 수 있고, 압축을 해제하고 VirtualBox 에서 로드해 주면 된다.
http://redmine.honeynet.org/projects/are/wiki
다운받은 이미지를 실행하면 Ubuntu 기반의 다음과 같은 메인 X-Window 화면이 나타난다. 로그인 ID 는 android 이며 패스워드도 android 이다.
여러 도구들 가운데, 많이 알려져 있는 DroidBox 를 수행해 보았다. 참고로, 키보드가 처음에는 프랑스로 맞춰져 있으므로, 키보드 레이아웃을 USA 로 맞춰주어야 한다. Eclipse 도 설치되어 있긴 하지만 설정은 안되어 있으므로, 필요한 경우 이것도 설정해 준다.
기본 도구들은 /home/android/tools 밑에 있다.
우선, 사용을 직접 보여줄 droidbox 폴더로 이동한다. 분석을 하기 위해서는 디바이스 연결이 필요하므로, 가상의 에물레이터를 동작시켜준다.
android@honeynet:~/tools/droidbox$ ./startemu.sh
android@honeynet:~/tools/droidbox$ PANIC: Could not open: /home/android/.android/avd/-system.ini
기본 실행시 위와 같은 메시지가 나오는데, startemu.sh 스크립트를 보면 알겠지만 사용할 안드로이드를 지정해 주어야 한다.
$ ls -l ../../.android/avd/
total 8
drwxr-xr-x 2 android android 4096 2011-11-07 03:20 Android21.avd
-rw-r--r-- 1 android android 63 2011-10-18 08:02 Android21.ini
해당 경로를 보니, Android21 이 있으니 이걸로 사용해 보자
$ ./startemu.sh Android21
그러면 아래와 같은 에물레이터가 실행된다. (화면은 이미 DroidBoxTests.apk 를 실행한 상태이다.)
분석할 APK 파일을 이제 지정해 주면 되는데, droidbox.sh 를 실행해보면 알 수 있다.
$ ./droidbox.sh
Usage: ./droidbox.sh filename.apk
android@honeynet:~/tools/droidbox$
android@honeynet:~/tools/droidbox$
일단 테스트로 다운로드 받은 이미지 안에 APK 있는지 찾아보았다.
android@honeynet:~/tools/droidbox$ find ../../ -name '*.apk'
../../tools/androguard/examples/android/TCDiff/bin/TCDiff-debug.apk
../../tools/androguard/examples/android/TestsAndroguard/bin/TestsAndroguard.apk
../../tools/androguard/examples/android/DroidBoxTests.apk
../../tools/androguard/examples/android/TC/bin/TC-debug.apk
../../tools/androguard/examples/dalvik/test/bin/Test-debug.apk
../../tools/androguard/examples/dalvik/test/bin/Test-debug-unaligned.apk
몇 개가 보인다. 이중 DroidBoxTests.apk 를 사용해 본다.
android@honeynet:~/tools/droidbox$ ./droidbox.sh ../../tools/androguard/examples/android/DroidBoxTests.apk
실행하면 다음과 같은 분석동작 화면이 나타난다.
만약 디바이스가 연결되어 있지 않으면, 디바이스 연결을 기다리는 메시지가 나타난다. 이러한 이유로 테스트를 할때는 에뮬레이터등이 동작하고 있어야 한다.
세부 로그메시지를 보면 아래 그림과 같이 다양한 정보 확인이 가능하다. 분석에 도움이 될만한 정보가 여러개 나타나는데, 그 중에서 네트워크 활동 정보에 연결되어 있는 정보와 Outbound 트래픽 정보가 보인다.
안드로이드 분석에 관심이 있는 사용자라면 이 A.R.E 가 초기 접근하는데 도움이 될 것이다. 또는 자동화기반의 분석시스템에도 활용할 만하다.
안드로이드 파일 분석에 도움이 되기를 바라며~
From Rigel
2011년 11월 7일 월요일
학생, 연구개발자들을 위한 오픈 플랫폼 NetFPGA
FPGA 라는 용어가 있다. Field Programmable Gate Array 약자로 일반 사용자가 프로그램 가능한 Gate Array 이다.
ASIC 공정을 통해 회로를 만드는 것이 아니라 일반 사용자가 원하는 로직을 구현할 수 있다. 간단하게 한 마디로 요약해 보면 프로그램 가능한 반도체 장치 정도이다.
필자도 이 부분은 잘 모르나, NetFPGA 라는 것도 보게되어서 공유해 볼까 한다. 아마 학생들은 이미 더 잘 알고 있을지도 모르겠다.
http://netfpga.org/ 사이트에 방문해 보면, 교육/연구용으로 판매되는 이더넷 카드가 있다. Xilinx FPGA 가 포함된 PCI 카드로 4개의 기가비트 이더넷 포트와, SRAM, DRAM 등이 포함되어 있다. 이 NetFPGA 카드의 디자인은 오픈소스 이며, NetFPGA 프로젝트에 의해 지원되는 저렴한 가격의 제품이다. 학생이나 연구원들이 네트워킹 시스템 프로토타이핑 등으로 이용할 수 있도록 도와주고 있는 것이다.
자세한 스펙은 아래 경로에서 확인해 볼 수 있다.
[출처] NetFPGA.org
현재1G x 4 제품과 10G x 4 카드가 있다. 이런 것을 통해 학생들은 기가비트 이더넷 스위치의 동작, IP 라우터등에 대해서 보다 자세히 이해할 수 있는 기회가 될 것이다. 하드웨어 전공이 아니라, 이런 부분은 잘 몰랐지만 흥미로운 부분이다.
[참고]
1. 위키피디아 FPGA
2011년 11월 4일 금요일
와이어샤크 1.6.3, 1.4.10 버전 릴리즈
와이어샤크가 버전업 되었다. 1.6.3 버전과 1.4.10 두 버전이 릴리즈 되었으며, 이번 버전에는 보안 취약점 패치 및 알려진 버그들이 수정되었다.
CSN.1 을 처리하는 과정에서 초기화 되지 않은 변수에 의해 크래쉬가 발생될 수 있다. 또한 레드햇 보안 팀에서 발견한 Infiniband 의 널 포인터 참조, ERF 파일을 읽을때 존재하는 버퍼오버플로우 취약점등이 있다.
이외 다수의 버그가 픽스되었으며, 새로 추가된 기능 및 프로토콜은 없다.
기능상에는 큰 변화가 없으나, 알려진 버그 및 취약점으로부터 안전하기 위해서는
최신 버전을 사용할 것을 권장한다.
세부적인 릴리즈 내용은 다음 경로에서 확인할 수 있다.
http://www.wireshark.org/docs/relnotes/wireshark-1.6.3.html
http://www.wireshark.org/docs/relnotes/wireshark-1.4.10.html
파일은 다음 URL 에서 할 수 있다.
http://www.wireshark.org/download.html
2011년 10월 31일 월요일
안랩코어 '네트워크 포렌식' 강연 요약
안녕하세요,안랩코어에서 발표한 '개발자도 알아야 할 네트워크 포렌식' 의 사용한 명령어들에 대해서 정리해 드리기로 하였습니다. 시연때 보여드렸던 명령어와 시간이 부족하여 소개해 드리고 싶었지만 하지 못했던 내용도 몇가지 추가하여 요약해 보고자 합니다.
간단히 사용명령어 들에 대해서 나열해 드리고, 추가적인 세부 설명이 필요한건
따로 주제로 빼서 다시 언급해 드리고자 합니다. 대부분의 많은 내용들은
이미 블로그에 포스팅 되어 있으므로 자세한 것은 블로그 내용을 참고해 보시면 됩니다.
일단, 초반에 보여드렸던 안드로이드 폰에서의 패킷덤프 잘 보이지 않았죠?
이것은 다음 링크를 보시면, 안드로이드 관련한 주제로 살펴볼 수 있습니다.
http://www.packetinside.com/search/label/android
TCP Connection Tunnel using ICMP 부분은 패킷 덤프만을 잠깐 보여드렸는데,
ptunnel 이라는 프로그램을 통해서 캡쳐한 것입니다. 이것은 추후 다시 방법을
세부적으로 소개해 드릴 예정입니다.
회사에서 운영중인 '패킷센터' 에 대해서도 더 보여드리고 싶었지만, 이것은
나중에 기회가 되면 더 소개해 드릴 시간이 있겠죠? 보관중인 패킷만 해도
국내에서 최대가 아닐까요? ^^ 이런 데이터를 통해 다양한 리서치를 진행하고 있습니다.
수집된 패킷파일에서 100기가 패킷 파일을 잠깐 언급해 드렸는데, 다음 포스팅을 참고해 보세요.
100 기가 가 넘는 패킷 파일이라고 ?
다양한 도구가 나열되어 있는 페이지에서는,
많은 것을 소개해 드리고 싶었지만 여건상 와이어샤크 정도만 소개해 드렸습니다.
일단 블로그에서 검색해 보셔도 많은 도구가 이미 언급되어 있는데,
몇 가지만 보면 아래와 같습니다.
[1] IPLocation 을 이용한 위치 추적
# ruby1.8 iploc.rb -r test.pcap
IP 주소의 위치정보를 활용하여 멋진 그래프 만들기
[2] Wireshark 기능 일부 소개
GeoIP 를 이용한 위치 정보 지정은 다음 블로그를 참고하면 됩니다.
와이어샤크에서 위치정보 이용하기 - 접속국가를 쉽게 알 수 있다면...
이외 HTTP 를 통한 데이터 오브젝트를 쉽게 추출하기 위한 방법은
메뉴에서 File->Export->Objects->HTTP 를 선택하면 됩니다.
[3] Tshark 기능 소개
블로그에서는 세부적으로 많이 다루지 않은 것인데요, 조만간 따로 언급해 드리겠습니다.
다량의 패킷파일을 포렌식 한다는 측면에서 보면 Tshark 가 상당히 유용하게 이용될 수 있습니다.
커맨드 기반으로 실행될 수 있으므로, 원하는 데이터만 쉽게 추출하여
스크립트화 시키면 다량의 패킷파일을 대상으로 포렌식이 쉬워집니다. GUI 상에서 할 수 있는
대부분의 많은 것들을 커맨드 기반으로 해서 얻을 수 있다는 점이 큰 매력입니다.
몇 가지 사용예를 언급해 봅니다.
# tshark -V -r test.pcap
# tshark -r test.pcap -e ip.src -e ip.dst -Tfields -E separator=,
IP 요청 주소와 DNS 쿼리 네임을 출력하는 것입니다.
# tshark -r test.pcap -e ip.src -e dns.qry.name -E separator=";" -Tfields dns
192.168.0.240;www.google.co.kr
168.126.63.1;www.google.co.kr
.
.
패킷 파일에서 HTTP TOP URL 을 뽑아내는 것입니다.
# tshark -r test.pcap -R http.request -T fields -e http.host -e http.request.uri | sed -e 's/?.*$//' | sed -e 's#^
\(.*\)\t\(.*\)$#http://\1\2#' | sort | uniq -c | sort -rn | head
# tshark -r test.pcap -Tfields -e ip.src -e http.user_agent -R "http.user_agent"
# tshark -r test.pcap -q -z ip_hosts,tree
===================================================================
IP Addresses value rate percent
-------------------------------------------------------------------
IP Addresses 134 0.043431
192.168.0.240 134 0.043431 100.00%
168.126.63.1 16 0.005186 11.94%
72.14.213.99 55 0.017826 41.04%
74.125.127.102 7 0.002269 5.22%
72.14.213.103 32 0.010372 23.88%
72.14.213.100 24 0.007779 17.91%
===================================================================
# tshark -r test.pcap -q -z conv,tcp
[4] bittwist
패킷파일 편집 및 생성으로 아주 유용한 도구 입니다.
- bittwist : PCAP 기반의 패킷 생성기
- bittwistb : PCAP 기반의 이더넷 브릿지
- bittwiste : PCAP 파일 에디터
test.pcap 데이터를 dummy0 인터페이스로 전송시킨 것입니다.
bittwist -i dummy0 test.pcap
이것은 tcpreplay 인 다음과 같은 결과입니다.
tcpreplay -t -i dummy0 test.pcap
1) 패킷에서 1-2 까지만의 패킷을 뽑아내 저장해 보자.
# bittwiste -I test.pcap -O rigel.pcap -R 1-2
2) IP 를 변경해 보자.
# bittwiste -I test.pcap -O test2.pcap -R 1 -T ip -s 192.168.1.5,192.168.50.50
3) 포트번호 변경
# bittwiste -I test2.pcap -O test3.pcap -T udp -d 53,8080
4) 페이로드 데이터 입력
echo "ahnlab_core" | xxd
bittwiste -I test2.pcap -O test3.pcap -L 4 -X 61686e6c61625f636f7265 -T udp
tcpdump -r test3.pcap -XX
Bit-Twist 로 패킷파일의 편집과 생성까지 자유자재로..
[5] Scapy
패킷파일을 프로그래밍 하는 관점에서 아주 유용한 도구입니다.
a=rdpcap("test.pcap")
>>> a
>>> a.nsummary()
>>> a[5].show()
>>> hexdump(a[5])
>>> lsc()
>>> b=Ether()/IP(dst="192.168.1.1")/TCP()/"GET /index.html HTTP/1.0 \n\n"
>>> b
<Ether type=0x800 |<IP frag=0 proto=tcp dst=192.168.1.1 |<TCP |<Raw load='GET /index.html HTTP/1.0 \n\n' |>>>>
'Scapy' 레이블을 보시면, Scapy 의 기본적인 것을 배워볼 수 있는 세가지의 이야기가 있습니다.
http://www.packetinside.com/search/label/scapy
[6] Tcpdpriv
패킷파일을 분석 의뢰할때 민감한 정보가 포함되어 있는 경우가 있습니다. 예를들어, 사내 IP
가 해당될 수도 있겠지요.
# ./tcpdpriv -A 50 -P 99 -w test2.pcap -r test.pcap
-A 는 IP 주소 변경
-P 는 포트 번호
0 은 최대한 Private 한 것이고 99 는 정보를 보여주는
패킷파일의 민감한 정보를 지우고 전달하고자 하는 경우에는 이 방법을!
[7] 텍스트 내용을 PCAP 파일로 - text2pcap
text2pcap 을 이용하면 텍스트 내용도 PCAP 파일로 변환할 수 있습니다. 때로는
분석과정에서 유용하답니다.
-l Link 레이어 타입 지정 (기본은 이더넷이다)
-e <l3pid> -e 옵션 뒤에 이더넷 헤더를 지정할 수 있다. -e 0x806 이면 ARP 패킷을 뜻한다.
-i <proto> 프로토콜을 지정
-m 최대 패킷 길이
-u <srcport>,<destport> UDP 출발지,목적지 포트를 지정
-T <srcport>,<destport> TCP 출발지,목적지 포트를 지정
# od -Ax -tx1 tcpdpriv > in.txt
# text2pcap in.txt out.pcap
# text2pcap -T8888,9999 in.txt out.pcap
# tcpdump -r out.pcap
reading from file out.pcap, link-type EN10MB (Ethernet)
22:27:49.000000 IP 10.1.1.1.8888 > 10.2.2.2.9999: Flags [], seq 0:576, win 8192, length 576
http://www.packetinside.com/search/label/text2pcap
자, 그리고 CaseStudy 에서 언급한 것들을 한번 살펴보죠.
UDP Flooding 에서 보여준 패킷파일에서 이미지 데이터 추출은 foremost 를
이용했습니다.
-i 로 로우파일을 지정하고 -o 로 출력될 경로를 지정합니다. 주의할 점은
입력데이터가 패킷 파일이 아니라, 스크림한 데이터에서 저장옵션에 보면
RAW 형태로 저장하는 것이 있습니다. RAW 형태로 저장된 파일을 뜻합니다.
만약, 입력파일이 패킷 데이터면 Tcpxtract 를 이용해 볼 수 있습니다.
네트워크 패킷 캡쳐 파일에서 파일 추출하기 (using Tcpxtract)
악성코드 트래픽 분석에서 Slammer 는 패킷파일에서 바이너리 데이터 부분만을
떼어내어 해당 코드를 디스어셈블해서 본 것입니다.
와이어샤크에서 데이터 부분에서 오른쪽을 클릭해 보면 Export 를 할 수 있는 부분이
있습니다. 데이터를 Export 하고 objdump 를 이용해 -D 로 디스어셈블 하면 됩니다.
이것은 추후 세부적인 내용을 다시 설명드릴까 합니다.
마지막으로 Suspicious Payload Analysis 에서
마찬가지로 의심 데이터를 추출하고 Ollydbg 로 분석을 한 것입니다. 해당 데이터는
취약점을 이용한 공격코드에서 전송된 '쉘 코드' 부분만을 떼어내어
바이너리 형태로 만들고, Olly 에서 로드하여 스텝별 분석을 한 것입니다. 추출한
데이터는 아래와 같은 형태로 컴파일을 한 것입니다.
char sc[] = {
0xeb, 0x03, 0x5d, 0xeb, 0x05, 0xe8, 0xf8, 0xff
0xff, .................................. };
int main() {
int *ret;
ret = (int *)&ret + 2;
(*ret) = (int)sc;
}
이 부분 또한 궁금해 하실 부분 중에 하나이어서, Slammer 와 함께 세부적으로
다시 설명드릴 예정입니다.
발표 및 시연은 모두 리눅스 기반으로 진행되었습니다. 그래서 Ollydbg 가
리눅스에서 동작하는 걸 보고 의아해 하신 분도 있습니다. Ollydbg 는
WINE 을 통해 실행시킨 것입니다. 설치된 리눅스는 BackTrack5 입니다.
많은 것들이 이미 설치되어 있어서 시연하기에 편해
선택한 것입니다. 리눅스에서 발표에 이용한 유용한 도구도 시간이 나는대로
공유해 드릴 예정입니다.
제가 마지막 페이지에서 사용한 문구가 다음과 같습니다.
Share What you know, Learn What you don't
From PacketInside.com
큰 의미는 '정보의 공유' 입니다. 리눅스를 선택한 것도 오픈소스를 통해서
얼마나 많은 것들을 할 수 있는지 보여드리려 했던 것이고,
정보도 공개할 수 있는 수준의 범위내에서는
블로그로 많이 포스팅하여
네트워크에 관심있는 많은 분들이
참고하실 수 있도록 하려고 합니다.
마지막으로 네트워크 포렌식이 모든 문제해결의 '열쇠'가 되지는 않습니다.
하지만 큰 방향을 결정하는 중요한 '열쇠'가 되기도 합니다.
이 점을 잊지마시고요,
제가 또 언젠가 여러분들과 만날기회가 있다면
더 많은 이야기를 나눠보고 싶네요. :-)
행사에 와 주셨던 모든 분,
그리고 재미있고 알차게 들었다고 해 주신 모든 분들
감사합니다.
항상 행복하세요.
[참고]
1. 개발자도 알아야 할 네트워크 포렌식 분석 기술, '안랩코어 2011' 컨퍼런스
2011년 10월 18일 화요일
시스코 IOS 의 EPC(Embedded Packet Capture) 기능
검색하다 Ciscozine 에 소개된 IOS 12.4T 버전부터 지원되는 EPC 기능을 보았다. 이름과 같이 패킷 캡쳐 기능이 Embedded 되어 있다. 라우터 등에서 바로 데이터를 캡쳐할 수 있는 것이다. 시스코 스위치 등에서 이용되는 SPAN 기능과 달리 NVRAM 에 바로 덤프를 뜨도록 허용하는 것으로, 네트워크 장비상에서 문제가 발생했을때 디버그 용도로 유용하게 사용될 수 있을 것이다.
패킷데이터는 PCAP 포맷으로도 Export 될 수 있으며, CLI 상에서도 HEX, ASCII 로 패킷 데이터를 볼 수 있다고 한다. 살짝, 기술되어 있는 사용 예제를 보면 아래와 같다.
세부적으로 이 기능의 스펙을 살펴보지는 않았지만, 생각해 보면 대용량 라우터에서
사용하기란 어려울 것이다. 일부 초기 네트워크를 구성하는 과정에서 디버그 용도에 적합하지 않을까 생각된다. 특히나 라우터에 이런 기능은 오버헤드를 유발할 수 있다. 백본단에서는 Netflow 조차 거는 것도 쉽지 않은 상황이기 때문이다.
실제로 제가 이 기능을 접할 길이 없는데, 혹시나 이 기능을 확인해 줄 수 있는 분이 있다면 '댓글' 부탁드려요.
[참고]
1. EPC: an Embedded Packet Capture
http://www.ciscozine.com/2011/06/22/epc-an-embedded-packet-capture/
패킷데이터는 PCAP 포맷으로도 Export 될 수 있으며, CLI 상에서도 HEX, ASCII 로 패킷 데이터를 볼 수 있다고 한다. 살짝, 기술되어 있는 사용 예제를 보면 아래와 같다.
1. 캡쳐 버퍼를 정의 ( 100KB 로 지정)
Ciscozine#monitor capture buffer buffer-test size 100
2. 캡쳐 포인트를 정의 (모든 인터페이스의 양 방향으로 정의)
Ciscozine#monitor capture point ip cef capture-test all both
3. 지정한 캡쳐 포인트에 버퍼 지정
Ciscozine#monitor capture point associate capture-test buffer-test
4. 캡쳐 시작
Ciscozine#monitor capture point start capture-test
5. 캡쳐 중지
Ciscozine#monitor capture point stop capture-test
6. 캡쳐된 버퍼의 내용 확인
Ciscozine#show monitor capture buffer buffer-test dump
17:59:50.271 UTC Jun 21 2011 : IPv4 CEF Turbo : Fa1/0 None
66BC0070: CA0012C8 001C0050 J..H...P
66BC0080: 56EEFA3A 08004510 01480000 00000F11 Vnz:..E..H......
66BC0090: D7C1C0A8 28FEC0A8 28850043 00440134 WA@((~@((..C.D.4
66BC00A0: F86B0201 06000000 1DBE0000 0000C0A8 xk.......>....@(
66BC00B0: 2885C0A8 2885C0A8 28FE0000 FD (.@((.@((~..}
17:59:50.271 UTC Jun 21 2011 : IPv4 LES CEF : Fa1/0 None
66BC0070: CA0012C8 001C0050 J..H...P
66BC0080: 56EEFA3A 08004510 01480000 00000F11 Vnz:..E..H......
66BC0090: D7C1C0A8 28FEC0A8 28850043 00440134 WA@((~@((..C.D.4
66BC00A0: F86B0201 06000000 1DBE0000 0000C0A8 xk.......>....@(
66BC00B0: 2885C0A8 2885C0A8 28FE0000 FD (.@((.@((~..}
7. 캡쳐된 데이터 PCAP 포맷으로 Export
Ciscozine#$ture buffer buffer-test export tftp://192.168.40.1/ciscozine.pcap
Ciscozine#monitor capture buffer buffer-test size 100
2. 캡쳐 포인트를 정의 (모든 인터페이스의 양 방향으로 정의)
Ciscozine#monitor capture point ip cef capture-test all both
3. 지정한 캡쳐 포인트에 버퍼 지정
Ciscozine#monitor capture point associate capture-test buffer-test
4. 캡쳐 시작
Ciscozine#monitor capture point start capture-test
5. 캡쳐 중지
Ciscozine#monitor capture point stop capture-test
6. 캡쳐된 버퍼의 내용 확인
Ciscozine#show monitor capture buffer buffer-test dump
17:59:50.271 UTC Jun 21 2011 : IPv4 CEF Turbo : Fa1/0 None
66BC0070: CA0012C8 001C0050 J..H...P
66BC0080: 56EEFA3A 08004510 01480000 00000F11 Vnz:..E..H......
66BC0090: D7C1C0A8 28FEC0A8 28850043 00440134 WA@((~@((..C.D.4
66BC00A0: F86B0201 06000000 1DBE0000 0000C0A8 xk.......>....@(
66BC00B0: 2885C0A8 2885C0A8 28FE0000 FD (.@((.@((~..}
17:59:50.271 UTC Jun 21 2011 : IPv4 LES CEF : Fa1/0 None
66BC0070: CA0012C8 001C0050 J..H...P
66BC0080: 56EEFA3A 08004510 01480000 00000F11 Vnz:..E..H......
66BC0090: D7C1C0A8 28FEC0A8 28850043 00440134 WA@((~@((..C.D.4
66BC00A0: F86B0201 06000000 1DBE0000 0000C0A8 xk.......>....@(
66BC00B0: 2885C0A8 2885C0A8 28FE0000 FD (.@((.@((~..}
7. 캡쳐된 데이터 PCAP 포맷으로 Export
Ciscozine#$ture buffer buffer-test export tftp://192.168.40.1/ciscozine.pcap
세부적으로 이 기능의 스펙을 살펴보지는 않았지만, 생각해 보면 대용량 라우터에서
사용하기란 어려울 것이다. 일부 초기 네트워크를 구성하는 과정에서 디버그 용도에 적합하지 않을까 생각된다. 특히나 라우터에 이런 기능은 오버헤드를 유발할 수 있다. 백본단에서는 Netflow 조차 거는 것도 쉽지 않은 상황이기 때문이다.
실제로 제가 이 기능을 접할 길이 없는데, 혹시나 이 기능을 확인해 줄 수 있는 분이 있다면 '댓글' 부탁드려요.
[참고]
1. EPC: an Embedded Packet Capture
http://www.ciscozine.com/2011/06/22/epc-an-embedded-packet-capture/
2011년 10월 14일 금요일
개발자도 알아야 할 네트워크 포렌식 분석 기술, '안랩코어 2011' 컨퍼런스
오늘은 보안분석,인프라&관리,SW 개발기술등을 공유하는 안철수연구소의 첫 개발자 컨퍼런스인 '안랩코어 2011' 행사를 소개하고자 합니다.
2011년 10월25일 (화) 에 열리며, 장소는 양재동 EL 타워입니다. 제가 이 행사를 소개하는 것은 저도 여기서 한 꼭지를 맡고 있어서 입니다. "개발자도 알아야 할 네트워크 포렌식 분석 기술" 이라는 주제로 발표를 합니다. 사실, 제가 공식적으로 소속을 소개하는 것은 처음인것 같습니다. 지금까지는 블로그를 운영하면서 저에 대해서 거의 밝히지 않았는데, 어찌하다 보니 이렇게 되었네요.
트랙은 크게 A,B 로 보안 기술/분석 적인 것과 소프트웨어 개발쪽으로 나뉩니다. 이번에 제가 소개하는 내용은, 네트워크 관점의 포렌식이라는 의미에서 다뤄보고자 하였습니다. (사실 머 패킷분석이죠~^^) 개발자 분들도 패킷분석이라는 것에 쉽게 접근해 볼 수 있도록 패킷분석 방법론에 대해서 이야기 해 볼 것이고, 운영하고 있는 저희 패킷시스템에 대해서도 잠깐 소개해 드릴 예정입니다. 보관하고 있는 패킷 데이터가 상당합니다. 그리고, CaseStudy 를 통해서 관점별로 패킷분석 사례를 공유해 보고자 합니다. 패킷분석과 관련하여 소개하고 싶은 주제는 상당히 많은데, 제한된 시간과 주제가 있다보니 과연 어떤 내용을 여러분께 소개를 해 드려야 좋을지 고민이 많습니다.
자세한 내용은 아래 발표 프로그램과 다음 행사 홈페이지 주소를 참고하세요.
컨퍼런스 안내 페이지 : http://www.ahnlabcore.co.kr/
보안에 관심있는 분석가,개발자 여러분들의 참여를 기대해 봅니다. 다만, 유료로 열리는 컨퍼런스라는 점이 부담이 되긴 하는데요. 이건 제가 어떻게 해 드릴 방법이 없네요 ㅜㅜ
(혹시나, 패킷인사이드 통해서 많이 오신다면 얘기라도 해 볼까요? ㅎㅎ )
마지막으로, 보안 컨테스트도 열리고 있습니다. IT 보안에 관심있는 분이라면 누구나 참여할 수 있도록 구성되어 있습니다. 저희팀의 몇명이 특히 고생하고 있는 해킹대회인데, 이것도 많은 관심 가져주세요.
대회는 10월22일 (토) 에 열리며, 지금 사전 등록을 하실 수 있습니다.
대회 안내 페이지 : http://www.ahnlabcore.co.kr/contest.html
1등은 맥북에어 2등은 아이패드 등으로 상품도 푸짐합니다.
피드 구독하기:
글 (Atom)





