カーネルモジュールを作る際の、メモメモ

このサイトのソースコードをとりあえず丸写ししました。 5.1. The /proc File System "/proc/helloworld"を作成し、"cat /proc/helloworld"すると、"HelloWorld"が返ってくるようにしています。 そして、以下の感じでコンパイルしようとすると、 $ gcc -c -W…

実習Linuxカーネルをやってみる

この本をある方から勧められて、実習がてらやっています。 実習Linuxカーネル―理論と実習 カーネルを効率的に理解するための実習書作者: ゲーリーナット,Gary J. Nutt,浜田真理,浜田光之出版社/メーカー: ピアソンエデュケーション発売日: 2001/12メディア: …

ifreq を調べる

ifreqについて、簡単にではありますが調べました。 ifreq とは "/usr/include/net/if.h"に定義されています。 "man netdevice"によると、 Linux supports some standard ioctls to configure network devices.They can be used on any socket's file descrip…

tmux で端末の表示を共有する

目次 tmuxの概要 tmuxで画面共有 tmuxのインストール openssh-serverのインストール 画面共有 参考にしたサイト 1. tmuxの概要 こんな感じのことが出来たり、セッションのattach, dettachが出来たりします。 2. tmuxで画面共有 tmuxで端末の画面を共有します…

3-way-handshake してくれる Bot

BOT 最近、Python使ってなかった、というかプログラミングをしていなかったので、Python で Twitter の Bot を作ってみました。 @3_way_handshake SYN— かしらん、かしらん (@twhs_r) 2014, 8月 2 @twhs_r SYN+ACK— 3-way-handshake BOT (@3_way_handshake) …

最近の出来事

ブログへの投稿が疎かになっていた、ここ最近です。何をしていたのか問われれば、何もしてないと言うのが答えかもしれません。 まぁ、何もしてないだけじゃブログを書く意味も無いので、この2ヶ月で起きたことを羅列しておきます。 まずは6月。 1. セキュリ…

ARP スプーフィングは結局何をしていたのか

以前、ARPスプーフィングの実験 ということで、"arpspoof"というコマンドを使用して、ARPスプーフィングをしたのですが、その時は詳細にパケットを見ていなかったので見てみます。 検証環境 * ゲートウェイ * IPアドレス : 192.168.11.1 * 攻撃者PC * IPアド…

無理やりサーバの応答を偽装する

とても無理矢理にサーバの応答を偽装してみます。...もはや偽装とは言えないかもしれません。かもしれませんが、偽装は悪いことです。 概要 今回は iptables と Scapy を使用して無理やり応答を偽装しました。構成的には下の画像のような感じです。 サーバ側…

多段 SSH をやってみる!

SSH 皆さんご存知、Secure Shell。暗号や認証を駆使して、安全にリモートコンピュータに接続できます。 SSH サーバとしては、OpenSSH などが、 SSH クライアントとしては、 OpenSSH や PuTTY、Tera Term などが代表的です。 多段 SSH セキュリティのため、踏…

「はじめて読む8086」という本を読みました。

最近、Linux カーネルについて勉強してみたいと考えていて、色々なサイトや本を見たりしているのですが、なかなかにハードルが高く、私の前提知識の無さに絶望していました。 自分の知識の少なさに絶望していても仕方ないので、まずは着実にCPU、アセンブラ…

Gollum を Amazon Linux にインストール

gollum というのは github の wikiエンジンだそうです。git ベースなので、DB要らずで簡単にプライベートな wiki を構築出来ます。 インストール 基本的な流れはgollum/gollumに書いて載っている通りです。 まずはじめに、 $ gem install gollum したのです…

C言語φ(..)メモメモ

c言語絶賛忘れ中なのでメモ。 static 関数内で変数に static を付けると、その関数が終了しても消えずに値が残る。 #include <stdio.h> int sum(int a, int b); int main(void) { int i, x, y; x = 1; y = 2; for(i = 0; i < 10; i++) { printf("%d 回目 = %d\n", i, </stdio.h>…

Django φ(..)メモメモ

Django のチュートリアルをやってみたのですが、スムーズに行かなかった点をφ(..)メモメモ。 環境 * python 3.3.2 * django 1.6.2 * mysql 5.5 (Ubuntu 12.04) virtualenv というツールを使って、仮想な Python の環境を作りました。 $ mkdir myapp $ cd mya…

Project Euler に挑戦!!!

Project Euler という、「数学の問題をプログラミングで解こう」という趣旨のサイトがあります。 このサイトの事は、去年セキュリティミニキャンプ in 沖縄に参加した際に同室になった方から教えてもらって知っていたのですが、手を付けないまま月日が流れて…

ロードバランスしたい Part1

最近わけあって、 AWS を使う機会があったのですが、ELB を使ってのロードバランスがあまりにも簡単だったので驚きました。 今回はそんな便利なサービスを使わずにロードバランスしてみようということで、ローカル PC 上で VM を作成し、IPVS + KeepAlived …

