close

現場(環境): CentOS 6.8 套件:mysql-server httpd kippo-graph

 


 

接續昨天IT專題-honeypots建置(kippo上篇)



 

昨天我們最後的時候是將整個kippo服務先關起來,

 

因為今天我們啟動時要一併將日誌資訊寫進資料庫當中。

 


 

Step 11. 安裝資料庫

 

這邊還是使用mysql 資料庫。

 

#yum install mysql-server mysql

 

#service mysqld restart

 

#chkconfig mysqld on

 

 


 

Step 12. 設定資料庫連線

 

設定root登入密碼 (第一次登入是沒有密碼的)

 

#mysql -u root -p

 

mysql> set password for 'root'@'localhost' = password('你的root密碼');

 

Query OK, 0 rows affected (0.00 sec)

 

 

建立kippo這個帳號

 

mysql> create user 'kippo'@'localhost' identified by 'kippo密碼';

 

Query OK, 0 rows affected (0.00 sec)

 

 

建立kippo 資料庫

 

mysql> create database kippo;

 

Query OK, 1 row affected (0.00 sec)

 

 

賦與kippo這個帳號在localhost這端,可以完整存取kippo資料庫的權限。

 

mysql> grant all on kippo.* to 'kippo'@'localhost' identified by '你的kippo密碼';

 

Query OK, 0 rows affected (0.00 sec)

 

如果你要用資料庫管理工具連結,這邊就要加一筆,

 

localhost改成你的IP address

 

mysql> grant all on kippo.* to 'kippo'@'你的IP address’ identified by '你的kippo密碼';

 

Query OK, 0 rows affected (0.00 sec)

 

最後更新一下權限就好了

 

mysql> flush privileges;

 

Query OK, 0 rows affected (0.00 sec)

 


 

Step 13. kippo 設計好的資料庫內容匯入mysql

 

#mysql -u kippo -p -Dkippo < /home/kippo/kippo/doc/sql/mysql.sql

 

之後連進資料庫先看一下database內的表示否都創建好了。

 

mysql> show tables

-> ;

+-----------------+

| Tables_in_kippo |

+-----------------+

| auth |

| clients |

| downloads |

| input |

| sensors |

| sessions |

| ttylog |

+-----------------+

7 rows in set (0.00 sec)

 


 

 

Step 14. 修改kippo的設定檔,加入資料庫連線功能。

 

#vim /home/kippo/kippo/kippo.cfg

 

找到被註解掉的設定檔,將註解去掉。

 

然後依照自己的狀況進行設定的修改。

 

#!##################

 

[database_mysql]

host = localhost

database = kippo

username = kippo

password = 你的密碼

port = 3306

 

#!###################

 

到這邊其實就可以把別人連線的LOG紀錄寫一份到資料庫了,

 

雖然寫在資料庫內很好量化,但你也得有相對應的工具才行。

 

這邊我們可以用kippo-graph來將資料庫內的資料,

 

經過彙整後呈現在web頁面上。

 


 

Step 15. 安裝 python-mysql 套件

 

#yum -y install python-devel mysql-devel

 

這邊我的Mysql-python是另外安裝的,並非使用yum

 

因為之前用yum安裝出來好像有問題產生,所以參照網址內的作法。

 

#wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz --no-check-certificate

#tar -zxvf setuptools-0.6c11.tar.gz

#cd setuptools-0.6c11

#python setup.py install

#wget https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip --no-check-certificate

#unzip MySQL-python-1.2.5.zip

#cd MySQL-python

編譯安裝前修改Mysql-python內的設定檔,

 

因為預設的路徑與我們現行環境的路徑不符合。

 

找到這一行,修改成下面的樣子

 

#!##########

 

#mysql_config = /usr/local/bin/mysql_config

mysql_config = /usr/lib64/mysql/mysql_config

 

#!##########

 

 

之後就可以安裝了。

 

python setup.py install

 

到這邊資料庫的處理算是告一個段落。

 


 

Step 16. 安裝WEB介面。

 

#yum install httpd php php-mysql php-gd php-curl

 

