ホーム » T-Saitoh (ページ 63)
「T-Saitoh」カテゴリーアーカイブ
Capture The Flags 講座のアフターケア
子供が Capture The Flags の講座に参加したけど、簡単な説明後いきなりミニCTF大会だったので、さっぱり分からないだろうから、少し解き方の説明。
ドメインの秘密
ドメイン名とは、IPアドレスは覚えられないのでコンピュータにつけた名前。そのドメイン名とIPアドレスのデータベースがDNS。通常は、コンピュータ名からIPアドレスを調べる時に使う。unix や windows で DNS 情報を調べるコマンドが、nslookup。
最新の unix 環境では、nslookup ではなく、dig しか入っていないかもしれない。
その場合は、
$ sudo apt-get install dnsutils
((( 基本的使い方 ))) $ nslookup [オプション] ドメイン名 [DNSサーバ] ((( 問い合わせ例 ))) $ nslookup tsaitoh.net 8.8.8.8 # GoogleのDNSサーバに問い合わせる例(正引き) $ nslookup 64.33.3.150 8.8.8.8 # (逆引き=IPアドレスからドメイン名を調べる) $ nslookup -query=A tsaitoh.net # IPv4アドレスを調べる $ nslookup -query=AAAA www.yahoo.com # IPv6アドレスを調べる $ nslookup -query=MX tsaitoh.net 8.8.8.8 # メールサーバ情報を調べる $ nslookup -query=TXT tsaitoh.net 8.8.8.8 # SPF1というメールサーバの信頼性情報
我が家では、自宅専用のDNSサーバが動いている特殊な事例。インターネットのグローバルアドレス空間でどう見えているかを知りたい場合は、DNSサーバに 8.8.8.8 を使う。Google が、記憶しやすいIPアドレスで誰もが使っていい高速のDNSサーバを提供してくれている。
Webページを見つけろ
サーバとの通信では、IPアドレスで相手のコンピュータを見つけるけど、1台のコンピュータ内で複数のネットワークプログラムが動いていた時、どのプログラムと通信するのか区別する必要がある。そのための情報がポート番号。IPアドレスを電話番号に例えるなら、ポート番号は内線電話番号みたいなもの。
このポート番号は、プログラムによって番号は◯◯を使うべき…という値が決まっている(よく知られたポート番号)。Webサーバ(HTTP)は80番、Webサーバ暗号版(HTTPS)は443番、メールサーバ(SMTP)は25番….。
ポート番号で接続するサービスが決まるけど、学内だけで外に見せたくないWebサーバなどがある場合は、ファイアウォールで特定のポート番号を流通させないようにする場合もある。そういう場合には、通常のポート番号以外を使って通信することがある。
Webサーバに接続する時には、80番を使いたくない場合には、http://コンピュータ名:ポート番号/ と URL にポート番号付きで指定することもできる。
ポートスキャン
このポート番号が解らない時は、ポートスキャンというツールがある。ポート1番で通信してみる、ダメなら2番…という繰り返しをしてくれるツール。一番有名なツールが、nmap。ウィルスなどが仕掛けられて、外部からのネットワーク接続を受ける状態(バックドアが仕掛けられた状態)になったのを見つけるのが本来の使い方。
nmap は通常インストールされない(こんな危ないツール普通はシロートに使わせるものではない)。使いたい場合は、
$ sudo apt-get install nmap
((( 基本的使い方 ))) $ nmap [オプション] 接続先 $ sudo nmap tsaitoh.net # サーバ tsaitoh.net を調べる $ sudo nmap -A tsaitoh.net # ソフトの種類も調べてくれる。
ポート番号が解って、そのサーバソフトに接続してみる場合、telnet がよく使われる。
本来は、ネットワークの先のコンピュータを操作するためのソフト(リモート接続23番ポート)だけど、通信を暗号化しないため、セキュリティ的には危険なので、リモート接続用途で使うことは少ない。
Windowsでは、telnetは初期状態でインストールされない。unix で telnet を使いたい場合は、
$ sudo apt-get install telnet
((( 基本的使い方 ))) $ telnet コンピュータ名 [ポート番号] $ telnet tsaitoh.net 80 # 80番ポート(HTTP)に接続 GET / # トップページのHTMLが帰ってくる。 $ telnet tsaitoh.net 25 # 25番ポート(SMTP)に接続 QUIT # 接続を切る
隠れたデータ
ウィルスなどにコンピュータに感染させる場合、ファイル名などを偽っってあったりするので、ファイルの種別を調べたり、その中の命令を分析する必要がある。その場合によく用いる基本コマンド。
((( 基本的使い方 ))) $ file ファイル名 # 指定したファイルが何か簡単に調べてくれる。 $ file a.out # a.out の中身を調べる $ strings ファイル名 # ファイルの中身の文字として表示できるものを表示する。 $ strings a.out # a.out の中の文字情報を抽出 $ nm ファイル名 # オブジェクトファイルのシンボル(関数名や変数名)を表示 $ nm a.out # stripされたa.outでは抽出できない。
逆アセンブル
実行プログラムがどのような処理をしているのか内容を見たい場合は、逆アセンブル(機械語をアセンブリ言語に変換)する。ただし、一般的な実行プログラムでは、関数番地や変数名番地の情報が消されているので、OS の仕組みの知識が必要。
簡単に解析をするのであれば、objdump などを使うことが多い。ここでは、gdb を紹介する。
gdb(GNU Debugger)は、Cコンパイラ(gcc = GNU C Compiler)のためのデバッガ。linux だとプログラムが異常終了すると、coredump(実行時のメモリ内容を出力する機能) するので、この情報でプログラムの異常処理を探す時に使う。
デバッガは通常はインストールされないよな。
$ sudo apt-get install gdb
((( 基本的使い方 ))) a.out は、何らかのC言語のソースで事前に作っておくこと。 | // helloworld.c | #include <stdio.h> | int main() { | printf( "Hello World¥n" ) ; | return 0 ; | } $ gcc helloworld.c $ gdb a.out (gdb) break main # main にブレークポイントを設置 (gdb) run # プログラムを実行 (gdb) step 10 # 10行分処理を実行 (gdb) disas main # main 以降を逆アセンブル (gdb) quit ((( 異常処理とその場所を見つける ))) 異常終了するプログラムの例 | // segv.c | #include <stdio.h> | int main() { | *((int*)NULL) = 123 ; # 0番地にデータを書き込む | return 0 ; | } $ gcc -g segv.c # コンパイル時に名前情報を実行プログラムに埋め込む。 $ ulimit -c unlimited # coredump 機能を有効にする $ ./a.out Segmentation fault (コアダンプ) $ gdb a.out core # 異常終了した行が表示される
PWなしWiFiとVPNの利用
夏休みの家族旅行でホテル。ただ、最近は減ってるけど、ホテルのWiFiがパスワードなし。こういうWiFiは、通信データが盗聴される可能性がある(参考「ホテルのWiFiの危険性は高い?)」ので、最近は使用を避けたい。
でも、家では以前から VPN サーバを使えるようにしているので、この際、家族にも使い方を説明して積極的に使ってもらおう。サーバ,ユーザID,PW,事前共有キーは、別途メールするとして、設定方法は他の人の解説記事をみてもらおう。
VPN接続だと、セキュリティが安心というのもあるけど、自宅だけに制限している機能(WordPressへの記事の投稿とか、自宅ネットワーク状況の表示など)も使える。
@TohruSaitoh-19/08/17
- 08/17 RT @mineojp: ZenFone Max (M2)販売開始記念!
@mineojp をフォローしてこのツイートをリツイートするだけでASUS 360° Cameraが抽選で1名さまに当たる!
詳細はこちら→ 08/13 暑さを予想して作務衣なんだけど、StarBucks さん、寒い… - 08/12 海くんも大きくなる運命?
https://www.nekobu.com/blog/2016/02/post… https://twitter.com/yamano_rinrin/status…
情報構造論
この記事は@TohruSaitohのつぶやきのまとめです。
@TohruSaitoh-19/08/10
- 08/10 RT @Righteousness03: ※大型トラックが時速43km/hで渋滞の最後尾に突っ込むという実験映像です
わずか43km/hの速度でもトラックに挟まれた乗用車はこうなってしまいます
これがあるから渋滞最後尾でトラックの後ろに付くのは避けるようにしてくださいね!…
- 08/10 RT @MPD_bousai: 熱中症予防対策として、尿の色で脱水状態をチェックする方法を紹介します。カラーチャートを活用して尿の色で脱水レベルを判定し、どの程度、水分補給すれば通常の状態に戻るかを示したものとなります。ぜひ参考にしてください。夏場の災害時にこそ水分補給に気を付…
- 08/03 RT @sawazaki: 1から10まで、なんでも指示してやってくれるリーダーのいる組織よりも、ちょっと頼りないくらいのリーダーの方がメンバーがしっかりと動くのでは?と思う今日このごろ。
- 07/30 Google の 8.8.8.8 のDNS名、http://dns.google/ なんだ。すげー、gTLDで .google 持ってるんだ。知らんかった。
この記事は@TohruSaitohのつぶやきのまとめです。
MapOnDemand2 for TOYOTA
車のナビ NSZT-W66T の地図更新は、スマホ経由で 地図更新を随時行っていたけど、更新時の画面を よく見ると、全国の高速道路情報と、走っている地域の周囲 を更新と書いてある。
2017年度版みたいなので、地図 SD カードを抜いて、 専用の MapOnDemand2 for TOYOTA のパソコンアプリで 更新をかける。
せっかくだし、全国のデータを更新させると、201.8MByte の ダウンロードと出てきたけど、思ったよりダウンロード遅っ。