ちなみに、彼らは「FlashPlayer」のリリース時によく推測していました。その1時間前に、私は病院でAdobeの通常のFlashPlayerを更新していました。
興味があれば-猫の下でお願いします。 カットの下にいくつかのスクリーンショットがあります。
そこで、タブレットにAPKをダウンロードしましたが、Lockoutはすぐにそれがトロイの木馬であると呪い、すぐにファイルを有害な方法から削除することを提案しました。 削除を拒否して、私はapkをFTPサーバー経由で病院に転送し、さらに調査しました。
最初にすることは、apktoolを使用してアーカイブを解凍することでした(記事の最後に使用されたプログラムへのすべてのリンク)。
![](https://habrastorage.org/getpro/habr/post_images/639/b34/412/639b34412449c52233de2616d4ee1a0b.png)
まず、Androidマニフェストに注目しました。
デバイス機能のセット全体(まあ、またはほぼすべて)がありました。 タイプの標準(ウイルスプログラム用)の許可に加えて:
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
そのようなことがありました:
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
目覚まし時計へのアクセスがわかりません。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
このイベントを追跡することにより、ロード後すぐに実行されます。
ウイルスは以下も監視します。
- ネットワークへの接続/切断:
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
- SMS'kiを送信しました
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
そして、サービスを登録します。
<service android:name="dsrhki.yjgfqjejkjh.gbjutaxgp">
<intent-filter>
<action android:name="dsrhki.yjgfqjejkjh.gbjutaxgpStart76" />
デバイスにアプリケーションをインストールすると、インストールは次のようになります。
![](https://habrastorage.org/getpro/habr/post_images/6b7/064/6f6/6b70646f60126b8370e6599796f1255b.png)
マニフェストの後、リソースを見ました。興味深いものは何もありませんでした。標準のFlashプレーヤーのアイコンは、すべての密度と値を持つstrings.xmlのサイズが72 x 70です。
Loading
最も興味深いのは、assetsフォルダーです。
![](https://habrastorage.org/getpro/habr/post_images/847/ded/4a7/847ded4a71e57d336818e13c6b42c00c.png)
ファイルフォルダーには、男の写真6枚、女の子の写真4枚、tabor.cssファイル(いくつかのスタイルを含む)があり、明らかにa.txtテキストファイルではありません(unixユーティリティファイルは、
a.txt: data
laconicと言って、
a.txt: data
css、images、jsフォルダーには、htmlページをレンダリングするための補助的なものがありました。
white.htmlページは次のようになります。
![](https://habrastorage.org/getpro/habr/post_images/f92/9a6/723/f929a672303e15a795fdd773030897ec.png)
どうやら、著者は非常に愚かなユーザー(フラッシュプレーヤーのアイコンですが、Opera Mini 6.5(アプリケーションでAdMobを介して配布されることが多い)を読み込むことを提案しました)の計算を行ったようです。
ボタンをクリックすると、JSスクリプトがトリガーされ、payed.htmlにリダイレクトされます
また、white.htmlには隠しdivがあります:ハードコードされたリンク:
:
yerc1.net/?u=64504 .
payed.htmlページでは、リンクが異なります。
:
filesesa.net/?u=90-656jc5y9ny1yc2fb0d .
sendcontacts.htmlページには、単にpayed.htmlへのリダイレクトが含まれています。
最も興味深いページはtest.htmlです。
JS c jQueryはそこで活発に使用されています。
アルゴリズムは次のとおりです。
- 最初に、アイコンと碑文が表示されます。「インストールの進行中にお待ちください。」
- 次に、JSを使用して、ランダムタイムアウトが計算されます
timeout = Math.floor((Math.random()*100)+1) + Math.floor((Math.random()*100)+1);
同時に、偽のプログレスバーがユーザーに表示されます
- 待機の最後に、条件が計算されます:
(androidInfo.match(/operator3/) == 'operator3' || androidInfo.match(/operator13/) == 'operator13' )
operator13の場合、メッセージが表示されます。
$('#paymentinfo').html(' , 29900. ');
無料のアプリケーションに適した価格...
演算子= 3の場合、メッセージは次のとおりです。「サービスが支払われ、VATで354ルーブル以下」
両方でない場合は、offerta.htmlへのリンクが表示されます
offerta.htmlには、flashflasher-ru.netサービスとサブスクライバー間の合意が含まれています。
全文はinfomobiles.net/oferta.phpで読むことができます
最も注目すべき瞬間を挙げます。
- ソフトウェア製品は、オンラインリソースflashplayer-ru.netのサービスへのアクセスを提供するインストールモジュール(「アプリケーション」)です。
- 登録プロセス中...最大3つの通信メッセージがプレミアム料金表付きのデジタル識別子に送信されます
- 使用している加入者局の技術的パラメータに関する情報を提供して、互換性のあるアプリケーションまたは互換性のあるアプリケーションへのリンクをさらに提供します。
- コストは1062ルーブルです
- ...カスタマーサポートにメールで連絡する必要があります:me.s.mobile@gmail.com。
そして、これらのすべてのルールの後、ボタンをクリックすると、被害者をpayed.htmlに転送し、そこでfilesesa.netへのリンクを見つけるボタンをクリックします
whoisにより、ドメインflashplayer-ru.netが06.22.2012に作成され、filesesa.netが9月4日に作成されたことがわかります。 残りはすべて同じです
Domain Name: FILESESA.NET
Registrar: INTERNET.BS CORP.
Whois Server: whois.internet.bs
Referral URL: www.internet.bs
Name Server: NS3.SUPERIDNS.NET
Name Server: NS4.SUPERIDNS.NET
Status: ok
Updated Date: 04-sep-2012
Creation Date: 04-sep-2012
Expiration Date: 04-sep-2013
その後、レジストラのウェブサイト(bsはバハマ)にアクセスし、技術サポートの女の子と話をして、虐待のメッセージをabuse@internet.bsのメールで送信するようにアドバイスしました。
虐待を書いて、私は掘り続けました。 解凍されたアーカイブにはsmaliファイルも含まれていました。 しかし、.smaliから.javaに戻すというトピックについてはgoogleで、元のAPKアーカイブに戻ることにしました。 apk-shkuの単純な7-zip'omを展開すると、そこにclasses.dexが見つかりました。
その後、dex2jarがビジネスに参入しました。
![](https://habrastorage.org/getpro/habr/post_images/728/697/674/728697674e9ada0443a7b0cf3d736198.png)
次に、コードを提供してくれたJD-GUI:
![](https://habrastorage.org/getpro/habr/post_images/bee/fcc/e53/beefcce53cdc9d529b9e6ee7a5a11949.png)
コードはかなり難読化されているようです。 Webページがどのように呼び出されるかを正確にはまだ解明していませんが、エミュレーターでウイルスを起動することにより、リブート直後に起動し、すぐにクラッシュすると言うことができます。
結果のコードを研究所のウェブサイトに投稿しました: virtalabs.net/apkHack/flash-player.src.zip
APK自体は、 virtalabs.net / apkHack / flash_player_installer.apkにあります。
解凍されたフォルダーはこちらです: virtalabs.net/apkHack/FlashPlayer
今、私はレジストラからの反応を待っています。 サイトはロシア語で作成されているため(少なくともユーザーの同意からわかるように)、CISの視聴者のために、逆の結果を部門Kに送信する価値はありますか?
この記事がアンドロイドコミュニティへの関心を喚起し、誰かがこのタイプのウイルスをインストールすることを防ぐことを願っています。
そして、使用したプログラムへのリンクを約束したように:
APKtool-code.google.com/p/android-apktool
Dex2Jar-code.google.com/p/dex2jar
JD-Gui-java.decompiler.free.fr/?q=jdgui
JD-GuiにはEclipse IDEのバージョン(http://java.decompiler.free.fr/?q=jdeclipse)がありますが、JD Webサイトに問題があるためインストールできませんでした。
Ken Kinderの記事kkinder.com/2011/11/27/so-you-want-to-reverse-engineer-an-android-app-apkからも大きな恩恵を受けました