ニュース

Unicode ゼロ幅スペースを利用して情報を隠して仕込む

kanata25日前に追加

ゼロ幅スペースというUnicodeの闇

ZeroWidthSpace

動機 : 先日こういう話題があった

ゼロ幅文字にエンコードした隠し情報で、文書をリークしたメンバーを特定

とある会員制掲示板からの文書の流出に困った運営者が、 ユニコードの見えない文字「ゼロ幅文字(Zero-Width characters)」を使って流出させたユーザーを特定した、という話 が出ていました。 ...

  • 要約
    • 競技ビデオゲームのチームが、プライベートの掲示板を利用
    • 外部の掲示板にコピペしているやつがいた
    • 見た目がわからない文字を仕込んで犯人を特定

原理 : Unicodeゼロ幅スペースを仕込んだ

ゼロ幅スペース(Wikipedia)

コンピュータの組版に用いられる非表示文字で、文書処理システムに対して語の切れ目を示すのに用いる

めっちゃ種類ある

U+034F , U+200B , U+200C , U+200D , U+200E , U+200F , U+2028 , U+2029 , U+202A , U+202B , U+202C , U+202D , U+202E , U+2061 , U+2062 , U+2063 , U+FEFF

いろんな事に(難読化シェル芸)に使えるんじゃ・・・!

元ネタに習って4種類を使う ⇒ 4進数で表現できる!

CodePoint 名称 デコード時
U+200B ゼロ幅空白 0
U+200C ゼロ幅非接合子(筆記体の時の制御) 1
U+200D ゼロ幅接合子(筆記体の時の制御) 2
U+FEFF ゼロ幅のノーブレークスペース 3

ゼロ幅スペースにエンコード

  1. 文字を16進数に変換(xxd)
  2. 16進数を4進数に変換(bc)
  3. 0 1 2 3 をゼロ幅スペースに置換(sed)
ZWS1=$'\u200b'
ZWS2=$'\u200c'
ZWS3=$'\u200d'
ZWS4=$'\ufeff'

echo "unko" |xxd -p|tr a-z A-Z \
  |sed 's/^/obase=4; ibase=16; &/g'|bc \
  |sed s/0/$ZWS1/g |sed s/1/$ZWS2/g \
  |sed s/2/$ZWS3/g |sed s/3/$ZWS4/g 

仕込んだゼロ幅スペースのデコード

  1. ゼロ幅スペースを 0 1 2 3 に置換(sed)
  2. 16進数に変換(bc)
  3. バイナリに変換(xxd)
ZWS1=$'\u200b'
ZWS2=$'\u200c'
ZWS3=$'\u200d'
ZWS4=$'\ufeff'

echo '‌‌‌‌‍‍‌‍‍‌‍​​‍‍' \
  |sed s/$ZWS1/0/g |sed s/$ZWS2/1/g \
  |sed s/$ZWS3/2/g |sed s/$ZWS4/3/g \
  |sed 's/^/obase=16; ibase=4; &/g'|bc|xxd -ps -r

※ echo '' の''にはゼロ幅スペース入ってる

ツール作った

Instration

ファイルダウンロードして実行権限をつけるだけ

$ wget https://raintrees.net/attachments/download/472/EncodeZeroWidthSpace.sh
$ chmod u+x ./EncodeZeroWidthSpace.sh
$ wget https://raintrees.net/attachments/download/473/DecodeZeroWidthSpace.sh
$ chmod u+x ./DecodeZeroWidthSpace.sh

動作環境

ただのシェルスクリプトなので、だいたいの環境(Linux,Mac,Unix)で動くのでは

以下で、動作確認しました。

  • CentOS Linux release 7.2.1511 x86_64

Usage

エンコード

./EncodeZeroWidthSpace.sh '💩'
'​​‍‌‍‌​‍‍‍‍‌​​‍‍'

デコード

./DecodeZeroWidthSpace.sh 'T​​‍‌‍‌​‍‍‍‍‌​​‍‍his is a pen'
'💩'