Apache の性能を知りたい!

今回、初めて自分のほーむぺーじtwhs.meを作りました。 DigitalOceanというところで VPS を借りて、 apache を立ててほーむぺーじを作ったのですが、私が立てた apache がどの程度の性能か気になります。 (...)、気になります! ということで、調べてみまし…

Heroku で Flask

基本的には、Getting Started with Python on Herokuの通りにやれば出来ます。 ただ、python3 を使いたい場合は、アプリのルートディレクトリに以下のファイルを置く必要があります。 $cat runtime.txt python-3.3.3 Bunko ということで、heroku で flask な…

メモメモ

yum -y install "yum install"してる時に、「インストールしますか?(yes/no)」的なメッセージが表示されることがあります。 そんな時にいちいち、「はいはい、OK 、yes yes」って面倒くさい事をしなくても、"-y"オプションを付けておけば、自動でyesしてくれ…

Vagrant で CentOS

環境 *PC *iMac(OSX10.9) *仮想化ソフト *VirtualBox4.3.6 *Vagrant *1.4.3 Vagrant のインストール Download Vagrantからダウンロード。普通のインストーラになっているので、そのままダブルクリックでインストールしました。 Box の取得 Vagrant では仮想…

Kippo10日目

Kippo を仕掛けて大体 10 日目になったので、データ的なものを載せて起きます。 まだまだデータ的には少ないですが。。 唯一、wget で何か取得していた事があったのですが、中身がわからぬので現在調査中であります。 以上、報告でした。

ARP スプーフィングの実験

目次 *ARP スプーフィングとは *dsniff *検証環境 *検証 *準備 *スプーフィング *まとめ・疑問 *参考にしたページ ARP スプーフィングとは wikipediaによると、 ARPプロトコルの応答を偽装することにより、LAN上で通信機器のなりすましを行なう技法である。 …

Kippo、Kippo

kippo kippo とは、kippoより引用すると、、 Kippo is a medium interaction SSH honeypot designed to log brute force attacks and, most importantly, the entire shell interaction performed by the attacker. 要約すると、ssh ハニーポットということ…

それがぼくには楽しかったから

1991年に、Linux を作り上げたリーナス・トーパルズの自伝的な(?)本。 この日記を書くにあたって、 wikipediaでLinuxについて調べると、1991年にリーナスが作ったということで、意外に最近の出来事で驚きました。僕が生まれる2年前の出来事だったのか。 それ…

ptunnel を使ってみる part2

ptunnel を暗号化 ptuunel を使ってみる part1では、ptunnel を使用して ローカル/リモート間で TCP コネクションを確立しました。 しかし、このままでは ptunnel を使用した通信の内容が平文のため、今回は ptunnel の通信を ssh を使用して暗号化してみた…

ptunnel を使ってみる part1

セキュリティミニキャンプ in 沖縄の実習で使用した ptunnel の復習です。 ptunnel ICMP echo request/reply を使用して、TCPコネクションを確立する奴です。詳細はこの公式ページを御覧ください。 クライアント(ブラウザを想像してください)がプロキシ(ここ…

wgetメモメモ

いろいろと画像を収集したくなったので、 wget を使って見ました。 wget -r -l 2 -A .jpg -D example.com -H -P hoge -w 1 example.com/hoge "-r"で再帰取得を指定し、その階層数を"-l"で指定。 "-D"でドメインを指定し、 "-H"で異なるドメインのリソースも…

ICMP Shell の検証(復習編)

セキュリティミニキャンプ in 沖縄 で ICMP Shell を使った実習があったので復習です。 ICMP Shell とは ICMP を使って、telnet的なことを行おうというもの。 リモートホスト側でデーモンモードの ICMP Shell が動作し、ICMP ヘッダの id がローカルホストと…

好奇心と勇気

...好奇心というのは信用のできない調子のいい友達と同じだよ。君のことを焚きつけるだけ焚きつけて、適当なところですっと消えてしまうことだってある。そうなると、そのあと君はひとりで自分の勇気をかき集めてなんとかやっていかなくちゃならない 以上、…

ping の ICMP パケットを自作する

セキュリティミニキャンプ in 沖縄 に参加してきたので、キャンプ中に時間がなくて出来なかったことを自分でやってみます。 まずは1日目の 講義で出来なかった、 ICMP パケットの作成。 トポロジ 192.168.56.101 ----------- 192.168.56.102 どっちも Virtua…

LFSメモ

気になるコマンド strip mknod chroot mknod 特殊ファイルなどを作成するコマンド。 #書式 mknod [OPTION] <NAME> <TYPE> [MAJOR MINOR] #パーミッション指定 -m <permission> タイプには以下を指定 *ブロック型 +b *キャラクタ型 +c *FIFO(名前付きパイプ) +p strip オブジェクトフ</permission></type></name>…