ニュース

jus共催 第36回七夕・・・7は素数じゃないですか(しかも2つ)シェル芸勉強会 に参加させて頂きました!

kanata11日前に追加

jus共催 第36回シェル芸勉強会を開催しました | 上田ブログ

null

jus共催 第36回七夕・・・7は素数じゃないですか(しかも2つ)シェル芸勉強会

2018年7月7日さくらインターネットさんのセミナールームにて出題:

知見

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

パイプの出力はループに渡せる

$ seq 10|while read s ;do echo "ループ$((++l))回目" $s; done
ループ1回目 1
ループ2回目 2
ループ3回目 3
ループ4回目 4
ループ5回目 5
ループ6回目 6
ループ7回目 7
ループ8回目 8
ループ9回目 9
ループ10回目 10

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.

LT

深い

素晴らしい…!

LTした。これ。みんなで仕込もうゼロ幅スペース!

NICTオープンハウス2018に行ってきました!

kanata18日前に追加

年一回、NICTの門が開かれるんですが、平日にやる年が多いです。今年は運良く土曜日にやっていたので行って参りました。

open-house2018 | NICT-情報通信研究機構

【講演者略歴】  熊本県生まれ。東京大学工学部卒業後、ボストン本社の戦略コンサルティング会社ベイン&カンパニーで外資系および日系企業の経営コンサルティングに従事。1992年よりアップルコンピュータ社で市場開発やマーケティング本部長職などを歴任。97年に同社を休職し、陸路でヨーロッパに渡り、フランスの INSEAD 、その後スイス国際経営大学院 (IMD) にて MBA を取得。 ...

全てにおいて、全部面白くお話を聞かせて頂きました。
研究者さんと直接話しが出来て楽しいです(素人でもわかるように説明してくださいます)

気になった展示内容

サイバーセキュリティ関係

SeckHack365の紹介

20180630_NICT1.jpg

WarpDrive

Chromeプラグインでタチコマが怪しいサイトを調査してくれる

https://warpdrive-project.jp/

20180630_NICT2.jpg

STARDUST

スーパーすごいハニーポット

20180630_NICT3.jpg

NIRVANA改弐

これが、カッコよくてすごい便利そうでした。

  • 管理下のサーバのパッチ適用具合が一目瞭然
  • 個別にサーバの停止など、運用管理機能がある

20180630_NICT4.jpg

オペレーションルーム

オペレーションルームを見学させてもらいました!
ここで日本へのサイバー攻撃が監視されているんですね~

20180630_NICT5.jpg

ランチ!

社食が頂ける!

20180630_NICT_lunch.jpg

すぐ使えるやつ

以下は、展示されていましたがすぐ使えるやつ(良さそう)

VoiceTra

期待。ちょっと試してみます。

VoiceTraサポートページ - NICT

NICTが提供する音声翻訳アプリ「VoiceTra」のサポートページです。

DISAANA & D-SUMM

地震が起こったらTwitterとかみちゃうけど、コレみたほうがいいかもしれない
デマを検出する仕組みもあるらしい

DISAANA - 対災害SNS情報分析システム【リアルタイム版】

対災害SNS情報分析システムDISAANAは、今現在のTwitterへの投稿をリアルタイムに分析し、エリアを指定するとそこで発生している災害に関する問題・トラブルを自動的に抽出したり、「大雨が降っているのはどこ」といった質問の回答候補をTwitterの投稿から抽出し、リスト形式または地図形式で表示できます。今まさに起きている災害の情報を簡単に入手する事ができます。パソコン、スマートフォン、タ...

D-SUMM 災害状況要約システム リアルタイム版

D-SUMMは、Twitter上の災害情報を分かりやすく整理・要約するシステムです。

WarpDrive

WarpDrive

攻殻機動隊S.A.C.に登場するAI『タチコマ』を電脳空間にリアライズ。Web媒介型攻撃対策用『タチコマ・セキュリティ・エージェント』を無償配布! 1万⼈規模のPCにインストールされたタチコマたちがユーザのWebアクセスを大規模観測。並列化(情報集約、横断分析、新機能展開等)によりタチコマが成長! ...

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

kanata3ヶ月前に追加

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

ZeroWidthSpace

追記:スライド上でTwitterで使えると言っていますが、今やってみたら使えませんでした(不思議な動きをするけど、とりあえずコピペした通りの値にはなっていない)

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

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