使えるシュチュエーション

このシェル芸を実行したのは誰だ!

./DecodeZeroWidthSpace.sh 'echo un‍‌‍‍‌‍​​‌‍​‍​​‌‍‍‌‍​‍​​‌‍‌‍‌​​‍‍ko'
'私です'

裏手順を隠しておく

./DecodeZeroWidthSpace.sh 'stop.sh #アプリ停止、yを入力‌​​‌‍‍‌‍‍‌‌‍​‌‍​​‍​​‌‍​‌‍'
'pkill apli'

呪いを込めておく

./DecodeZeroWidthSpace.sh 'Start.sh #アプリ起動‍‌‌‍‍​‍​​‍​‍​​‍‍​‍‍‍​‍​‍'
'帰りたい'

暗号的やり取り

実はTwitterはゼロ幅スペースが使えます
他のSNSでも使えそう(未確認)

./DecodeZeroWidthSpace.sh '草‍‌‍​‍‌‍‍‌‍‌‌‍‍​‍​‍‍​‍​​‌‍‍​​‍​‍​​‌‍‌‍‍'
'特売だぞ'

難読化シェル芸

echoと見せかけたdateの実行

 ./DecodeZeroWidthSpace.sh 'echo unko‌‍‌​‌‍​‌‌‌​‌‍‌‌​​‍‍'|bash
201851日 火曜日 16:42:55 JST

技術書典4に行ってキマシタワー (2コメント)

kanata約1ヶ月前に追加

技術書典4

技術書の祭典が2018年4月22日(日)@秋葉原UDXで開催決定!

どんどん規模が大きくなる技術書の同人誌販売イベント。

コミケ自体は未だに行ったことがありませんが、技術書典だけは4回目。過去3回分もブログに書いてた。

なぜかこのイベントはだいたい雨なのだけれど、今回は快晴。来場者は第一回と比べると、、、それはそれはスゴイ量になっていました。
もぅ秋葉原UDXをもってしても収まらなさそうですねw

この短時間にめっちゃ来てたんやなって

戦利品

20180422_techbookfest4.jpg

楽しかった。
これ以外に俺らの愛したセキュリティをpdfにて購入しました。
GWにゆっくり読もうっと。

待ち時間対策

たぶん、「待ち時間を最小にする」と「欲しい本が売り切れるリスク」を考えると開場一時間前くらいに行くのがよさそう…
でも次回このパターンでいけるかはもぅわかんない。たぶん更に人が増えると思われる。

ちなみに整理券を貰いますが、そのまま待機の順列に並ぶことができます(?)

jus共催 第35回またまためでたいシェル芸勉強会 に参加させて頂きました!

kanata約1ヶ月前に追加

jus共催 第35回またまためでたいシェル芸勉強会報告 | 上田ブログ

null

jus共催 第35回またまためでたいシェル芸勉強会

2018年4月7日@さくらインターネットさんのセミナールームにて問題と解答:

LTしましたが、内容がアレだったので公開を見合わせております。

知見

毎回勉強になります。以下、自分用メモ

# 踊るpiyokangoさん
curl parrot.live

# 改行の調整(忘れてること多し)
cat hoge|awk NF

あと、peeコマンドめっちゃ便利(moreutils)

pee is like tee but for pipes. Each command is run and fed a copy of the standard input. The output of all commands is sent to stdout.
Note that while this is similar to tee, a copy of the input is not sent to stdout, like tee does.

感動

シェル芸始末書 @grethlenのお詫び状

https://hackmd.io/p/Bk3lBeSjz#/

著名なシェル芸人のぐれさんが海外で仕事されるとのこと。ご活躍を楽しみにしております。

超・記号オンリー難読化シェル芸

これにより難読化シェル芸の、難読化手法の一つが完成するに至った。歴史的瞬間。

濱せっく 出張版 #4 に参加させて頂きました!

kanata約1ヶ月前に追加

濱せっく 出張版 #4 (2018/04/04 19:00〜)

