Sh4dow's Blog

活了二十几年,从来没有人给过我一次意外感动或惊喜,也没有人在我生日的时候给过我特别的礼物,生病的时候得到的只是一些不在身边的语言安慰,也不见谁真正的照顾过自己,甚至有的时候自己蒙头睡一觉就好了,也有人喜欢过我,但是从没见谁坚持过。

蜜罐Splunk+Kippo搭建分析(二)

Splunk 的基础介绍有相关的文档:http://www.freebuf.com/articles/database/123006.html

之前的公司的一个小伙伴写的,人很认识好学,可以参考。

0x01用转发器转发数据

服务器:

增加索引:

# ./splunk add index  kippoweb

#splunk remove index 被删除的索引名称   //删除索引


增加监听端口:

# ./splunk enable listen 9998

#./splunk display listen 9998 (关闭)

•splunk disableboot-start  //关闭自启动

•s plunk enableboot-start //开启自启动

•splunk stop  //停止splunk

•rm–rf/opt/splunk   //移除splunk安装目录

客户端:

安装# rpm -ivh  splunkforwarder-6.5.1-f74036626f0c-linux-2.6-x86_64\\(1\).rpm

卸载#rpm包,rmp -e splunkforwarder


修改配置文件添加监控项:

mkdir/opt/splunkforwarder/etc/apps/search/local   创建local目录

新建文件input.conf,明确index,host,sourcetype字段

