マナティ

購入形態

PDF
3,080円
数量:

カートに追加されました。カートを見る

カートに入れる
紙の本を買う

難読化シェル芸の世界

Bashとすてきな難読化

マイナビ出版

bashの機能を極限まで使い切る“難読化シェル芸”を解説

ようこそ難読化シェル芸の世界へ!
Bashの機能を極限まで使い切る“難読化シェル芸”を解説するものです。

シェルはOSを操作するための最も基礎的なインタフェースです。このシェルに「芸」が加わります。
様々な処理をワンライナーで終わらせる魔法は「シェル芸」と呼ばれ、多くのプログラマー・エンジニアに愛されています。さらにシェル芸に「難読化」を加え“黒魔術化”したものが難読化シェル芸となります。

人類は太古より「隠す」目的で、伝達すべき情報を暗号化したり難読化してきました。近年ではサイバーセキュリティ分野における解析のヒントとなることでしょう。本書によってコンピュータサイエンスを活用した「難読化の世界」に浸っていただき、難読化シェル芸を身につけていただけますと幸いです。


主な目次
1章 準備
2章 シェル芸とは 難読化とは
3章 難読化シェル芸
4章 日本語Base64難読化
5章 Unicodeを応用した難読化
6章 記号だけで作る難読化
7章 難読化シェル芸の解析と妨害
8章 shcに挑む
付録A 文字コード解説
付録B シェル芸tips

サポートサイト: https://book.mynavi.jp/supportsite/detail/9784839969691.html
著者サイト:https://raintrees.net/projects/a-painter-and-a-black-cat

発売日:2019-04-24

ページ数:152ページページ

目次

1章?? ?準備
1.1 環境
1.2 インストール
1.3 本書で使用するコマンド
1.4 bashの機能
1.5 コマンドの仕様を調べる

2章?? ?シェル芸とは 難読化とは
2.1 Unix哲学
2.2 シェル芸の定義
2.3 シェル芸の使いどころ
2.4 簡単なシェル芸問題を解いてみましょう
2.5 難読化の定義
2.6 難読化の歴史
2.7 私と難読化の馴れそめ

3章?? ?難読化シェル芸
3.1 難読化の基本
3.2 Base64によるエンコード
3.3 gzipによる圧縮
3.4 スペースを使わない
3.5 計算による文字の難読化
3.6 フェイク(無駄な命令)
3.7 フェイク(前半処理の無視)
3.8 ハッシュ値から必要な文字を得る
3.9 コマンドで同じ結果になる部分から文字を得る
3.10 システムが普遍的に抱えている不変な情報から文字を得る
3.11 パイプレス 
3.12 Shift JIS文字コードのダメ文字を利用したパイプ難読化
3.13 awk芸によるコマンド機能の代替
3.14 sed芸によるコマンド機能の代替
3.15 Vimシェル芸による難読化
3.16 普通のコマンドの使い方をしない
3.17 古典暗号(ROT13)で難読化する
3.18 複合的に使って難読化する
3.19 補足:暗号化シェル芸

4章?? ?日本語Base64難読化
4.1 原理
4.2 上級編1
4.3 上級編2
4.4 日本語base64難読化シェル芸の弱点

5章?? ?Unicodeを応用した難読化
5.1 Unicode結合文字難読化シェル芸
5.2 Unicodeゼロ幅文字難読化シェル芸

6章?? ?記号だけで作る難読化
6.1 経緯
6.2 基本原理
6.3 記号と1,2だけでアルファベットを得る
6.4 ブレース展開でアルファベット全部を得る
6.5 数字使っているところをなんとかする
6.6 調整して完成!
6.7 ほとんどアルファベットを使わない新方式
6.8 完全な記号のみを使う新方式
6.9 全く別のアプローチによる記号のみの難読化
6.10 美しく、そして短い記号の難読化
6.11 もっと短くなりました

7章?? ?難読化シェル芸の解析と妨害
7.1 難読化シェル芸の解析 xオプションの利用
7.2 難読化シェル芸の解析 echoの利用
7.3 xオプションの検出
7.4 echoの検出
7.5 妨害工作

8章?? ?shcに挑む
8.1 shc(Generic shell script compiler)とは
8.2 本当に強固か?
8.3 実験開始
8.4 実行結果
8.5 stringsによる調査
8.6 ps-elfによる調査
8.7 ltraceによる調査
8.8 straceによる調査
8.9 結果
8.10 その後

付録A 文字コード解説
付録B シェル芸tips

謝 辞・参考文献

著者プロフィール

  • kanata(著者)

    kanata(@kanata201612)
    青森県弘前市生まれ。シェル芸とCTFと温泉が好き。シェル芸を難読化することが趣味。