濱せっくとは 横濱界隈のセキュリティエンジニアが運営している情報やスキルを共有し合うことを目標とするセキュリティ勉強会です。 今回は4度目の出張版です。 読み方:はませっく #### 対象者 セキュリティに興味のある方であれば、学生でも社会人でも無職の方でもどなたでも大歓迎です。 なお、横濱にお住まいでなくても参加できます。 ## 開催日時 * 2018年4月4日(水) * 18:30開場 / 19:00開始 * 21:00~21:30 終了見込み ## 会場 * レアルセミナールーム * 東京都新宿区西新宿1-3-13 (Zenken Pl...

知見

色んなツールを教えて頂きました。以下、気になったツール

puzzCode
https://github.com/aaaddress1/puzzCode

解析者の心を折りにくる難読化ツール

Buscador Investigative Operating System
https://inteltechniques.com/buscador/

OSINT特化のLinuxディストリビューション。素晴らしい。

ADRecon
https://github.com/sense-of-security/ADRecon

Active Directoryの調査ツール(OSINT)

maltegoのプラグイン
https://github.com/tampererer?tab=repositories

Recon-ng

Recon-ngの使い方 on @Qiita

katagaitaiCTF勉強会とシェル芸勉強会に参加させて頂きました!

kanata2ヶ月前に追加

katagaitai CTF勉強会 #11 - 関東|med

katagaitai CTF勉強会 #11 - 関東|med : ATND

h2. 概要 * チームkatagaitaiの実施する,CTFに関する勉強会です.過去問...

yskさん

無線の話!無線の話!めっちゃ面白い。資料が神だった。
無線の基礎から教えてくれたので、めっちゃ解りやすい。
これ系の問題は苦手な数学がほぼ入ってこないので、頑張ればなんとかできそうな印象(できるとは言っていない)

GNU Radio必須

資料が公開されてますね!

bataさん

ChromeのJavascriptエンジンV8の中の話
めちゃめちゃ濃い内容。この内容理解できたらV8のメンテナになれるでコレ…

bataさんが解説する問題は、相変わらず遥か彼方にゴールが見える感じで遠い。。

jus & USP友の会共催 シェル勉強会 @関西(第34回いつも難しい問題ばっかり出す上田が真面目に考えた初心者用シェル芸勉強会)

jus & USP友の会共催 シェル勉強会 @関西(第34回いつも難しい問題ばっかり出す上田が真面目に考えた初心者用シェル芸勉強会)で大阪にお邪魔しました | 上田ブログ

問題
https://b.ueda.tech/?post=20180317_shellgei_34

youtube
https://t.co/tuZhLj6zEu

togetter
https://togetter.com/li/1209705

LT

特に面白いと思ったのは以下

ターミナルでテトリスが動いてる・・・!

記号オンリー難読化シェル芸・・・!


知見を得た

以下はよく忘れて毎回ググるのでメモしておく

  • sedで引っ掛けたものを置換対象に含めるには&を使う
$ echo abc123 |sed 's/abc/&def/g'
abcdef123
  • awkのNR(行番号)

  • awkで空行の削除

$ awk 'NF'

Google Home mini を天井に設置する

kanata2ヶ月前に追加

動機

天井と話たいんじゃ。天井から流れてくる音楽聞きたいんじゃ。

前提

天井がダクトレールなのが前提。

そうじゃないと後述のライトが取り付けられない。

必要な物の購入

1灯スポットライト・2環ウッドシェード (ダクトレール用)

これ

partsC1.jpg

1灯スポットライト・2環ウッドシェード (ダクトレール用) 【シェードカラー:ナチュラル】

クロームメッキのボディに木製2連シェードを組み合わせた、ダクトレール接続のスポットライト。光を当てたい部分をスポット照射しながら、天井や壁に映る陰影も楽しむことができます。 ...

パナソニック(Panasonic) セパラボディ/P WH4101PK

これ

partsB1.jpg

