引言
根据苑房弘老师讲的安全牛KALI渗透过程总结
FANGHONG.YUAN@163.COM
被动信息收集
-
概念
基于公开渠道,非机密信息,搜索目标系统相关信息,不直接进行接触访问
所有的收集过程都是被视为正常行为,没有大量扫描
OSINT(开源智能opensourceintelligence)
美国军方开源智能[](http://www.fas.org/irp/doddir/army/atp2-22-9.pdf)
北大西洋公约组织[](http://information-retrieval.info/docs/NATO-OSINT.html)
主要内容
- IP地址段
- 域名信息
- 邮件地址
-
文档图片数据
主要指内部图片文件,透漏内部信息
-
公司地址
无线网络,物理渗透
-
公司组织架构
针对不同部门不同社会工程学
- 联系电话/传真号码
- 人员姓名/职务
-
目标系统使用的技术架构
搜索引擎发现,历史信息发现
-
公开的商业信息
公司之间的设备交互,可以从侧面攻击
信息用途
-
用信息描述目标
怎样的公司,怎样的运作
- 发现服务和系统
- 社会工程学攻击
- 物理缺口
信息收集-DNS
DNS概念
-
域名解析成为IP地址
sina.com是域名,www.sina.com是FQDN(完全限定域名)
-
域名记录
NS
:域名服务器地址MX
:邮件交换记录ptr
:IP地址解析为域名\另外一个域名A
cname
:主机名解析为IP -
DNS解析过程
本地DNS缓存>hosts>本地DNS服务器>根域服务器
本地到DNS服务器是
递归查询
DNS到根域是迭代查询
从.域(根域)到com域,逐级往下递归查询到目标域名
DNS信息收集–NSLOOKUP
-
概念
跨平台工具
使用方法
-
nslookup不带参数
输入网址直接回显解析结果,如果没有直接显示IP,而是显示了另一个域名,那就说明这是一个
CNAME记录
,我们就要对后面的域名继续进行nslookup不过nslookup已经代替我们做了这些过程,在address项显示最后的IP
-
type
- 设定查询指定类型记录
-
set type=xxx
或者set q=xxx
eg:set type=mx 显示邮箱交换记录,查到三条记录,最小权重先发邮件
eg:set type=ns 显示域名服务器地址 >sina.com
eg:set q=ptr 显示ip对应的主机
但是一个域名可以一对多主机名和CNAME,可能不准
-
server
-
指定不同的域名服务器,对同一域名进行解析会不一样
-
多数网站会使用智能DNS,CDN?优化互联网流量
-
-
any
set q=any
目标域名的所有记录都会被解析出来
-
nslookup xxx.xx.com -type=any
DNS信息收集–DIG
-
概念
很多方面和nslookup很相似,但功能更强大
使用方法
-
dig xxx.xxx.com any @ 8.8.8.8
不用加-type参数 用@指定域名服务器 不使用域名服务器就会使用本机默认域名服务器
建议信息收集多使用不同的域名服务器
-
+noall +answer
dig可以附加参数 不显示任何回显、只看answer
-
IP地址反查
-x
参数dig -x 220.181.14.157
-
查DNS服务器bind版本
-
linux下提供dns服务的通常都是基于bind软件包
-
查到一个域名的所有主机信息DNS记录都查到
攻破
它的DNS服务器
,就知道所有的DNS记录,就知道所有的主机名 -
bind版本
有助于漏洞发现,攻击DNS服务器 -
dig +noall +answer txt chaos VERSION.BIND @ns3.dnsv4.com
+answer 每个回显都会有自己的类
IN
,internet类,而bind是属于chaos
类bind信息对于dns使用者来说没有太大用处,所以维护DNS服务的时候建议去掉这种信息,防止为黑客留下可乘之机
-
-
DNS记录追踪trace
-
DNS服务器选择
不能将本地DNS服务器配置为sina的DNS服务器,因为这样做只能解析sina下的其他服务器,而不能解析除此之外的其他服务器
-
DNS迭代查询,trace将每一层查询都记录
通过查看trace记录可以了解DNS服务器查询路径,辨别DNS服务器是否被劫持
dig +trace example.com
-
-
DNS区域传输
存在于DNS服务器之间的记录,同步到所有的DNS服务器,利用区域传输配置错误得到所有解析记录
-
dig @ns1.example.com example.com axfr
查看sina.com的所有记录 -
host -T -l sina.com 8.8.8.8
-l 就是进行axfr全区域传输
-
DNS
53
端口UDP使用53端口用来查询 TCP用53端口用来同步数据
-
man
命令manu 缩写 其实是使用手册,man host会显示该命令的详细使用方法
-
info
命令也是帮助型手册
-
DNS信息收集–DNS字典爆破
熟练掌握一个就可以了,字典越全越好
fierce
-
用法
fierce -dnsserver 8.8.8.8 -dns sina.com.cn -wordlist a.txt
dnsdict6
-
用法
dnsdict6 -d4 -t 16 -x sina.com
dnsenum
-
用法
dnsenum -f dnsbig.txt -dnsserver 8.8.8.8 sina.com -o sina.xml
dnsmap
-
用法
dnsmap sina.com -w dns.txt
dnsrecon
-
用法
dnsrecon -d sina.com --lifetime 10 -t brt -D dnsbig.txt
dnsrecon -t std -d sina.com
DNS信息收集–DNS注册信息
whois
了解域名注册的信息,注册者,更新时间,注册邮箱等
信息收集-搜索引擎
搜索引擎在对网站进行不断地爬取,所以可以找到很多有用的信息
搜索引擎一般都有保护机制,如果搜索次数过多就会触发策略,输验证码进行人机识别
搜索引擎–SHODAN
只爬取互联网上的各种设备,联网设备,收集baner信息,对设备系统进行识别
-
常见filter:
-
net:8.8.8.8
查找对应ip地址x.x.x.0/24
也可以查整个地址段 country:
国家city:
城市port:
端口HTTP/1.1 200
筛选200ok的网站os:windows
筛选操作系统server:
筛选服务器user:admin pass:password
-
-
API调用
- 从SHODAN账号中找到apikey,可以编程直接调用SHODAN的API
搜索引擎–GOOGLE
搜索网页信息网页特征 http://exploit-db.com/google-dorks
- 语法
* 符号
`+支付 -充值`搜索含有*支付*过滤掉有*充值*字样的页面
`"双引号括住搜索内容"`会搜索绝对的字符串
* 语义词
`intitle:关键字`标题搜索关键字
`intext:关键字`正文搜索关键字
`site:关键字`对某个站点进行所有搜索
`inurl:关键字`对url关键字搜索
`filetype:`对文档类型进行搜索
搜索引擎–YANDEX
世界第四大搜索引擎https://www.yandex.com/
可以和GOOGLE交替使用,搜索结果有时更准确
信息收集-工具
工具–the harvester(邮箱挖掘)
-
简要介绍
TheHarvester能够收集电子邮件账号、用户名、主机名和子域名等信息。它通过Google、Bing、PGP、LinkedIn、Baidu、Yandex、People123、Jigsaw、Shodan等公开资源整理收集这些信息。
-
举例
theharvester -d sina.com -l 300 -b google
用google搜索引擎搜索sina.com的信息,返回300条信息 -
注意
theharvester自己没有代理功能,所以使用proxychain来进行代理
工具–metagoofil(文件挖掘)
-
简介
利用python实现的集成于kali的利用google搜索的文件挖掘工具
-
用法
` metagoofil -d microsoft.com -t pdf -l 200 -o test -f 1.html`查询目标域中的指定类型的文件输出200条下载到test目录
工具–Maltego(综合信息收集软件)
https://www.maltego.com/ Maltego详细使用教程
- 简介
kali十大工具之一,有GUI界面,综合性强,所有的信息收集都会自动完成
-
用法
创建账号 先创建新的项目,然后放入已知的信息,然后右键,选相应的功能,就会自动生成对应的拓扑图(关系图)
信息收集-其他途径
其他途径–网站历史
-
概念
有一些网站负责收集互联网上其他网站的信息,每隔一段时间就搜索一下并进行保存,这对于我们回溯收集目标信息有很大的帮助
-
archive.org
https://archive.org/
-
缓存
如果想要浏览的网页被删除,可以尝试在搜索结果点下三角查看搜索引擎对该网页的缓存记录
其他途径–个人专属密码字典
-
简介
将收集到的信息进行集合,为个人定制一个专属密码
-
CUPP--Common User Password Profile
git clone https://github.com/Mebus/cupp.git
python cup.py -i
开始输入目标人物信息
其他途径–METADATA(元数据)
-
简介
相机拍摄图片是会记录照片信息的,默认是打开,通过这种信息能获取到地理位置
这种类型的信息就是
Exif
信息,记录了照片拍摄时候的参数GPS信息,设备信息
-
exiftool
kali自带的图片Exif信息查询exiftool xxx.jpg
-
属性
右键图片看属性也可以
-
Foca
windows下查看元数据工具
信息收集-RECON-NG
https://blog.csdn.net/smli_ng/article/details/105955435
- 简介
`全特性web侦察框架`,具备所有信息收集的特性,由python编写
使用不同的模块实现不同的功能,将查询的结果存在数据库中,然后可以导出为信息收集报告
框架可以被个人不断地细化完善,只是一个标准
-
使用方法
使用不同模块就会直接进入到相应模块下的命令行,返回输入back
两下tab可以查看可用参数
-
参数
选项 描述 add #添加一条记录到数据库 back #返回上一层 del #删除一个记录 exit #退出 help #帮助 keys #调用外部KPI load #加载模块 pdb #python DEBUG query #SQL语句 record #记录命令历史 reload #重新加载所有模块 resource #从执行文件执行命令 search #查找可用模块 set #设置 shell #使用shell环境 show #展示 snapshots #为workplace快照 spool #划分资源池 unset #取消设置 workspace #设定工作区域 use #使用某个模块 -
流程
search xxxx #寻找 use xxxxx #使用 show options #tab tab show info #详细信息 set XXXX xxxxx #设置参数 run #运行
小工具
小工具–TMUX(Terminal MultipleXer)
终端复用器 阮一峰的网络日志 允许一个终端窗口操作多个会话,不用再重复打开新的终端窗口