Cowrie蜜罐部署教程

HubORWC 8年前
   <h2><strong>1.cowrie简介</strong></h2>    <p>它是一个具有中等交互的SSH蜜罐,安装在Linux中,它可以获取攻击者用于暴力破解的字典、输入的命令以及上传或下载的恶意文件。攻击者在上传恶意文件后,执行恶意文件的操作均会失败,所以对蜜罐本身来说比较安全。</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/e1ee2fc572f331b7a0440addfe635ee5.jpg"></p>    <h2>2.cowrie安装部署</h2>    <p>以下步骤均为root权限执行</p>    <p>l 添加非root用户</p>    <pre>  adduser cowrie –p *******(设置密码,一路回车即可)</pre>    <p>l 安装各种python相关包</p>    <pre>  apt-get install python-twistedpython-crypto python-pyasn1 python-gmpy2 python-mysqldb python-zope.interface</pre>    <p>l 安装virtualenv</p>    <pre>  apt-get install virtualenv</pre>    <p>l 下载cowire</p>    <pre>  cd /optgit clone http://github.com/micheloosterhof/cowrie</pre>    <p>l 配置python虚拟环境</p>    <pre>  cd /opt/cowrie-master(cowrie-master就是我cowrie蜜罐的目录,如果目录不一致,重命名即可)virtualenv cowrie-envsource cowrie-env/bin/activate(cowrie-env) $ pip install twistedcryptography pyopenssl gmpy2</pre>    <p>l 改变/opt/cowrie-master的拥有者</p>    <pre>  chown -R cowrie:cowrie /opt/cowrie-master</pre>    <p>l 建立cowrie配置文件</p>    <pre>  cp cowrie.cfg.dist cowrie.cfg</pre>    <p>l 修改日志的umask为0022(默认为0077)</p>    <pre>  cd /opt/cowrie-mastervi start.sh</pre>    <p style="text-align:center"><img src="https://simg.open-open.com/show/f0f9fdd56244f079493bdcfc3f49d114.jpg"></p>    <p>l 修改蜜罐的SSH端口(默认为2222)</p>    <pre>  cd /opt/cowrie-mastervi cowrie.cfg</pre>    <p>将linsten_port改为62223即可(最好大于60000,以防止被nmap默认扫描到)</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/10eacb65655ad1cab71315e018345eb7.jpg"></p>    <p>l 将公网访问服务器22端口的请求做端口转发,转发到蜜罐的端口中</p>    <pre>  iptables -t nat -A PREROUTING -p tcp--dport 22 -j REDIRECT --to-port 62223</pre>    <p>l 将真正的(非蜜罐)SSH管理端口改为65522</p>    <pre>  vi /etc/ssh/sshd_config</pre>    <p>(备注:在第一次改SSH端口时,在前期测试时强烈建议同时保留22与65522,以防止修改保存后出现故障无法连接65522)</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/9ab33b95e69ed4803262fd7b280a4d17.jpg"></p>    <p>此处切换为cowrie用户操作</p>    <p>启动蜜罐</p>    <pre>  cd /opt/cowrie-master./start.sh</pre>    <h2>3. 数据库安装部署</h2>    <p>cowrie中产生的日志杂乱无章,即使放到日志分析工具中也很难制定规则去筛选。然而cowrie具备将攻击IP、时间、历史执行命令等记录直接存在数据库中,下面将说明如何配置数据库。</p>    <p>需要root权限或者sudo</p>    <p>l 安装mysql基础环境</p>    <pre>  apt-get install libmysqlclient-devpython-dev pip install mysql-python apt-get install mysql-server python-mysqldb</pre>    <p style="text-align:center"><img src="https://simg.open-open.com/show/95eae780ccfa8e63fd006549d7657701.jpg"></p>    <p>l 配置数据库与表</p>    <p>使用root用户建立名为cowrie的数据库并将该库中的所有表授权给cowrie</p>    <pre>  mysql -u root -pEnter password: ******* mysql>CREATE DATABASE cowrie;mysql> GRANT ALL ON cowrie.* TOcowrie@localhost IDENTIFIED BY 'your_password';mysql>exit</pre>    <p>此时进入cowrie安装目录中,使用cowrie用户登录数据库,进入cowrie库中,将/opt/cowrie/ doc/sql/mysql.sql作为数据源即可制成多个表。</p>    <pre>  cd /opt/cowrie-master mysql -u cowrie –pEnter password: ******* mysql>USE cowrie;mysql>source ./doc/sql/mysql.sqlmysql>exit</pre>    <p>停止cowrie,修改配置文件中的数据库配置,使配置文件中的密码与cowrie数据库用户密码一致。</p>    <pre>  ./stop.shvi cowrie.cfg</pre>    <p style="text-align:center"><img src="https://simg.open-open.com/show/9cd6e83446a5878e63aea7c3a3ccb6c7.jpg"></p>    <p>保存后退出,并su到cowrie用户重启蜜罐</p>    <pre>  ./start.sh</pre>    <p>cowrie库中的数据表如下:</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/bfc13fee3e3d96175fcbdc8b9ec58c27.jpg"></p>    <h2>4. 配置文件说明</h2>    <p>data/userdb.txt——设置外部连接蜜罐时的密码,可以设置稍微复杂但是在攻击字典里,诱使攻击者进行暴力破解并获取其行为。</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/d5fbe17ac201ba15d12537b678e8ea03.jpg"></p>    <p>log/cowrie.json与 log/cowrie.log——均为日志</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/959bd632dbbebe59a68b5be7ee05356e.jpg"></p>    <p>txtcmds/*——均为假的命令,其实打开就会发现完全就是txt</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/672b7af7adaa2c2d529e943762c7bd68.jpg"></p>    <p>dl/*——攻击者上传的文件均会复制到这里</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/e1d9e0d86b41b91c3325af321476dffc.jpg"></p>    <p>honeyfs/etc/motd——自定义欢迎/警告banner</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/c9aec8a2728fd67bc59055d919daa2d2.jpg"></p>    <h2>5. 阶段成果</h2>    <p>如果想查询蜜罐中是否有攻击者的痕迹,SSH登录服务器后进入数据库,使用cowrie库,查询auth、sessions、input等表即可。</p>    <p>公网恶意IP可以从sessions表中去重获取,算是少量的威胁情报了,部分恶意IP如下。</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/7f3bc003a333d5f116dad2c18fdf6696.jpg"></p>    <p>记录攻击者操作如下:</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/42bf99849ca147fbd70bcf2b3d0c2827.jpg"></p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/fdd06559491b3fa09ce2bf043172e52a.jpg"></p>    <p>由上图可以看到攻击者在暴力破解成功后执行的命令,获取到这些恶意文件后进行分析,其大多数均为用于ddos的恶意程序,例如:</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/87d726c31a42eec4e35f653017fc3aea.jpg"> <img src="https://simg.open-open.com/show/00796899c48a0cf42f127b84e20732bc.jpg"></p>    <p> </p>    <p>来自:http://www.freebuf.com/articles/network/112065.html</p>    <p> </p>