在渗透测试的过程中,对端口信息的收集是一个很重要的过程,通过扫描服务器开放的端口以及从该端口判断服务器上存在的服务,就可以对症下药,便于我们渗透目标服务器。 所以在端口渗透信息的收集过程中,我们需要关注常见应用的默认端口和在端口上运行的服务。最常见的扫苗工具就是NMAP(具体的使用方式我会单端开一个专题来详细写)无状态端口扫描工具Masscan,ZMap和御剑高速TCP端口扫描工具。
常见的端口及其说明,以及攻击方向汇总如下:
文件共享服务端口如下:
端口号 端口说明 攻击方向
21/22/69 FTP/Tftp文件传输协议 允许匿名的上传,下载,爆破和嗅探操作
2049 Nfs服务 配置不当
139 Samba服务 爆破,未授权访问,远程代码执行
389 Ldap目录访问协议 注入,允许匿名访问,弱口令
远程连接服务端口:
端口号 端口说明 攻击方向
22 SSH远程连接 爆破,SSH隧道及内网代理转发,文件传输
23 Telnet远程连接 爆破,嗅探,弱口令
3389 Rdp远程桌面连接 Shift后门(需要Windows Server 2003以下的系统),爆破
5900 VNC 弱口令爆破
5632 PyAnywhere服务 抓密码,代码执行
Web应用服务端口:
端口号 端口说明 攻击方向
80/443/8080 常见的Web服务端口 Web攻击,爆破,对应服务器版本漏洞
7001/7002 WebLogic控制台 Java反序列化,弱口令
8080/8089 Jboss/Resin/Jetty/Jenkins 反序列化,控制台弱口令
9090 WebSphere控制台 Java反序列化,弱口令
4848 GlassFish控制台 弱口令
1352 Lotus domino邮件服务 弱口令,信息泄露,爆破
10000 Webmin-Web控制面板 弱口令
数据库服务端口:
端口号 端口说明 攻击方向
3306 MySQL 注入,提权,爆破
1433 MSSQL数据库 注入,提权,SA弱口令,爆破
1521 Oracle数据库 TNS爆破,注入,反弹Shell
5432 PostgreSQL数据库 爆破,注入,弱口令
27017/27018 MongoDB 爆破,未授权访问
6379 Redis数据库 可尝试未授权访问,弱口令爆破
5000 SysBase/DB2数据库 爆破,注入
邮箱端口:
端口号 端口说明 攻击方向
25 SMTP邮件服务 邮件伪造
110 POP3协议 爆破,嗅探
143 IMAP协议 爆破
网络常见协议端口:
端口号 端口说明 攻击方向
53 DNS域名系统 允许区域传送,DNS劫持,缓存投毒,欺骗
67/68 DHCP服务 劫持,欺骗
161 SNMP协议 爆破,搜集目标内网信息
特殊服务端口:
端口号 端口说明 攻击方向
2181 Zookeeoper服务 未授权访问
8069 Zabbix服务 远程执行,SQL注入
9200/9300 Elasticsearch服务 远程执行
11211 Memcache服务 未授权访问
512/513/514 Linux Rexec服务 爆破,Rlogin登录
873 Rsync服务 匿名访问,文件上传
3690 Svn服务 Svn泄露,未授权访问
50000 SAP Management Console 远程执行
指纹由于其终身不变性,唯一性,方便性,几乎已经成为生物特征识别的代名词。通常我们说的指纹就是人的手指末端正面皮肤上凹凸不平的纹线,纹线规律性的排列形成不同的纹型。这里我们提到的是网站CMS指纹识别,计算机操作系统及Web容器的指纹识别等。 应用程序一般在html,js,css等文件中多多少少会包含一些特征,比如WordPress在robots.txt中会包含wp-admin,首页index.php中会包含generator=wordpress 3.xx,这个特征就是这个CMS指纹,那么当碰到其他网站也存在次特征时,就可以快速识别出该CMS,所以叫做指纹识别。 在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相关的渗透操作。 CMS(Content Management System)又称整站系统或者文章系统,在2004年以前,如果想进行网站内容整理,基本上都是手工维护,但在信息爆炸的今天,CMS的出现使得开发者只需要给客户一个软件包,客户自己安装配置好,就可以定期更新数据来维护网站,节省了大量的时间和人力。 常见的CMS有Dedecms(织梦),Discuz,PHPWEB,PHPWind,PHPCMS,ECShop,Dvbbs,SiteWeaver,ASPCMS,帝国,Z-Blog,WordPress等。 代表工具有:御剑Web指纹识别,WhatWeb,WebRobo,椰树,轻量WEB指纹识别等。可以快速识别一些主流CMS。 初了这些工具,还可通过在线网站查询CMS指纹识别。
BugScaner: http://whatweb.bugscaner.com/look/
云悉指纹: http://www.yunsee.cn/finger.html
和WhatWeb: https://whatweb.net
在渗透测试过程中,目标服务器可能只有一个域名,那么如何通过这个域名来确定目标服务器的真实IP对渗透测试来说很重要,如果目标服务器不存在CDN,可以直接通过www.ip138.com获取一些IP及域名信息。现在我们可以几种情况下绕过CDN寻找目标服务器的真实IP。 1.目标服务器存在CDN CDN即内容分发的网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。说的简单点,就是一组在不同运营商之间的对接点上的高速缓存服务器,把用户经常访问的静态数据资源(例如静态的html,css,js图片等文件)直接缓存在节点服务器上,当用户再次请求时,会直接分发到在离用户近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站的响应速度及用户体验。 所以如果渗透目标购买了CDN服务,可以直接ping目标的域名,但得到的并非真正的目标Web服务器,只是离我们最近的一台目标节点的CDN服务器,这就导致了我们没办法直接得到目标真实的IP段范围。 2.判断目标是否使用了CDN
如果我ping我自己的网站,在没有套CDN的情况下,是这样的情况。
如果这里ping百度,我们就可以看到该网站使用了CDN。 我们还可以利用在线网站17CE: https://www.17ce.com 进行全国多地区的ping服务器操作,然后对比每个地区ping出的IP结果,查看这些IP是否一致,如果都是一样的,极可能不存在CDN,如果IP大多数不一样或者规律性很强,可以尝试查询这些IP的归属地,判断是否存在CDN。 3.绕过CDN寻找真实IP 在确认了目标实用了CDN以后,就需要绕过CDN寻找目标的真实IP,下面介绍一些常规的方法。
(1)内部邮箱资源。一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站注册或者RSS订阅功能,查看邮件,寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获取目标的真实IP(注意,必须是目标自己的邮件服务器,第三方或者公共邮件服务器是没有用的)
(2)扫描网站测试文件,如phpinfo,test等,从而找到真实的IP地址。
(3)分站域名,很多网站的访问量会很大,所以站主都是挂CDN的,但是分站可能没有挂CDN,可以通过ping二级域名获取分站IP,可能会出现分站和主站不是同一个IP但在同一个C段下面的情况,从而能判断出目标的真实IP。
(4)国外访问。国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站App Synthetic Monitor(https://asm.ca.com/en/ping.php)访问,可能会得到真实IP。
(5)查询域名的解析情况。也许是目标很久以前没有用过的CDN,所以可以通过网站NETAFT(https://wwww.netcraft.com/)来观察域名的IP历史记录,也可以大致分析出目标网站的真实IP段。
(6)如果目标网站有自己的App,可以尝试利用Fillder或者Burp Suite抓取App的请求,从里面找到目标真实的IP。
(7)绕过CloudFlare CDN查找真实IP。现在很多网站都使用CloudFlare提供的CDN服务,在确定了目标网站使用的CDN后,可以先尝试通过在线网站CloudFlareWatch(http://www.crimeflare.us/cfs.html#box)对CloudFlare客户网站进行真实IP查询
(8)https://censys.io/这个网址会将互联网所有的ip进行扫面和连接以及证书探测。若目标站点有https证书,并且默认虚拟主机配了https证书,我们就可以找所有目标站点是该https证书的站点。
4.验证获取的IP 找到真实IP之后,如何验证其真实性呢?如果是Web,最简单的验证方法是直接尝试用IP访问,看看响应的页面是不是和访问域名返回的一样;或者在目标段比较大的情况下,借助Masscan的工具批量扫描对应IP段所有开了80,443,8080端口的IP,然后逐个尝试IP访问,观察响应结果是否为目标网站。
在渗透测试中,探测Web目录文件结构和隐藏的敏感文件是一个必不可少的环节,从中可以获取网站的后台管理页面,文件上传界面,甚至可能扫描出整个网站的源代码。 针对网站目录扫描主要有:
DirBuster
御剑后台扫描珍藏版
wwwscan
Spinder.py(轻量级快速单文件目录后台扫描)
Sensitivefilescan(轻量级快速单文件目录后台扫描)
Weakfilescan(轻量级快速单文件目录后台扫描)
这里简单的介绍一下DirBuster是OWASP开发的一款基于Java编写的,专门用于探测Web服务器的目录和隐藏文件。因为是Java编写的,所以需要在Java环境(JRE)下安装。该工具的界面是纯图形化的,用法相对简单。
1.在Target URl 输入框中输入要扫描的网址,扫描时要将请求方式设置为"Auto Switch(HEAD and GET)"选项
2.设置线程的数值,推荐在20~30之间,太大了容易卡死。
3.选择扫描类型,如果使用个人字典扫描,则选择"List based brute force"选项。
4.单机"Browse"选择字典,可以选择工具自带的字典,也可以选择自己的字典。
5.在Selct starting options汇总选择"URL Fuzz"方式进行扫描。
设置fuzzing时需要注意,在URL to fuzz中输入"/{dir}"。这里{dir}是一个变量,用来代表字典中的每一行。
另外,如果你扫描的目标是http://www.xxx.com/admin/
那么就要在URL to fuzz中填写"/admin/{dir}"
意思是在"{dir}"的前后可以随意拼接你想要的目录或者前缀
例如输入":/admin/{dir}.php"就表示扫描admin目录下的所有php文件
除此之外,还有在线网站可以用,比如:
WebScan:http://www.webscan.cc/
社会工程学在渗透测试中起着不小的作用,利用社会工程学,攻击者可以从一名员工中挖掘出本应该是秘密的信息,毕竟功夫再高也怕菜刀。 以下转自CSDN,大家这方面自由发挥,我不再赘述。 在信息安全这个链条中,人的因素是最薄弱的一环节。社会工程就是利用人的薄弱点,通过欺骗手段而入侵计算机系统的一种攻击方法。组织可能采取了很周全的技术安全控制措施,例如:身份鉴别系统、防火墙、入侵检测、加密系统等,但由于员工无意当中通过电话或电子邮件泄露机密信息(如系统口令、IP地址),或被非法人员欺骗而泄露了组织的机密信息,就可能对组织的信息安全造成严重损害。 社会工程学通常以交谈、欺骗、假冒或口语等方式,从合法用户中套取用户系统的秘密。熟练的社会工程师都是擅长进行信息收集的身体力行者。很多表面上看起来一点用都没有的信息都会被这些人利用起来进行渗透。比如说一个电话号码,一个人的名字,或者工作的ID号码,都可能会被社会工程师所利用。 这意味着没有把“人”这个因素放进企业安全管理策略中去的话将会构成一个很大的安全“裂缝”。 简单来说,社会工程学就是利用一个人的缺点(贪婪,狂妄)、优点(自信,怜悯),来从中套取我们想要的信息。
可以说行骗艺术的分类有两种,一种是通过诈骗、欺骗来获得钱财,这就是通常的骗子。另一种则通过蒙蔽、影响、劝导来达到获取信息的目的,这就是社会工程师
基础信息 社工主要是获取下面这些基础数据信息
真实名字 出生日期 身份证号 籍贯 QQ号 不大众化的网络昵称 就读的大学 就读的高中 学号 你认识的他的朋友圈子的人 共同朋友的资料 ……
怎么拿到基础信息?(常见的社会工程学攻击) 对于一个在校大学生来说,社工学用到的最多的地方就是怎么找在食堂偶遇的小姐姐的资料。所以下面就全是以学妹为例
1.直接索取 (Direct Approach) — 直接向目标人员索取所需信息 比如说在操场跑步的时候,看到一个好看的学妹。就直接上去搭讪:“同学你好,能加个微信吗?” 如果她把她的微信给你了,那么,相当于她的手机号码,她的微博,她的QQ,她的班级,她的姓名,她的……基本上所有公开信息都被你知道了 如果你对自己的魅力缺少自信的话,可以无中生友。因为好看的小姐姐总会有很多人关注的,你过去搭讪的时候,自然也牵动这些人的注意。你就对小姐姐说:“同学你好,我一个朋友想认识一下你,但是他有点害羞,所以想让我帮他要一个联系方式”。然后你看附近眼神往这里瞟的人里面谁比较帅,就向漂亮小姐姐暗示那个人就是你朋友。然后小姐姐看到对方的闪闪烁烁飘过来的眼神,于是一个美丽的误会,她的联系方式就到你手上了。
2.个人冒充——伪装欺骗她 这点,就得看演技了。 冒充上级领导打电话,“小张,我是**,在外面采购,钱不够了。你现在给我转1000块钱过来,等下你去找财务报销”。 冒充学校领导查寝,“这个学生,你班主任是谁,把手机交出来,让你班主任明天来我办公室里领手机”。 冒充有身份的人,比如你在操场看到一个漂亮的学妹,如果你直接拿着马赛克画质的手机去拍她,拍的不清晰不说,可能还会被当做流氓。但是如果你租个单反,然后上前一本正经的说:“同学,我是学生会宣传部的,能拍一张你的照片当本期校报的封面吗?” 学妹可能因为你学生会官方的身份,就放下戒心。最后你不仅能正大光明的拍,还可以让学妹摆几个好看的pose,顺便要一波班级姓名联系方式等信息。
3.反向社会工程 ——恐吓她 反向社会工程,并不是指社工对方的时候,结果被对方发现了,然后对方将计就计,反过来社工你。 反向社会工程是指攻击者通过技术方式给网络或计算机制造故障,使被攻击者深信问题的存在,诱使工作人员或网络管理人员透露攻击者想要获取的信息。这种方法比较隐蔽,危害极大且不易防范。 比如直接把学妹的电脑给黑了,然后弹出个警告:“你的钱全都被我转走”,当然,其实你只是控制住了学妹的电脑,并没有转走她的钱。但是学妹不知道,于是她立马输入账号密码登陆网银,查看余额——她登陆网银的时候,账号密码已经被你看到了,于是你也登录 当然,恐吓只是其中的一种方法,温柔点比较好。 比如说学妹刚买了新电脑,想装一个QQ,在安装QQ的时候360管家突然跳出来,说安装的文件有毒。学妹此时很可能不会继续安装下去,而是选择卸载,然后百度“安装QQ报毒怎么办”。 比如校园网涨价了,然后你贴张小卡片在学妹宿舍门口:“破解校园网,联系XX”(别问我怎么把小卡片贴到学妹宿舍门口的,我也没干过,这里只是举个例子,提个思路) 学妹看到小卡片后,很可能就会主动联系你,然后你让学妹下一个软件用来破解校园网,然后此时就算学妹的电脑提示软件有毒,你轻飘飘的来一句“破解校园网吗,利用了一些破解绕过校园网验证的技术,报毒是正常的”。学妹可能会继续安装下去——因为你此时的身份是专业人士,她信任你。而且是她主动联系你的,如果你主动给学妹发消息说下载某某软件可以破解校园网,可能结果又不一样了,因为人性就是这样的。
4.邮件利用——引诱她 这是一个被很多人知道的方式,相信很多人都中过招。 我们要做的邮件和那种群发的粗制滥造的邮件不同。是针对性的,一对一的。 你打听到学妹是一个学霸,有机会拿到奖学金。于是你可以伪装成学校的邮箱地址,给学妹发一份“xx同学,奖学金发放公示名单出来了,请确认你的信息”的邮件。学妹很有可能就打开名单,然后中招。 或者你打听到学妹是某社团的干事,你就跟她联系说:你是xx店铺的老板,你听说学妹所在的社团要搞活动,想给这个活动提供一些赞助,然后发一个“赞助方案”的邮件给她,学妹也很有可能打开这个附件。 如果你在邮件里加些佐料,学妹点击下载附件的时候,她的电脑就沦陷了,她保存在电脑里的信息自然也都是你的了
5.钓鱼技术 (Phishing) — 模仿合法站点的非法站点 钓鱼网站,大家都听说过。其实邮件利用,也是使用的钓鱼技术。 不过钓鱼一般都是用网站钓鱼,比如www.qq.com.*.shegong.xyz——你看到前面一大堆都是对的,于是你以为这真的是QQ的官方网站,就点进去了,但是没想到前面的www.qq.com.只是别人的四级、五级子域名。后面的.xyz,才是真正的顶级域名。 还比如 www.a1iyun.com——把l换成1,不仔细看,你就会以为这是阿里云(aliyun)的网站。 比如你跟学妹说“考试成绩出来了,要不要进教务系统查一下成绩”。然后你发个学校的官网给她www.pkuedu.cn,学妹以为这是学校的官网网站,其实学校真正的官网是www.pku.edu.cn(好吧,这其实是北京大学的官网,不是学妹学校的官网,但是谁还没个北大梦呢),一个小数点的区别,很多人可能就无视了。 只要你成功诱导小学妹点击登录,她在钓鱼页面所填的账号密码自然到你手中了。 6.域欺骗技术 (Pharming) 域欺骗技术,我觉得这就是域名欺骗技术,和钓鱼链接也差不了多少。只是比钓鱼链接更具有隐蔽性。钓鱼网站你仔细看,还是能发现端倪的。但是这个就有点难了。你输入的域名是www.baidu.com,你检查还是www.baidu.com,检查不出什么问题,但是你一按回车,它就是不跳转到百度首页,就是要跳到腾讯首页。 第一种:利用客户端浏览器的漏洞,通过构造虚假URL来欺骗用户 参考资料——这个漏洞早就没了,可以看一下,拓宽思路 https://www.cnblogs.com/godjiahui/archive/2009/03/30/645688.html 第二种:类似于ssrf攻击 参考资料 https://blog.csdn.net/weixin_45663905/article/details/108086622 第三张:配置dns解析服务器 https://blog.csdn.net/lanxuezaipiao/article/details/18217725 当然,要是条件允许,你要是能直接修改学妹本机的hosts文件也可以
7.非交互式技术——说服她身边的人 这个说的就是与目标没有直接发生交互。只要学妹身边的人都被你说服了,离学妹被你说服还要远吗? 当然,实际中我们没必要说服她身边的人,只要我们能曲线救国,能从学妹身边的人打听一些关于学妹的事就行了。 正如有一句话说的“我喜欢你,与你无关”。如果直接从学妹那里你找不到突破口,你可以直接从学妹的室友,老师,家人……出发。学妹的各种信息,可能就在他们的一言一行一动态中泄露了。 所谓的非交互式技术,就是不需要通过"搭讪钓鱼网站"等操作和学妹发生直接接触,就获取到了她的信息。 比如说你看到一个家里有矿的学妹开着跑车,你可以去仔细观察一下车牌。因为现在的车辆牌照架主要来源于4S店,所以他们可能在牌照架的边缘,打上信息宣传自己4S店。 你呢,就可以找到这个4s店的联系方式,然后联系4s店的工作人员:你好,我是**车牌的车主,我一个手机号码已经丢了不用了,我忘记我买车时预留的电话号码是不是这个,能问一下我预留的手机号码是多少吗?我看要不要更改手机号码。 说不定就能获得学妹的手机号码,姓名等信息。 参考资料(因为没买过车,所以本节改编自参考文章) https://zhuanlan.zhihu.com/p/37622134 8.多学科交叉技术 这个听起来挺高大上的,多学科交叉,跨学科、多学科的学科交叉融合的研究、教学、应用。 其实吗,你可以理解为水坑攻击,顾名思义,就是提前挖个坑等你去踩。经过一系列的前期踩点,你已经知道了学妹的作息。比如你知道学妹每天晚上都会刷QQ空间。你可以直接把腾讯给黑了,留个后门(不考虑技术难度,只是提个思路),然后等着学妹到点的时候,打开QQ空间,触发你留的后门,就完事了。 基础数据拿到后,就开始进行技术手段强化了。