電球の口(E26)をコンセントに変換するやつ。amazonで買った。

100円ショップのSeriaで買ったスマートフォンスタンド

これ

partsA1.jpg

セリアで買った。一番安いけど、いちばん重要。8本の足を好きなように曲げられる。

partsA2.jpg

いろいろ応用ができる。

参考

【100均検証】使い方はあなた次第! あまりにも自由度の高い「マルチスタンド」の使い方をイロイロ考えてみた結果...

元気ですかーっ! プロレスの世界には「 ホウキ相手でもプロレスができる 」という名言がありますが、100均研究の世界にも「どんな100円グッズでも面白おかしく転がして紹介することができる」という格言があるとかないとか。しかし今回...... 面白おかしく転がすことができませんでした!

組み立て

簡単

  1. ライトの口(E26)にコンセントにするやつを装着
  2. Google Home mini をスマホスタンドでガバっとカバーする
  3. ライトと Google Home mini を合体。柔軟に曲がるスマホスタンドをいい感じに調整するとライトを垂直にしても落ちてこない程度に固定できる。

完成

はい完成!最&高!

combination2.jpgcombination3.jpg
combination1.jpgcombination4.jpg

Javaの混沌とした名称の整理

kanata3ヶ月前に追加

Javaの混沌とした名称の整理

まず、ざっくりこんな感じ

Java_Platforms.png

ざっくりとした呼び方 ちゃんとした呼び方 その中のJDK 対応するライブラリ群 備考
- - JDK 1.0 -
- - JDK 1.1 -
Java2 J2SE 1.2 JDK 1.2 -
Java3 J2SE 1.3 JDK 1.3 J2EE 1.2
Java4 J2SE 1.4 JDK 1.4 J2EE 1.3
Java5 J2SE 5.0 JDK 1.5 J2EE 1.4
Java6 Java SE 6 JDK 1.6 JavaEE5
Java7 Java SE 7 JDK 1.7 JavaEE6 OpenJDKはJava7相当
Java8 Java SE 8 JDK 1.8 JavaEE7
Java9 Java SE 9 JDK 1.9 JavaEE8
Java10 Java SE 10 JDK 1.10? JakartaEE9?

2018/3時点の名称に対する混沌とした状況

名称に関連した解りづらいこと

普通システム開発する時は、JavaEE(JakartaEE)のインストールは必要ない

なぜならWebコンテナ(TomcatやGrassfish、Websphere、JBOSSなど)が実装しているから。
つまり、TomcatをインストールすればJavaEEのAPIが使えるということ。

JavaEEを直接インストールする機会があるのは、基本的にWebコンテナそのものを開発する人なんかに限られるはず。

ちなみにOracleのサイトに行くとわかるけど、JavaEE SDKという名前になっていて、SDKという言葉でまた混乱してしまう。
忘れようSDKは。これはJavaEEなんだ。

JavaとJavaEEの対応バージョンが一致していない

伝統。JavaEEの方がバージョン番号が一つ少ない(Java9に対応しているのはJavaEE8まで)

触れてないこと

JavaME

組み込みの人以外は気にしなくてよい

JavaFX

忘れよう

OpenJDK

Java7相当らしい


Java全般の情報→Java

katagaitai CTF勉強会 #10 - 関東|med に参加させて頂きました!

kanata3ヶ月前に追加

katagaitai CTF勉強会 #10 - 関東|med : ATND

チームkatagaitaiの実施する, に関する勉強会です.過去問を解きつつ技術解説をします. 学生~社会人若手の方を対象にわいわいやりたいと思ってます.

trmrさんの暗号の話

電力解析による暗号処理へのサイドチャネル攻撃が大変面白かった

基本的には

  • 同じ処理したら同じ電力消費のグラフになる
  • bit反転(変化)する際に(そうでない場合と比べて)電力が多く消費される

ぐらいの特性から、目的のビット列を求めるのは、
聞くと「なるほど~」と思うんだけどそこに至るまでの手法を考えた人がスゴイわ。。
物理と数学の融合感ある。

