Nessus のインストール

Nessus のインストール
Hacker Japan (ハッカー ジャパン) 2013年 05月号 [雑誌]
を参考に
BT5R3 へ Nessus のインストール
必要なもの
ネット環境
レジスターコードを受けとるメルアド
これらが用意できているなら
Ctrl + Alt + t で端末を開いて
apt-get update

レポジトリ更新
Screenshot_from_2013-06-10 20:06:10
次に
apt-get install nessus

Nessus のインストール
Screenshot_from_2013-06-10 20:08:33
インストール完了後
– Please run /opt/nessus/sbin/nessus-adduser to add a user
– Register your Nessus scanner at http://www.nessus.org/register/ to obtain
all the newest plugins
– You can start nessusd by typing /etc/init.d/nessusd start
と表示されているので
Screenshot_from_2013-06-10 20:09:58
/opt/nessus/sbin/nessus-adduser
を実行すると
Login
のところにログインユーザを作成して
Login password
にはログインパスワードを入力
今回は、書籍通りに
hjuser をユーザとして
パスワードは任意のものにした
Do you want this user to be a Nessus ‘admin’ user ? (can upload plugins, etc…) (y/n) [n]:
と聞かれるので
y
として Enter
User rules
----------
nessusd has a rules system which allows you to restrict the hosts
that hjuser has the right to test. For instance, you may want
him to be able to scan his own host only.
Please see the nessus-adduser manual for the rules syntax
Enter the rules for this user, and enter a BLANK LINE once you are done :
(the user can have an empty rules set)
とでるので、これも Enter
Screenshot_from_2013-06-10 20:19:54
すると、確認画面がでてくる
Login : hjuser
Password : ***********
This user will have ‘admin’ privileges within the Nessus server
Rules :
Is that ok ? (y/n) [y]
これでよければ
y
を押す
これで、ユーザの追加が完了
続いて、
アクティベーションコードの入力
これには
Applications > BackTrack >
Vulnerability Assessment > Vulnerability Scanners >
Nessus > nessus register
で起動
Screenshot_from_2013-06-10 20:27:19
これで、Activation Code の画面にとべるので
Using Nessus at Home
のほうの
Select をクリック
Screenshot_from_2013-06-10 20:30:29
これで登録画面になるので
First Name
Last Name
Email
を入力し
I agree to the terms of service
にチェックをいれて
Register をクリック
Check to receive updates from Tenable
にチェック入れておくと
Tenable社からの更新を受信するようになる
Screenshot_from_2013-06-10 20:33:17
登録できると
Tenable HomeFeed Activation Code
という件名でメールが届く
登録には Gmail でもOK
メール内の
Your activation code for the Nessus HomeFeed is
の下あたりに
アクティベートコードがあるので
これを使う
コードが入手できたら
次に
端末に戻り
nessus-fetch –register アクティベートコード
を入力
Screenshot_from_2013-06-10 21:20:17
Your activation code has been registered properly – thank you.
Now fetching the newest plugin set from plugins.nessus.org…
となるので少し待つ
Your Nessus installation is now up-to-date.
If auto_update is set to ‘yes’ in nessusd.conf, Nessus will
update the plugins by itself.
とでれば完了
起動するには
/etc/init.d/nessusd start

