• 蜜罐系统捕捉黑客操作


    1:蜜罐概述:
    蜜罐是一种软件应用系统,用来充当入侵诱饵,引诱黑客前来攻击。
    攻击者入侵后,通过监测与分析,就可以知道他是如何入侵的,随时了解针对组织服务器发动的最新的
    攻击和漏洞。
     
    蜜网概述:当多个蜜罐被网络连接在一起时模拟一个大型网络,并利用其中一部分主机吸引黑客入
    侵,通过监测、观察入侵过程,一方面调查入侵者的来源,另一方面考察用于防护的安全措施是否有效。
    这种由多个蜜罐组成的模拟网络就称为蜜网。
     
    怎么吸引: 不做任何防护措施,root 密码是 123456 ,不打补丁。 黑客很容易找到你。放到公网上
     
     
    kippo概述:kippo是一个中等交互的SSH蜜罐,提供了一个可供攻击者操作的shell,攻击者可以通过
    SSH登录蜜罐,并做一些常见的命令操作。
     
    当攻击者拿下一台服务器的权限后,很可能会进行小范围的端口探测或者批量的端口扫描,以便横向扩
    展,获取更多服务器的控制权,因此部署内网SSH蜜罐,把攻击者引诱到蜜罐里来,触发实时告警,即可让安全人员及时知道已经有攻击者渗透内网、知道哪台服务器已被控制、以及攻击者在蜜罐上做了哪些操作
     
     
    下图63服务器是黑客扫出的目标机默认是22端口, 将22端口空出给黑客(因黑客会ssh链接22端口进入服务器) 我们将rinetd重定向服务器到64这台蜜罐服务器,捕捉黑客傻逼操作) , 管理员若要进入服务器ssh另开一个端口6333 , 63这台服务器生成环境无任何影响
    0
     
     
     
    2:蜜罐服务器Kippo安装:
    Kippo基于py 需要安装依赖:
    yum install -y python-twisted* yum -y install python-devel mysql-devel yum install -y python2-paramiko yum -y install epel-release yum -y install python-pip 安装依赖包:pip install -i(-i临时用清华源) https://pypi.tuna.tsinghua.edu.cn/simple twisted==15.2.0 mysql依赖包pip install mysql-py 依赖模块 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pycrypto
     
    因为kippo不能以root运行,新建一个kippo账号
    useradd -d /kippo kippo
    安装kippo
    git clone https://github.com/desaster/kippo.git #下载 把kippo文件夹复制到/kippo 目录下面,并更改这个文件夹的所有者 cp -r kippo/ /kippo/ chown -R kippo:kippo /kippo
    安装maridb
    [root@xuegod64 ~]# yum install mariadb-server mariadb -y [root@xuegod64 ~]# systemctl start mariadb
    创建数据库和账号
    [root@xuegod64 ~]# mysql MariaDB [(none)]> create database kippo; MariaDB [(none)]> GRANT ALL PRIVILEGES ON kippo.* TO kippo@localhost IDENTIFIED BY '123456'; #把所有权限给kippo这个用户
    测试登录
    [root@xuegod64 ~]# mysql -u kippo -p123456
    初始化kippo数据表
    [root@xuegod64 ~]# mysql -ukippo -p -Dkippo < /kippo/kippo/doc/sql/mysql.sql 在/kippo/kippo下面复制配置文件,并修改相应的配置 [root@xuegod64 ~]# cd /kippo/kippo/ [root@xuegod64 ~]# cp kippo.cfg.dist kippo.cfg [root@xuegod64 ~]# vim kippo.cfg 1:set num 2:去掉注释 ctrl+v 进入可视化 向下按t键再回车去掉选中的行注释 改: 163 #[database_mysql] 164 #host = localhost 165 #database = kippo 166 #username = kippo 167 #password = secret 168 #port = 3306 为: [database_mysql] host = localhost database = kippo username = kippo password = 123456 port = 3306
     
    启动kippo
    [root@xuegod64 ~]# su - kippo [kippo@xuegod64 ~]$ cd kippo/ [kippo@xuegod64 kippo]$ ./start.sh
     
    0
     
    3:kippo使用方法
    1. 查看监听的状态是否开启
    查看kippo监听的端口,默认2222端口 [kippo@xuegod64 kippo]$ netstat -antup | grep :22netstat -pantu | grep :22
     
    0
     
    2. kippo默认的账号密码存位置 /kippo/kippo/data/userdb.txt,给傻屌加几个账号
    0
     
    3:蜜罐服务器开启 日志监听 tail -f /kippo/kippo/log/kippo.log
     
    4:用测试黑客机链接 64 服务器 ssh admin@192.168.1.64 2222 (因为访问63 22端口就转发到64的2222端口,测试用2222链接), 上套了 ,很稳
    0
     
    5:播放视频一样监控黑客操作
    记录地址 : kippo/kippo/log/tty/当天日期.log文件
    命令执行地址: /kippo/kippo/utils/playlog.py 当天日期.log文件
     
     
    4:生产机使用 rinetd 将ssh 22端口连接转发给蜜罐服务器
    安装:
    rinetd官网地址:https://boutell.com/rinetd/ rinetd -- internet "redirection server" rinetd——互联网“重定向服务器” 通过官网下载安装包
    目标:当攻击者扫描探测诱捕节点IP的22端口时,把流量转发至蜜罐服务器的kippo程序上。
    在此需要说明的是:我们要把访问诱捕节点的22端口转发过去,且rinetd要转发的源端口不能被本地
    占用,所以需要把诱捕节点服务器的SSH先改为其他端口,22端口预留给转发rinetd使用,流量可以转发到蜜罐
    所在物理机的任意端口,然后通过vmware端口映射把流量最终镜像给蜜罐服务器的2222端口(kippo的
    默认端口是2222)
    修改生产服务器端口
    [root@xuegod63 ~]# vim /etc/ssh/sshd_config 改:17 #Port 22 为:17 Port 31911 #改成不常用的端口 [root@xuegod63 ~]# systemctl restart sshd
     
    部署rinetd (rz上传)
    [root@xuegod63 ~]# tar zxvf rinetd.tar.gz [root@xuegod63 ~]# cd rinetd/ 编译之前有个坑: 这地方有一个坑 :rinetd默认只有在进程被关闭的时候,才会把日志写到rined的日志文件中 (/var/log/rinetd.log),也就是说当rinetd一直在运行的时候,即使有流量被转发了,也无法在日志文 件中看到日志。所以在编译安装rinetd前,我们要先修改它的源代码,增加一个fflush函数强制更新日志, 然后在去编译安装。编辑rinetd.c这个文件,找到修改的位置,按下图添加一行代码。 [root@xuegod63 rinetd]# vim rinetd.c 在1460行后面插入: 1461 fflush(logFile); 创建稍后编译时需要用到的文件夹 [root@xuegod63 rinetd]# mkdir -p /usr/man/man8 修改源代码解决报错的问题。 第一种:报警告: [root@xuegod63 rinetd]# make cc -DLINUX -g -c -o rinetd.o rinetd.c rinetd.c:176:6: 警告:与内建函数‘log’类型冲突 [默认启用] void log(int i, int coSe, int result); ^ cc -DLINUX -g -c -o match.o match.c gcc rinetd.o match.o -o rinetd 解决方法:修改Makefile文件 [root@xuegod63 rinetd]# vim /root/rinetd/Makefile 改: 1 CFLAGS=-DLINUX -g 为: CFLAGS=-DLINUX -g -fno-builtin-log 第二种错误:提示超出系统最大定义端口,修改rinetd.c文件的544和567行,把65536端口改成65535 [root@xuegod63 rinetd]# vim /root/rinetd/rinetd.c 改:544 if ((bindPort == 0) || (bindPort >= 65536)) { 为:544 if ((bindPort == 0) || (bindPort >= 65535)) { 改:567 if ((connectPort == 0) || (connectPort >= 65536)) { 为:567 if ((connectPort == 0) || (connectPort >= 65535)) { 编译&安装 [root@xuegod63 rinetd]# make [root@xuegod63 rinetd]# make install 创建配置文件 [root@xuegod63 rinetd]# vim /etc/rinetd.conf #写入以下内容 192.168.1.63 22 192.168.1.64 2222 logfile /var/log/rinetd.log 注: 诱捕节点IP 22 蜜罐所在物理机的IP 2222 # 源地址 端口 目的地址 端口,如果诱捕节点很多, 可以写很多行配置 logfile /var/log/rinetd.log # 日志文件
     
    开启运行
    rinetd #进入rinetd,运行 netstat -pantu | grep:22 #查看22端口是被谁在用 tcp 0 0 192.168.1.63:22 0.0.0.0:* LISTEN 5340/rinetd
     
    用个测试ssh链接 , 查看是否正常转发(链接断开才会写入日志)
    tail -f /var/log/rinetd.log
     
    0
    5:定义自动触发录屏能录制黑客的一切操作
     
    场景:(与蜜罐机无关,黑客直接上了生产机)当黑客通过某种手段获得服务的账号和密码也登录上到服务上,并做了一些操作,比较挟持了root用户的密码、留下了后门,并把后门程序的进程隐藏了,甚至在你的服务器上挂了马,而后黑客又把所有痕迹都清除了。这时候的你会怎么处理?
    答:script 命令:
    可以完整记录屏幕上输入的命令与输出结果。可录制黑客在你服务上做的一切操作,而我们通过回放就
    可以得知黑客使用了那些命令,隐藏了哪些进程
    完成录屏操作,用到的script 和 scriptreplay两个命令,在 Linux 发行版中都有默认安装。
     
    script -t 2>xuegod.file -a xuegod #录制后随意做点操作,接 下来的任何操作都会被记录 scriptreplay -d 10 (-d 10 10倍播放) xuegod.file xuegod
     
    -q 或 - -quiet 参数可以使script命令以静默模式运行,不显示script启动和exit的命令的输出信息,
    黑客可以完全察觉不到在录屏。
     
    自动触发监控,黑客登陆的操作与实时监控
    思路:用户登录到系统后,自动触发 script 录屏,并记录登录时间、登录的用户。
    这个时候就只要让 script 命令在登录时自动运行,我们可以把它添加进 shell 环境配置文件中。
     
    创建一个目录用于存放录制后的文件,这里我故意伪装为 dhcpd,让黑客不容易察觉到
    [root@xuegod63 ~]# mkdir -p /etc/dhcpd/
     
    [root@xuegod63 ~]# vim /etc/profile #在中间处找个位置写入以下内容 script -t -f -q 2>/etc/dhcpd/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /etc/dhcpd/$USER-$UID-`date +%Y%m%d%H%M%S`.his if [ "$SHLVL" = 1 ]; then exit fi
     
    黑客机直接访问生成机 , 则一些操作记录在/etc/dhcpd/目录下
    播放黑客所操作的 scriptreplay -d 10 (-d 10 10倍播放) 文件名
  • 相关阅读:
    Python之禅
    浅析css布局模型1
    原型与继承学习笔记4
    原型与继承学习笔记3
    原型与继承学习笔记1
    javascript-this,call,apply,bind简述3
    javascript-this,call,apply,bind简述2
    javascript-this,call,apply,bind简述1
    javascript数组浅谈3
    javascript数组浅谈2
  • 原文地址:https://www.cnblogs.com/sulongniao/p/14024501.html
Copyright © 2020-2023  润新知