信息收集

nmap开始扫描



只开了80端口,直接打开ip地址发现无法打开网页,但是进行了域名的跳转

!这里发现了一个问题,其实还开了一个7744端口,但是使用-sV的方式是扫描不出来的,使用-p-后可以扫描出来



但是通过-p-扫描不出来是扫描服务

nmap -p- -sV 192.168.241.147 进行版本探测



发现是ssh服务



打开etc/hosts文件,添加:

192.168.241.147 dc-2

成功打开

使用kali自带的wpscan,专门针对WordPress的扫描工具

常用选项 :
--update 更新到最新版本
--url -u 要扫描的`WordPress`站点.
--force -f 不检查网站运行的是不是`WordPress
--enumerate -e [option(s)] 枚举 其他选项:
u 枚举用户名,默认从1-10
u[10-20] 枚举用户名,配置从10-20
p 枚举插件
vp 只枚举有漏洞的插件
ap 枚举所有插件,时间较长
tt 列举缩略图相关的文件
t 枚举主题信息
vt 只枚举存在漏洞的主题
at 枚举所有主题,时间较长
--exclude-content-based 当使用枚举选项时,可以使用该参数做一些过滤,基于正则或者字符串,可以不写正则分隔符,但要用单引号或双引号包裹
--config-file -c
--user-agent -a
--cookie
--random-agent -r 使用随机User-Agent
--follow-redirection 如果目标包含一个重定向,则直接跟随跳转
--batch 无需用户交互,都使用默认行为
--no-color 不要采用彩色输出
--wp-content-dir
--wp-plugins-dir
--proxy <[protocol://]host:port设置一个代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未设置默认是HTTP协议
--proxy-auth
--basic-auth
--wordlist -w
--username -U
--usernames path-to-file指定爆破用户名字典
--threads -t
--cache-ttl cache-ttl设置 cache TTL
--request-timeout request-timeout请求超时时间
--connect-timeout connect-timeout连接超时时间
--max-threads max-threads最大线程数
--throttle milliseconds当线程数设置为1时,设置两个请求之间的间隔
--help -h 输出帮助信息
--verbose -v 输出Verbose
--version 输出当前版本

扫描出用户信息



根据提示



说明一般的密码表可能无法爆破成功,再根据cewl说明密码很可能藏在网页当中,使用cewl生成字典

弱口令密码破解.note

wpscan --url http://dc-2 --passwords /root/word.txt



最后爆破出两个账号

尝试渗透

找到flag2信息



flag2跟我们说切入点可能不在wordpress上(尝试过msf,但是没有找到太好的攻击脚本,很多都失败了),尝试使用刚才得出的账号密码来进行ssh连接

虽然jerry / adipiscing连不上,但是第二个账号tom / parturient密码连上了



返回了一个rbash,发现很多指令都用不了

参考一下文章

rbash逃逸大全

RBash - 受限的Bash绕过

参考第二篇文章,我采用了编辑器vi逃逸





成功逃逸



后面才发现可以不逃逸直接vim flag3.txt

Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.

给了这么一句提示,意思为切换为jerry用户?

(我一开始是通过cd ../来到上级目录,cd到了jerry文件夹,虽然找到了flag4但是却没有git提权的能力,后面才切换用户





但是发现这种逃逸方法无法执行su命令,只能采用其他逃逸方式

BASH_CMDS[a]=/bin/sh;a
$ export PATH=$PATH:/bin/
$ export PATH=$PATH:/usr/bin

然后su jerry,在使用之前爆破出来的密码登录

flag4.txt:

Good to see that you've made it this far - but you're not home yet.
You still need to get the final flag (the only flag that really counts!!!).
No hints here - you're on your own now. :-)
Go on - git outta here!!!!

说没有提示,但是盲猜提权,又提到了git,用git提权?之前没有接触过

提权

网上一搜发现大部分都是做这道题才遇到的,可能git提权不常用

git提权

但是我su -l老师让我输密码,和网上的流程不太一样,只能直接

sudo git help config
输入 !/bin/bash 或 !'sh' #完成提权
sudo git -p help
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell



终于可以(第二条sudo git -p help不行)



最终在root下找到flag

Vulnhub -- DC2靶机渗透的更多相关文章

  1. Vulnhub DC-2靶机渗透

    信息搜集 nmap扫描端口 nmap -sV 192.168.146.140 -p1-10000 开了80端口,那就直接访问一下把.(7744端口是ssh端口,之后会用到) 输入ip,发现url处变成 ...

  2. VulnHub CengBox2靶机渗透

    ​本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...

  3. DC-2 靶机渗透测试

    DC-2 靶机渗透测试 冲冲冲,好好学习. 本靶机核心内容"受限shell提权",知识点在另一篇文章中总结归纳了. 攻击机:kali 靶 机:DC-2 准备:在使用前需要在操作机的 ...

  4. Vulnhub DC-1靶机渗透学习

    前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...

  5. DC-2靶机渗透

    靶场下载链接: Download: http://www.five86.com/downloads/DC-2.zip Download (Mirror): https://download.vulnh ...

  6. Vulnhub JIS-CTF-VulnUpload靶机渗透

    配置问题解决 参考我的这篇文章https://www.cnblogs.com/A1oe/p/12571032.html更改网卡配置文件进行解决. 信息搜集 找到靶机 nmap -sP 192.168. ...

  7. Vulnhub webdeveloper靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.148 #综合扫描 访问一下发现是wordpress,wp直接上wpscan wpsc ...

  8. Vulnhub DC-8靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.146 #Enable OS detection, version detection ...

  9. Vulnhub DC-7靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.144 #端口扫描 查看robots.txt,看看admin,403,其他没有什么可利 ...

随机推荐

  1. Bind DNS服务——转发与区域记录更新

    Linux基础服务--Bind DNS服务 Part4 转发与区域记录更新 一个DNS服务器不可能保存所有的区域记录,所以我们一般都会将其他的区域纪录转发到其他的服务器上进行解析. Bind9提供了全 ...

  2. 【C++】随机数,rand()与srand()函数

    rand()函数 rand()会返回一随机数值, 范围在0至RAND_MAX 间.RAND_MAX定义在stdlib.h, 其值为2147483647. 测试代码: #include<cstdl ...

  3. Golang通过结构体解析和封装XML

    Golang解析和封装XML 解析XML成结构体Demo package main import ( "encoding/xml" "fmt" ) //我们通过 ...

  4. python3实现几种常见的排序算法

    python3实现几种常见的排序算法 冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作是重复地进行直到没有再需要 ...

  5. .net core 支付宝,微信支付 一

    源码: https://github.com/aspros-luo/Qwerty.Payment/tree/develop 支付宝支付:参考支付宝sdk及文档,https://docs.open.al ...

  6. Docker与k8s的恩怨情仇(四)-云原生时代的闭源落幕

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在本系列前几篇文章中,我们介绍了从Cloud Foundry到Docker等PaaS平台的发展迭代过程.今天 ...

  7. JVM到底是什么呢

    在我们运行和调试Java程序的时候,经常会提到一个JVM的概念.那JVM到底是什么呢? JVM是Java程序的运行环境,它同时也是一个操作系统的一个应用程序.一个进程,因此他也有他自己的运行生命周期, ...

  8. SpringBoot Cache 入门

    首先搭载开发环境,不会的可以参考笔者之前的文章SpringBoot入门 添加依赖 <dependency> <groupId>org.springframework.boot& ...

  9. Laravel使用Observer(观察者)

      1.创建observer文件,我这里是要记录仓库库存模块的操作日志,所以执行下面的语句,会在app/Observers下面创建WarehouseInventoryObserver文件. php a ...

  10. Python之面向对象编程【小明跑步】、【置办家具】

    #!usr/bin/python 2 #encoding=utf-8 3 #-----------------小明跑步------------- 4 #1.小明体重75.0公斤 5 #2.小明每次跑步 ...