技術

速習・ペンテスト(Linux BOF)

前回の続き。「Windowsだけではなく、Linux でもやってみよう」 という問題。やり方は、おおむね前回と同様で、しかもうまくいったので、メモは少しだけにする。使ったデバッガは、もちろん異なる。Kali Linux には、edb-debugger という GUI のデバッガが同…

速習・ペンテスト(Windows BOF)

「Lab 内で、VulnServer(実行ファイルは VulnServer.exe)が起動している Windows マシンを攻撃し、バックドアを仕込んでください」 という問題を解いている。CTF の問題ではない。初学者向けの学習用につくられた教材を使っている。このため、VulnServer …

速習・ペンテスト(Netcat)

仕事で「情報セキュリティ」に携わることになって、1 年が経とうとしている。最低限の知識は持っておこうと、少しずつ勉強してきた。今は、ペンテスト(ペネトレーションテスト)に関連する技術を新しくしておこうと、Kali Linux をいじくっている*1。 まず…

安全でないデシリアライゼーション?

安全でないデシリアライゼーション(Insecure Deserialization)? なんと初耳。「OWASP Top 10 - 2017 」で、初めて聞いた。もっと言うと、「OWASP Top 10 2017 日本語版」で、初めて聞いた。しかし、日本語版のリリースは、本当にありがたい。英語には、果…

サイバーセキュリティモニタリング(マルウェア解析編)

「サイバーセキュリティモニタリング(ハニーポット編 2) - あしのあしあと」の続き。 久しぶりに 「サイバーセキュリティモニタリング」。何もしていなかったわけではないが、なかなか書けなかった。 仕事しんどいス。最近の Web アプリケーションに、つい…

最も簡単な逆アセンブル(線形探索)

今日は、線形探索(番兵法)。簡単そうだから。 #include <stdio.h> #include <stdlib.h> int search(int list[], int length, int target) { // 番兵(sentinel) list[length] = target; int i = 0; for (; i < length + 1; i++) { if (list[i] == target) break; } if (i != </stdlib.h></stdio.h>…

最も簡単な逆アセンブル(バブルソート)

だんだん、難易度を上げていく。とはいっても、まだ、基本情報技術者試験レベル(このくらいのレベルだったと思う)。新人のころに、満点がとれるレベルまで勉強したのだが、うそみたいだ*1。 さてさて、まずは、バブルソート(単純交換ソート)のプログラム…

最も簡単な逆アセンブル(再帰)