とある会員制掲示板からの文書の流出に困った運営者が、 ユニコードの見えない文字「ゼロ幅文字(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 '' の''にはゼロ幅スペース入ってる

ツール作った

ツール作ったのだけど、後述の 「Twitter用 Unicodeゼロ幅スペースぶっ込み用ツール」 の方が使い勝手がよい

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'
'💩'

Twitter用 Unicodeゼロ幅スペースぶっ込みツール に作り直した

前述のツールだとTwitterで使えないことがわかった

調査してTwitter用に良さそうな4種類のゼロ幅スペースを確認する

シェル芸bot氏のことも考慮して、割と真面目に作り直した

Instration

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

$ wget https://raintrees.net/attachments/download/486/zws
$ chmod u+x ./zws

動作環境

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

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

  • CentOS Linux release 7.2.1511 x86_64

Usage

エンコード

実行すると '' が出力されるが間にゼロ幅スペースが詰まっている

./zws unko
'‌⁢‌‌​​‍‍‌‍⁢‍​​‍‍‌‍‍⁢​​‍‍‌‍⁢⁢​​‍‍'

パイプ経由でもできる

echo "unko"|./zws
'‌⁢‌‌​​‍‍‌‍⁢‍​​‍‍‌‍‍⁢​​‍‍‌‍⁢⁢​​‍‍'

ちなみにゼロ幅スペースはアスキー文字と同等に数えられるらしく、140文字ではなく280文字までいけた
エンコードサイズが280文字を超えるとWARNINGを出すようにしている(エンコード自体はする)

./zws aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[WARN] This encoded size over 280 characters. You can not tweet. Now 285 characters.
'‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌‌‍​‌​​‍‍'

シェル芸bot氏はゼロ幅スペースを普通にマルチバイト文字として数える(140文字制限)ので、bot氏に処理をお願いする時は140文字までの制限を意識する必要がございます

ゼロ幅スペースの文字数を数えるには wc -m コマンドで数えることができます

./zws 'I hava an apple'|wc -m
67

この短めの文で67文字も使うのでTwitterにはあまり長い文字列が仕込めません

デコード

base64コマンドっぽいインタフェースにした
ゼロ幅スペース以外の文字があっても、そこは無視してデコードする

./zws -d 'this is a pen‌⁢‌‌​​‍‍‌‍⁢‍​​‍‍‌‍‍⁢​​‍‍‌‍⁢⁢​​‍‍'
unko

もちろんパイプ経由でもいける

echo '‌⁢‌‌​​‍‍‌‍⁢‍​​‍‍‌‍‍⁢​​‍‍‌‍⁢⁢​​‍‍'|./zws -d
unko

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

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

./zws -d 'echo unko⁢‍‌⁢‍‍‌⁢‍​​‌⁢‍​⁢‍​​‌‍‍‌⁢⁢‍​⁢‍​​‌‍‌‍‌​​‍‍'
私です

裏手順を隠しておく

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

呪いを込めておく

./zws -d 'Start.sh #アプリ起動⁢‍‌‌‍⁢‍​‍⁢​​⁢‍​⁢‍​​‍‍​‍‍⁢‍​⁢‍​​‌‍‌⁢⁢⁢‍​⁢‍​​‌‍​‌​​​‍‍'
帰りたい

暗号的やり取り

実はTwitterはゼロ幅スペースが使えます

他のSNSでも使えそう(未確認)

./zws -d '草⁢‍‌⁢‍​‍‌‍⁢‍‌⁢‍‌‌‍‍​⁢‍⁢​‍⁢‍​⁢‍​​‌‍‍​​⁢‍​⁢‍​​‌‍‌⁢‍​​‍‍'
特売だぞ

難読化シェル芸

echoと見せかけたdateの実行

echo 'echo unko‌‍‌​‌‍​‌‌⁢‌​‌‍‌‌​​‍‍'|./zws -d|bash
2018716日 月曜日 10:26:37 JST

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

kanata3ヶ月前に追加

技術書典4

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

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

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

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

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

戦利品

20180422_techbookfest4.jpg

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

待ち時間対策

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

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

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

kanata3ヶ月前に追加

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 に参加させて頂きました!

kanata3ヶ月前に追加

濱せっく 出張版 #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勉強会とシェル芸勉強会に参加させて頂きました!

kanata4ヶ月前に追加

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 を天井に設置する

kanata4ヶ月前に追加

動機

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

前提

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

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

必要な物の購入

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の混沌とした名称の整理

kanata5ヶ月前に追加

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 に参加させて頂きました!

kanata5ヶ月前に追加

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

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

trmrさんの暗号の話

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

基本的には

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

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

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

CTFerのランク

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

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

eshihoさんの暗号の話

しほプロの暗号のお話

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

暗号ガチ勢怖い

頂きました

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

1 2 3 ... 12 (1-10/112)

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

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