2023年11月28日发(作者:)

KaliLinux渗透基础知识整理(⼀):信息搜集

写在前⾯的废话:最近要给⼀些新⼈做培训,整理些东西,算不上什么太⾼端的内容,只是简单的整理下了,我觉得对于⼩⽩的话

也还算是⼲货。在乌云⽔了⼏年,算不上什么⼤神⽔平,最近⽣活费紧张,现在打算在FreeBuf上混点FB币,补贴开销hhhhh 第⼀次在FB

上发⽂章,⽔平有限,写错的地⽅还望告诉我,⼤⽜勿喷,谢谢

什么是信息收集:

收集渗透⽬标的情报是最重要的阶段。如果收集到有⽤的情报资料的话,可以⼤⼤提⾼对渗透测试的成功性。收集渗透⽬标的情报⼀般是对

⽬标系统的分析,扫描探测,服务查点,扫描对⽅漏洞,查找对⽅系统IP等,有时候渗透测试者也会⽤上社会⼯程学。渗透测试者会尽⼒

搜集⽬标系统的配置与安全防御以及防⽕墙等等。

内容概要

⽹站及服务器信息

搜索引擎

Google Hacking

社交⽹站

第三⽅未公开数据

⽹站及服务器信息:

whois

whois是⽤来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是⼀个⽤来查询域名是否已经被注册,以及注册域名的详细信息

的数据库(如域名所有⼈、域名注册商)。在whois查询中,注册⼈姓名和邮箱信息,通常对于测试个⼈站点⾮常有⽤,因为我们可以通过

搜索引擎,社交⽹络,挖掘出很多域名所有⼈的信息。⽽对于⼩站点⽽⾔,域名所有⼈往往就是管理员。

例如下⾯ whois 查看这个域名的注册信息

DNS服务器查询

除了whois查询之外,我们还可以通过host命令来查询dns服务器,

格式:

host 命令

[-aCdlriTwv]

[-c class]

[-N ndots]

[-t type]

[-W time]

[-R number]

[-m flag]

hostname [server]

查询域名服务器

从图中可以看到有3dns服务器,分别为:

DNS记录类型=>在买了域名后IDC的那个后台⾥,添加解析记录的地⽅就能看到

例如查询A记录,即查IP,如图

域名枚举

在得到主域名信息之后,如果能通过主域名得到所有⼦域名信息,再通过⼦域名查询其对应的主机IP,这样我们能得到⼀个较为完整的信

息。

使⽤fierse⼯具,可以进⾏域名列表查询:fierce -dns domainName

fierse之外,dnsdict6dnsenumdnsmap都可以进⾏域名枚举。

反向地址解析

我们经常使⽤到得DNS服务器⾥⾯有两个区域,即正向查找区域反向查找区域,正向查找区域就是我们通常所说的域名解析,反向查

找区域即是这⾥所说的IP反向解析,它的作⽤就是通过查询IP地址的PTR记录来得到该IP地址指向的域名.

由于在域名系统中,⼀个IP地址可以对应多个域名,因此从IP出发去找域名,理论上应该遍历整个域名树,但这在Internet上是不现实的。为

了完成逆向域名解析,系统提供⼀个特别域,该特别域称为逆向解析域。这样欲解析的IP地址就会被表达成⼀种像域名⼀样的

可显⽰串形式,后缀以逆向解析域域名””结尾。例如⼀个IP地址:222.211.233.244,其逆向域名表达⽅式为:

dig:使⽤dig进⾏反向解析的命令格式为:

dig -x ip @dnsserver # dig 查看反向解析

在线查询也是⼀种办法

想要获得完整的信息,可以多尝试不同的⼯具,整合结果。很多⼯具⽆法做反向查询的原因,在于域名所有者没有添加反向解析记录。

关于DNS区域传送漏洞

区域传送操作指的是⼀台后备服务器使⽤来⾃主服务器的数据刷新⾃⼰的zone数据库。⼀般来说,DNS区域传送操作只在⽹络⾥真的有后

备域名DNS服务器时才有必要执⾏,但许多DNS服务器却被错误地配置成只要有⼈发出请求,就会向对⽅提供⼀个zone数据库的拷贝。当

⼀个单位没有使⽤公⽤/私⽤DNS机制来分割外部公⽤DNS信息和内部私⽤DNS信息的时候,此时内部主机名和IP地址都暴露给了攻击者。

就像是把⼀个单位的内部⽹络完整蓝图或导航图奉送给了别⼈。

详细了解,,感觉这位⼤神写的蛮清楚的,可以参考下

服务指纹识别

