破壊的難読化シェル芸
たいちょー
みなさん#!/bin/bash(こんにちはの意)
たいちょー
Twitter : @xztaityozx_001
母語はC#
最近色々壊しすぎてあだ名が
破壊神になりました アイコンステッカーあります
シェル芸 #とは
シェル芸の定義バージョン1.1
マウスも使わず、ソースコードも残さず、
GUIツールを立ち上げる間もなく、
あらゆる調査・計算・テキスト処理を
CLI端末へのコマンド入力一撃
で終わらすこと。あるいはそのときのコマンド入力
のこと。
 上田ブログ(https://blog.ueda.tech/)より
難読化シェル芸 #とは
kanata氏考案のヤバいシェル芸
定義
内部的な動作の手続き内容・構造・データなどを人
間が理解しにくい、あるいはそのようになるよう加
工されたシェル芸のこと。
-- A painter and a black cat より
例えば
$'x64x61x74x65‘
$(ls --help|grep ^M|cut -c4,5,6,16)
どちらもdateコマンド
なんですが・・・
置換による難読化はあまりにも弱い
危険シェル芸人に対する風当たりがますます強
くなる現在
「Dockerコンテナ内で使うだけだから!」
という理由での危険シェル芸の使用すら見つか
れば絞首刑になってしまいます
置換による難読化はあまりにも弱い
本来危険シェル芸を隠蔽するために考えられた難読化
シェル芸
今や
「ずがaなんだって?x61がaだって?」
「にて -にた み」(rm –rf /)って覚えやすいねぇ?
と目sed,目awkだけで簡単に見つかってしまいます
難読化シェル芸には新たな武器が必要
置換ではない別の手法で新たな武器が必要…
なにか武器っぽいコマンド無いかな…
gunzip
gunzipとgzip
gunzipコマンドはgzipコマンドでLZ77圧縮され
たファイルを展開するコマンド
つまり
gzipで危険シェル芸を圧縮 → gunzipで発射
gun(銃)が弱いわけがない
皆様におかれましては
「急にこいつは何を言っているのか」と思って
いることと思われますが僕は大丈夫です
まずは危険シェル芸をLZ77します
gzipは-cfを付けるとstdoutに結果を出力しま
す
でも出力はほぼ読めない
 → 難読火力UP!
危険シェル芸を圧縮
みんな大好き:(){ :|:& };:を試しにやります
あとは発射するだけ
特別なことはせずgunzipに通すだけです
xxdに通して書けるように
さっきのやつじゃキーボードから入力できない
のでxxdで書きやすいようにしちゃいます
これが書きやすいかどうかは別にして書けるよ
うになりました
gunzipの方もxxd –r –pを付けるだけ
(拡大してます)
これなら流石の監視員もぱっと見では判断でき
ないでしょう。僕らの勝ちです
別のアプローチ
gunじゃなくてcutする方法
echo 'もじれつ'|gzip -cfの出力からほしいのを
取り出す
$(echo f g aa|gzip -fc|cut -b12,16|sed
's@(.)@L1@g')
f g aaからslが
gun(zip)で危険シェル芸人の「枷」を破壊し解き放ち
「ふがあ」と言うだけでSLが走る
まさに破壊的イノベーション
↓
破壊的難読化シェル芸
なんだか訳が分からない事になってきましたが
僕は元気です

破壊的難読化シェル芸

Editor's Notes

  • #4 シェル芸の定義はこうです 簡単に言うとコマンド入力一撃で何でもするということです