主机探测
ip为192.168.31.71
端口扫描,发现只开放了ssh端口
ssh登录->getshell
在打开虚拟机的时候有提示,给了账密
在当前家目录下发现一些信息
|
|
查看具有SUID权限的文件,/lol
看着有些特别,但这个文件夹无法进入,权限不够(不过最后没用上这个hh)
非预期PwnKit提权
直接上PwnKit,成功提权
Got flag
补充提权思路
爆破cap密码->切换用户
查找所有用户都可读、写、执行的文件,-perm 0777
表示查找权限为 0777 的文件(即所有用户都有读、写、执行权限)
找到是一个流量文件和一个txt,将其下载下来进行查看,这里使用nc的方式
打开流量文件可以看到,协议为802.11,802.11是一组无线局域网(WLAN)协议标准,用于无线网络通信。
使用工具aircrack-ng
对其进行破解,密码字典就用前面发现的那个gold_star.txt
[!note]
aircrack-ng
是一个用于无线网络安全测试的工具套件。它主要用于评估无线网络的安全性,包括测试网络的加密强度、破解密码、监控网络流量等功能。其中最常用的功能是破解无线网络的WEP和WPA/WPA2密码。这个工具集包含了多个工具,如aircrack-ng
、aireplay-ng
、airodump-ng
等,用于执行不同的任务,比如抓取数据包、生成流量、破解密码等。
|
|
成功获得密码gaUoCe34t1
命令lastlog
查看有哪些用户登录
发现wytshadow
是用户名,和流量文件名对得上,尝试切换成用户wytshadow
lynx访问获取用户密码
在wytshadow
的家目录下发现可执行文件
运行之后会不断打印固定内容,其中注意到LYNX
[!note] lynx 是一个文本模式的网页浏览器,通常在命令行环境下使用。它允许用户在终端中浏览互联网上的网页,而无需图形用户界面。lynx 支持 HTML、HTTP 和 HTTPS,并提供基本的网页导航功能,如点击链接、查看图片描述等。这使得用户可以在没有图形界面的环境下访问网页内容。
sudo查看目前权限,发现可以以root身份启动nginx服务
启动nginx服务,查看端口,开放了8080端口
但是直接访问显示403了 查看nginx的配置文件:如果用户代理不包含 “Lynx”,则会返回 403 错误。因此,如果想访问这个网站,需要确保用户代理包含 “Lynx”。
|
|
获得一组账密
|
|
ssh私钥登录
切换成genphlux
,查看其家目录
发现ssh私钥文件,文件名叫maleus
,之前有查看过有哪些用户登录,发现这也是一个用户名,猜测这是用户maleus
ssh登录的key
这里多次登录都失败,查了之后是说要权限为600
sudo提权
在用户maleus
的家目录下发现可执行文件,但是需要密码
在.viminfo
中发现密码的踪迹
|
|
但这不是运行dont_even_bother
的密码
sudo查看当前权限,发现密码是用于这里的。用户maleus
可以以root身份执行dont_even_bother
将其功能修改一下,编写简单的c程序。以 root 用户的身份启动一个新的 shell 进程,使用户可以在该 shell 中执行命令并与系统进行交互。
|
|
这是c源码文件,还需要经过编译,覆盖本来的dont_even_bother
文件,然后运行,成功提权
总结
1、getshell的过程十分easy,从打开靶机到非预期提权,只花了十多分钟,后面又顺着线索走作者设定好的提权之路,还是非常有意思
2、这次收获了爆破无线网络流量密码的工具——aircrack-ng
3、lynx
可以让用户在终端中浏览互联网上的网页,也是有提示才想到要在请求中设置用户代理头包含 “Lynx"去访问web页面
4、ssh公私钥登录的时候,注意设置key的权限,私钥是600
5、sudo提权的时候,如果是当前用户可以以root身份运行自定义的程序(不是系统命令,系统命令可以网上查如何sudo提权),可以将其覆盖成自己写的程序,功能是以root身份开启shell进程