[monitor:///home/kippo/log/tty/2016*/]           //设置监控/home/kippo/log/tty/2016下的所有2016*开头的目录下的日志,记得“/”符号,可加入多个monitor

index=kippoweb             //设置索引名称为服务端创建的:apachedata

host_segment=3       // 为这三个日志设置主机名称,取名的方式将第三级目录作为名称命令,如:/opt/log/web*  如HOST

disabled=false         //非关闭状态的监控
sourcetype = log4j  该sourcetype 可以不带,可以带log4j

host=192.168.40.139 是来源地址

再使用CLI命令添加转发服务器,转发端口9998

# sudo./splunk add forward-server 192.168.40.137:9998

也可以使用:

#splunk add forward-server 172.25.105.151:9998 -auth"admin:changeme"



使用一句话转发:

#./splunk add monitor/home/sh4dow/xunfeng/web.log  -index  xunfengweb

#查看可用splunk接收器列表

./splunk list forward-server


#splunk list tcp   检测splunk监听端口信息

重启服务器:(可以让接收器运行)

#sudo ./splunk restart

#./splunk list monitor //列出当前的所有监控项

#./splunk remove monitor ‘移除的监控文件路径’ //删除监控项

#./splunk remove forward-server192.168.40.137:9998 //删除forwardserver

进入splunk服务端8000端口:

可查看到数据


可查看其字段信息:

index="kippoweb"host=access_log


搜索404 错误:

index="kippoweb"host=access_log status =404


仪器表:

0X01  统计访问IP top20

index="xunfengweb" OR index="kippoweb" | topclientip limit=20


可视化:


根据host统计:

index="kippo" OR index="xunfengweb"  status=200 |  chart count by host


#sort -clientip, +status, 先基于clientip降序排列之后,再对这个结果基于status升序

如:

index="xunfengweb" OR index="kippoweb" |table _time,clientip,status|sort -clientip,+status


index="xunfengweb" OR index="kippoweb" |stats values(host) as "主机列表"

可对HOST的table进行显示改名


index="kippoweb" OR index="xunfengweb"status=200 |top clientip limit=10

获取前十访问IP


Iplocation 可对IP的来源IP统计

index="kippoweb" OR index="xunfengweb"status=200 | top 10 clientip|iplocation clientip


对关键字预警:

index="kippoweb" OR index="xunfengweb" (select OR sleep OR insert  OR update ORexec OR master OR and OR XSS OR print OR script OR alert OR javascript:alert OR*.zip OR *.RAR )

另一种方法:

index="kippoweb" OR index="xunfengweb"|search "select * from" OR "union select" OR  "sleep" OR "*.zip“  OR ”insert“ OR ”update“ OR ”exec“ OR “master” OR ”and“ OR ”XSS" OR"print" OR "script" OR "alert" OR"javascript:alert" OR "*.zip" OR "*.RAR"  OR “load_file” OR "../../"

特殊符号查询:

|search "select * from" OR "union select"OR  "sleep" OR"*.zip"

所有漏洞检测,加特征。


加入时间预警:

index="kippoweb" OR index="xunfengweb"  |search "select * from" OR"union select" OR "sleep" OR "*.zip“ OR ”insert“  OR ”update“ OR ”exec“OR “master” OR ”and“ OR ”XSS" OR "print" OR "script"OR "alert" OR "javascript:alert" OR "*.zip" OR"*.RAR"  OR “load_file” OR"../../"|  timechart  span=24h count


Span 指定统计时间

浏览器特征统计:

index="kippoweb" OR index="xunfengweb" | topuseragent limit=5

 

加入显示来源IP

index="kippoweb" OR index="xunfengweb" |top10 clientip|iplocation clientip


top 10 clientip|iplocation clientip

 

检测forward_status

| inputlookup dmc_forwarder_assets | search status!="missing"


只显示IP:

index=_internal sourcetype=splunkd group=tcpin_connections  fwdType=* guid=*  | stats values(sourceIp) as "主机列表"


统计所有forward的传输状态

#index=_internal sourcetype=splunkd group=tcpin_connections  fwdType=* guid=* | stats  avg(tcp_KBps) as avg_tcp_kbps ,avg(tcp_eps)as avg_tcp_eps by sourceIp |  renameavg_tcp_kbps as "平均传输速度kb/s"avg_tcp_eps as "平均传输时间数/s"sourceIp as forward_IP

#`dmc_get_forwarder_tcpin` hostname=localhost.localdomain |stats  avg(tcp_KBps) as avg_tcp_kbps,avg(tcp_eps) as avg_tcp_eps by sourceIp | rename avg_tcp_kbps as "平均传输速度kb/s" avg_tcp_eps as "平均传输时间数/s"sourceIp as forward_IP


有一些事件性的东西无法之前增加到仪器表,这时可以通过:


增加事件性

整理完:



修改时区

修改时区

timedatectl set-timezone Asia /Shanghai # 设置系统时区为上海 

ntpdate s2k.time.edu.cn

 

 

 

 

 

端口转发windows:

netsh interface portproxy add v4tov4  listenport=8003 connectaddress=192.168.40.139connectport=80

-----------------------------常用命令

mkdir /foo/splunk/          //创建新的索引目录, 非root用户请更改目录所有者(chown)        

splunk stop  //停止Splunk

cp–rp/opt/splunk/var/lib/splunk/*   /foo/splunk/            //复制原索引目录下的所有文件到新的索引目录

vi /opt/splunk/etc/splunk-launch.conf  //编辑splunk的配置文件

SPLUNK_DB=/foo/splunk     //在该配置文件中设置splunk_db为新的索引路径(将原来注释去掉,然后再修改)

splunk start  //重新启动splunk

•启动:splunkstart

•关闭:splunkstop

•重启:splunkrestart

•查看状态:splunkstatus

•查看版本:splunkversion




0x06  Splunk常用的CLI命令

一、Splunk启动/停止/重启

•启动:splunkstart

•关闭:splunkstop

•重启:splunkrestart

•查看状态:splunkstatus

•查看版本:splunkversion

二、配置端口号(splunkd 管理端口和Web端口)

查看端口:

splunk showsplunkd-port

splunk show web-port

•修改端口:

splunk set splunkd-port

splunk set web-port

三、服务器配置命令

•splunkset servername 新的服务器名称        //设置服务器名称

•splunkset default-hostname 新的主机名称   //设置默认主机名称

•splunkenable web-ssl      //启用SSL

•splunkdisable web-ssl   //关闭SSL

四、修改用户密码

•splunkedit user admin –password ‘newpassword’–authadmin:oldpassword   //修改用户密码

•splunkadd user //新增用户

splunk add user 新的用户名 -password '新用户密码' -full-name '设置它的权限全名' –role User(这个是角色) 



评论

© Sh4dow's Blog | Powered by LOFTER