浅谈简易端口扫描威胁感知系统的设计与实现

2017 年 8 月 17 日 FreeBuf 陆仁甲

*本文原创作者:陆仁甲,本文属FreeBuf原创奖励计划,未经许可禁止转载

一 前言

正所谓善守者不知其所攻,善攻者不知其所守。网络攻防本来就是一场看不见硝烟的对抗。

本人设计的这套端口蜜罐检测程序,是在总结了大量的APT攻击方法和思路之后,结合自己分析和思考,针对当前企业面临的大量黑客攻击,而无法得到有效的预警信息,设计了这个简易版本的蜜罐程序。

二 设计方法和思路

下面结合APT攻击的常见流程来分析端口蜜罐程序设计的方法和思路。

上面这张图片只是列出了常见的三种攻击流程,APT攻击的方法和思路还有很多,如2010年的震网病毒, 近两年被发现的往流行的网络管理客户端xshell,putty,secureCRT等植入后门再从中筛选攻击目标 等等。

在上面的三种APT攻击方法中,第一种方法是最普遍,被黑客使用最多的一种。那我们就针对第一种方法设计相关的防御措施。在网络入侵者使用第一种方法实施入侵时,会用nmap等端口扫描工具扫描子域名开放的端口信息。比如常见的21(ftp), 22(ssh),1433(mssql),3306(mysql),3389(rdp) 等端口。在端口扫描之后黑客会用暴力破解工具进行在线破解,破解失败后会检测常见的web漏洞,比如sql注入,xss,文件上传漏洞等等。

既然端口扫描和在线破解会被黑客广泛使用,那我们就可以开放常见的端口让黑客主动发起网络连接。黑客用端口 扫描工具和暴力破解工具扫描 JIDS监听的端口时,程序会记录黑客 公网IP地址 ,扫描的日期时间,扫描的次数等信息 同时当扫描的次数超过指定的次数时,会发出告警邮件。

三 代码实现部分


上面只是整个程序代码中的核心代码部分。说说代码的实现逻辑;当黑客用nmap扫描端口和使用hydra,ncrack 等若口令在线破解工具时,会发起TCP网络连接请求,只要TCP连接发送过来,这边监听的常见端口如21,22,3306 等就会做相应的响应,把黑客的公网IP 地址,扫描的日期时间 记录下来,记录完成之后就会立即断开,并且每个监听的端口放在单独的一个线程中,互不干扰。

 程序的特点

1 本程序由JAVA 开发实现,可以跨平台部署,既可以在windows系统部署,也可以在linux系统上面部署。

2 监听的端口可以自定义,比如常见的应用层协议端口21(FTP)22(SSH),80(HTTP),443(HTTPS),1433(MSSQL),3306(MYSQL),1521(ORACLE),5432(PostgreSQL),5901(VNC)等。

3 能同时记录多个IP地址的连接请求,比如有100个不同的IP同时扫描开放的端口,这100个IP都会被记录下来。

4 监听的端口有对应的指纹信息,能欺骗黑客用nmap等端口扫描工具的检测。

5 对每个IP扫描的次数自动统计并排序,自动生成威胁感知列表并发送email告警邮件信息。

欺骗nmap 端口指纹扫描工具的效果图如下:

 程序部署环境网络拓扑图

本程序部署在内网的linux 系统中,只能检测到内网的扫描攻击,如果需要检测外网的黑客扫描攻击,需要把监听的端口映射到 域名的公网 IP。这样既能检测到内网扫描 同时也能检测到外网的扫描 

 对业务系统的影响

JIDS只是监听网络端口,当黑客扫描时,会记录黑客的IP地址 和扫描的次数, 记录完成之后,网络连接就会自动断开;部署的系统中并没有部署 安装具体的 应用程序,如M ySql FTP 服务器Redis等应用 综上所述,JIDS可以理解为一套模拟端口蜜罐,现有业务 系统 任何影响。

 检测结果分析

JIDS的检测输出结果包括日志和邮件告警 两种形式 下面JIDS 这个工具运行一段时间后获取的检测结果:

JIDS的日志功能 完整记录所有入侵者的IP地址 日期时间 扫描的端口,如下图(日志  json格式)

邮件告警通过自动发送告警邮件至相关管理人员,告知入侵者统计信息,如扫描时间、IP地址  扫描次数扫描端口 IP地址地域信息 邮件告警样例如下:

总结:

本程序能检测到黑客的端口扫描和若口令破解过程,包括IP地址,日期时间,扫描次数等等,

并能持续运行,直到程序进程结束为止,作为端口扫描威胁感知,这个程序基本上是能胜任的。

但是黑客攻击的方法和思路非常的多,能不能100%的检测到,以及怎样从检测到的结果中筛选出有目的 的APT攻击者,

还是单纯的抓肉鸡者,这是个需要解决的问题。

*本文原创作者:陆仁甲,本文属FreeBuf原创奖励计划,未经许可禁止转载

登录查看更多
1

相关内容

黑客(Hacker,台湾译作「骇客」)广义上指在计算机科学,编程以及设计领域有高度理解力的人。 然而,人们通常对黑客一词的理解都是取其狭义的涵义,即信息安全领域的黑客: 未经许可入侵他人系统并窃取数据信息等的可以视为 黑帽黑客,也可取侩客 cracker 的涵义。
而主要从事安全检测,系统调试,技术研究的安全从业者可称为 白帽黑客
还有一种存在称为「脚本小子」,往往冒充黑客也常被人误认为是「黑客」,其实是利用一些现有的工具或者程序达到入侵或破解等目的,然而其知识储备以及对技术的理解力却完全不符合广义黑客的标准,甚至不及狭义黑客标准。
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
【边缘智能综述论文】A Survey on Edge Intelligence
专知会员服务
120+阅读 · 2020年3月30日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
29+阅读 · 2020年3月5日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
介绍WAF以及过滤机制
黑白之道
22+阅读 · 2019年2月5日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
设计和实现一款轻量级的爬虫框架
架构文摘
13+阅读 · 2018年1月17日
Arxiv
35+阅读 · 2019年11月7日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
Arxiv
12+阅读 · 2019年1月24日
Arxiv
9+阅读 · 2018年3月23日
VIP会员
相关VIP内容
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
【边缘智能综述论文】A Survey on Edge Intelligence
专知会员服务
120+阅读 · 2020年3月30日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
29+阅读 · 2020年3月5日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
相关资讯
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
介绍WAF以及过滤机制
黑白之道
22+阅读 · 2019年2月5日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
设计和实现一款轻量级的爬虫框架
架构文摘
13+阅读 · 2018年1月17日
Top
微信扫码咨询专知VIP会员