ChipWhispererというツールで全部できちゃうけど、やってくれるのはAESの鍵取得だけなので、動作原理を理解していないと応用がきかない

CTFerのランク

ちょっと面白かった。以下のレベル分けて呼称されている。
わかりみが深い

  1. CTF初心者
  2. 中級者
  3. プロ
  4. 自称CTF初心者

eshihoさんの暗号の話

しほプロの暗号のお話

RSA暗号の買得手法の一つ、Coppersmith's Method のお話
数学に明るくないので、めっちゃ難しく、死 and Die だった。
(ガチ勢には、大変わかりやすい説明だったと思われる)

暗号ガチ勢怖い

頂きました

ノートを頂きました。コレ知ってる、えぇやつやん。ありがとうございます。

第33回めでたいシェル芸勉強会/オープンソースカンファレンス2018 Tokyo/Spring に参加させて頂きました!

kanata3ヶ月前に追加

jus共催 第33回めでたいシェル芸勉強会

以下に綺麗にまとめてくださっています。毎回難しいけれど、今回も難しくて死んだ。

jus共催 第33回めでたいシェル芸勉強会の報告 | 上田ブログ

null

ちなみに私がLTしたやつはコレです。

濱せっくで発表したのと同じもの

オープンソースカンファレンス2018 Tokyo/Spring

東京で春・秋にやるカンファレンス、無料でいろいろ聞けて良い。場所はめっちゃ遠い。
https://www.ospn.jp/osc2018-spring/

オープンソースカンファレンス2018 Tokyo/Spring - オープンソースの文化祭!

オープンソースの最新動向に関する展示・セミナーイベント。参加無料。

沢山頂きました!ありがとうございます…!

20180224_OSSC2018Spring.jpg

特に気になったもの

Gentoo入門

Gentoo愛を感じた

OSSと脆弱性管理

かんべさん面白い人だ…

CPU脆弱性「Meltdown/Spectre」の件はアレですよね。みんなさん一家言あるかと思います。。
個人的にはパッチいつ当てる?当てるの?よりも、性能に影響でる方が気になっており。
ギリギリで日次バッチが完了してるシステムとか、そういうやつ世に沢山ありますよね…?
それにパッチ当てちゃうと、そらもぅアレですよ。大パニックですよ。
じゃあCPU交換だ!なんてするわけもなく、、、

世間の盛り上がりとは関係なく、冷静にCVSSのポイントをベースにパッチの適用有無・時期を判断できるような土壌ができればいいなと願っています。

プラレールで全加算器

最高!

元祖 濱せっく #1 - HamaCTF想定解

kanata5ヶ月前に追加

CTF Writeup HamaCTF

2017.12.2 元祖 濱せっく #1で開催されたCTFの想定解です。

問題

エクササイズ

復号してね。シェル芸でできるよ。
2n,13,rev,64

01011000001100000011001101011010001100010101001001101101010011000110110001000001010100010111001001101101011001100110000101000101010010000100000101001000010011000110011101010011010101000100011000001010

全てがFになる

これから何かわかりますか?

f.zip

難読化シェル芸1

解読してみましょう

NandokukaShellGeiSleeps.zip

大サービス!フラグの一部を教えちゃう!

38}

zlib

この中にzlibされたフラグが埋もれています。

zlib.zip

sign

以下のメッセージと sign.zip から何かわかりますか?

9:14 PM 05 AUG 16 Edward Snowden
b7bb840ece86d44c0fb83da6da0af8a3eeb45946aa141fa44cbc94436e1d5ccd

難読化シェル芸2

解読してみましょう

NandokukaShellGeiInqAns.zip

大サービス!フラグの一部を教えちゃう!

fi}

想定解

暇だったら想定解見る前にチャレンジしてみてクレメンス

1 2 3 ... 11 (1-10/110)

他の形式にエクスポート: Atom

クリップボードから画像を追加 (サイズの上限: 100 MB)