金融行业资产收集:工具篇

2021年4月27日10:20:08 评论 257

不论是传统金融行业还是互联网金融行业,公司在安全与运维的目标都是一致的,维稳、业务优先、搞钱.......

但不论作为安全人员还是运维人员,首先要做的是全面了解自己所处的网络架构、资产详情、资产脆弱性、映射等信息,传统的做法是将所有信息一一记录,存放于表单中,自从无纸化推行以来,传统表单逐渐演变成电子表单,但都省却不了人工录入的环节,自动化逐渐成为重点。

Github中的opsmanager风靡一时,靠的就是半自动化与无纸化,但是随着我们统计的信息越来越多,并且云环境的推行使得我们不在重点关注机房信息时,opsmanager也在逐渐向云管理平台靠拢,比较出名的有codo,蓝鲸等。

以上平台在Github中都可以搜索得到,在这里不做具体阐述,有兴趣的可以直接在Github浏览。

不管是什么平台,成熟与否,基础就在于资产收集,传统人工录入的方式已经濒临淘汰,而通过nmap等扫描器制作的资产收集平台又会有很多问题,比如nmap在特定环境中搜索的结果并不准确(阿里云centos6扫描不规则网段时扫描不全面,例如172.31.240.0/20,扫描结果仅有240.1-253,253.1-253无法扫描出来),结果乱码(阿里云centos6扫描时存在结果乱码)附上图,并且扫描的执行速度比较慢。

扫描结果乱码这个是什么原因导致的暂时不清楚,也不知道有没有哪位兄弟遇到过我这个问题,总归一句话:Centos6的bug还是多……

1617707455_606c41bf86d7d8294757c.png!small

而masscan虽然扫描速度比较快,但是会过度扫描,即结果不准确,偶尔存在漏扫或者多扫的情况。

基于此类问题,为各位安全或运维从业者推荐一款新出的工具TXPortMap

Github:    https://github.com/4dogs-cn/TXPortMap

工具采用golang编写,在nmap和masscan中寻找到了一个平衡点,继承了masscan的速度与nmap的准确度,同时摒弃了nmap中的bug(通过实测)

在这里提一下,此工具是成熟的安全团队4dogs(四维创智)开发,后续将持续更新,并推出更多开源产品,有兴趣的可以关注。

在安装的时候淌了不少坑,在这里一一为大家解说,由于官方并没有发出搭建文档,所以为了让各位使用的方便,在这里给出一份三方的搭建避坑文档。

一、搭建

由于工具在Github上,这个时段伟大的长城往往不太稳定,能FQ的FQ在这里不多说,不能FQ的可以通过更换域名的方法进行clone:

git clone https://github.com.cnpmjs.org/4dogs-cn/TXPortMap.git

其实就是镜像站,原理不多做阐述。

二、构建

1、由于整体采用golang语言,在这里首先安装golang环境

centos:yum install -y golang

ubuntu:apt-get install golang

关于centos6 yum源的问题,去年年底官方删除了centos6的yum源强推centos7,这个做法也是比较迷,yum不成功的手动更换yum源为腾讯源即可,本文撰写时阿里源已经不好用了。更换方法自行百度,本文不做阐述。

2、切换到下载目录中,查看build文件

1617707546_606c421a003686cf48657.png!small

在这里有几个点需要注意:

1.golang在初始化的时候会调用github的mod包,所以如果你运气不太好并且没有FQ,很大概率会卡死在build环节

2.底部用了upx命令,记得yum安装一下

本人就在第一点坑了半个小时,等的很是辛苦,忘记了Github被墙的问题……

1617707566_606c422e16bf8df4956ca.png!small

意识到这个问题的时候,其实有很多个解决方法,比如FQ。但考虑到适用性,在这里跟大家分享一个golang在构建阶段的小窍门,启用构建代理即可解决这个问题

go env -w GO111MODULE=on

go env -w GOPROXY=https://goproxy.io,direct

1617707573_606c42350b96ed7a0a1e5.png!small

三、使用

整体构建完毕后,使用的说明其实在Github官方已经有了,在这里简单阐述一下:

1.所有选参

英文解释比较到位,这里不一一阐述了,后面会给出使用案例

1617707601_606c425119bb1cb874353.png!small

2.使用

简单分享一个小案例,使用此工具扫描开始分享的bug段:172.31.240.0/20

#扫描网段

/home/logbak/TXPortMap/release/TxPortMap_linux_x64 -i 172.31.240.0/20 -p 22 -o /home/logbak/TXPortMap/release/rst.txt

#数据分类

awk -F " " '{print $3}' /home/logbak/TXPortMap/release/rst.txt |awk -F: '{print $1}' |awk -F[ '{print $2}'> /home/logbak/ip.txt

此段代码先执行扫描任务,将如下结果存储与rst.txt中

1617707620_606c426452127c3897d04.png!small

之后做数据分类,仅存储IP到ip.txt中

1617707629_606c426d7c67d5fb85b1c.png!small

在这里简单介绍一下linux 的 awk用途,awk是将文件中的内容按照过滤条件拆分内容,并将想要取得的内容展示出来,比如此案例,首先按照空格切分,然后取第三类值,即[ip:port],然后按照冒号切分,取[ip,最后把括号舍弃,保留ip存储到ip.txt中。

此间就完成了工具的使用,从速率上来说,使用nmap执行刨除准确率不说,单执行时间大概在5分钟左右(仅探测240.0/24+253.0/24两者累加的时间),TXPortMap的执行时间为20秒左右(240.0/20全段时间),准确率来说,我的详细资产列表为187台,执行结果为188台(多出来一台,后查证是阿里云的bug,一台服务器没有绑定两块网卡,但是两个私网IP都能跳过去,nmap和masscan都没有扫出来,TXPortMap扫出来了,这个也是为什么我肯推荐的原因之一)。

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

https://www.freebuf.com/sectool/269262.html

高性能云服务器2折起

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: