为了更好的阅读体验,请在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. MySQL-存储引擎-MERGE

    MERGE存储引擎是一组Myisam表的组合,这些Myisam表必须结构完全相同,MERGE表本身并没有数据,对MERGE类型的表可以进行查询.更新.删除操作,这些操作实际上是对内部的Myisam表进 ...

  2. BeanUtils基本使用方法与原理

    使用BeanUtils的原因 因为setProperty是JSP中的标签,因此使用model 2模式JSP+Servlet+JavaBean的时候,JSP将form提交给Servlet程序,而Serv ...

  3. Python中的变量以及变量的命名

    1.变量的定义 在 python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建 等号(=)用来给变量赋值 =左边是一个变量名 =右边是存储在变量中的值 变量名=值 变量定义之后,后续就 ...

  4. kivy之ProgressBar、ToggleButton实操学习

    之所以将kivy的ProgressBar(进度条)与ToggleButton(切换按钮)作一篇内容来记录学习,是因为这两个内容比较简单,源码内容篇幅也少. 两个功能实例源码均以main.py+prog ...

  5. element-ui 弹出组件的遮罩层在弹出层dialog模态框的上面

     造成的原因: 因为dialog的组件外层div设置了 position:absolute: 属性所以导致遮罩层会在最上面. 解决方法: 在属性内加上这段代码 :append-to-body=&quo ...

  6. PHP中类的自动加载

    在之前,我们已经学习过Composer自动加载的原理,其实就是利用了PHP中的类自动加载的特性.在文末有该系列文章的链接. PHP中类的自动加载主要依靠的是__autoload()和spl_autol ...

  7. linux重启mysql

    一. 启动1.使用 service 启动:service mysql start2.使用 mysqld 脚本启动:/etc/inint.d/mysql start3.使用 safe_mysqld 启动 ...

  8. switchery插件:多个按钮,用jquery进行切换

    单个按钮可以参照这个链接https://blog.csdn.net/u012233776/article/details/53305846 多个按钮时, html中其中想操作这个按钮开启与关闭 < ...

  9. Python中“if __name__=='__main__':”

    在Python当中,如果代码写得规范一些,通常会写上一句"if name=='main:"作为程序的入口,但似乎没有这么一句代码,程序也能正常运行.这句代码多余吗?原理又在哪里? ...

  10. redis的持久化 与事务管理

    1. redis的持久化 Redis的持久化主要分为两部分:RDB(Redis DataBase), AOF(Append Only File) 2. 什么是redis 的持久化        在指定 ...