|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=74 [복사]
RTF 포멧으로 첨부하였습니다.
본문에도 C&P해서 올리겠습니다.
멍멍님, 어떤식으로 올려드리는게 자막작업하실때 편할지 모르겠어서 첨부와 게시글 본문에 작성합니다.
어떤 포멧으로 올리는게 편한지 알려주시면 그렇게 다시 작업해서 올리겠습니다.
잘 안들리는 부분이 좀 있네요. 수십번 틀어서 들어봤는데... *** 처리하였습니다.
첫번째 분석한 악성코드 명이 안들립니다. ㅠ
이부분은 꼭 적어야한다고 생각이 드는데요. 인터넷에 찾아봐도 어떤 악성코드를 분석했는지에 대해서
자세히 나와있는 곳이 없네요. (제가 검색을 잘 못했을수도 있구요ㅠㅠ)
악성코드명을 계속 들어보는데 "오쁘럼" 정도 들리는데... 이게 먼지 모르겠네요. (도움이 필요합니다)
4파트 26초부분입니다.
댓글로라도 알려주시면 그 부분 수정하겠습니다.
---- 번역
um, and then finally,
아, 그리고 마지막으로,
towards some where towards at the end,
프레젠테이션 끝부분쯤에서,
if you want to do a structural clean up.
구조적으로 정리를 할 것입니다.
meaning that, again,
또 말씀 드리지만,
I'll show you couple of examples here.
제가 몇가지 예제를 보여드리겠습니다.
IDA Pro is not appropriate,
IDA Pro는 적합하지 않습니다.
it doesn't tag everything properly,
모든 코드를 정확하게 표시하지 못합니다.
it miss interpret some things,
몇몇 코드 해석이 잘못 표기됩니다.
so often time you have to go back
그래서, 본인이 직접 잘못된 부분을 찾아서
and mark something as a function,
함수로 표기를 바꾸거나,
mark something as a string,
스트링으로 바꿔주는
and is a bunch of clean up work.
정리 작업이 필요합니다.
some of this is valuable,
코드를 이렇게 정리해주는 작업이,
sometimes, filling in other parts of the programming.
매우 유익할 경우도 있습니다.
So, I'm going to do a demo,
제가 오늘의 분석 데모를 보여드리겠습니다.
and a this is a trojan called "the Ope***"
이번에 볼 샘플은 "the Oper***" 라는 트로이목마입니다.
but actually we've got two trojans to demo today,
솔직히 오늘, 두개의 트로이목마 데모가 준비되어 있습니다.
it's coincidence that the two things I picked in ***** being trojans.
오늘의 데모가 우연히 두개의 트로이목마로 선정되었습니다.
This is the trojan
이번 트로이목마는
that was recently in the news for having been found in use in Israel,
얼마전 이스라엘에서 사용되었다고 뉴스에서 발표 되었습니다.
bunch of *** I guess ****** pieces.
so this was a sample I was provided,
제가 받은 샘플 트로이목마이며,
um… and I'm going to take a brief look at.
음… 이것을 간단히 살펴보도록 하겠습니다.
Now, this thing, as you will see, is actually huge.
보시면, 파일의 사이즈가 매우 큽니다.
It's 500K.
무려 500KB이나 됩니다.
This is about, and most of it's code,
이 사이즈가 거의 코드로 구성 되어있습니다.
this is about 10 times larger than your typical piece of malicious code that we’ll be looking at.
보통 보게되는 악성코드보다 10배정도 큰 사이즈 입니다.
I'm going to go through it extremely quickly, because it's massive.
파일 사이즈가 매우 크므로 진행을 빠르게 하겠습니다.
And I can't possibly have enough time to show you everything that I would like to.
모든 부분을 상세하게 설명하기 위해서는 시간이 충분하지 않습니다.
So pardon me if I gloss everything a little bit and go quickly
제가 설명을 대충하고 빠르게 넘어가도 이해해주시기 바랍니다.
but um.. otherwise we wouldn't be able to finish.
음… 그렇지 않으면 오늘 끝내지 못할것 같네요.
Let's just keep an eye on the time.
(설명하는동안) 시간을 계속 확인해주시기 바랍니다.
Um, you can see the actual executable there,
음, 여기에 실제 실행파일을 보실수 있습니다.
uh cup of coffee there Asheley.
애쉴리, 커피 좀 부탁해요.
I’ve gone ahead and made pre… IDB file.
데모전에 미리 IDB 파일을 만들었습니다.
And What this is,
이것이 무엇이냐면,
this is a copy of the Trojan just after IDA Pro finished it’s initial auto analysis.
트로이목마 파일을 IDA Pro의 자동 분석 결과를 복사한 것입니다.
If you’re an IDA Pro user you may be familiar with this stuff.
IDA Pro를 사용하시는 분이라면 이해를 잘 하실거라 생각됩니다.
It loads it up, it goes through and identifies all the pieces.
IDA Pro로 파일을 로드하면 모든 부분을 식별합니다.
The light blue are the library functions,
하늘색은 라이브러리 함수입니다.
Pink is import table,
핑크색은 임포트 테이블이며,
The dark blue is your typical programming code.
짙은 파란색은 소스부분입니다.
The reason I didn’t show you this is, it took 11 minutes on my laptop,
제 노트북으로 자동분석이 11분이나 걸려서 위의 과정을 보여드리지 않았습니다.
Which is quite a long time.
이정도면 매우 긴 시간입니다.
It’s not ****** laptop, but that’s a lot longer than sort of things normally takes.
최신 노트북이 아니긴 하지만 평균적으로 이렇게 긴 시간을 필요로 하지 않습니다.
And… um… I didn’t, certainly didn’t need any filler time for this talk.
그리고, 음…, 이 데모를 위한 추가 설명 시간이 필요치 않았기 때문에
So, I skipped that step,
자동분석은 생략하였습니다.
um, and again, as I mentioned,
음, 그리고 제가 아까도 언급하였듯이,
if you’re not a IDA Pro user,
IDA Pro 사용자가 아니라면,
it goes through, it’s got some, some *******, some other tricks ******,
library files, programs, and a bunch of other ******
the grey and brown are typically data sections.
회색과 갈색 부분이 데이터 영역입니다.
or some other sort of things tagged as data, um, executable code.
데이터로 분류되는 실행코드 일수도 있습니다.
Um… There’s …. Couple of problems that we have with this particular thing.
음… 그리고 여기 보시면 몇가지 문제점을 보실수 있습니다.
First of all, here’s the entry point, winmain,
첫번째로, 여기 보시면 엔트리 포인트인 winmain을 확인할수 있습니다.
and um…, if you expand it,
그리고 음…, 이 부분을 펼치게 되면
doesn’t actually have any terribly distinct in it.
특이한 부분이 없습니다.
So Ok, It's got a sub function,
그래서 보시면 여기 서브 함수들이 있네요.
let’s take a look at that and see what’s below here.
서브 함수의 내부가 어떻게 되어있는지 보겠습니다.
And again the blue and pink are kind of key visual indicators,
아, 그래고 여기 파란색, 핑크색이 눈에 보이는 단서라 할수 있겠습니다.
uh…, this things are all library calls.
음…, 이런것이 라이브러리 호출 부분입니다.
The black would normally indicate our program.
검정색은 주로 메인 프로그램을 의미합니다.
And you can take a look and see, this winmain doesn’t point,
제가 봤을때는 여기 winmain은
at least not directly as far as I was concerned, to any of our code.
데모에 보시는 코드를 직접 호출하지 않습니다.
Second problem you see is that,
여기에서 보이는 두번째 문제는,
we have a lot of, um.., unidentified functions that appear to be get called by library functions.
라이브러리 함수로부터 호출 되는 여러개의 식별되지 않은 함수가 보인다는 것입니다.
This means we’ve missed identification of some of the libraries.
이것은 여기에서 몇몇의 라이브러리 함수를 잘못 식별했다는 것입니다.
And in this particular code, as I’ll demonstrate, this ends up being a huge problem.
제가 데모를 하면서 보시겠지만, 이러한 특정 부분들이 분석에 있어서 큰 문제점이 됩니다.
A real annoyance at least with this particular program.
이 프로그램을 분석하면서 매우 곤란했던 부분입니다.
I’m going to skip how I found the entry point in detail,
제가 엔트리 포인트를 어떻게 찾은지는 생략하겠습니다.
**** say that this is an AFX application,
이것이 AFX 어플리케이션이라고 생각해봅니다.
if you’ve done any Microsoft programming
그리고 만약 마이크로소프트 프로그래밍을 해보신분은
and this is kind of a cut down version of the graphics, libraries and bunch of other stuff. **** extends C++
이러한 것이 C++의 그래픽, 라이브러리 혹은 다른 프로그래밍의 간소버전이라 생각하실수 있습니다.
Most likely, and sure enough looking at the rest of the code this programs was done in lots of C++.
이 프로그램을 쭉 읽어보시면 C++로 제작되어 졌다라고 생각되어질수 있으며 실제로도 많은 부분이 C++로 되어있습니다.
|
Hit : 2202 Date : 2011/08/01 11:18
|