「最も簡単な逆アセンブル(ヒープ) - あしのあしあと」の続き。今回は、再帰の場合を実験してみる。 題材は、階乗を求める関数 fact。これは、再帰的に、次のように書ける。シンプル。引数のチェックとか、とりあえずなしで。 int fact(int n) { if (n == …

マホ C

と、勝手に呼んでみた。「魔法の C プログラミング演習書」。C 言語初心者の自分には、すごく面白い。よい意味で、懇切丁寧に説明されていない。なので、イヤでも手を動かさなければならない。魔法のCプログラミング演習書- 入門から実践まで -作者: 倉光君…

最も簡単な逆アセンブル(ヒープ)

「最も簡単な逆アセンブル(構造体) - あしのあしあと」の続き。今回は、ヒープ領域を使ってみる。ただ使ってみるだけ。 いつものごとく、すぐに忘れて去ってしまうので、最低限、記録しておく。 #include <stdio.h> #include <stdlib.h> int main(void) { int *a; int na =4; </stdlib.h></stdio.h>…

最も簡単な逆アセンブル(構造体)

「最も簡単な逆アセンブル(ポインタ) - あしのあしあと」の続き。今回は(小さな)構造体を扱ってみる。 typedef struct { int price; int number; int tax; } payment; int totalAmount(payment *p) { return p->price * p->number + p->tax; } int main(…

最も簡単な逆アセンブル(ポインタ)

「最も簡単な逆アセンブル(ループ) - あしのあしあと」の続き。今回は、ポインタを使ってみる。どうなるのかは、容易に想像がつく。 int __cdecl plus(int *a, int *b) { return *a + *b; } int main(void) { int a = 0x07; int b = 0x0A; return plus(&a,…

最も簡単な逆アセンブル(ループ)

「最も簡単な逆アセンブル(分岐) - あしのあしあと」の続き。今回は、ループを入れてみる。 a から b までを足し合わせる sum という関数*1で実験する。 int __cdecl sum(int a, int b) { /* TODO: 引数のチェック */ int sum = 0; int i; for (i = a; i <…

最も簡単な逆アセンブル(分岐)

「最も簡単な逆アセンブル - あしのあしあと」の続き。今回は、分岐を入れてみる。 int __cdecl gt(int a, int b) { if (a >= b) { return a; } else { return b; } } int main(void) { return gt(0x07, 0x0A); } 逆アセンブルして出力されたコードが次。今…

サイバーセキュリティモニタリング(ハニーポット編 2)

「サイバーセキュリティモニタリング(ハニーポット編 1) - あしのあしあと」の続き。3 章の章末問題【2】をやる。「ハニーポット編 2」とは言いながら、この問題は、難読化の解除の問題。まぁよい。まずは、サンプルをとってくる。 https://sites.google.c…

最も簡単な逆アセンブル

なんと、アセンブラが「全く」読めない。基本情報技術者試験の午後は、当然「アセンブラ」を選択し、「はじめて読む Pentium マシン語 - あしのあしあと」でも遊び、他にも色々実験したのに(軽くショック)。 なので、初心にかえって、少しずつ、アセンブラ…

FP 法のイメージをつかむ

ファンクションポイント(以下、FP)法について、なんとなく頭に残っていることをメモしておく。もう、ほっとんど忘れてしまったので、少し復習しながら。 「FP 法」については、聞いたことしかなかった*1し、もはや過去の手法だと思っていた。どんなイメー…

Glastopf が入らない

「サイバーセキュリティモニタリング(環境構築編) - あしのあしあと」の続き。次々に、新たな環境を構築しなければならない。 で、結論から言うと、ハニークライアントである Glastopf が、うまくインストールできなかった。 Glastopf のインストール手順…

はじめて読む Pentium マシン語

入社 2 年目のとき、まだセキュリティをやっていた頃にお世話になった本。本当に基本的な内容*1ではあるが、手を動かす演習が多かった*2こともあり、すごくわかりやすかった記憶がある。これがあったから、Java の仮想マシンの仕組みもよくわかった。 この週…

サイバーセキュリティモニタリング(ハニーポット編 1)

「サイバーセキュリティモニタリング(攻撃と侵入編) - あしのあしあと」の続き。3 章の章末問題【1】をやる。今回も、本編の類題。リハビリにはうってつけ。「今度こそ余裕」と思っていた。確かに、本編のハンズオンは、うまくいった。しかし、章末問題が…

サイバーセキュリティモニタリング(攻撃と侵入編)

「サイバーセキュリティモニタリング(環境構築編) - あしのあしあと」の続き。「2 章は、簡単だ〜!!」と思っていたのだが、殊の外、うまくいかなかった。 まずは、攻撃するホストで、HTTP サーバを起動した。これがワナのサイトになる。ここまでは、よい。…

サイバーセキュリティモニタリング(環境構築編)

仕事で、「セキュリティ」をやることになった。まさか、今になってやることになるとは。。ま、せっかく来たチャンスなので、なんとか結果を残したいところ。 何年もセキュリティから離れていたので(というか、IT から離れていたので)、どうにかして、キャ…

Trac Lightning のテーブルの構造を探ってみた

体調は、まずまず。なんだけど、法律の勉強をする気が起きなかったので、Trac Lightning 3.2.0(Trac のバージョンは 0.12.4)をインストールして、そのテーブルの構造を調べてみた。仕事で Trac の管理まがいのことをやっているから、一度くらいはのぞいて…

(今さら)Trac+SVN

最近、面倒を見始めたシステムを1枚の絵であらわすと、こんな感じ。 こ、これは、、Trac+SVNではないか。アーキテクチャがぜんぜんわからず、苦戦中でござる。

Silk Test と戯れる日々

6月に入ってから、Silk Test(画面操作が必要なテストを自動化するためのツール)をいじっている。ここ2〜3日、ようやく体調が戻ってきたので、けっこう楽しく戯れている。テストコード(以下、スクリプト)を書くのは、なぜか嫌いではない。 あ、Silk Test …

(続)Springのテストで気になること

「Springのテストで気になること - あしのあしあと」の内容は、解決できず。進展があったら、追記しようと思う。 で、テストコードは、いったん、次にした。 package hello; import static org.junit.Assert.*; import org.junit.Test; import org.junit.run…

Springのテストで気になること

Spring Framework上で動くサービスをJUnitでテストすると、自分の意図しない動きをすることがあって、お家で調査。お家だと、Webサイトのアクセス制限とかないし(GitHubとかにもアクセスできるw)、ネットワークの帯域の制限もないし(ダウンロードしほうだ…

CoberturaをAntから起動する

カバレッジの見える化、大事だと思う。なんたって、うっかり八兵衛が必ずあるから。なので、指摘してもらえると本当に助かるし、安心できる。これは、みんなそうなのだろうと思う。 で、ここからは趣味の世界。個人的には、結果が見える化してあると、テスト…

環境が絡む不具合はいつも難しい原因があると思ってしまう

復帰後初めての不具合の原因調査は、JUnitを用いたテストについて。あるプロジェクトで、あるテストクラスが、ある環境で、うまく実行できないとのことだった。状況は、次の通り。 PC上のEclipseからテストを起動すると、テストが実行され、テストの結果が見…

ExcelをCSVにしてからいじる

Excelで作成した表のデータを、けっこう複雑に処理する場合には(特に複数ブック使う場合)、いったんCSVファイルとして保存して、PowerShellでプログラミングすると楽だった、というメモ。自分、マクロとか使えないので。てか、CSVなら、PowerShellでしょう…