Gh0st1nTheShell

在这里插入图片描述

信息收集

在这里插入图片描述
开启了22ssh和80http端口
ssh可以想到的是爆破,又或者是可以在靶机上找到相应的靶机用户信息进行登录,首先看一下网站信息
结果发现打开ip地址,却显示找不到此网站
在这里插入图片描述
但是可以发现地址栏上方的ip变成了域名,因此推测是进行了跳转,所以想要连接这个ip必须得设置host文件
在这里插入图片描述

linux host文件路径:/etc/host/
windows host文件路径:C:\Windows\System32\drivers\etc\host

在这里插入图片描述
打开网页后二话不说直接开扫
结果还挺多的
在这里插入图片描述
http://wordy/wp-login.php
在这里插入图片描述
后台登陆页面
http://wordy/wp-includes/
在这里插入图片描述
目录浏览漏洞
在这里插入图片描述
首先注意到的是wordpress 5.1.1,kali有自带关于wordpress的扫描工具

常用选项 :
--update 更新到最新版本  
--url -u 要扫描的`WordPress`站点.  
--force -f 不检查网站运行的是不是`WordPress  
--enumerate -e [option(s)] 枚举 

其他选项: 
u 枚举用户名,默认从1-10 
u[10-20] 枚举用户名,配置从10-20 
p 枚举插件 
vp 只枚举有漏洞的插件 
ap 枚举所有插件,时间较长 
tt 列举缩略图相关的文件 
t 枚举主题信息 
vt 只枚举存在漏洞的主题
at 枚举所有主题,时间较长 
--exclude-content-based 当使用枚举选项时,可以使用该参数做一些过滤,基于正则或者字符串,可以不写正则分隔符,但要用单引号或双引号包裹 
--config-file -c 
--user-agent -a 
--cookie 
--random-agent -r 使用随机User-Agent 
--follow-redirection 如果目标包含一个重定向,则直接跟随跳转 
--batch 无需用户交互,都使用默认行为 
--no-color 不要采用彩色输出 
--wp-content-dir 
--wp-plugins-dir 
--proxy <[protocol://]host:port设置一个代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未设置默认是HTTP协议 
--proxy-auth 
--basic-auth 
--wordlist -w 
--username -U 
--usernames path-to-file指定爆破用户名字典 
--threads -t 
--cache-ttl cache-ttl设置 cache TTL 
--request-timeout request-timeout请求超时时间 
--connect-timeout connect-timeout连接超时时间 
--max-threads max-threads最大线程数 
--throttle milliseconds当线程数设置为1时,设置两个请求之间的间隔 
--help -h 输出帮助信息 
--verbose -v 输出Verbose 
--version 输出当前版本

wpscan --url http://wordy/ -e u
在这里插入图片描述

攻击

尝试用rockyou大字典进行爆破,但是有5个账户,这么大的字典要爆500+小时!
其实根据vulnhub的dc6靶机页面是可以看到提示的

cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt That should save you a few years. ;-)

上述命令将rockyou.txt中有k01的行都取了出来放在passwords.txt中,用这个字典来进行爆破,但是还是扫的挺慢的,所以我就直接把密码放到一个文件里面了
在这里插入图片描述
用户名放到另一个文件
在这里插入图片描述
hydra -L ./username.txt -P ./answer.txt 192.168.200.12 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2Fwordy%2Fwp-admin%2F&testcookie=1:incorrect" -f
hydra的使用方法就不重复了,可以看我dc4的文章

https://www.cnblogs.com/Gh0st1nTheShell/p/15176931.html
https://blog.csdn.net/weixin_45841815/article/details/119839180?spm=1001.2014.3001.5501

最后结果确实爆出来了
在这里插入图片描述
mark:helpdesk01,这也验证了语法是没有问题的,post的内容是直接从burpsuite传过来的
登录后台成功,但是没法登录ssh
在这里插入图片描述

一开始是搜索wordpress相关的漏洞,但奈何没找到对应版本的,由于不是很了解wordpress,上网一搜才知道下面那个activity monitor原来是插件,不是自带的
在这里插入图片描述
搜索一下漏洞,搜到三个结果,只有第三个和wordpress相关
打开文件/usr/share/exploitdb/exploits/php/webapps/45274.html
在这里插入图片描述

我们要做的时修改的是划线处的url和命令的ip、端口和内容,我想要在kali上设置监听,然后让主机连接过来,所以要把nc的命令修改为-nvv或者去掉
在这里插入图片描述
反弹shell后让服务器返回一个bash,然后尝试提权
查看定时任务,没有可以利用的点
查看suid,也没有可以利用的点
使用sudo -l,查看用户用户可执行与无法执行的指令,结果发现mark用户需要root密码才可以使用sudo
通过查看mark的桌面,可以看到提示

Things to do:
- Restore full functionality for the hyperdrive (need to speak to Jens)
- Buy present for Sarah's farewell party
- Add new user: graham - GSo7isUM1D4 - done
- Apply for the OSCP course
- Buy new laptop for Sarah's replacement

重要的是- Add new user: graham - GSo7isUM1D4 - done,可以让我们拿到graham用户的密码GSo7isUM1D4
使用su命令来切换用户,然后使用命令sudo -l,可以看到用户jens可以以无密码执行的脚本
在这里插入图片描述
查看一下这个脚本的作用
在这里插入图片描述

#!/bin/bash
tar -czf backups.tar.gz /var/www/html

作用应该是把网页根目录给打包,但是我们可以修改脚本内容,让脚本执行bash
在这里插入图片描述
然后以jens的身份运行
在这里插入图片描述
可以看到成功切换身份
再继续sudo -l
在这里插入图片描述
可以看到可以以root用户无密码执行nmap,而nmap可以用来提权
如果nmap的版本比较高,没有nmap --interactive命令后可以运行nmap脚本的方式来以执行linux命令,如果是以root权限运行nmap,并且脚本时返回shell的语句就可以返回一个root权限的shell
在这里插入图片描述
在这里插入图片描述

相关文章: