Contenu connexe
Similaire à Kasza smashing the_jars_j-corrected
Similaire à Kasza smashing the_jars_j-corrected (20)
Kasza smashing the_jars_j-corrected
- 5. Javaの基本
• 豊富なエコシステムを形成
• JVM と JDK と JRE
• オブジェクト指向プログラ
ミングの教育によく使われる
• バイトコードにコンパイル
される
• Pythonに似ている
• 逆アセンブラが容易
• アーキテクチャを選ばない
• クロスプラットフォーム
JDK
JRE
Dev tools
JRE lib source
JVM
Libraries
- 7. JAR (Java ARchive) の基本
• JARとZip形式
• コンテンツはリソースと呼ばれる
• クラスファイル
• ヘッダー 0xCAFEBABE
• コンスタントプール
• マニフェスト
• META-INF/MANIFEST.MF
• 「キー:値」の形式
• HTTPヘッダーに似ている
JAR
manifest
a.class b.class
c.class d.class
a.jpg b.ico a.png
- 8. Java RATの基本
• さまざまな成熟レベル
• 例:BlueBanana と Adzok と jSocket
• ほとんどはキットかビルダー
• stub Jars
• 共通ライブラリを多く使用
• VirusTotalの検知はしばしば不正確
• jRat != Jacksbot (別名 jRat)
• 思うにjRatとして検知されるRATが多すぎる
• Frutas != Adwind != Jsocket != etc.
• もしくは、そうだったりする?
• 思うにAdwindとして検知されるRATが多すぎる
- 9. ほかのJavaの脅威
• Banload およびその他のドロッパやダウンローダ
• Javaのランソムウェア
• Github上でのPoC(コンセプトの証明) [37]
• 私が言えることとして、これは2人の高校生によって
書かれた
• 一般に配られてはいない
• jbd – Javaのバインドシェル
• https://scoperchiatore.wordpress.com/java-
backdoor/
• Javafog – Javaで書かれたAPTバックドア
- 12. 共通ライブラリ
• java.util.prefs –生き残るための仕組み
• Windows: レジストリ
• Linux: ユーザのホームディレクトリ内の隠しファイル
• OSX: ~/Library/Preferences/
• 広く(間違えて)使われているライブラリ
• Sigar
• Bridj
• Slf4j
• JNA / JNI [35]
• jnativehook
• Kryonet
• webcam-capture [36]
• Runtime.getRuntime().exec()
• E.g. Javafog
- 13. 攻撃者のタイプ
• ゆきずりの攻撃者
• いわゆるスクリプト・キディーとフィッシングや
スパム
• カネ目当ての攻撃者
• ブラジルにおけるオンラインバンクのユーザへの
攻撃 (banload) [40]
• シンガポールにおける銀行システム (adwind) [11]
• 特別なものを対象にした攻撃者
• PackRat – CitizenLab, 2015年12月 (Adzok,
AlienSpy)
• ラテンアメリカの人達 [13]
• JavaFog – Kaspersky, 2014年1月
• Manul campaign – EFF, 2016年 (jRat) [34]
- 46. Crimson
• 見つけられた限りで最も古いフォーラム投稿は2012年
10月 [17]
• 開発者の「about」欄には2013年12月と書かれている
• 暗号化された通信
• AES
• Blowfish
• DES
• 三重 DES
• 設定ファイルを次のどれかに出力:
• v1.2.3 – sqlite データベースの ‘Psettings.db’
• v1.3.0 – base64でエンコードされた‘settings.properties’
• v2.1.0 – 出力しない
- 53. qRat (Qarallax/Quaverse)
• 2015年5月に出現
• 3ステージに分かれたJARローダ [20]
• SaaSモデル (jSocketに類似)
• IPv4アドレスとドメインをハードコード
• Windowsのみで動作
• 第2のバージョンが最近検出された[32]
• 補助的なJARを「qurallax.com」から
ダウンロード
• Macでも動作!
• スイスにて米国のビザを申請する者達をSkype上で
攻撃するのに使用された[33] –2016年6月6日
- 56. jRat(別名Jacksbot)
• 2012年10月に出現
• 一部は redpoins0n によってオープンソース化
• プラグイン、スクリプト、アンインストーラー、そして、
補助的なツール群
• https://github.com/java-rat
• 念のために、全てがjRatというわけではない
• しつこく使われている [19]
• OSX: a LaunchAgent plist
• Linux: ~/.config/autostart
• Windows: レジストリランキー
- 65. jSpy と OS Celestial
• jSpyは2013年12月に出現、OS Celestialは次のバー
ジョンの模様
• オープンソースライブラリを再利用
• 似たような機能群
• 似たような設定ファイルのオプション群
• 似たような設定のパーシングクラス
• 重なるビーコン通信先のドメイン名
• jstealth.co[.]uk
• jstealth[.]net
• Windows上に生成されるファイル群によって検出可能
• OSX上で生き延びるためにLaunchAgent plistを使用
- 67. jSpy と OS Celestial
OSX上で生き延びるためのjSpyのplistファイル
- 72. 共通したJava RATのふるまい
• 難読化、ソースコードプロテト、暗号化の各ツール
• 対VM、対分析の工夫
• 非常に長くてランダム(のよう)なリソース名
• 多くのアンチウイルスソフトはファミリーを特定できず
• JARの取り込みを隠す
• 隠しディレクトリもしくはtempフォルダ
• 長生きする
• レジストリ、スタートアップ・フォルダ、
plists (KnockKnock)
• ビーコン通信
• ファミリーによって方法は異なる
- 73. パック、難読化、バンドルの各ツール
• Allatori
• Zelix Klassmaster (別名 Zelix もしくは ZKM)
• launch4j (jarからexeに変換)
• Jar Bundler (OS X Mountain Lion 10.8.2では取除かれた)
• JarToApp
• https://github.com/redpois0n/JarToApp
• jCrypt
• jarProtector
• jFuzzle
- 83. Special Thanks
83 | © 2015, Palo Alto Networks.
PacSec 主催者
PacSec の聴衆
Tyler Halfpop
Jacob Soo
Anthony Mendez
Kevin Breen
Chris Pierce
Jørgen Bøhnsdalen
- 86. 参照情報 (1)
[1] https://cdn.securelist.com/files/2016/02/Adwind_timeline_horizontal_final.png
[2] http://www.symantec.com/connect/blogs/cross-platform-frutas-rat-builder-and-back-door
[3] https://isc.sans.edu/forums/diary/Adwind+another+payload+for+botnetbased+malspam/20041/
[4]
https://kc.mcafee.com/resources/sites/MCAFEE/content/live/PRODUCT_DOCUMENTATION/26000/PD2
6278/en_US/McAfee_Labs_Threat_Advisory_Adwind.pdf
[5] http://www.crowdstrike.com/blog/adwind-rat-rebranding/
[6] http://blog.checkpoint.com/2016/02/24/adwind-malware-as-a-service-reincarnation/
[7] http://blog.trendmicro.com/trendlabs-security-intelligence/old-java-rat-updates-includes-litecoin-
plugin/
[8] https://www.fidelissecurity.com/sites/default/files/FTA_1015_Alienspy_FINAL.pdf
[9] https://theintercept.com/2015/08/21/inside-the-spyware-campaign-against-argentine-
troublemakers-including-alberto-nisman/
[10]
https://www.fidelissecurity.com/sites/default/files/FTA_1019_Ratcheting_Down_on_JSocket_A_PC_and_A
ndroid_Threat_FINAL.pdf
[11] https://blog.kaspersky.com/adwind-rat/11252/
[12] http://cleanbytes.net/java-trojan-horses-the-new-trojan-viruses-generation
[13] https://citizenlab.org/2015/12/packrat-report/
[14] https://sourceforge.net/projects/adsocks/
[15] http://adzok.com/
[16] https://twitter.com/Adzok_
[17] https://leakforums.net/thread-314078
[18] http://www.javaworld.com/article/2077233/core-java/bytecode-basics.html
[19] https://github.com/redpois0n/jrat-remover/tree/master/src/se/jrat/remover/removers
[20] https://www.trustwave.com/Resources/SpiderLabs-Blog/Quaverse-RAT--Remote-Access-as-a-
Service/
- 87. 参照情報 (2)
[21] https://blog.avast.com/2015/11/05/droidjack-isnt-the-only-spying-software-out-there-avast-
discovers-that-omnirat-is-currently-being-used-and-spread-by-criminals-to-gain-full-remote-co
[22] https://github.com/Sogomn/Ratty
[23] https://github.com/deresz/unpacking/blob/master/README.md
[24] https://vimeo.com/165124535
[25] https://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F
[26] http://www.crowdstrike.com/blog/native-java-bytecode-debugging-without-source-code/
[27] https://github.com/kevthehermit/RATDecoders
[28] https://github.com/lmco/laikaboss
[29] https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf
[30] https://securelist.com/blog/incidents/58209/the-icefog-apt-hits-us-targets-with-java-backdoor/
[31] https://github.com/synack/knockknock
[32] http://presumptuouscommoner.blogspot.com/2016/04/post-19-or-anyone-want-jar-of-docx.html
[33] https://labsblog.f-secure.com/2016/06/07/qarallax-rat-spying-on-us-visa-applicants/
[34] https://www.eff.org/files/2016/08/03/i-got-a-letter-from-the-government.pdf
[35] http://blog.cobaltstrike.com/2013/08/29/how-to-inject-shellcode-from-java/
[36] https://github.com/sarxos/webcam-capture
[37] https://github.com/codertimo/Ransomware
[38] https://blog.fortinet.com/2016/08/16/jbifrost-yet-another-incarnation-of-the-adwind-rat
[39] https://github.com/java-deobfuscator/deobfuscator
[40] http://researchcenter.paloaltonetworks.com/2016/03/banload-malware-affecting-brazil-exhibits-
unusually-complex-infection-process/