sqlmapを使うための環境整備

sqlmapとは、オープンソースで開発されている SQL インジェクションの脆弱性診断ツール。

これを使うために、CentOS5.5とかFedora10とか比較的古いlinuxまわりで環境整備しようとしたが、最終的にpythonのバージョンが古くて使えないという壁にぶつかったため、まっさらなCentOS6.2_LAMP_x86_64から入れてみたら動くようになったので、その備忘録。

64bitのサーバなんて初めてだったけど。。。
まずユーザ追加
# useradd sqlmap
# passwd sqlmap

 

■ファイアフォール設定

内部から行ったアクセスに対する外部からの返答アクセスを許可
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

自ホストからのアクセスをすべて許可
iptables -A INPUT -i lo -j ACCEPT

ssh許可
iptables -A INPUT -p tcp –dport 22 -j ACCEPT

その他のアクセス、転送をすべて拒否
iptables -P INPUT DROP
iptables -P FORWARD DROP

確認
# iptables -nL

保存
# /etc/init.d/rc.d/iptables save

■SSH設定
RootでのSSHログイン禁止
# echo “PermitRootLogin no” >> /etc/ssh/sshd_config

再起動
/etc/init.d/rc.d/sshd restart

■リモート接続

SSHクライアントに「未サポートのエスケープシーケンスを見つけました。 ESC [?1034h」と言われたら、ターミナルのエミュレータをxtermからktermに変更してリトライ。

■依存パッケージインストール

yum実行時に「Cannot find a valid baseurl for repo: base」と出てmirrorlist.centos.orgに接続できない時

# vi /etc/yum.repos.d/CentOS-Base.repo

すべてのmirrorlist=の行をコメントアウトし、baseurlにrikenのURLを指定
——————————-
[base]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/

[updates]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra

baseurl=http://ftp.riken.jp/Linux/centos/$releasever/updates/$basearch/

[extras]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra

baseurl=http://ftp.riken.jp/Linux/centos/$releasever/extras/$basearch/

[centosplus]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra

baseurl=http://ftp.riken.jp/Linux/centos/$releasever/centosplus/$basearch/

[contrib]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra

baseurl=http://ftp.riken.jp/Linux/centos/$releasever/contrib/$basearch/
——————————-

libcurlをインストール

# yum install -y curl-devel
wget が入っていないと思われるのでインストール

# yum install -y wget

■Gitをインストール

# cd /usr/local/src
# wget https://git-core.googlecode.com/files/git-1.9.0.tar.gz
# tar zxvf git-1.9.0.tar.gz
# rm git-1.9.0.tar.gz
# cd git-1.9.0

# ./configure –prefix=/usr/local/

gccがないと言われたらインストール
# yum install -y gcc

# make

「expected specifier-qualifier-list before ‘z_stream」と言われたらzlibインストール
# yum -y install zlib-devel

再度 make

「Can’t locate ExtUtils/MakeMaker.pm in @INC」と言われたら、perl-ExtUtils-MakeMakerをインストール
# yum install -y perl-ExtUtils-MakeMaker

再度 make

「tclsh failed; using unoptimized loading」とでたら、gettextを入れる
# yum install -y gettext

再度 make

今度は通ったっぽい。

# make install

バージョン確認
# git –version
-> git version 1.9.0

OK

ユーザのホームに戻り
$ git clone https://github.com/sqlmapproject/sqlmap.git
$ cd sqlmap

これでひとまず診断の準備完了。

参考サイト)
http://qiita.com/shyamahira/items/9f80d16c3436f9dea753
http://qiita.com/akata/items/57c81ae969255e3c9a70
http://kentai-shiroma.blogspot.jp/2014/10/centos65glibc.html
http://d.hatena.ne.jp/hateka/20110924/1316850271
http://qiita.com/yusukaaay/items/6a39cc2f983cb0319bd1