import whois
data = whois.whois(“sohu.com”)
print(data)
示例:
下面是使用站长之家Whois查询Eastmount的站点(www.eastmountyxz.com)的相关信息,可以看到网站标题为“秀璋学习天地”,网站服务器是阿里云,2021年到期,联系邮箱、DNS和域名服务器也能查询。某些网站可能暴露私人电话、邮箱和地址,会被进一步社工。
- 域名:eastmountyxz.com
- 注册商:Alibaba Cloud Computing (Beijing) Co., Ltd
- 联系邮箱:domainabuse@service.aliyun.com
- 联系电话:95187
- 时间:2016年09月24日 – 2021年09月24日
- 域名服务器:grs-whois.hichina.com
- DNS:dns10.hichina.com、dns9.hichina.com
接着作者使用Robtex DNS 查询网站相关信息,显示如下所示,它增加了IP地址内容(60.xxx.xxx.36),再通过网站能定位物理地址。
- IP地址:60.xxx.xxxx.36
- Host名称:www
- Mail servers:mxn.mxhichina.com、mxw.mxhichina.com==
Netcraft Site Report显示目标网站信息如下,包括网站搭建框架和操作系统。
- 操作系统:Windows Server 2008
- Web服务器:Microsoft IIS/7.5
- 网络拥有者:中国浙江杭州alibaba,西湖国际中心391号
3.备案信息查询
ICP备案是指网络内容提供商(Internet Content Provider),《互联网信息服务管理办法》指出需要对网站进行备案,未取得许可不得从事互联网信息服务。
IPC备案查询方法包括:
- https://www.beian88.com/
- http://beian.miit.gov.cn/publish/query/indexFirst.action
- https://www.tianyancha.com/
- http://www.beianbeian.com/
比如作者和Bilibili网站的备案信息如下图所示,这里您是否又发现什么呢?
- 黔IPC:社工是不是发现了地点(没错贵州人)
1.CMS指纹识别
在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CMS(内容管理系统),才能查找与其相关的漏洞,然后才能进行相应的渗透操作。CMS又称整站系统。常见的CMS有:WordPress、Dedecms(织梦)、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、、SiteWeaver、AspCMS、帝国、Z-Blog等。
CMS又称为整站系统或文章系统,用于网站内容管理。用户只需要下载对应的CMS软件包,就能部署搭建,并直接利用CMS。但是各种CMS都具有其独特的结构命名规则和特定的文件内容,因此可以利用这些内容来获取CMS站点的具体软件CMS与版本。
常见识别工具:
(1) 在线工具
- BugScaner:http://whatweb.bugscaner.com/look/
- 云悉指纹:http://www.yunsee.cn/finger.html
- WhatWeb:https://whatweb.net/
- BGP:he.bgp.net
(2) 本地工具
- 御剑Web指纹识别程序
- 大禹CMS识别程序(https://github.com/Ms0x0/Dayu)
示例:
以某站为例,通过 http://whatweb.bugscaner.com/look/ 网站识别指纹,发现它是Discuz搭建的。信息包括:
- CMS:Discuz! X3.4
- ip地址:210.42.xx.xx
- 编程语言:PHP
- 服务器:Apache 2.4.23
- 操作系统:Windows Server
- 物理地址:xxx省xxx市xxx路
- Web服务器扩展:OpenSSL
接下来将Github上面的大禹下载至本地,并进行CMS扫描。
2.CMS漏洞查询
对于查询到的CMS可以利用乌云漏洞库网站查询制定CMS的漏洞。
- http://www.anquan.us/
- https://bugs.shuimugan.com
显示如下图所示,包括详细的漏洞利用过程及防御措施。
3.敏感目录信息
针对目标Web目录结构和敏感隐藏文件探测是非常重要的,在探测过程中很可能会探测到后台页面、上传页面、数据库文件,甚至是网站源代码文件等。补充谢公子大佬的内容,扫描网站目录结构可以看看是否可以遍历目录,或者敏感文件泄漏,包括:
- 后台目录:弱口令,万能密码,爆破
- 安装包:获取数据库信息,甚至是网站源码
- 上传目录:截断、上传图片马等
- mysql管理接口:弱口令、爆破,万能密码,然后脱裤,甚至是拿到shell
- 安装页面 :可以二次安装进而绕过
- phpinfo:会把你配置的各种信息暴露出来
- 编辑器:fck、ke等
- iis短文件利用:条件比较苛刻 windows、apache等
常见的探测工具包括:
- 御剑后台扫描工具
- wwwscan命令行工具
- dirb命令工具
- dirbuster扫描工具
文件robots.txt
同时,提到网站敏感目录我们就不得不提robots.txt文件。robots.txt文件是专门针对搜索引擎机器人robot 编写的一个纯文本文件。我们可以在这个文件中指定网站中不想被robot访问的目录。从而让我们网站的部分或全部内容不被搜索引擎收录,或者让搜索引擎只收录指定的内容。
因此可以利用robots.txt让Google的机器人访问不了我们网站上的重要文件,Google Hack的威胁也就不存在了。假如编写的robots.txt文件内容如下,其中“Disallow”参数后面的是禁止robot收录部分的路径,例如我们要让robot禁止收录网站目录下的“data”文件夹,只需要在Disallow参数后面加上 /data/ 即可。如果想增加其他目录,只需按此格式继续添加。文件编写完成后将其上传到网站的根目录,就可以让网站远离Google Hack。
User-agent:
Disallow: /data/
Disallow: /db/
Disallow: /admin/
Disallow: /manager/
Allow:/images/
然而,虽然robots文件目的是让搜索蜘蛛不爬取想要保护的页面,但是如果我们知道了robots文件的内容的话,我们就可以知道目标网站哪些文件夹不让访问,从侧面说明这些文件夹是很重要。
御剑系列的Web工具一直是比较顺手的工具。这款御剑也是很好用的网站后台扫描工具,图形化页面,使用起来简单上手,因此也被大多数人所喜好。其作者可能是“御剑孤独”。
Dirb
dirb是一个基于字典的Web目录扫描工具,会用递归的方式来获取更多的目录,它还支持代理和http认证限制访问的网站。
DirBuster
Kali Linux提供的目录扫描工具DirBuster支持全部的Web目录扫描方式。它既支持网页爬虫方式扫描,也支持基于字典暴力扫描,还支持纯暴力扫描。该工具使用Java语言编写,提供命令行(Headless)和图形界面(GUI)两种模式。用户不仅可以指定纯暴力扫描的字符规则,还可以设置以URL模糊方式构建网页路径。同时,用户还对网页解析方式进行各种定制,提高网址解析效率。
4.WordPress测试
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架构属于自己的网站,也可以把WordPress当作一个内容管理系统CMS来使用。针对WordPress测试,可以使用WpScan工具对其进行安全测试。
- WpScan
例如识别 https://cn.wordpress.org/ 官方网站的框架信息,可以调用whatwep命令或在线网站获取其CMS信息。
如果发现目标网站是WordPress搭建,再使用WPScan进行检测。
1.端口介绍
如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(216)个门之多。端口是通过端口号来标记的,端口号只有整数,范围从0到65536(216-1 )。
计算机常见的端口号包括:
- HTTP服务器默认端口号为:80/tcp(木马Executor开放此端口)
- HTTPS服务器默认端口号为:443/tcp、443/udp
- Telnet(远程登录)默认端口号为:23/tcp(木马Tiny Telnet Server所开放的端口)
- FTP默认端口号为:21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash等所开放的端口)
- TFTP(Trivial File Transfer Protocol)默认端口号为:69/udp
- SSH(安全登录)、SCP(文件传输)、端口号重定向,默认端口号为:22/tcp
- SMTP(E-mail)默认端口号为:25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口)
- POP3 Post Office Protocol(E-mail)默认端口号为:110/tcp
- Webshpere应用程序默认端口号为:9080
- TOMCAT默认端口号为:8080
- MySQL数据库默认端口号为:3306
- Oracle 数据库默认的端口号为:1521
- WIN2003远程登录默认端口号为:3389
- MS SQLSERVER数据库server默认的端口号为:1433/tcp、1433/udp
在计算机中每个端口代表一个服务,在Windows命令行中使用netstat -ano | netstat -anbo显示开放端口。
- netstat -ano | netstat -anbo
CMD中需要管理员权限打开,并输入netstat -anbo查看开放的端口。其中,443端口是HTTPS建立的连接,80端口是网站HTTP建立的连接。
- netstat -anbo
2.端口信息采集
对于收集目标及其端口状况可以使用工具来进行,其工作原理都是使用TCP或UDP等协议向目标端口发送指定标志位等数据包,等待目标返回数据包,以此来判断端口状态。后续作者,准备通过Python编写相关的代码。
这篇文章主要通过工具采集端口信息,包括:
- 使用Nmap采集,命令为:nmap -A -v -T4 目标
- 使用masscan采集,命令为:masscan -p80 目标
示例:
查看本地端口开放情况,命令为:
- nmap -A -v -T4 192.168.1.1
使用masscan探测端口开放信息,命令为:
- masscan -p80 192.168.1.1/24 –rate=10000
使用工具通常会在目标网站留下痕迹,接下来提供一种在线网站探测方法。
- 在线网站:http://tool.chinaz.com/port/
- ThreatScan在线网站:https://scan.top15.cn/
示例:
使用站长之家探测作者网站的80端口开放,443端口关闭(最早支持多个端口扫描,当前只支持单一端口扫描,如果读者能自行编写程序更好)。
接下来采用ThreatScan在线网站扫描作者的网站信息。
ThreatScan是一款扫描器,主要用于渗透测试的第一阶段:信息搜集。这里非常推荐 DYBOY大神的博客,地址为:https://github.com/dyboy2017/TScan。
作者确实只开放了80端口访问网页和FTP端口21。
3.旁站和C段扫描
旁站指的是同一服务器上的其他网站,很多时候,有些网站可能不是那么容易入侵。那么,可以查看该网站所在的服务器上是否还有其他网站。如果有其他网站的话,可以先拿下其他网站的webshell,然后再提权拿到服务器的权限,最后就自然可以拿下该网站了!
对于红蓝对抗和护网,C段扫描比较有意义。对于单独网站的渗透测试,C段扫描意义不大。C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。旁站和C段在线查询地址:
- http://www.webscan.cc/
- https://phpinfo.me/bing.php
- https://scan.top15.cn
旁站扫描能扫描与该IP地址挂靠的其他网站,这有利于Web渗透,可能旁站存在漏洞,如下图所示。
4.端口攻击
针对不同的端口具有不同的攻击方法,因为每个端口就是记录服务器或目标系统的大门,只要打开这个大门,就可以进入目标系统。例如:针对远程连接服务端口的攻击方法如下,因为23号端口Telnet远程连接是明文传递信息的,可以通过爆破、嗅探、弱口令等方法实施攻击。
这里推荐大家:当我们扫描到目标网站的端口号时,可以在搜索引擎中查找对应的攻击方法进行测试,也可以在乌云漏洞库(http://www.anquan.us/)或CVE库中搜索。例如:
注意:CVE漏洞被再利用是网络攻击常见的手段,提醒生产厂商第一时间打补丁,用户使用部分软件的版本更新也是非常必要的。
5.防御措施
对于端口攻击来说,只要端口开放并且可以连通,就可以利用对应的方式进行攻击测试。这里提供的防御措施包括:
- 关闭不必要的端口;
- 对重要业务的服务端口设置防火墙;
- 加强员工信息安全意识,经常性更换用户密码,避免弱口令爆破;
- 经常更新软件,打补丁(Patch);
- 利用CVE网站的漏洞信息,提高自身网站的安全。
针对某些安全做得很好的目标,直接通过技术层面是无法完成渗透测试的。在这种情况下,可以利用搜索引擎目标暴露在互联网上的关联信息。例如:数据库文件、SQL注入、服务配置信息,甚至是通过Git找到站点泄露源代码,以及Redis等未授权访问、Robots.txt等敏感信息,从而达到渗透目的。
在某些情况下,收集到的信息会对后期进行测试起到帮助重要。如果通过收集敏感信息直接获取了目标系统的数据库访问权限,那么渗透测试任务就结束了一大半。因此在进行技术层面情况下的测试之前,应该先进行更多的信息收集,尤其是针对敏感信息的。
1.Google Hacking语法
Google Hack是指使用Google、百度等搜索引擎对某些特定网站主机漏洞(通常是服务器上的脚本漏洞)进行搜索,以达到快速找到漏洞主机或特定主机的漏洞的目的。常见方法包括:
Google提供了强大的搜索功能,可以获取精准的结果。如果访问不了,也可以通过百度获取相关内容,但是结果远没有谷歌精准,很多无关的广告及视频会返回给你。示例如下:
- intitle:eastmount 搜索网页标题包含eastmount字符的网页。
- inurl: login.asp?id= 搜索包含特定字符“login.asp?id=”的URL。常用示例为inurl:login.asp、inurl:asp?id=、inurl:login.asp。
- intext:cbi 搜索网页正文内容包含特定字符cbi的网页。
- filetype:ppt 搜索制定类型的文件,返回所有以ppt结尾的文件URL。
- site:baidu.com 找到与指定网站有联系的URL。
Google Hacking数据库为:https://www.exploit-db.com/google-hacking-database/。例如,查询数据Access数据库,使用 filetype:mdb “standard jet”(password | username | user | pass)。
2.HTTP响应收集Server信息
通过HTTP或HTTPS与目标站点进行通信中,目标响应的报文中Server头和X-Powered-By头会暴露目标服务器和使用的编程语言信息,通过这些信息可以有针对的利用漏洞尝试。
获取HTTP响应的基本方法包括:
- 利用工具,如浏览器审计工具、BurpSuite、Fiddler等代理截断工具获取
- 编写Python脚本文件,如requests库
右键浏览器审查元素,获取Network中Headers信息。
Python的核心代码如下:
import requests
r = requests.get(‘http://www.xxxx.com’)
print(r.headers)
3.Github信息泄露
Github是一个分布式的版本控制系统,拥有大量的开发者用户。随着越来越多的应用程序转移到云端,Github已经成为了管理软件开发以及发现已有代码的首选方法。当今大数据时代,大规模数据泄露事件时有发生,但有些人不知道很多敏感信息的泄露其实是我们无意之间造成的。一个很小的疏漏,可能会造成一系列的连锁放映。Github上敏感信息的泄露,就是一个典型的例子,存在着一些安全隐患。
例如,我们可以使用Github找到邮件配置信息泄露,涉及一些社会工程学。
- site:Github.com smtp
- site:Github.com smtp @qq.com
再如,通过Github获取数据库泄露信息。
- site:Github.com sa password
- site:Github.com root password
- site:Github.com User ID='sa’
通过Github探索SVN信息泄露信息。
- site:Github.com svn
- site:Github.com svn username
最后,通过Github搜索综合泄露信息。
- site:Github.com password
- site:Github.com ftp ftppassword
- site:Github.com 密码
- site:Github.com 内部
综合泄露信息一个例子如下图所示(网图)。
同样,其他网站信息也可以参考上述的方法,并推荐大家使用Google浏览器。当然,更多敏感信息可以通过dirb等工具来获取,它通过暴力破解来发送请求,找到时会发请求告诉我们。
1.cdn
CDN全称是Content Delivery Network,即内容分发网络。其原理如下:某些大型网站在全国都会有很多用户,这些用户常常会向网站发送不同的请求,那么不同地域会具有不同的缓冲服务器来接收用户发送的流量。如果用户发送流量没有任何交互的数据,只是请求首页的话,此时根据用户所在地区来确定访问的高速缓存服务器,高速缓存服务器会返回对应的响应到用户的浏览器当中,比如广东。
当用户填写数据,需要交互时才会将请求发送到真实的服务器;此时通过广东省的缓存服务器来连接真实服务器。
CDN通常存在用户很多的大型流量网站,通过它来解决我们服务器的瓶颈。
2.判断CDN存在
可以通过Ping来判断网站是否存在CDN,比如 http://www.xxxx.com/ 。显示如下图所示,可以看到该网站是存在CDN的。
也可以通过设置代理或利用在线Ping网站来使用不同地区的Ping服务器来测试目标。该网站显示结果如下图所示:
- http://ping.chinaz.com/
可以看到使用不同的Ping服务器,响应的IP地址是不同的。不同的监测点相应的IP地址不同,由此也可以推断当前网站使用了CDN技术。
3.绕过CDN
那么确定使用CDN之后,如何绕过CDN呢?
如果目标没有使用CDN: 可以直接利用ping获取IP地址,或者利用在线网站获取(如 http://www.ip138.com)。例如作者网站使用Ping和在线网站获取的IP地址是一样的,这也表明作者没有使用CDN。
如果目标使用CDN: 需要绕过CDN后去真实IP地址,方法如下:
- 内部邮箱源:收集到内部邮箱服务器IP地址
- 网站phpinfo文件:phpinfo.php
- 分站IP地址,查询子域名:CDN很贵,很有可能分站就不再使用CDN
- 国外访问:https://asm.ca.com/en/ping.php
- 查询域名解析记录:https://viewdns.info/
当然,还有其他的方法,也推荐读者去尝试学习。通过国外网站获取IP地址:
通过国内网站(https://viewdns.info/)获取IP地址:
4.验证IP地址
通过上面的方法获取了很多的IP地址,此时我们需要确定哪一个才是真正的IP地址,具体方法如下:
- 利用IP地址对Web站点进行访问,如果正常表明是真实IP地址,否则是假的。
例如,输入 view-source:123.xxx.xxx.39,表示真实的IP地址。
如果使用其他查询的IP地址,42.xxx.xxx.201,它提示错误表示假的IP地址,包括之前Ping查询的CDN IP地址。
更多方法希望读者自行去学习。同时,绿色网络需要大家共同维护,本文更希望大家了解背后的原理及防御措施,一定不要去恶意测试别人的网站,违者后果自负。
写到这里,网络安全系列第二篇文章就介绍完毕,希望您喜欢。真心感觉自己要学习的知识好多,也有好多大神卧虎藏龙,开源分享。作为初学者,我们可能有差距,不论你之前是什么方向,是什么工作,是什么学历,是大学大专中专,亦或是高中初中,只要你喜欢安全,喜欢渗透,就朝着这个目标去努力吧!有差距不可怕,我们需要的是去缩小差距,去战斗,况且这个学习的历程真的很美,安全真的有意思。但切勿去做坏事,我们需要的是白帽子,是维护我们的网络,安全路上共勉。
感谢这些大佬和白帽子的分享,强推他们的文章,参考文献如下:
https://www.bilibili.com/video/av60018118 https://www.bilibili.com/video/av63038037 https://blog.csdn.net/qq36119192/article/details/84027438(谢公子大佬) https://blog.csdn.net/GodXiangYu/article/details/100062233(Agan大佬)
原文链接:https://blog.csdn.net/weixin_50464560/article/details/114525971?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165934461816780357226309%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165934461816780357226309&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-11-114525971-null-null.nonecase&utm_term=%E6%90%AD%E5%BB%BAcdn
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/8221