前節ではHolsteinモジュールにStack Overflowを見つけ、脆弱性を利用してRIPを取れることを確認しました。この節ではこれをLPEに繋げる方法と、さまざまなセキュリティ機構を回避する方法を学びます。 権限昇格の方法 権限昇格の方法にはいろいろありますが、最も基本的な手法はcommit_credsを使う方法です。これは、カーネルがroot権限のプロセスを作る時に実行する処理と同じことを実行する方法で、非常に自然な考え方です。 root権限を取った後にもう1つ重要なのが、ユーザー空間に戻ることです。今カーネルモジュールをexploitしているのでコンテキストはカーネルですが、最終的にはユーザー空間に戻ってroot権限のシェルを取る必要があるので、クラッシュせずにユーザー空間に戻る必要があります。 まずはこれらの理論的部分について説明します。 prepare_kernel_cre
はじめに 本記事はlinuxに存在する1Address Space Location Randomization(ASLR)、およびKASLR(Kernel ASLR)という、やたら長い名前のセキュリティ機能を紹介するものです。メモリアドレスの概念やC言語ポインタが理解できれば読める内容だと思います。 ASLR 概要 あるシステムをクラッカーが攻撃する方法はいろいろありますが、そのうちの一つが不正な方法によってプログラムに特定の命令を実行させる、不正なデータを操作させるというものです。攻撃には、(当然ながら)攻撃に使う命令、あるいはデータのアドレスが必要になります。ASLRが無い環境においてはプログラムのコードやデータは2固定されたアドレスにロードされるので、動かしているプログラムのバイナリがどんなものかわかっていれば、攻撃者が攻撃に使うコードやデータのアドレスを知るのは簡単です。 この類
必要なもの 7-Zip Flashtool FTF (今回はD5803_23.0.A.2.93_Promoter.ftfを使用) 手順 FTFファイルを7-Zipにて展開する。(右クリック メニューから、[7-Zip]→[ここに展開]をクリックする。) Flashtoolを起動し、[Tools]→[Sin Editor]をクリックする。 system.sinファイルを選択し、[開く(O)]をクリックする。 [Extract Data]をクリックする。 system.sinと同じフォルダーにsystem.ext4が出来ているので、7-Zipにて展開する。(右クリック メニューから、[7Zip]→[¥system¥に展開]をクリックする。) gps.confを任意の場所へコピーする。 Sony Xperia X Compact ブラック F5321 [並行輸入品] posted with am
This post is also available in: English (英語) 概要 このところ、私はLinuxカーネルのパケットソケットのソースコードの監査に時間を注いでいました。これは、Linuxカーネルのメモリ破損の脆弱性であるCVE-2020-14386の発見につながりました。このような脆弱性を利用することにより、Linuxシステムで、権限のないユーザーの権限をルートユーザーの権限に昇格できます。本稿では、この脆弱性の技術的解説、その悪用方法、そしてパロアルトネットワークスのお客様がどのように保護されているかについて説明します。 数年前、パケットソケットでいくつかの脆弱性が発見され(CVE-2017-7308およびCVE-2016-8655)、その主要な機能の概要を示した、Project ZeroのブログやOpenwallなどの記事が公開されています。 具体的にいえば、こ
ELF(Executable and Linkable Format)とは Executable and Linkable Format (ELF) とは、コンパイラが生成するオブジェクト、および、ライブラリとリンクされた実行ファイルのファイルフォーマットである。a.outフォーマット、COFFの後継として広く採用されている。セクション数の制限が緩く、メモリ上で連続していないファイルや、ロードされる場所と実行される場所が違う箇所を含む場合にも対応が可能な柔軟な設計となっている。 System V が採用し、GNUツールチェーンがサポートしていることもあり、今ではBSD派生OSや、LinuxをはじめとするフリーなOSにおける実行ファイルフォーマットそして、ゲーム機等を含む組み込み機器開発に於いても好んで使われている。 by https://ja.wikipedia.org/wiki/Exec
先日、Buffaloの無線ルータ WZR-450HP にDisplayLink社のUSBグラフィックスアダプターを接続して、PCモニタにshellを表示することに成功したのでそれまでの道のりを紹介しようと思う。 実験記録みたいな感じなので、単にアダプタを接続するためのHowToではないことに注意。とにかく語りたいだけ(笑) この記事の内容は、先日弊社で開催のFULLER エンジニアミートアップで発表した未完成のスライドおよびkosen10sLT #03で発表したスライド(下記)と同一だが、内容を時間の都合で多少端折っていたので、この記事では発表でしゃべらなかった細かい所も詳細に語りたいと思う。 ルータでルータのプレゼンをした話。 ~# 技術解説 from Takumi Sueda www.slideshare.net 事前におことわりしておくが、私は電波法を侵さないよう細心の注意を払いなが
自分が使っている限りではあまり影響に気づいていませんでしたが、KitKatではSELinuxに正式に対応(それまではインストールされていましたが、Permissiveモードで動作)したためメーカがビルドする際に作成したSELinuxのルールによりアクセス制限が掛けられる(Enforcingという)ようです。 これに気づいたきっかけとしては、先日書いたColorflyのタブレットでのroot権限でのフラッシュメモリアクセス制限の理由を調べていたためです。 SELinuxの詳細はまだ掴みきれていませんが、これを以前のバージョンのようにPermissive(ルールファイルは読込し解析を行うが、違反を発見した場合はログ出力のみでアクセス制限はしない)モードで動作させるために一番手っ取り早い方法としてはSELinux Mode Changerを紹介します。 このアプリ、当然ながらroot権限でなけれ
題名は2.2にしましたが、別にカーネルは2.2専用というものがあるわけでもないはず。 以下、非常に適当な情報なので自分で確認した上で適宜読み替えてください。 Androidのソースは http://android.git.kernel.org/ にある。 前回の手順でGitからAndroid2.2のソースを拾ってくるとkernelソースはダウンロードされない。 カーネルソースを取得するには build_test/.repo/manifest.xml に、ソースのダウンロード情報をリビジョンを指定して追加する。 (revisionを指定しないとfroyo指定になって存在しないと言われた。) <project path="kernel" name="kernel/msm" revision="refs/heads/android-msm-2.6.32"/> このリビジョン部分は、 http:/
普段生活していると vmlinuz を vmlinux に変換したくなることはしばしばあると思いますが、その手順はどうも忘れがち。 今回はその変換レシピをメモ。 前提知識 まず、vmlinuz の中には gzip 圧縮されたカーネルイメージが同梱されています。 同梱というより、vmlinuz は vmlinux + ちょっとしたヘッダやメタ情報といった感じで、メインはカーネルイメージです。 このカーネルイメージを取り出し、展開したものが vmlinux です。 vmlinuz イメージを用意 まず vmlinuz とはなにか。これは /boot 下にある vmlinux-* から始まるファイル。 /boot/vmlinuz-3.2.0-52-generic みたいなファイル、ありますよね? こいつを専用のワーキングディレクトリに移動。場所は /tmp/kernel で。 $ mkdir /
I have not seen this posted anywhere, so I thought I would post it here. This is NOT purely my work, and I do not take credit for it as such. Included in the attached ZIP are the following files: boot_info - prints information about the boot.img passed to it, including the base address and ramdisk address. This tool prints out everything needed to repack the boot.img correctly. split_boot - More c
Linux PERF_EVENTS Local Root Posted May 14, 2013 Authored by sd Linux local root exploit that requires that PERF_EVENTS be compiled into the kernel. This has been fixed in 3.8.10. This bug apparently got backported from 2.6.37 into CentOS5 2.6.32 kernels. tags | exploit, kernel, local, root systems | linux advisories | CVE-2013-2094 SHA-256 | 2f5dc509c381d9e991e5bf9ec1e43911abf68baf1a9e3035473ddfd
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く