很多站点,可能没有⾃定义错误信息。因此在url上随便输⼊⼀个不存在的地址,可能会返回有⽤的信息。

通过上图,我们知道该站点的应⽤程序由PHP编写,Web服务器为Apathe/2.2.22,操作系统为Windows

通过端⼝判断服务

通过扫描服务器开放的端⼝判断服务器上存在的服务,nmap具体使⽤在后⾯会讲到

从图中可以看出该服务器搭建了http(Web)msrpc(⽂件共享)MSSQL数据库等

操作系统指纹识别

识别⽬标主机的操作系统,⾸先,可以帮助我们进⼀步探测操作系统级别的漏洞从⽽可以从这⼀级别进⾏渗透测试。其次,操作系统和建筑

在本系统之上的应⽤⼀般是成套出现的,例如LAMP或者LNMP。操作系统的版本也有助于我们准确定位服务程序或者软件的版本,⽐如⼀

般情况下windows server 2003 搭载的IIS6.0windows server 2008 R2 搭载的是IIS7.5

Banner抓取

banner抓取是应⽤程序指纹识别⽽不是操作系统指纹识别。Banner信息并不是操作系统本⾝的⾏为,是由应⽤程序⾃动返回的,⽐如

apatheexchange。⽽且很多时候并不会直接返回操作系统信息,幸运的话,可能会看到服务程序本⾝的版本信息,并以此进⾏推断。下

图可以看出ftp服务器软件为FileZilla及版本等信息

使⽤Nmap进⾏操作系统探测

使⽤Nmap识别操作系统最简单的⽅法为使⽤-O参数

格式 nmap -O URI,从图中可以看到服务器操作系统为Linux

使⽤p0f进⾏操作系统探测

p0f是⼀款被动探测⼯具,通过分析⽹络数据包来判断操作系统类型。同时p0f在⽹络分析⽅⾯功能强⼤,可以⽤它来分析NAT、负载均衡、

应⽤代理等。下⾯命令的含义为监听⽹卡eth0,并开启混杂模式。这样会监听到每⼀个⽹络连接,部分结果摘录如下:p0f -i eth0 –p

使⽤Xprobe2进⾏操作系统探测

Xprobe2是⼀款使⽤ICMP消息进⾏操作系统探测的软件,探测结果可以和Nmap互为参照。但是该软件⽬前公开版本为2005年的版本,对⽼

的操作系统探测结果较为准确。简单⽤法:xprobe2 -v URI (这个平时⽤⽤我基本也扫不出什么东西233333)

抓取操作系统指纹的⼯具还有很多,如miranda等,不过多举例。

WAF检测

WafW00fPython脚本,⽤于检测⽹络服务是否处于⽹络应⽤防⽕墙保护状态,极其有⽤。使⽤WafW00f检测⽹络服务器和⽹络传输之间是

否存在⽹络应⽤防⽕墙,这不仅可以发展测试战略,⽽且还能开发出绕过⽹络应⽤防⽕墙的⾼级技术。简单⽤法 wafw00f URL

从图中可以看到该⽹站处于Waf保护状态

搜索引擎

Google搜索技术融合了⽤于执⾏Google的详细搜索的⾼级搜索技术。在Google⾸页右下⾓可以点击“Settings”->”Advanced search”进⾏详细

设置

在⾼级设置页⾯可以设置所有字精确的字或短语含以下任何字不含以下任何字数字范围语⾔地区最新更新

站或域名关键字出现位置安全搜索阅读级别⽂件类型使⽤权限等等,更精确的搜索

由于⼀些众所周知的原因,我们在不能欢快滴科学上⽹的时候,会⽤到国内的⼀些搜索引擎。同样也是可以设置的,不过相对⽽⾔没Google

强⼤。

渗透测试中还有⼀些⾮常好⽤的搜索引擎,⽐如shodan()

下⾯是搜索的返回结果

点击第⼀个结果的Details可以查看详细信息,包括地理位置、服务器开放的端⼝等等

除了shodan之外,当然还不得不提知道创宇的钟馗之眼”-> ZoomEye 分分钟吊炸天有⽊有?

推荐余弦的

Google hacking

对于普通的⽤户⽽⾔,Google是⼀个强⼤的搜索引擎;⽽对于⿊客⽽⾔,则可能是⼀款绝佳的⿊客⼯具。正因为google的检索能⼒强⼤,

⿊客可以构造特殊的关键字语法,使⽤Google搜索互联⽹上的相关隐私信息。通过Google,⿊客甚⾄可以在⼏秒种内⿊掉⼀个⽹站。这种

