引言(什么是信息收集)
知彼知己者,百战不殆;不知彼而知己,一胜一负;不知彼,不知己,每战必殆。
《孙子兵法》
情报对战场来说至关重要,往往能够决定战役的胜负;同样对渗透测试来说,掌握更多的信息,就像厨师拥有了更新鲜的、更丰富的食材,才能烹调出美味的食物。
信息搜集简单来说就是利用一些手段或者工具,搜集目标的信息。比如IP信息,端口信息,DNS信息甚至是目标的组织架构,有些目标虽然看似不起眼,但是对渗透是否成功起到关键作用。
渗透测试上信息搜集分为两类:主动信息搜集和被动信息搜集。
被动信息搜集
被动信息收集:不与目标直接交互,通过公开渠道可获得的可用的信息。
信息收集内容:IP地址段 、域名信息 、邮件地址 、文档图片数据 、公司地址 、公司组织架构 、联系电话 / 传真号码 、人员姓名 / 职务 、目标系统使用的技术架构 、公开的商业信息。
常用工具
NSLOOKUP
nslookup命令几乎在所有的PC操作系统上都有安装,用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。信息安全人员,可以通过返回的信息进行信息搜集。
DIG
Dig也是对DNS信息进行搜集的工具,dig 相比nsllooup不光功能更丰富,首先通过默认的上连DNS服务器去查询对应的IP地址,然后再以设置的dnsserver为上连DNS服务器。
Whois
whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。早期的whois查询多以命令列接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询。网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令列接口的工具仍然被系统管理员广泛使用。whois通常使用TCP协议43端口。每个域名/IP的whois信息由对应的管理机构保存。
google hacking
本人写过一篇google hacking的文章,简单来说就是利用搜索引擎的高级语法来入侵的一种技术行为。
SHODAN
公众号里也有一篇介绍shodan的文章。
RECON-NG
Recon-ng是一个信息搜集的框架,它之于信息搜集完全可以和exploit之于metasploit framework、社会工程学之于SET。
主动信息搜集
主动信息搜集是利用一些工具和手段,与搜集的目标发生一些交互,从而获得目标信息的一种行为。
主动信息搜集的过程中无法避免会留下一些痕迹。
常用方法
抓包
Netdiscover
NetDiscover通过 ARP 主动和被动分析识别网络主机, 它主要是在无线接口上使用。NetDiscover在不使用 DHCP的无线网络上非常有用。使用 Netdiscover工具可以在网络上扫描 IP地址,检查在线主机或搜索为它们发送的 ARP请求。
NMAP
Nmap对大多数的IT、网络从业者来说很熟悉了吧,今后文章里会着重介绍这款工具的。
Scapy
Scapy是一种用于计算机网络的数据包处理工具,由Philippe Biondi用Python编写。它可以伪造或解码数据包,通过网络发送它们,捕获它们,并匹配请求和响应。它还可以用于处理扫描、跟踪路由、探测、单元测试、攻击和网络发现等任务。
Scapy和Scrapy完全不同,它俩虽然都和Python有关,Scapy是网络或者是黑客工具,Scrapy是爬虫框架。
Hping
Hping是一个命令行下使用的TCP/IP数据包组装/分析工具,其命令模式很像Unix下的ping命令,但是它不是只能发送ICMP回应请求,它还可以支持TCP、UDP、ICMP和RAW-IP协议,它有一个路由跟踪模式,能够在两个相互包含的通道之间传送文件。Hping常被用于检测网络和主机,其功能非常强大,可在多种操作系统下运行,如Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOs X,Windows。
dmitry
DMitry(Deepmagic Information Gathering Tools 深度信息收集工具)是一个linux下用C语言写的工具。它能够尽可能的获取指定主机目标的信息。基础功能是获取目标的子域名,Email地址,运行时间相关信息,tcp端口,whois信息等等。
总结
信息搜集是渗透测试的最重要的阶段,根据收集的有用信息,可以大大提高我们渗透测试的成功率。浪哥以后会写各个工具的详细用法,点个“在看”,是我创作最大的动力。