這邊的web介面(kippo-graph 我還是安裝12 版的。

 

雖然現在最新有到1.5.1版本,但該版本就是沒有辦法把資料呈獻出來,

 

所以還是先已1.2版本為主。

 

#wget http://bruteforce.gr/wp-content/uploads/kippo-graph-1.2.tar.gz

#tar -zxf kippo-graph-1.2.tar.gz

#mv kippo-graph-1.2 /var/www/html/kippo

#cd /var/www/html/kippo

#cp config.php.dist config.php

 

修改config.php內容,主要是針對資料庫連線做修正。

 

#!############

define('DIR_ROOT', '你放kippo-graph 的路徑');

 

define('DB_HOST', 'localhost');

 

define('DB_USER', 'kippo');

 

define('DB_PASS', '你的密碼');

 

define('DB_NAME', 'kippo');

 

define('DB_PORT', '3306');

 

#!############

 

 

再來有一件事情要注意,因為kippo-graphs會生成資料,

 

他要放置在kippo graph放置路徑」/generated-graphs/ 下面,

 

所以我們要給他權限。

 

#chmod 777 /var/www/html/kippo/generated-graphs/

 

接著就是重啟httpd服務,我們就可以看到web端的介面了。

 

#service httpd restart

 

#chkconfig httpd on

 


 

Step 17. 透過瀏覽器連線到kippo graph

 

像這次專案的範本,要連線的網址是:

 

http://[kippo主機IP]/kippo

 

我們一開始都會看到這個頁面。

 

 

 

WEB上有很多頁籤可以選擇,當你的kippo有被人連線時,

 

 

你的資料庫內會有詳細的紀錄,而這些紀錄就會被kippo graph呈獻出來。

 

可以看到那時有被連線

 

 

可以線上讓你回放偷連進你伺服器的人做了什麼

 

 

 

 

這個WEB介面上還可以讓你查詢攻擊者的IP來自於哪裡。

 

 

WEB端的功能非常的多,大家可以建立起來玩玩。

 

我們再回過頭去看資料庫的內容:

 

我們可以透過input這張表紀錄,使用者登入後下了什麼指令。

 

mysql > select * from input;

 

 

mysql > select * from sessions;

 

這邊可以從sessions看到攻擊者的IP位址

 

 

當然kippo 還有很多很有趣的功能,後面在讓大家自己體驗看看。

 


 

後記:

 

在我們將mysql的設定寫入kippo設定檔後後,

 

Twisted 就會正式的把日誌寫一份到資料庫當中,

 

而要怎麼知道資料庫到底有沒有在kippo運作時被使用呢?

 

其實在你開啟服務的時候你就會發現了,

 

因為開啟時的訊息與已沒有加入資料庫時,是不一樣的。

 

可以看到 Loading dblog engine: mysql 的訊息。

 

 

補充(2018/03/06)

 

有一件很重要的事情。

 

我們已經建立了Kippo-Graph了,

 

這樣還只看報表就太可惜了。

 

我們要再做一件事情,就是設定排程

 

透過kippo-graph中的kippo-graph.php,

 

可以幫我們把報表變成圖片。

 

#cd /var/www/html/kippo-1.2

 

#php kippo-graph.php

 

而顯示出來的圖片檔會置放於下列路徑

 

/var/www/html/kippo-1.2/generated-graphs

 

 

這時候我們回WEB端看。就可以看到圖片的顯示。

 

 

這件事情。應該要每個小時都讓kippo-graph.php檔執行一次,

 

所以我們將其寫入crontab當中。

 

#crontab -e

 

#!############

#因為算是頻繁的執行,

#所以不要將他的LOG寫入,而是直接丟棄(/dev/null 2>&1)

 

0 * * * * /usr/bin/php /var/www/html/kippo-1.2/kippo-graph.php > /dev/null 2>&1
 

#!############

 

如此就會每個小時都更新圖檔。

 

 

(本篇完)

 

 

 

參考網址:

 

http://vinc.top/2016/06/29/centos%E4%B8%8B%E5%AE%89%E8%A3%85%E8%BF%87%E7%A8%8Bssh%E8%9C%9C%E7%BD%90kippo/

 

https://secvul.com/topics/484.html

 

 

arrow
arrow
    全站熱搜

    IT001 發表在 痞客邦 留言(0) 人氣()