趣味の範囲でサイバーセキュリティの話この広告は、90日以上更新していないブログに表示しています。WebLogicはパッチが出てましたが、その時に修正された脆弱性の攻撃コードが先週末あたりに公開されました。実際に攻撃も来ているようで、探すと中国語での解説記事をちらほら見かけます。氏のハニーポットでも攻撃が観測されているそうです。脆弱性(CVE-2017-10271)を狙った攻撃を検知してる。コインマイニングするプログラムのダウンロード&実行が目的みたい。脆弱性対策情報データベース)によると、脆弱性の内容は以下のようになっています。可用性に影響のある脆弱性が存在します。攻撃が行われる可能性があります。いくつかの中国語の記事を見る限り、場合によってはリモートコード実行が可能なようです。Google翻訳に突っ込んだ結果をかいつまんで書くと以下のような感じです(間違っている可能性があることはご容赦ください)。WebLogicのWLSコンポーネントにはリモートコード実行の脆弱性があり、該当するCVE-2017-3506のパッチが今年4月にリリースされたCVE-2017-3506の攻撃コードは公開されていないが、攻撃には利用されていた4月に公開されたパッチをバイパスできる脆弱性(CVE-2017-10271)が見つかり、これは10月のパッチで修正されたということのようです。影響を受けるバージョンは限られていますが、リモートコード実行が可能なため、注意が必要です。有償のプロダクトですが、開発などの用途で使うための無償版があります(Oracleへの登録が必要です)。12.1.3をDockerで建てます。projectsとりあえず、公式のDocker関連ファイルを持ってきます。https://github.com/oracle/docker-images.git色々あるのを全部持ってきますが、使うのはOracleJavaとOracleWebLogicです。ベースとなるJavaのイメージを作成します。cloneした「/OracleJava/java-8/」のディレクトリに「server-jre-8u151-linux-x64.tar.gz.download」というファイルがありますが、中身を見るとテキストでダウンロード先とファイルのハッシュが書いてあります。このファイルを落としてこいということなので、リンクから同名のファイル(server-jre-8u151-linux-x64.tar.gz)を落としてきます。落としてきたファイルは「~~.download」と同じディレクトリに置きます。ビルドにはスクリプトが用意してあるので、叩くだけです。images」で確認するとoracle/serverjre:8のイメージができています。これが、WebLogicのベースになります。次にWebLogicのイメージを作ります。やり方は上と同じです。今回は12.1.3なので、「/OracleWebLogic/dockerfiles/12.1.3/」のディレクトリを確認し、必要なファイルを落としてきます。「fmw_12.1.3.0.0_wls.jar.download」と「wls1213_dev_update3.zip.download」があるので、それぞれのファイル内のリンクから同名ファイルをダウンロード(登録が必要)し、同じディレクトリに設置します。その後、「/OracleWebLogic/dockerfiles/」にある、buildDockerImage.shを叩きます。12.1.3oracle/weblogic:12.1.3-genericのDockerイメージができます。WebLogicのベースイメージができたので、ここからサンプルのDockerfileからWebLogicサーバを建てます。「/OracleWebLogic/samples/1213-domain/」でREADME.mdの通りに実行します。.ADMIN_PASSWORDは英数8文字以上みたいな制約があるので気を付けてください。これでWebLogicサーバのDockerイメージができました。できたイメージはこんな感じ。アクセスして、こんな画面がでれば成功です。攻撃コード検証まず、「http://localhost:7001/wls-wsat/CoordinatorPortType」へアクセスしてみます。このパスが今回の攻撃対象になります。PoCはこのパスに対して、POSTで実行するコマンドを含んだSOAPのXMLを投げつけます。Errorが返ります。コマンドの結果はレスポンスには載ってきません。/tmp/Hack」というコマンドを実行してみました。コンテナの中に入って、確認します。確かにファイルが作成されていました。いうことで、リモートでコード実行ができました。まとめ日本ではあまり騒がれていませんが、すでに攻撃が行われており、該当するバージョンのWebLogicを利用している場合、おそらくデフォルトの状態で刺さる可能性がある危険な脆弱性です。対策としては、WebLogicのバージョンアップ、暫定策として、wls-wsatへのアクセス制御や、関連するコンポーネントの削除が挙げられています。WebLogicのログがどこにあるのか分からなかったのですが、もしログがあるなら、「/wls-wsat/CoordinatorPortType」へのPOSTでのアクセスログあるか、そのレスポンスが500になっていないかを確認するのがいいかと思います。WebLogicの環境構築がちょっと面倒でしたが(有償の製品なので仕方ないですね)、とりあえずは検証まで行うことができて満足しました。(2017/12/28)以下2点を補足として。今回利用したPoCでは「/wls-wsat/CoordinatorPortType」のパスへ攻撃しましたが、実際には「/wls-wsat/」配下の存在するパスであれば攻撃は成功するようです。アクセス制限を考えている場合は「/wls-wsat/」以下すべてのパスの制限をした方がいいです。検証したところ、上記の影響を受けるシステムとなっている以外のWebLogicのバージョンでも利用した攻撃コードが刺さりそうな感じでした。詳細な影響範囲は分かりませんが、WebLogicの10系と12系を利用している場合はとりあえず、攻撃影響・侵害の有無を確認した方がいいと思います。リモートコード実行の脆弱性(CVE-2018-1270)について久しぶりにブログ書きます。最近あまりネタがなかったのでちょ...2018-01-30WOWHoneyhotを植えてみる久しぶりにハニーポット関連。脆弱性(CVE-2018-2894)についてXdebugとNetBeansを使ったDrupalのデバッグ環境をdocker-composeのみで立てる月別アーカイブはてなブログをはじめよう!blueBLUEさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。