目录
一、靶场环境搭建
本次选用的靶场环境为pikachu-master,在搭建靶场前,需要准备好相关环境。
首先需要下载APACHE2、MYSQL、PHP的环境。在下载好需要的环境后,启动相应服务。这里使用的是PHPStudy,它集成了需要用到的各类环境,在这个可视化窗口统一管理相关环境。
下载的所有环境都保存在Extensions目录下:
在该处的配置界面,可以设置环境的运行端口,例如mysql的配置,端口可以默认,也可以改,但改了过后注意在后续的inc中也要修改,这里改成3305
在网站中,我们可以设置访问网站的端口和访问web文件的根目录,这里我们使用默认路径WWW,往后把下载好的pikachu-master环境文件夹拖入到WWW文件夹目录下。同时把pikachu-master简命名为pikachu方便后续操作。
查看数据库的密码:
现在我们可以尝试访问环境了,打开浏览器,输入网址localhost/pikachu
这里要注意浏览器默认协议问题,有些浏览器(如Edge)默认将http协议转换为https协议,导致访问失败,报告网站不安全。这里可以使用修改配置后的火狐浏览器,即不会将默认的http自动转为https协议,可以正常访问靶机。
最开始尝试了自己创建pikachu这个数据库但是数据库是空的,后续肯定用不了,后面发现直接打开靶场目录下的install.php文件可以进入靶场环境的搭建页面。
点击安装/初始化,提示要检查配置文件
我们找到对应的配置文件,修改数据库的密码为123456并校准端口,其他的信息还是默认的没有变。这里我发现了一个很坑的点,就是如果前面的步骤中选择了修改端口,那在这一步中,即使在DBPORT中设置了端口过后DBHOST定义上也需要输入带端口的ip,不然到时候初始化会失败。
修改保存后再来安装初始化
提示显示成功!
再次访问localhost/pikachu
显示页面正常了,表示搭建成功!
二、pikachu之弱口令爆破
理解:弱口令指的是仅包含简单数字和字母的口令,例如“123456”、“abc”等,因为这样的口令很容易被别人破解,破解的过程成为弱口令爆破。.
使用火狐浏览器进入该项页面:
开启代理功能,与burpsuite连接
1. 使用Proxy进行弱口令爆破
在输入账号密码之前,打开Intercept,由于Intercept拦截的特殊性,此功能不能提前打开,因为他抓住网站后需要手动操作释放,否则导致网站一直处于加载状态。
使用admin/password进行弱口令爆破:
点击burpsuite中的对应拦截项,在Request页面查看详细信息,在此页面中可以任意修改包,然后点击forward放行,实现重放攻击的效果。这里把password改成了123456.
放行后,查看原网页,login success:
2. 使用Intruder进弱口令爆破
这一次关闭intercept
改用http history嗅探结果对关键信息进行intruder爆破
鼠标右击选择send to intruder
2.1 cluster bomb模式
理解:Cluster bomb集束式炸弹
A选取爆破字典为{a,b}
B选取爆破字典为{c,d}
(a,c) (a,d) (b,c) (b,d)
在intruder界面中,选择需要爆破的变量进行add $操作,方案选择cluster bomb
随后进入Payloads模块,在payload set 1位置,也就是username位置,上传关于我们的账号的字典,在2位置选择我们的密码字典。
usename设置:
Password设置:
点击start attack进行破解:
遍历完毕后根据字段length进行排序,找到长度数值比较独特,重复性极低的的数据,为账号/密码的概率极大
使用admin/123456和test/abc123分别进行登录均为如图结果,成功破解
2.2 Sniper模式
理解:sniper狙击手
A,B共同选取爆破字典{a,b,c}
A,B原始值分别为A,B
(a,B) (b,B) (c,B) (A,a) (A,b) (A,c)
这种情况下,适用于自己知道账号或者密码其中有一个是正确的时比较适用。
在intruder界面中,选择需要爆破的变量进行add $操作,方案选择Sniper
随后进入Payloads模块,在payload set 1位置,上传关于我们的账号or密码的字典,点击Start attack
遍历完毕后根据字段length进行排序,找到长度数值比较独特,重复性极低的的数据,为账号/密码的概率极大
使用admin/123456进行登录,成功破解
2.3 Pitchfork模式
理解:Pitchfork草叉
A选取爆破字典为{a,b,c}
B选取爆破字典为{d,e,f}
(a,d) (b,e) (c,f)
这种模式对两个字典的关联性要求极高!!!
在intruder界面中,选择需要爆破的变量进行add $操作,方案选择pitchfork
随后进入Payloads模块,在payload set 1位置,也就是username位置,上传关于我们的账号的字典,在2位置选择我们的密码字典。
usename设置:
Password设置:
点击start attack进行破解:
遍历完毕后根据字段length进行排序,找到长度数值比较独特,重复性极低的的数据,为账号/密码的概率极大
使用admin/123456进行登录,成功破解
3. 使用Repeater进行弱口令爆破
选择test/abc1230进行登录,在proxy-http history中选择关键信息,右键选择send to repeater,并跳转到repeater界面,点击send:
发现返回请求的内容太多不便于密码破解的分析,将结果转为Render进行分析:
可以根据回显来直接地看出是否破解成功。
修改post数据,将password修改为abc123,点击send进行爆破
爆破成功。
三、java、python环境安装
四、端口映射技术补充
1.反向代理
反向代理位于内网和外网之间,负责将外部的请求转发到内网服务器上处理。它不仅可以实现内外网互联,还能提供负载均衡、缓存、SSL加密等功能,增强内网服务器的安全性和性能。
2.直接路由
在某些网络架构中,如果内网和外网处于同一物理网络或可以通过某种方式直接连接(如使用交换机或路由器),则可以通过配置直接路由来实现内外网的互联。这种方法简单直接,但可能需要对网络设备进行复杂的配置。
3.DMZ(非军事区)
DMZ是一个隔离的网络区域,通常位于内网和外网之间,用于放置一些需要对外提供服务的服务器(如Web服务器、邮件服务器等)。通过合理配置DMZ区域和访问控制策略,可以实现内外网的有限互联,同时保护内网的安全。
4.隧道技术
除了VPN使用的加密隧道技术外,还有其他隧道技术(如GRE隧道、IPsec隧道等)可以用于实现网络内外互联。这些技术通过在两个网络之间建立一条虚拟的隧道,将网络流量封装后传输,从而实现跨网络的互联。
5.SD-WAN(软件定义广域网)
SD-WAN是一种新兴的网络技术,它利用软件来定义和管理广域网连接。通过SD-WAN,企业可以灵活地选择多种网络传输方式(如MPLS、互联网VPN等),并实现内外网的智能互联。SD-WAN还提供了负载均衡、路径优化、安全加密等功能,提高了网络的可靠性和性能。