Nessus を起動できる
ここまでできたら
ブラウザ(firefox )で
https://localhost:8834/flash.html
自己証明書なので警告がでるけど
I Understand the Risks をクリックし
Screenshot_from_2013-06-10 21:31:37
Confirm Security Exception
をクリック
Screenshot_from_2013-06-10 21:31:57
これで Nessus のインストール画面になるので
少し待つ
Screenshot_from_2013-06-10 21:32:36
flash が必要なので画面をクリックすると
Temporarily allow https://localhost:8834/NessusClient.swf
(application/x-shockwave-flash / https://localhost:8834)
とでるので
Screenshot_from_2013-06-10 21:45:12
OK
とすると
Nessus のログイン画面がでる
Screenshot_from_2013-06-10 21:46:39
今回、3つのターゲット仮想サーバーに対して使用するけど
Nessus の書籍もでているので、いずれ購入し実践していく予定

ホストオンリーアダプタ設定

ホストオンリーアダプタ設定
ターゲットサーバーの準備のため
ホストオンリーアダプタにしようとしたら
無効な設定となるため
Screenshot_from_2013-06-09 23:05:36
ホストオンリーアダプタ 無効な設定
で検索
VM作成
https://gist.github.com/jpshadowapps/2328865
によれば
デフォルトだとホストオンリーを割り当てようとすると「無効な設定が見つかりました」となるので、VirtualBoxの<環境設定>–<ネットワーク>で+アイコンのボタンを押下してvboxnet0を追加しておく
とのこと
VirtualBox を起動して
ファイル > 環境設定 > ネットワーク

+マークのアイコンをクリックすると
ホストオンリーネットワークが追加される
Screenshot_from_2013-06-09 23:08:19
これで、無事に
ターゲットサーバーを
ホストオンリーネットワークへ設定しても問題なく
設定できるようになった
Screenshot_from_2013-06-09 23:09:41

VirtualBox へGuest Addition インストール

VirtualBox へGuest Addition インストール
まずは、VirtualBox の BT5R3 を起動
起動したら
端末画面になっているので
root でログインして
デフォルトなら パスワードtoor でログイン
さすがに root のパスワードが toor ではまずいので
passwd
でパスワードをもっと複雑なものに変更する
Screenshot_from_2013-06-09 21:47:55
ログインできたら
startx
とするとGUIが起動する
次に
仮想マシンウインドウのメニューにあるデバイスから
Guest Addition のインストール
を選択して
必要なファイルをダウンロードするか聞かれるので
ダウンロードを選ぶ
ダウンロード完了後マウントするか聞かれるので
マウント
を選択
Screenshot_from_2013-06-09 21:52:01
ダイアログが表示されるのでOK
を選択
Screenshot_from_2013-06-09 21:52:36
このソフトを実行するか聞かれるので
run
を選択
Screenshot_from_2013-06-09 21:53:20
後はインストール完了を待つだけ
Screenshot_from_2013-06-09 21:53:59
完了したら、
Ctri + Alt +t で端末を開いて
shutdown -r now
で再起動
これで
Guest Addition の適用完了

RelativeLayoutのレイアウト属性

RelativeLayoutのレイアウト属性
layout_centerInParent
true/falseを指定
trueなれ中心へ配置
layout_centerHorizontal
trueなら横中心で配置
layout_centerVertical
trueなら縦中心で配置
layout_toLeftOf
指定したidをもつビューの左に配置
layout_toRightOf
指定したidをもつビューの右に配置
layout_above
指定したidをもつビューの上に配置
layout_below
指定したidをもつビューの下へ配置
layout_alignLeft
左端を指定したidをもつビューへあわせる
layout_alignRight
右端を指定したidをもつビューへあわせる
layout_alignTop
上端を指定したidをもつビューへあわせる
layout_alignBottom
下端を指定したidをもつビューへあわせる
layout_alignBaseline
ベースラインを指定したidをもつビューへあわせる
layout_alignParentLeft
trueなら左端を親ビューへあわせる
layout_alignParentRight
trueなら右端を親ビューへあわせる
layout_alignParentTop
trueなら上端を親ビューへあわせる
layout_alignParentBottom
trueなら下端を親ビューへあわせる
次に
marginの指定について
layout_margin
外側、上下左右の余白
layout_marginTop
外側、上の余白
layout_marginLeft
外側、左の余白
layout_marginRight
外側、右の余白
layout_marginBottom
外側、下の余白

ローカルセキュリティ検証環境構築

ローカルセキュリティ検証環境構築
Hacker Japan (ハッカー ジャパン) 2013年 05月号 [雑誌]
を参考に、ローカルセキュリティ実践環境を作成
まず、検証につかうためのOSになる
BT5R3 をダウンロード
ダウンロードするのは
GNOME32bit 版

http://www.backtrack-linux.org/downloads/

からダウンロード可能
次に、検証につかうマシンを構築する
仮想マシン作成ソフトの
VirtualBox を使う
私の場合、ホストOSが Ubuntu なので
Ubuntuソフトウェアセンターから
virtualbox を選んでダウンロード&インストール
必要な環境は揃ったので
ファイルの圧縮と解凍!各種アーカイバを揃えよう!
を参考に、圧縮されている BT5R3 を解凍
sudo apt-get install p7zip-full
で解凍ソフトをインストール
7z x BT5R3-GNOME-VM-32.7z
で解凍
ようやく実験できると思ったら、いろいろとトラブルがおきて手間がかかってしまった
Ubuntu でVirtualBox でインポートしようとしてもうまくいかないので
linux やられサーバー 動かない
で検索して
HackerJapan 2013年5月号のやられサーバー01がMacで起動できなかった話
を参考に、
chmod 755 yarare01/FreeBSD4.0/FreeBSD*
を実行
どうやら
hacker japan の収録を実行するのは
windows で考えられているため
Linux や Mac の場合
付録から起動する場合にはパーミッションを
考える必要がありそうだ

twitter アプリの設定

twitter アプリの設定

#04 アプリの設定をしよう
http://dotinstall.com/lessons/tw_connect_php_v2/21904
を参考に、アプリ設定ファイルを作成

すでにDBの作成は終了しているという前提

最初にDB関連は定数を設定しておく

mkdir /var/www/html/tw_connect_php
でディレクトリを作成

cd /var/www/html/tw_connect_php
で移動して
vim comfig.php
でファイルを開いて

AWS で twitter でログインするWebサービス

AWS で twitter でログインするWebサービス

以前、ローカル開発環境で行おうとしたけど
うまく起動しないため、
AWSで環境を構築してリトライ

https://dev.twitter.com/
へアクセスして

http://dotinstall.com/lessons/tw_connect_php_v2/21902
の動画を参考に再度 twitter アプリの登録

ほとんど前回と同じだけど
一応新規にアプリを作成

ただし、アプリの名前に twitter と入れないこと

website
には、自分のドメイン、もしくはIPでOK
これはローカルのときとおなじ

次に
Callback URL
ここには
http://ドメイン/tw_connect_php/callback.php
というように
なるべくおなじになるように設定

まずは読みのみなので
Read only のままにしておく

次に、AWS側の設定
必要なものとして
codebird.php が必要なので
すでにダウンロード済みのものを scp 公開鍵認証で転送する

scp -i ~/.ssh/公開鍵 codebird.php ユーザ名@IPアドレス:/home/ユーザ名/

codebird.php の入手は
https://github.com/mynetx/codebird-php
から可能

転送完了したら、
必要なDBを作成する
ssh 公開鍵認証でログインし

すでに、以前 MySQL はインストール済みなので
mysql -u root -p
で mysql root パスワードを入力し
DB作成開始

DB作成は
http://dotinstall.com/lessons/tw_connect_php_v2/21903
を参考に行う
とはいっても、違いはパスワードくらいのみ

create database dotinstall_tw_connect_php;
でDB作成して

grant all on dotinstall_tw_connect_php.* to dbuser@localhost identified by ‘ パスワード’
;
でユーザ作成

use dotinstall_tw_connect_php;
で使用するDBを指定

create table users (
id int not null auto_increment primary key,
tw_user_id varchar(30) unique,
tw_screen_name varchar(15),
tw_access_token varchar(255),
tw_access_token_secret varchar(255),
created datetime,
modified datetime
);
でテーブル作成

作成内容は
id int not null auto_increment primary key,
が連番の主キー

tw_user_id varchar(30) unique,
がユーザIDの格納

tw_screen_name varchar(15),
がユーザ名の格納

tw_access_token varchar(255),
がAPIアクセスためのアクセストークン格納

tw_access_token_secret varchar(255),
がAPIアクセスのためのアクセストークンシークレット

シェルスクリプトでのユーザ関数

シェルスクリプトでのユーザ関数
#18 関数を使ってみよう
http://dotinstall.com/lessons/basic_shellscript/10618
を参考に
シェルスクリプトでのユーザ関数について学習
シェルスクリプトでのユーザ関数の作成は
function 関数名(){
行いたい処理
}
そして呼び出すときには
関数名
だけでOK
もし
function hello(){
#行いたい処理
}
なら
関数呼び出しは
hello
となる
実際にやってみると
vim myfunc.sh
内容は
#!/bin/bash
function hello(){
echo “hello shell script”
}
hello
として保存
chmod +x myfunc.sh
,/myfunc.sh
とすると
hello shell script
と表示される
ちなみに、
function は省略可能
シェルスクリプトでの関数の引数は
コマンドと同じように $1 $2 というように引数の数に$をつけて指定する
そして、引数を指定するときには
ユーザ関数の横にスペースで区切って
引数を記述する
例えば
!/bin/bash
function hello(){
echo “friends name $1 $2”
}
hello Mike Tom
これを実行すると
friends name Mike Tom
となる
そして、他のプログラム言語とちがうのが
変数の有効範囲
PHP Java Script C++ などでは
基本的に関数のスコープのそとにかいたものが
グローバル変数
スコープの中に書いたものがローカル変数となる
しかし、シェルスクリプトの場合
ローカル変数であると宣言する
local を変数の前につけないと
グローバル変数扱いになるので注意
まず、local なしの場合
#!/bin/bash
function hello(){
echo “hello shell script”
echo “friends name $1 $2”
i=5
echo $i
}
hello Mike Tom
echo $i
これだと、実行すると
hello shell script
friends name Mike Tom
5
5
となり、$i に関数の外からアクセスできているので
表示されている
次は、local 宣言した場合
#!/bin/bash
function hello(){
echo “hello shell script”
echo “friends name $1 $2”
local i=5
echo $i
}
hello Mike Tom
echo $i
これで実行すると
hello shell script
friends name Mike Tom
5
となり、関数の外からアクセスできなくなっているのが
わかる
ちょっとした違いに見えるけど
間違えると予期せぬ動きに悩まされるので注意

シェルスクリプトでファイルからデータ入力

シェルスクリプトでファイルからデータ入力
#17 ファイルから入力してみよう
http://dotinstall.com/lessons/basic_shellscript/10617
を参考に
ファイルからのデータ入力処理について学習
ユーザ入力でデータ入力するには
read を使う
ファイルから1行ずつ読み込んで実行するには
まず、
vim data.txt
でファイルを作成
内容は適当に
a
aaa
aaaaa
として保存
これを読み込んで表示するスクリプトを作成
vim filerun.sh
として
#!/bin/bash
i=1
while read line
do
echo “$i: $line”
i=`expr $i + 1`
done <$1 として保存し、実行する $1 は引数1という意味なので ./filerun.sh data.txt というように、読み込むファイルを指定する すると 1: a 2: aaa 3: aaaaa という結果になる 処理についてちょっと復習メモ echo "$i: $line" は、 $i=行数:$line=ファイルの内容 というようになる i=`expr $i + 1` これは行数の足し算 `` はバッククオートなので shift + @ なので シングルクオート shift +7 と間違えないように注意 expr は計算するコマンド while ループのなかで $i +1 なので ファイルが読み込み終わるまで足されていく while read line のところは 構文にすると while read 変数 do 行う処理 done < 読み込むファイル となる 変数なので while read thisfile とかみたいに line じゃなくてもOK あと、読み込むファイルは 今回は $1 としているけど done < data.txt としてしまえば、ファイルを直接読み込ませることもできる これについては while 文の使用方法
を参照するとわかりやすい

スクリプトでユーザ入力の受け付け

スクリプトでユーザ入力の受け付け
#16 ユーザーからの入力を受け付けよう
http://dotinstall.com/lessons/basic_shellscript/10616
を参考に、スクリプトでのユーザ入力の受け付けを学習
これにより、スクリプト実行中に
文字入力が可能になる
これには
read
を使う
動画を参考に実践
vim readtest.sh として
中身を
#!/bin/bash
while :
do
echo “文字を入力してください(終わりたいのなら end を入力)”
read key
echo “you pressed $key”
if [ $key = “end” ];then
break
fi
done
として保存
read の前に echo で文字を書いたのは
終わり方を示すのと
read だけだと何も表示されないので
わかりにくいから
while :
なので、無限ループ
終わるためには
if [ $key = “end” ];then
break
fi
の if 文にあるように $key = end となる
つまり end を入力したら終わり
ループ脱出には break を使う
case だと break は ;; だけど 
while の場合ならbreak でOK
chmod +x readterst.sh
./readtest.sh
で実行すると
文字を入力してください(終わりたいのなら end を入力)
start
you pressed start
文字を入力してください(終わりたいのなら end を入力)
next
you pressed next
文字を入力してください(終わりたいのなら end を入力)
end
you pressed end
となる
ユーザ入力により処理分岐というのに使える
とくに case 文とか
また、選択肢でえらばせるには
select を使う
select option in CODE DIE
do
echo “you pressed $option”
break;
done
を追加する
構文は
select 変数 in 選択肢1 選択肢2
do
処理内容
break;
done
となる
オプションをつけて実行すると
文字を入力してください(終わりたいのなら end を入力)
true
you pressed true
文字を入力してください(終わりたいのなら end を入力)
end
you pressed end
1) CODE
2) DIE
#? 3
you pressed
というようになる
オプションをつけた場合、
1) CODE
2) DIE
というように表示される
本来は、なんらかの処理をするけど
今回は
break
となっているので、どの数字、1、2以外でも
入力すると終了するようになる