Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

難読化シェル芸

4,211 views

Published on

2017/05/27にOITで開かれたLT大会で使用した難読化シェル芸のスライド資料
#oitLT

Published in: Technology
  • Be the first to comment

難読化シェル芸

  1. 1. 難読化シェル芸 たいちょー
  2. 2. みなさん#!/bin/bash(こんにちはの意) たいちょーです IC科4年 /bin/bash在住 母語はC# 5分しかないのでかまないようにしたいです
  3. 3. シェル芸 #とは シェル芸の定義バージョン1.1 マウスも使わず、ソースコードも残さず、 GUIツールを立ち上げる間もなく、 あらゆる調査・計算・テキスト処理を CLI端末へのコマンド入力一撃 で終わらすこと。あるいはそのときのコマンド入力 のこと。  上田ブログ(https://blog.ueda.tech/)より
  4. 4. シェル芸の例 拡張子を一括変更 ls ./*.txt | while read LINE; do mv $LINE ${LINE%.*}.bak; done 簡単なデータ集計 cat text.txt | sort | uniq -c | sort –r できると非常に捗るので必修科目にすべき
  5. 5. シェル芸の仲間たち Vimシェル芸 Vimの機能を利用するシェル芸のこと 危険シェル芸 危険なシェル芸のこと 難読化シェル芸
  6. 6. 危険シェル芸 試してはダメ! 試してはいけない禁忌のこと シンプルだがシェルやPCをぶっ壊す可能性がある 例) echo “exit” >> ~/.bashrc echo “” > /etc/passwd rm –rf /* yes | xargs –P 0 yes $:(){:|:& };:
  7. 7. 難読化シェル芸 #とは コマンドを別のコマンドで置き換えてぱっと見 では何をやっているかわからなくすること 前述の危険シェル芸を隠蔽するために考案された軍 事用シェル芸
  8. 8. 難読化シェル芸の例 echo * lsコマンドになる $(ls –-help | grep ^M | cut –c 4-6,16) $(echo “ZGF0ZQo=“ | base64 –d) $’x6461x74x65’ 3つともdateコマンド
  9. 9. さらに隠蔽率を上げる コマンドは基本英数字 ↓ 日本語で置き換えればシェル芸隠蔽率が上がる ↓ base64エンコードで日本語と英数字の対応をとる
  10. 10. 日本語base64難読化シェル芸 例) $(echo "あ"|base64|cut -c 3-5| awk '{print tolower($1)}') ./hellowworld.c gccコマンドになる 「あ」をbase64に通すと「44GCCg==」が得られる
  11. 11. 日本語base64難読化シェル芸 「ら」「り」「る」をbase64に通すと 「ら」→ 44KJ 「り」→ 44KK 「る」→ 44KL 4文字目がアルファベット順になっていることが 分かる 日本語の組み合わせでコマンドが表現できる
  12. 12. 日本語base64難読化シェル芸 日本語base64難読化シェル芸でdateコマンド $(echo -n "そずねぞ"| base64|grep -o '[a-z]'|xargs| sed 's@ @@g‘ そ:44Gd ず:44Ga ね:44Gt ぞ:44Ge
  13. 13. 日本語base64難読化シェル芸  base64を複数かませることで欲しい文字列を 得ることもできる シェル芸界隈の通例に則って「うんこ」を別の コマンドにします $(echo "うんこ"| base64|base64|base64|cut -c 4,27| awk '{print tolower($1)}')
  14. 14. 日本語base64難読化シェル芸 うんこがSLを走らせる 日本語base64難読化シェル芸はまさに 産業革命
  15. 15. お判りいただけただろうか 難読化シェル芸はまだ最近見つかったものなの で研究しがいがあると思います 気になったら是非やってみてほしいです

×