利⽤Google搜索相关信息并进⾏⼊侵的过程就叫做Google Hack 下⾯介绍⼀些常⽤的所谓⾕歌⿊客语法

例如批量查找学校⽹站的后台 输⼊如下关键字

site: intext:管理|后台|登录|⽤户名|密码|验证码|系统|账号|后台管理|后台登录

intext: 把⽹页中的正⽂内容中的某个字符做为搜索条件.

例如在google⾥输⼊:intext:杭电.将返回所有在⽹页正⽂部分包含杭电的⽹页

allintext:使⽤⽅法和intext类似.

intitle: 搜索⽹页标题中是否有我们所要找的字符.

例如搜索:intitle:杭电.将返回所有⽹页标题中包含杭电的⽹页.同理allintitle:也同intitle类似.

cache: 搜索google⾥关于某些内容的缓存,有时候往往能找到⼀些好东西.

define: 搜索某个词的定义,例如搜索:define:杭电,将返回关于杭电的定义.

filetype: 搜索制定类型的⽂件,例如:filetype:doc.将返回所有以doc结尾的⽂件URL.

info: 查找指定站点的⼀些基本信息.

inurl: 搜索我们指定的字符是否存在于URL.

例如输⼊:inurl:admin,将返回N个类似于这样的连接:

常⽤于查找通⽤漏洞、注⼊点、管理员登录的URL

allinurl:也同inurl类似,可指定多个字符.

linkurl: 例如搜索:inurl:可以返回所有和做了链接的URL.

site: 搜索指定域名,site:.将返回所有和有关的URL.

还有⼀些*作符

+ google可能忽略的字列如查询范围

- 把某个字忽略

~ 同意词

. 单⼀的通配符

* 通配符,可代表多个字母

“” 精确查询

实际操作时需根据情况组合使⽤,下⾯列举些常⽤的:

intext:to parent directory

inurl:

intitle:powered by xxx

index of/upload

Filetype:txt

inurl:

index of /passwd

site: filetype:mdb|ini|php|asp|jsp

…. ….

社交⽹站

社交⽹站往往是我们公开信息最多的地⽅,⽐如我们常⽤的QQQQ空间、微信朋友圈、微博等。能获取到的信息可能有姓名、年龄、⽣

⽇、星座、爱好、照⽚、⼈际交往关系、甚⾄邮箱、⼿机、住址、⾝份证等等隐私、敏感信息。还有⼀些招聘求职⽹站也往往是信息泄露最

严重的地⽅。对这些信息加以利⽤,总能得到⼀些惊喜。

⽐如看上⼀个妹⼦,看她空间很朋友圈,基本上都能知道她的⽣活规律就能摸的很清楚,她长什么样,喜欢什么,闺蜜有哪些、平时去哪⾥

玩,有时候还能推算出此时此刻她正在做什么。朋友圈那种输⼊名字算各种的,⼤部分妹⼦都会输⼊⾃⼰的名字⽣⽇等。。

既然有看上的妹⼦,那就花半天时间了解了解妹⼦。。

辅之⼀些必要社⼯⼿段,

最后,最后⼀不⼩⼼就得到:

推荐⼀本书《欺骗的艺术》,在渗透实战中,我们可以通过社会⼯程学的⼿段获取管理员的信息,⽐如QQ号、邮箱、常⽤密码等等。⽐如

可以想办法登录某⽹站域名注册的平台,直接修改域名解析(亲⾝经历),可能能达到瘫痪整个⽹络服务的效果

Maltego社⼯神器:Maltego是⽤来对来⾃互联⽹的信息进⾏收集、组织、可视化的⼯具。 它可以收集某个⼈的在线数据信息包括电⼦邮

件地址、博客、Facebook中的朋友,个⼈爱好、地理位置、⼯作描述,然后可以⼀种更为有⽤、全⾯的形式展现出来。

不过这个对国外的效果可能会好⼀点吧

第三⽅未公开数据

社⼯库是运⽤社会⼯程学进⾏攻击的时候积累的各⽅⾯数据的结构化数据库。这个数据库⾥有⼤量信息,甚⾄可以找到每个⼈的各种⾏为

记录,⽐如酒店开房记录、个⼈⾝份证、姓名和电话号码。

例如查询某QQ号⽼密码。(要爬墙)

QQ号的群关系

某社⼯库⽹站可查询以下数据,

通过这些数据库可能可以查到QQ密码、邮箱密码等等信息,这样在有些时候能帮助猜解管理员相关的信息。第⼀部分就先写到这⾥了,后

⾯还会带来新的内容,敬请关注。

转载⾃: