渗透测试信息收集入门总结
信息收集
主要是收集服务器的配置信息和网站的敏感信息,其中包括域名及子域名信息、目标网站系统,cms指纹、目标网站真实ip、开放的端口。
信息收集工具:
HTTrack:网站复制机
google hacking
The harvester:挖掘并利用邮箱地址
whois
Netcragt
Host工具
Firce和其他从dns中提取信息的工具
从电子邮件服务器中提取信息。
MetaGooFil
ThreatAgent Drone 攻击
社会工程
筛选信息寻找可攻击的目标
利用这些工具,收集与目标有关的信息,越多越好。创建可进行攻击的ip or url列表。
- HTTrack:网站复制机
克隆网站很容易被跟踪,同时也会被视为极具危险性。 - google hacking命令:
site:dsu.edu pat engebrestson #site指定站点。
google不区分大小写
intitle 和 allinitle的区别:一个是需要包含一些关键字,一个是包含全部关键字。
allintile:index of #执行该搜索,就能查看该web服务器上的所有可用的索引目录列表。这通常是侦察信息的宝库。
inurl:admin
cache:syngress.com #使用下面这个搜索命令就会显示快照里的syngress主页。
filetype:pdf #这个指令可以指定搜索特定的文件扩展名。
site:dsu.edu filetype:pptx
开源情报:威慑安全经营的:https://www.exploit-db.com/
- The harvester:挖掘并利用邮箱地址。
- 用法:
theharvester -dsyngress.com -l 10 -b google
-d 参数用来指定目标的域名。-l用来限定搜索结果的数目 -b用来指定搜索的公共知识库bing google PGP LinkedIn 也可以使用-b all
- whois
whois.net基于网页的查询工具 - netcraft
另外一个搜索信息的好去处是netcraft。http://news.netcraft.com - host工具
有时经常会收集到主机名,而不是ip地址。出现这种情况,就需要将ip地址翻译出来。kali内置host这个工具
用法:host target_hostname
host命令也可以反过来用,将IP地址翻译成主机名。
使用-a参数可用显示出详细信息。 - 从dns服务器中提取信息
工具:
NsLookup是检查dns的首选工具。这个工具可用查询dns服务器,并可能获得dns服务器知道的各种主机的记录。
使用man tool_name查看帮助
键入nslookup,进入交互模式。
server target_ip
set type = any 将记录指定为任何类型。也可指定为某种类型。如想要查看目标公司处理电子邮件的邮件服务器ip地址
set type = mx - dig 也是从dns提取信息的利器。
dig @target_ip
区域传输就是从dns服务器提取大量记录的过程。如果目标不区分内网网时,这种情况特别有用
用dig命令进行区域传输时,可用使用-t AXFR参数。 - fierce: 在区域传输失败时该做什么
管理员会避免其他人完成未授权的区域。如果区域传输失败,还有几十种强大的dns查询工具可用,Fierce就是一个易用而强大的perl脚本,能够提供几十种附加目标。
fierce -dns target_url - MetaGooFil也是信息收集过程中可利用的优秀软件。
可用来提取元数据
元数据时关于数据的数据。通常是一些文档之类的描述信息。
用法:
cd /usr/share/metagoofil #进入metagoofil 的目录后,最好新建一个名为files的文件夹,专门用来存放西在的文档,以保持原来目录的整洁。
mkdir files
./metagoofil.py -d syngress.com -t pdf,doc,xls,pptx -n 20 -o files -f results.html
-t参数用来指定metagoofil查找和下载哪些类型的文件。
- ThreatAgent Drone攻击
这是一个网站工具。可以用ThreatAgent搜索。这个网站失效了。
更多优秀信息收集的工具:searchdiggity是一个出色的聚合信息工具。
maltego 也是一款强大的聚合数据库信息工具。在kali中有,需要用google才能收得到验证码。需要多加练习这些工具阿。
扫描
扫描过程分为4个阶段:
2.1:用ping数据包验证系统是否正在运行
2.2:用nmap扫描系统的端口
2.3:用nmap脚本引擎NSE进一步查询目标
2.4:用Nessus扫描系统漏洞。
随着技能的进步,可能直接将2.1和2.2合为一步
在进行信息收集时需要将结果进行记录保存。
NSE是一个极其强大而简单的工具。扩展了nmap的能力和灵活性,可用自定义脚本。
- fping内嵌在kali中
用法:fping -a -g 192.168.1.1/24 > hosts.txt
-a参数表在输出中只显示活动主机。
-g表示想要扫描的ip地址范围 >字符表示将输出结果重定向到文件中。
nmap简介
- 有关nmap进阶,可以参考本人上篇文章。
三次握手:syn -> syn/ack -> ack
- 1.使用nmap进行tcp连接扫描
nmap -sT -p- Pn
192.168.xx.xxx
sT表示只进行tcp连接扫描 -p- 表示扫描所有的端口 -Pn跳过主机发现阶段
在nmap命令中,使用iL path_to_the_text_file参数 将一个文本文件中所有的ip地址逐行填入文件中。 - 2.使用syn扫描
syn扫描是nmap默认的扫描方式 syn只进行了前两次握手,所以速度很快。
-s or -sS - 3.使用nmap进行udp扫描
udp user datagram protocol的缩写,用户数据报协议。
tcp被认为是面向对象的连接,而udp被称为无连接的,直接通信。有些重要的服务使用udp协议,包括dhcp,dns(执行个人查询的协议)snmp,和tftp服务。
-sV 参数用于版本扫描
-sUV - 4.使用nmap执行xmas扫描
xmas扫描和null扫描针对的是运行unix和linux操作系统的计算机。
nmap -sX -p- -Pn target_ip - 5.使用nmap执行null扫描
nmap -sN ... - nmap 脚本引擎:NSE
如果应用得当,NSE可以完成各种任务,包括漏洞扫描,高级网络发现,后门探测。
NSE将脚本分为多个类别。nse 的最新信息可用在http;//nmap.org/nsedoc/上找到
为了调用NSE,我们使用--script参数 后面加上参数或者脚本名。
如:nmap --script vuln 192.168.x.xxx
nmap端口扫描小结:
-T参数可用改变扫描速度的选项。
-O参数可以识别操作系统。
telnet target_ip
漏洞扫描
Nessus漏洞扫描器:教程:https://www.jianshu.com/p/847a28c1fb1a
./etc/init.d/nessusd start or service nessusd start
https://192.168.xx.xx.:8834
OpenVAS开放漏洞扫描系统。
- 下一步:
如何时实践:
隐藏一个IP地址,用脚本程序:IP_Gen.sh 代码在书上p71
掌握了nmap和nessus的基础知识之后,你应该深入挖掘这两个工具更高级的选项。如果你有metasploitable和windows目标虚拟机。一定要对这些目标执行各种脚本,熟悉其输出。